From 05abde34ff5d1539ab7e4bd495f43b6eb8388352 Mon Sep 17 00:00:00 2001 From: Gemma Hou Date: Mon, 20 May 2024 18:20:41 +0000 Subject: [PATCH] mock containeranalysisnote --- config/tests/samples/create/harness.go | 2 + mockgcp/Makefile | 6 + .../v1/containeranalysis.proto | 1298 ++ .../v1/containeranalysis.pb.go | 19375 ++++++++++++++++ .../v1/containeranalysis.pb.gw.go | 3262 +++ .../v1/containeranalysis_grpc.pb.go | 1389 ++ mockgcp/mock_http_roundtrip.go | 3 + mockgcp/mockcontaineranalysis/names.go | 55 + mockgcp/mockcontaineranalysis/note.go | 114 + mockgcp/mockcontaineranalysis/service.go | 73 + 10 files changed, 25577 insertions(+) create mode 100644 mockgcp/apis/mockgcp/devtools/containeranalysis/v1/containeranalysis.proto create mode 100644 mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.go create mode 100644 mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.gw.go create mode 100644 mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis_grpc.pb.go create mode 100644 mockgcp/mockcontaineranalysis/names.go create mode 100644 mockgcp/mockcontaineranalysis/note.go create mode 100644 mockgcp/mockcontaineranalysis/service.go diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index 4f6cc26140..09905f227c 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -586,6 +586,8 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured case schema.GroupKind{Group: "container.cnrm.cloud.google.com", Kind: "ContainerCluster"}: case schema.GroupKind{Group: "container.cnrm.cloud.google.com", Kind: "ContainerNodePool"}: + case schema.GroupKind{Group: "containeranalysis.cnrm.cloud.google.com", Kind: "ContainerAnalysisNote"}: + case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPartialPolicy"}: case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPolicy"}: case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPolicyMember"}: diff --git a/mockgcp/Makefile b/mockgcp/Makefile index b6a6848d99..e7d43844b1 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -29,6 +29,7 @@ gen-proto: ./apis/mockgcp/cloud/servicenetworking/v1/*.proto \ ./apis/mockgcp/cloud/resourcemanager/v1/*.proto \ ./apis/mockgcp/storage/v1/*.proto \ + ./apis/mockgcp/devtools/containeranalysis/v1/*.proto \ ./third_party/googleapis/mockgcp/api/apikeys/v2/*.proto \ ./third_party/googleapis/mockgcp/devtools/artifactregistry/v1/*.proto \ ./third_party/googleapis/mockgcp/iam/admin/v1/*.proto \ @@ -74,6 +75,10 @@ generate-protos-from-openapi: mkdir -p apis/mockgcp/cloud/bigquery/v2/ cd tools/gapic; go run . --proto-version=2 ../../bigquery-v2.json > ../../apis/mockgcp/cloud/bigquery/v2/api.proto + wget -O containeranalysis-v1.json https://raw.githubusercontent.com/googleapis/google-api-go-client/main/containeranalysis/v1/containeranalysis-api.json + mkdir -p apis/mockgcp/devtools/containeranalysis/v1/ + cd tools/gapic; go run . ../../containeranalysis-v1.json > ../../apis/mockgcp/devtools/containeranalysis/v1/containeranalysis.proto + wget -O servicenetworking-api.json https://raw.githubusercontent.com/googleapis/google-api-go-client/main/servicenetworking/v1/servicenetworking-api.json mkdir -p apis/mockgcp/cloud/servicenetworking/v1/ cd tools/gapic; go run . ../../servicenetworking-api.json > ../../apis/mockgcp/cloud/servicenetworking/v1/servicenetworking.proto @@ -81,3 +86,4 @@ generate-protos-from-openapi: wget -O storage-v1.json https://raw.githubusercontent.com/googleapis/google-api-go-client/main/storage/v1/storage-api.json mkdir -p apis/mockgcp/storage/v1/ cd tools/gapic; go run . --proto-version=2 ../../storage-v1.json > ../../apis/mockgcp/storage/v1/service.proto + diff --git a/mockgcp/apis/mockgcp/devtools/containeranalysis/v1/containeranalysis.proto b/mockgcp/apis/mockgcp/devtools/containeranalysis/v1/containeranalysis.proto new file mode 100644 index 0000000000..74e2dadb65 --- /dev/null +++ b/mockgcp/apis/mockgcp/devtools/containeranalysis/v1/containeranalysis.proto @@ -0,0 +1,1298 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; +package google.cloud.containeranalysis.v1; +import "google/api/annotations.proto"; +import "google/protobuf/any.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/timestamp.proto"; +option go_package = "cloud.google.com/go/containeranalysis/apiv1/containeranalysispb;containeranalysispb"; +service ProjectsServer { +} +service ProjectsLocationsServer { +} +service ProjectsLocationsNotesServer { + rpc GetProjectsLocationsNote(GetProjectsLocationsNoteRequest) returns (Note){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc ListProjectsLocationsNotes(ListProjectsLocationsNotesRequest) returns (ListNotesResponse){ + option (google.api.http) = { + get: "/v1/{parent=*}/notes" + }; +} +; +} +service ProjectsLocationsNotesOccurrencesServer { + rpc ListProjectsLocationsNotesOccurrences(ListProjectsLocationsNotesOccurrencesRequest) returns (ListNoteOccurrencesResponse){ + option (google.api.http) = { + get: "/v1/{name=*}/occurrences" + }; +} +; +} +service ProjectsLocationsOccurrencesServer { + rpc GetProjectsLocationsOccurrence(GetProjectsLocationsOccurrenceRequest) returns (Occurrence){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc GetNotesProjectsLocationsOccurrence(GetNotesProjectsLocationsOccurrenceRequest) returns (Note){ + option (google.api.http) = { + get: "/v1/{name=*}/notes" + }; +} +; + rpc GetVulnerabilitySummaryProjectsLocationsOccurrence(GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) returns (VulnerabilityOccurrencesSummary){ + option (google.api.http) = { + get: "/v1/{parent=*}/occurrences:vulnerabilitySummary" + }; +} +; + rpc ListProjectsLocationsOccurrences(ListProjectsLocationsOccurrencesRequest) returns (ListOccurrencesResponse){ + option (google.api.http) = { + get: "/v1/{parent=*}/occurrences" + }; +} +; +} +service ProjectsLocationsResourcesServer { + rpc ExportSBOMProjectsLocationsResource(ExportSBOMProjectsLocationsResourceRequest) returns (ExportSBOMResponse){ + option (google.api.http) = { + post: "/v1/{name=*}:exportSBOM" + body: "projects_locations_resource" + }; +} +; +} +service ProjectsNotesServer { + rpc BatchCreateProjectsNote(BatchCreateProjectsNoteRequest) returns (BatchCreateNotesResponse){ + option (google.api.http) = { + post: "/v1/{parent=*}/notes:batchCreate" + body: "projects_note" + }; +} +; + rpc CreateProjectsNote(CreateProjectsNoteRequest) returns (Note){ + option (google.api.http) = { + post: "/v1/{parent=*}/notes" + body: "projects_note" + }; +} +; + rpc DeleteProjectsNote(DeleteProjectsNoteRequest) returns (Empty){ + option (google.api.http) = { + delete: "/v1/{name=*}" + }; +} +; + rpc GetProjectsNote(GetProjectsNoteRequest) returns (Note){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc ListProjectsNotes(ListProjectsNotesRequest) returns (ListNotesResponse){ + option (google.api.http) = { + get: "/v1/{parent=*}/notes" + }; +} +; + rpc PatchProjectsNote(PatchProjectsNoteRequest) returns (Note){ + option (google.api.http) = { + patch: "/v1/{name=*}" + body: "projects_note" + }; +} +; +} +service ProjectsNotesOccurrencesServer { + rpc ListProjectsNotesOccurrences(ListProjectsNotesOccurrencesRequest) returns (ListNoteOccurrencesResponse){ + option (google.api.http) = { + get: "/v1/{name=*}/occurrences" + }; +} +; +} +service ProjectsOccurrencesServer { + rpc BatchCreateProjectsOccurrence(BatchCreateProjectsOccurrenceRequest) returns (BatchCreateOccurrencesResponse){ + option (google.api.http) = { + post: "/v1/{parent=*}/occurrences:batchCreate" + body: "projects_occurrence" + }; +} +; + rpc CreateProjectsOccurrence(CreateProjectsOccurrenceRequest) returns (Occurrence){ + option (google.api.http) = { + post: "/v1/{parent=*}/occurrences" + body: "projects_occurrence" + }; +} +; + rpc DeleteProjectsOccurrence(DeleteProjectsOccurrenceRequest) returns (Empty){ + option (google.api.http) = { + delete: "/v1/{name=*}" + }; +} +; + rpc GetProjectsOccurrence(GetProjectsOccurrenceRequest) returns (Occurrence){ + option (google.api.http) = { + get: "/v1/{name=*}" + }; +} +; + rpc GetNotesProjectsOccurrence(GetNotesProjectsOccurrenceRequest) returns (Note){ + option (google.api.http) = { + get: "/v1/{name=*}/notes" + }; +} +; + rpc GetVulnerabilitySummaryProjectsOccurrence(GetVulnerabilitySummaryProjectsOccurrenceRequest) returns (VulnerabilityOccurrencesSummary){ + option (google.api.http) = { + get: "/v1/{parent=*}/occurrences:vulnerabilitySummary" + }; +} +; + rpc ListProjectsOccurrences(ListProjectsOccurrencesRequest) returns (ListOccurrencesResponse){ + option (google.api.http) = { + get: "/v1/{parent=*}/occurrences" + }; +} +; + rpc PatchProjectsOccurrence(PatchProjectsOccurrenceRequest) returns (Occurrence){ + option (google.api.http) = { + patch: "/v1/{name=*}" + body: "projects_occurrence" + }; +} +; +} +service ProjectsResourcesServer { + rpc ExportSBOMProjectsResource(ExportSBOMProjectsResourceRequest) returns (ExportSBOMResponse){ + option (google.api.http) = { + post: "/v1/{name=*}:exportSBOM" + body: "projects_resource" + }; +} +; +} +message AliasContext { + string kind = 1 [json_name="kind"]; + string name = 2 [json_name="name"]; +} +message AnalysisCompleted { + repeated string analysis_type = 1 [json_name="analysisType"]; +} +message Artifact { + string checksum = 1 [json_name="checksum"]; + string id = 2 [json_name="id"]; + repeated string names = 3 [json_name="names"]; +} +message Assessment { + string cve = 1 [json_name="cve"]; + repeated string impacts = 2 [json_name="impacts"]; + Justification justification = 3 [json_name="justification"]; + string long_description = 4 [json_name="longDescription"]; + repeated RelatedUrl related_uris = 5 [json_name="relatedUris"]; + repeated Remediation remediations = 6 [json_name="remediations"]; + string short_description = 7 [json_name="shortDescription"]; + string state = 8 [json_name="state"]; + string vulnerability_id = 9 [json_name="vulnerabilityId"]; +} +message AttestationNote { + Hint hint = 1 [json_name="hint"]; +} +message AttestationOccurrence { + repeated Jwt jwts = 1 [json_name="jwts"]; + bytes serialized_payload = 2 [json_name="serializedPayload"]; + repeated Signature signatures = 3 [json_name="signatures"]; +} +message BatchCreateNotesRequest { + map notes = 1 [json_name="notes"]; +} +message BatchCreateNotesResponse { + repeated Note notes = 1 [json_name="notes"]; +} +message BatchCreateOccurrencesRequest { + repeated Occurrence occurrences = 1 [json_name="occurrences"]; +} +message BatchCreateOccurrencesResponse { + repeated Occurrence occurrences = 1 [json_name="occurrences"]; +} +message Binding { + Expr condition = 1 [json_name="condition"]; + repeated string members = 2 [json_name="members"]; + string role = 3 [json_name="role"]; +} +message BuildDefinition { + string build_type = 1 [json_name="buildType"]; + map external_parameters = 2 [json_name="externalParameters"]; + map internal_parameters = 3 [json_name="internalParameters"]; + repeated ResourceDescriptor resolved_dependencies = 4 [json_name="resolvedDependencies"]; +} +message BuildMetadata { + .google.protobuf.Timestamp finished_on = 1 [json_name="finishedOn"]; + string invocation_id = 2 [json_name="invocationId"]; + .google.protobuf.Timestamp started_on = 3 [json_name="startedOn"]; +} +message BuildNote { + string builder_version = 1 [json_name="builderVersion"]; +} +message BuildOccurrence { + InTotoSlsaProvenanceV1 in_toto_slsa_provenance_v1 = 1 [json_name="inTotoSlsaProvenanceV1"]; + InTotoProvenance intoto_provenance = 2 [json_name="intotoProvenance"]; + InTotoStatement intoto_statement = 3 [json_name="intotoStatement"]; + BuildProvenance provenance = 4 [json_name="provenance"]; + string provenance_bytes = 5 [json_name="provenanceBytes"]; +} +message BuildProvenance { + map build_options = 1 [json_name="buildOptions"]; + string builder_version = 2 [json_name="builderVersion"]; + repeated Artifact built_artifacts = 3 [json_name="builtArtifacts"]; + repeated Command commands = 4 [json_name="commands"]; + .google.protobuf.Timestamp create_time = 5 [json_name="createTime"]; + string creator = 6 [json_name="creator"]; + .google.protobuf.Timestamp end_time = 7 [json_name="endTime"]; + string id = 8 [json_name="id"]; + string logs_uri = 9 [json_name="logsUri"]; + string project_id = 10 [json_name="projectId"]; + Source source_provenance = 11 [json_name="sourceProvenance"]; + .google.protobuf.Timestamp start_time = 12 [json_name="startTime"]; + string trigger_id = 13 [json_name="triggerId"]; +} +message BuildStep { + repeated int32 allow_exit_codes = 1 [json_name="allowExitCodes"]; + bool allow_failure = 2 [json_name="allowFailure"]; + repeated string args = 3 [json_name="args"]; + bool automap_substitutions = 4 [json_name="automapSubstitutions"]; + string dir = 5 [json_name="dir"]; + string entrypoint = 6 [json_name="entrypoint"]; + repeated string env = 7 [json_name="env"]; + int32 exit_code = 8 [json_name="exitCode"]; + string id = 9 [json_name="id"]; + string name = 10 [json_name="name"]; + TimeSpan pull_timing = 11 [json_name="pullTiming"]; + string script = 12 [json_name="script"]; + repeated string secret_env = 13 [json_name="secretEnv"]; + string status = 14 [json_name="status"]; + .google.protobuf.Duration timeout = 15 [json_name="timeout"]; + TimeSpan timing = 16 [json_name="timing"]; + repeated Volume volumes = 17 [json_name="volumes"]; + repeated string wait_for = 18 [json_name="waitFor"]; +} +message BuilderConfig { + string id = 1 [json_name="id"]; +} +message CVSS { + string attack_complexity = 1 [json_name="attackComplexity"]; + string attack_vector = 2 [json_name="attackVector"]; + string authentication = 3 [json_name="authentication"]; + string availability_impact = 4 [json_name="availabilityImpact"]; + float base_score = 5 [json_name="baseScore"]; + string confidentiality_impact = 6 [json_name="confidentialityImpact"]; + float exploitability_score = 7 [json_name="exploitabilityScore"]; + float impact_score = 8 [json_name="impactScore"]; + string integrity_impact = 9 [json_name="integrityImpact"]; + string privileges_required = 10 [json_name="privilegesRequired"]; + string scope = 11 [json_name="scope"]; + string user_interaction = 12 [json_name="userInteraction"]; +} +message CVSSv3 { + string attack_complexity = 1 [json_name="attackComplexity"]; + string attack_vector = 2 [json_name="attackVector"]; + string availability_impact = 3 [json_name="availabilityImpact"]; + float base_score = 4 [json_name="baseScore"]; + string confidentiality_impact = 5 [json_name="confidentialityImpact"]; + float exploitability_score = 6 [json_name="exploitabilityScore"]; + float impact_score = 7 [json_name="impactScore"]; + string integrity_impact = 8 [json_name="integrityImpact"]; + string privileges_required = 9 [json_name="privilegesRequired"]; + string scope = 10 [json_name="scope"]; + string user_interaction = 11 [json_name="userInteraction"]; +} +message Category { + string category_id = 1 [json_name="categoryId"]; + string name = 2 [json_name="name"]; +} +message CisBenchmark { + int32 profile_level = 1 [json_name="profileLevel"]; + string severity = 2 [json_name="severity"]; +} +message CloudRepoSourceContext { + AliasContext alias_context = 1 [json_name="aliasContext"]; + RepoId repo_id = 2 [json_name="repoId"]; + string revision_id = 3 [json_name="revisionId"]; +} +message CloudStorageLocation { +} +message Command { + repeated string args = 1 [json_name="args"]; + string dir = 2 [json_name="dir"]; + repeated string env = 3 [json_name="env"]; + string id = 4 [json_name="id"]; + string name = 5 [json_name="name"]; + repeated string wait_for = 6 [json_name="waitFor"]; +} +message Completeness { + bool arguments = 1 [json_name="arguments"]; + bool environment = 2 [json_name="environment"]; + bool materials = 3 [json_name="materials"]; +} +message ComplianceNote { + CisBenchmark cis_benchmark = 1 [json_name="cisBenchmark"]; + string description = 2 [json_name="description"]; + string impact = 3 [json_name="impact"]; + string rationale = 4 [json_name="rationale"]; + string remediation = 5 [json_name="remediation"]; + bytes scan_instructions = 6 [json_name="scanInstructions"]; + string title = 7 [json_name="title"]; + repeated ComplianceVersion version = 8 [json_name="version"]; +} +message ComplianceOccurrence { + string non_compliance_reason = 1 [json_name="nonComplianceReason"]; + repeated NonCompliantFile non_compliant_files = 2 [json_name="nonCompliantFiles"]; + ComplianceVersion version = 3 [json_name="version"]; +} +message ComplianceVersion { + string benchmark_document = 1 [json_name="benchmarkDocument"]; + string cpe_uri = 2 [json_name="cpeUri"]; + string version = 3 [json_name="version"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig { + bool approval_required = 1 [json_name="approvalRequired"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult { + .google.protobuf.Timestamp approval_time = 1 [json_name="approvalTime"]; + string approver_account = 2 [json_name="approverAccount"]; + string comment = 3 [json_name="comment"]; + string decision = 4 [json_name="decision"]; + string url = 5 [json_name="url"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts { + repeated string images = 1 [json_name="images"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact maven_artifacts = 2 [json_name="mavenArtifacts"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage npm_packages = 3 [json_name="npmPackages"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects objects = 4 [json_name="objects"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage python_packages = 5 [json_name="pythonPackages"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects { + string location = 1 [json_name="location"]; + repeated string paths = 2 [json_name="paths"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan timing = 3 [json_name="timing"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact { + string artifact_id = 1 [json_name="artifactId"]; + string group_id = 2 [json_name="groupId"]; + string path = 3 [json_name="path"]; + string repository = 4 [json_name="repository"]; + string version = 5 [json_name="version"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage { + string package_path = 1 [json_name="packagePath"]; + string repository = 2 [json_name="repository"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage { + repeated string paths = 1 [json_name="paths"]; + string repository = 2 [json_name="repository"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Build { + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval approval = 1 [json_name="approval"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts artifacts = 2 [json_name="artifacts"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets available_secrets = 3 [json_name="availableSecrets"]; + string build_trigger_id = 4 [json_name="buildTriggerId"]; + .google.protobuf.Timestamp create_time = 5 [json_name="createTime"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo failure_info = 6 [json_name="failureInfo"]; + .google.protobuf.Timestamp finish_time = 7 [json_name="finishTime"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig git_config = 8 [json_name="gitConfig"]; + string id = 9 [json_name="id"]; + repeated string images = 10 [json_name="images"]; + string log_url = 11 [json_name="logUrl"]; + string logs_bucket = 12 [json_name="logsBucket"]; + string name = 13 [json_name="name"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions options = 14 [json_name="options"]; + string project_id = 15 [json_name="projectId"]; + .google.protobuf.Duration queue_ttl = 16 [json_name="queueTtl"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1Results results = 17 [json_name="results"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1Secret secrets = 18 [json_name="secrets"]; + string service_account = 19 [json_name="serviceAccount"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1Source source = 20 [json_name="source"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance source_provenance = 21 [json_name="sourceProvenance"]; + .google.protobuf.Timestamp start_time = 22 [json_name="startTime"]; + string status = 23 [json_name="status"]; + string status_detail = 24 [json_name="statusDetail"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep steps = 25 [json_name="steps"]; + map substitutions = 26 [json_name="substitutions"]; + repeated string tags = 27 [json_name="tags"]; + .google.protobuf.Duration timeout = 28 [json_name="timeout"]; + map timing = 29 [json_name="timing"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning warnings = 30 [json_name="warnings"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval { + ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig config = 1 [json_name="config"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult result = 2 [json_name="result"]; + string state = 3 [json_name="state"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo { + string detail = 1 [json_name="detail"]; + string type = 2 [json_name="type"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions { + bool automap_substitutions = 1 [json_name="automapSubstitutions"]; + string default_logs_bucket_behavior = 2 [json_name="defaultLogsBucketBehavior"]; + int64 disk_size_gb = 3 [json_name="diskSizeGb"]; + bool dynamic_substitutions = 4 [json_name="dynamicSubstitutions"]; + repeated string env = 5 [json_name="env"]; + string log_streaming_option = 6 [json_name="logStreamingOption"]; + string logging = 7 [json_name="logging"]; + string machine_type = 8 [json_name="machineType"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption pool = 9 [json_name="pool"]; + string requested_verify_option = 10 [json_name="requestedVerifyOption"]; + repeated string secret_env = 11 [json_name="secretEnv"]; + repeated string source_provenance_hash = 12 [json_name="sourceProvenanceHash"]; + string substitution_option = 13 [json_name="substitutionOption"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1Volume volumes = 14 [json_name="volumes"]; + string worker_pool = 15 [json_name="workerPool"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption { + string name = 1 [json_name="name"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep { + repeated int32 allow_exit_codes = 1 [json_name="allowExitCodes"]; + bool allow_failure = 2 [json_name="allowFailure"]; + repeated string args = 3 [json_name="args"]; + bool automap_substitutions = 4 [json_name="automapSubstitutions"]; + string dir = 5 [json_name="dir"]; + string entrypoint = 6 [json_name="entrypoint"]; + repeated string env = 7 [json_name="env"]; + int32 exit_code = 8 [json_name="exitCode"]; + string id = 9 [json_name="id"]; + string name = 10 [json_name="name"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan pull_timing = 11 [json_name="pullTiming"]; + string script = 12 [json_name="script"]; + repeated string secret_env = 13 [json_name="secretEnv"]; + string status = 14 [json_name="status"]; + .google.protobuf.Duration timeout = 15 [json_name="timeout"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan timing = 16 [json_name="timing"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1Volume volumes = 17 [json_name="volumes"]; + repeated string wait_for = 18 [json_name="waitFor"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning { + string priority = 1 [json_name="priority"]; + string text = 2 [json_name="text"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage { + string digest = 1 [json_name="digest"]; + string name = 2 [json_name="name"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan push_timing = 3 [json_name="pushTiming"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository { + string dir = 1 [json_name="dir"]; + string repository = 2 [json_name="repository"]; + string revision = 3 [json_name="revision"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig { + string dir = 1 [json_name="dir"]; + string git_repository_link = 2 [json_name="gitRepositoryLink"]; + string revision = 3 [json_name="revision"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes { + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1Hash file_hash = 1 [json_name="fileHash"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig { + ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig http = 1 [json_name="http"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig { + string proxy_secret_version_name = 1 [json_name="proxySecretVersionName"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource { + string dir = 1 [json_name="dir"]; + string revision = 2 [json_name="revision"]; + string url = 3 [json_name="url"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Hash { + string type = 1 [json_name="type"]; + bytes value = 2 [json_name="value"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret { + map env_map = 1 [json_name="envMap"]; + string kms_key_name = 2 [json_name="kmsKeyName"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource { + string branch_name = 1 [json_name="branchName"]; + string commit_sha = 2 [json_name="commitSha"]; + string dir = 3 [json_name="dir"]; + bool invert_regex = 4 [json_name="invertRegex"]; + string project_id = 5 [json_name="projectId"]; + string repo_name = 6 [json_name="repoName"]; + map substitutions = 7 [json_name="substitutions"]; + string tag_name = 8 [json_name="tagName"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Results { + string artifact_manifest = 1 [json_name="artifactManifest"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan artifact_timing = 2 [json_name="artifactTiming"]; + repeated string build_step_images = 3 [json_name="buildStepImages"]; + repeated bytes build_step_outputs = 4 [json_name="buildStepOutputs"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage images = 5 [json_name="images"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact maven_artifacts = 6 [json_name="mavenArtifacts"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage npm_packages = 7 [json_name="npmPackages"]; + int64 num_artifacts = 8 [json_name="numArtifacts"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage python_packages = 9 [json_name="pythonPackages"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Secret { + string kms_key_name = 1 [json_name="kmsKeyName"]; + map secret_env = 2 [json_name="secretEnv"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret { + string env = 1 [json_name="env"]; + string version_name = 2 [json_name="versionName"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets { + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret inline = 1 [json_name="inline"]; + repeated ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret secret_manager = 2 [json_name="secretManager"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Source { + ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository connected_repository = 1 [json_name="connectedRepository"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig developer_connect_config = 2 [json_name="developerConnectConfig"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource git_source = 3 [json_name="gitSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource repo_source = 4 [json_name="repoSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource storage_source = 5 [json_name="storageSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest storage_source_manifest = 6 [json_name="storageSourceManifest"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance { + map file_hashes = 1 [json_name="fileHashes"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository resolved_connected_repository = 2 [json_name="resolvedConnectedRepository"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource resolved_git_source = 3 [json_name="resolvedGitSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource resolved_repo_source = 4 [json_name="resolvedRepoSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource resolved_storage_source = 5 [json_name="resolvedStorageSource"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest resolved_storage_source_manifest = 6 [json_name="resolvedStorageSourceManifest"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource { + string bucket = 1 [json_name="bucket"]; + int64 generation = 2 [json_name="generation"]; + string object = 3 [json_name="object"]; + string source_fetcher = 4 [json_name="sourceFetcher"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest { + string bucket = 1 [json_name="bucket"]; + int64 generation = 2 [json_name="generation"]; + string object = 3 [json_name="object"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + .google.protobuf.Timestamp end_time = 1 [json_name="endTime"]; + .google.protobuf.Timestamp start_time = 2 [json_name="startTime"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact { + ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes file_hashes = 1 [json_name="fileHashes"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan push_timing = 2 [json_name="pushTiming"]; + string uri = 3 [json_name="uri"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage { + ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes file_hashes = 1 [json_name="fileHashes"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan push_timing = 2 [json_name="pushTiming"]; + string uri = 3 [json_name="uri"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage { + ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes file_hashes = 1 [json_name="fileHashes"]; + ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan push_timing = 2 [json_name="pushTiming"]; + string uri = 3 [json_name="uri"]; +} +message ContaineranalysisGoogleDevtoolsCloudbuildV1Volume { + string name = 1 [json_name="name"]; + string path = 2 [json_name="path"]; +} +message DSSEAttestationNote { + DSSEHint hint = 1 [json_name="hint"]; +} +message DSSEAttestationOccurrence { + Envelope envelope = 1 [json_name="envelope"]; + InTotoStatement statement = 2 [json_name="statement"]; +} +message DSSEHint { + string human_readable_name = 1 [json_name="humanReadableName"]; +} +message DeploymentNote { + repeated string resource_uri = 1 [json_name="resourceUri"]; +} +message DeploymentOccurrence { + string address = 1 [json_name="address"]; + string config = 2 [json_name="config"]; + .google.protobuf.Timestamp deploy_time = 3 [json_name="deployTime"]; + string platform = 4 [json_name="platform"]; + repeated string resource_uri = 5 [json_name="resourceUri"]; + .google.protobuf.Timestamp undeploy_time = 6 [json_name="undeployTime"]; + string user_email = 7 [json_name="userEmail"]; +} +message Detail { + string affected_cpe_uri = 1 [json_name="affectedCpeUri"]; + string affected_package = 2 [json_name="affectedPackage"]; + Version affected_version_end = 3 [json_name="affectedVersionEnd"]; + Version affected_version_start = 4 [json_name="affectedVersionStart"]; + string description = 5 [json_name="description"]; + string fixed_cpe_uri = 6 [json_name="fixedCpeUri"]; + string fixed_package = 7 [json_name="fixedPackage"]; + Version fixed_version = 8 [json_name="fixedVersion"]; + bool is_obsolete = 9 [json_name="isObsolete"]; + string package_type = 10 [json_name="packageType"]; + string severity_name = 11 [json_name="severityName"]; + string source = 12 [json_name="source"]; + .google.protobuf.Timestamp source_update_time = 13 [json_name="sourceUpdateTime"]; + string vendor = 14 [json_name="vendor"]; +} +message Digest { + string algo = 1 [json_name="algo"]; + bytes digest_bytes = 2 [json_name="digestBytes"]; +} +message DiscoveryNote { + string analysis_kind = 1 [json_name="analysisKind"]; +} +message DiscoveryOccurrence { + AnalysisCompleted analysis_completed = 1 [json_name="analysisCompleted"]; + repeated Status analysis_error = 2 [json_name="analysisError"]; + string analysis_status = 3 [json_name="analysisStatus"]; + Status analysis_status_error = 4 [json_name="analysisStatusError"]; + .google.protobuf.Timestamp archive_time = 5 [json_name="archiveTime"]; + string continuous_analysis = 6 [json_name="continuousAnalysis"]; + string cpe = 7 [json_name="cpe"]; + .google.protobuf.Timestamp last_scan_time = 8 [json_name="lastScanTime"]; + SBOMStatus sbom_status = 9 [json_name="sbomStatus"]; +} +message Distribution { + string architecture = 1 [json_name="architecture"]; + string cpe_uri = 2 [json_name="cpeUri"]; + string description = 3 [json_name="description"]; + Version latest_version = 4 [json_name="latestVersion"]; + string maintainer = 5 [json_name="maintainer"]; + string url = 6 [json_name="url"]; +} +message Empty { +} +message Envelope { + bytes payload = 1 [json_name="payload"]; + string payload_type = 2 [json_name="payloadType"]; + repeated EnvelopeSignature signatures = 3 [json_name="signatures"]; +} +message EnvelopeSignature { + string keyid = 1 [json_name="keyid"]; + bytes sig = 2 [json_name="sig"]; +} +message ExportSBOMRequest { + CloudStorageLocation cloud_storage_location = 1 [json_name="cloudStorageLocation"]; +} +message ExportSBOMResponse { + string discovery_occurrence = 1 [json_name="discoveryOccurrence"]; +} +message Expr { + string description = 1 [json_name="description"]; + string expression = 2 [json_name="expression"]; + string location = 3 [json_name="location"]; + string title = 4 [json_name="title"]; +} +message FileHashes { + repeated Hash file_hash = 1 [json_name="fileHash"]; +} +message Fingerprint { + string v1_name = 1 [json_name="v1Name"]; + repeated string v2_blob = 2 [json_name="v2Blob"]; + string v2_name = 3 [json_name="v2Name"]; +} +message FixableTotalByDigest { + int64 fixable_count = 1 [json_name="fixableCount"]; + string resource_uri = 2 [json_name="resourceUri"]; + string severity = 3 [json_name="severity"]; + int64 total_count = 4 [json_name="totalCount"]; +} +message GerritSourceContext { + AliasContext alias_context = 1 [json_name="aliasContext"]; + string gerrit_project = 2 [json_name="gerritProject"]; + string host_uri = 3 [json_name="hostUri"]; + string revision_id = 4 [json_name="revisionId"]; +} +message GetIamPolicyRequest { + GetPolicyOptions options = 1 [json_name="options"]; +} +message GetPolicyOptions { + int32 requested_policy_version = 1 [json_name="requestedPolicyVersion"]; +} +message GitSourceContext { + string revision_id = 1 [json_name="revisionId"]; + string url = 2 [json_name="url"]; +} +message GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata { + .google.protobuf.Timestamp create_time = 1 [json_name="createTime"]; + .google.protobuf.Timestamp end_time = 2 [json_name="endTime"]; +} +message GrafeasV1FileLocation { + string file_path = 1 [json_name="filePath"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder { + string id = 1 [json_name="id"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness { + bool environment = 1 [json_name="environment"]; + bool materials = 2 [json_name="materials"]; + bool parameters = 3 [json_name="parameters"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource { + map digest = 1 [json_name="digest"]; + string entry_point = 2 [json_name="entryPoint"]; + string uri = 3 [json_name="uri"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation { + GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource config_source = 1 [json_name="configSource"]; + map environment = 2 [json_name="environment"]; + map parameters = 3 [json_name="parameters"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial { + map digest = 1 [json_name="digest"]; + string uri = 2 [json_name="uri"]; +} +message GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata { + .google.protobuf.Timestamp build_finished_on = 1 [json_name="buildFinishedOn"]; + string build_invocation_id = 2 [json_name="buildInvocationId"]; + .google.protobuf.Timestamp build_started_on = 3 [json_name="buildStartedOn"]; + GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness completeness = 4 [json_name="completeness"]; + bool reproducible = 5 [json_name="reproducible"]; +} +message Hash { + string type = 1 [json_name="type"]; + bytes value = 2 [json_name="value"]; +} +message Hint { + string human_readable_name = 1 [json_name="humanReadableName"]; +} +message Identity { + int32 revision = 1 [json_name="revision"]; + string update_id = 2 [json_name="updateId"]; +} +message ImageNote { + Fingerprint fingerprint = 1 [json_name="fingerprint"]; + string resource_url = 2 [json_name="resourceUrl"]; +} +message ImageOccurrence { + string base_resource_url = 1 [json_name="baseResourceUrl"]; + int32 distance = 2 [json_name="distance"]; + Fingerprint fingerprint = 3 [json_name="fingerprint"]; + repeated Layer layer_info = 4 [json_name="layerInfo"]; +} +message InTotoProvenance { + BuilderConfig builder_config = 1 [json_name="builderConfig"]; + repeated string materials = 2 [json_name="materials"]; + Metadata metadata = 3 [json_name="metadata"]; + Recipe recipe = 4 [json_name="recipe"]; +} +message InTotoSlsaProvenanceV1 { + string _type = 1 [json_name="_type"]; + SlsaProvenanceV1 predicate = 2 [json_name="predicate"]; + string predicate_type = 3 [json_name="predicateType"]; + repeated Subject subject = 4 [json_name="subject"]; +} +message InTotoStatement { + string _type = 1 [json_name="_type"]; + string predicate_type = 2 [json_name="predicateType"]; + InTotoProvenance provenance = 3 [json_name="provenance"]; + SlsaProvenance slsa_provenance = 4 [json_name="slsaProvenance"]; + SlsaProvenanceZeroTwo slsa_provenance_zero_two = 5 [json_name="slsaProvenanceZeroTwo"]; + repeated Subject subject = 6 [json_name="subject"]; +} +message Justification { + string details = 1 [json_name="details"]; + string justification_type = 2 [json_name="justificationType"]; +} +message Jwt { + string compact_jwt = 1 [json_name="compactJwt"]; +} +message KnowledgeBase { + string name = 1 [json_name="name"]; + string url = 2 [json_name="url"]; +} +message Layer { + string arguments = 1 [json_name="arguments"]; + string directive = 2 [json_name="directive"]; +} +message License { + string comments = 1 [json_name="comments"]; + string expression = 2 [json_name="expression"]; +} +message ListNoteOccurrencesResponse { + string next_page_token = 1 [json_name="nextPageToken"]; + repeated Occurrence occurrences = 2 [json_name="occurrences"]; +} +message ListNotesResponse { + string next_page_token = 1 [json_name="nextPageToken"]; + repeated Note notes = 2 [json_name="notes"]; +} +message ListOccurrencesResponse { + string next_page_token = 1 [json_name="nextPageToken"]; + repeated Occurrence occurrences = 2 [json_name="occurrences"]; +} +message Location { + string cpe_uri = 1 [json_name="cpeUri"]; + string path = 2 [json_name="path"]; + Version version = 3 [json_name="version"]; +} +message Material { + map digest = 1 [json_name="digest"]; + string uri = 2 [json_name="uri"]; +} +message Metadata { + .google.protobuf.Timestamp build_finished_on = 1 [json_name="buildFinishedOn"]; + string build_invocation_id = 2 [json_name="buildInvocationId"]; + .google.protobuf.Timestamp build_started_on = 3 [json_name="buildStartedOn"]; + Completeness completeness = 4 [json_name="completeness"]; + bool reproducible = 5 [json_name="reproducible"]; +} +message NonCompliantFile { + string display_command = 1 [json_name="displayCommand"]; + string path = 2 [json_name="path"]; + string reason = 3 [json_name="reason"]; +} +message Note { + AttestationNote attestation = 1 [json_name="attestation"]; + BuildNote build = 2 [json_name="build"]; + ComplianceNote compliance = 3 [json_name="compliance"]; + .google.protobuf.Timestamp create_time = 4 [json_name="createTime"]; + DeploymentNote deployment = 5 [json_name="deployment"]; + DiscoveryNote discovery = 6 [json_name="discovery"]; + DSSEAttestationNote dsse_attestation = 7 [json_name="dsseAttestation"]; + .google.protobuf.Timestamp expiration_time = 8 [json_name="expirationTime"]; + ImageNote image = 9 [json_name="image"]; + string kind = 10 [json_name="kind"]; + string long_description = 11 [json_name="longDescription"]; + string name = 12 [json_name="name"]; + PackageNote package = 13 [json_name="package"]; + repeated string related_note_names = 14 [json_name="relatedNoteNames"]; + repeated RelatedUrl related_url = 15 [json_name="relatedUrl"]; + SBOMReferenceNote sbom_reference = 16 [json_name="sbomReference"]; + string short_description = 17 [json_name="shortDescription"]; + .google.protobuf.Timestamp update_time = 18 [json_name="updateTime"]; + UpgradeNote upgrade = 19 [json_name="upgrade"]; + VulnerabilityNote vulnerability = 20 [json_name="vulnerability"]; + VulnerabilityAssessmentNote vulnerability_assessment = 21 [json_name="vulnerabilityAssessment"]; +} +message Occurrence { + AttestationOccurrence attestation = 1 [json_name="attestation"]; + BuildOccurrence build = 2 [json_name="build"]; + ComplianceOccurrence compliance = 3 [json_name="compliance"]; + .google.protobuf.Timestamp create_time = 4 [json_name="createTime"]; + DeploymentOccurrence deployment = 5 [json_name="deployment"]; + DiscoveryOccurrence discovery = 6 [json_name="discovery"]; + DSSEAttestationOccurrence dsse_attestation = 7 [json_name="dsseAttestation"]; + Envelope envelope = 8 [json_name="envelope"]; + ImageOccurrence image = 9 [json_name="image"]; + string kind = 10 [json_name="kind"]; + string name = 11 [json_name="name"]; + string note_name = 12 [json_name="noteName"]; + PackageOccurrence package = 13 [json_name="package"]; + string remediation = 14 [json_name="remediation"]; + string resource_uri = 15 [json_name="resourceUri"]; + SBOMReferenceOccurrence sbom_reference = 16 [json_name="sbomReference"]; + .google.protobuf.Timestamp update_time = 17 [json_name="updateTime"]; + UpgradeOccurrence upgrade = 18 [json_name="upgrade"]; + VulnerabilityOccurrence vulnerability = 19 [json_name="vulnerability"]; +} +message PackageIssue { + string affected_cpe_uri = 1 [json_name="affectedCpeUri"]; + string affected_package = 2 [json_name="affectedPackage"]; + Version affected_version = 3 [json_name="affectedVersion"]; + string effective_severity = 4 [json_name="effectiveSeverity"]; + repeated GrafeasV1FileLocation file_location = 5 [json_name="fileLocation"]; + bool fix_available = 6 [json_name="fixAvailable"]; + string fixed_cpe_uri = 7 [json_name="fixedCpeUri"]; + string fixed_package = 8 [json_name="fixedPackage"]; + Version fixed_version = 9 [json_name="fixedVersion"]; + string package_type = 10 [json_name="packageType"]; +} +message PackageNote { + string architecture = 1 [json_name="architecture"]; + string cpe_uri = 2 [json_name="cpeUri"]; + string description = 3 [json_name="description"]; + repeated Digest digest = 4 [json_name="digest"]; + repeated Distribution distribution = 5 [json_name="distribution"]; + License license = 6 [json_name="license"]; + string maintainer = 7 [json_name="maintainer"]; + string name = 8 [json_name="name"]; + string package_type = 9 [json_name="packageType"]; + string url = 10 [json_name="url"]; + Version version = 11 [json_name="version"]; +} +message PackageOccurrence { + string architecture = 1 [json_name="architecture"]; + string cpe_uri = 2 [json_name="cpeUri"]; + License license = 3 [json_name="license"]; + repeated Location location = 4 [json_name="location"]; + string name = 5 [json_name="name"]; + string package_type = 6 [json_name="packageType"]; + Version version = 7 [json_name="version"]; +} +message Policy { + repeated Binding bindings = 1 [json_name="bindings"]; + bytes etag = 2 [json_name="etag"]; + int32 version = 3 [json_name="version"]; +} +message Product { + string generic_uri = 1 [json_name="genericUri"]; + string id = 2 [json_name="id"]; + string name = 3 [json_name="name"]; +} +message ProjectRepoId { + string project_id = 1 [json_name="projectId"]; + string repo_name = 2 [json_name="repoName"]; +} +message ProvenanceBuilder { + repeated ResourceDescriptor builder_dependencies = 1 [json_name="builderDependencies"]; + string id = 2 [json_name="id"]; + map version = 3 [json_name="version"]; +} +message Publisher { + string issuing_authority = 1 [json_name="issuingAuthority"]; + string name = 2 [json_name="name"]; + string publisher_namespace = 3 [json_name="publisherNamespace"]; +} +message Recipe { + repeated .google.protobuf.Any arguments = 1 [json_name="arguments"]; + int64 defined_in_material = 2 [json_name="definedInMaterial"]; + string entry_point = 3 [json_name="entryPoint"]; + repeated .google.protobuf.Any environment = 4 [json_name="environment"]; + string type = 5 [json_name="type"]; +} +message RelatedUrl { + string label = 1 [json_name="label"]; + string url = 2 [json_name="url"]; +} +message Remediation { + string details = 1 [json_name="details"]; + string remediation_type = 2 [json_name="remediationType"]; + RelatedUrl remediation_uri = 3 [json_name="remediationUri"]; +} +message RepoId { + ProjectRepoId project_repo_id = 1 [json_name="projectRepoId"]; + string uid = 2 [json_name="uid"]; +} +message ResourceDescriptor { + map annotations = 1 [json_name="annotations"]; + bytes content = 2 [json_name="content"]; + map digest = 3 [json_name="digest"]; + string download_location = 4 [json_name="downloadLocation"]; + string media_type = 5 [json_name="mediaType"]; + string name = 6 [json_name="name"]; + string uri = 7 [json_name="uri"]; +} +message RunDetails { + ProvenanceBuilder builder = 1 [json_name="builder"]; + repeated ResourceDescriptor byproducts = 2 [json_name="byproducts"]; + BuildMetadata metadata = 3 [json_name="metadata"]; +} +message SBOMReferenceNote { + string format = 1 [json_name="format"]; + string version = 2 [json_name="version"]; +} +message SBOMReferenceOccurrence { + SbomReferenceIntotoPayload payload = 1 [json_name="payload"]; + string payload_type = 2 [json_name="payloadType"]; + repeated EnvelopeSignature signatures = 3 [json_name="signatures"]; +} +message SBOMStatus { + string error = 1 [json_name="error"]; + string sbom_state = 2 [json_name="sbomState"]; +} +message SbomReferenceIntotoPayload { + string _type = 1 [json_name="_type"]; + SbomReferenceIntotoPredicate predicate = 2 [json_name="predicate"]; + string predicate_type = 3 [json_name="predicateType"]; + repeated Subject subject = 4 [json_name="subject"]; +} +message SbomReferenceIntotoPredicate { + map digest = 1 [json_name="digest"]; + string location = 2 [json_name="location"]; + string mime_type = 3 [json_name="mimeType"]; + string referrer_id = 4 [json_name="referrerId"]; +} +message SetIamPolicyRequest { + Policy policy = 1 [json_name="policy"]; +} +message Signature { + string public_key_id = 1 [json_name="publicKeyId"]; + bytes signature = 2 [json_name="signature"]; +} +message SlsaBuilder { + string id = 1 [json_name="id"]; +} +message SlsaCompleteness { + bool arguments = 1 [json_name="arguments"]; + bool environment = 2 [json_name="environment"]; + bool materials = 3 [json_name="materials"]; +} +message SlsaMetadata { + .google.protobuf.Timestamp build_finished_on = 1 [json_name="buildFinishedOn"]; + string build_invocation_id = 2 [json_name="buildInvocationId"]; + .google.protobuf.Timestamp build_started_on = 3 [json_name="buildStartedOn"]; + SlsaCompleteness completeness = 4 [json_name="completeness"]; + bool reproducible = 5 [json_name="reproducible"]; +} +message SlsaProvenance { + SlsaBuilder builder = 1 [json_name="builder"]; + repeated Material materials = 2 [json_name="materials"]; + SlsaMetadata metadata = 3 [json_name="metadata"]; + SlsaRecipe recipe = 4 [json_name="recipe"]; +} +message SlsaProvenanceV1 { + BuildDefinition build_definition = 1 [json_name="buildDefinition"]; + RunDetails run_details = 2 [json_name="runDetails"]; +} +message SlsaProvenanceZeroTwo { + map build_config = 1 [json_name="buildConfig"]; + string build_type = 2 [json_name="buildType"]; + GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder builder = 3 [json_name="builder"]; + GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation invocation = 4 [json_name="invocation"]; + repeated GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial materials = 5 [json_name="materials"]; + GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata metadata = 6 [json_name="metadata"]; +} +message SlsaRecipe { + map arguments = 1 [json_name="arguments"]; + int64 defined_in_material = 2 [json_name="definedInMaterial"]; + string entry_point = 3 [json_name="entryPoint"]; + map environment = 4 [json_name="environment"]; + string type = 5 [json_name="type"]; +} +message Source { + repeated SourceContext additional_contexts = 1 [json_name="additionalContexts"]; + string artifact_storage_source_uri = 2 [json_name="artifactStorageSourceUri"]; + SourceContext context = 3 [json_name="context"]; + map file_hashes = 4 [json_name="fileHashes"]; +} +message SourceContext { + CloudRepoSourceContext cloud_repo = 1 [json_name="cloudRepo"]; + GerritSourceContext gerrit = 2 [json_name="gerrit"]; + GitSourceContext git = 3 [json_name="git"]; + map labels = 4 [json_name="labels"]; +} +message Status { + int32 code = 1 [json_name="code"]; + repeated .google.protobuf.Any details = 2 [json_name="details"]; + string message = 3 [json_name="message"]; +} +message Subject { + map digest = 1 [json_name="digest"]; + string name = 2 [json_name="name"]; +} +message TestIamPermissionsRequest { + repeated string permissions = 1 [json_name="permissions"]; +} +message TestIamPermissionsResponse { + repeated string permissions = 1 [json_name="permissions"]; +} +message TimeSpan { + .google.protobuf.Timestamp end_time = 1 [json_name="endTime"]; + .google.protobuf.Timestamp start_time = 2 [json_name="startTime"]; +} +message UpgradeDistribution { + string classification = 1 [json_name="classification"]; + string cpe_uri = 2 [json_name="cpeUri"]; + repeated string cve = 3 [json_name="cve"]; + string severity = 4 [json_name="severity"]; +} +message UpgradeNote { + repeated UpgradeDistribution distributions = 1 [json_name="distributions"]; + string package = 2 [json_name="package"]; + Version version = 3 [json_name="version"]; + WindowsUpdate windows_update = 4 [json_name="windowsUpdate"]; +} +message UpgradeOccurrence { + UpgradeDistribution distribution = 1 [json_name="distribution"]; + string package = 2 [json_name="package"]; + Version parsed_version = 3 [json_name="parsedVersion"]; + WindowsUpdate windows_update = 4 [json_name="windowsUpdate"]; +} +message Version { + int32 epoch = 1 [json_name="epoch"]; + string full_name = 2 [json_name="fullName"]; + bool inclusive = 3 [json_name="inclusive"]; + string kind = 4 [json_name="kind"]; + string name = 5 [json_name="name"]; + string revision = 6 [json_name="revision"]; +} +message VexAssessment { + string cve = 1 [json_name="cve"]; + repeated string impacts = 2 [json_name="impacts"]; + Justification justification = 3 [json_name="justification"]; + string note_name = 4 [json_name="noteName"]; + repeated RelatedUrl related_uris = 5 [json_name="relatedUris"]; + repeated Remediation remediations = 6 [json_name="remediations"]; + string state = 7 [json_name="state"]; + string vulnerability_id = 8 [json_name="vulnerabilityId"]; +} +message Volume { + string name = 1 [json_name="name"]; + string path = 2 [json_name="path"]; +} +message VulnerabilityAssessmentNote { + Assessment assessment = 1 [json_name="assessment"]; + string language_code = 2 [json_name="languageCode"]; + string long_description = 3 [json_name="longDescription"]; + Product product = 4 [json_name="product"]; + Publisher publisher = 5 [json_name="publisher"]; + string short_description = 6 [json_name="shortDescription"]; + string title = 7 [json_name="title"]; +} +message VulnerabilityNote { + float cvss_score = 1 [json_name="cvssScore"]; + CVSS cvss_v2 = 2 [json_name="cvssV2"]; + CVSSv3 cvss_v3 = 3 [json_name="cvssV3"]; + string cvss_version = 4 [json_name="cvssVersion"]; + repeated Detail details = 5 [json_name="details"]; + string severity = 6 [json_name="severity"]; + .google.protobuf.Timestamp source_update_time = 7 [json_name="sourceUpdateTime"]; + repeated WindowsDetail windows_details = 8 [json_name="windowsDetails"]; +} +message VulnerabilityOccurrence { + float cvss_score = 1 [json_name="cvssScore"]; + CVSS cvss_v2 = 2 [json_name="cvssV2"]; + string cvss_version = 3 [json_name="cvssVersion"]; + CVSS cvssv3 = 4 [json_name="cvssv3"]; + string effective_severity = 5 [json_name="effectiveSeverity"]; + string extra_details = 6 [json_name="extraDetails"]; + bool fix_available = 7 [json_name="fixAvailable"]; + string long_description = 8 [json_name="longDescription"]; + repeated PackageIssue package_issue = 9 [json_name="packageIssue"]; + repeated RelatedUrl related_urls = 10 [json_name="relatedUrls"]; + string severity = 11 [json_name="severity"]; + string short_description = 12 [json_name="shortDescription"]; + string type = 13 [json_name="type"]; + VexAssessment vex_assessment = 14 [json_name="vexAssessment"]; +} +message VulnerabilityOccurrencesSummary { + repeated FixableTotalByDigest counts = 1 [json_name="counts"]; +} +message WindowsDetail { + string cpe_uri = 1 [json_name="cpeUri"]; + string description = 2 [json_name="description"]; + repeated KnowledgeBase fixing_kbs = 3 [json_name="fixingKbs"]; + string name = 4 [json_name="name"]; +} +message WindowsUpdate { + repeated Category categories = 1 [json_name="categories"]; + string description = 2 [json_name="description"]; + Identity identity = 3 [json_name="identity"]; + repeated string kb_article_ids = 4 [json_name="kbArticleIds"]; + .google.protobuf.Timestamp last_published_timestamp = 5 [json_name="lastPublishedTimestamp"]; + string support_url = 6 [json_name="supportUrl"]; + string title = 7 [json_name="title"]; +} +message GetProjectsLocationsNoteRequest { + string name = 1; +} +message ListProjectsLocationsNotesRequest { + string filter = 1; + int32 page_size = 2; + string page_token = 3; + string parent = 4; +} +message ListProjectsLocationsNotesOccurrencesRequest { + string filter = 1; + string name = 2; + int32 page_size = 3; + string page_token = 4; +} +message GetProjectsLocationsOccurrenceRequest { + string name = 1; +} +message GetNotesProjectsLocationsOccurrenceRequest { + string name = 1; +} +message GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest { + string filter = 1; + string parent = 2; +} +message ListProjectsLocationsOccurrencesRequest { + string filter = 1; + int32 page_size = 2; + string page_token = 3; + string parent = 4; +} +message ExportSBOMProjectsLocationsResourceRequest { + string name = 1; + ExportSBOMRequest projects_locations_resource = 2; +} +message BatchCreateProjectsNoteRequest { + string parent = 1; + BatchCreateNotesRequest projects_note = 2; +} +message CreateProjectsNoteRequest { + string note_id = 1; + string parent = 2; + Note projects_note = 3; +} +message DeleteProjectsNoteRequest { + string name = 1; +} +message GetProjectsNoteRequest { + string name = 1; +} +message ListProjectsNotesRequest { + string filter = 1; + int32 page_size = 2; + string page_token = 3; + string parent = 4; +} +message PatchProjectsNoteRequest { + string name = 1; + string update_mask = 2; + Note projects_note = 3; +} +message ListProjectsNotesOccurrencesRequest { + string filter = 1; + string name = 2; + int32 page_size = 3; + string page_token = 4; +} +message BatchCreateProjectsOccurrenceRequest { + string parent = 1; + BatchCreateOccurrencesRequest projects_occurrence = 2; +} +message CreateProjectsOccurrenceRequest { + string parent = 1; + Occurrence projects_occurrence = 2; +} +message DeleteProjectsOccurrenceRequest { + string name = 1; +} +message GetProjectsOccurrenceRequest { + string name = 1; +} +message GetNotesProjectsOccurrenceRequest { + string name = 1; +} +message GetVulnerabilitySummaryProjectsOccurrenceRequest { + string filter = 1; + string parent = 2; +} +message ListProjectsOccurrencesRequest { + string filter = 1; + int32 page_size = 2; + string page_token = 3; + string parent = 4; +} +message PatchProjectsOccurrenceRequest { + string name = 1; + string update_mask = 2; + Occurrence projects_occurrence = 3; +} +message ExportSBOMProjectsResourceRequest { + string name = 1; + ExportSBOMRequest projects_resource = 2; +} diff --git a/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.go b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.go new file mode 100644 index 0000000000..d0bb57febb --- /dev/null +++ b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.go @@ -0,0 +1,19375 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgcp/devtools/containeranalysis/v1/containeranalysis.proto + +package containeranalysispb + +import ( + any1 "github.com/golang/protobuf/ptypes/any" + duration "github.com/golang/protobuf/ptypes/duration" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type AliasContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AliasContext) Reset() { + *x = AliasContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliasContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliasContext) ProtoMessage() {} + +func (x *AliasContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliasContext.ProtoReflect.Descriptor instead. +func (*AliasContext) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{0} +} + +func (x *AliasContext) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *AliasContext) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type AnalysisCompleted struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AnalysisType []string `protobuf:"bytes,1,rep,name=analysis_type,json=analysisType,proto3" json:"analysis_type,omitempty"` +} + +func (x *AnalysisCompleted) Reset() { + *x = AnalysisCompleted{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnalysisCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnalysisCompleted) ProtoMessage() {} + +func (x *AnalysisCompleted) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AnalysisCompleted.ProtoReflect.Descriptor instead. +func (*AnalysisCompleted) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{1} +} + +func (x *AnalysisCompleted) GetAnalysisType() []string { + if x != nil { + return x.AnalysisType + } + return nil +} + +type Artifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Checksum string `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *Artifact) Reset() { + *x = Artifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Artifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Artifact) ProtoMessage() {} + +func (x *Artifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Artifact.ProtoReflect.Descriptor instead. +func (*Artifact) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{2} +} + +func (x *Artifact) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +func (x *Artifact) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Artifact) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +type Assessment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cve string `protobuf:"bytes,1,opt,name=cve,proto3" json:"cve,omitempty"` + Impacts []string `protobuf:"bytes,2,rep,name=impacts,proto3" json:"impacts,omitempty"` + Justification *Justification `protobuf:"bytes,3,opt,name=justification,proto3" json:"justification,omitempty"` + LongDescription string `protobuf:"bytes,4,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + RelatedUris []*RelatedUrl `protobuf:"bytes,5,rep,name=related_uris,json=relatedUris,proto3" json:"related_uris,omitempty"` + Remediations []*Remediation `protobuf:"bytes,6,rep,name=remediations,proto3" json:"remediations,omitempty"` + ShortDescription string `protobuf:"bytes,7,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + State string `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"` + VulnerabilityId string `protobuf:"bytes,9,opt,name=vulnerability_id,json=vulnerabilityId,proto3" json:"vulnerability_id,omitempty"` +} + +func (x *Assessment) Reset() { + *x = Assessment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Assessment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Assessment) ProtoMessage() {} + +func (x *Assessment) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Assessment.ProtoReflect.Descriptor instead. +func (*Assessment) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{3} +} + +func (x *Assessment) GetCve() string { + if x != nil { + return x.Cve + } + return "" +} + +func (x *Assessment) GetImpacts() []string { + if x != nil { + return x.Impacts + } + return nil +} + +func (x *Assessment) GetJustification() *Justification { + if x != nil { + return x.Justification + } + return nil +} + +func (x *Assessment) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *Assessment) GetRelatedUris() []*RelatedUrl { + if x != nil { + return x.RelatedUris + } + return nil +} + +func (x *Assessment) GetRemediations() []*Remediation { + if x != nil { + return x.Remediations + } + return nil +} + +func (x *Assessment) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *Assessment) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *Assessment) GetVulnerabilityId() string { + if x != nil { + return x.VulnerabilityId + } + return "" +} + +type AttestationNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hint *Hint `protobuf:"bytes,1,opt,name=hint,proto3" json:"hint,omitempty"` +} + +func (x *AttestationNote) Reset() { + *x = AttestationNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationNote) ProtoMessage() {} + +func (x *AttestationNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationNote.ProtoReflect.Descriptor instead. +func (*AttestationNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{4} +} + +func (x *AttestationNote) GetHint() *Hint { + if x != nil { + return x.Hint + } + return nil +} + +type AttestationOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Jwts []*Jwt `protobuf:"bytes,1,rep,name=jwts,proto3" json:"jwts,omitempty"` + SerializedPayload []byte `protobuf:"bytes,2,opt,name=serialized_payload,json=serializedPayload,proto3" json:"serialized_payload,omitempty"` + Signatures []*Signature `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"` +} + +func (x *AttestationOccurrence) Reset() { + *x = AttestationOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationOccurrence) ProtoMessage() {} + +func (x *AttestationOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationOccurrence.ProtoReflect.Descriptor instead. +func (*AttestationOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{5} +} + +func (x *AttestationOccurrence) GetJwts() []*Jwt { + if x != nil { + return x.Jwts + } + return nil +} + +func (x *AttestationOccurrence) GetSerializedPayload() []byte { + if x != nil { + return x.SerializedPayload + } + return nil +} + +func (x *AttestationOccurrence) GetSignatures() []*Signature { + if x != nil { + return x.Signatures + } + return nil +} + +type BatchCreateNotesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notes map[string]*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *BatchCreateNotesRequest) Reset() { + *x = BatchCreateNotesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateNotesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateNotesRequest) ProtoMessage() {} + +func (x *BatchCreateNotesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateNotesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateNotesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{6} +} + +func (x *BatchCreateNotesRequest) GetNotes() map[string]*Note { + if x != nil { + return x.Notes + } + return nil +} + +type BatchCreateNotesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Notes []*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *BatchCreateNotesResponse) Reset() { + *x = BatchCreateNotesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateNotesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateNotesResponse) ProtoMessage() {} + +func (x *BatchCreateNotesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateNotesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateNotesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{7} +} + +func (x *BatchCreateNotesResponse) GetNotes() []*Note { + if x != nil { + return x.Notes + } + return nil +} + +type BatchCreateOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *BatchCreateOccurrencesRequest) Reset() { + *x = BatchCreateOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateOccurrencesRequest) ProtoMessage() {} + +func (x *BatchCreateOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{8} +} + +func (x *BatchCreateOccurrencesRequest) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +type BatchCreateOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *BatchCreateOccurrencesResponse) Reset() { + *x = BatchCreateOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateOccurrencesResponse) ProtoMessage() {} + +func (x *BatchCreateOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{9} +} + +func (x *BatchCreateOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +type Binding struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Condition *Expr `protobuf:"bytes,1,opt,name=condition,proto3" json:"condition,omitempty"` + Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` + Role string `protobuf:"bytes,3,opt,name=role,proto3" json:"role,omitempty"` +} + +func (x *Binding) Reset() { + *x = Binding{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Binding) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Binding) ProtoMessage() {} + +func (x *Binding) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Binding.ProtoReflect.Descriptor instead. +func (*Binding) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{10} +} + +func (x *Binding) GetCondition() *Expr { + if x != nil { + return x.Condition + } + return nil +} + +func (x *Binding) GetMembers() []string { + if x != nil { + return x.Members + } + return nil +} + +func (x *Binding) GetRole() string { + if x != nil { + return x.Role + } + return "" +} + +type BuildDefinition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildType string `protobuf:"bytes,1,opt,name=build_type,json=buildType,proto3" json:"build_type,omitempty"` + ExternalParameters map[string]*any1.Any `protobuf:"bytes,2,rep,name=external_parameters,json=externalParameters,proto3" json:"external_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + InternalParameters map[string]*any1.Any `protobuf:"bytes,3,rep,name=internal_parameters,json=internalParameters,proto3" json:"internal_parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ResolvedDependencies []*ResourceDescriptor `protobuf:"bytes,4,rep,name=resolved_dependencies,json=resolvedDependencies,proto3" json:"resolved_dependencies,omitempty"` +} + +func (x *BuildDefinition) Reset() { + *x = BuildDefinition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildDefinition) ProtoMessage() {} + +func (x *BuildDefinition) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildDefinition.ProtoReflect.Descriptor instead. +func (*BuildDefinition) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{11} +} + +func (x *BuildDefinition) GetBuildType() string { + if x != nil { + return x.BuildType + } + return "" +} + +func (x *BuildDefinition) GetExternalParameters() map[string]*any1.Any { + if x != nil { + return x.ExternalParameters + } + return nil +} + +func (x *BuildDefinition) GetInternalParameters() map[string]*any1.Any { + if x != nil { + return x.InternalParameters + } + return nil +} + +func (x *BuildDefinition) GetResolvedDependencies() []*ResourceDescriptor { + if x != nil { + return x.ResolvedDependencies + } + return nil +} + +type BuildMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FinishedOn *timestamp.Timestamp `protobuf:"bytes,1,opt,name=finished_on,json=finishedOn,proto3" json:"finished_on,omitempty"` + InvocationId string `protobuf:"bytes,2,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"` + StartedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=started_on,json=startedOn,proto3" json:"started_on,omitempty"` +} + +func (x *BuildMetadata) Reset() { + *x = BuildMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildMetadata) ProtoMessage() {} + +func (x *BuildMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildMetadata.ProtoReflect.Descriptor instead. +func (*BuildMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{12} +} + +func (x *BuildMetadata) GetFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.FinishedOn + } + return nil +} + +func (x *BuildMetadata) GetInvocationId() string { + if x != nil { + return x.InvocationId + } + return "" +} + +func (x *BuildMetadata) GetStartedOn() *timestamp.Timestamp { + if x != nil { + return x.StartedOn + } + return nil +} + +type BuildNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuilderVersion string `protobuf:"bytes,1,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"` +} + +func (x *BuildNote) Reset() { + *x = BuildNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildNote) ProtoMessage() {} + +func (x *BuildNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildNote.ProtoReflect.Descriptor instead. +func (*BuildNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{13} +} + +func (x *BuildNote) GetBuilderVersion() string { + if x != nil { + return x.BuilderVersion + } + return "" +} + +type BuildOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InTotoSlsaProvenanceV1 *InTotoSlsaProvenanceV1 `protobuf:"bytes,1,opt,name=in_toto_slsa_provenance_v1,json=inTotoSlsaProvenanceV1,proto3" json:"in_toto_slsa_provenance_v1,omitempty"` + IntotoProvenance *InTotoProvenance `protobuf:"bytes,2,opt,name=intoto_provenance,json=intotoProvenance,proto3" json:"intoto_provenance,omitempty"` + IntotoStatement *InTotoStatement `protobuf:"bytes,3,opt,name=intoto_statement,json=intotoStatement,proto3" json:"intoto_statement,omitempty"` + Provenance *BuildProvenance `protobuf:"bytes,4,opt,name=provenance,proto3" json:"provenance,omitempty"` + ProvenanceBytes string `protobuf:"bytes,5,opt,name=provenance_bytes,json=provenanceBytes,proto3" json:"provenance_bytes,omitempty"` +} + +func (x *BuildOccurrence) Reset() { + *x = BuildOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildOccurrence) ProtoMessage() {} + +func (x *BuildOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildOccurrence.ProtoReflect.Descriptor instead. +func (*BuildOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{14} +} + +func (x *BuildOccurrence) GetInTotoSlsaProvenanceV1() *InTotoSlsaProvenanceV1 { + if x != nil { + return x.InTotoSlsaProvenanceV1 + } + return nil +} + +func (x *BuildOccurrence) GetIntotoProvenance() *InTotoProvenance { + if x != nil { + return x.IntotoProvenance + } + return nil +} + +func (x *BuildOccurrence) GetIntotoStatement() *InTotoStatement { + if x != nil { + return x.IntotoStatement + } + return nil +} + +func (x *BuildOccurrence) GetProvenance() *BuildProvenance { + if x != nil { + return x.Provenance + } + return nil +} + +func (x *BuildOccurrence) GetProvenanceBytes() string { + if x != nil { + return x.ProvenanceBytes + } + return "" +} + +type BuildProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildOptions map[string]string `protobuf:"bytes,1,rep,name=build_options,json=buildOptions,proto3" json:"build_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BuilderVersion string `protobuf:"bytes,2,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"` + BuiltArtifacts []*Artifact `protobuf:"bytes,3,rep,name=built_artifacts,json=builtArtifacts,proto3" json:"built_artifacts,omitempty"` + Commands []*Command `protobuf:"bytes,4,rep,name=commands,proto3" json:"commands,omitempty"` + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + Creator string `protobuf:"bytes,6,opt,name=creator,proto3" json:"creator,omitempty"` + EndTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + Id string `protobuf:"bytes,8,opt,name=id,proto3" json:"id,omitempty"` + LogsUri string `protobuf:"bytes,9,opt,name=logs_uri,json=logsUri,proto3" json:"logs_uri,omitempty"` + ProjectId string `protobuf:"bytes,10,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + SourceProvenance *Source `protobuf:"bytes,11,opt,name=source_provenance,json=sourceProvenance,proto3" json:"source_provenance,omitempty"` + StartTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + TriggerId string `protobuf:"bytes,13,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"` +} + +func (x *BuildProvenance) Reset() { + *x = BuildProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildProvenance) ProtoMessage() {} + +func (x *BuildProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildProvenance.ProtoReflect.Descriptor instead. +func (*BuildProvenance) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{15} +} + +func (x *BuildProvenance) GetBuildOptions() map[string]string { + if x != nil { + return x.BuildOptions + } + return nil +} + +func (x *BuildProvenance) GetBuilderVersion() string { + if x != nil { + return x.BuilderVersion + } + return "" +} + +func (x *BuildProvenance) GetBuiltArtifacts() []*Artifact { + if x != nil { + return x.BuiltArtifacts + } + return nil +} + +func (x *BuildProvenance) GetCommands() []*Command { + if x != nil { + return x.Commands + } + return nil +} + +func (x *BuildProvenance) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *BuildProvenance) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *BuildProvenance) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *BuildProvenance) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BuildProvenance) GetLogsUri() string { + if x != nil { + return x.LogsUri + } + return "" +} + +func (x *BuildProvenance) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BuildProvenance) GetSourceProvenance() *Source { + if x != nil { + return x.SourceProvenance + } + return nil +} + +func (x *BuildProvenance) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *BuildProvenance) GetTriggerId() string { + if x != nil { + return x.TriggerId + } + return "" +} + +type BuildStep struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllowExitCodes []int32 `protobuf:"varint,1,rep,packed,name=allow_exit_codes,json=allowExitCodes,proto3" json:"allow_exit_codes,omitempty"` + AllowFailure bool `protobuf:"varint,2,opt,name=allow_failure,json=allowFailure,proto3" json:"allow_failure,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + AutomapSubstitutions bool `protobuf:"varint,4,opt,name=automap_substitutions,json=automapSubstitutions,proto3" json:"automap_substitutions,omitempty"` + Dir string `protobuf:"bytes,5,opt,name=dir,proto3" json:"dir,omitempty"` + Entrypoint string `protobuf:"bytes,6,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` + Env []string `protobuf:"bytes,7,rep,name=env,proto3" json:"env,omitempty"` + ExitCode int32 `protobuf:"varint,8,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` + Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` + PullTiming *TimeSpan `protobuf:"bytes,11,opt,name=pull_timing,json=pullTiming,proto3" json:"pull_timing,omitempty"` + Script string `protobuf:"bytes,12,opt,name=script,proto3" json:"script,omitempty"` + SecretEnv []string `protobuf:"bytes,13,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,15,opt,name=timeout,proto3" json:"timeout,omitempty"` + Timing *TimeSpan `protobuf:"bytes,16,opt,name=timing,proto3" json:"timing,omitempty"` + Volumes []*Volume `protobuf:"bytes,17,rep,name=volumes,proto3" json:"volumes,omitempty"` + WaitFor []string `protobuf:"bytes,18,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"` +} + +func (x *BuildStep) Reset() { + *x = BuildStep{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildStep) ProtoMessage() {} + +func (x *BuildStep) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildStep.ProtoReflect.Descriptor instead. +func (*BuildStep) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{16} +} + +func (x *BuildStep) GetAllowExitCodes() []int32 { + if x != nil { + return x.AllowExitCodes + } + return nil +} + +func (x *BuildStep) GetAllowFailure() bool { + if x != nil { + return x.AllowFailure + } + return false +} + +func (x *BuildStep) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *BuildStep) GetAutomapSubstitutions() bool { + if x != nil { + return x.AutomapSubstitutions + } + return false +} + +func (x *BuildStep) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *BuildStep) GetEntrypoint() string { + if x != nil { + return x.Entrypoint + } + return "" +} + +func (x *BuildStep) GetEnv() []string { + if x != nil { + return x.Env + } + return nil +} + +func (x *BuildStep) GetExitCode() int32 { + if x != nil { + return x.ExitCode + } + return 0 +} + +func (x *BuildStep) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BuildStep) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *BuildStep) GetPullTiming() *TimeSpan { + if x != nil { + return x.PullTiming + } + return nil +} + +func (x *BuildStep) GetScript() string { + if x != nil { + return x.Script + } + return "" +} + +func (x *BuildStep) GetSecretEnv() []string { + if x != nil { + return x.SecretEnv + } + return nil +} + +func (x *BuildStep) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *BuildStep) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *BuildStep) GetTiming() *TimeSpan { + if x != nil { + return x.Timing + } + return nil +} + +func (x *BuildStep) GetVolumes() []*Volume { + if x != nil { + return x.Volumes + } + return nil +} + +func (x *BuildStep) GetWaitFor() []string { + if x != nil { + return x.WaitFor + } + return nil +} + +type BuilderConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *BuilderConfig) Reset() { + *x = BuilderConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuilderConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuilderConfig) ProtoMessage() {} + +func (x *BuilderConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuilderConfig.ProtoReflect.Descriptor instead. +func (*BuilderConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{17} +} + +func (x *BuilderConfig) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type CVSS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttackComplexity string `protobuf:"bytes,1,opt,name=attack_complexity,json=attackComplexity,proto3" json:"attack_complexity,omitempty"` + AttackVector string `protobuf:"bytes,2,opt,name=attack_vector,json=attackVector,proto3" json:"attack_vector,omitempty"` + Authentication string `protobuf:"bytes,3,opt,name=authentication,proto3" json:"authentication,omitempty"` + AvailabilityImpact string `protobuf:"bytes,4,opt,name=availability_impact,json=availabilityImpact,proto3" json:"availability_impact,omitempty"` + BaseScore float32 `protobuf:"fixed32,5,opt,name=base_score,json=baseScore,proto3" json:"base_score,omitempty"` + ConfidentialityImpact string `protobuf:"bytes,6,opt,name=confidentiality_impact,json=confidentialityImpact,proto3" json:"confidentiality_impact,omitempty"` + ExploitabilityScore float32 `protobuf:"fixed32,7,opt,name=exploitability_score,json=exploitabilityScore,proto3" json:"exploitability_score,omitempty"` + ImpactScore float32 `protobuf:"fixed32,8,opt,name=impact_score,json=impactScore,proto3" json:"impact_score,omitempty"` + IntegrityImpact string `protobuf:"bytes,9,opt,name=integrity_impact,json=integrityImpact,proto3" json:"integrity_impact,omitempty"` + PrivilegesRequired string `protobuf:"bytes,10,opt,name=privileges_required,json=privilegesRequired,proto3" json:"privileges_required,omitempty"` + Scope string `protobuf:"bytes,11,opt,name=scope,proto3" json:"scope,omitempty"` + UserInteraction string `protobuf:"bytes,12,opt,name=user_interaction,json=userInteraction,proto3" json:"user_interaction,omitempty"` +} + +func (x *CVSS) Reset() { + *x = CVSS{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CVSS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CVSS) ProtoMessage() {} + +func (x *CVSS) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CVSS.ProtoReflect.Descriptor instead. +func (*CVSS) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{18} +} + +func (x *CVSS) GetAttackComplexity() string { + if x != nil { + return x.AttackComplexity + } + return "" +} + +func (x *CVSS) GetAttackVector() string { + if x != nil { + return x.AttackVector + } + return "" +} + +func (x *CVSS) GetAuthentication() string { + if x != nil { + return x.Authentication + } + return "" +} + +func (x *CVSS) GetAvailabilityImpact() string { + if x != nil { + return x.AvailabilityImpact + } + return "" +} + +func (x *CVSS) GetBaseScore() float32 { + if x != nil { + return x.BaseScore + } + return 0 +} + +func (x *CVSS) GetConfidentialityImpact() string { + if x != nil { + return x.ConfidentialityImpact + } + return "" +} + +func (x *CVSS) GetExploitabilityScore() float32 { + if x != nil { + return x.ExploitabilityScore + } + return 0 +} + +func (x *CVSS) GetImpactScore() float32 { + if x != nil { + return x.ImpactScore + } + return 0 +} + +func (x *CVSS) GetIntegrityImpact() string { + if x != nil { + return x.IntegrityImpact + } + return "" +} + +func (x *CVSS) GetPrivilegesRequired() string { + if x != nil { + return x.PrivilegesRequired + } + return "" +} + +func (x *CVSS) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *CVSS) GetUserInteraction() string { + if x != nil { + return x.UserInteraction + } + return "" +} + +type CVSSv3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AttackComplexity string `protobuf:"bytes,1,opt,name=attack_complexity,json=attackComplexity,proto3" json:"attack_complexity,omitempty"` + AttackVector string `protobuf:"bytes,2,opt,name=attack_vector,json=attackVector,proto3" json:"attack_vector,omitempty"` + AvailabilityImpact string `protobuf:"bytes,3,opt,name=availability_impact,json=availabilityImpact,proto3" json:"availability_impact,omitempty"` + BaseScore float32 `protobuf:"fixed32,4,opt,name=base_score,json=baseScore,proto3" json:"base_score,omitempty"` + ConfidentialityImpact string `protobuf:"bytes,5,opt,name=confidentiality_impact,json=confidentialityImpact,proto3" json:"confidentiality_impact,omitempty"` + ExploitabilityScore float32 `protobuf:"fixed32,6,opt,name=exploitability_score,json=exploitabilityScore,proto3" json:"exploitability_score,omitempty"` + ImpactScore float32 `protobuf:"fixed32,7,opt,name=impact_score,json=impactScore,proto3" json:"impact_score,omitempty"` + IntegrityImpact string `protobuf:"bytes,8,opt,name=integrity_impact,json=integrityImpact,proto3" json:"integrity_impact,omitempty"` + PrivilegesRequired string `protobuf:"bytes,9,opt,name=privileges_required,json=privilegesRequired,proto3" json:"privileges_required,omitempty"` + Scope string `protobuf:"bytes,10,opt,name=scope,proto3" json:"scope,omitempty"` + UserInteraction string `protobuf:"bytes,11,opt,name=user_interaction,json=userInteraction,proto3" json:"user_interaction,omitempty"` +} + +func (x *CVSSv3) Reset() { + *x = CVSSv3{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CVSSv3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CVSSv3) ProtoMessage() {} + +func (x *CVSSv3) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CVSSv3.ProtoReflect.Descriptor instead. +func (*CVSSv3) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{19} +} + +func (x *CVSSv3) GetAttackComplexity() string { + if x != nil { + return x.AttackComplexity + } + return "" +} + +func (x *CVSSv3) GetAttackVector() string { + if x != nil { + return x.AttackVector + } + return "" +} + +func (x *CVSSv3) GetAvailabilityImpact() string { + if x != nil { + return x.AvailabilityImpact + } + return "" +} + +func (x *CVSSv3) GetBaseScore() float32 { + if x != nil { + return x.BaseScore + } + return 0 +} + +func (x *CVSSv3) GetConfidentialityImpact() string { + if x != nil { + return x.ConfidentialityImpact + } + return "" +} + +func (x *CVSSv3) GetExploitabilityScore() float32 { + if x != nil { + return x.ExploitabilityScore + } + return 0 +} + +func (x *CVSSv3) GetImpactScore() float32 { + if x != nil { + return x.ImpactScore + } + return 0 +} + +func (x *CVSSv3) GetIntegrityImpact() string { + if x != nil { + return x.IntegrityImpact + } + return "" +} + +func (x *CVSSv3) GetPrivilegesRequired() string { + if x != nil { + return x.PrivilegesRequired + } + return "" +} + +func (x *CVSSv3) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *CVSSv3) GetUserInteraction() string { + if x != nil { + return x.UserInteraction + } + return "" +} + +type Category struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CategoryId string `protobuf:"bytes,1,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Category) Reset() { + *x = Category{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Category) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Category) ProtoMessage() {} + +func (x *Category) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Category.ProtoReflect.Descriptor instead. +func (*Category) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{20} +} + +func (x *Category) GetCategoryId() string { + if x != nil { + return x.CategoryId + } + return "" +} + +func (x *Category) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type CisBenchmark struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileLevel int32 `protobuf:"varint,1,opt,name=profile_level,json=profileLevel,proto3" json:"profile_level,omitempty"` + Severity string `protobuf:"bytes,2,opt,name=severity,proto3" json:"severity,omitempty"` +} + +func (x *CisBenchmark) Reset() { + *x = CisBenchmark{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CisBenchmark) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CisBenchmark) ProtoMessage() {} + +func (x *CisBenchmark) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CisBenchmark.ProtoReflect.Descriptor instead. +func (*CisBenchmark) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{21} +} + +func (x *CisBenchmark) GetProfileLevel() int32 { + if x != nil { + return x.ProfileLevel + } + return 0 +} + +func (x *CisBenchmark) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +type CloudRepoSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AliasContext *AliasContext `protobuf:"bytes,1,opt,name=alias_context,json=aliasContext,proto3" json:"alias_context,omitempty"` + RepoId *RepoId `protobuf:"bytes,2,opt,name=repo_id,json=repoId,proto3" json:"repo_id,omitempty"` + RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` +} + +func (x *CloudRepoSourceContext) Reset() { + *x = CloudRepoSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudRepoSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudRepoSourceContext) ProtoMessage() {} + +func (x *CloudRepoSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudRepoSourceContext.ProtoReflect.Descriptor instead. +func (*CloudRepoSourceContext) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{22} +} + +func (x *CloudRepoSourceContext) GetAliasContext() *AliasContext { + if x != nil { + return x.AliasContext + } + return nil +} + +func (x *CloudRepoSourceContext) GetRepoId() *RepoId { + if x != nil { + return x.RepoId + } + return nil +} + +func (x *CloudRepoSourceContext) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +type CloudStorageLocation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CloudStorageLocation) Reset() { + *x = CloudStorageLocation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudStorageLocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudStorageLocation) ProtoMessage() {} + +func (x *CloudStorageLocation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudStorageLocation.ProtoReflect.Descriptor instead. +func (*CloudStorageLocation) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{23} +} + +type Command struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Args []string `protobuf:"bytes,1,rep,name=args,proto3" json:"args,omitempty"` + Dir string `protobuf:"bytes,2,opt,name=dir,proto3" json:"dir,omitempty"` + Env []string `protobuf:"bytes,3,rep,name=env,proto3" json:"env,omitempty"` + Id string `protobuf:"bytes,4,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + WaitFor []string `protobuf:"bytes,6,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"` +} + +func (x *Command) Reset() { + *x = Command{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Command) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Command) ProtoMessage() {} + +func (x *Command) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Command.ProtoReflect.Descriptor instead. +func (*Command) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{24} +} + +func (x *Command) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *Command) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *Command) GetEnv() []string { + if x != nil { + return x.Env + } + return nil +} + +func (x *Command) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Command) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Command) GetWaitFor() []string { + if x != nil { + return x.WaitFor + } + return nil +} + +type Completeness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arguments bool `protobuf:"varint,1,opt,name=arguments,proto3" json:"arguments,omitempty"` + Environment bool `protobuf:"varint,2,opt,name=environment,proto3" json:"environment,omitempty"` + Materials bool `protobuf:"varint,3,opt,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *Completeness) Reset() { + *x = Completeness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Completeness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Completeness) ProtoMessage() {} + +func (x *Completeness) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Completeness.ProtoReflect.Descriptor instead. +func (*Completeness) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{25} +} + +func (x *Completeness) GetArguments() bool { + if x != nil { + return x.Arguments + } + return false +} + +func (x *Completeness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *Completeness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +type ComplianceNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CisBenchmark *CisBenchmark `protobuf:"bytes,1,opt,name=cis_benchmark,json=cisBenchmark,proto3" json:"cis_benchmark,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Impact string `protobuf:"bytes,3,opt,name=impact,proto3" json:"impact,omitempty"` + Rationale string `protobuf:"bytes,4,opt,name=rationale,proto3" json:"rationale,omitempty"` + Remediation string `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"` + ScanInstructions []byte `protobuf:"bytes,6,opt,name=scan_instructions,json=scanInstructions,proto3" json:"scan_instructions,omitempty"` + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` + Version []*ComplianceVersion `protobuf:"bytes,8,rep,name=version,proto3" json:"version,omitempty"` +} + +func (x *ComplianceNote) Reset() { + *x = ComplianceNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceNote) ProtoMessage() {} + +func (x *ComplianceNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceNote.ProtoReflect.Descriptor instead. +func (*ComplianceNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{26} +} + +func (x *ComplianceNote) GetCisBenchmark() *CisBenchmark { + if x != nil { + return x.CisBenchmark + } + return nil +} + +func (x *ComplianceNote) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ComplianceNote) GetImpact() string { + if x != nil { + return x.Impact + } + return "" +} + +func (x *ComplianceNote) GetRationale() string { + if x != nil { + return x.Rationale + } + return "" +} + +func (x *ComplianceNote) GetRemediation() string { + if x != nil { + return x.Remediation + } + return "" +} + +func (x *ComplianceNote) GetScanInstructions() []byte { + if x != nil { + return x.ScanInstructions + } + return nil +} + +func (x *ComplianceNote) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ComplianceNote) GetVersion() []*ComplianceVersion { + if x != nil { + return x.Version + } + return nil +} + +type ComplianceOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonComplianceReason string `protobuf:"bytes,1,opt,name=non_compliance_reason,json=nonComplianceReason,proto3" json:"non_compliance_reason,omitempty"` + NonCompliantFiles []*NonCompliantFile `protobuf:"bytes,2,rep,name=non_compliant_files,json=nonCompliantFiles,proto3" json:"non_compliant_files,omitempty"` + Version *ComplianceVersion `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *ComplianceOccurrence) Reset() { + *x = ComplianceOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceOccurrence) ProtoMessage() {} + +func (x *ComplianceOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceOccurrence.ProtoReflect.Descriptor instead. +func (*ComplianceOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{27} +} + +func (x *ComplianceOccurrence) GetNonComplianceReason() string { + if x != nil { + return x.NonComplianceReason + } + return "" +} + +func (x *ComplianceOccurrence) GetNonCompliantFiles() []*NonCompliantFile { + if x != nil { + return x.NonCompliantFiles + } + return nil +} + +func (x *ComplianceOccurrence) GetVersion() *ComplianceVersion { + if x != nil { + return x.Version + } + return nil +} + +type ComplianceVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BenchmarkDocument string `protobuf:"bytes,1,opt,name=benchmark_document,json=benchmarkDocument,proto3" json:"benchmark_document,omitempty"` + CpeUri string `protobuf:"bytes,2,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *ComplianceVersion) Reset() { + *x = ComplianceVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceVersion) ProtoMessage() {} + +func (x *ComplianceVersion) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceVersion.ProtoReflect.Descriptor instead. +func (*ComplianceVersion) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{28} +} + +func (x *ComplianceVersion) GetBenchmarkDocument() string { + if x != nil { + return x.BenchmarkDocument + } + return "" +} + +func (x *ComplianceVersion) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *ComplianceVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApprovalRequired bool `protobuf:"varint,1,opt,name=approval_required,json=approvalRequired,proto3" json:"approval_required,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{29} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig) GetApprovalRequired() bool { + if x != nil { + return x.ApprovalRequired + } + return false +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApprovalTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=approval_time,json=approvalTime,proto3" json:"approval_time,omitempty"` + ApproverAccount string `protobuf:"bytes,2,opt,name=approver_account,json=approverAccount,proto3" json:"approver_account,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Decision string `protobuf:"bytes,4,opt,name=decision,proto3" json:"decision,omitempty"` + Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{30} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) GetApprovalTime() *timestamp.Timestamp { + if x != nil { + return x.ApprovalTime + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) GetApproverAccount() string { + if x != nil { + return x.ApproverAccount + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) GetDecision() string { + if x != nil { + return x.Decision + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Images []string `protobuf:"bytes,1,rep,name=images,proto3" json:"images,omitempty"` + MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact `protobuf:"bytes,2,rep,name=maven_artifacts,json=mavenArtifacts,proto3" json:"maven_artifacts,omitempty"` + NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage `protobuf:"bytes,3,rep,name=npm_packages,json=npmPackages,proto3" json:"npm_packages,omitempty"` + Objects *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects `protobuf:"bytes,4,opt,name=objects,proto3" json:"objects,omitempty"` + PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage `protobuf:"bytes,5,rep,name=python_packages,json=pythonPackages,proto3" json:"python_packages,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{31} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) GetImages() []string { + if x != nil { + return x.Images + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) GetMavenArtifacts() []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact { + if x != nil { + return x.MavenArtifacts + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) GetNpmPackages() []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage { + if x != nil { + return x.NpmPackages + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) GetObjects() *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects { + if x != nil { + return x.Objects + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts) GetPythonPackages() []*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage { + if x != nil { + return x.PythonPackages + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` + Paths []string `protobuf:"bytes,2,rep,name=paths,proto3" json:"paths,omitempty"` + Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,3,opt,name=timing,proto3" json:"timing,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{32} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects) GetTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.Timing + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtifactId string `protobuf:"bytes,1,opt,name=artifact_id,json=artifactId,proto3" json:"artifact_id,omitempty"` + GroupId string `protobuf:"bytes,2,opt,name=group_id,json=groupId,proto3" json:"group_id,omitempty"` + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` + Repository string `protobuf:"bytes,4,opt,name=repository,proto3" json:"repository,omitempty"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{33} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) GetArtifactId() string { + if x != nil { + return x.ArtifactId + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) GetGroupId() string { + if x != nil { + return x.GroupId + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PackagePath string `protobuf:"bytes,1,opt,name=package_path,json=packagePath,proto3" json:"package_path,omitempty"` + Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{34} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) GetPackagePath() string { + if x != nil { + return x.PackagePath + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Paths []string `protobuf:"bytes,1,rep,name=paths,proto3" json:"paths,omitempty"` + Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{35} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) GetPaths() []string { + if x != nil { + return x.Paths + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Build struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Approval *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval `protobuf:"bytes,1,opt,name=approval,proto3" json:"approval,omitempty"` + Artifacts *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts `protobuf:"bytes,2,opt,name=artifacts,proto3" json:"artifacts,omitempty"` + AvailableSecrets *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets `protobuf:"bytes,3,opt,name=available_secrets,json=availableSecrets,proto3" json:"available_secrets,omitempty"` + BuildTriggerId string `protobuf:"bytes,4,opt,name=build_trigger_id,json=buildTriggerId,proto3" json:"build_trigger_id,omitempty"` + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + FailureInfo *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo `protobuf:"bytes,6,opt,name=failure_info,json=failureInfo,proto3" json:"failure_info,omitempty"` + FinishTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=finish_time,json=finishTime,proto3" json:"finish_time,omitempty"` + GitConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig `protobuf:"bytes,8,opt,name=git_config,json=gitConfig,proto3" json:"git_config,omitempty"` + Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` + Images []string `protobuf:"bytes,10,rep,name=images,proto3" json:"images,omitempty"` + LogUrl string `protobuf:"bytes,11,opt,name=log_url,json=logUrl,proto3" json:"log_url,omitempty"` + LogsBucket string `protobuf:"bytes,12,opt,name=logs_bucket,json=logsBucket,proto3" json:"logs_bucket,omitempty"` + Name string `protobuf:"bytes,13,opt,name=name,proto3" json:"name,omitempty"` + Options *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions `protobuf:"bytes,14,opt,name=options,proto3" json:"options,omitempty"` + ProjectId string `protobuf:"bytes,15,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + QueueTtl *duration.Duration `protobuf:"bytes,16,opt,name=queue_ttl,json=queueTtl,proto3" json:"queue_ttl,omitempty"` + Results *ContaineranalysisGoogleDevtoolsCloudbuildV1Results `protobuf:"bytes,17,opt,name=results,proto3" json:"results,omitempty"` + Secrets []*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret `protobuf:"bytes,18,rep,name=secrets,proto3" json:"secrets,omitempty"` + ServiceAccount string `protobuf:"bytes,19,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` + Source *ContaineranalysisGoogleDevtoolsCloudbuildV1Source `protobuf:"bytes,20,opt,name=source,proto3" json:"source,omitempty"` + SourceProvenance *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance `protobuf:"bytes,21,opt,name=source_provenance,json=sourceProvenance,proto3" json:"source_provenance,omitempty"` + StartTime *timestamp.Timestamp `protobuf:"bytes,22,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + Status string `protobuf:"bytes,23,opt,name=status,proto3" json:"status,omitempty"` + StatusDetail string `protobuf:"bytes,24,opt,name=status_detail,json=statusDetail,proto3" json:"status_detail,omitempty"` + Steps []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep `protobuf:"bytes,25,rep,name=steps,proto3" json:"steps,omitempty"` + Substitutions map[string]string `protobuf:"bytes,26,rep,name=substitutions,proto3" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Tags []string `protobuf:"bytes,27,rep,name=tags,proto3" json:"tags,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,28,opt,name=timeout,proto3" json:"timeout,omitempty"` + Timing map[string]*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,29,rep,name=timing,proto3" json:"timing,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Warnings []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning `protobuf:"bytes,30,rep,name=warnings,proto3" json:"warnings,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Build{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Build) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Build.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Build) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{36} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetApproval() *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval { + if x != nil { + return x.Approval + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetArtifacts() *ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts { + if x != nil { + return x.Artifacts + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetAvailableSecrets() *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets { + if x != nil { + return x.AvailableSecrets + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetBuildTriggerId() string { + if x != nil { + return x.BuildTriggerId + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetFailureInfo() *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo { + if x != nil { + return x.FailureInfo + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetFinishTime() *timestamp.Timestamp { + if x != nil { + return x.FinishTime + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetGitConfig() *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig { + if x != nil { + return x.GitConfig + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetImages() []string { + if x != nil { + return x.Images + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetLogUrl() string { + if x != nil { + return x.LogUrl + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetLogsBucket() string { + if x != nil { + return x.LogsBucket + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetOptions() *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions { + if x != nil { + return x.Options + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetQueueTtl() *duration.Duration { + if x != nil { + return x.QueueTtl + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetResults() *ContaineranalysisGoogleDevtoolsCloudbuildV1Results { + if x != nil { + return x.Results + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetSecrets() []*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret { + if x != nil { + return x.Secrets + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetServiceAccount() string { + if x != nil { + return x.ServiceAccount + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1Source { + if x != nil { + return x.Source + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetSourceProvenance() *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance { + if x != nil { + return x.SourceProvenance + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetStatusDetail() string { + if x != nil { + return x.StatusDetail + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetSteps() []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep { + if x != nil { + return x.Steps + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetSubstitutions() map[string]string { + if x != nil { + return x.Substitutions + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetTags() []string { + if x != nil { + return x.Tags + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetTiming() map[string]*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.Timing + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Build) GetWarnings() []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning { + if x != nil { + return x.Warnings + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Config *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + Result *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{37} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) GetConfig() *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) GetResult() *ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult { + if x != nil { + return x.Result + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval) GetState() string { + if x != nil { + return x.State + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Detail string `protobuf:"bytes,1,opt,name=detail,proto3" json:"detail,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{38} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) GetDetail() string { + if x != nil { + return x.Detail + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AutomapSubstitutions bool `protobuf:"varint,1,opt,name=automap_substitutions,json=automapSubstitutions,proto3" json:"automap_substitutions,omitempty"` + DefaultLogsBucketBehavior string `protobuf:"bytes,2,opt,name=default_logs_bucket_behavior,json=defaultLogsBucketBehavior,proto3" json:"default_logs_bucket_behavior,omitempty"` + DiskSizeGb int64 `protobuf:"varint,3,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"` + DynamicSubstitutions bool `protobuf:"varint,4,opt,name=dynamic_substitutions,json=dynamicSubstitutions,proto3" json:"dynamic_substitutions,omitempty"` + Env []string `protobuf:"bytes,5,rep,name=env,proto3" json:"env,omitempty"` + LogStreamingOption string `protobuf:"bytes,6,opt,name=log_streaming_option,json=logStreamingOption,proto3" json:"log_streaming_option,omitempty"` + Logging string `protobuf:"bytes,7,opt,name=logging,proto3" json:"logging,omitempty"` + MachineType string `protobuf:"bytes,8,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` + Pool *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption `protobuf:"bytes,9,opt,name=pool,proto3" json:"pool,omitempty"` + RequestedVerifyOption string `protobuf:"bytes,10,opt,name=requested_verify_option,json=requestedVerifyOption,proto3" json:"requested_verify_option,omitempty"` + SecretEnv []string `protobuf:"bytes,11,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty"` + SourceProvenanceHash []string `protobuf:"bytes,12,rep,name=source_provenance_hash,json=sourceProvenanceHash,proto3" json:"source_provenance_hash,omitempty"` + SubstitutionOption string `protobuf:"bytes,13,opt,name=substitution_option,json=substitutionOption,proto3" json:"substitution_option,omitempty"` + Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `protobuf:"bytes,14,rep,name=volumes,proto3" json:"volumes,omitempty"` + WorkerPool string `protobuf:"bytes,15,opt,name=worker_pool,json=workerPool,proto3" json:"worker_pool,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{39} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetAutomapSubstitutions() bool { + if x != nil { + return x.AutomapSubstitutions + } + return false +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetDefaultLogsBucketBehavior() string { + if x != nil { + return x.DefaultLogsBucketBehavior + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetDiskSizeGb() int64 { + if x != nil { + return x.DiskSizeGb + } + return 0 +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetDynamicSubstitutions() bool { + if x != nil { + return x.DynamicSubstitutions + } + return false +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetEnv() []string { + if x != nil { + return x.Env + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetLogStreamingOption() string { + if x != nil { + return x.LogStreamingOption + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetLogging() string { + if x != nil { + return x.Logging + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetMachineType() string { + if x != nil { + return x.MachineType + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetPool() *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption { + if x != nil { + return x.Pool + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetRequestedVerifyOption() string { + if x != nil { + return x.RequestedVerifyOption + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetSecretEnv() []string { + if x != nil { + return x.SecretEnv + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetSourceProvenanceHash() []string { + if x != nil { + return x.SourceProvenanceHash + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetSubstitutionOption() string { + if x != nil { + return x.SubstitutionOption + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetVolumes() []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume { + if x != nil { + return x.Volumes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions) GetWorkerPool() string { + if x != nil { + return x.WorkerPool + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{40} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AllowExitCodes []int32 `protobuf:"varint,1,rep,packed,name=allow_exit_codes,json=allowExitCodes,proto3" json:"allow_exit_codes,omitempty"` + AllowFailure bool `protobuf:"varint,2,opt,name=allow_failure,json=allowFailure,proto3" json:"allow_failure,omitempty"` + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + AutomapSubstitutions bool `protobuf:"varint,4,opt,name=automap_substitutions,json=automapSubstitutions,proto3" json:"automap_substitutions,omitempty"` + Dir string `protobuf:"bytes,5,opt,name=dir,proto3" json:"dir,omitempty"` + Entrypoint string `protobuf:"bytes,6,opt,name=entrypoint,proto3" json:"entrypoint,omitempty"` + Env []string `protobuf:"bytes,7,rep,name=env,proto3" json:"env,omitempty"` + ExitCode int32 `protobuf:"varint,8,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` + Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,10,opt,name=name,proto3" json:"name,omitempty"` + PullTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,11,opt,name=pull_timing,json=pullTiming,proto3" json:"pull_timing,omitempty"` + Script string `protobuf:"bytes,12,opt,name=script,proto3" json:"script,omitempty"` + SecretEnv []string `protobuf:"bytes,13,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty"` + Status string `protobuf:"bytes,14,opt,name=status,proto3" json:"status,omitempty"` + Timeout *duration.Duration `protobuf:"bytes,15,opt,name=timeout,proto3" json:"timeout,omitempty"` + Timing *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,16,opt,name=timing,proto3" json:"timing,omitempty"` + Volumes []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume `protobuf:"bytes,17,rep,name=volumes,proto3" json:"volumes,omitempty"` + WaitFor []string `protobuf:"bytes,18,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{41} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetAllowExitCodes() []int32 { + if x != nil { + return x.AllowExitCodes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetAllowFailure() bool { + if x != nil { + return x.AllowFailure + } + return false +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetAutomapSubstitutions() bool { + if x != nil { + return x.AutomapSubstitutions + } + return false +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetEntrypoint() string { + if x != nil { + return x.Entrypoint + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetEnv() []string { + if x != nil { + return x.Env + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetExitCode() int32 { + if x != nil { + return x.ExitCode + } + return 0 +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetPullTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.PullTiming + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetScript() string { + if x != nil { + return x.Script + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetSecretEnv() []string { + if x != nil { + return x.SecretEnv + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetTimeout() *duration.Duration { + if x != nil { + return x.Timeout + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.Timing + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetVolumes() []*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume { + if x != nil { + return x.Volumes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep) GetWaitFor() []string { + if x != nil { + return x.WaitFor + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Priority string `protobuf:"bytes,1,opt,name=priority,proto3" json:"priority,omitempty"` + Text string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{42} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) GetPriority() string { + if x != nil { + return x.Priority + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning) GetText() string { + if x != nil { + return x.Text + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest string `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,3,opt,name=push_timing,json=pushTiming,proto3" json:"push_timing,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{43} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) GetDigest() string { + if x != nil { + return x.Digest + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage) GetPushTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.PushTiming + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dir string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"` + Repository string `protobuf:"bytes,2,opt,name=repository,proto3" json:"repository,omitempty"` + Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{44} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) GetRepository() string { + if x != nil { + return x.Repository + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dir string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"` + GitRepositoryLink string `protobuf:"bytes,2,opt,name=git_repository_link,json=gitRepositoryLink,proto3" json:"git_repository_link,omitempty"` + Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{45} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) GetGitRepositoryLink() string { + if x != nil { + return x.GitRepositoryLink + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHash []*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{46} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes) GetFileHash() []*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash { + if x != nil { + return x.FileHash + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Http *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig `protobuf:"bytes,1,opt,name=http,proto3" json:"http,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{47} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig) GetHttp() *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig { + if x != nil { + return x.Http + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProxySecretVersionName string `protobuf:"bytes,1,opt,name=proxy_secret_version_name,json=proxySecretVersionName,proto3" json:"proxy_secret_version_name,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{48} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig) GetProxySecretVersionName() string { + if x != nil { + return x.ProxySecretVersionName + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Dir string `protobuf:"bytes,1,opt,name=dir,proto3" json:"dir,omitempty"` + Revision string `protobuf:"bytes,2,opt,name=revision,proto3" json:"revision,omitempty"` + Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{49} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Hash struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Hash{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Hash.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{50} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Hash) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnvMap map[string][]byte `protobuf:"bytes,1,rep,name=env_map,json=envMap,proto3" json:"env_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + KmsKeyName string `protobuf:"bytes,2,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{51} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) GetEnvMap() map[string][]byte { + if x != nil { + return x.EnvMap + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret) GetKmsKeyName() string { + if x != nil { + return x.KmsKeyName + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BranchName string `protobuf:"bytes,1,opt,name=branch_name,json=branchName,proto3" json:"branch_name,omitempty"` + CommitSha string `protobuf:"bytes,2,opt,name=commit_sha,json=commitSha,proto3" json:"commit_sha,omitempty"` + Dir string `protobuf:"bytes,3,opt,name=dir,proto3" json:"dir,omitempty"` + InvertRegex bool `protobuf:"varint,4,opt,name=invert_regex,json=invertRegex,proto3" json:"invert_regex,omitempty"` + ProjectId string `protobuf:"bytes,5,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RepoName string `protobuf:"bytes,6,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"` + Substitutions map[string]string `protobuf:"bytes,7,rep,name=substitutions,proto3" json:"substitutions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + TagName string `protobuf:"bytes,8,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{52} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetBranchName() string { + if x != nil { + return x.BranchName + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetCommitSha() string { + if x != nil { + return x.CommitSha + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetInvertRegex() bool { + if x != nil { + return x.InvertRegex + } + return false +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetRepoName() string { + if x != nil { + return x.RepoName + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetSubstitutions() map[string]string { + if x != nil { + return x.Substitutions + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource) GetTagName() string { + if x != nil { + return x.TagName + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Results struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ArtifactManifest string `protobuf:"bytes,1,opt,name=artifact_manifest,json=artifactManifest,proto3" json:"artifact_manifest,omitempty"` + ArtifactTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,2,opt,name=artifact_timing,json=artifactTiming,proto3" json:"artifact_timing,omitempty"` + BuildStepImages []string `protobuf:"bytes,3,rep,name=build_step_images,json=buildStepImages,proto3" json:"build_step_images,omitempty"` + BuildStepOutputs [][]byte `protobuf:"bytes,4,rep,name=build_step_outputs,json=buildStepOutputs,proto3" json:"build_step_outputs,omitempty"` + Images []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage `protobuf:"bytes,5,rep,name=images,proto3" json:"images,omitempty"` + MavenArtifacts []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact `protobuf:"bytes,6,rep,name=maven_artifacts,json=mavenArtifacts,proto3" json:"maven_artifacts,omitempty"` + NpmPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage `protobuf:"bytes,7,rep,name=npm_packages,json=npmPackages,proto3" json:"npm_packages,omitempty"` + NumArtifacts int64 `protobuf:"varint,8,opt,name=num_artifacts,json=numArtifacts,proto3" json:"num_artifacts,omitempty"` + PythonPackages []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage `protobuf:"bytes,9,rep,name=python_packages,json=pythonPackages,proto3" json:"python_packages,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Results{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Results) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Results.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Results) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{53} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetArtifactManifest() string { + if x != nil { + return x.ArtifactManifest + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetArtifactTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.ArtifactTiming + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetBuildStepImages() []string { + if x != nil { + return x.BuildStepImages + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetBuildStepOutputs() [][]byte { + if x != nil { + return x.BuildStepOutputs + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetImages() []*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage { + if x != nil { + return x.Images + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetMavenArtifacts() []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact { + if x != nil { + return x.MavenArtifacts + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetNpmPackages() []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage { + if x != nil { + return x.NpmPackages + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetNumArtifacts() int64 { + if x != nil { + return x.NumArtifacts + } + return 0 +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Results) GetPythonPackages() []*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage { + if x != nil { + return x.PythonPackages + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Secret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + KmsKeyName string `protobuf:"bytes,1,opt,name=kms_key_name,json=kmsKeyName,proto3" json:"kms_key_name,omitempty"` + SecretEnv map[string][]byte `protobuf:"bytes,2,rep,name=secret_env,json=secretEnv,proto3" json:"secret_env,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Secret{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Secret.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{54} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) GetKmsKeyName() string { + if x != nil { + return x.KmsKeyName + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secret) GetSecretEnv() map[string][]byte { + if x != nil { + return x.SecretEnv + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Env string `protobuf:"bytes,1,opt,name=env,proto3" json:"env,omitempty"` + VersionName string `protobuf:"bytes,2,opt,name=version_name,json=versionName,proto3" json:"version_name,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{55} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) GetEnv() string { + if x != nil { + return x.Env + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret) GetVersionName() string { + if x != nil { + return x.VersionName + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Inline []*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret `protobuf:"bytes,1,rep,name=inline,proto3" json:"inline,omitempty"` + SecretManager []*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret `protobuf:"bytes,2,rep,name=secret_manager,json=secretManager,proto3" json:"secret_manager,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{56} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) GetInline() []*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret { + if x != nil { + return x.Inline + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets) GetSecretManager() []*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret { + if x != nil { + return x.SecretManager + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Source struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `protobuf:"bytes,1,opt,name=connected_repository,json=connectedRepository,proto3" json:"connected_repository,omitempty"` + DeveloperConnectConfig *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig `protobuf:"bytes,2,opt,name=developer_connect_config,json=developerConnectConfig,proto3" json:"developer_connect_config,omitempty"` + GitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `protobuf:"bytes,3,opt,name=git_source,json=gitSource,proto3" json:"git_source,omitempty"` + RepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `protobuf:"bytes,4,opt,name=repo_source,json=repoSource,proto3" json:"repo_source,omitempty"` + StorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `protobuf:"bytes,5,opt,name=storage_source,json=storageSource,proto3" json:"storage_source,omitempty"` + StorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `protobuf:"bytes,6,opt,name=storage_source_manifest,json=storageSourceManifest,proto3" json:"storage_source_manifest,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Source{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Source) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Source.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Source) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{57} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetConnectedRepository() *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository { + if x != nil { + return x.ConnectedRepository + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetDeveloperConnectConfig() *ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig { + if x != nil { + return x.DeveloperConnectConfig + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetGitSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource { + if x != nil { + return x.GitSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetRepoSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource { + if x != nil { + return x.RepoSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetStorageSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource { + if x != nil { + return x.StorageSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Source) GetStorageSourceManifest() *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest { + if x != nil { + return x.StorageSourceManifest + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHashes map[string]*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `protobuf:"bytes,1,rep,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + ResolvedConnectedRepository *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository `protobuf:"bytes,2,opt,name=resolved_connected_repository,json=resolvedConnectedRepository,proto3" json:"resolved_connected_repository,omitempty"` + ResolvedGitSource *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource `protobuf:"bytes,3,opt,name=resolved_git_source,json=resolvedGitSource,proto3" json:"resolved_git_source,omitempty"` + ResolvedRepoSource *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource `protobuf:"bytes,4,opt,name=resolved_repo_source,json=resolvedRepoSource,proto3" json:"resolved_repo_source,omitempty"` + ResolvedStorageSource *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource `protobuf:"bytes,5,opt,name=resolved_storage_source,json=resolvedStorageSource,proto3" json:"resolved_storage_source,omitempty"` + ResolvedStorageSourceManifest *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest `protobuf:"bytes,6,opt,name=resolved_storage_source_manifest,json=resolvedStorageSourceManifest,proto3" json:"resolved_storage_source_manifest,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{58} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetFileHashes() map[string]*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetResolvedConnectedRepository() *ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository { + if x != nil { + return x.ResolvedConnectedRepository + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetResolvedGitSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource { + if x != nil { + return x.ResolvedGitSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetResolvedRepoSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource { + if x != nil { + return x.ResolvedRepoSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetResolvedStorageSource() *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource { + if x != nil { + return x.ResolvedStorageSource + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance) GetResolvedStorageSourceManifest() *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest { + if x != nil { + return x.ResolvedStorageSourceManifest + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"` + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` + SourceFetcher string `protobuf:"bytes,4,opt,name=source_fetcher,json=sourceFetcher,proto3" json:"source_fetcher,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{59} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource) GetSourceFetcher() string { + if x != nil { + return x.SourceFetcher + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` + Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"` + Object string `protobuf:"bytes,3,opt,name=object,proto3" json:"object,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{60} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) GetBucket() string { + if x != nil { + return x.Bucket + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) GetGeneration() int64 { + if x != nil { + return x.Generation + } + return 0 +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest) GetObject() string { + if x != nil { + return x.Object + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EndTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + StartTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{61} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `protobuf:"bytes,1,opt,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty"` + PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,2,opt,name=push_timing,json=pushTiming,proto3" json:"push_timing,omitempty"` + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{62} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) GetFileHashes() *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) GetPushTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.PushTiming + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `protobuf:"bytes,1,opt,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty"` + PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,2,opt,name=push_timing,json=pushTiming,proto3" json:"push_timing,omitempty"` + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{63} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) GetFileHashes() *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) GetPushTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.PushTiming + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHashes *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes `protobuf:"bytes,1,opt,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty"` + PushTiming *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan `protobuf:"bytes,2,opt,name=push_timing,json=pushTiming,proto3" json:"push_timing,omitempty"` + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{64} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) GetFileHashes() *ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) GetPushTiming() *ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan { + if x != nil { + return x.PushTiming + } + return nil +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type ContaineranalysisGoogleDevtoolsCloudbuildV1Volume struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) Reset() { + *x = ContaineranalysisGoogleDevtoolsCloudbuildV1Volume{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) ProtoMessage() {} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContaineranalysisGoogleDevtoolsCloudbuildV1Volume.ProtoReflect.Descriptor instead. +func (*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{65} +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ContaineranalysisGoogleDevtoolsCloudbuildV1Volume) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +type DSSEAttestationNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Hint *DSSEHint `protobuf:"bytes,1,opt,name=hint,proto3" json:"hint,omitempty"` +} + +func (x *DSSEAttestationNote) Reset() { + *x = DSSEAttestationNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEAttestationNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEAttestationNote) ProtoMessage() {} + +func (x *DSSEAttestationNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEAttestationNote.ProtoReflect.Descriptor instead. +func (*DSSEAttestationNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{66} +} + +func (x *DSSEAttestationNote) GetHint() *DSSEHint { + if x != nil { + return x.Hint + } + return nil +} + +type DSSEAttestationOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Envelope *Envelope `protobuf:"bytes,1,opt,name=envelope,proto3" json:"envelope,omitempty"` + Statement *InTotoStatement `protobuf:"bytes,2,opt,name=statement,proto3" json:"statement,omitempty"` +} + +func (x *DSSEAttestationOccurrence) Reset() { + *x = DSSEAttestationOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEAttestationOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEAttestationOccurrence) ProtoMessage() {} + +func (x *DSSEAttestationOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEAttestationOccurrence.ProtoReflect.Descriptor instead. +func (*DSSEAttestationOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{67} +} + +func (x *DSSEAttestationOccurrence) GetEnvelope() *Envelope { + if x != nil { + return x.Envelope + } + return nil +} + +func (x *DSSEAttestationOccurrence) GetStatement() *InTotoStatement { + if x != nil { + return x.Statement + } + return nil +} + +type DSSEHint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HumanReadableName string `protobuf:"bytes,1,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"` +} + +func (x *DSSEHint) Reset() { + *x = DSSEHint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEHint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEHint) ProtoMessage() {} + +func (x *DSSEHint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEHint.ProtoReflect.Descriptor instead. +func (*DSSEHint) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{68} +} + +func (x *DSSEHint) GetHumanReadableName() string { + if x != nil { + return x.HumanReadableName + } + return "" +} + +type DeploymentNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ResourceUri []string `protobuf:"bytes,1,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` +} + +func (x *DeploymentNote) Reset() { + *x = DeploymentNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentNote) ProtoMessage() {} + +func (x *DeploymentNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentNote.ProtoReflect.Descriptor instead. +func (*DeploymentNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{69} +} + +func (x *DeploymentNote) GetResourceUri() []string { + if x != nil { + return x.ResourceUri + } + return nil +} + +type DeploymentOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + Config string `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + DeployTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=deploy_time,json=deployTime,proto3" json:"deploy_time,omitempty"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform,omitempty"` + ResourceUri []string `protobuf:"bytes,5,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + UndeployTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=undeploy_time,json=undeployTime,proto3" json:"undeploy_time,omitempty"` + UserEmail string `protobuf:"bytes,7,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` +} + +func (x *DeploymentOccurrence) Reset() { + *x = DeploymentOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentOccurrence) ProtoMessage() {} + +func (x *DeploymentOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentOccurrence.ProtoReflect.Descriptor instead. +func (*DeploymentOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{70} +} + +func (x *DeploymentOccurrence) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *DeploymentOccurrence) GetConfig() string { + if x != nil { + return x.Config + } + return "" +} + +func (x *DeploymentOccurrence) GetDeployTime() *timestamp.Timestamp { + if x != nil { + return x.DeployTime + } + return nil +} + +func (x *DeploymentOccurrence) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *DeploymentOccurrence) GetResourceUri() []string { + if x != nil { + return x.ResourceUri + } + return nil +} + +func (x *DeploymentOccurrence) GetUndeployTime() *timestamp.Timestamp { + if x != nil { + return x.UndeployTime + } + return nil +} + +func (x *DeploymentOccurrence) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +type Detail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AffectedCpeUri string `protobuf:"bytes,1,opt,name=affected_cpe_uri,json=affectedCpeUri,proto3" json:"affected_cpe_uri,omitempty"` + AffectedPackage string `protobuf:"bytes,2,opt,name=affected_package,json=affectedPackage,proto3" json:"affected_package,omitempty"` + AffectedVersionEnd *Version `protobuf:"bytes,3,opt,name=affected_version_end,json=affectedVersionEnd,proto3" json:"affected_version_end,omitempty"` + AffectedVersionStart *Version `protobuf:"bytes,4,opt,name=affected_version_start,json=affectedVersionStart,proto3" json:"affected_version_start,omitempty"` + Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"` + FixedCpeUri string `protobuf:"bytes,6,opt,name=fixed_cpe_uri,json=fixedCpeUri,proto3" json:"fixed_cpe_uri,omitempty"` + FixedPackage string `protobuf:"bytes,7,opt,name=fixed_package,json=fixedPackage,proto3" json:"fixed_package,omitempty"` + FixedVersion *Version `protobuf:"bytes,8,opt,name=fixed_version,json=fixedVersion,proto3" json:"fixed_version,omitempty"` + IsObsolete bool `protobuf:"varint,9,opt,name=is_obsolete,json=isObsolete,proto3" json:"is_obsolete,omitempty"` + PackageType string `protobuf:"bytes,10,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + SeverityName string `protobuf:"bytes,11,opt,name=severity_name,json=severityName,proto3" json:"severity_name,omitempty"` + Source string `protobuf:"bytes,12,opt,name=source,proto3" json:"source,omitempty"` + SourceUpdateTime *timestamp.Timestamp `protobuf:"bytes,13,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"` + Vendor string `protobuf:"bytes,14,opt,name=vendor,proto3" json:"vendor,omitempty"` +} + +func (x *Detail) Reset() { + *x = Detail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Detail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Detail) ProtoMessage() {} + +func (x *Detail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Detail.ProtoReflect.Descriptor instead. +func (*Detail) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{71} +} + +func (x *Detail) GetAffectedCpeUri() string { + if x != nil { + return x.AffectedCpeUri + } + return "" +} + +func (x *Detail) GetAffectedPackage() string { + if x != nil { + return x.AffectedPackage + } + return "" +} + +func (x *Detail) GetAffectedVersionEnd() *Version { + if x != nil { + return x.AffectedVersionEnd + } + return nil +} + +func (x *Detail) GetAffectedVersionStart() *Version { + if x != nil { + return x.AffectedVersionStart + } + return nil +} + +func (x *Detail) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Detail) GetFixedCpeUri() string { + if x != nil { + return x.FixedCpeUri + } + return "" +} + +func (x *Detail) GetFixedPackage() string { + if x != nil { + return x.FixedPackage + } + return "" +} + +func (x *Detail) GetFixedVersion() *Version { + if x != nil { + return x.FixedVersion + } + return nil +} + +func (x *Detail) GetIsObsolete() bool { + if x != nil { + return x.IsObsolete + } + return false +} + +func (x *Detail) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *Detail) GetSeverityName() string { + if x != nil { + return x.SeverityName + } + return "" +} + +func (x *Detail) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *Detail) GetSourceUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.SourceUpdateTime + } + return nil +} + +func (x *Detail) GetVendor() string { + if x != nil { + return x.Vendor + } + return "" +} + +type Digest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Algo string `protobuf:"bytes,1,opt,name=algo,proto3" json:"algo,omitempty"` + DigestBytes []byte `protobuf:"bytes,2,opt,name=digest_bytes,json=digestBytes,proto3" json:"digest_bytes,omitempty"` +} + +func (x *Digest) Reset() { + *x = Digest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Digest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Digest) ProtoMessage() {} + +func (x *Digest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Digest.ProtoReflect.Descriptor instead. +func (*Digest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{72} +} + +func (x *Digest) GetAlgo() string { + if x != nil { + return x.Algo + } + return "" +} + +func (x *Digest) GetDigestBytes() []byte { + if x != nil { + return x.DigestBytes + } + return nil +} + +type DiscoveryNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AnalysisKind string `protobuf:"bytes,1,opt,name=analysis_kind,json=analysisKind,proto3" json:"analysis_kind,omitempty"` +} + +func (x *DiscoveryNote) Reset() { + *x = DiscoveryNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryNote) ProtoMessage() {} + +func (x *DiscoveryNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryNote.ProtoReflect.Descriptor instead. +func (*DiscoveryNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{73} +} + +func (x *DiscoveryNote) GetAnalysisKind() string { + if x != nil { + return x.AnalysisKind + } + return "" +} + +type DiscoveryOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AnalysisCompleted *AnalysisCompleted `protobuf:"bytes,1,opt,name=analysis_completed,json=analysisCompleted,proto3" json:"analysis_completed,omitempty"` + AnalysisError []*Status `protobuf:"bytes,2,rep,name=analysis_error,json=analysisError,proto3" json:"analysis_error,omitempty"` + AnalysisStatus string `protobuf:"bytes,3,opt,name=analysis_status,json=analysisStatus,proto3" json:"analysis_status,omitempty"` + AnalysisStatusError *Status `protobuf:"bytes,4,opt,name=analysis_status_error,json=analysisStatusError,proto3" json:"analysis_status_error,omitempty"` + ArchiveTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=archive_time,json=archiveTime,proto3" json:"archive_time,omitempty"` + ContinuousAnalysis string `protobuf:"bytes,6,opt,name=continuous_analysis,json=continuousAnalysis,proto3" json:"continuous_analysis,omitempty"` + Cpe string `protobuf:"bytes,7,opt,name=cpe,proto3" json:"cpe,omitempty"` + LastScanTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_scan_time,json=lastScanTime,proto3" json:"last_scan_time,omitempty"` + SbomStatus *SBOMStatus `protobuf:"bytes,9,opt,name=sbom_status,json=sbomStatus,proto3" json:"sbom_status,omitempty"` +} + +func (x *DiscoveryOccurrence) Reset() { + *x = DiscoveryOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryOccurrence) ProtoMessage() {} + +func (x *DiscoveryOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryOccurrence.ProtoReflect.Descriptor instead. +func (*DiscoveryOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{74} +} + +func (x *DiscoveryOccurrence) GetAnalysisCompleted() *AnalysisCompleted { + if x != nil { + return x.AnalysisCompleted + } + return nil +} + +func (x *DiscoveryOccurrence) GetAnalysisError() []*Status { + if x != nil { + return x.AnalysisError + } + return nil +} + +func (x *DiscoveryOccurrence) GetAnalysisStatus() string { + if x != nil { + return x.AnalysisStatus + } + return "" +} + +func (x *DiscoveryOccurrence) GetAnalysisStatusError() *Status { + if x != nil { + return x.AnalysisStatusError + } + return nil +} + +func (x *DiscoveryOccurrence) GetArchiveTime() *timestamp.Timestamp { + if x != nil { + return x.ArchiveTime + } + return nil +} + +func (x *DiscoveryOccurrence) GetContinuousAnalysis() string { + if x != nil { + return x.ContinuousAnalysis + } + return "" +} + +func (x *DiscoveryOccurrence) GetCpe() string { + if x != nil { + return x.Cpe + } + return "" +} + +func (x *DiscoveryOccurrence) GetLastScanTime() *timestamp.Timestamp { + if x != nil { + return x.LastScanTime + } + return nil +} + +func (x *DiscoveryOccurrence) GetSbomStatus() *SBOMStatus { + if x != nil { + return x.SbomStatus + } + return nil +} + +type Distribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"` + CpeUri string `protobuf:"bytes,2,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + LatestVersion *Version `protobuf:"bytes,4,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` + Maintainer string `protobuf:"bytes,5,opt,name=maintainer,proto3" json:"maintainer,omitempty"` + Url string `protobuf:"bytes,6,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *Distribution) Reset() { + *x = Distribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Distribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Distribution) ProtoMessage() {} + +func (x *Distribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Distribution.ProtoReflect.Descriptor instead. +func (*Distribution) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{75} +} + +func (x *Distribution) GetArchitecture() string { + if x != nil { + return x.Architecture + } + return "" +} + +func (x *Distribution) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *Distribution) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Distribution) GetLatestVersion() *Version { + if x != nil { + return x.LatestVersion + } + return nil +} + +func (x *Distribution) GetMaintainer() string { + if x != nil { + return x.Maintainer + } + return "" +} + +func (x *Distribution) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type Empty struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Empty) Reset() { + *x = Empty{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Empty) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Empty) ProtoMessage() {} + +func (x *Empty) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Empty.ProtoReflect.Descriptor instead. +func (*Empty) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{76} +} + +type Envelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + PayloadType string `protobuf:"bytes,2,opt,name=payload_type,json=payloadType,proto3" json:"payload_type,omitempty"` + Signatures []*EnvelopeSignature `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"` +} + +func (x *Envelope) Reset() { + *x = Envelope{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Envelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Envelope) ProtoMessage() {} + +func (x *Envelope) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Envelope.ProtoReflect.Descriptor instead. +func (*Envelope) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{77} +} + +func (x *Envelope) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *Envelope) GetPayloadType() string { + if x != nil { + return x.PayloadType + } + return "" +} + +func (x *Envelope) GetSignatures() []*EnvelopeSignature { + if x != nil { + return x.Signatures + } + return nil +} + +type EnvelopeSignature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Keyid string `protobuf:"bytes,1,opt,name=keyid,proto3" json:"keyid,omitempty"` + Sig []byte `protobuf:"bytes,2,opt,name=sig,proto3" json:"sig,omitempty"` +} + +func (x *EnvelopeSignature) Reset() { + *x = EnvelopeSignature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvelopeSignature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvelopeSignature) ProtoMessage() {} + +func (x *EnvelopeSignature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvelopeSignature.ProtoReflect.Descriptor instead. +func (*EnvelopeSignature) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{78} +} + +func (x *EnvelopeSignature) GetKeyid() string { + if x != nil { + return x.Keyid + } + return "" +} + +func (x *EnvelopeSignature) GetSig() []byte { + if x != nil { + return x.Sig + } + return nil +} + +type ExportSBOMRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CloudStorageLocation *CloudStorageLocation `protobuf:"bytes,1,opt,name=cloud_storage_location,json=cloudStorageLocation,proto3" json:"cloud_storage_location,omitempty"` +} + +func (x *ExportSBOMRequest) Reset() { + *x = ExportSBOMRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportSBOMRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportSBOMRequest) ProtoMessage() {} + +func (x *ExportSBOMRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportSBOMRequest.ProtoReflect.Descriptor instead. +func (*ExportSBOMRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{79} +} + +func (x *ExportSBOMRequest) GetCloudStorageLocation() *CloudStorageLocation { + if x != nil { + return x.CloudStorageLocation + } + return nil +} + +type ExportSBOMResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DiscoveryOccurrence string `protobuf:"bytes,1,opt,name=discovery_occurrence,json=discoveryOccurrence,proto3" json:"discovery_occurrence,omitempty"` +} + +func (x *ExportSBOMResponse) Reset() { + *x = ExportSBOMResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportSBOMResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportSBOMResponse) ProtoMessage() {} + +func (x *ExportSBOMResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportSBOMResponse.ProtoReflect.Descriptor instead. +func (*ExportSBOMResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{80} +} + +func (x *ExportSBOMResponse) GetDiscoveryOccurrence() string { + if x != nil { + return x.DiscoveryOccurrence + } + return "" +} + +type Expr struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + Expression string `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"` + Location string `protobuf:"bytes,3,opt,name=location,proto3" json:"location,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *Expr) Reset() { + *x = Expr{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Expr) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Expr) ProtoMessage() {} + +func (x *Expr) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Expr.ProtoReflect.Descriptor instead. +func (*Expr) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{81} +} + +func (x *Expr) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Expr) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +func (x *Expr) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *Expr) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +type FileHashes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FileHash []*Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"` +} + +func (x *FileHashes) Reset() { + *x = FileHashes{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileHashes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileHashes) ProtoMessage() {} + +func (x *FileHashes) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileHashes.ProtoReflect.Descriptor instead. +func (*FileHashes) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{82} +} + +func (x *FileHashes) GetFileHash() []*Hash { + if x != nil { + return x.FileHash + } + return nil +} + +type Fingerprint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + V1Name string `protobuf:"bytes,1,opt,name=v1_name,json=v1Name,proto3" json:"v1_name,omitempty"` + V2Blob []string `protobuf:"bytes,2,rep,name=v2_blob,json=v2Blob,proto3" json:"v2_blob,omitempty"` + V2Name string `protobuf:"bytes,3,opt,name=v2_name,json=v2Name,proto3" json:"v2_name,omitempty"` +} + +func (x *Fingerprint) Reset() { + *x = Fingerprint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Fingerprint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fingerprint) ProtoMessage() {} + +func (x *Fingerprint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Fingerprint.ProtoReflect.Descriptor instead. +func (*Fingerprint) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{83} +} + +func (x *Fingerprint) GetV1Name() string { + if x != nil { + return x.V1Name + } + return "" +} + +func (x *Fingerprint) GetV2Blob() []string { + if x != nil { + return x.V2Blob + } + return nil +} + +func (x *Fingerprint) GetV2Name() string { + if x != nil { + return x.V2Name + } + return "" +} + +type FixableTotalByDigest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FixableCount int64 `protobuf:"varint,1,opt,name=fixable_count,json=fixableCount,proto3" json:"fixable_count,omitempty"` + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + Severity string `protobuf:"bytes,3,opt,name=severity,proto3" json:"severity,omitempty"` + TotalCount int64 `protobuf:"varint,4,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"` +} + +func (x *FixableTotalByDigest) Reset() { + *x = FixableTotalByDigest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FixableTotalByDigest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FixableTotalByDigest) ProtoMessage() {} + +func (x *FixableTotalByDigest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FixableTotalByDigest.ProtoReflect.Descriptor instead. +func (*FixableTotalByDigest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{84} +} + +func (x *FixableTotalByDigest) GetFixableCount() int64 { + if x != nil { + return x.FixableCount + } + return 0 +} + +func (x *FixableTotalByDigest) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +func (x *FixableTotalByDigest) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *FixableTotalByDigest) GetTotalCount() int64 { + if x != nil { + return x.TotalCount + } + return 0 +} + +type GerritSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AliasContext *AliasContext `protobuf:"bytes,1,opt,name=alias_context,json=aliasContext,proto3" json:"alias_context,omitempty"` + GerritProject string `protobuf:"bytes,2,opt,name=gerrit_project,json=gerritProject,proto3" json:"gerrit_project,omitempty"` + HostUri string `protobuf:"bytes,3,opt,name=host_uri,json=hostUri,proto3" json:"host_uri,omitempty"` + RevisionId string `protobuf:"bytes,4,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` +} + +func (x *GerritSourceContext) Reset() { + *x = GerritSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GerritSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GerritSourceContext) ProtoMessage() {} + +func (x *GerritSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GerritSourceContext.ProtoReflect.Descriptor instead. +func (*GerritSourceContext) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{85} +} + +func (x *GerritSourceContext) GetAliasContext() *AliasContext { + if x != nil { + return x.AliasContext + } + return nil +} + +func (x *GerritSourceContext) GetGerritProject() string { + if x != nil { + return x.GerritProject + } + return "" +} + +func (x *GerritSourceContext) GetHostUri() string { + if x != nil { + return x.HostUri + } + return "" +} + +func (x *GerritSourceContext) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +type GetIamPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Options *GetPolicyOptions `protobuf:"bytes,1,opt,name=options,proto3" json:"options,omitempty"` +} + +func (x *GetIamPolicyRequest) Reset() { + *x = GetIamPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetIamPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetIamPolicyRequest) ProtoMessage() {} + +func (x *GetIamPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetIamPolicyRequest.ProtoReflect.Descriptor instead. +func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{86} +} + +func (x *GetIamPolicyRequest) GetOptions() *GetPolicyOptions { + if x != nil { + return x.Options + } + return nil +} + +type GetPolicyOptions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RequestedPolicyVersion int32 `protobuf:"varint,1,opt,name=requested_policy_version,json=requestedPolicyVersion,proto3" json:"requested_policy_version,omitempty"` +} + +func (x *GetPolicyOptions) Reset() { + *x = GetPolicyOptions{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPolicyOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPolicyOptions) ProtoMessage() {} + +func (x *GetPolicyOptions) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPolicyOptions.ProtoReflect.Descriptor instead. +func (*GetPolicyOptions) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{87} +} + +func (x *GetPolicyOptions) GetRequestedPolicyVersion() int32 { + if x != nil { + return x.RequestedPolicyVersion + } + return 0 +} + +type GitSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RevisionId string `protobuf:"bytes,1,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *GitSourceContext) Reset() { + *x = GitSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitSourceContext) ProtoMessage() {} + +func (x *GitSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitSourceContext.ProtoReflect.Descriptor instead. +func (*GitSourceContext) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{88} +} + +func (x *GitSourceContext) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +func (x *GitSourceContext) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CreateTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + EndTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` +} + +func (x *GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) Reset() { + *x = GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) ProtoMessage() {} + +func (x *GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata.ProtoReflect.Descriptor instead. +func (*GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{89} +} + +func (x *GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +type GrafeasV1FileLocation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` +} + +func (x *GrafeasV1FileLocation) Reset() { + *x = GrafeasV1FileLocation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1FileLocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1FileLocation) ProtoMessage() {} + +func (x *GrafeasV1FileLocation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1FileLocation.ProtoReflect.Descriptor instead. +func (*GrafeasV1FileLocation) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{90} +} + +func (x *GrafeasV1FileLocation) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[91] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{91} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Environment bool `protobuf:"varint,1,opt,name=environment,proto3" json:"environment,omitempty"` + Materials bool `protobuf:"varint,2,opt,name=materials,proto3" json:"materials,omitempty"` + Parameters bool `protobuf:"varint,3,opt,name=parameters,proto3" json:"parameters,omitempty"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[92] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{92} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) GetParameters() bool { + if x != nil { + return x.Parameters + } + return false +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest map[string]string `protobuf:"bytes,1,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + EntryPoint string `protobuf:"bytes,2,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` + Uri string `protobuf:"bytes,3,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[93] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{93} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConfigSource *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` + Environment map[string]*any1.Any `protobuf:"bytes,2,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Parameters map[string]*any1.Any `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[94] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{94} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) GetConfigSource() *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource { + if x != nil { + return x.ConfigSource + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) GetEnvironment() map[string]*any1.Any { + if x != nil { + return x.Environment + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) GetParameters() map[string]*any1.Any { + if x != nil { + return x.Parameters + } + return nil +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest map[string]string `protobuf:"bytes,1,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[95] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{95} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,1,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + BuildInvocationId string `protobuf:"bytes,2,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + Completeness *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) Reset() { + *x = GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) ProtoMessage() {} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[96] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata.ProtoReflect.Descriptor instead. +func (*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{96} +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) GetCompleteness() *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +type Hash struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Hash) Reset() { + *x = Hash{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hash) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hash) ProtoMessage() {} + +func (x *Hash) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[97] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hash.ProtoReflect.Descriptor instead. +func (*Hash) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{97} +} + +func (x *Hash) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Hash) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +type Hint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HumanReadableName string `protobuf:"bytes,1,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"` +} + +func (x *Hint) Reset() { + *x = Hint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hint) ProtoMessage() {} + +func (x *Hint) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[98] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hint.ProtoReflect.Descriptor instead. +func (*Hint) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{98} +} + +func (x *Hint) GetHumanReadableName() string { + if x != nil { + return x.HumanReadableName + } + return "" +} + +type Identity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Revision int32 `protobuf:"varint,1,opt,name=revision,proto3" json:"revision,omitempty"` + UpdateId string `protobuf:"bytes,2,opt,name=update_id,json=updateId,proto3" json:"update_id,omitempty"` +} + +func (x *Identity) Reset() { + *x = Identity{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Identity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Identity) ProtoMessage() {} + +func (x *Identity) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[99] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Identity.ProtoReflect.Descriptor instead. +func (*Identity) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{99} +} + +func (x *Identity) GetRevision() int32 { + if x != nil { + return x.Revision + } + return 0 +} + +func (x *Identity) GetUpdateId() string { + if x != nil { + return x.UpdateId + } + return "" +} + +type ImageNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Fingerprint *Fingerprint `protobuf:"bytes,1,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` + ResourceUrl string `protobuf:"bytes,2,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"` +} + +func (x *ImageNote) Reset() { + *x = ImageNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImageNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImageNote) ProtoMessage() {} + +func (x *ImageNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[100] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImageNote.ProtoReflect.Descriptor instead. +func (*ImageNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{100} +} + +func (x *ImageNote) GetFingerprint() *Fingerprint { + if x != nil { + return x.Fingerprint + } + return nil +} + +func (x *ImageNote) GetResourceUrl() string { + if x != nil { + return x.ResourceUrl + } + return "" +} + +type ImageOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BaseResourceUrl string `protobuf:"bytes,1,opt,name=base_resource_url,json=baseResourceUrl,proto3" json:"base_resource_url,omitempty"` + Distance int32 `protobuf:"varint,2,opt,name=distance,proto3" json:"distance,omitempty"` + Fingerprint *Fingerprint `protobuf:"bytes,3,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` + LayerInfo []*Layer `protobuf:"bytes,4,rep,name=layer_info,json=layerInfo,proto3" json:"layer_info,omitempty"` +} + +func (x *ImageOccurrence) Reset() { + *x = ImageOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImageOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImageOccurrence) ProtoMessage() {} + +func (x *ImageOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[101] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImageOccurrence.ProtoReflect.Descriptor instead. +func (*ImageOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{101} +} + +func (x *ImageOccurrence) GetBaseResourceUrl() string { + if x != nil { + return x.BaseResourceUrl + } + return "" +} + +func (x *ImageOccurrence) GetDistance() int32 { + if x != nil { + return x.Distance + } + return 0 +} + +func (x *ImageOccurrence) GetFingerprint() *Fingerprint { + if x != nil { + return x.Fingerprint + } + return nil +} + +func (x *ImageOccurrence) GetLayerInfo() []*Layer { + if x != nil { + return x.LayerInfo + } + return nil +} + +type InTotoProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuilderConfig *BuilderConfig `protobuf:"bytes,1,opt,name=builder_config,json=builderConfig,proto3" json:"builder_config,omitempty"` + Materials []string `protobuf:"bytes,2,rep,name=materials,proto3" json:"materials,omitempty"` + Metadata *Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Recipe *Recipe `protobuf:"bytes,4,opt,name=recipe,proto3" json:"recipe,omitempty"` +} + +func (x *InTotoProvenance) Reset() { + *x = InTotoProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoProvenance) ProtoMessage() {} + +func (x *InTotoProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[102] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoProvenance.ProtoReflect.Descriptor instead. +func (*InTotoProvenance) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{102} +} + +func (x *InTotoProvenance) GetBuilderConfig() *BuilderConfig { + if x != nil { + return x.BuilderConfig + } + return nil +} + +func (x *InTotoProvenance) GetMaterials() []string { + if x != nil { + return x.Materials + } + return nil +} + +func (x *InTotoProvenance) GetMetadata() *Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *InTotoProvenance) GetRecipe() *Recipe { + if x != nil { + return x.Recipe + } + return nil +} + +type InTotoSlsaProvenanceV1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + XType string `protobuf:"bytes,1,opt,name=_type,proto3" json:"_type,omitempty"` + Predicate *SlsaProvenanceV1 `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"` + PredicateType string `protobuf:"bytes,3,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + Subject []*Subject `protobuf:"bytes,4,rep,name=subject,proto3" json:"subject,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1) Reset() { + *x = InTotoSlsaProvenanceV1{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[103] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{103} +} + +func (x *InTotoSlsaProvenanceV1) GetXType() string { + if x != nil { + return x.XType + } + return "" +} + +func (x *InTotoSlsaProvenanceV1) GetPredicate() *SlsaProvenanceV1 { + if x != nil { + return x.Predicate + } + return nil +} + +func (x *InTotoSlsaProvenanceV1) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (x *InTotoSlsaProvenanceV1) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +type InTotoStatement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + XType string `protobuf:"bytes,1,opt,name=_type,proto3" json:"_type,omitempty"` + PredicateType string `protobuf:"bytes,2,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + Provenance *InTotoProvenance `protobuf:"bytes,3,opt,name=provenance,proto3" json:"provenance,omitempty"` + SlsaProvenance *SlsaProvenance `protobuf:"bytes,4,opt,name=slsa_provenance,json=slsaProvenance,proto3" json:"slsa_provenance,omitempty"` + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `protobuf:"bytes,5,opt,name=slsa_provenance_zero_two,json=slsaProvenanceZeroTwo,proto3" json:"slsa_provenance_zero_two,omitempty"` + Subject []*Subject `protobuf:"bytes,6,rep,name=subject,proto3" json:"subject,omitempty"` +} + +func (x *InTotoStatement) Reset() { + *x = InTotoStatement{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoStatement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoStatement) ProtoMessage() {} + +func (x *InTotoStatement) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[104] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoStatement.ProtoReflect.Descriptor instead. +func (*InTotoStatement) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{104} +} + +func (x *InTotoStatement) GetXType() string { + if x != nil { + return x.XType + } + return "" +} + +func (x *InTotoStatement) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (x *InTotoStatement) GetProvenance() *InTotoProvenance { + if x != nil { + return x.Provenance + } + return nil +} + +func (x *InTotoStatement) GetSlsaProvenance() *SlsaProvenance { + if x != nil { + return x.SlsaProvenance + } + return nil +} + +func (x *InTotoStatement) GetSlsaProvenanceZeroTwo() *SlsaProvenanceZeroTwo { + if x != nil { + return x.SlsaProvenanceZeroTwo + } + return nil +} + +func (x *InTotoStatement) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +type Justification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Details string `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + JustificationType string `protobuf:"bytes,2,opt,name=justification_type,json=justificationType,proto3" json:"justification_type,omitempty"` +} + +func (x *Justification) Reset() { + *x = Justification{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Justification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Justification) ProtoMessage() {} + +func (x *Justification) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[105] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Justification.ProtoReflect.Descriptor instead. +func (*Justification) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{105} +} + +func (x *Justification) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *Justification) GetJustificationType() string { + if x != nil { + return x.JustificationType + } + return "" +} + +type Jwt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CompactJwt string `protobuf:"bytes,1,opt,name=compact_jwt,json=compactJwt,proto3" json:"compact_jwt,omitempty"` +} + +func (x *Jwt) Reset() { + *x = Jwt{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Jwt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Jwt) ProtoMessage() {} + +func (x *Jwt) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[106] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Jwt.ProtoReflect.Descriptor instead. +func (*Jwt) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{106} +} + +func (x *Jwt) GetCompactJwt() string { + if x != nil { + return x.CompactJwt + } + return "" +} + +type KnowledgeBase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *KnowledgeBase) Reset() { + *x = KnowledgeBase{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KnowledgeBase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KnowledgeBase) ProtoMessage() {} + +func (x *KnowledgeBase) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[107] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use KnowledgeBase.ProtoReflect.Descriptor instead. +func (*KnowledgeBase) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{107} +} + +func (x *KnowledgeBase) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *KnowledgeBase) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type Layer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arguments string `protobuf:"bytes,1,opt,name=arguments,proto3" json:"arguments,omitempty"` + Directive string `protobuf:"bytes,2,opt,name=directive,proto3" json:"directive,omitempty"` +} + +func (x *Layer) Reset() { + *x = Layer{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Layer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Layer) ProtoMessage() {} + +func (x *Layer) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[108] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Layer.ProtoReflect.Descriptor instead. +func (*Layer) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{108} +} + +func (x *Layer) GetArguments() string { + if x != nil { + return x.Arguments + } + return "" +} + +func (x *Layer) GetDirective() string { + if x != nil { + return x.Directive + } + return "" +} + +type License struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Comments string `protobuf:"bytes,1,opt,name=comments,proto3" json:"comments,omitempty"` + Expression string `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"` +} + +func (x *License) Reset() { + *x = License{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *License) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*License) ProtoMessage() {} + +func (x *License) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[109] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use License.ProtoReflect.Descriptor instead. +func (*License) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{109} +} + +func (x *License) GetComments() string { + if x != nil { + return x.Comments + } + return "" +} + +func (x *License) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +type ListNoteOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Occurrences []*Occurrence `protobuf:"bytes,2,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *ListNoteOccurrencesResponse) Reset() { + *x = ListNoteOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNoteOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNoteOccurrencesResponse) ProtoMessage() {} + +func (x *ListNoteOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[110] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNoteOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*ListNoteOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{110} +} + +func (x *ListNoteOccurrencesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListNoteOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +type ListNotesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Notes []*Note `protobuf:"bytes,2,rep,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *ListNotesResponse) Reset() { + *x = ListNotesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotesResponse) ProtoMessage() {} + +func (x *ListNotesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[111] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNotesResponse.ProtoReflect.Descriptor instead. +func (*ListNotesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{111} +} + +func (x *ListNotesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListNotesResponse) GetNotes() []*Note { + if x != nil { + return x.Notes + } + return nil +} + +type ListOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NextPageToken string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Occurrences []*Occurrence `protobuf:"bytes,2,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *ListOccurrencesResponse) Reset() { + *x = ListOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOccurrencesResponse) ProtoMessage() {} + +func (x *ListOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[112] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*ListOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{112} +} + +func (x *ListOccurrencesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +func (x *ListOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +type Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Version *Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *Location) Reset() { + *x = Location{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Location) ProtoMessage() {} + +func (x *Location) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[113] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Location.ProtoReflect.Descriptor instead. +func (*Location) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{113} +} + +func (x *Location) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *Location) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *Location) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +type Material struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest map[string]string `protobuf:"bytes,1,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *Material) Reset() { + *x = Material{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Material) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Material) ProtoMessage() {} + +func (x *Material) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[114] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Material.ProtoReflect.Descriptor instead. +func (*Material) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{114} +} + +func (x *Material) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *Material) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,1,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + BuildInvocationId string `protobuf:"bytes,2,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + Completeness *Completeness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *Metadata) Reset() { + *x = Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metadata) ProtoMessage() {} + +func (x *Metadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[115] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. +func (*Metadata) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{115} +} + +func (x *Metadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *Metadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *Metadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *Metadata) GetCompleteness() *Completeness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *Metadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +type NonCompliantFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DisplayCommand string `protobuf:"bytes,1,opt,name=display_command,json=displayCommand,proto3" json:"display_command,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (x *NonCompliantFile) Reset() { + *x = NonCompliantFile{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NonCompliantFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NonCompliantFile) ProtoMessage() {} + +func (x *NonCompliantFile) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[116] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NonCompliantFile.ProtoReflect.Descriptor instead. +func (*NonCompliantFile) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{116} +} + +func (x *NonCompliantFile) GetDisplayCommand() string { + if x != nil { + return x.DisplayCommand + } + return "" +} + +func (x *NonCompliantFile) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *NonCompliantFile) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type Note struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attestation *AttestationNote `protobuf:"bytes,1,opt,name=attestation,proto3" json:"attestation,omitempty"` + Build *BuildNote `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"` + Compliance *ComplianceNote `protobuf:"bytes,3,opt,name=compliance,proto3" json:"compliance,omitempty"` + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + Deployment *DeploymentNote `protobuf:"bytes,5,opt,name=deployment,proto3" json:"deployment,omitempty"` + Discovery *DiscoveryNote `protobuf:"bytes,6,opt,name=discovery,proto3" json:"discovery,omitempty"` + DsseAttestation *DSSEAttestationNote `protobuf:"bytes,7,opt,name=dsse_attestation,json=dsseAttestation,proto3" json:"dsse_attestation,omitempty"` + ExpirationTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + Image *ImageNote `protobuf:"bytes,9,opt,name=image,proto3" json:"image,omitempty"` + Kind string `protobuf:"bytes,10,opt,name=kind,proto3" json:"kind,omitempty"` + LongDescription string `protobuf:"bytes,11,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + Name string `protobuf:"bytes,12,opt,name=name,proto3" json:"name,omitempty"` + Package *PackageNote `protobuf:"bytes,13,opt,name=package,proto3" json:"package,omitempty"` + RelatedNoteNames []string `protobuf:"bytes,14,rep,name=related_note_names,json=relatedNoteNames,proto3" json:"related_note_names,omitempty"` + RelatedUrl []*RelatedUrl `protobuf:"bytes,15,rep,name=related_url,json=relatedUrl,proto3" json:"related_url,omitempty"` + SbomReference *SBOMReferenceNote `protobuf:"bytes,16,opt,name=sbom_reference,json=sbomReference,proto3" json:"sbom_reference,omitempty"` + ShortDescription string `protobuf:"bytes,17,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + UpdateTime *timestamp.Timestamp `protobuf:"bytes,18,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + Upgrade *UpgradeNote `protobuf:"bytes,19,opt,name=upgrade,proto3" json:"upgrade,omitempty"` + Vulnerability *VulnerabilityNote `protobuf:"bytes,20,opt,name=vulnerability,proto3" json:"vulnerability,omitempty"` + VulnerabilityAssessment *VulnerabilityAssessmentNote `protobuf:"bytes,21,opt,name=vulnerability_assessment,json=vulnerabilityAssessment,proto3" json:"vulnerability_assessment,omitempty"` +} + +func (x *Note) Reset() { + *x = Note{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Note) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Note) ProtoMessage() {} + +func (x *Note) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[117] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Note.ProtoReflect.Descriptor instead. +func (*Note) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{117} +} + +func (x *Note) GetAttestation() *AttestationNote { + if x != nil { + return x.Attestation + } + return nil +} + +func (x *Note) GetBuild() *BuildNote { + if x != nil { + return x.Build + } + return nil +} + +func (x *Note) GetCompliance() *ComplianceNote { + if x != nil { + return x.Compliance + } + return nil +} + +func (x *Note) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Note) GetDeployment() *DeploymentNote { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *Note) GetDiscovery() *DiscoveryNote { + if x != nil { + return x.Discovery + } + return nil +} + +func (x *Note) GetDsseAttestation() *DSSEAttestationNote { + if x != nil { + return x.DsseAttestation + } + return nil +} + +func (x *Note) GetExpirationTime() *timestamp.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *Note) GetImage() *ImageNote { + if x != nil { + return x.Image + } + return nil +} + +func (x *Note) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Note) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *Note) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Note) GetPackage() *PackageNote { + if x != nil { + return x.Package + } + return nil +} + +func (x *Note) GetRelatedNoteNames() []string { + if x != nil { + return x.RelatedNoteNames + } + return nil +} + +func (x *Note) GetRelatedUrl() []*RelatedUrl { + if x != nil { + return x.RelatedUrl + } + return nil +} + +func (x *Note) GetSbomReference() *SBOMReferenceNote { + if x != nil { + return x.SbomReference + } + return nil +} + +func (x *Note) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *Note) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Note) GetUpgrade() *UpgradeNote { + if x != nil { + return x.Upgrade + } + return nil +} + +func (x *Note) GetVulnerability() *VulnerabilityNote { + if x != nil { + return x.Vulnerability + } + return nil +} + +func (x *Note) GetVulnerabilityAssessment() *VulnerabilityAssessmentNote { + if x != nil { + return x.VulnerabilityAssessment + } + return nil +} + +type Occurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Attestation *AttestationOccurrence `protobuf:"bytes,1,opt,name=attestation,proto3" json:"attestation,omitempty"` + Build *BuildOccurrence `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"` + Compliance *ComplianceOccurrence `protobuf:"bytes,3,opt,name=compliance,proto3" json:"compliance,omitempty"` + CreateTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + Deployment *DeploymentOccurrence `protobuf:"bytes,5,opt,name=deployment,proto3" json:"deployment,omitempty"` + Discovery *DiscoveryOccurrence `protobuf:"bytes,6,opt,name=discovery,proto3" json:"discovery,omitempty"` + DsseAttestation *DSSEAttestationOccurrence `protobuf:"bytes,7,opt,name=dsse_attestation,json=dsseAttestation,proto3" json:"dsse_attestation,omitempty"` + Envelope *Envelope `protobuf:"bytes,8,opt,name=envelope,proto3" json:"envelope,omitempty"` + Image *ImageOccurrence `protobuf:"bytes,9,opt,name=image,proto3" json:"image,omitempty"` + Kind string `protobuf:"bytes,10,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"` + NoteName string `protobuf:"bytes,12,opt,name=note_name,json=noteName,proto3" json:"note_name,omitempty"` + Package *PackageOccurrence `protobuf:"bytes,13,opt,name=package,proto3" json:"package,omitempty"` + Remediation string `protobuf:"bytes,14,opt,name=remediation,proto3" json:"remediation,omitempty"` + ResourceUri string `protobuf:"bytes,15,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + SbomReference *SBOMReferenceOccurrence `protobuf:"bytes,16,opt,name=sbom_reference,json=sbomReference,proto3" json:"sbom_reference,omitempty"` + UpdateTime *timestamp.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + Upgrade *UpgradeOccurrence `protobuf:"bytes,18,opt,name=upgrade,proto3" json:"upgrade,omitempty"` + Vulnerability *VulnerabilityOccurrence `protobuf:"bytes,19,opt,name=vulnerability,proto3" json:"vulnerability,omitempty"` +} + +func (x *Occurrence) Reset() { + *x = Occurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Occurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Occurrence) ProtoMessage() {} + +func (x *Occurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[118] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Occurrence.ProtoReflect.Descriptor instead. +func (*Occurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{118} +} + +func (x *Occurrence) GetAttestation() *AttestationOccurrence { + if x != nil { + return x.Attestation + } + return nil +} + +func (x *Occurrence) GetBuild() *BuildOccurrence { + if x != nil { + return x.Build + } + return nil +} + +func (x *Occurrence) GetCompliance() *ComplianceOccurrence { + if x != nil { + return x.Compliance + } + return nil +} + +func (x *Occurrence) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Occurrence) GetDeployment() *DeploymentOccurrence { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *Occurrence) GetDiscovery() *DiscoveryOccurrence { + if x != nil { + return x.Discovery + } + return nil +} + +func (x *Occurrence) GetDsseAttestation() *DSSEAttestationOccurrence { + if x != nil { + return x.DsseAttestation + } + return nil +} + +func (x *Occurrence) GetEnvelope() *Envelope { + if x != nil { + return x.Envelope + } + return nil +} + +func (x *Occurrence) GetImage() *ImageOccurrence { + if x != nil { + return x.Image + } + return nil +} + +func (x *Occurrence) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Occurrence) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Occurrence) GetNoteName() string { + if x != nil { + return x.NoteName + } + return "" +} + +func (x *Occurrence) GetPackage() *PackageOccurrence { + if x != nil { + return x.Package + } + return nil +} + +func (x *Occurrence) GetRemediation() string { + if x != nil { + return x.Remediation + } + return "" +} + +func (x *Occurrence) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +func (x *Occurrence) GetSbomReference() *SBOMReferenceOccurrence { + if x != nil { + return x.SbomReference + } + return nil +} + +func (x *Occurrence) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Occurrence) GetUpgrade() *UpgradeOccurrence { + if x != nil { + return x.Upgrade + } + return nil +} + +func (x *Occurrence) GetVulnerability() *VulnerabilityOccurrence { + if x != nil { + return x.Vulnerability + } + return nil +} + +type PackageIssue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AffectedCpeUri string `protobuf:"bytes,1,opt,name=affected_cpe_uri,json=affectedCpeUri,proto3" json:"affected_cpe_uri,omitempty"` + AffectedPackage string `protobuf:"bytes,2,opt,name=affected_package,json=affectedPackage,proto3" json:"affected_package,omitempty"` + AffectedVersion *Version `protobuf:"bytes,3,opt,name=affected_version,json=affectedVersion,proto3" json:"affected_version,omitempty"` + EffectiveSeverity string `protobuf:"bytes,4,opt,name=effective_severity,json=effectiveSeverity,proto3" json:"effective_severity,omitempty"` + FileLocation []*GrafeasV1FileLocation `protobuf:"bytes,5,rep,name=file_location,json=fileLocation,proto3" json:"file_location,omitempty"` + FixAvailable bool `protobuf:"varint,6,opt,name=fix_available,json=fixAvailable,proto3" json:"fix_available,omitempty"` + FixedCpeUri string `protobuf:"bytes,7,opt,name=fixed_cpe_uri,json=fixedCpeUri,proto3" json:"fixed_cpe_uri,omitempty"` + FixedPackage string `protobuf:"bytes,8,opt,name=fixed_package,json=fixedPackage,proto3" json:"fixed_package,omitempty"` + FixedVersion *Version `protobuf:"bytes,9,opt,name=fixed_version,json=fixedVersion,proto3" json:"fixed_version,omitempty"` + PackageType string `protobuf:"bytes,10,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` +} + +func (x *PackageIssue) Reset() { + *x = PackageIssue{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PackageIssue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageIssue) ProtoMessage() {} + +func (x *PackageIssue) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[119] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageIssue.ProtoReflect.Descriptor instead. +func (*PackageIssue) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{119} +} + +func (x *PackageIssue) GetAffectedCpeUri() string { + if x != nil { + return x.AffectedCpeUri + } + return "" +} + +func (x *PackageIssue) GetAffectedPackage() string { + if x != nil { + return x.AffectedPackage + } + return "" +} + +func (x *PackageIssue) GetAffectedVersion() *Version { + if x != nil { + return x.AffectedVersion + } + return nil +} + +func (x *PackageIssue) GetEffectiveSeverity() string { + if x != nil { + return x.EffectiveSeverity + } + return "" +} + +func (x *PackageIssue) GetFileLocation() []*GrafeasV1FileLocation { + if x != nil { + return x.FileLocation + } + return nil +} + +func (x *PackageIssue) GetFixAvailable() bool { + if x != nil { + return x.FixAvailable + } + return false +} + +func (x *PackageIssue) GetFixedCpeUri() string { + if x != nil { + return x.FixedCpeUri + } + return "" +} + +func (x *PackageIssue) GetFixedPackage() string { + if x != nil { + return x.FixedPackage + } + return "" +} + +func (x *PackageIssue) GetFixedVersion() *Version { + if x != nil { + return x.FixedVersion + } + return nil +} + +func (x *PackageIssue) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +type PackageNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"` + CpeUri string `protobuf:"bytes,2,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Digest []*Digest `protobuf:"bytes,4,rep,name=digest,proto3" json:"digest,omitempty"` + Distribution []*Distribution `protobuf:"bytes,5,rep,name=distribution,proto3" json:"distribution,omitempty"` + License *License `protobuf:"bytes,6,opt,name=license,proto3" json:"license,omitempty"` + Maintainer string `protobuf:"bytes,7,opt,name=maintainer,proto3" json:"maintainer,omitempty"` + Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"` + PackageType string `protobuf:"bytes,9,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + Url string `protobuf:"bytes,10,opt,name=url,proto3" json:"url,omitempty"` + Version *Version `protobuf:"bytes,11,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PackageNote) Reset() { + *x = PackageNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PackageNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageNote) ProtoMessage() {} + +func (x *PackageNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[120] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageNote.ProtoReflect.Descriptor instead. +func (*PackageNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{120} +} + +func (x *PackageNote) GetArchitecture() string { + if x != nil { + return x.Architecture + } + return "" +} + +func (x *PackageNote) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *PackageNote) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PackageNote) GetDigest() []*Digest { + if x != nil { + return x.Digest + } + return nil +} + +func (x *PackageNote) GetDistribution() []*Distribution { + if x != nil { + return x.Distribution + } + return nil +} + +func (x *PackageNote) GetLicense() *License { + if x != nil { + return x.License + } + return nil +} + +func (x *PackageNote) GetMaintainer() string { + if x != nil { + return x.Maintainer + } + return "" +} + +func (x *PackageNote) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PackageNote) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *PackageNote) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PackageNote) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +type PackageOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Architecture string `protobuf:"bytes,1,opt,name=architecture,proto3" json:"architecture,omitempty"` + CpeUri string `protobuf:"bytes,2,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + License *License `protobuf:"bytes,3,opt,name=license,proto3" json:"license,omitempty"` + Location []*Location `protobuf:"bytes,4,rep,name=location,proto3" json:"location,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + PackageType string `protobuf:"bytes,6,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + Version *Version `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PackageOccurrence) Reset() { + *x = PackageOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PackageOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageOccurrence) ProtoMessage() {} + +func (x *PackageOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[121] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageOccurrence.ProtoReflect.Descriptor instead. +func (*PackageOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{121} +} + +func (x *PackageOccurrence) GetArchitecture() string { + if x != nil { + return x.Architecture + } + return "" +} + +func (x *PackageOccurrence) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *PackageOccurrence) GetLicense() *License { + if x != nil { + return x.License + } + return nil +} + +func (x *PackageOccurrence) GetLocation() []*Location { + if x != nil { + return x.Location + } + return nil +} + +func (x *PackageOccurrence) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PackageOccurrence) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *PackageOccurrence) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +type Policy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Bindings []*Binding `protobuf:"bytes,1,rep,name=bindings,proto3" json:"bindings,omitempty"` + Etag []byte `protobuf:"bytes,2,opt,name=etag,proto3" json:"etag,omitempty"` + Version int32 `protobuf:"varint,3,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *Policy) Reset() { + *x = Policy{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Policy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Policy) ProtoMessage() {} + +func (x *Policy) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[122] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Policy.ProtoReflect.Descriptor instead. +func (*Policy) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{122} +} + +func (x *Policy) GetBindings() []*Binding { + if x != nil { + return x.Bindings + } + return nil +} + +func (x *Policy) GetEtag() []byte { + if x != nil { + return x.Etag + } + return nil +} + +func (x *Policy) GetVersion() int32 { + if x != nil { + return x.Version + } + return 0 +} + +type Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GenericUri string `protobuf:"bytes,1,opt,name=generic_uri,json=genericUri,proto3" json:"generic_uri,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Product) Reset() { + *x = Product{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Product) ProtoMessage() {} + +func (x *Product) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[123] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Product.ProtoReflect.Descriptor instead. +func (*Product) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{123} +} + +func (x *Product) GetGenericUri() string { + if x != nil { + return x.GenericUri + } + return "" +} + +func (x *Product) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ProjectRepoId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"` +} + +func (x *ProjectRepoId) Reset() { + *x = ProjectRepoId{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectRepoId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectRepoId) ProtoMessage() {} + +func (x *ProjectRepoId) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[124] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProjectRepoId.ProtoReflect.Descriptor instead. +func (*ProjectRepoId) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{124} +} + +func (x *ProjectRepoId) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ProjectRepoId) GetRepoName() string { + if x != nil { + return x.RepoName + } + return "" +} + +type ProvenanceBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuilderDependencies []*ResourceDescriptor `protobuf:"bytes,1,rep,name=builder_dependencies,json=builderDependencies,proto3" json:"builder_dependencies,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + Version map[string]string `protobuf:"bytes,3,rep,name=version,proto3" json:"version,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *ProvenanceBuilder) Reset() { + *x = ProvenanceBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProvenanceBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProvenanceBuilder) ProtoMessage() {} + +func (x *ProvenanceBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[125] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProvenanceBuilder.ProtoReflect.Descriptor instead. +func (*ProvenanceBuilder) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{125} +} + +func (x *ProvenanceBuilder) GetBuilderDependencies() []*ResourceDescriptor { + if x != nil { + return x.BuilderDependencies + } + return nil +} + +func (x *ProvenanceBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ProvenanceBuilder) GetVersion() map[string]string { + if x != nil { + return x.Version + } + return nil +} + +type Publisher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + IssuingAuthority string `protobuf:"bytes,1,opt,name=issuing_authority,json=issuingAuthority,proto3" json:"issuing_authority,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PublisherNamespace string `protobuf:"bytes,3,opt,name=publisher_namespace,json=publisherNamespace,proto3" json:"publisher_namespace,omitempty"` +} + +func (x *Publisher) Reset() { + *x = Publisher{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Publisher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Publisher) ProtoMessage() {} + +func (x *Publisher) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[126] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Publisher.ProtoReflect.Descriptor instead. +func (*Publisher) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{126} +} + +func (x *Publisher) GetIssuingAuthority() string { + if x != nil { + return x.IssuingAuthority + } + return "" +} + +func (x *Publisher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Publisher) GetPublisherNamespace() string { + if x != nil { + return x.PublisherNamespace + } + return "" +} + +type Recipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arguments []*any1.Any `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty"` + DefinedInMaterial int64 `protobuf:"varint,2,opt,name=defined_in_material,json=definedInMaterial,proto3" json:"defined_in_material,omitempty"` + EntryPoint string `protobuf:"bytes,3,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` + Environment []*any1.Any `protobuf:"bytes,4,rep,name=environment,proto3" json:"environment,omitempty"` + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *Recipe) Reset() { + *x = Recipe{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Recipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Recipe) ProtoMessage() {} + +func (x *Recipe) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[127] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Recipe.ProtoReflect.Descriptor instead. +func (*Recipe) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{127} +} + +func (x *Recipe) GetArguments() []*any1.Any { + if x != nil { + return x.Arguments + } + return nil +} + +func (x *Recipe) GetDefinedInMaterial() int64 { + if x != nil { + return x.DefinedInMaterial + } + return 0 +} + +func (x *Recipe) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +func (x *Recipe) GetEnvironment() []*any1.Any { + if x != nil { + return x.Environment + } + return nil +} + +func (x *Recipe) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type RelatedUrl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *RelatedUrl) Reset() { + *x = RelatedUrl{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RelatedUrl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RelatedUrl) ProtoMessage() {} + +func (x *RelatedUrl) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[128] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RelatedUrl.ProtoReflect.Descriptor instead. +func (*RelatedUrl) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{128} +} + +func (x *RelatedUrl) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +func (x *RelatedUrl) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +type Remediation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Details string `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + RemediationType string `protobuf:"bytes,2,opt,name=remediation_type,json=remediationType,proto3" json:"remediation_type,omitempty"` + RemediationUri *RelatedUrl `protobuf:"bytes,3,opt,name=remediation_uri,json=remediationUri,proto3" json:"remediation_uri,omitempty"` +} + +func (x *Remediation) Reset() { + *x = Remediation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Remediation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Remediation) ProtoMessage() {} + +func (x *Remediation) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[129] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Remediation.ProtoReflect.Descriptor instead. +func (*Remediation) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{129} +} + +func (x *Remediation) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *Remediation) GetRemediationType() string { + if x != nil { + return x.RemediationType + } + return "" +} + +func (x *Remediation) GetRemediationUri() *RelatedUrl { + if x != nil { + return x.RemediationUri + } + return nil +} + +type RepoId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProjectRepoId *ProjectRepoId `protobuf:"bytes,1,opt,name=project_repo_id,json=projectRepoId,proto3" json:"project_repo_id,omitempty"` + Uid string `protobuf:"bytes,2,opt,name=uid,proto3" json:"uid,omitempty"` +} + +func (x *RepoId) Reset() { + *x = RepoId{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepoId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepoId) ProtoMessage() {} + +func (x *RepoId) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[130] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepoId.ProtoReflect.Descriptor instead. +func (*RepoId) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{130} +} + +func (x *RepoId) GetProjectRepoId() *ProjectRepoId { + if x != nil { + return x.ProjectRepoId + } + return nil +} + +func (x *RepoId) GetUid() string { + if x != nil { + return x.Uid + } + return "" +} + +type ResourceDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Annotations map[string]*any1.Any `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Content []byte `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + Digest map[string]string `protobuf:"bytes,3,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + DownloadLocation string `protobuf:"bytes,4,opt,name=download_location,json=downloadLocation,proto3" json:"download_location,omitempty"` + MediaType string `protobuf:"bytes,5,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"` + Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"` + Uri string `protobuf:"bytes,7,opt,name=uri,proto3" json:"uri,omitempty"` +} + +func (x *ResourceDescriptor) Reset() { + *x = ResourceDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceDescriptor) ProtoMessage() {} + +func (x *ResourceDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[131] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceDescriptor.ProtoReflect.Descriptor instead. +func (*ResourceDescriptor) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{131} +} + +func (x *ResourceDescriptor) GetAnnotations() map[string]*any1.Any { + if x != nil { + return x.Annotations + } + return nil +} + +func (x *ResourceDescriptor) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *ResourceDescriptor) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *ResourceDescriptor) GetDownloadLocation() string { + if x != nil { + return x.DownloadLocation + } + return "" +} + +func (x *ResourceDescriptor) GetMediaType() string { + if x != nil { + return x.MediaType + } + return "" +} + +func (x *ResourceDescriptor) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ResourceDescriptor) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +type RunDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Builder *ProvenanceBuilder `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"` + Byproducts []*ResourceDescriptor `protobuf:"bytes,2,rep,name=byproducts,proto3" json:"byproducts,omitempty"` + Metadata *BuildMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *RunDetails) Reset() { + *x = RunDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RunDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RunDetails) ProtoMessage() {} + +func (x *RunDetails) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[132] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RunDetails.ProtoReflect.Descriptor instead. +func (*RunDetails) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{132} +} + +func (x *RunDetails) GetBuilder() *ProvenanceBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *RunDetails) GetByproducts() []*ResourceDescriptor { + if x != nil { + return x.Byproducts + } + return nil +} + +func (x *RunDetails) GetMetadata() *BuildMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +type SBOMReferenceNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Format string `protobuf:"bytes,1,opt,name=format,proto3" json:"format,omitempty"` + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *SBOMReferenceNote) Reset() { + *x = SBOMReferenceNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SBOMReferenceNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SBOMReferenceNote) ProtoMessage() {} + +func (x *SBOMReferenceNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[133] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SBOMReferenceNote.ProtoReflect.Descriptor instead. +func (*SBOMReferenceNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{133} +} + +func (x *SBOMReferenceNote) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *SBOMReferenceNote) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type SBOMReferenceOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload *SbomReferenceIntotoPayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + PayloadType string `protobuf:"bytes,2,opt,name=payload_type,json=payloadType,proto3" json:"payload_type,omitempty"` + Signatures []*EnvelopeSignature `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"` +} + +func (x *SBOMReferenceOccurrence) Reset() { + *x = SBOMReferenceOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SBOMReferenceOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SBOMReferenceOccurrence) ProtoMessage() {} + +func (x *SBOMReferenceOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[134] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SBOMReferenceOccurrence.ProtoReflect.Descriptor instead. +func (*SBOMReferenceOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{134} +} + +func (x *SBOMReferenceOccurrence) GetPayload() *SbomReferenceIntotoPayload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *SBOMReferenceOccurrence) GetPayloadType() string { + if x != nil { + return x.PayloadType + } + return "" +} + +func (x *SBOMReferenceOccurrence) GetSignatures() []*EnvelopeSignature { + if x != nil { + return x.Signatures + } + return nil +} + +type SBOMStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` + SbomState string `protobuf:"bytes,2,opt,name=sbom_state,json=sbomState,proto3" json:"sbom_state,omitempty"` +} + +func (x *SBOMStatus) Reset() { + *x = SBOMStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SBOMStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SBOMStatus) ProtoMessage() {} + +func (x *SBOMStatus) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[135] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SBOMStatus.ProtoReflect.Descriptor instead. +func (*SBOMStatus) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{135} +} + +func (x *SBOMStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +func (x *SBOMStatus) GetSbomState() string { + if x != nil { + return x.SbomState + } + return "" +} + +type SbomReferenceIntotoPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + XType string `protobuf:"bytes,1,opt,name=_type,proto3" json:"_type,omitempty"` + Predicate *SbomReferenceIntotoPredicate `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"` + PredicateType string `protobuf:"bytes,3,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + Subject []*Subject `protobuf:"bytes,4,rep,name=subject,proto3" json:"subject,omitempty"` +} + +func (x *SbomReferenceIntotoPayload) Reset() { + *x = SbomReferenceIntotoPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SbomReferenceIntotoPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SbomReferenceIntotoPayload) ProtoMessage() {} + +func (x *SbomReferenceIntotoPayload) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[136] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SbomReferenceIntotoPayload.ProtoReflect.Descriptor instead. +func (*SbomReferenceIntotoPayload) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{136} +} + +func (x *SbomReferenceIntotoPayload) GetXType() string { + if x != nil { + return x.XType + } + return "" +} + +func (x *SbomReferenceIntotoPayload) GetPredicate() *SbomReferenceIntotoPredicate { + if x != nil { + return x.Predicate + } + return nil +} + +func (x *SbomReferenceIntotoPayload) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (x *SbomReferenceIntotoPayload) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +type SbomReferenceIntotoPredicate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest map[string]string `protobuf:"bytes,1,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` + MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + ReferrerId string `protobuf:"bytes,4,opt,name=referrer_id,json=referrerId,proto3" json:"referrer_id,omitempty"` +} + +func (x *SbomReferenceIntotoPredicate) Reset() { + *x = SbomReferenceIntotoPredicate{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SbomReferenceIntotoPredicate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SbomReferenceIntotoPredicate) ProtoMessage() {} + +func (x *SbomReferenceIntotoPredicate) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[137] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SbomReferenceIntotoPredicate.ProtoReflect.Descriptor instead. +func (*SbomReferenceIntotoPredicate) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{137} +} + +func (x *SbomReferenceIntotoPredicate) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *SbomReferenceIntotoPredicate) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SbomReferenceIntotoPredicate) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *SbomReferenceIntotoPredicate) GetReferrerId() string { + if x != nil { + return x.ReferrerId + } + return "" +} + +type SetIamPolicyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` +} + +func (x *SetIamPolicyRequest) Reset() { + *x = SetIamPolicyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SetIamPolicyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetIamPolicyRequest) ProtoMessage() {} + +func (x *SetIamPolicyRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[138] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetIamPolicyRequest.ProtoReflect.Descriptor instead. +func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{138} +} + +func (x *SetIamPolicyRequest) GetPolicy() *Policy { + if x != nil { + return x.Policy + } + return nil +} + +type Signature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PublicKeyId string `protobuf:"bytes,1,opt,name=public_key_id,json=publicKeyId,proto3" json:"public_key_id,omitempty"` + Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` +} + +func (x *Signature) Reset() { + *x = Signature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Signature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Signature) ProtoMessage() {} + +func (x *Signature) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[139] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Signature.ProtoReflect.Descriptor instead. +func (*Signature) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{139} +} + +func (x *Signature) GetPublicKeyId() string { + if x != nil { + return x.PublicKeyId + } + return "" +} + +func (x *Signature) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +type SlsaBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *SlsaBuilder) Reset() { + *x = SlsaBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaBuilder) ProtoMessage() {} + +func (x *SlsaBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[140] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaBuilder.ProtoReflect.Descriptor instead. +func (*SlsaBuilder) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{140} +} + +func (x *SlsaBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type SlsaCompleteness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arguments bool `protobuf:"varint,1,opt,name=arguments,proto3" json:"arguments,omitempty"` + Environment bool `protobuf:"varint,2,opt,name=environment,proto3" json:"environment,omitempty"` + Materials bool `protobuf:"varint,3,opt,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *SlsaCompleteness) Reset() { + *x = SlsaCompleteness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaCompleteness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaCompleteness) ProtoMessage() {} + +func (x *SlsaCompleteness) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[141] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaCompleteness.ProtoReflect.Descriptor instead. +func (*SlsaCompleteness) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{141} +} + +func (x *SlsaCompleteness) GetArguments() bool { + if x != nil { + return x.Arguments + } + return false +} + +func (x *SlsaCompleteness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *SlsaCompleteness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +type SlsaMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,1,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + BuildInvocationId string `protobuf:"bytes,2,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + Completeness *SlsaCompleteness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *SlsaMetadata) Reset() { + *x = SlsaMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaMetadata) ProtoMessage() {} + +func (x *SlsaMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[142] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaMetadata.ProtoReflect.Descriptor instead. +func (*SlsaMetadata) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{142} +} + +func (x *SlsaMetadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *SlsaMetadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *SlsaMetadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *SlsaMetadata) GetCompleteness() *SlsaCompleteness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *SlsaMetadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +type SlsaProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Builder *SlsaBuilder `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"` + Materials []*Material `protobuf:"bytes,2,rep,name=materials,proto3" json:"materials,omitempty"` + Metadata *SlsaMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Recipe *SlsaRecipe `protobuf:"bytes,4,opt,name=recipe,proto3" json:"recipe,omitempty"` +} + +func (x *SlsaProvenance) Reset() { + *x = SlsaProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance) ProtoMessage() {} + +func (x *SlsaProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[143] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance.ProtoReflect.Descriptor instead. +func (*SlsaProvenance) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{143} +} + +func (x *SlsaProvenance) GetBuilder() *SlsaBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *SlsaProvenance) GetMaterials() []*Material { + if x != nil { + return x.Materials + } + return nil +} + +func (x *SlsaProvenance) GetMetadata() *SlsaMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *SlsaProvenance) GetRecipe() *SlsaRecipe { + if x != nil { + return x.Recipe + } + return nil +} + +type SlsaProvenanceV1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildDefinition *BuildDefinition `protobuf:"bytes,1,opt,name=build_definition,json=buildDefinition,proto3" json:"build_definition,omitempty"` + RunDetails *RunDetails `protobuf:"bytes,2,opt,name=run_details,json=runDetails,proto3" json:"run_details,omitempty"` +} + +func (x *SlsaProvenanceV1) Reset() { + *x = SlsaProvenanceV1{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceV1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceV1) ProtoMessage() {} + +func (x *SlsaProvenanceV1) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[144] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceV1.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceV1) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{144} +} + +func (x *SlsaProvenanceV1) GetBuildDefinition() *BuildDefinition { + if x != nil { + return x.BuildDefinition + } + return nil +} + +func (x *SlsaProvenanceV1) GetRunDetails() *RunDetails { + if x != nil { + return x.RunDetails + } + return nil +} + +type SlsaProvenanceZeroTwo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildConfig map[string]*any1.Any `protobuf:"bytes,1,rep,name=build_config,json=buildConfig,proto3" json:"build_config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BuildType string `protobuf:"bytes,2,opt,name=build_type,json=buildType,proto3" json:"build_type,omitempty"` + Builder *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder `protobuf:"bytes,3,opt,name=builder,proto3" json:"builder,omitempty"` + Invocation *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation `protobuf:"bytes,4,opt,name=invocation,proto3" json:"invocation,omitempty"` + Materials []*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial `protobuf:"bytes,5,rep,name=materials,proto3" json:"materials,omitempty"` + Metadata *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo) Reset() { + *x = SlsaProvenanceZeroTwo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[145] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{145} +} + +func (x *SlsaProvenanceZeroTwo) GetBuildConfig() map[string]*any1.Any { + if x != nil { + return x.BuildConfig + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetBuildType() string { + if x != nil { + return x.BuildType + } + return "" +} + +func (x *SlsaProvenanceZeroTwo) GetBuilder() *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetInvocation() *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation { + if x != nil { + return x.Invocation + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetMaterials() []*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial { + if x != nil { + return x.Materials + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetMetadata() *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +type SlsaRecipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Arguments map[string]*any1.Any `protobuf:"bytes,1,rep,name=arguments,proto3" json:"arguments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + DefinedInMaterial int64 `protobuf:"varint,2,opt,name=defined_in_material,json=definedInMaterial,proto3" json:"defined_in_material,omitempty"` + EntryPoint string `protobuf:"bytes,3,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` + Environment map[string]*any1.Any `protobuf:"bytes,4,rep,name=environment,proto3" json:"environment,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` +} + +func (x *SlsaRecipe) Reset() { + *x = SlsaRecipe{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaRecipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaRecipe) ProtoMessage() {} + +func (x *SlsaRecipe) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[146] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaRecipe.ProtoReflect.Descriptor instead. +func (*SlsaRecipe) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{146} +} + +func (x *SlsaRecipe) GetArguments() map[string]*any1.Any { + if x != nil { + return x.Arguments + } + return nil +} + +func (x *SlsaRecipe) GetDefinedInMaterial() int64 { + if x != nil { + return x.DefinedInMaterial + } + return 0 +} + +func (x *SlsaRecipe) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +func (x *SlsaRecipe) GetEnvironment() map[string]*any1.Any { + if x != nil { + return x.Environment + } + return nil +} + +func (x *SlsaRecipe) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +type Source struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AdditionalContexts []*SourceContext `protobuf:"bytes,1,rep,name=additional_contexts,json=additionalContexts,proto3" json:"additional_contexts,omitempty"` + ArtifactStorageSourceUri string `protobuf:"bytes,2,opt,name=artifact_storage_source_uri,json=artifactStorageSourceUri,proto3" json:"artifact_storage_source_uri,omitempty"` + Context *SourceContext `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + FileHashes map[string]*FileHashes `protobuf:"bytes,4,rep,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Source) Reset() { + *x = Source{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Source) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Source) ProtoMessage() {} + +func (x *Source) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[147] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Source.ProtoReflect.Descriptor instead. +func (*Source) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{147} +} + +func (x *Source) GetAdditionalContexts() []*SourceContext { + if x != nil { + return x.AdditionalContexts + } + return nil +} + +func (x *Source) GetArtifactStorageSourceUri() string { + if x != nil { + return x.ArtifactStorageSourceUri + } + return "" +} + +func (x *Source) GetContext() *SourceContext { + if x != nil { + return x.Context + } + return nil +} + +func (x *Source) GetFileHashes() map[string]*FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +type SourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CloudRepo *CloudRepoSourceContext `protobuf:"bytes,1,opt,name=cloud_repo,json=cloudRepo,proto3" json:"cloud_repo,omitempty"` + Gerrit *GerritSourceContext `protobuf:"bytes,2,opt,name=gerrit,proto3" json:"gerrit,omitempty"` + Git *GitSourceContext `protobuf:"bytes,3,opt,name=git,proto3" json:"git,omitempty"` + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SourceContext) Reset() { + *x = SourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceContext) ProtoMessage() {} + +func (x *SourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[148] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SourceContext.ProtoReflect.Descriptor instead. +func (*SourceContext) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{148} +} + +func (x *SourceContext) GetCloudRepo() *CloudRepoSourceContext { + if x != nil { + return x.CloudRepo + } + return nil +} + +func (x *SourceContext) GetGerrit() *GerritSourceContext { + if x != nil { + return x.Gerrit + } + return nil +} + +func (x *SourceContext) GetGit() *GitSourceContext { + if x != nil { + return x.Git + } + return nil +} + +func (x *SourceContext) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type Status struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` + Details []*any1.Any `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty"` + Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` +} + +func (x *Status) Reset() { + *x = Status{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Status) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Status) ProtoMessage() {} + +func (x *Status) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[149] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Status.ProtoReflect.Descriptor instead. +func (*Status) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{149} +} + +func (x *Status) GetCode() int32 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *Status) GetDetails() []*any1.Any { + if x != nil { + return x.Details + } + return nil +} + +func (x *Status) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +type Subject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Digest map[string]string `protobuf:"bytes,1,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *Subject) Reset() { + *x = Subject{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subject) ProtoMessage() {} + +func (x *Subject) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[150] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subject.ProtoReflect.Descriptor instead. +func (*Subject) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{150} +} + +func (x *Subject) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *Subject) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type TestIamPermissionsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Permissions []string `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (x *TestIamPermissionsRequest) Reset() { + *x = TestIamPermissionsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsRequest) ProtoMessage() {} + +func (x *TestIamPermissionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[151] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestIamPermissionsRequest.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{151} +} + +func (x *TestIamPermissionsRequest) GetPermissions() []string { + if x != nil { + return x.Permissions + } + return nil +} + +type TestIamPermissionsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Permissions []string `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` +} + +func (x *TestIamPermissionsResponse) Reset() { + *x = TestIamPermissionsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TestIamPermissionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestIamPermissionsResponse) ProtoMessage() {} + +func (x *TestIamPermissionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[152] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestIamPermissionsResponse.ProtoReflect.Descriptor instead. +func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{152} +} + +func (x *TestIamPermissionsResponse) GetPermissions() []string { + if x != nil { + return x.Permissions + } + return nil +} + +type TimeSpan struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EndTime *timestamp.Timestamp `protobuf:"bytes,1,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + StartTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` +} + +func (x *TimeSpan) Reset() { + *x = TimeSpan{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TimeSpan) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeSpan) ProtoMessage() {} + +func (x *TimeSpan) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[153] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeSpan.ProtoReflect.Descriptor instead. +func (*TimeSpan) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{153} +} + +func (x *TimeSpan) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *TimeSpan) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +type UpgradeDistribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Classification string `protobuf:"bytes,1,opt,name=classification,proto3" json:"classification,omitempty"` + CpeUri string `protobuf:"bytes,2,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Cve []string `protobuf:"bytes,3,rep,name=cve,proto3" json:"cve,omitempty"` + Severity string `protobuf:"bytes,4,opt,name=severity,proto3" json:"severity,omitempty"` +} + +func (x *UpgradeDistribution) Reset() { + *x = UpgradeDistribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeDistribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeDistribution) ProtoMessage() {} + +func (x *UpgradeDistribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[154] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeDistribution.ProtoReflect.Descriptor instead. +func (*UpgradeDistribution) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{154} +} + +func (x *UpgradeDistribution) GetClassification() string { + if x != nil { + return x.Classification + } + return "" +} + +func (x *UpgradeDistribution) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *UpgradeDistribution) GetCve() []string { + if x != nil { + return x.Cve + } + return nil +} + +func (x *UpgradeDistribution) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +type UpgradeNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Distributions []*UpgradeDistribution `protobuf:"bytes,1,rep,name=distributions,proto3" json:"distributions,omitempty"` + Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"` + Version *Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + WindowsUpdate *WindowsUpdate `protobuf:"bytes,4,opt,name=windows_update,json=windowsUpdate,proto3" json:"windows_update,omitempty"` +} + +func (x *UpgradeNote) Reset() { + *x = UpgradeNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNote) ProtoMessage() {} + +func (x *UpgradeNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[155] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeNote.ProtoReflect.Descriptor instead. +func (*UpgradeNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{155} +} + +func (x *UpgradeNote) GetDistributions() []*UpgradeDistribution { + if x != nil { + return x.Distributions + } + return nil +} + +func (x *UpgradeNote) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *UpgradeNote) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *UpgradeNote) GetWindowsUpdate() *WindowsUpdate { + if x != nil { + return x.WindowsUpdate + } + return nil +} + +type UpgradeOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Distribution *UpgradeDistribution `protobuf:"bytes,1,opt,name=distribution,proto3" json:"distribution,omitempty"` + Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"` + ParsedVersion *Version `protobuf:"bytes,3,opt,name=parsed_version,json=parsedVersion,proto3" json:"parsed_version,omitempty"` + WindowsUpdate *WindowsUpdate `protobuf:"bytes,4,opt,name=windows_update,json=windowsUpdate,proto3" json:"windows_update,omitempty"` +} + +func (x *UpgradeOccurrence) Reset() { + *x = UpgradeOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeOccurrence) ProtoMessage() {} + +func (x *UpgradeOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[156] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeOccurrence.ProtoReflect.Descriptor instead. +func (*UpgradeOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{156} +} + +func (x *UpgradeOccurrence) GetDistribution() *UpgradeDistribution { + if x != nil { + return x.Distribution + } + return nil +} + +func (x *UpgradeOccurrence) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *UpgradeOccurrence) GetParsedVersion() *Version { + if x != nil { + return x.ParsedVersion + } + return nil +} + +func (x *UpgradeOccurrence) GetWindowsUpdate() *WindowsUpdate { + if x != nil { + return x.WindowsUpdate + } + return nil +} + +type Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Epoch int32 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + FullName string `protobuf:"bytes,2,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` + Inclusive bool `protobuf:"varint,3,opt,name=inclusive,proto3" json:"inclusive,omitempty"` + Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` + Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` + Revision string `protobuf:"bytes,6,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *Version) Reset() { + *x = Version{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Version) ProtoMessage() {} + +func (x *Version) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[157] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Version.ProtoReflect.Descriptor instead. +func (*Version) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{157} +} + +func (x *Version) GetEpoch() int32 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *Version) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +func (x *Version) GetInclusive() bool { + if x != nil { + return x.Inclusive + } + return false +} + +func (x *Version) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *Version) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Version) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +type VexAssessment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Cve string `protobuf:"bytes,1,opt,name=cve,proto3" json:"cve,omitempty"` + Impacts []string `protobuf:"bytes,2,rep,name=impacts,proto3" json:"impacts,omitempty"` + Justification *Justification `protobuf:"bytes,3,opt,name=justification,proto3" json:"justification,omitempty"` + NoteName string `protobuf:"bytes,4,opt,name=note_name,json=noteName,proto3" json:"note_name,omitempty"` + RelatedUris []*RelatedUrl `protobuf:"bytes,5,rep,name=related_uris,json=relatedUris,proto3" json:"related_uris,omitempty"` + Remediations []*Remediation `protobuf:"bytes,6,rep,name=remediations,proto3" json:"remediations,omitempty"` + State string `protobuf:"bytes,7,opt,name=state,proto3" json:"state,omitempty"` + VulnerabilityId string `protobuf:"bytes,8,opt,name=vulnerability_id,json=vulnerabilityId,proto3" json:"vulnerability_id,omitempty"` +} + +func (x *VexAssessment) Reset() { + *x = VexAssessment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VexAssessment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VexAssessment) ProtoMessage() {} + +func (x *VexAssessment) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[158] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VexAssessment.ProtoReflect.Descriptor instead. +func (*VexAssessment) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{158} +} + +func (x *VexAssessment) GetCve() string { + if x != nil { + return x.Cve + } + return "" +} + +func (x *VexAssessment) GetImpacts() []string { + if x != nil { + return x.Impacts + } + return nil +} + +func (x *VexAssessment) GetJustification() *Justification { + if x != nil { + return x.Justification + } + return nil +} + +func (x *VexAssessment) GetNoteName() string { + if x != nil { + return x.NoteName + } + return "" +} + +func (x *VexAssessment) GetRelatedUris() []*RelatedUrl { + if x != nil { + return x.RelatedUris + } + return nil +} + +func (x *VexAssessment) GetRemediations() []*Remediation { + if x != nil { + return x.Remediations + } + return nil +} + +func (x *VexAssessment) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *VexAssessment) GetVulnerabilityId() string { + if x != nil { + return x.VulnerabilityId + } + return "" +} + +type Volume struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *Volume) Reset() { + *x = Volume{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Volume) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Volume) ProtoMessage() {} + +func (x *Volume) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[159] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Volume.ProtoReflect.Descriptor instead. +func (*Volume) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{159} +} + +func (x *Volume) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Volume) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +type VulnerabilityAssessmentNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Assessment *Assessment `protobuf:"bytes,1,opt,name=assessment,proto3" json:"assessment,omitempty"` + LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + LongDescription string `protobuf:"bytes,3,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + Product *Product `protobuf:"bytes,4,opt,name=product,proto3" json:"product,omitempty"` + Publisher *Publisher `protobuf:"bytes,5,opt,name=publisher,proto3" json:"publisher,omitempty"` + ShortDescription string `protobuf:"bytes,6,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *VulnerabilityAssessmentNote) Reset() { + *x = VulnerabilityAssessmentNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[160] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{160} +} + +func (x *VulnerabilityAssessmentNote) GetAssessment() *Assessment { + if x != nil { + return x.Assessment + } + return nil +} + +func (x *VulnerabilityAssessmentNote) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetProduct() *Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *VulnerabilityAssessmentNote) GetPublisher() *Publisher { + if x != nil { + return x.Publisher + } + return nil +} + +func (x *VulnerabilityAssessmentNote) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +type VulnerabilityNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CvssScore float32 `protobuf:"fixed32,1,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"` + CvssV2 *CVSS `protobuf:"bytes,2,opt,name=cvss_v2,json=cvssV2,proto3" json:"cvss_v2,omitempty"` + CvssV3 *CVSSv3 `protobuf:"bytes,3,opt,name=cvss_v3,json=cvssV3,proto3" json:"cvss_v3,omitempty"` + CvssVersion string `protobuf:"bytes,4,opt,name=cvss_version,json=cvssVersion,proto3" json:"cvss_version,omitempty"` + Details []*Detail `protobuf:"bytes,5,rep,name=details,proto3" json:"details,omitempty"` + Severity string `protobuf:"bytes,6,opt,name=severity,proto3" json:"severity,omitempty"` + SourceUpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"` + WindowsDetails []*WindowsDetail `protobuf:"bytes,8,rep,name=windows_details,json=windowsDetails,proto3" json:"windows_details,omitempty"` +} + +func (x *VulnerabilityNote) Reset() { + *x = VulnerabilityNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityNote) ProtoMessage() {} + +func (x *VulnerabilityNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[161] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityNote.ProtoReflect.Descriptor instead. +func (*VulnerabilityNote) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{161} +} + +func (x *VulnerabilityNote) GetCvssScore() float32 { + if x != nil { + return x.CvssScore + } + return 0 +} + +func (x *VulnerabilityNote) GetCvssV2() *CVSS { + if x != nil { + return x.CvssV2 + } + return nil +} + +func (x *VulnerabilityNote) GetCvssV3() *CVSSv3 { + if x != nil { + return x.CvssV3 + } + return nil +} + +func (x *VulnerabilityNote) GetCvssVersion() string { + if x != nil { + return x.CvssVersion + } + return "" +} + +func (x *VulnerabilityNote) GetDetails() []*Detail { + if x != nil { + return x.Details + } + return nil +} + +func (x *VulnerabilityNote) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *VulnerabilityNote) GetSourceUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.SourceUpdateTime + } + return nil +} + +func (x *VulnerabilityNote) GetWindowsDetails() []*WindowsDetail { + if x != nil { + return x.WindowsDetails + } + return nil +} + +type VulnerabilityOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CvssScore float32 `protobuf:"fixed32,1,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"` + CvssV2 *CVSS `protobuf:"bytes,2,opt,name=cvss_v2,json=cvssV2,proto3" json:"cvss_v2,omitempty"` + CvssVersion string `protobuf:"bytes,3,opt,name=cvss_version,json=cvssVersion,proto3" json:"cvss_version,omitempty"` + Cvssv3 *CVSS `protobuf:"bytes,4,opt,name=cvssv3,proto3" json:"cvssv3,omitempty"` + EffectiveSeverity string `protobuf:"bytes,5,opt,name=effective_severity,json=effectiveSeverity,proto3" json:"effective_severity,omitempty"` + ExtraDetails string `protobuf:"bytes,6,opt,name=extra_details,json=extraDetails,proto3" json:"extra_details,omitempty"` + FixAvailable bool `protobuf:"varint,7,opt,name=fix_available,json=fixAvailable,proto3" json:"fix_available,omitempty"` + LongDescription string `protobuf:"bytes,8,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + PackageIssue []*PackageIssue `protobuf:"bytes,9,rep,name=package_issue,json=packageIssue,proto3" json:"package_issue,omitempty"` + RelatedUrls []*RelatedUrl `protobuf:"bytes,10,rep,name=related_urls,json=relatedUrls,proto3" json:"related_urls,omitempty"` + Severity string `protobuf:"bytes,11,opt,name=severity,proto3" json:"severity,omitempty"` + ShortDescription string `protobuf:"bytes,12,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` + VexAssessment *VexAssessment `protobuf:"bytes,14,opt,name=vex_assessment,json=vexAssessment,proto3" json:"vex_assessment,omitempty"` +} + +func (x *VulnerabilityOccurrence) Reset() { + *x = VulnerabilityOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityOccurrence) ProtoMessage() {} + +func (x *VulnerabilityOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[162] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityOccurrence.ProtoReflect.Descriptor instead. +func (*VulnerabilityOccurrence) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{162} +} + +func (x *VulnerabilityOccurrence) GetCvssScore() float32 { + if x != nil { + return x.CvssScore + } + return 0 +} + +func (x *VulnerabilityOccurrence) GetCvssV2() *CVSS { + if x != nil { + return x.CvssV2 + } + return nil +} + +func (x *VulnerabilityOccurrence) GetCvssVersion() string { + if x != nil { + return x.CvssVersion + } + return "" +} + +func (x *VulnerabilityOccurrence) GetCvssv3() *CVSS { + if x != nil { + return x.Cvssv3 + } + return nil +} + +func (x *VulnerabilityOccurrence) GetEffectiveSeverity() string { + if x != nil { + return x.EffectiveSeverity + } + return "" +} + +func (x *VulnerabilityOccurrence) GetExtraDetails() string { + if x != nil { + return x.ExtraDetails + } + return "" +} + +func (x *VulnerabilityOccurrence) GetFixAvailable() bool { + if x != nil { + return x.FixAvailable + } + return false +} + +func (x *VulnerabilityOccurrence) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *VulnerabilityOccurrence) GetPackageIssue() []*PackageIssue { + if x != nil { + return x.PackageIssue + } + return nil +} + +func (x *VulnerabilityOccurrence) GetRelatedUrls() []*RelatedUrl { + if x != nil { + return x.RelatedUrls + } + return nil +} + +func (x *VulnerabilityOccurrence) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *VulnerabilityOccurrence) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *VulnerabilityOccurrence) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *VulnerabilityOccurrence) GetVexAssessment() *VexAssessment { + if x != nil { + return x.VexAssessment + } + return nil +} + +type VulnerabilityOccurrencesSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Counts []*FixableTotalByDigest `protobuf:"bytes,1,rep,name=counts,proto3" json:"counts,omitempty"` +} + +func (x *VulnerabilityOccurrencesSummary) Reset() { + *x = VulnerabilityOccurrencesSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityOccurrencesSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityOccurrencesSummary) ProtoMessage() {} + +func (x *VulnerabilityOccurrencesSummary) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[163] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityOccurrencesSummary.ProtoReflect.Descriptor instead. +func (*VulnerabilityOccurrencesSummary) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{163} +} + +func (x *VulnerabilityOccurrencesSummary) GetCounts() []*FixableTotalByDigest { + if x != nil { + return x.Counts + } + return nil +} + +type WindowsDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + FixingKbs []*KnowledgeBase `protobuf:"bytes,3,rep,name=fixing_kbs,json=fixingKbs,proto3" json:"fixing_kbs,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *WindowsDetail) Reset() { + *x = WindowsDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsDetail) ProtoMessage() {} + +func (x *WindowsDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[164] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsDetail.ProtoReflect.Descriptor instead. +func (*WindowsDetail) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{164} +} + +func (x *WindowsDetail) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *WindowsDetail) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WindowsDetail) GetFixingKbs() []*KnowledgeBase { + if x != nil { + return x.FixingKbs + } + return nil +} + +func (x *WindowsDetail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type WindowsUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Categories []*Category `protobuf:"bytes,1,rep,name=categories,proto3" json:"categories,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + Identity *Identity `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + KbArticleIds []string `protobuf:"bytes,4,rep,name=kb_article_ids,json=kbArticleIds,proto3" json:"kb_article_ids,omitempty"` + LastPublishedTimestamp *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_published_timestamp,json=lastPublishedTimestamp,proto3" json:"last_published_timestamp,omitempty"` + SupportUrl string `protobuf:"bytes,6,opt,name=support_url,json=supportUrl,proto3" json:"support_url,omitempty"` + Title string `protobuf:"bytes,7,opt,name=title,proto3" json:"title,omitempty"` +} + +func (x *WindowsUpdate) Reset() { + *x = WindowsUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsUpdate) ProtoMessage() {} + +func (x *WindowsUpdate) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[165] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsUpdate.ProtoReflect.Descriptor instead. +func (*WindowsUpdate) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{165} +} + +func (x *WindowsUpdate) GetCategories() []*Category { + if x != nil { + return x.Categories + } + return nil +} + +func (x *WindowsUpdate) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WindowsUpdate) GetIdentity() *Identity { + if x != nil { + return x.Identity + } + return nil +} + +func (x *WindowsUpdate) GetKbArticleIds() []string { + if x != nil { + return x.KbArticleIds + } + return nil +} + +func (x *WindowsUpdate) GetLastPublishedTimestamp() *timestamp.Timestamp { + if x != nil { + return x.LastPublishedTimestamp + } + return nil +} + +func (x *WindowsUpdate) GetSupportUrl() string { + if x != nil { + return x.SupportUrl + } + return "" +} + +func (x *WindowsUpdate) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +type GetProjectsLocationsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProjectsLocationsNoteRequest) Reset() { + *x = GetProjectsLocationsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsLocationsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsLocationsNoteRequest) ProtoMessage() {} + +func (x *GetProjectsLocationsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[166] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProjectsLocationsNoteRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsLocationsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{166} +} + +func (x *GetProjectsLocationsNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ListProjectsLocationsNotesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *ListProjectsLocationsNotesRequest) Reset() { + *x = ListProjectsLocationsNotesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsLocationsNotesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsLocationsNotesRequest) ProtoMessage() {} + +func (x *ListProjectsLocationsNotesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[167] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsLocationsNotesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsLocationsNotesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{167} +} + +func (x *ListProjectsLocationsNotesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsLocationsNotesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsLocationsNotesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListProjectsLocationsNotesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type ListProjectsLocationsNotesOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) Reset() { + *x = ListProjectsLocationsNotesOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsLocationsNotesOccurrencesRequest) ProtoMessage() {} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[168] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsLocationsNotesOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsLocationsNotesOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{168} +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsLocationsNotesOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +type GetProjectsLocationsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProjectsLocationsOccurrenceRequest) Reset() { + *x = GetProjectsLocationsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsLocationsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsLocationsOccurrenceRequest) ProtoMessage() {} + +func (x *GetProjectsLocationsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[169] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProjectsLocationsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsLocationsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{169} +} + +func (x *GetProjectsLocationsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetNotesProjectsLocationsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotesProjectsLocationsOccurrenceRequest) Reset() { + *x = GetNotesProjectsLocationsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotesProjectsLocationsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotesProjectsLocationsOccurrenceRequest) ProtoMessage() {} + +func (x *GetNotesProjectsLocationsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[170] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotesProjectsLocationsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetNotesProjectsLocationsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{170} +} + +func (x *GetNotesProjectsLocationsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) Reset() { + *x = GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) ProtoMessage() {} + +func (x *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[171] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{171} +} + +func (x *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type ListProjectsLocationsOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *ListProjectsLocationsOccurrencesRequest) Reset() { + *x = ListProjectsLocationsOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsLocationsOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsLocationsOccurrencesRequest) ProtoMessage() {} + +func (x *ListProjectsLocationsOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[172] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsLocationsOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsLocationsOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{172} +} + +func (x *ListProjectsLocationsOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsLocationsOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsLocationsOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListProjectsLocationsOccurrencesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type ExportSBOMProjectsLocationsResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ProjectsLocationsResource *ExportSBOMRequest `protobuf:"bytes,2,opt,name=projects_locations_resource,json=projectsLocationsResource,proto3" json:"projects_locations_resource,omitempty"` +} + +func (x *ExportSBOMProjectsLocationsResourceRequest) Reset() { + *x = ExportSBOMProjectsLocationsResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportSBOMProjectsLocationsResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportSBOMProjectsLocationsResourceRequest) ProtoMessage() {} + +func (x *ExportSBOMProjectsLocationsResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[173] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportSBOMProjectsLocationsResourceRequest.ProtoReflect.Descriptor instead. +func (*ExportSBOMProjectsLocationsResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{173} +} + +func (x *ExportSBOMProjectsLocationsResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportSBOMProjectsLocationsResourceRequest) GetProjectsLocationsResource() *ExportSBOMRequest { + if x != nil { + return x.ProjectsLocationsResource + } + return nil +} + +type BatchCreateProjectsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + ProjectsNote *BatchCreateNotesRequest `protobuf:"bytes,2,opt,name=projects_note,json=projectsNote,proto3" json:"projects_note,omitempty"` +} + +func (x *BatchCreateProjectsNoteRequest) Reset() { + *x = BatchCreateProjectsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateProjectsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateProjectsNoteRequest) ProtoMessage() {} + +func (x *BatchCreateProjectsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[174] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateProjectsNoteRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateProjectsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{174} +} + +func (x *BatchCreateProjectsNoteRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateProjectsNoteRequest) GetProjectsNote() *BatchCreateNotesRequest { + if x != nil { + return x.ProjectsNote + } + return nil +} + +type CreateProjectsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NoteId string `protobuf:"bytes,1,opt,name=note_id,json=noteId,proto3" json:"note_id,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` + ProjectsNote *Note `protobuf:"bytes,3,opt,name=projects_note,json=projectsNote,proto3" json:"projects_note,omitempty"` +} + +func (x *CreateProjectsNoteRequest) Reset() { + *x = CreateProjectsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProjectsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProjectsNoteRequest) ProtoMessage() {} + +func (x *CreateProjectsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[175] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProjectsNoteRequest.ProtoReflect.Descriptor instead. +func (*CreateProjectsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{175} +} + +func (x *CreateProjectsNoteRequest) GetNoteId() string { + if x != nil { + return x.NoteId + } + return "" +} + +func (x *CreateProjectsNoteRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateProjectsNoteRequest) GetProjectsNote() *Note { + if x != nil { + return x.ProjectsNote + } + return nil +} + +type DeleteProjectsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteProjectsNoteRequest) Reset() { + *x = DeleteProjectsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProjectsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProjectsNoteRequest) ProtoMessage() {} + +func (x *DeleteProjectsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[176] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteProjectsNoteRequest.ProtoReflect.Descriptor instead. +func (*DeleteProjectsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{176} +} + +func (x *DeleteProjectsNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetProjectsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProjectsNoteRequest) Reset() { + *x = GetProjectsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsNoteRequest) ProtoMessage() {} + +func (x *GetProjectsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[177] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProjectsNoteRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{177} +} + +func (x *GetProjectsNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ListProjectsNotesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *ListProjectsNotesRequest) Reset() { + *x = ListProjectsNotesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsNotesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsNotesRequest) ProtoMessage() {} + +func (x *ListProjectsNotesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[178] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsNotesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsNotesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{178} +} + +func (x *ListProjectsNotesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsNotesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsNotesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListProjectsNotesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type PatchProjectsNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + UpdateMask string `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + ProjectsNote *Note `protobuf:"bytes,3,opt,name=projects_note,json=projectsNote,proto3" json:"projects_note,omitempty"` +} + +func (x *PatchProjectsNoteRequest) Reset() { + *x = PatchProjectsNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchProjectsNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchProjectsNoteRequest) ProtoMessage() {} + +func (x *PatchProjectsNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[179] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatchProjectsNoteRequest.ProtoReflect.Descriptor instead. +func (*PatchProjectsNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{179} +} + +func (x *PatchProjectsNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PatchProjectsNoteRequest) GetUpdateMask() string { + if x != nil { + return x.UpdateMask + } + return "" +} + +func (x *PatchProjectsNoteRequest) GetProjectsNote() *Note { + if x != nil { + return x.ProjectsNote + } + return nil +} + +type ListProjectsNotesOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListProjectsNotesOccurrencesRequest) Reset() { + *x = ListProjectsNotesOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[180] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsNotesOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsNotesOccurrencesRequest) ProtoMessage() {} + +func (x *ListProjectsNotesOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[180] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsNotesOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsNotesOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{180} +} + +func (x *ListProjectsNotesOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsNotesOccurrencesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListProjectsNotesOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsNotesOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +type BatchCreateProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + ProjectsOccurrence *BatchCreateOccurrencesRequest `protobuf:"bytes,2,opt,name=projects_occurrence,json=projectsOccurrence,proto3" json:"projects_occurrence,omitempty"` +} + +func (x *BatchCreateProjectsOccurrenceRequest) Reset() { + *x = BatchCreateProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *BatchCreateProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[181] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{181} +} + +func (x *BatchCreateProjectsOccurrenceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateProjectsOccurrenceRequest) GetProjectsOccurrence() *BatchCreateOccurrencesRequest { + if x != nil { + return x.ProjectsOccurrence + } + return nil +} + +type CreateProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + ProjectsOccurrence *Occurrence `protobuf:"bytes,2,opt,name=projects_occurrence,json=projectsOccurrence,proto3" json:"projects_occurrence,omitempty"` +} + +func (x *CreateProjectsOccurrenceRequest) Reset() { + *x = CreateProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *CreateProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[182] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*CreateProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{182} +} + +func (x *CreateProjectsOccurrenceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateProjectsOccurrenceRequest) GetProjectsOccurrence() *Occurrence { + if x != nil { + return x.ProjectsOccurrence + } + return nil +} + +type DeleteProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteProjectsOccurrenceRequest) Reset() { + *x = DeleteProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *DeleteProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[183] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*DeleteProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{183} +} + +func (x *DeleteProjectsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetProjectsOccurrenceRequest) Reset() { + *x = GetProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *GetProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[184] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{184} +} + +func (x *GetProjectsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetNotesProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNotesProjectsOccurrenceRequest) Reset() { + *x = GetNotesProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNotesProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNotesProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *GetNotesProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[185] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNotesProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetNotesProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{185} +} + +func (x *GetNotesProjectsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type GetVulnerabilitySummaryProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + Parent string `protobuf:"bytes,2,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *GetVulnerabilitySummaryProjectsOccurrenceRequest) Reset() { + *x = GetVulnerabilitySummaryProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetVulnerabilitySummaryProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetVulnerabilitySummaryProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *GetVulnerabilitySummaryProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[186] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetVulnerabilitySummaryProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetVulnerabilitySummaryProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{186} +} + +func (x *GetVulnerabilitySummaryProjectsOccurrenceRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *GetVulnerabilitySummaryProjectsOccurrenceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type ListProjectsOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` + Parent string `protobuf:"bytes,4,opt,name=parent,proto3" json:"parent,omitempty"` +} + +func (x *ListProjectsOccurrencesRequest) Reset() { + *x = ListProjectsOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListProjectsOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListProjectsOccurrencesRequest) ProtoMessage() {} + +func (x *ListProjectsOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[187] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListProjectsOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListProjectsOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{187} +} + +func (x *ListProjectsOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListProjectsOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListProjectsOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +func (x *ListProjectsOccurrencesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +type PatchProjectsOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + UpdateMask string `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + ProjectsOccurrence *Occurrence `protobuf:"bytes,3,opt,name=projects_occurrence,json=projectsOccurrence,proto3" json:"projects_occurrence,omitempty"` +} + +func (x *PatchProjectsOccurrenceRequest) Reset() { + *x = PatchProjectsOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PatchProjectsOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchProjectsOccurrenceRequest) ProtoMessage() {} + +func (x *PatchProjectsOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[188] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatchProjectsOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*PatchProjectsOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{188} +} + +func (x *PatchProjectsOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PatchProjectsOccurrenceRequest) GetUpdateMask() string { + if x != nil { + return x.UpdateMask + } + return "" +} + +func (x *PatchProjectsOccurrenceRequest) GetProjectsOccurrence() *Occurrence { + if x != nil { + return x.ProjectsOccurrence + } + return nil +} + +type ExportSBOMProjectsResourceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + ProjectsResource *ExportSBOMRequest `protobuf:"bytes,2,opt,name=projects_resource,json=projectsResource,proto3" json:"projects_resource,omitempty"` +} + +func (x *ExportSBOMProjectsResourceRequest) Reset() { + *x = ExportSBOMProjectsResourceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportSBOMProjectsResourceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportSBOMProjectsResourceRequest) ProtoMessage() {} + +func (x *ExportSBOMProjectsResourceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[189] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportSBOMProjectsResourceRequest.ProtoReflect.Descriptor instead. +func (*ExportSBOMProjectsResourceRequest) Descriptor() ([]byte, []int) { + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP(), []int{189} +} + +func (x *ExportSBOMProjectsResourceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ExportSBOMProjectsResourceRequest) GetProjectsResource() *ExportSBOMRequest { + if x != nil { + return x.ProjectsResource + } + return nil +} + +var File_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto protoreflect.FileDescriptor + +var file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDesc = []byte{ + 0x0a, 0x3d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x63, 0x70, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x36, 0x0a, 0x0c, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x38, 0x0a, 0x11, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x79, 0x70, 0x65, 0x22, 0x4c, + 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xcf, 0x03, 0x0a, + 0x0a, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, + 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x76, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0c, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, + 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x0c, + 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, + 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x4e, + 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, + 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x22, 0xd0, + 0x01, 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x6a, 0x77, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x04, + 0x6a, 0x77, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, + 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x4c, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5b, 0x0a, + 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x0a, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3d, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, + 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x59, 0x0a, + 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, + 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x6f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x6f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x71, 0x0a, 0x1e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0b, + 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, 0x7e, 0x0a, + 0x07, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0xd0, 0x04, + 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x7b, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x7b, 0x0a, + 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x12, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x6a, 0x0a, 0x15, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, + 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x5b, 0x0a, 0x17, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x5b, 0x0a, 0x17, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x22, 0xac, 0x01, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x22, + 0x34, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc8, 0x03, 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x75, 0x0a, 0x1a, 0x69, 0x6e, 0x5f, + 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x52, 0x16, 0x69, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, + 0x12, 0x60, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x10, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x52, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, + 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x22, 0x8e, 0x06, 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, + 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0f, 0x62, 0x75, 0x69, 0x6c, + 0x74, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0e, + 0x62, 0x75, 0x69, 0x6c, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x46, + 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x52, 0x08, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x35, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x73, 0x55, 0x72, 0x69, 0x12, + 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x56, + 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, + 0x1a, 0x3f, 0x0a, 0x11, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x9f, 0x05, 0x0a, 0x09, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, 0x70, 0x12, + 0x28, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, + 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, + 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, + 0x6f, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, + 0x67, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x75, + 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x70, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, + 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x1b, 0x0a, 0x09, 0x65, + 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x0b, + 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x0a, + 0x70, 0x75, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, + 0x76, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, + 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x43, + 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x06, 0x74, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x12, 0x43, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x11, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, + 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x69, 0x74, + 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, 0x69, 0x74, + 0x46, 0x6f, 0x72, 0x22, 0x1f, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x22, 0xfa, 0x03, 0x0a, 0x04, 0x43, 0x56, 0x53, 0x53, 0x12, 0x2b, 0x0a, + 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, + 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x26, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, + 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x31, + 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x65, 0x78, + 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, + 0x2f, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, + 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0xd4, 0x03, 0x0a, 0x06, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x12, 0x2b, 0x0a, 0x11, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x74, 0x74, + 0x61, 0x63, 0x6b, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2f, + 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x35, + 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, + 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, + 0x65, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, + 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3f, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x0c, 0x43, 0x69, 0x73, + 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x22, 0xd3, 0x01, 0x0a, 0x16, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x61, + 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a, 0x07, 0x72, + 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x52, 0x06, 0x72, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, + 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x80, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, + 0x76, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x22, 0x6c, 0x0a, 0x0c, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, + 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, + 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x22, 0xf3, 0x02, 0x0a, 0x0e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x54, 0x0a, 0x0d, + 0x63, 0x69, 0x73, 0x5f, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x69, 0x73, 0x42, 0x65, 0x6e, 0x63, 0x68, + 0x6d, 0x61, 0x72, 0x6b, 0x52, 0x0c, 0x63, 0x69, 0x73, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, + 0x72, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, + 0x4e, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xff, 0x01, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x6f, 0x6e, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x63, 0x0a, 0x13, + 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, + 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x11, + 0x6e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x22, 0x75, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, + 0x61, 0x72, 0x6b, 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x44, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x68, 0x0a, 0x39, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, + 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x10, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x22, 0xef, 0x01, 0x0a, 0x39, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x3f, 0x0a, 0x0d, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x70, 0x70, + 0x72, 0x6f, 0x76, 0x65, 0x72, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x65, 0x63, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0xf8, 0x04, 0x0a, 0x34, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x0f, 0x6d, 0x61, 0x76, 0x65, 0x6e, 0x5f, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x4d, 0x61, 0x76, 0x65, 0x6e, 0x41, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x61, 0x76, 0x65, 0x6e, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x84, 0x01, 0x0a, 0x0c, 0x6e, 0x70, 0x6d, 0x5f, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x4e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, + 0x0b, 0x6e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, + 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x66, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, + 0x8d, 0x01, 0x0a, 0x0f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, + 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x22, + 0xe7, 0x01, 0x0a, 0x43, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x6e, 0x0a, 0x06, 0x74, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, + 0x6e, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x22, 0xcd, 0x01, 0x0a, 0x41, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x4d, 0x61, 0x76, 0x65, 0x6e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x49, 0x64, + 0x12, 0x19, 0x0a, 0x08, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x3e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x4e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, + 0x79, 0x0a, 0x41, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, + 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x74, 0x68, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x96, 0x14, 0x0a, 0x30, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, + 0x77, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x08, + 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x12, 0x75, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, + 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, + 0x82, 0x01, 0x0a, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x73, 0x52, 0x10, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x72, + 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3b, + 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x0c, + 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x3b, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x76, 0x0a, 0x0a, + 0x67, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x67, 0x69, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, + 0x6c, 0x6f, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, + 0x6f, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x73, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x07, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, + 0x36, 0x0a, 0x09, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x71, + 0x75, 0x65, 0x75, 0x65, 0x54, 0x74, 0x6c, 0x12, 0x6f, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x55, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, + 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x6e, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, + 0x07, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x6c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x8b, 0x01, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x10, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x39, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x6d, 0x0a, 0x05, 0x73, 0x74, 0x65, 0x70, 0x73, 0x18, 0x19, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x05, 0x73, + 0x74, 0x65, 0x70, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x66, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x77, 0x0a, 0x06, + 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x1d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x2e, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x74, + 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x76, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x61, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x1a, 0x40, 0x0a, + 0x12, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x91, 0x01, 0x0a, 0x0b, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x6c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xbc, 0x02, 0x0a, 0x38, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, + 0x12, 0x74, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x74, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x61, 0x6c, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x22, 0x69, 0x0a, 0x3b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xd0, 0x06, + 0x0a, 0x37, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x70, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, + 0x0a, 0x1c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4c, 0x6f, 0x67, + 0x73, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, + 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, + 0x62, 0x12, 0x33, 0x0a, 0x15, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x5f, 0x73, 0x75, 0x62, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x14, 0x64, 0x79, 0x6e, 0x61, 0x6d, 0x69, 0x63, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, + 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x6f, 0x67, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x78, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x70, 0x6f, 0x6f, + 0x6c, 0x12, 0x36, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x68, 0x61, + 0x73, 0x68, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2f, + 0x0a, 0x13, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x73, 0x75, 0x62, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x6e, 0x0a, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x54, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, + 0x1f, 0x0a, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x50, 0x6f, 0x6f, 0x6c, + 0x22, 0x57, 0x0a, 0x41, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x6f, 0x6f, 0x6c, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x06, 0x0a, 0x34, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, + 0x65, 0x70, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x69, 0x74, + 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, + 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x70, + 0x5f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x70, 0x53, 0x75, 0x62, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x65, 0x6e, 0x76, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x1b, + 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x77, 0x0a, 0x0b, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x0a, 0x70, 0x75, + 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x0d, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x33, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x6e, 0x0a, 0x06, + 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, + 0x53, 0x70, 0x61, 0x6e, 0x52, 0x06, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x6e, 0x0a, 0x07, + 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x54, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x52, 0x07, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x77, 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x22, 0x69, 0x0a, 0x37, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x57, 0x61, 0x72, 0x6e, 0x69, + 0x6e, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, + 0x78, 0x74, 0x22, 0xdc, 0x01, 0x0a, 0x35, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x77, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, + 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, + 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x69, 0x6e, + 0x67, 0x22, 0x8e, 0x01, 0x0a, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x41, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x69, + 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 0x6e, + 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x67, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, + 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x35, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, + 0x12, 0x6f, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, + 0x68, 0x22, 0xad, 0x01, 0x0a, 0x34, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x04, 0x68, 0x74, + 0x74, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x68, 0x74, 0x74, + 0x70, 0x22, 0x7b, 0x0a, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x47, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x73, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x76, + 0x0a, 0x34, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x47, 0x69, 0x74, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x5b, 0x0a, 0x2f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x97, 0x02, 0x0a, 0x37, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, + 0x7f, 0x0a, 0x07, 0x65, 0x6e, 0x76, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x66, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x76, + 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x76, 0x4d, 0x61, 0x70, + 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, + 0x6d, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x03, + 0x0a, 0x35, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x52, 0x65, 0x70, + 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x72, 0x61, 0x6e, 0x63, + 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x72, + 0x61, 0x6e, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, + 0x69, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, + 0x6d, 0x6d, 0x69, 0x74, 0x53, 0x68, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x52, 0x65, 0x67, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x65, 0x70, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x65, 0x70, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x91, 0x01, 0x0a, 0x0d, 0x73, 0x75, 0x62, + 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x6b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, + 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x73, + 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x74, 0x61, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x74, + 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x06, 0x0a, 0x32, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x72, 0x74, + 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x7f, 0x0a, + 0x0f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x0e, + 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x2a, + 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x74, 0x65, 0x70, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x65, + 0x70, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x70, 0x0a, 0x06, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x52, 0x06, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x0f, 0x6d, + 0x61, 0x76, 0x65, 0x6e, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x06, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x31, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x4d, 0x61, 0x76, 0x65, + 0x6e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0e, 0x6d, 0x61, 0x76, 0x65, 0x6e, + 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x83, 0x01, 0x0a, 0x0c, 0x6e, 0x70, + 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x60, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x4e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x52, 0x0b, 0x6e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, + 0x23, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x41, 0x72, 0x74, 0x69, 0x66, + 0x61, 0x63, 0x74, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x0f, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x63, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, + 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x50, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x52, 0x0e, 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x73, 0x22, 0x98, 0x02, 0x0a, 0x31, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6b, 0x6d, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0a, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, + 0x1a, 0x3c, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x45, 0x6e, 0x76, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x75, + 0x0a, 0x3e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, + 0x6e, 0x76, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb3, 0x02, 0x0a, 0x32, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73, 0x12, 0x72, 0x0a, 0x06, + 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x49, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x88, 0x01, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, + 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x52, 0x0d, 0x73, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x22, 0x81, 0x07, 0x0a, 0x31, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x94, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, + 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, + 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x9e, 0x01, 0x0a, 0x18, 0x64, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x64, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x44, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x52, 0x16, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, + 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x76, 0x0a, 0x0a, 0x67, 0x69, 0x74, + 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x47, 0x69, 0x74, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x67, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x79, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x82, 0x01, 0x0a, + 0x0e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x9b, 0x01, 0x0a, 0x17, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x15, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, + 0xed, 0x08, 0x0a, 0x3b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x8f, 0x01, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x6e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x61, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x1b, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x87, 0x01, 0x0a, 0x13, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x67, 0x69, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x47, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x47, 0x69, 0x74, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x12, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x12, 0x93, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x15, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0xac, 0x01, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x63, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, + 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, + 0x31, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, + 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, + 0x69, 0x66, 0x65, 0x73, 0x74, 0x1a, 0x97, 0x01, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, + 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6e, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, + 0x73, 0x68, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0xb1, 0x01, 0x0a, 0x38, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x0a, 0x0e, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x65, 0x74, 0x63, + 0x68, 0x65, 0x72, 0x22, 0x92, 0x01, 0x0a, 0x40, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x56, 0x31, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x33, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, + 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, + 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0xc8, 0x02, 0x0a, 0x40, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, + 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x56, 0x31, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x4d, 0x61, 0x76, 0x65, 0x6e, 0x41, + 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x79, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, + 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x46, 0x69, 0x6c, 0x65, + 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x65, 0x73, 0x12, 0x77, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, + 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xc5, 0x02, + 0x0a, 0x3d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, + 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x64, 0x4e, 0x70, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, + 0x79, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x56, 0x31, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x0a, + 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x0b, 0x70, 0x75, + 0x73, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x56, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, + 0x69, 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, + 0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x75, 0x72, 0x69, 0x22, 0xc8, 0x02, 0x0a, 0x40, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x56, 0x31, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x64, 0x50, 0x79, 0x74, + 0x68, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x79, 0x0a, 0x0b, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x58, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x46, + 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, 0x48, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x0b, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x74, 0x69, + 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6c, + 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x70, + 0x61, 0x6e, 0x52, 0x0a, 0x70, 0x75, 0x73, 0x68, 0x54, 0x69, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, + 0x22, 0x5b, 0x0a, 0x31, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, 0x65, 0x76, 0x74, 0x6f, + 0x6f, 0x6c, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x56, 0x31, 0x56, + 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x56, 0x0a, + 0x13, 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x53, 0x53, 0x45, 0x48, 0x69, 0x6e, 0x74, 0x52, + 0x04, 0x68, 0x69, 0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x19, 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x09, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, + 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3a, + 0x0a, 0x08, 0x44, 0x53, 0x53, 0x45, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x75, + 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x52, 0x65, + 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x33, 0x0a, 0x0e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x22, + 0xa4, 0x02, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x3f, 0x0a, 0x0d, 0x75, 0x6e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x75, 0x6e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, + 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xbc, 0x05, 0x0a, 0x06, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x70, + 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x14, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x12, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x60, 0x0a, 0x16, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x14, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x0d, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x62, 0x73, 0x6f, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x62, 0x73, 0x6f, 0x6c, + 0x65, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, + 0x74, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, + 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x22, 0x3f, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, + 0x6c, 0x67, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0xe8, 0x04, 0x0a, + 0x13, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x11, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x50, 0x0a, 0x0e, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x5d, 0x0a, 0x15, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x13, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x12, 0x3d, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x54, 0x69, + 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, + 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x63, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, + 0x61, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, + 0x63, 0x61, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x73, 0x62, 0x6f, 0x6d, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x73, 0x62, 0x6f, + 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xf2, 0x01, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x07, 0x0a, 0x05, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x9d, 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x54, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65, + 0x79, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x69, 0x64, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x73, + 0x69, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, + 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x6d, 0x0a, 0x16, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x14, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x47, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, + 0x14, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x22, 0x7a, 0x0a, 0x04, 0x45, 0x78, 0x70, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x52, 0x0a, 0x0a, + 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x44, 0x0a, 0x09, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, + 0x22, 0x58, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, + 0x17, 0x0a, 0x07, 0x76, 0x31, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x76, 0x31, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x32, 0x5f, 0x62, + 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x32, 0x42, 0x6c, 0x6f, + 0x62, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x32, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x76, 0x32, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x46, + 0x69, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x44, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x08, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, + 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x72, + 0x72, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x54, 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x0c, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, + 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, + 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x19, 0x0a, + 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, + 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, + 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x4c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, + 0x10, 0x47, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0xae, 0x01, 0x0a, 0x38, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x44, + 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, + 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, + 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x34, 0x0a, 0x15, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x56, 0x31, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, + 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x3b, 0x0a, 0x29, 0x47, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, + 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x90, 0x01, 0x0a, 0x2e, 0x47, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0x95, 0x02, 0x0a, 0x2e, + 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, + 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x75, + 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5d, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, + 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xd7, 0x04, 0x0a, 0x2c, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, + 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, + 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x51, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, + 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0c, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x82, 0x01, 0x0a, + 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x60, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, + 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, + 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x7f, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x49, 0x6e, 0x76, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, + 0x72, 0x73, 0x1a, 0x54, 0x0a, 0x10, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x53, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xec, 0x01, + 0x0a, 0x2a, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, + 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, + 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x71, 0x0a, 0x06, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, + 0x6c, 0x73, 0x61, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x69, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x85, 0x03, 0x0a, + 0x2a, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, + 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x11, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x4f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x75, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x51, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, + 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, + 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, + 0x73, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, + 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x69, 0x62, 0x6c, 0x65, 0x22, 0x30, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x36, 0x0a, 0x04, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2e, + 0x0a, 0x13, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x68, 0x75, 0x6d, + 0x61, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x43, + 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x64, 0x22, 0x80, 0x01, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, + 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, + 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x22, 0xf4, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x61, 0x67, 0x65, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, + 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x61, 0x79, + 0x65, 0x72, 0x52, 0x09, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x95, 0x02, + 0x0a, 0x10, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x57, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, + 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x41, 0x0a, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x06, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x65, 0x22, 0xee, 0x01, 0x0a, 0x16, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, + 0x12, 0x14, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, + 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x44, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xb8, 0x03, 0x0a, 0x0f, 0x49, 0x6e, 0x54, 0x6f, 0x74, + 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0f, + 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0e, 0x73, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x71, 0x0a, 0x18, 0x73, 0x6c, 0x73, 0x61, + 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, + 0x5f, 0x74, 0x77, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, + 0x6f, 0x54, 0x77, 0x6f, 0x52, 0x15, 0x73, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x12, 0x44, 0x0a, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x58, 0x0a, 0x0d, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2d, 0x0a, 0x12, + 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x26, 0x0a, 0x03, 0x4a, + 0x77, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x77, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x4a, 0x77, 0x74, 0x22, 0x35, 0x0a, 0x0d, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, + 0x42, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x43, 0x0a, 0x05, 0x4c, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, + 0x45, 0x0a, 0x07, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x4f, + 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0x7a, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x3d, 0x0a, 0x05, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x92, 0x01, 0x0a, 0x17, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x4f, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x22, 0x7d, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x44, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0xa8, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x4f, 0x0a, 0x06, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x1a, + 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc1, 0x02, 0x0a, 0x08, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x44, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, + 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x67, + 0x0a, 0x10, 0x4e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, + 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, + 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc2, 0x0b, 0x0a, 0x04, 0x4e, 0x6f, 0x74, 0x65, + 0x12, 0x54, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, + 0x6f, 0x74, 0x65, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x51, 0x0a, 0x0a, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, + 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, + 0x74, 0x65, 0x52, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x61, 0x0a, + 0x10, 0x64, 0x73, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x53, 0x53, 0x45, + 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x52, + 0x0f, 0x64, 0x73, 0x73, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x29, 0x0a, + 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x07, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x12, 0x4e, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x55, 0x72, 0x6c, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x52, 0x0d, 0x73, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, + 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x75, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x07, 0x75, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x5a, 0x0a, 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x6f, + 0x74, 0x65, 0x52, 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x12, 0x79, 0x0a, 0x18, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x52, 0x17, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9f, 0x0a, 0x0a, + 0x0a, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0b, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x61, 0x74, 0x74, 0x65, + 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x12, 0x57, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x54, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, + 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, 0x64, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x67, 0x0a, 0x10, 0x64, 0x73, 0x73, 0x65, 0x5f, 0x61, + 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, + 0x64, 0x73, 0x73, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x47, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x08, + 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, + 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, + 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x61, 0x0a, 0x0e, + 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x0d, 0x73, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x07, + 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x60, 0x0a, 0x0d, + 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x13, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0xaa, + 0x04, 0x0a, 0x0c, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, + 0x28, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x66, 0x66, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x12, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x5d, 0x0a, 0x0d, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x46, + 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6c, + 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, + 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x66, 0x69, 0x78, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x22, + 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x43, 0x70, 0x65, 0x55, + 0x72, 0x69, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0xf9, 0x03, 0x0a, 0x0b, + 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, + 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, + 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x44, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xdc, 0x02, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, + 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x44, 0x0a, 0x07, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, + 0x12, 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, + 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x44, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x7e, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x12, 0x46, 0x0a, 0x08, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x52, 0x08, + 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x4e, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, 0x75, 0x72, 0x69, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x55, + 0x72, 0x69, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x4b, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x4e, + 0x61, 0x6d, 0x65, 0x22, 0xa6, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x68, 0x0a, 0x14, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x13, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x5b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x1a, 0x3a, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x7d, 0x0a, 0x09, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x73, 0x73, + 0x75, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x06, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, + 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x49, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0b, 0x65, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xaa, 0x01, + 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x56, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x22, 0x74, 0x0a, 0x06, 0x52, 0x65, + 0x70, 0x6f, 0x49, 0x64, 0x12, 0x58, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, + 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x52, + 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, + 0x22, 0xf6, 0x03, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x68, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x59, 0x0a, 0x06, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x1a, 0x54, 0x0a, 0x10, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x39, + 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x81, 0x02, 0x0a, 0x0a, 0x52, 0x75, + 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x4e, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, + 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x0a, 0x62, 0x79, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x62, 0x79, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x12, + 0x4c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x45, 0x0a, + 0x11, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xeb, 0x01, 0x0a, 0x17, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x57, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x0a, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x53, 0x69, 0x67, + 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x22, 0x41, 0x0a, 0x0a, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x62, 0x6f, 0x6d, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xfe, 0x01, 0x0a, 0x1a, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, + 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x44, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x98, 0x02, 0x0a, 0x1c, 0x53, 0x62, 0x6f, 0x6d, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x62, 0x6f, 0x6d, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x72, 0x65, 0x72, 0x49, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x58, 0x0a, 0x13, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x4d, 0x0a, 0x09, 0x53, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, + 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x1d, 0x0a, 0x0b, 0x53, 0x6c, + 0x73, 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x70, 0x0a, 0x10, 0x53, 0x6c, 0x73, + 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x22, 0xc9, 0x02, 0x0a, 0x0c, + 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x11, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, + 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x57, 0x0a, 0x0c, 0x63, 0x6f, + 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, + 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, + 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, + 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x22, 0xb9, 0x02, 0x0a, 0x0e, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x07, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6c, 0x73, 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x12, + 0x4b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x06, + 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x65, 0x22, 0xc1, 0x01, 0x0a, 0x10, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x12, 0x5d, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0a, 0x72, 0x75, 0x6e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xab, 0x05, 0x0a, 0x15, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, + 0x6f, 0x12, 0x6c, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, + 0x6f, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x66, + 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, + 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, + 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x6f, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, + 0x61, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x69, 0x6e, 0x76, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6b, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, + 0x61, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x73, 0x12, 0x69, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x56, 0x31, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, + 0x54, 0x0a, 0x10, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd9, 0x03, 0x0a, 0x0a, 0x53, 0x6c, 0x73, 0x61, 0x52, 0x65, + 0x63, 0x69, 0x70, 0x65, 0x12, 0x5a, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, + 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, + 0x74, 0x12, 0x60, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x52, + 0x65, 0x63, 0x69, 0x70, 0x65, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x1a, 0x52, 0x0a, 0x0e, 0x41, 0x72, 0x67, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x54, 0x0a, 0x10, 0x45, + 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0xc0, 0x03, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x13, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x12, 0x61, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, + 0x3d, 0x0a, 0x1b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x4a, + 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x5a, 0x0a, 0x0b, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, + 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x66, 0x69, 0x6c, 0x65, + 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x1a, 0x6c, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, + 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x43, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x03, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x58, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, + 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x70, 0x6f, + 0x12, 0x4e, 0x0a, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x72, 0x72, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, + 0x12, 0x45, 0x0a, 0x03, 0x67, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x52, 0x03, 0x67, 0x69, 0x74, 0x12, 0x54, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, + 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x66, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x07, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0xa8, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4e, 0x0a, 0x06, + 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3d, 0x0a, 0x19, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x3e, 0x0a, 0x1a, 0x54, 0x65, + 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, + 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x7c, 0x0a, 0x08, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, + 0x69, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x76, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x22, + 0xa4, 0x02, 0x0a, 0x0b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, + 0x5c, 0x0a, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, + 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xb5, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x12, 0x51, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x73, 0x65, 0x64, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x0d, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x9e, + 0x01, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x70, + 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, + 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, + 0x97, 0x03, 0x0a, 0x0d, 0x56, 0x65, 0x78, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x63, 0x76, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x12, 0x56, 0x0a, + 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x50, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, + 0x69, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x55, 0x72, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x29, + 0x0a, 0x10, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x30, 0x0a, 0x06, 0x56, 0x6f, 0x6c, + 0x75, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x91, 0x03, 0x0a, 0x1b, + 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, + 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x61, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, + 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x12, 0x4a, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, + 0xe1, 0x03, 0x0a, 0x11, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x76, 0x73, 0x73, 0x53, + 0x63, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x76, 0x32, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x52, 0x06, + 0x63, 0x76, 0x73, 0x73, 0x56, 0x32, 0x12, 0x42, 0x0a, 0x07, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x76, + 0x33, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, + 0x76, 0x33, 0x52, 0x06, 0x63, 0x76, 0x73, 0x73, 0x56, 0x33, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x76, + 0x73, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x63, 0x76, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x48, + 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x22, 0xe0, 0x05, 0x0a, 0x17, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x1d, 0x0a, 0x0a, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x76, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x40, + 0x0a, 0x07, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x76, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x52, 0x06, 0x63, 0x76, 0x73, 0x73, 0x56, 0x32, + 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x76, 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x06, 0x63, 0x76, 0x73, 0x73, 0x76, 0x33, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x52, 0x06, 0x63, 0x76, + 0x73, 0x73, 0x76, 0x33, 0x12, 0x2d, 0x0a, 0x12, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x72, + 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x5f, + 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0c, 0x66, 0x69, 0x78, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x29, 0x0a, + 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, + 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x50, + 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x0a, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x57, 0x0a, + 0x0e, 0x76, 0x65, 0x78, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x78, 0x41, 0x73, 0x73, + 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x76, 0x65, 0x78, 0x41, 0x73, 0x73, 0x65, + 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x72, 0x0a, 0x1f, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x4f, 0x0a, 0x06, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, + 0x78, 0x61, 0x62, 0x6c, 0x65, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x44, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x52, 0x06, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0xaf, 0x01, 0x0a, 0x0d, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x69, 0x6e, + 0x67, 0x5f, 0x6b, 0x62, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x52, 0x09, 0x66, + 0x69, 0x78, 0x69, 0x6e, 0x67, 0x4b, 0x62, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfa, 0x02, 0x0a, + 0x0d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x4b, + 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, + 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, + 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x24, 0x0a, 0x0e, 0x6b, 0x62, 0x5f, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, + 0x6b, 0x62, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x54, 0x0a, 0x18, + 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, 0x61, 0x73, 0x74, + 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x35, 0x0a, 0x1f, 0x47, 0x65, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x8f, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, + 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x22, 0x96, 0x01, 0x0a, 0x2c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x3b, 0x0a, 0x25, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x40, 0x0a, 0x2a, 0x47, 0x65, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x39, 0x47, 0x65, + 0x74, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, + 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x95, 0x01, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, + 0xb6, 0x01, 0x0a, 0x2a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x74, 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x19, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, + 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x12, 0x4c, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, + 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, + 0x65, 0x22, 0x2f, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x86, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 0x9d, 0x01, 0x0a, 0x18, 0x50, 0x61, + 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x4c, 0x0a, 0x0d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x23, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x24, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x71, 0x0a, 0x13, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x99, 0x01, + 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x13, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x35, 0x0a, 0x1f, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x32, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x37, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x62, 0x0a, + 0x30, 0x47, 0x65, 0x74, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x22, 0x8c, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x22, 0xb5, 0x01, 0x0a, 0x1e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5e, 0x0a, 0x13, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x21, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x10, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x32, 0x19, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x32, 0xf7, 0x02, 0x0a, 0x1c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x9d, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, + 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x14, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x2a, 0x7d, 0x12, 0xb6, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, + 0x65, 0x73, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x32, 0x86, 0x02, 0x0a, + 0x27, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xda, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, + 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x12, 0x4f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x32, 0xf5, 0x06, 0x0a, 0x22, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xaf, 0x01, 0x0a, + 0x1e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, + 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0xb9, + 0x01, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x1a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x32, 0x47, + 0x65, 0x74, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x5c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0xce, 0x01, 0x0a, + 0x20, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x12, 0x4a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, + 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x32, 0x8e, 0x02, + 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x12, 0xe9, 0x01, 0x0a, 0x23, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, + 0x4d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x22, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, + 0x4d, 0x3a, 0x1b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x80, + 0x08, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xd2, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, + 0x74, 0x65, 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x20, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x0d, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x12, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, + 0x74, 0x65, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x25, 0x22, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, + 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x92, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x3c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, + 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x8b, 0x01, 0x0a, 0x0f, + 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x12, + 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, + 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0xa4, 0x01, 0x0a, 0x11, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, + 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x76, 0x31, 0x2f, + 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x23, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1d, 0x32, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x2a, 0x7d, 0x3a, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6e, 0x6f, 0x74, + 0x65, 0x32, 0xeb, 0x01, 0x0a, 0x1e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x65, 0x72, 0x12, 0xc8, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x46, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x32, + 0xba, 0x0c, 0x0a, 0x19, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xf0, 0x01, + 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x3d, 0x22, 0x26, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x13, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0xc6, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x22, 0x37, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, 0x6f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x18, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0x9d, 0x01, 0x0a, 0x15, 0x47, + 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, + 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, + 0x12, 0x12, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x2f, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0xfd, 0x01, 0x0a, 0x29, 0x47, 0x65, 0x74, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x37, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, + 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0xbc, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x12, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x12, 0xb6, 0x01, 0x0a, 0x17, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x22, 0x29, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x32, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x3a, 0x13, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x73, 0x5f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x32, 0xe9, 0x01, 0x0a, + 0x17, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0xcd, 0x01, 0x0a, 0x1a, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x22, 0x17, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x2a, 0x7d, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x53, 0x42, 0x4f, 0x4d, 0x3a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x5f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x55, 0x5a, 0x53, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, + 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x70, 0x62, 0x3b, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x70, 0x62, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescOnce sync.Once + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescData = file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDesc +) + +func file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescGZIP() []byte { + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescOnce.Do(func() { + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescData) + }) + return file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDescData +} + +var file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes = make([]protoimpl.MessageInfo, 215) +var file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_goTypes = []interface{}{ + (*AliasContext)(nil), // 0: google.cloud.containeranalysis.v1.AliasContext + (*AnalysisCompleted)(nil), // 1: google.cloud.containeranalysis.v1.AnalysisCompleted + (*Artifact)(nil), // 2: google.cloud.containeranalysis.v1.Artifact + (*Assessment)(nil), // 3: google.cloud.containeranalysis.v1.Assessment + (*AttestationNote)(nil), // 4: google.cloud.containeranalysis.v1.AttestationNote + (*AttestationOccurrence)(nil), // 5: google.cloud.containeranalysis.v1.AttestationOccurrence + (*BatchCreateNotesRequest)(nil), // 6: google.cloud.containeranalysis.v1.BatchCreateNotesRequest + (*BatchCreateNotesResponse)(nil), // 7: google.cloud.containeranalysis.v1.BatchCreateNotesResponse + (*BatchCreateOccurrencesRequest)(nil), // 8: google.cloud.containeranalysis.v1.BatchCreateOccurrencesRequest + (*BatchCreateOccurrencesResponse)(nil), // 9: google.cloud.containeranalysis.v1.BatchCreateOccurrencesResponse + (*Binding)(nil), // 10: google.cloud.containeranalysis.v1.Binding + (*BuildDefinition)(nil), // 11: google.cloud.containeranalysis.v1.BuildDefinition + (*BuildMetadata)(nil), // 12: google.cloud.containeranalysis.v1.BuildMetadata + (*BuildNote)(nil), // 13: google.cloud.containeranalysis.v1.BuildNote + (*BuildOccurrence)(nil), // 14: google.cloud.containeranalysis.v1.BuildOccurrence + (*BuildProvenance)(nil), // 15: google.cloud.containeranalysis.v1.BuildProvenance + (*BuildStep)(nil), // 16: google.cloud.containeranalysis.v1.BuildStep + (*BuilderConfig)(nil), // 17: google.cloud.containeranalysis.v1.BuilderConfig + (*CVSS)(nil), // 18: google.cloud.containeranalysis.v1.CVSS + (*CVSSv3)(nil), // 19: google.cloud.containeranalysis.v1.CVSSv3 + (*Category)(nil), // 20: google.cloud.containeranalysis.v1.Category + (*CisBenchmark)(nil), // 21: google.cloud.containeranalysis.v1.CisBenchmark + (*CloudRepoSourceContext)(nil), // 22: google.cloud.containeranalysis.v1.CloudRepoSourceContext + (*CloudStorageLocation)(nil), // 23: google.cloud.containeranalysis.v1.CloudStorageLocation + (*Command)(nil), // 24: google.cloud.containeranalysis.v1.Command + (*Completeness)(nil), // 25: google.cloud.containeranalysis.v1.Completeness + (*ComplianceNote)(nil), // 26: google.cloud.containeranalysis.v1.ComplianceNote + (*ComplianceOccurrence)(nil), // 27: google.cloud.containeranalysis.v1.ComplianceOccurrence + (*ComplianceVersion)(nil), // 28: google.cloud.containeranalysis.v1.ComplianceVersion + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig)(nil), // 29: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult)(nil), // 30: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts)(nil), // 31: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects)(nil), // 32: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact)(nil), // 33: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage)(nil), // 34: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage)(nil), // 35: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Build)(nil), // 36: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval)(nil), // 37: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo)(nil), // 38: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions)(nil), // 39: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption)(nil), // 40: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep)(nil), // 41: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning)(nil), // 42: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning + (*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage)(nil), // 43: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage + (*ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository)(nil), // 44: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + (*ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig)(nil), // 45: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig + (*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes)(nil), // 46: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig)(nil), // 47: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig + (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig)(nil), // 48: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig + (*ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource)(nil), // 49: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash)(nil), // 50: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Hash + (*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret)(nil), // 51: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret + (*ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource)(nil), // 52: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Results)(nil), // 53: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret)(nil), // 54: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secret + (*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret)(nil), // 55: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets)(nil), // 56: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Source)(nil), // 57: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source + (*ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance)(nil), // 58: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance + (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource)(nil), // 59: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + (*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest)(nil), // 60: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + (*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan)(nil), // 61: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact)(nil), // 62: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact + (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage)(nil), // 63: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage + (*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage)(nil), // 64: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage + (*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume)(nil), // 65: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Volume + (*DSSEAttestationNote)(nil), // 66: google.cloud.containeranalysis.v1.DSSEAttestationNote + (*DSSEAttestationOccurrence)(nil), // 67: google.cloud.containeranalysis.v1.DSSEAttestationOccurrence + (*DSSEHint)(nil), // 68: google.cloud.containeranalysis.v1.DSSEHint + (*DeploymentNote)(nil), // 69: google.cloud.containeranalysis.v1.DeploymentNote + (*DeploymentOccurrence)(nil), // 70: google.cloud.containeranalysis.v1.DeploymentOccurrence + (*Detail)(nil), // 71: google.cloud.containeranalysis.v1.Detail + (*Digest)(nil), // 72: google.cloud.containeranalysis.v1.Digest + (*DiscoveryNote)(nil), // 73: google.cloud.containeranalysis.v1.DiscoveryNote + (*DiscoveryOccurrence)(nil), // 74: google.cloud.containeranalysis.v1.DiscoveryOccurrence + (*Distribution)(nil), // 75: google.cloud.containeranalysis.v1.Distribution + (*Empty)(nil), // 76: google.cloud.containeranalysis.v1.Empty + (*Envelope)(nil), // 77: google.cloud.containeranalysis.v1.Envelope + (*EnvelopeSignature)(nil), // 78: google.cloud.containeranalysis.v1.EnvelopeSignature + (*ExportSBOMRequest)(nil), // 79: google.cloud.containeranalysis.v1.ExportSBOMRequest + (*ExportSBOMResponse)(nil), // 80: google.cloud.containeranalysis.v1.ExportSBOMResponse + (*Expr)(nil), // 81: google.cloud.containeranalysis.v1.Expr + (*FileHashes)(nil), // 82: google.cloud.containeranalysis.v1.FileHashes + (*Fingerprint)(nil), // 83: google.cloud.containeranalysis.v1.Fingerprint + (*FixableTotalByDigest)(nil), // 84: google.cloud.containeranalysis.v1.FixableTotalByDigest + (*GerritSourceContext)(nil), // 85: google.cloud.containeranalysis.v1.GerritSourceContext + (*GetIamPolicyRequest)(nil), // 86: google.cloud.containeranalysis.v1.GetIamPolicyRequest + (*GetPolicyOptions)(nil), // 87: google.cloud.containeranalysis.v1.GetPolicyOptions + (*GitSourceContext)(nil), // 88: google.cloud.containeranalysis.v1.GitSourceContext + (*GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata)(nil), // 89: google.cloud.containeranalysis.v1.GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata + (*GrafeasV1FileLocation)(nil), // 90: google.cloud.containeranalysis.v1.GrafeasV1FileLocation + (*GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder)(nil), // 91: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder + (*GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness)(nil), // 92: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness + (*GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource)(nil), // 93: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource + (*GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation)(nil), // 94: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation + (*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial)(nil), // 95: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial + (*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata)(nil), // 96: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata + (*Hash)(nil), // 97: google.cloud.containeranalysis.v1.Hash + (*Hint)(nil), // 98: google.cloud.containeranalysis.v1.Hint + (*Identity)(nil), // 99: google.cloud.containeranalysis.v1.Identity + (*ImageNote)(nil), // 100: google.cloud.containeranalysis.v1.ImageNote + (*ImageOccurrence)(nil), // 101: google.cloud.containeranalysis.v1.ImageOccurrence + (*InTotoProvenance)(nil), // 102: google.cloud.containeranalysis.v1.InTotoProvenance + (*InTotoSlsaProvenanceV1)(nil), // 103: google.cloud.containeranalysis.v1.InTotoSlsaProvenanceV1 + (*InTotoStatement)(nil), // 104: google.cloud.containeranalysis.v1.InTotoStatement + (*Justification)(nil), // 105: google.cloud.containeranalysis.v1.Justification + (*Jwt)(nil), // 106: google.cloud.containeranalysis.v1.Jwt + (*KnowledgeBase)(nil), // 107: google.cloud.containeranalysis.v1.KnowledgeBase + (*Layer)(nil), // 108: google.cloud.containeranalysis.v1.Layer + (*License)(nil), // 109: google.cloud.containeranalysis.v1.License + (*ListNoteOccurrencesResponse)(nil), // 110: google.cloud.containeranalysis.v1.ListNoteOccurrencesResponse + (*ListNotesResponse)(nil), // 111: google.cloud.containeranalysis.v1.ListNotesResponse + (*ListOccurrencesResponse)(nil), // 112: google.cloud.containeranalysis.v1.ListOccurrencesResponse + (*Location)(nil), // 113: google.cloud.containeranalysis.v1.Location + (*Material)(nil), // 114: google.cloud.containeranalysis.v1.Material + (*Metadata)(nil), // 115: google.cloud.containeranalysis.v1.Metadata + (*NonCompliantFile)(nil), // 116: google.cloud.containeranalysis.v1.NonCompliantFile + (*Note)(nil), // 117: google.cloud.containeranalysis.v1.Note + (*Occurrence)(nil), // 118: google.cloud.containeranalysis.v1.Occurrence + (*PackageIssue)(nil), // 119: google.cloud.containeranalysis.v1.PackageIssue + (*PackageNote)(nil), // 120: google.cloud.containeranalysis.v1.PackageNote + (*PackageOccurrence)(nil), // 121: google.cloud.containeranalysis.v1.PackageOccurrence + (*Policy)(nil), // 122: google.cloud.containeranalysis.v1.Policy + (*Product)(nil), // 123: google.cloud.containeranalysis.v1.Product + (*ProjectRepoId)(nil), // 124: google.cloud.containeranalysis.v1.ProjectRepoId + (*ProvenanceBuilder)(nil), // 125: google.cloud.containeranalysis.v1.ProvenanceBuilder + (*Publisher)(nil), // 126: google.cloud.containeranalysis.v1.Publisher + (*Recipe)(nil), // 127: google.cloud.containeranalysis.v1.Recipe + (*RelatedUrl)(nil), // 128: google.cloud.containeranalysis.v1.RelatedUrl + (*Remediation)(nil), // 129: google.cloud.containeranalysis.v1.Remediation + (*RepoId)(nil), // 130: google.cloud.containeranalysis.v1.RepoId + (*ResourceDescriptor)(nil), // 131: google.cloud.containeranalysis.v1.ResourceDescriptor + (*RunDetails)(nil), // 132: google.cloud.containeranalysis.v1.RunDetails + (*SBOMReferenceNote)(nil), // 133: google.cloud.containeranalysis.v1.SBOMReferenceNote + (*SBOMReferenceOccurrence)(nil), // 134: google.cloud.containeranalysis.v1.SBOMReferenceOccurrence + (*SBOMStatus)(nil), // 135: google.cloud.containeranalysis.v1.SBOMStatus + (*SbomReferenceIntotoPayload)(nil), // 136: google.cloud.containeranalysis.v1.SbomReferenceIntotoPayload + (*SbomReferenceIntotoPredicate)(nil), // 137: google.cloud.containeranalysis.v1.SbomReferenceIntotoPredicate + (*SetIamPolicyRequest)(nil), // 138: google.cloud.containeranalysis.v1.SetIamPolicyRequest + (*Signature)(nil), // 139: google.cloud.containeranalysis.v1.Signature + (*SlsaBuilder)(nil), // 140: google.cloud.containeranalysis.v1.SlsaBuilder + (*SlsaCompleteness)(nil), // 141: google.cloud.containeranalysis.v1.SlsaCompleteness + (*SlsaMetadata)(nil), // 142: google.cloud.containeranalysis.v1.SlsaMetadata + (*SlsaProvenance)(nil), // 143: google.cloud.containeranalysis.v1.SlsaProvenance + (*SlsaProvenanceV1)(nil), // 144: google.cloud.containeranalysis.v1.SlsaProvenanceV1 + (*SlsaProvenanceZeroTwo)(nil), // 145: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo + (*SlsaRecipe)(nil), // 146: google.cloud.containeranalysis.v1.SlsaRecipe + (*Source)(nil), // 147: google.cloud.containeranalysis.v1.Source + (*SourceContext)(nil), // 148: google.cloud.containeranalysis.v1.SourceContext + (*Status)(nil), // 149: google.cloud.containeranalysis.v1.Status + (*Subject)(nil), // 150: google.cloud.containeranalysis.v1.Subject + (*TestIamPermissionsRequest)(nil), // 151: google.cloud.containeranalysis.v1.TestIamPermissionsRequest + (*TestIamPermissionsResponse)(nil), // 152: google.cloud.containeranalysis.v1.TestIamPermissionsResponse + (*TimeSpan)(nil), // 153: google.cloud.containeranalysis.v1.TimeSpan + (*UpgradeDistribution)(nil), // 154: google.cloud.containeranalysis.v1.UpgradeDistribution + (*UpgradeNote)(nil), // 155: google.cloud.containeranalysis.v1.UpgradeNote + (*UpgradeOccurrence)(nil), // 156: google.cloud.containeranalysis.v1.UpgradeOccurrence + (*Version)(nil), // 157: google.cloud.containeranalysis.v1.Version + (*VexAssessment)(nil), // 158: google.cloud.containeranalysis.v1.VexAssessment + (*Volume)(nil), // 159: google.cloud.containeranalysis.v1.Volume + (*VulnerabilityAssessmentNote)(nil), // 160: google.cloud.containeranalysis.v1.VulnerabilityAssessmentNote + (*VulnerabilityNote)(nil), // 161: google.cloud.containeranalysis.v1.VulnerabilityNote + (*VulnerabilityOccurrence)(nil), // 162: google.cloud.containeranalysis.v1.VulnerabilityOccurrence + (*VulnerabilityOccurrencesSummary)(nil), // 163: google.cloud.containeranalysis.v1.VulnerabilityOccurrencesSummary + (*WindowsDetail)(nil), // 164: google.cloud.containeranalysis.v1.WindowsDetail + (*WindowsUpdate)(nil), // 165: google.cloud.containeranalysis.v1.WindowsUpdate + (*GetProjectsLocationsNoteRequest)(nil), // 166: google.cloud.containeranalysis.v1.GetProjectsLocationsNoteRequest + (*ListProjectsLocationsNotesRequest)(nil), // 167: google.cloud.containeranalysis.v1.ListProjectsLocationsNotesRequest + (*ListProjectsLocationsNotesOccurrencesRequest)(nil), // 168: google.cloud.containeranalysis.v1.ListProjectsLocationsNotesOccurrencesRequest + (*GetProjectsLocationsOccurrenceRequest)(nil), // 169: google.cloud.containeranalysis.v1.GetProjectsLocationsOccurrenceRequest + (*GetNotesProjectsLocationsOccurrenceRequest)(nil), // 170: google.cloud.containeranalysis.v1.GetNotesProjectsLocationsOccurrenceRequest + (*GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest)(nil), // 171: google.cloud.containeranalysis.v1.GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest + (*ListProjectsLocationsOccurrencesRequest)(nil), // 172: google.cloud.containeranalysis.v1.ListProjectsLocationsOccurrencesRequest + (*ExportSBOMProjectsLocationsResourceRequest)(nil), // 173: google.cloud.containeranalysis.v1.ExportSBOMProjectsLocationsResourceRequest + (*BatchCreateProjectsNoteRequest)(nil), // 174: google.cloud.containeranalysis.v1.BatchCreateProjectsNoteRequest + (*CreateProjectsNoteRequest)(nil), // 175: google.cloud.containeranalysis.v1.CreateProjectsNoteRequest + (*DeleteProjectsNoteRequest)(nil), // 176: google.cloud.containeranalysis.v1.DeleteProjectsNoteRequest + (*GetProjectsNoteRequest)(nil), // 177: google.cloud.containeranalysis.v1.GetProjectsNoteRequest + (*ListProjectsNotesRequest)(nil), // 178: google.cloud.containeranalysis.v1.ListProjectsNotesRequest + (*PatchProjectsNoteRequest)(nil), // 179: google.cloud.containeranalysis.v1.PatchProjectsNoteRequest + (*ListProjectsNotesOccurrencesRequest)(nil), // 180: google.cloud.containeranalysis.v1.ListProjectsNotesOccurrencesRequest + (*BatchCreateProjectsOccurrenceRequest)(nil), // 181: google.cloud.containeranalysis.v1.BatchCreateProjectsOccurrenceRequest + (*CreateProjectsOccurrenceRequest)(nil), // 182: google.cloud.containeranalysis.v1.CreateProjectsOccurrenceRequest + (*DeleteProjectsOccurrenceRequest)(nil), // 183: google.cloud.containeranalysis.v1.DeleteProjectsOccurrenceRequest + (*GetProjectsOccurrenceRequest)(nil), // 184: google.cloud.containeranalysis.v1.GetProjectsOccurrenceRequest + (*GetNotesProjectsOccurrenceRequest)(nil), // 185: google.cloud.containeranalysis.v1.GetNotesProjectsOccurrenceRequest + (*GetVulnerabilitySummaryProjectsOccurrenceRequest)(nil), // 186: google.cloud.containeranalysis.v1.GetVulnerabilitySummaryProjectsOccurrenceRequest + (*ListProjectsOccurrencesRequest)(nil), // 187: google.cloud.containeranalysis.v1.ListProjectsOccurrencesRequest + (*PatchProjectsOccurrenceRequest)(nil), // 188: google.cloud.containeranalysis.v1.PatchProjectsOccurrenceRequest + (*ExportSBOMProjectsResourceRequest)(nil), // 189: google.cloud.containeranalysis.v1.ExportSBOMProjectsResourceRequest + nil, // 190: google.cloud.containeranalysis.v1.BatchCreateNotesRequest.NotesEntry + nil, // 191: google.cloud.containeranalysis.v1.BuildDefinition.ExternalParametersEntry + nil, // 192: google.cloud.containeranalysis.v1.BuildDefinition.InternalParametersEntry + nil, // 193: google.cloud.containeranalysis.v1.BuildProvenance.BuildOptionsEntry + nil, // 194: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.SubstitutionsEntry + nil, // 195: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.TimingEntry + nil, // 196: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret.EnvMapEntry + nil, // 197: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource.SubstitutionsEntry + nil, // 198: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secret.SecretEnvEntry + nil, // 199: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.FileHashesEntry + nil, // 200: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource.DigestEntry + nil, // 201: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.EnvironmentEntry + nil, // 202: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.ParametersEntry + nil, // 203: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial.DigestEntry + nil, // 204: google.cloud.containeranalysis.v1.Material.DigestEntry + nil, // 205: google.cloud.containeranalysis.v1.ProvenanceBuilder.VersionEntry + nil, // 206: google.cloud.containeranalysis.v1.ResourceDescriptor.AnnotationsEntry + nil, // 207: google.cloud.containeranalysis.v1.ResourceDescriptor.DigestEntry + nil, // 208: google.cloud.containeranalysis.v1.SbomReferenceIntotoPredicate.DigestEntry + nil, // 209: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.BuildConfigEntry + nil, // 210: google.cloud.containeranalysis.v1.SlsaRecipe.ArgumentsEntry + nil, // 211: google.cloud.containeranalysis.v1.SlsaRecipe.EnvironmentEntry + nil, // 212: google.cloud.containeranalysis.v1.Source.FileHashesEntry + nil, // 213: google.cloud.containeranalysis.v1.SourceContext.LabelsEntry + nil, // 214: google.cloud.containeranalysis.v1.Subject.DigestEntry + (*timestamp.Timestamp)(nil), // 215: google.protobuf.Timestamp + (*duration.Duration)(nil), // 216: google.protobuf.Duration + (*any1.Any)(nil), // 217: google.protobuf.Any +} +var file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_depIdxs = []int32{ + 105, // 0: google.cloud.containeranalysis.v1.Assessment.justification:type_name -> google.cloud.containeranalysis.v1.Justification + 128, // 1: google.cloud.containeranalysis.v1.Assessment.related_uris:type_name -> google.cloud.containeranalysis.v1.RelatedUrl + 129, // 2: google.cloud.containeranalysis.v1.Assessment.remediations:type_name -> google.cloud.containeranalysis.v1.Remediation + 98, // 3: google.cloud.containeranalysis.v1.AttestationNote.hint:type_name -> google.cloud.containeranalysis.v1.Hint + 106, // 4: google.cloud.containeranalysis.v1.AttestationOccurrence.jwts:type_name -> google.cloud.containeranalysis.v1.Jwt + 139, // 5: google.cloud.containeranalysis.v1.AttestationOccurrence.signatures:type_name -> google.cloud.containeranalysis.v1.Signature + 190, // 6: google.cloud.containeranalysis.v1.BatchCreateNotesRequest.notes:type_name -> google.cloud.containeranalysis.v1.BatchCreateNotesRequest.NotesEntry + 117, // 7: google.cloud.containeranalysis.v1.BatchCreateNotesResponse.notes:type_name -> google.cloud.containeranalysis.v1.Note + 118, // 8: google.cloud.containeranalysis.v1.BatchCreateOccurrencesRequest.occurrences:type_name -> google.cloud.containeranalysis.v1.Occurrence + 118, // 9: google.cloud.containeranalysis.v1.BatchCreateOccurrencesResponse.occurrences:type_name -> google.cloud.containeranalysis.v1.Occurrence + 81, // 10: google.cloud.containeranalysis.v1.Binding.condition:type_name -> google.cloud.containeranalysis.v1.Expr + 191, // 11: google.cloud.containeranalysis.v1.BuildDefinition.external_parameters:type_name -> google.cloud.containeranalysis.v1.BuildDefinition.ExternalParametersEntry + 192, // 12: google.cloud.containeranalysis.v1.BuildDefinition.internal_parameters:type_name -> google.cloud.containeranalysis.v1.BuildDefinition.InternalParametersEntry + 131, // 13: google.cloud.containeranalysis.v1.BuildDefinition.resolved_dependencies:type_name -> google.cloud.containeranalysis.v1.ResourceDescriptor + 215, // 14: google.cloud.containeranalysis.v1.BuildMetadata.finished_on:type_name -> google.protobuf.Timestamp + 215, // 15: google.cloud.containeranalysis.v1.BuildMetadata.started_on:type_name -> google.protobuf.Timestamp + 103, // 16: google.cloud.containeranalysis.v1.BuildOccurrence.in_toto_slsa_provenance_v1:type_name -> google.cloud.containeranalysis.v1.InTotoSlsaProvenanceV1 + 102, // 17: google.cloud.containeranalysis.v1.BuildOccurrence.intoto_provenance:type_name -> google.cloud.containeranalysis.v1.InTotoProvenance + 104, // 18: google.cloud.containeranalysis.v1.BuildOccurrence.intoto_statement:type_name -> google.cloud.containeranalysis.v1.InTotoStatement + 15, // 19: google.cloud.containeranalysis.v1.BuildOccurrence.provenance:type_name -> google.cloud.containeranalysis.v1.BuildProvenance + 193, // 20: google.cloud.containeranalysis.v1.BuildProvenance.build_options:type_name -> google.cloud.containeranalysis.v1.BuildProvenance.BuildOptionsEntry + 2, // 21: google.cloud.containeranalysis.v1.BuildProvenance.built_artifacts:type_name -> google.cloud.containeranalysis.v1.Artifact + 24, // 22: google.cloud.containeranalysis.v1.BuildProvenance.commands:type_name -> google.cloud.containeranalysis.v1.Command + 215, // 23: google.cloud.containeranalysis.v1.BuildProvenance.create_time:type_name -> google.protobuf.Timestamp + 215, // 24: google.cloud.containeranalysis.v1.BuildProvenance.end_time:type_name -> google.protobuf.Timestamp + 147, // 25: google.cloud.containeranalysis.v1.BuildProvenance.source_provenance:type_name -> google.cloud.containeranalysis.v1.Source + 215, // 26: google.cloud.containeranalysis.v1.BuildProvenance.start_time:type_name -> google.protobuf.Timestamp + 153, // 27: google.cloud.containeranalysis.v1.BuildStep.pull_timing:type_name -> google.cloud.containeranalysis.v1.TimeSpan + 216, // 28: google.cloud.containeranalysis.v1.BuildStep.timeout:type_name -> google.protobuf.Duration + 153, // 29: google.cloud.containeranalysis.v1.BuildStep.timing:type_name -> google.cloud.containeranalysis.v1.TimeSpan + 159, // 30: google.cloud.containeranalysis.v1.BuildStep.volumes:type_name -> google.cloud.containeranalysis.v1.Volume + 0, // 31: google.cloud.containeranalysis.v1.CloudRepoSourceContext.alias_context:type_name -> google.cloud.containeranalysis.v1.AliasContext + 130, // 32: google.cloud.containeranalysis.v1.CloudRepoSourceContext.repo_id:type_name -> google.cloud.containeranalysis.v1.RepoId + 21, // 33: google.cloud.containeranalysis.v1.ComplianceNote.cis_benchmark:type_name -> google.cloud.containeranalysis.v1.CisBenchmark + 28, // 34: google.cloud.containeranalysis.v1.ComplianceNote.version:type_name -> google.cloud.containeranalysis.v1.ComplianceVersion + 116, // 35: google.cloud.containeranalysis.v1.ComplianceOccurrence.non_compliant_files:type_name -> google.cloud.containeranalysis.v1.NonCompliantFile + 28, // 36: google.cloud.containeranalysis.v1.ComplianceOccurrence.version:type_name -> google.cloud.containeranalysis.v1.ComplianceVersion + 215, // 37: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult.approval_time:type_name -> google.protobuf.Timestamp + 33, // 38: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts.maven_artifacts:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact + 34, // 39: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts.npm_packages:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage + 32, // 40: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts.objects:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects + 35, // 41: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts.python_packages:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage + 61, // 42: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects.timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 37, // 43: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.approval:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval + 31, // 44: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.artifacts:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts + 56, // 45: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.available_secrets:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets + 215, // 46: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.create_time:type_name -> google.protobuf.Timestamp + 38, // 47: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.failure_info:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo + 215, // 48: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.finish_time:type_name -> google.protobuf.Timestamp + 47, // 49: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.git_config:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig + 39, // 50: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.options:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions + 216, // 51: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.queue_ttl:type_name -> google.protobuf.Duration + 53, // 52: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.results:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results + 54, // 53: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.secrets:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secret + 57, // 54: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source + 58, // 55: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.source_provenance:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance + 215, // 56: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.start_time:type_name -> google.protobuf.Timestamp + 41, // 57: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.steps:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep + 194, // 58: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.substitutions:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.SubstitutionsEntry + 216, // 59: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.timeout:type_name -> google.protobuf.Duration + 195, // 60: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.TimingEntry + 42, // 61: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.warnings:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning + 29, // 62: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval.config:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig + 30, // 63: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval.result:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult + 40, // 64: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions.pool:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption + 65, // 65: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions.volumes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Volume + 61, // 66: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep.pull_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 216, // 67: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep.timeout:type_name -> google.protobuf.Duration + 61, // 68: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep.timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 65, // 69: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep.volumes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Volume + 61, // 70: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage.push_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 50, // 71: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes.file_hash:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Hash + 48, // 72: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig.http:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig + 196, // 73: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret.env_map:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret.EnvMapEntry + 197, // 74: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource.substitutions:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource.SubstitutionsEntry + 61, // 75: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results.artifact_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 43, // 76: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results.images:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage + 62, // 77: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results.maven_artifacts:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact + 63, // 78: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results.npm_packages:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage + 64, // 79: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Results.python_packages:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage + 198, // 80: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secret.secret_env:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secret.SecretEnvEntry + 51, // 81: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets.inline:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret + 55, // 82: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets.secret_manager:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret + 44, // 83: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.connected_repository:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + 45, // 84: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.developer_connect_config:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig + 49, // 85: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.git_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + 52, // 86: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.repo_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource + 59, // 87: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.storage_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + 60, // 88: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Source.storage_source_manifest:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + 199, // 89: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.file_hashes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.FileHashesEntry + 44, // 90: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.resolved_connected_repository:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository + 49, // 91: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.resolved_git_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource + 52, // 92: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.resolved_repo_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource + 59, // 93: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.resolved_storage_source:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource + 60, // 94: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.resolved_storage_source_manifest:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest + 215, // 95: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan.end_time:type_name -> google.protobuf.Timestamp + 215, // 96: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan.start_time:type_name -> google.protobuf.Timestamp + 46, // 97: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact.file_hashes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + 61, // 98: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact.push_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 46, // 99: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage.file_hashes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + 61, // 100: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage.push_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 46, // 101: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage.file_hashes:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + 61, // 102: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage.push_timing:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 68, // 103: google.cloud.containeranalysis.v1.DSSEAttestationNote.hint:type_name -> google.cloud.containeranalysis.v1.DSSEHint + 77, // 104: google.cloud.containeranalysis.v1.DSSEAttestationOccurrence.envelope:type_name -> google.cloud.containeranalysis.v1.Envelope + 104, // 105: google.cloud.containeranalysis.v1.DSSEAttestationOccurrence.statement:type_name -> google.cloud.containeranalysis.v1.InTotoStatement + 215, // 106: google.cloud.containeranalysis.v1.DeploymentOccurrence.deploy_time:type_name -> google.protobuf.Timestamp + 215, // 107: google.cloud.containeranalysis.v1.DeploymentOccurrence.undeploy_time:type_name -> google.protobuf.Timestamp + 157, // 108: google.cloud.containeranalysis.v1.Detail.affected_version_end:type_name -> google.cloud.containeranalysis.v1.Version + 157, // 109: google.cloud.containeranalysis.v1.Detail.affected_version_start:type_name -> google.cloud.containeranalysis.v1.Version + 157, // 110: google.cloud.containeranalysis.v1.Detail.fixed_version:type_name -> google.cloud.containeranalysis.v1.Version + 215, // 111: google.cloud.containeranalysis.v1.Detail.source_update_time:type_name -> google.protobuf.Timestamp + 1, // 112: google.cloud.containeranalysis.v1.DiscoveryOccurrence.analysis_completed:type_name -> google.cloud.containeranalysis.v1.AnalysisCompleted + 149, // 113: google.cloud.containeranalysis.v1.DiscoveryOccurrence.analysis_error:type_name -> google.cloud.containeranalysis.v1.Status + 149, // 114: google.cloud.containeranalysis.v1.DiscoveryOccurrence.analysis_status_error:type_name -> google.cloud.containeranalysis.v1.Status + 215, // 115: google.cloud.containeranalysis.v1.DiscoveryOccurrence.archive_time:type_name -> google.protobuf.Timestamp + 215, // 116: google.cloud.containeranalysis.v1.DiscoveryOccurrence.last_scan_time:type_name -> google.protobuf.Timestamp + 135, // 117: google.cloud.containeranalysis.v1.DiscoveryOccurrence.sbom_status:type_name -> google.cloud.containeranalysis.v1.SBOMStatus + 157, // 118: google.cloud.containeranalysis.v1.Distribution.latest_version:type_name -> google.cloud.containeranalysis.v1.Version + 78, // 119: google.cloud.containeranalysis.v1.Envelope.signatures:type_name -> google.cloud.containeranalysis.v1.EnvelopeSignature + 23, // 120: google.cloud.containeranalysis.v1.ExportSBOMRequest.cloud_storage_location:type_name -> google.cloud.containeranalysis.v1.CloudStorageLocation + 97, // 121: google.cloud.containeranalysis.v1.FileHashes.file_hash:type_name -> google.cloud.containeranalysis.v1.Hash + 0, // 122: google.cloud.containeranalysis.v1.GerritSourceContext.alias_context:type_name -> google.cloud.containeranalysis.v1.AliasContext + 87, // 123: google.cloud.containeranalysis.v1.GetIamPolicyRequest.options:type_name -> google.cloud.containeranalysis.v1.GetPolicyOptions + 215, // 124: google.cloud.containeranalysis.v1.GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata.create_time:type_name -> google.protobuf.Timestamp + 215, // 125: google.cloud.containeranalysis.v1.GoogleDevtoolsContaineranalysisV1alpha1OperationMetadata.end_time:type_name -> google.protobuf.Timestamp + 200, // 126: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource.digest:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource.DigestEntry + 93, // 127: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.config_source:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource + 201, // 128: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.environment:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.EnvironmentEntry + 202, // 129: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.parameters:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.ParametersEntry + 203, // 130: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial.digest:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial.DigestEntry + 215, // 131: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata.build_finished_on:type_name -> google.protobuf.Timestamp + 215, // 132: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata.build_started_on:type_name -> google.protobuf.Timestamp + 92, // 133: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata.completeness:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness + 83, // 134: google.cloud.containeranalysis.v1.ImageNote.fingerprint:type_name -> google.cloud.containeranalysis.v1.Fingerprint + 83, // 135: google.cloud.containeranalysis.v1.ImageOccurrence.fingerprint:type_name -> google.cloud.containeranalysis.v1.Fingerprint + 108, // 136: google.cloud.containeranalysis.v1.ImageOccurrence.layer_info:type_name -> google.cloud.containeranalysis.v1.Layer + 17, // 137: google.cloud.containeranalysis.v1.InTotoProvenance.builder_config:type_name -> google.cloud.containeranalysis.v1.BuilderConfig + 115, // 138: google.cloud.containeranalysis.v1.InTotoProvenance.metadata:type_name -> google.cloud.containeranalysis.v1.Metadata + 127, // 139: google.cloud.containeranalysis.v1.InTotoProvenance.recipe:type_name -> google.cloud.containeranalysis.v1.Recipe + 144, // 140: google.cloud.containeranalysis.v1.InTotoSlsaProvenanceV1.predicate:type_name -> google.cloud.containeranalysis.v1.SlsaProvenanceV1 + 150, // 141: google.cloud.containeranalysis.v1.InTotoSlsaProvenanceV1.subject:type_name -> google.cloud.containeranalysis.v1.Subject + 102, // 142: google.cloud.containeranalysis.v1.InTotoStatement.provenance:type_name -> google.cloud.containeranalysis.v1.InTotoProvenance + 143, // 143: google.cloud.containeranalysis.v1.InTotoStatement.slsa_provenance:type_name -> google.cloud.containeranalysis.v1.SlsaProvenance + 145, // 144: google.cloud.containeranalysis.v1.InTotoStatement.slsa_provenance_zero_two:type_name -> google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo + 150, // 145: google.cloud.containeranalysis.v1.InTotoStatement.subject:type_name -> google.cloud.containeranalysis.v1.Subject + 118, // 146: google.cloud.containeranalysis.v1.ListNoteOccurrencesResponse.occurrences:type_name -> google.cloud.containeranalysis.v1.Occurrence + 117, // 147: google.cloud.containeranalysis.v1.ListNotesResponse.notes:type_name -> google.cloud.containeranalysis.v1.Note + 118, // 148: google.cloud.containeranalysis.v1.ListOccurrencesResponse.occurrences:type_name -> google.cloud.containeranalysis.v1.Occurrence + 157, // 149: google.cloud.containeranalysis.v1.Location.version:type_name -> google.cloud.containeranalysis.v1.Version + 204, // 150: google.cloud.containeranalysis.v1.Material.digest:type_name -> google.cloud.containeranalysis.v1.Material.DigestEntry + 215, // 151: google.cloud.containeranalysis.v1.Metadata.build_finished_on:type_name -> google.protobuf.Timestamp + 215, // 152: google.cloud.containeranalysis.v1.Metadata.build_started_on:type_name -> google.protobuf.Timestamp + 25, // 153: google.cloud.containeranalysis.v1.Metadata.completeness:type_name -> google.cloud.containeranalysis.v1.Completeness + 4, // 154: google.cloud.containeranalysis.v1.Note.attestation:type_name -> google.cloud.containeranalysis.v1.AttestationNote + 13, // 155: google.cloud.containeranalysis.v1.Note.build:type_name -> google.cloud.containeranalysis.v1.BuildNote + 26, // 156: google.cloud.containeranalysis.v1.Note.compliance:type_name -> google.cloud.containeranalysis.v1.ComplianceNote + 215, // 157: google.cloud.containeranalysis.v1.Note.create_time:type_name -> google.protobuf.Timestamp + 69, // 158: google.cloud.containeranalysis.v1.Note.deployment:type_name -> google.cloud.containeranalysis.v1.DeploymentNote + 73, // 159: google.cloud.containeranalysis.v1.Note.discovery:type_name -> google.cloud.containeranalysis.v1.DiscoveryNote + 66, // 160: google.cloud.containeranalysis.v1.Note.dsse_attestation:type_name -> google.cloud.containeranalysis.v1.DSSEAttestationNote + 215, // 161: google.cloud.containeranalysis.v1.Note.expiration_time:type_name -> google.protobuf.Timestamp + 100, // 162: google.cloud.containeranalysis.v1.Note.image:type_name -> google.cloud.containeranalysis.v1.ImageNote + 120, // 163: google.cloud.containeranalysis.v1.Note.package:type_name -> google.cloud.containeranalysis.v1.PackageNote + 128, // 164: google.cloud.containeranalysis.v1.Note.related_url:type_name -> google.cloud.containeranalysis.v1.RelatedUrl + 133, // 165: google.cloud.containeranalysis.v1.Note.sbom_reference:type_name -> google.cloud.containeranalysis.v1.SBOMReferenceNote + 215, // 166: google.cloud.containeranalysis.v1.Note.update_time:type_name -> google.protobuf.Timestamp + 155, // 167: google.cloud.containeranalysis.v1.Note.upgrade:type_name -> google.cloud.containeranalysis.v1.UpgradeNote + 161, // 168: google.cloud.containeranalysis.v1.Note.vulnerability:type_name -> google.cloud.containeranalysis.v1.VulnerabilityNote + 160, // 169: google.cloud.containeranalysis.v1.Note.vulnerability_assessment:type_name -> google.cloud.containeranalysis.v1.VulnerabilityAssessmentNote + 5, // 170: google.cloud.containeranalysis.v1.Occurrence.attestation:type_name -> google.cloud.containeranalysis.v1.AttestationOccurrence + 14, // 171: google.cloud.containeranalysis.v1.Occurrence.build:type_name -> google.cloud.containeranalysis.v1.BuildOccurrence + 27, // 172: google.cloud.containeranalysis.v1.Occurrence.compliance:type_name -> google.cloud.containeranalysis.v1.ComplianceOccurrence + 215, // 173: google.cloud.containeranalysis.v1.Occurrence.create_time:type_name -> google.protobuf.Timestamp + 70, // 174: google.cloud.containeranalysis.v1.Occurrence.deployment:type_name -> google.cloud.containeranalysis.v1.DeploymentOccurrence + 74, // 175: google.cloud.containeranalysis.v1.Occurrence.discovery:type_name -> google.cloud.containeranalysis.v1.DiscoveryOccurrence + 67, // 176: google.cloud.containeranalysis.v1.Occurrence.dsse_attestation:type_name -> google.cloud.containeranalysis.v1.DSSEAttestationOccurrence + 77, // 177: google.cloud.containeranalysis.v1.Occurrence.envelope:type_name -> google.cloud.containeranalysis.v1.Envelope + 101, // 178: google.cloud.containeranalysis.v1.Occurrence.image:type_name -> google.cloud.containeranalysis.v1.ImageOccurrence + 121, // 179: google.cloud.containeranalysis.v1.Occurrence.package:type_name -> google.cloud.containeranalysis.v1.PackageOccurrence + 134, // 180: google.cloud.containeranalysis.v1.Occurrence.sbom_reference:type_name -> google.cloud.containeranalysis.v1.SBOMReferenceOccurrence + 215, // 181: google.cloud.containeranalysis.v1.Occurrence.update_time:type_name -> google.protobuf.Timestamp + 156, // 182: google.cloud.containeranalysis.v1.Occurrence.upgrade:type_name -> google.cloud.containeranalysis.v1.UpgradeOccurrence + 162, // 183: google.cloud.containeranalysis.v1.Occurrence.vulnerability:type_name -> google.cloud.containeranalysis.v1.VulnerabilityOccurrence + 157, // 184: google.cloud.containeranalysis.v1.PackageIssue.affected_version:type_name -> google.cloud.containeranalysis.v1.Version + 90, // 185: google.cloud.containeranalysis.v1.PackageIssue.file_location:type_name -> google.cloud.containeranalysis.v1.GrafeasV1FileLocation + 157, // 186: google.cloud.containeranalysis.v1.PackageIssue.fixed_version:type_name -> google.cloud.containeranalysis.v1.Version + 72, // 187: google.cloud.containeranalysis.v1.PackageNote.digest:type_name -> google.cloud.containeranalysis.v1.Digest + 75, // 188: google.cloud.containeranalysis.v1.PackageNote.distribution:type_name -> google.cloud.containeranalysis.v1.Distribution + 109, // 189: google.cloud.containeranalysis.v1.PackageNote.license:type_name -> google.cloud.containeranalysis.v1.License + 157, // 190: google.cloud.containeranalysis.v1.PackageNote.version:type_name -> google.cloud.containeranalysis.v1.Version + 109, // 191: google.cloud.containeranalysis.v1.PackageOccurrence.license:type_name -> google.cloud.containeranalysis.v1.License + 113, // 192: google.cloud.containeranalysis.v1.PackageOccurrence.location:type_name -> google.cloud.containeranalysis.v1.Location + 157, // 193: google.cloud.containeranalysis.v1.PackageOccurrence.version:type_name -> google.cloud.containeranalysis.v1.Version + 10, // 194: google.cloud.containeranalysis.v1.Policy.bindings:type_name -> google.cloud.containeranalysis.v1.Binding + 131, // 195: google.cloud.containeranalysis.v1.ProvenanceBuilder.builder_dependencies:type_name -> google.cloud.containeranalysis.v1.ResourceDescriptor + 205, // 196: google.cloud.containeranalysis.v1.ProvenanceBuilder.version:type_name -> google.cloud.containeranalysis.v1.ProvenanceBuilder.VersionEntry + 217, // 197: google.cloud.containeranalysis.v1.Recipe.arguments:type_name -> google.protobuf.Any + 217, // 198: google.cloud.containeranalysis.v1.Recipe.environment:type_name -> google.protobuf.Any + 128, // 199: google.cloud.containeranalysis.v1.Remediation.remediation_uri:type_name -> google.cloud.containeranalysis.v1.RelatedUrl + 124, // 200: google.cloud.containeranalysis.v1.RepoId.project_repo_id:type_name -> google.cloud.containeranalysis.v1.ProjectRepoId + 206, // 201: google.cloud.containeranalysis.v1.ResourceDescriptor.annotations:type_name -> google.cloud.containeranalysis.v1.ResourceDescriptor.AnnotationsEntry + 207, // 202: google.cloud.containeranalysis.v1.ResourceDescriptor.digest:type_name -> google.cloud.containeranalysis.v1.ResourceDescriptor.DigestEntry + 125, // 203: google.cloud.containeranalysis.v1.RunDetails.builder:type_name -> google.cloud.containeranalysis.v1.ProvenanceBuilder + 131, // 204: google.cloud.containeranalysis.v1.RunDetails.byproducts:type_name -> google.cloud.containeranalysis.v1.ResourceDescriptor + 12, // 205: google.cloud.containeranalysis.v1.RunDetails.metadata:type_name -> google.cloud.containeranalysis.v1.BuildMetadata + 136, // 206: google.cloud.containeranalysis.v1.SBOMReferenceOccurrence.payload:type_name -> google.cloud.containeranalysis.v1.SbomReferenceIntotoPayload + 78, // 207: google.cloud.containeranalysis.v1.SBOMReferenceOccurrence.signatures:type_name -> google.cloud.containeranalysis.v1.EnvelopeSignature + 137, // 208: google.cloud.containeranalysis.v1.SbomReferenceIntotoPayload.predicate:type_name -> google.cloud.containeranalysis.v1.SbomReferenceIntotoPredicate + 150, // 209: google.cloud.containeranalysis.v1.SbomReferenceIntotoPayload.subject:type_name -> google.cloud.containeranalysis.v1.Subject + 208, // 210: google.cloud.containeranalysis.v1.SbomReferenceIntotoPredicate.digest:type_name -> google.cloud.containeranalysis.v1.SbomReferenceIntotoPredicate.DigestEntry + 122, // 211: google.cloud.containeranalysis.v1.SetIamPolicyRequest.policy:type_name -> google.cloud.containeranalysis.v1.Policy + 215, // 212: google.cloud.containeranalysis.v1.SlsaMetadata.build_finished_on:type_name -> google.protobuf.Timestamp + 215, // 213: google.cloud.containeranalysis.v1.SlsaMetadata.build_started_on:type_name -> google.protobuf.Timestamp + 141, // 214: google.cloud.containeranalysis.v1.SlsaMetadata.completeness:type_name -> google.cloud.containeranalysis.v1.SlsaCompleteness + 140, // 215: google.cloud.containeranalysis.v1.SlsaProvenance.builder:type_name -> google.cloud.containeranalysis.v1.SlsaBuilder + 114, // 216: google.cloud.containeranalysis.v1.SlsaProvenance.materials:type_name -> google.cloud.containeranalysis.v1.Material + 142, // 217: google.cloud.containeranalysis.v1.SlsaProvenance.metadata:type_name -> google.cloud.containeranalysis.v1.SlsaMetadata + 146, // 218: google.cloud.containeranalysis.v1.SlsaProvenance.recipe:type_name -> google.cloud.containeranalysis.v1.SlsaRecipe + 11, // 219: google.cloud.containeranalysis.v1.SlsaProvenanceV1.build_definition:type_name -> google.cloud.containeranalysis.v1.BuildDefinition + 132, // 220: google.cloud.containeranalysis.v1.SlsaProvenanceV1.run_details:type_name -> google.cloud.containeranalysis.v1.RunDetails + 209, // 221: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.build_config:type_name -> google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.BuildConfigEntry + 91, // 222: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.builder:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder + 94, // 223: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.invocation:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation + 95, // 224: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.materials:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial + 96, // 225: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.metadata:type_name -> google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata + 210, // 226: google.cloud.containeranalysis.v1.SlsaRecipe.arguments:type_name -> google.cloud.containeranalysis.v1.SlsaRecipe.ArgumentsEntry + 211, // 227: google.cloud.containeranalysis.v1.SlsaRecipe.environment:type_name -> google.cloud.containeranalysis.v1.SlsaRecipe.EnvironmentEntry + 148, // 228: google.cloud.containeranalysis.v1.Source.additional_contexts:type_name -> google.cloud.containeranalysis.v1.SourceContext + 148, // 229: google.cloud.containeranalysis.v1.Source.context:type_name -> google.cloud.containeranalysis.v1.SourceContext + 212, // 230: google.cloud.containeranalysis.v1.Source.file_hashes:type_name -> google.cloud.containeranalysis.v1.Source.FileHashesEntry + 22, // 231: google.cloud.containeranalysis.v1.SourceContext.cloud_repo:type_name -> google.cloud.containeranalysis.v1.CloudRepoSourceContext + 85, // 232: google.cloud.containeranalysis.v1.SourceContext.gerrit:type_name -> google.cloud.containeranalysis.v1.GerritSourceContext + 88, // 233: google.cloud.containeranalysis.v1.SourceContext.git:type_name -> google.cloud.containeranalysis.v1.GitSourceContext + 213, // 234: google.cloud.containeranalysis.v1.SourceContext.labels:type_name -> google.cloud.containeranalysis.v1.SourceContext.LabelsEntry + 217, // 235: google.cloud.containeranalysis.v1.Status.details:type_name -> google.protobuf.Any + 214, // 236: google.cloud.containeranalysis.v1.Subject.digest:type_name -> google.cloud.containeranalysis.v1.Subject.DigestEntry + 215, // 237: google.cloud.containeranalysis.v1.TimeSpan.end_time:type_name -> google.protobuf.Timestamp + 215, // 238: google.cloud.containeranalysis.v1.TimeSpan.start_time:type_name -> google.protobuf.Timestamp + 154, // 239: google.cloud.containeranalysis.v1.UpgradeNote.distributions:type_name -> google.cloud.containeranalysis.v1.UpgradeDistribution + 157, // 240: google.cloud.containeranalysis.v1.UpgradeNote.version:type_name -> google.cloud.containeranalysis.v1.Version + 165, // 241: google.cloud.containeranalysis.v1.UpgradeNote.windows_update:type_name -> google.cloud.containeranalysis.v1.WindowsUpdate + 154, // 242: google.cloud.containeranalysis.v1.UpgradeOccurrence.distribution:type_name -> google.cloud.containeranalysis.v1.UpgradeDistribution + 157, // 243: google.cloud.containeranalysis.v1.UpgradeOccurrence.parsed_version:type_name -> google.cloud.containeranalysis.v1.Version + 165, // 244: google.cloud.containeranalysis.v1.UpgradeOccurrence.windows_update:type_name -> google.cloud.containeranalysis.v1.WindowsUpdate + 105, // 245: google.cloud.containeranalysis.v1.VexAssessment.justification:type_name -> google.cloud.containeranalysis.v1.Justification + 128, // 246: google.cloud.containeranalysis.v1.VexAssessment.related_uris:type_name -> google.cloud.containeranalysis.v1.RelatedUrl + 129, // 247: google.cloud.containeranalysis.v1.VexAssessment.remediations:type_name -> google.cloud.containeranalysis.v1.Remediation + 3, // 248: google.cloud.containeranalysis.v1.VulnerabilityAssessmentNote.assessment:type_name -> google.cloud.containeranalysis.v1.Assessment + 123, // 249: google.cloud.containeranalysis.v1.VulnerabilityAssessmentNote.product:type_name -> google.cloud.containeranalysis.v1.Product + 126, // 250: google.cloud.containeranalysis.v1.VulnerabilityAssessmentNote.publisher:type_name -> google.cloud.containeranalysis.v1.Publisher + 18, // 251: google.cloud.containeranalysis.v1.VulnerabilityNote.cvss_v2:type_name -> google.cloud.containeranalysis.v1.CVSS + 19, // 252: google.cloud.containeranalysis.v1.VulnerabilityNote.cvss_v3:type_name -> google.cloud.containeranalysis.v1.CVSSv3 + 71, // 253: google.cloud.containeranalysis.v1.VulnerabilityNote.details:type_name -> google.cloud.containeranalysis.v1.Detail + 215, // 254: google.cloud.containeranalysis.v1.VulnerabilityNote.source_update_time:type_name -> google.protobuf.Timestamp + 164, // 255: google.cloud.containeranalysis.v1.VulnerabilityNote.windows_details:type_name -> google.cloud.containeranalysis.v1.WindowsDetail + 18, // 256: google.cloud.containeranalysis.v1.VulnerabilityOccurrence.cvss_v2:type_name -> google.cloud.containeranalysis.v1.CVSS + 18, // 257: google.cloud.containeranalysis.v1.VulnerabilityOccurrence.cvssv3:type_name -> google.cloud.containeranalysis.v1.CVSS + 119, // 258: google.cloud.containeranalysis.v1.VulnerabilityOccurrence.package_issue:type_name -> google.cloud.containeranalysis.v1.PackageIssue + 128, // 259: google.cloud.containeranalysis.v1.VulnerabilityOccurrence.related_urls:type_name -> google.cloud.containeranalysis.v1.RelatedUrl + 158, // 260: google.cloud.containeranalysis.v1.VulnerabilityOccurrence.vex_assessment:type_name -> google.cloud.containeranalysis.v1.VexAssessment + 84, // 261: google.cloud.containeranalysis.v1.VulnerabilityOccurrencesSummary.counts:type_name -> google.cloud.containeranalysis.v1.FixableTotalByDigest + 107, // 262: google.cloud.containeranalysis.v1.WindowsDetail.fixing_kbs:type_name -> google.cloud.containeranalysis.v1.KnowledgeBase + 20, // 263: google.cloud.containeranalysis.v1.WindowsUpdate.categories:type_name -> google.cloud.containeranalysis.v1.Category + 99, // 264: google.cloud.containeranalysis.v1.WindowsUpdate.identity:type_name -> google.cloud.containeranalysis.v1.Identity + 215, // 265: google.cloud.containeranalysis.v1.WindowsUpdate.last_published_timestamp:type_name -> google.protobuf.Timestamp + 79, // 266: google.cloud.containeranalysis.v1.ExportSBOMProjectsLocationsResourceRequest.projects_locations_resource:type_name -> google.cloud.containeranalysis.v1.ExportSBOMRequest + 6, // 267: google.cloud.containeranalysis.v1.BatchCreateProjectsNoteRequest.projects_note:type_name -> google.cloud.containeranalysis.v1.BatchCreateNotesRequest + 117, // 268: google.cloud.containeranalysis.v1.CreateProjectsNoteRequest.projects_note:type_name -> google.cloud.containeranalysis.v1.Note + 117, // 269: google.cloud.containeranalysis.v1.PatchProjectsNoteRequest.projects_note:type_name -> google.cloud.containeranalysis.v1.Note + 8, // 270: google.cloud.containeranalysis.v1.BatchCreateProjectsOccurrenceRequest.projects_occurrence:type_name -> google.cloud.containeranalysis.v1.BatchCreateOccurrencesRequest + 118, // 271: google.cloud.containeranalysis.v1.CreateProjectsOccurrenceRequest.projects_occurrence:type_name -> google.cloud.containeranalysis.v1.Occurrence + 118, // 272: google.cloud.containeranalysis.v1.PatchProjectsOccurrenceRequest.projects_occurrence:type_name -> google.cloud.containeranalysis.v1.Occurrence + 79, // 273: google.cloud.containeranalysis.v1.ExportSBOMProjectsResourceRequest.projects_resource:type_name -> google.cloud.containeranalysis.v1.ExportSBOMRequest + 117, // 274: google.cloud.containeranalysis.v1.BatchCreateNotesRequest.NotesEntry.value:type_name -> google.cloud.containeranalysis.v1.Note + 217, // 275: google.cloud.containeranalysis.v1.BuildDefinition.ExternalParametersEntry.value:type_name -> google.protobuf.Any + 217, // 276: google.cloud.containeranalysis.v1.BuildDefinition.InternalParametersEntry.value:type_name -> google.protobuf.Any + 61, // 277: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1Build.TimingEntry.value:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan + 46, // 278: google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance.FileHashesEntry.value:type_name -> google.cloud.containeranalysis.v1.ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes + 217, // 279: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.EnvironmentEntry.value:type_name -> google.protobuf.Any + 217, // 280: google.cloud.containeranalysis.v1.GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation.ParametersEntry.value:type_name -> google.protobuf.Any + 217, // 281: google.cloud.containeranalysis.v1.ResourceDescriptor.AnnotationsEntry.value:type_name -> google.protobuf.Any + 217, // 282: google.cloud.containeranalysis.v1.SlsaProvenanceZeroTwo.BuildConfigEntry.value:type_name -> google.protobuf.Any + 217, // 283: google.cloud.containeranalysis.v1.SlsaRecipe.ArgumentsEntry.value:type_name -> google.protobuf.Any + 217, // 284: google.cloud.containeranalysis.v1.SlsaRecipe.EnvironmentEntry.value:type_name -> google.protobuf.Any + 82, // 285: google.cloud.containeranalysis.v1.Source.FileHashesEntry.value:type_name -> google.cloud.containeranalysis.v1.FileHashes + 166, // 286: google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer.GetProjectsLocationsNote:input_type -> google.cloud.containeranalysis.v1.GetProjectsLocationsNoteRequest + 167, // 287: google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer.ListProjectsLocationsNotes:input_type -> google.cloud.containeranalysis.v1.ListProjectsLocationsNotesRequest + 168, // 288: google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer.ListProjectsLocationsNotesOccurrences:input_type -> google.cloud.containeranalysis.v1.ListProjectsLocationsNotesOccurrencesRequest + 169, // 289: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetProjectsLocationsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetProjectsLocationsOccurrenceRequest + 170, // 290: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetNotesProjectsLocationsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetNotesProjectsLocationsOccurrenceRequest + 171, // 291: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetVulnerabilitySummaryProjectsLocationsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest + 172, // 292: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.ListProjectsLocationsOccurrences:input_type -> google.cloud.containeranalysis.v1.ListProjectsLocationsOccurrencesRequest + 173, // 293: google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer.ExportSBOMProjectsLocationsResource:input_type -> google.cloud.containeranalysis.v1.ExportSBOMProjectsLocationsResourceRequest + 174, // 294: google.cloud.containeranalysis.v1.ProjectsNotesServer.BatchCreateProjectsNote:input_type -> google.cloud.containeranalysis.v1.BatchCreateProjectsNoteRequest + 175, // 295: google.cloud.containeranalysis.v1.ProjectsNotesServer.CreateProjectsNote:input_type -> google.cloud.containeranalysis.v1.CreateProjectsNoteRequest + 176, // 296: google.cloud.containeranalysis.v1.ProjectsNotesServer.DeleteProjectsNote:input_type -> google.cloud.containeranalysis.v1.DeleteProjectsNoteRequest + 177, // 297: google.cloud.containeranalysis.v1.ProjectsNotesServer.GetProjectsNote:input_type -> google.cloud.containeranalysis.v1.GetProjectsNoteRequest + 178, // 298: google.cloud.containeranalysis.v1.ProjectsNotesServer.ListProjectsNotes:input_type -> google.cloud.containeranalysis.v1.ListProjectsNotesRequest + 179, // 299: google.cloud.containeranalysis.v1.ProjectsNotesServer.PatchProjectsNote:input_type -> google.cloud.containeranalysis.v1.PatchProjectsNoteRequest + 180, // 300: google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer.ListProjectsNotesOccurrences:input_type -> google.cloud.containeranalysis.v1.ListProjectsNotesOccurrencesRequest + 181, // 301: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.BatchCreateProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.BatchCreateProjectsOccurrenceRequest + 182, // 302: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.CreateProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.CreateProjectsOccurrenceRequest + 183, // 303: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.DeleteProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.DeleteProjectsOccurrenceRequest + 184, // 304: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetProjectsOccurrenceRequest + 185, // 305: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetNotesProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetNotesProjectsOccurrenceRequest + 186, // 306: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetVulnerabilitySummaryProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.GetVulnerabilitySummaryProjectsOccurrenceRequest + 187, // 307: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.ListProjectsOccurrences:input_type -> google.cloud.containeranalysis.v1.ListProjectsOccurrencesRequest + 188, // 308: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.PatchProjectsOccurrence:input_type -> google.cloud.containeranalysis.v1.PatchProjectsOccurrenceRequest + 189, // 309: google.cloud.containeranalysis.v1.ProjectsResourcesServer.ExportSBOMProjectsResource:input_type -> google.cloud.containeranalysis.v1.ExportSBOMProjectsResourceRequest + 117, // 310: google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer.GetProjectsLocationsNote:output_type -> google.cloud.containeranalysis.v1.Note + 111, // 311: google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer.ListProjectsLocationsNotes:output_type -> google.cloud.containeranalysis.v1.ListNotesResponse + 110, // 312: google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer.ListProjectsLocationsNotesOccurrences:output_type -> google.cloud.containeranalysis.v1.ListNoteOccurrencesResponse + 118, // 313: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetProjectsLocationsOccurrence:output_type -> google.cloud.containeranalysis.v1.Occurrence + 117, // 314: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetNotesProjectsLocationsOccurrence:output_type -> google.cloud.containeranalysis.v1.Note + 163, // 315: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.GetVulnerabilitySummaryProjectsLocationsOccurrence:output_type -> google.cloud.containeranalysis.v1.VulnerabilityOccurrencesSummary + 112, // 316: google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer.ListProjectsLocationsOccurrences:output_type -> google.cloud.containeranalysis.v1.ListOccurrencesResponse + 80, // 317: google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer.ExportSBOMProjectsLocationsResource:output_type -> google.cloud.containeranalysis.v1.ExportSBOMResponse + 7, // 318: google.cloud.containeranalysis.v1.ProjectsNotesServer.BatchCreateProjectsNote:output_type -> google.cloud.containeranalysis.v1.BatchCreateNotesResponse + 117, // 319: google.cloud.containeranalysis.v1.ProjectsNotesServer.CreateProjectsNote:output_type -> google.cloud.containeranalysis.v1.Note + 76, // 320: google.cloud.containeranalysis.v1.ProjectsNotesServer.DeleteProjectsNote:output_type -> google.cloud.containeranalysis.v1.Empty + 117, // 321: google.cloud.containeranalysis.v1.ProjectsNotesServer.GetProjectsNote:output_type -> google.cloud.containeranalysis.v1.Note + 111, // 322: google.cloud.containeranalysis.v1.ProjectsNotesServer.ListProjectsNotes:output_type -> google.cloud.containeranalysis.v1.ListNotesResponse + 117, // 323: google.cloud.containeranalysis.v1.ProjectsNotesServer.PatchProjectsNote:output_type -> google.cloud.containeranalysis.v1.Note + 110, // 324: google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer.ListProjectsNotesOccurrences:output_type -> google.cloud.containeranalysis.v1.ListNoteOccurrencesResponse + 9, // 325: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.BatchCreateProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.BatchCreateOccurrencesResponse + 118, // 326: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.CreateProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.Occurrence + 76, // 327: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.DeleteProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.Empty + 118, // 328: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.Occurrence + 117, // 329: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetNotesProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.Note + 163, // 330: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.GetVulnerabilitySummaryProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.VulnerabilityOccurrencesSummary + 112, // 331: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.ListProjectsOccurrences:output_type -> google.cloud.containeranalysis.v1.ListOccurrencesResponse + 118, // 332: google.cloud.containeranalysis.v1.ProjectsOccurrencesServer.PatchProjectsOccurrence:output_type -> google.cloud.containeranalysis.v1.Occurrence + 80, // 333: google.cloud.containeranalysis.v1.ProjectsResourcesServer.ExportSBOMProjectsResource:output_type -> google.cloud.containeranalysis.v1.ExportSBOMResponse + 310, // [310:334] is the sub-list for method output_type + 286, // [286:310] is the sub-list for method input_type + 286, // [286:286] is the sub-list for extension type_name + 286, // [286:286] is the sub-list for extension extendee + 0, // [0:286] is the sub-list for field type_name +} + +func init() { file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_init() } +func file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_init() { + if File_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliasContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AnalysisCompleted); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Artifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Assessment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateNotesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateNotesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Binding); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildDefinition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuilderConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CVSS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CVSSv3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Category); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CisBenchmark); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudRepoSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudStorageLocation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Command); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Completeness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ApprovalResult); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Artifacts); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsArtifactObjects); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsMavenArtifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsNpmPackage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ArtifactsPythonPackage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Build); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildApproval); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildFailureInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildOptionsPoolOption); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildStep); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuildWarning); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1BuiltImage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1ConnectedRepository); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1DeveloperConnectConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1FileHashes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1GitConfigHttpConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1GitSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Hash); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1InlineSecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1RepoSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Results); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Secret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1SecretManagerSecret); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Secrets); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Source); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1SourceProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1StorageSourceManifest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1TimeSpan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedMavenArtifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedNpmPackage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1UploadedPythonPackage); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ContaineranalysisGoogleDevtoolsCloudbuildV1Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEAttestationNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEAttestationOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEHint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Detail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Digest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Distribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Empty); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Envelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvelopeSignature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportSBOMRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportSBOMResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Expr); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileHashes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Fingerprint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FixableTotalByDigest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GerritSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetIamPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPolicyOptions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GoogleDevtoolsContaineranalysisV1Alpha1OperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1FileLocation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hash); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Identity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImageNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImageOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoStatement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Justification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Jwt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KnowledgeBase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Layer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*License); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNoteOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Material); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NonCompliantFile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Note); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Occurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PackageIssue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PackageNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PackageOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Policy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Product); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectRepoId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProvenanceBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Publisher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Recipe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RelatedUrl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Remediation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepoId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RunDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SBOMReferenceNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SBOMReferenceOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SBOMStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SbomReferenceIntotoPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SbomReferenceIntotoPredicate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetIamPolicyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Signature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaCompleteness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceV1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaRecipe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Source); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Status); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TestIamPermissionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TimeSpan); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeDistribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VexAssessment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Volume); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityOccurrencesSummary); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsLocationsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsLocationsNotesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsLocationsNotesOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsLocationsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotesProjectsLocationsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsLocationsOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportSBOMProjectsLocationsResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateProjectsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProjectsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProjectsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsNotesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchProjectsNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsNotesOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNotesProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetVulnerabilitySummaryProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProjectsOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PatchProjectsOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportSBOMProjectsResourceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDesc, + NumEnums: 0, + NumMessages: 215, + NumExtensions: 0, + NumServices: 10, + }, + GoTypes: file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_goTypes, + DependencyIndexes: file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_depIdxs, + MessageInfos: file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_msgTypes, + }.Build() + File_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto = out.File + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_rawDesc = nil + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_goTypes = nil + file_mockgcp_devtools_containeranalysis_v1_containeranalysis_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.gw.go b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.gw.go new file mode 100644 index 0000000000..4777b4ddf0 --- /dev/null +++ b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis.pb.gw.go @@ -0,0 +1,3262 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgcp/devtools/containeranalysis/v1/containeranalysis.proto + +/* +Package containeranalysispb is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package containeranalysispb + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsLocationsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsLocationsNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsLocationsNotes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsLocationsNotes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsNotesOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsNotesOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsLocationsNotesOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsNotesOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsNotesOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsLocationsNotesOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsLocationsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsLocationsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotesProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNotesProjectsLocationsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotesProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNotesProjectsLocationsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsLocationsOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsLocationsOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsLocationsOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsLocationsResourcesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportSBOMProjectsLocationsResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsLocationsResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ExportSBOMProjectsLocationsResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsLocationsResourcesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportSBOMProjectsLocationsResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsLocationsResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ExportSBOMProjectsLocationsResource(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsNotesServer_BatchCreateProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateProjectsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_BatchCreateProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateProjectsNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsNotesServer_CreateProjectsNote_0 = &utilities.DoubleArray{Encoding: map[string]int{"projects_note": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ProjectsNotesServer_CreateProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_CreateProjectsNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateProjectsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_CreateProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_CreateProjectsNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateProjectsNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsNotesServer_DeleteProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteProjectsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_DeleteProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteProjectsNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsNotesServer_GetProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_GetProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsNotesServer_ListProjectsNotes_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsNotesServer_ListProjectsNotes_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_ListProjectsNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsNotes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_ListProjectsNotes_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_ListProjectsNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsNotes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsNotesServer_PatchProjectsNote_0 = &utilities.DoubleArray{Encoding: map[string]int{"projects_note": 0, "name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ProjectsNotesServer_PatchProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_PatchProjectsNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PatchProjectsNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesServer_PatchProjectsNote_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsNote); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesServer_PatchProjectsNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PatchProjectsNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsNotesOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsNotesOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsNotesOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsNotesOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsNotesOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsNotesOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsOccurrencesServer_GetProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_GetProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotesProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNotesProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNotesProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNotesProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetVulnerabilitySummaryProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetVulnerabilitySummaryProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetVulnerabilitySummaryProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetVulnerabilitySummaryProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsOccurrencesServer_ListProjectsOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_ProjectsOccurrencesServer_ListProjectsOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_ListProjectsOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListProjectsOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_ListProjectsOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListProjectsOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_ListProjectsOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListProjectsOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_ProjectsOccurrencesServer_PatchProjectsOccurrence_0 = &utilities.DoubleArray{Encoding: map[string]int{"projects_occurrence": 0, "name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsOccurrencesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_PatchProjectsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.PatchProjectsOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsOccurrencesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq PatchProjectsOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsOccurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ProjectsOccurrencesServer_PatchProjectsOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.PatchProjectsOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_ProjectsResourcesServer_ExportSBOMProjectsResource_0(ctx context.Context, marshaler runtime.Marshaler, client ProjectsResourcesServerClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportSBOMProjectsResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.ExportSBOMProjectsResource(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_ProjectsResourcesServer_ExportSBOMProjectsResource_0(ctx context.Context, marshaler runtime.Marshaler, server ProjectsResourcesServerServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ExportSBOMProjectsResourceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.ProjectsResource); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.ExportSBOMProjectsResource(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterProjectsLocationsNotesServerHandlerServer registers the http handlers for service ProjectsLocationsNotesServer to "mux". +// UnaryRPC :call ProjectsLocationsNotesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsLocationsNotesServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsNotesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsNotesServerServer) error { + + mux.Handle("GET", pattern_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/GetProjectsLocationsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/ListProjectsLocationsNotes", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsNotesOccurrencesServerHandlerServer registers the http handlers for service ProjectsLocationsNotesOccurrencesServer to "mux". +// UnaryRPC :call ProjectsLocationsNotesOccurrencesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsLocationsNotesOccurrencesServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsNotesOccurrencesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsNotesOccurrencesServerServer) error { + + mux.Handle("GET", pattern_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer/ListProjectsLocationsNotesOccurrences", runtime.WithHTTPPathPattern("/v1/{name=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsOccurrencesServerHandlerServer registers the http handlers for service ProjectsLocationsOccurrencesServer to "mux". +// UnaryRPC :call ProjectsLocationsOccurrencesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsLocationsOccurrencesServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsOccurrencesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsOccurrencesServerServer) error { + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetNotesProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetVulnerabilitySummaryProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:vulnerabilitySummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/ListProjectsLocationsOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsResourcesServerHandlerServer registers the http handlers for service ProjectsLocationsResourcesServer to "mux". +// UnaryRPC :call ProjectsLocationsResourcesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsLocationsResourcesServerHandlerFromEndpoint instead. +func RegisterProjectsLocationsResourcesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsLocationsResourcesServerServer) error { + + mux.Handle("POST", pattern_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer/ExportSBOMProjectsLocationsResource", runtime.WithHTTPPathPattern("/v1/{name=*}:exportSBOM")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsNotesServerHandlerServer registers the http handlers for service ProjectsNotesServer to "mux". +// UnaryRPC :call ProjectsNotesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsNotesServerHandlerFromEndpoint instead. +func RegisterProjectsNotesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsNotesServerServer) error { + + mux.Handle("POST", pattern_ProjectsNotesServer_BatchCreateProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/BatchCreateProjectsNote", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_BatchCreateProjectsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_BatchCreateProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectsNotesServer_CreateProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/CreateProjectsNote", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_CreateProjectsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_CreateProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsNotesServer_DeleteProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/DeleteProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_DeleteProjectsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_DeleteProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsNotesServer_GetProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/GetProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_GetProjectsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_GetProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsNotesServer_ListProjectsNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/ListProjectsNotes", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_ListProjectsNotes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_ListProjectsNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsNotesServer_PatchProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/PatchProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesServer_PatchProjectsNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_PatchProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsNotesOccurrencesServerHandlerServer registers the http handlers for service ProjectsNotesOccurrencesServer to "mux". +// UnaryRPC :call ProjectsNotesOccurrencesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsNotesOccurrencesServerHandlerFromEndpoint instead. +func RegisterProjectsNotesOccurrencesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsNotesOccurrencesServerServer) error { + + mux.Handle("GET", pattern_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer/ListProjectsNotesOccurrences", runtime.WithHTTPPathPattern("/v1/{name=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsOccurrencesServerHandlerServer registers the http handlers for service ProjectsOccurrencesServer to "mux". +// UnaryRPC :call ProjectsOccurrencesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsOccurrencesServerHandlerFromEndpoint instead. +func RegisterProjectsOccurrencesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsOccurrencesServerServer) error { + + mux.Handle("POST", pattern_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/BatchCreateProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectsOccurrencesServer_CreateProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/CreateProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/DeleteProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_GetProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetNotesProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetVulnerabilitySummaryProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:vulnerabilitySummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_ListProjectsOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/ListProjectsOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_ListProjectsOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_ListProjectsOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsOccurrencesServer_PatchProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/PatchProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsResourcesServerHandlerServer registers the http handlers for service ProjectsResourcesServer to "mux". +// UnaryRPC :call ProjectsResourcesServerServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterProjectsResourcesServerHandlerFromEndpoint instead. +func RegisterProjectsResourcesServerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ProjectsResourcesServerServer) error { + + mux.Handle("POST", pattern_ProjectsResourcesServer_ExportSBOMProjectsResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsResourcesServer/ExportSBOMProjectsResource", runtime.WithHTTPPathPattern("/v1/{name=*}:exportSBOM")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_ProjectsResourcesServer_ExportSBOMProjectsResource_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsResourcesServer_ExportSBOMProjectsResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterProjectsLocationsNotesServerHandlerFromEndpoint is same as RegisterProjectsLocationsNotesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsNotesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsLocationsNotesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsNotesServerHandler registers the http handlers for service ProjectsLocationsNotesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsNotesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsNotesServerHandlerClient(ctx, mux, NewProjectsLocationsNotesServerClient(conn)) +} + +// RegisterProjectsLocationsNotesServerHandlerClient registers the http handlers for service ProjectsLocationsNotesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsNotesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsNotesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsNotesServerClient" to call the correct interceptors. +func RegisterProjectsLocationsNotesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsNotesServerClient) error { + + mux.Handle("GET", pattern_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/GetProjectsLocationsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/ListProjectsLocationsNotes", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "notes"}, "")) +) + +var ( + forward_ProjectsLocationsNotesServer_GetProjectsLocationsNote_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsNotesServer_ListProjectsLocationsNotes_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsLocationsNotesOccurrencesServerHandlerFromEndpoint is same as RegisterProjectsLocationsNotesOccurrencesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsNotesOccurrencesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsLocationsNotesOccurrencesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsNotesOccurrencesServerHandler registers the http handlers for service ProjectsLocationsNotesOccurrencesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsNotesOccurrencesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsNotesOccurrencesServerHandlerClient(ctx, mux, NewProjectsLocationsNotesOccurrencesServerClient(conn)) +} + +// RegisterProjectsLocationsNotesOccurrencesServerHandlerClient registers the http handlers for service ProjectsLocationsNotesOccurrencesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsNotesOccurrencesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsNotesOccurrencesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsNotesOccurrencesServerClient" to call the correct interceptors. +func RegisterProjectsLocationsNotesOccurrencesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsNotesOccurrencesServerClient) error { + + mux.Handle("GET", pattern_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer/ListProjectsLocationsNotesOccurrences", runtime.WithHTTPPathPattern("/v1/{name=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "occurrences"}, "")) +) + +var ( + forward_ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsLocationsOccurrencesServerHandlerFromEndpoint is same as RegisterProjectsLocationsOccurrencesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsOccurrencesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsLocationsOccurrencesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsOccurrencesServerHandler registers the http handlers for service ProjectsLocationsOccurrencesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsOccurrencesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsOccurrencesServerHandlerClient(ctx, mux, NewProjectsLocationsOccurrencesServerClient(conn)) +} + +// RegisterProjectsLocationsOccurrencesServerHandlerClient registers the http handlers for service ProjectsLocationsOccurrencesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsOccurrencesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsOccurrencesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsOccurrencesServerClient" to call the correct interceptors. +func RegisterProjectsLocationsOccurrencesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsOccurrencesServerClient) error { + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetNotesProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetVulnerabilitySummaryProjectsLocationsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:vulnerabilitySummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/ListProjectsLocationsOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "notes"}, "")) + + pattern_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "vulnerabilitySummary")) + + pattern_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "")) +) + +var ( + forward_ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsLocationsResourcesServerHandlerFromEndpoint is same as RegisterProjectsLocationsResourcesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsLocationsResourcesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsLocationsResourcesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsLocationsResourcesServerHandler registers the http handlers for service ProjectsLocationsResourcesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsLocationsResourcesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsLocationsResourcesServerHandlerClient(ctx, mux, NewProjectsLocationsResourcesServerClient(conn)) +} + +// RegisterProjectsLocationsResourcesServerHandlerClient registers the http handlers for service ProjectsLocationsResourcesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsLocationsResourcesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsLocationsResourcesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsLocationsResourcesServerClient" to call the correct interceptors. +func RegisterProjectsLocationsResourcesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsLocationsResourcesServerClient) error { + + mux.Handle("POST", pattern_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer/ExportSBOMProjectsLocationsResource", runtime.WithHTTPPathPattern("/v1/{name=*}:exportSBOM")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "exportSBOM")) +) + +var ( + forward_ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsNotesServerHandlerFromEndpoint is same as RegisterProjectsNotesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsNotesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsNotesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsNotesServerHandler registers the http handlers for service ProjectsNotesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsNotesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsNotesServerHandlerClient(ctx, mux, NewProjectsNotesServerClient(conn)) +} + +// RegisterProjectsNotesServerHandlerClient registers the http handlers for service ProjectsNotesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsNotesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsNotesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsNotesServerClient" to call the correct interceptors. +func RegisterProjectsNotesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsNotesServerClient) error { + + mux.Handle("POST", pattern_ProjectsNotesServer_BatchCreateProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/BatchCreateProjectsNote", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_BatchCreateProjectsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_BatchCreateProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectsNotesServer_CreateProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/CreateProjectsNote", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_CreateProjectsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_CreateProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsNotesServer_DeleteProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/DeleteProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_DeleteProjectsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_DeleteProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsNotesServer_GetProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/GetProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_GetProjectsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_GetProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsNotesServer_ListProjectsNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/ListProjectsNotes", runtime.WithHTTPPathPattern("/v1/{parent=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_ListProjectsNotes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_ListProjectsNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsNotesServer_PatchProjectsNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/PatchProjectsNote", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesServer_PatchProjectsNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesServer_PatchProjectsNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsNotesServer_BatchCreateProjectsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "notes"}, "batchCreate")) + + pattern_ProjectsNotesServer_CreateProjectsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "notes"}, "")) + + pattern_ProjectsNotesServer_DeleteProjectsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsNotesServer_GetProjectsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsNotesServer_ListProjectsNotes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "notes"}, "")) + + pattern_ProjectsNotesServer_PatchProjectsNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) +) + +var ( + forward_ProjectsNotesServer_BatchCreateProjectsNote_0 = runtime.ForwardResponseMessage + + forward_ProjectsNotesServer_CreateProjectsNote_0 = runtime.ForwardResponseMessage + + forward_ProjectsNotesServer_DeleteProjectsNote_0 = runtime.ForwardResponseMessage + + forward_ProjectsNotesServer_GetProjectsNote_0 = runtime.ForwardResponseMessage + + forward_ProjectsNotesServer_ListProjectsNotes_0 = runtime.ForwardResponseMessage + + forward_ProjectsNotesServer_PatchProjectsNote_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsNotesOccurrencesServerHandlerFromEndpoint is same as RegisterProjectsNotesOccurrencesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsNotesOccurrencesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsNotesOccurrencesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsNotesOccurrencesServerHandler registers the http handlers for service ProjectsNotesOccurrencesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsNotesOccurrencesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsNotesOccurrencesServerHandlerClient(ctx, mux, NewProjectsNotesOccurrencesServerClient(conn)) +} + +// RegisterProjectsNotesOccurrencesServerHandlerClient registers the http handlers for service ProjectsNotesOccurrencesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsNotesOccurrencesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsNotesOccurrencesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsNotesOccurrencesServerClient" to call the correct interceptors. +func RegisterProjectsNotesOccurrencesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsNotesOccurrencesServerClient) error { + + mux.Handle("GET", pattern_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer/ListProjectsNotesOccurrences", runtime.WithHTTPPathPattern("/v1/{name=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "occurrences"}, "")) +) + +var ( + forward_ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsOccurrencesServerHandlerFromEndpoint is same as RegisterProjectsOccurrencesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsOccurrencesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsOccurrencesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsOccurrencesServerHandler registers the http handlers for service ProjectsOccurrencesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsOccurrencesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsOccurrencesServerHandlerClient(ctx, mux, NewProjectsOccurrencesServerClient(conn)) +} + +// RegisterProjectsOccurrencesServerHandlerClient registers the http handlers for service ProjectsOccurrencesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsOccurrencesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsOccurrencesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsOccurrencesServerClient" to call the correct interceptors. +func RegisterProjectsOccurrencesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsOccurrencesServerClient) error { + + mux.Handle("POST", pattern_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/BatchCreateProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_ProjectsOccurrencesServer_CreateProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/CreateProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_CreateProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/DeleteProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_GetProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetNotesProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetVulnerabilitySummaryProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences:vulnerabilitySummary")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_ProjectsOccurrencesServer_ListProjectsOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/ListProjectsOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_ListProjectsOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_ListProjectsOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_ProjectsOccurrencesServer_PatchProjectsOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/PatchProjectsOccurrence", runtime.WithHTTPPathPattern("/v1/{name=*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsOccurrencesServer_PatchProjectsOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "batchCreate")) + + pattern_ProjectsOccurrencesServer_CreateProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "")) + + pattern_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsOccurrencesServer_GetProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) + + pattern_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "name", "notes"}, "")) + + pattern_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "vulnerabilitySummary")) + + pattern_ProjectsOccurrencesServer_ListProjectsOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"v1", "parent", "occurrences"}, "")) + + pattern_ProjectsOccurrencesServer_PatchProjectsOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "")) +) + +var ( + forward_ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_CreateProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_DeleteProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_GetProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_GetNotesProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_ListProjectsOccurrences_0 = runtime.ForwardResponseMessage + + forward_ProjectsOccurrencesServer_PatchProjectsOccurrence_0 = runtime.ForwardResponseMessage +) + +// RegisterProjectsResourcesServerHandlerFromEndpoint is same as RegisterProjectsResourcesServerHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterProjectsResourcesServerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterProjectsResourcesServerHandler(ctx, mux, conn) +} + +// RegisterProjectsResourcesServerHandler registers the http handlers for service ProjectsResourcesServer to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterProjectsResourcesServerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterProjectsResourcesServerHandlerClient(ctx, mux, NewProjectsResourcesServerClient(conn)) +} + +// RegisterProjectsResourcesServerHandlerClient registers the http handlers for service ProjectsResourcesServer +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ProjectsResourcesServerClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ProjectsResourcesServerClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "ProjectsResourcesServerClient" to call the correct interceptors. +func RegisterProjectsResourcesServerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ProjectsResourcesServerClient) error { + + mux.Handle("POST", pattern_ProjectsResourcesServer_ExportSBOMProjectsResource_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/google.cloud.containeranalysis.v1.ProjectsResourcesServer/ExportSBOMProjectsResource", runtime.WithHTTPPathPattern("/v1/{name=*}:exportSBOM")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_ProjectsResourcesServer_ExportSBOMProjectsResource_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_ProjectsResourcesServer_ExportSBOMProjectsResource_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_ProjectsResourcesServer_ExportSBOMProjectsResource_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1}, []string{"v1", "name"}, "exportSBOM")) +) + +var ( + forward_ProjectsResourcesServer_ExportSBOMProjectsResource_0 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis_grpc.pb.go b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis_grpc.pb.go new file mode 100644 index 0000000000..4aae3e9f25 --- /dev/null +++ b/mockgcp/generated/mockgcp/devtools/containeranalysis/v1/containeranalysis_grpc.pb.go @@ -0,0 +1,1389 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgcp/devtools/containeranalysis/v1/containeranalysis.proto + +package containeranalysispb + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// ProjectsServerClient is the client API for ProjectsServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsServerClient interface { +} + +type projectsServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsServerClient(cc grpc.ClientConnInterface) ProjectsServerClient { + return &projectsServerClient{cc} +} + +// ProjectsServerServer is the server API for ProjectsServer service. +// All implementations must embed UnimplementedProjectsServerServer +// for forward compatibility +type ProjectsServerServer interface { + mustEmbedUnimplementedProjectsServerServer() +} + +// UnimplementedProjectsServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsServerServer struct { +} + +func (UnimplementedProjectsServerServer) mustEmbedUnimplementedProjectsServerServer() {} + +// UnsafeProjectsServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsServerServer will +// result in compilation errors. +type UnsafeProjectsServerServer interface { + mustEmbedUnimplementedProjectsServerServer() +} + +func RegisterProjectsServerServer(s grpc.ServiceRegistrar, srv ProjectsServerServer) { + s.RegisterService(&ProjectsServer_ServiceDesc, srv) +} + +// ProjectsServer_ServiceDesc is the grpc.ServiceDesc for ProjectsServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsServer", + HandlerType: (*ProjectsServerServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsLocationsServerClient is the client API for ProjectsLocationsServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsLocationsServerClient interface { +} + +type projectsLocationsServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsServerClient(cc grpc.ClientConnInterface) ProjectsLocationsServerClient { + return &projectsLocationsServerClient{cc} +} + +// ProjectsLocationsServerServer is the server API for ProjectsLocationsServer service. +// All implementations must embed UnimplementedProjectsLocationsServerServer +// for forward compatibility +type ProjectsLocationsServerServer interface { + mustEmbedUnimplementedProjectsLocationsServerServer() +} + +// UnimplementedProjectsLocationsServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsServerServer struct { +} + +func (UnimplementedProjectsLocationsServerServer) mustEmbedUnimplementedProjectsLocationsServerServer() { +} + +// UnsafeProjectsLocationsServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsServerServer interface { + mustEmbedUnimplementedProjectsLocationsServerServer() +} + +func RegisterProjectsLocationsServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsServerServer) { + s.RegisterService(&ProjectsLocationsServer_ServiceDesc, srv) +} + +// ProjectsLocationsServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsLocationsServer", + HandlerType: (*ProjectsLocationsServerServer)(nil), + Methods: []grpc.MethodDesc{}, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsLocationsNotesServerClient is the client API for ProjectsLocationsNotesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsLocationsNotesServerClient interface { + GetProjectsLocationsNote(ctx context.Context, in *GetProjectsLocationsNoteRequest, opts ...grpc.CallOption) (*Note, error) + ListProjectsLocationsNotes(ctx context.Context, in *ListProjectsLocationsNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) +} + +type projectsLocationsNotesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsNotesServerClient(cc grpc.ClientConnInterface) ProjectsLocationsNotesServerClient { + return &projectsLocationsNotesServerClient{cc} +} + +func (c *projectsLocationsNotesServerClient) GetProjectsLocationsNote(ctx context.Context, in *GetProjectsLocationsNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/GetProjectsLocationsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsNotesServerClient) ListProjectsLocationsNotes(ctx context.Context, in *ListProjectsLocationsNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) { + out := new(ListNotesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/ListProjectsLocationsNotes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsNotesServerServer is the server API for ProjectsLocationsNotesServer service. +// All implementations must embed UnimplementedProjectsLocationsNotesServerServer +// for forward compatibility +type ProjectsLocationsNotesServerServer interface { + GetProjectsLocationsNote(context.Context, *GetProjectsLocationsNoteRequest) (*Note, error) + ListProjectsLocationsNotes(context.Context, *ListProjectsLocationsNotesRequest) (*ListNotesResponse, error) + mustEmbedUnimplementedProjectsLocationsNotesServerServer() +} + +// UnimplementedProjectsLocationsNotesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsNotesServerServer struct { +} + +func (UnimplementedProjectsLocationsNotesServerServer) GetProjectsLocationsNote(context.Context, *GetProjectsLocationsNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsLocationsNote not implemented") +} +func (UnimplementedProjectsLocationsNotesServerServer) ListProjectsLocationsNotes(context.Context, *ListProjectsLocationsNotesRequest) (*ListNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsLocationsNotes not implemented") +} +func (UnimplementedProjectsLocationsNotesServerServer) mustEmbedUnimplementedProjectsLocationsNotesServerServer() { +} + +// UnsafeProjectsLocationsNotesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsNotesServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsNotesServerServer interface { + mustEmbedUnimplementedProjectsLocationsNotesServerServer() +} + +func RegisterProjectsLocationsNotesServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsNotesServerServer) { + s.RegisterService(&ProjectsLocationsNotesServer_ServiceDesc, srv) +} + +func _ProjectsLocationsNotesServer_GetProjectsLocationsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsLocationsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsNotesServerServer).GetProjectsLocationsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/GetProjectsLocationsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsNotesServerServer).GetProjectsLocationsNote(ctx, req.(*GetProjectsLocationsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsNotesServer_ListProjectsLocationsNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsLocationsNotesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsNotesServerServer).ListProjectsLocationsNotes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer/ListProjectsLocationsNotes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsNotesServerServer).ListProjectsLocationsNotes(ctx, req.(*ListProjectsLocationsNotesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsNotesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsNotesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsNotesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsLocationsNotesServer", + HandlerType: (*ProjectsLocationsNotesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetProjectsLocationsNote", + Handler: _ProjectsLocationsNotesServer_GetProjectsLocationsNote_Handler, + }, + { + MethodName: "ListProjectsLocationsNotes", + Handler: _ProjectsLocationsNotesServer_ListProjectsLocationsNotes_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsLocationsNotesOccurrencesServerClient is the client API for ProjectsLocationsNotesOccurrencesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsLocationsNotesOccurrencesServerClient interface { + ListProjectsLocationsNotesOccurrences(ctx context.Context, in *ListProjectsLocationsNotesOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) +} + +type projectsLocationsNotesOccurrencesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsNotesOccurrencesServerClient(cc grpc.ClientConnInterface) ProjectsLocationsNotesOccurrencesServerClient { + return &projectsLocationsNotesOccurrencesServerClient{cc} +} + +func (c *projectsLocationsNotesOccurrencesServerClient) ListProjectsLocationsNotesOccurrences(ctx context.Context, in *ListProjectsLocationsNotesOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) { + out := new(ListNoteOccurrencesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer/ListProjectsLocationsNotesOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsNotesOccurrencesServerServer is the server API for ProjectsLocationsNotesOccurrencesServer service. +// All implementations must embed UnimplementedProjectsLocationsNotesOccurrencesServerServer +// for forward compatibility +type ProjectsLocationsNotesOccurrencesServerServer interface { + ListProjectsLocationsNotesOccurrences(context.Context, *ListProjectsLocationsNotesOccurrencesRequest) (*ListNoteOccurrencesResponse, error) + mustEmbedUnimplementedProjectsLocationsNotesOccurrencesServerServer() +} + +// UnimplementedProjectsLocationsNotesOccurrencesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsNotesOccurrencesServerServer struct { +} + +func (UnimplementedProjectsLocationsNotesOccurrencesServerServer) ListProjectsLocationsNotesOccurrences(context.Context, *ListProjectsLocationsNotesOccurrencesRequest) (*ListNoteOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsLocationsNotesOccurrences not implemented") +} +func (UnimplementedProjectsLocationsNotesOccurrencesServerServer) mustEmbedUnimplementedProjectsLocationsNotesOccurrencesServerServer() { +} + +// UnsafeProjectsLocationsNotesOccurrencesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsNotesOccurrencesServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsNotesOccurrencesServerServer interface { + mustEmbedUnimplementedProjectsLocationsNotesOccurrencesServerServer() +} + +func RegisterProjectsLocationsNotesOccurrencesServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsNotesOccurrencesServerServer) { + s.RegisterService(&ProjectsLocationsNotesOccurrencesServer_ServiceDesc, srv) +} + +func _ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsLocationsNotesOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsNotesOccurrencesServerServer).ListProjectsLocationsNotesOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer/ListProjectsLocationsNotesOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsNotesOccurrencesServerServer).ListProjectsLocationsNotesOccurrences(ctx, req.(*ListProjectsLocationsNotesOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsNotesOccurrencesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsNotesOccurrencesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsNotesOccurrencesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsLocationsNotesOccurrencesServer", + HandlerType: (*ProjectsLocationsNotesOccurrencesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListProjectsLocationsNotesOccurrences", + Handler: _ProjectsLocationsNotesOccurrencesServer_ListProjectsLocationsNotesOccurrences_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsLocationsOccurrencesServerClient is the client API for ProjectsLocationsOccurrencesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsLocationsOccurrencesServerClient interface { + GetProjectsLocationsOccurrence(ctx context.Context, in *GetProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + GetNotesProjectsLocationsOccurrence(ctx context.Context, in *GetNotesProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*Note, error) + GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx context.Context, in *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*VulnerabilityOccurrencesSummary, error) + ListProjectsLocationsOccurrences(ctx context.Context, in *ListProjectsLocationsOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) +} + +type projectsLocationsOccurrencesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsOccurrencesServerClient(cc grpc.ClientConnInterface) ProjectsLocationsOccurrencesServerClient { + return &projectsLocationsOccurrencesServerClient{cc} +} + +func (c *projectsLocationsOccurrencesServerClient) GetProjectsLocationsOccurrence(ctx context.Context, in *GetProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetProjectsLocationsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsOccurrencesServerClient) GetNotesProjectsLocationsOccurrence(ctx context.Context, in *GetNotesProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetNotesProjectsLocationsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsOccurrencesServerClient) GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx context.Context, in *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest, opts ...grpc.CallOption) (*VulnerabilityOccurrencesSummary, error) { + out := new(VulnerabilityOccurrencesSummary) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetVulnerabilitySummaryProjectsLocationsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsLocationsOccurrencesServerClient) ListProjectsLocationsOccurrences(ctx context.Context, in *ListProjectsLocationsOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) { + out := new(ListOccurrencesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/ListProjectsLocationsOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsOccurrencesServerServer is the server API for ProjectsLocationsOccurrencesServer service. +// All implementations must embed UnimplementedProjectsLocationsOccurrencesServerServer +// for forward compatibility +type ProjectsLocationsOccurrencesServerServer interface { + GetProjectsLocationsOccurrence(context.Context, *GetProjectsLocationsOccurrenceRequest) (*Occurrence, error) + GetNotesProjectsLocationsOccurrence(context.Context, *GetNotesProjectsLocationsOccurrenceRequest) (*Note, error) + GetVulnerabilitySummaryProjectsLocationsOccurrence(context.Context, *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) (*VulnerabilityOccurrencesSummary, error) + ListProjectsLocationsOccurrences(context.Context, *ListProjectsLocationsOccurrencesRequest) (*ListOccurrencesResponse, error) + mustEmbedUnimplementedProjectsLocationsOccurrencesServerServer() +} + +// UnimplementedProjectsLocationsOccurrencesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsOccurrencesServerServer struct { +} + +func (UnimplementedProjectsLocationsOccurrencesServerServer) GetProjectsLocationsOccurrence(context.Context, *GetProjectsLocationsOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsLocationsOccurrence not implemented") +} +func (UnimplementedProjectsLocationsOccurrencesServerServer) GetNotesProjectsLocationsOccurrence(context.Context, *GetNotesProjectsLocationsOccurrenceRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotesProjectsLocationsOccurrence not implemented") +} +func (UnimplementedProjectsLocationsOccurrencesServerServer) GetVulnerabilitySummaryProjectsLocationsOccurrence(context.Context, *GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) (*VulnerabilityOccurrencesSummary, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVulnerabilitySummaryProjectsLocationsOccurrence not implemented") +} +func (UnimplementedProjectsLocationsOccurrencesServerServer) ListProjectsLocationsOccurrences(context.Context, *ListProjectsLocationsOccurrencesRequest) (*ListOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsLocationsOccurrences not implemented") +} +func (UnimplementedProjectsLocationsOccurrencesServerServer) mustEmbedUnimplementedProjectsLocationsOccurrencesServerServer() { +} + +// UnsafeProjectsLocationsOccurrencesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsOccurrencesServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsOccurrencesServerServer interface { + mustEmbedUnimplementedProjectsLocationsOccurrencesServerServer() +} + +func RegisterProjectsLocationsOccurrencesServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsOccurrencesServerServer) { + s.RegisterService(&ProjectsLocationsOccurrencesServer_ServiceDesc, srv) +} + +func _ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsLocationsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsOccurrencesServerServer).GetProjectsLocationsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetProjectsLocationsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsOccurrencesServerServer).GetProjectsLocationsOccurrence(ctx, req.(*GetProjectsLocationsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotesProjectsLocationsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsOccurrencesServerServer).GetNotesProjectsLocationsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetNotesProjectsLocationsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsOccurrencesServerServer).GetNotesProjectsLocationsOccurrence(ctx, req.(*GetNotesProjectsLocationsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsOccurrencesServerServer).GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/GetVulnerabilitySummaryProjectsLocationsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsOccurrencesServerServer).GetVulnerabilitySummaryProjectsLocationsOccurrence(ctx, req.(*GetVulnerabilitySummaryProjectsLocationsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsLocationsOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsOccurrencesServerServer).ListProjectsLocationsOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer/ListProjectsLocationsOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsOccurrencesServerServer).ListProjectsLocationsOccurrences(ctx, req.(*ListProjectsLocationsOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsOccurrencesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsOccurrencesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsOccurrencesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsLocationsOccurrencesServer", + HandlerType: (*ProjectsLocationsOccurrencesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetProjectsLocationsOccurrence", + Handler: _ProjectsLocationsOccurrencesServer_GetProjectsLocationsOccurrence_Handler, + }, + { + MethodName: "GetNotesProjectsLocationsOccurrence", + Handler: _ProjectsLocationsOccurrencesServer_GetNotesProjectsLocationsOccurrence_Handler, + }, + { + MethodName: "GetVulnerabilitySummaryProjectsLocationsOccurrence", + Handler: _ProjectsLocationsOccurrencesServer_GetVulnerabilitySummaryProjectsLocationsOccurrence_Handler, + }, + { + MethodName: "ListProjectsLocationsOccurrences", + Handler: _ProjectsLocationsOccurrencesServer_ListProjectsLocationsOccurrences_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsLocationsResourcesServerClient is the client API for ProjectsLocationsResourcesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsLocationsResourcesServerClient interface { + ExportSBOMProjectsLocationsResource(ctx context.Context, in *ExportSBOMProjectsLocationsResourceRequest, opts ...grpc.CallOption) (*ExportSBOMResponse, error) +} + +type projectsLocationsResourcesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsLocationsResourcesServerClient(cc grpc.ClientConnInterface) ProjectsLocationsResourcesServerClient { + return &projectsLocationsResourcesServerClient{cc} +} + +func (c *projectsLocationsResourcesServerClient) ExportSBOMProjectsLocationsResource(ctx context.Context, in *ExportSBOMProjectsLocationsResourceRequest, opts ...grpc.CallOption) (*ExportSBOMResponse, error) { + out := new(ExportSBOMResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer/ExportSBOMProjectsLocationsResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsLocationsResourcesServerServer is the server API for ProjectsLocationsResourcesServer service. +// All implementations must embed UnimplementedProjectsLocationsResourcesServerServer +// for forward compatibility +type ProjectsLocationsResourcesServerServer interface { + ExportSBOMProjectsLocationsResource(context.Context, *ExportSBOMProjectsLocationsResourceRequest) (*ExportSBOMResponse, error) + mustEmbedUnimplementedProjectsLocationsResourcesServerServer() +} + +// UnimplementedProjectsLocationsResourcesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsLocationsResourcesServerServer struct { +} + +func (UnimplementedProjectsLocationsResourcesServerServer) ExportSBOMProjectsLocationsResource(context.Context, *ExportSBOMProjectsLocationsResourceRequest) (*ExportSBOMResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportSBOMProjectsLocationsResource not implemented") +} +func (UnimplementedProjectsLocationsResourcesServerServer) mustEmbedUnimplementedProjectsLocationsResourcesServerServer() { +} + +// UnsafeProjectsLocationsResourcesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsLocationsResourcesServerServer will +// result in compilation errors. +type UnsafeProjectsLocationsResourcesServerServer interface { + mustEmbedUnimplementedProjectsLocationsResourcesServerServer() +} + +func RegisterProjectsLocationsResourcesServerServer(s grpc.ServiceRegistrar, srv ProjectsLocationsResourcesServerServer) { + s.RegisterService(&ProjectsLocationsResourcesServer_ServiceDesc, srv) +} + +func _ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportSBOMProjectsLocationsResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsLocationsResourcesServerServer).ExportSBOMProjectsLocationsResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer/ExportSBOMProjectsLocationsResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsLocationsResourcesServerServer).ExportSBOMProjectsLocationsResource(ctx, req.(*ExportSBOMProjectsLocationsResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsLocationsResourcesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsLocationsResourcesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsLocationsResourcesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsLocationsResourcesServer", + HandlerType: (*ProjectsLocationsResourcesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExportSBOMProjectsLocationsResource", + Handler: _ProjectsLocationsResourcesServer_ExportSBOMProjectsLocationsResource_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsNotesServerClient is the client API for ProjectsNotesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsNotesServerClient interface { + BatchCreateProjectsNote(ctx context.Context, in *BatchCreateProjectsNoteRequest, opts ...grpc.CallOption) (*BatchCreateNotesResponse, error) + CreateProjectsNote(ctx context.Context, in *CreateProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) + DeleteProjectsNote(ctx context.Context, in *DeleteProjectsNoteRequest, opts ...grpc.CallOption) (*Empty, error) + GetProjectsNote(ctx context.Context, in *GetProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) + ListProjectsNotes(ctx context.Context, in *ListProjectsNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) + PatchProjectsNote(ctx context.Context, in *PatchProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) +} + +type projectsNotesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsNotesServerClient(cc grpc.ClientConnInterface) ProjectsNotesServerClient { + return &projectsNotesServerClient{cc} +} + +func (c *projectsNotesServerClient) BatchCreateProjectsNote(ctx context.Context, in *BatchCreateProjectsNoteRequest, opts ...grpc.CallOption) (*BatchCreateNotesResponse, error) { + out := new(BatchCreateNotesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/BatchCreateProjectsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsNotesServerClient) CreateProjectsNote(ctx context.Context, in *CreateProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/CreateProjectsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsNotesServerClient) DeleteProjectsNote(ctx context.Context, in *DeleteProjectsNoteRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/DeleteProjectsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsNotesServerClient) GetProjectsNote(ctx context.Context, in *GetProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/GetProjectsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsNotesServerClient) ListProjectsNotes(ctx context.Context, in *ListProjectsNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) { + out := new(ListNotesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/ListProjectsNotes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsNotesServerClient) PatchProjectsNote(ctx context.Context, in *PatchProjectsNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesServer/PatchProjectsNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsNotesServerServer is the server API for ProjectsNotesServer service. +// All implementations must embed UnimplementedProjectsNotesServerServer +// for forward compatibility +type ProjectsNotesServerServer interface { + BatchCreateProjectsNote(context.Context, *BatchCreateProjectsNoteRequest) (*BatchCreateNotesResponse, error) + CreateProjectsNote(context.Context, *CreateProjectsNoteRequest) (*Note, error) + DeleteProjectsNote(context.Context, *DeleteProjectsNoteRequest) (*Empty, error) + GetProjectsNote(context.Context, *GetProjectsNoteRequest) (*Note, error) + ListProjectsNotes(context.Context, *ListProjectsNotesRequest) (*ListNotesResponse, error) + PatchProjectsNote(context.Context, *PatchProjectsNoteRequest) (*Note, error) + mustEmbedUnimplementedProjectsNotesServerServer() +} + +// UnimplementedProjectsNotesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsNotesServerServer struct { +} + +func (UnimplementedProjectsNotesServerServer) BatchCreateProjectsNote(context.Context, *BatchCreateProjectsNoteRequest) (*BatchCreateNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateProjectsNote not implemented") +} +func (UnimplementedProjectsNotesServerServer) CreateProjectsNote(context.Context, *CreateProjectsNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProjectsNote not implemented") +} +func (UnimplementedProjectsNotesServerServer) DeleteProjectsNote(context.Context, *DeleteProjectsNoteRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProjectsNote not implemented") +} +func (UnimplementedProjectsNotesServerServer) GetProjectsNote(context.Context, *GetProjectsNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsNote not implemented") +} +func (UnimplementedProjectsNotesServerServer) ListProjectsNotes(context.Context, *ListProjectsNotesRequest) (*ListNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsNotes not implemented") +} +func (UnimplementedProjectsNotesServerServer) PatchProjectsNote(context.Context, *PatchProjectsNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchProjectsNote not implemented") +} +func (UnimplementedProjectsNotesServerServer) mustEmbedUnimplementedProjectsNotesServerServer() {} + +// UnsafeProjectsNotesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsNotesServerServer will +// result in compilation errors. +type UnsafeProjectsNotesServerServer interface { + mustEmbedUnimplementedProjectsNotesServerServer() +} + +func RegisterProjectsNotesServerServer(s grpc.ServiceRegistrar, srv ProjectsNotesServerServer) { + s.RegisterService(&ProjectsNotesServer_ServiceDesc, srv) +} + +func _ProjectsNotesServer_BatchCreateProjectsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateProjectsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).BatchCreateProjectsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/BatchCreateProjectsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).BatchCreateProjectsNote(ctx, req.(*BatchCreateProjectsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsNotesServer_CreateProjectsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProjectsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).CreateProjectsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/CreateProjectsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).CreateProjectsNote(ctx, req.(*CreateProjectsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsNotesServer_DeleteProjectsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProjectsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).DeleteProjectsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/DeleteProjectsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).DeleteProjectsNote(ctx, req.(*DeleteProjectsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsNotesServer_GetProjectsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).GetProjectsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/GetProjectsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).GetProjectsNote(ctx, req.(*GetProjectsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsNotesServer_ListProjectsNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsNotesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).ListProjectsNotes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/ListProjectsNotes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).ListProjectsNotes(ctx, req.(*ListProjectsNotesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsNotesServer_PatchProjectsNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchProjectsNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesServerServer).PatchProjectsNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesServer/PatchProjectsNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesServerServer).PatchProjectsNote(ctx, req.(*PatchProjectsNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsNotesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsNotesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsNotesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsNotesServer", + HandlerType: (*ProjectsNotesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "BatchCreateProjectsNote", + Handler: _ProjectsNotesServer_BatchCreateProjectsNote_Handler, + }, + { + MethodName: "CreateProjectsNote", + Handler: _ProjectsNotesServer_CreateProjectsNote_Handler, + }, + { + MethodName: "DeleteProjectsNote", + Handler: _ProjectsNotesServer_DeleteProjectsNote_Handler, + }, + { + MethodName: "GetProjectsNote", + Handler: _ProjectsNotesServer_GetProjectsNote_Handler, + }, + { + MethodName: "ListProjectsNotes", + Handler: _ProjectsNotesServer_ListProjectsNotes_Handler, + }, + { + MethodName: "PatchProjectsNote", + Handler: _ProjectsNotesServer_PatchProjectsNote_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsNotesOccurrencesServerClient is the client API for ProjectsNotesOccurrencesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsNotesOccurrencesServerClient interface { + ListProjectsNotesOccurrences(ctx context.Context, in *ListProjectsNotesOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) +} + +type projectsNotesOccurrencesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsNotesOccurrencesServerClient(cc grpc.ClientConnInterface) ProjectsNotesOccurrencesServerClient { + return &projectsNotesOccurrencesServerClient{cc} +} + +func (c *projectsNotesOccurrencesServerClient) ListProjectsNotesOccurrences(ctx context.Context, in *ListProjectsNotesOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) { + out := new(ListNoteOccurrencesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer/ListProjectsNotesOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsNotesOccurrencesServerServer is the server API for ProjectsNotesOccurrencesServer service. +// All implementations must embed UnimplementedProjectsNotesOccurrencesServerServer +// for forward compatibility +type ProjectsNotesOccurrencesServerServer interface { + ListProjectsNotesOccurrences(context.Context, *ListProjectsNotesOccurrencesRequest) (*ListNoteOccurrencesResponse, error) + mustEmbedUnimplementedProjectsNotesOccurrencesServerServer() +} + +// UnimplementedProjectsNotesOccurrencesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsNotesOccurrencesServerServer struct { +} + +func (UnimplementedProjectsNotesOccurrencesServerServer) ListProjectsNotesOccurrences(context.Context, *ListProjectsNotesOccurrencesRequest) (*ListNoteOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsNotesOccurrences not implemented") +} +func (UnimplementedProjectsNotesOccurrencesServerServer) mustEmbedUnimplementedProjectsNotesOccurrencesServerServer() { +} + +// UnsafeProjectsNotesOccurrencesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsNotesOccurrencesServerServer will +// result in compilation errors. +type UnsafeProjectsNotesOccurrencesServerServer interface { + mustEmbedUnimplementedProjectsNotesOccurrencesServerServer() +} + +func RegisterProjectsNotesOccurrencesServerServer(s grpc.ServiceRegistrar, srv ProjectsNotesOccurrencesServerServer) { + s.RegisterService(&ProjectsNotesOccurrencesServer_ServiceDesc, srv) +} + +func _ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsNotesOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsNotesOccurrencesServerServer).ListProjectsNotesOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer/ListProjectsNotesOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsNotesOccurrencesServerServer).ListProjectsNotesOccurrences(ctx, req.(*ListProjectsNotesOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsNotesOccurrencesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsNotesOccurrencesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsNotesOccurrencesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsNotesOccurrencesServer", + HandlerType: (*ProjectsNotesOccurrencesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ListProjectsNotesOccurrences", + Handler: _ProjectsNotesOccurrencesServer_ListProjectsNotesOccurrences_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsOccurrencesServerClient is the client API for ProjectsOccurrencesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsOccurrencesServerClient interface { + BatchCreateProjectsOccurrence(ctx context.Context, in *BatchCreateProjectsOccurrenceRequest, opts ...grpc.CallOption) (*BatchCreateOccurrencesResponse, error) + CreateProjectsOccurrence(ctx context.Context, in *CreateProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + DeleteProjectsOccurrence(ctx context.Context, in *DeleteProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Empty, error) + GetProjectsOccurrence(ctx context.Context, in *GetProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + GetNotesProjectsOccurrence(ctx context.Context, in *GetNotesProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Note, error) + GetVulnerabilitySummaryProjectsOccurrence(ctx context.Context, in *GetVulnerabilitySummaryProjectsOccurrenceRequest, opts ...grpc.CallOption) (*VulnerabilityOccurrencesSummary, error) + ListProjectsOccurrences(ctx context.Context, in *ListProjectsOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) + PatchProjectsOccurrence(ctx context.Context, in *PatchProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) +} + +type projectsOccurrencesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsOccurrencesServerClient(cc grpc.ClientConnInterface) ProjectsOccurrencesServerClient { + return &projectsOccurrencesServerClient{cc} +} + +func (c *projectsOccurrencesServerClient) BatchCreateProjectsOccurrence(ctx context.Context, in *BatchCreateProjectsOccurrenceRequest, opts ...grpc.CallOption) (*BatchCreateOccurrencesResponse, error) { + out := new(BatchCreateOccurrencesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/BatchCreateProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) CreateProjectsOccurrence(ctx context.Context, in *CreateProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/CreateProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) DeleteProjectsOccurrence(ctx context.Context, in *DeleteProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Empty, error) { + out := new(Empty) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/DeleteProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) GetProjectsOccurrence(ctx context.Context, in *GetProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) GetNotesProjectsOccurrence(ctx context.Context, in *GetNotesProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetNotesProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) GetVulnerabilitySummaryProjectsOccurrence(ctx context.Context, in *GetVulnerabilitySummaryProjectsOccurrenceRequest, opts ...grpc.CallOption) (*VulnerabilityOccurrencesSummary, error) { + out := new(VulnerabilityOccurrencesSummary) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetVulnerabilitySummaryProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) ListProjectsOccurrences(ctx context.Context, in *ListProjectsOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) { + out := new(ListOccurrencesResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/ListProjectsOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *projectsOccurrencesServerClient) PatchProjectsOccurrence(ctx context.Context, in *PatchProjectsOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/PatchProjectsOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsOccurrencesServerServer is the server API for ProjectsOccurrencesServer service. +// All implementations must embed UnimplementedProjectsOccurrencesServerServer +// for forward compatibility +type ProjectsOccurrencesServerServer interface { + BatchCreateProjectsOccurrence(context.Context, *BatchCreateProjectsOccurrenceRequest) (*BatchCreateOccurrencesResponse, error) + CreateProjectsOccurrence(context.Context, *CreateProjectsOccurrenceRequest) (*Occurrence, error) + DeleteProjectsOccurrence(context.Context, *DeleteProjectsOccurrenceRequest) (*Empty, error) + GetProjectsOccurrence(context.Context, *GetProjectsOccurrenceRequest) (*Occurrence, error) + GetNotesProjectsOccurrence(context.Context, *GetNotesProjectsOccurrenceRequest) (*Note, error) + GetVulnerabilitySummaryProjectsOccurrence(context.Context, *GetVulnerabilitySummaryProjectsOccurrenceRequest) (*VulnerabilityOccurrencesSummary, error) + ListProjectsOccurrences(context.Context, *ListProjectsOccurrencesRequest) (*ListOccurrencesResponse, error) + PatchProjectsOccurrence(context.Context, *PatchProjectsOccurrenceRequest) (*Occurrence, error) + mustEmbedUnimplementedProjectsOccurrencesServerServer() +} + +// UnimplementedProjectsOccurrencesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsOccurrencesServerServer struct { +} + +func (UnimplementedProjectsOccurrencesServerServer) BatchCreateProjectsOccurrence(context.Context, *BatchCreateProjectsOccurrenceRequest) (*BatchCreateOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) CreateProjectsOccurrence(context.Context, *CreateProjectsOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) DeleteProjectsOccurrence(context.Context, *DeleteProjectsOccurrenceRequest) (*Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) GetProjectsOccurrence(context.Context, *GetProjectsOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) GetNotesProjectsOccurrence(context.Context, *GetNotesProjectsOccurrenceRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNotesProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) GetVulnerabilitySummaryProjectsOccurrence(context.Context, *GetVulnerabilitySummaryProjectsOccurrenceRequest) (*VulnerabilityOccurrencesSummary, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetVulnerabilitySummaryProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) ListProjectsOccurrences(context.Context, *ListProjectsOccurrencesRequest) (*ListOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListProjectsOccurrences not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) PatchProjectsOccurrence(context.Context, *PatchProjectsOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method PatchProjectsOccurrence not implemented") +} +func (UnimplementedProjectsOccurrencesServerServer) mustEmbedUnimplementedProjectsOccurrencesServerServer() { +} + +// UnsafeProjectsOccurrencesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsOccurrencesServerServer will +// result in compilation errors. +type UnsafeProjectsOccurrencesServerServer interface { + mustEmbedUnimplementedProjectsOccurrencesServerServer() +} + +func RegisterProjectsOccurrencesServerServer(s grpc.ServiceRegistrar, srv ProjectsOccurrencesServerServer) { + s.RegisterService(&ProjectsOccurrencesServer_ServiceDesc, srv) +} + +func _ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).BatchCreateProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/BatchCreateProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).BatchCreateProjectsOccurrence(ctx, req.(*BatchCreateProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_CreateProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).CreateProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/CreateProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).CreateProjectsOccurrence(ctx, req.(*CreateProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_DeleteProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).DeleteProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/DeleteProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).DeleteProjectsOccurrence(ctx, req.(*DeleteProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_GetProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).GetProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).GetProjectsOccurrence(ctx, req.(*GetProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_GetNotesProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNotesProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).GetNotesProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetNotesProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).GetNotesProjectsOccurrence(ctx, req.(*GetNotesProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetVulnerabilitySummaryProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).GetVulnerabilitySummaryProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/GetVulnerabilitySummaryProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).GetVulnerabilitySummaryProjectsOccurrence(ctx, req.(*GetVulnerabilitySummaryProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_ListProjectsOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListProjectsOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).ListProjectsOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/ListProjectsOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).ListProjectsOccurrences(ctx, req.(*ListProjectsOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ProjectsOccurrencesServer_PatchProjectsOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchProjectsOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsOccurrencesServerServer).PatchProjectsOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsOccurrencesServer/PatchProjectsOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsOccurrencesServerServer).PatchProjectsOccurrence(ctx, req.(*PatchProjectsOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsOccurrencesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsOccurrencesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsOccurrencesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsOccurrencesServer", + HandlerType: (*ProjectsOccurrencesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "BatchCreateProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_BatchCreateProjectsOccurrence_Handler, + }, + { + MethodName: "CreateProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_CreateProjectsOccurrence_Handler, + }, + { + MethodName: "DeleteProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_DeleteProjectsOccurrence_Handler, + }, + { + MethodName: "GetProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_GetProjectsOccurrence_Handler, + }, + { + MethodName: "GetNotesProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_GetNotesProjectsOccurrence_Handler, + }, + { + MethodName: "GetVulnerabilitySummaryProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_GetVulnerabilitySummaryProjectsOccurrence_Handler, + }, + { + MethodName: "ListProjectsOccurrences", + Handler: _ProjectsOccurrencesServer_ListProjectsOccurrences_Handler, + }, + { + MethodName: "PatchProjectsOccurrence", + Handler: _ProjectsOccurrencesServer_PatchProjectsOccurrence_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} + +// ProjectsResourcesServerClient is the client API for ProjectsResourcesServer service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type ProjectsResourcesServerClient interface { + ExportSBOMProjectsResource(ctx context.Context, in *ExportSBOMProjectsResourceRequest, opts ...grpc.CallOption) (*ExportSBOMResponse, error) +} + +type projectsResourcesServerClient struct { + cc grpc.ClientConnInterface +} + +func NewProjectsResourcesServerClient(cc grpc.ClientConnInterface) ProjectsResourcesServerClient { + return &projectsResourcesServerClient{cc} +} + +func (c *projectsResourcesServerClient) ExportSBOMProjectsResource(ctx context.Context, in *ExportSBOMProjectsResourceRequest, opts ...grpc.CallOption) (*ExportSBOMResponse, error) { + out := new(ExportSBOMResponse) + err := c.cc.Invoke(ctx, "/google.cloud.containeranalysis.v1.ProjectsResourcesServer/ExportSBOMProjectsResource", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// ProjectsResourcesServerServer is the server API for ProjectsResourcesServer service. +// All implementations must embed UnimplementedProjectsResourcesServerServer +// for forward compatibility +type ProjectsResourcesServerServer interface { + ExportSBOMProjectsResource(context.Context, *ExportSBOMProjectsResourceRequest) (*ExportSBOMResponse, error) + mustEmbedUnimplementedProjectsResourcesServerServer() +} + +// UnimplementedProjectsResourcesServerServer must be embedded to have forward compatible implementations. +type UnimplementedProjectsResourcesServerServer struct { +} + +func (UnimplementedProjectsResourcesServerServer) ExportSBOMProjectsResource(context.Context, *ExportSBOMProjectsResourceRequest) (*ExportSBOMResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ExportSBOMProjectsResource not implemented") +} +func (UnimplementedProjectsResourcesServerServer) mustEmbedUnimplementedProjectsResourcesServerServer() { +} + +// UnsafeProjectsResourcesServerServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to ProjectsResourcesServerServer will +// result in compilation errors. +type UnsafeProjectsResourcesServerServer interface { + mustEmbedUnimplementedProjectsResourcesServerServer() +} + +func RegisterProjectsResourcesServerServer(s grpc.ServiceRegistrar, srv ProjectsResourcesServerServer) { + s.RegisterService(&ProjectsResourcesServer_ServiceDesc, srv) +} + +func _ProjectsResourcesServer_ExportSBOMProjectsResource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportSBOMProjectsResourceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ProjectsResourcesServerServer).ExportSBOMProjectsResource(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/google.cloud.containeranalysis.v1.ProjectsResourcesServer/ExportSBOMProjectsResource", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ProjectsResourcesServerServer).ExportSBOMProjectsResource(ctx, req.(*ExportSBOMProjectsResourceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// ProjectsResourcesServer_ServiceDesc is the grpc.ServiceDesc for ProjectsResourcesServer service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var ProjectsResourcesServer_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "google.cloud.containeranalysis.v1.ProjectsResourcesServer", + HandlerType: (*ProjectsResourcesServerServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "ExportSBOMProjectsResource", + Handler: _ProjectsResourcesServer_ExportSBOMProjectsResource_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgcp/devtools/containeranalysis/v1/containeranalysis.proto", +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index 783ffa2ae5..9b3f6c7a15 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -27,6 +27,8 @@ import ( "strings" "testing" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcontaineranalysis" + "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" "sigs.k8s.io/controller-runtime/pkg/client" @@ -140,6 +142,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, mockartifactregistry.New(env, storage)) services = append(services, mockgkehub.New(env, storage)) services = append(services, mockalloydb.New(env, storage)) + services = append(services, mockcontaineranalysis.New(env, storage)) for _, service := range services { service.Register(server) diff --git a/mockgcp/mockcontaineranalysis/names.go b/mockgcp/mockcontaineranalysis/names.go new file mode 100644 index 0000000000..dc39e48e58 --- /dev/null +++ b/mockgcp/mockcontaineranalysis/names.go @@ -0,0 +1,55 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcontaineranalysis + +import ( + "strings" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" +) + +type projectNoteName struct { + Project *projects.ProjectData + ProjectNoteName string +} + +func (n *projectNoteName) String() string { + return "projects/" + n.Project.ID + "/notes/" + n.ProjectNoteName +} + +// parseProjectNoteName parses a string into a projectNoteName. +// The expected form is projects//notes/ +func (s *MockService) parseProjectNoteName(name string) (*projectNoteName, error) { + tokens := strings.Split(name, "/") + + if len(tokens) == 4 && tokens[0] == "projects" && tokens[2] == "notes" { + project, err := s.Projects.GetProjectByID(tokens[1]) + if err != nil { + return nil, err + } + + name := &projectNoteName{ + Project: project, + ProjectNoteName: tokens[3], + } + + return name, nil + } else { + return nil, status.Errorf(codes.InvalidArgument, "name %q is not valid", name) + } +} diff --git a/mockgcp/mockcontaineranalysis/note.go b/mockgcp/mockcontaineranalysis/note.go new file mode 100644 index 0000000000..61826fc3fe --- /dev/null +++ b/mockgcp/mockcontaineranalysis/note.go @@ -0,0 +1,114 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcontaineranalysis + +import ( + "context" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/emptypb" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/devtools/containeranalysis/v1" + "google.golang.org/protobuf/proto" +) + +type ContainerAnalysisV1 struct { + *MockService + pb.UnimplementedProjectsNotesServerServer +} + +func (s *ContainerAnalysisV1) GetProjectsNote(ctx context.Context, req *pb.GetProjectsNoteRequest) (*pb.Note, error) { + name, err := s.parseProjectNoteName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.Note{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) CreateProjectsNote(ctx context.Context, req *pb.CreateProjectsNoteRequest) (*pb.Note, error) { + reqName := req.Parent + "/notes/" + req.NoteId + name, err := s.parseProjectNoteName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := proto.Clone(req.ProjectsNote).(*pb.Note) + obj.Name = fqn + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) UpdateProjectsNote(ctx context.Context, req *pb.PatchProjectsNoteRequest) (*pb.Note, error) { + reqName := req.GetName() + + name, err := s.parseProjectNoteName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + obj := &pb.Note{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + // Required. A list of fields to be updated in this request. + paths := req.GetUpdateMask() + + // TODO: Some sort of helper for fieldmask? + for _, path := range paths { + switch path { + + default: + return nil, status.Errorf(codes.InvalidArgument, "update_mask path %q not valid", path) + } + } + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) DeleteProjectsNote(ctx context.Context, req *pb.DeleteProjectsNoteRequest) (*Empty, error) { + name, err := s.parseProjectNoteName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + oldObj := &pb.Note{} + if err := s.storage.Delete(ctx, fqn, oldObj); err != nil { + return nil, err + } + + return &emptypb.Empty{}, nil +} diff --git a/mockgcp/mockcontaineranalysis/service.go b/mockgcp/mockcontaineranalysis/service.go new file mode 100644 index 0000000000..9f9635d862 --- /dev/null +++ b/mockgcp/mockcontaineranalysis/service.go @@ -0,0 +1,73 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcontaineranalysis + +import ( + "context" + "net/http" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/httpmux" + + "google.golang.org/grpc" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/operations" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgcp/devtools/containeranalysis/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +// MockService represents a mocked containeranalysis service. +type MockService struct { + *common.MockEnvironment + storage storage.Storage + operations *operations.Operations + v1 *ContainerAnalysisV1 +} + +// New creates a MockService. +func New(env *common.MockEnvironment, storage storage.Storage) *MockService { + s := &MockService{ + MockEnvironment: env, + storage: storage, + operations: operations.NewOperationsService(storage), + } + return s +} + +func (s *MockService) ExpectedHost() string { + return "containeranalysis.googleapis.com" +} + +func (s *MockService) Register(grpcServer *grpc.Server) { + pb.RegisterProjectsNotesServerServer(grpcServer, &ContainerAnalysisV1{MockService: s}) +} + +func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { + mux, err := httpmux.NewServeMux(ctx, conn, httpmux.Options{}, + pb.RegisterProjectsNotesServerHandler) + if err != nil { + return nil, err + } + + // Returns slightly non-standard errors + mux.RewriteError = func(ctx context.Context, error *httpmux.ErrorResponse) { + if error.Code == 404 { + error.Message = "Requested entity was not found***" + error.Errors = nil + } + } + + return mux, nil +}