From 9359a8d303c45e3212571b77610f1cefb0c6f3eb Mon Sep 17 00:00:00 2001
From: Dave Day <djd@golang.org>
Date: Fri, 7 Oct 2016 15:00:06 +1100
Subject: [PATCH] Regenerate proto files

---
 .../api/configchange/config_change.pb.go      |  156 ++
 .../api/configchange/config_change.proto      |   84 +
 .../api/distribution/distribution.pb.go       |   73 +-
 googleapis/api/httpbody/httpbody.pb.go        |  102 +
 googleapis/api/httpbody/httpbody.proto        |   69 +
 googleapis/api/label/label.pb.go              |   32 +-
 googleapis/api/label/label.proto              |    2 +
 googleapis/api/metric/metric.pb.go            |   76 +-
 googleapis/api/metric/metric.proto            |   12 +-
 .../api/monitoredres/monitored_resource.pb.go |   50 +-
 .../api/monitoredres/monitored_resource.proto |    9 +-
 .../api/serviceconfig/annotations.pb.go       |   31 +-
 .../api/serviceconfig/annotations.proto       |    1 +
 googleapis/api/serviceconfig/auth.pb.go       |   69 +-
 googleapis/api/serviceconfig/auth.proto       |   15 +-
 googleapis/api/serviceconfig/backend.pb.go    |   35 +-
 googleapis/api/serviceconfig/backend.proto    |    7 +-
 googleapis/api/serviceconfig/billing.pb.go    |   34 +-
 googleapis/api/serviceconfig/consumer.pb.go   |   39 +-
 googleapis/api/serviceconfig/context.pb.go    |   34 +-
 googleapis/api/serviceconfig/context.proto    |    5 +-
 googleapis/api/serviceconfig/control.pb.go    |   23 +-
 googleapis/api/serviceconfig/control.proto    |    2 +-
 .../api/serviceconfig/documentation.pb.go     |   49 +-
 .../api/serviceconfig/documentation.proto     |    5 +-
 googleapis/api/serviceconfig/endpoint.pb.go   |  106 +
 googleapis/api/serviceconfig/endpoint.proto   |   89 +
 googleapis/api/serviceconfig/http.pb.go       |   63 +-
 googleapis/api/serviceconfig/http.proto       |    8 +-
 googleapis/api/serviceconfig/log.pb.go        |   32 +-
 googleapis/api/serviceconfig/log.proto        |    1 +
 googleapis/api/serviceconfig/logging.pb.go    |   44 +-
 googleapis/api/serviceconfig/logging.proto    |    2 +-
 googleapis/api/serviceconfig/monitoring.pb.go |   44 +-
 googleapis/api/serviceconfig/monitoring.proto |    2 +-
 googleapis/api/serviceconfig/service.pb.go    |  127 +-
 googleapis/api/serviceconfig/service.proto    |   14 +-
 .../api/serviceconfig/system_parameter.pb.go  |   53 +-
 .../api/serviceconfig/system_parameter.proto  |    7 +-
 googleapis/api/serviceconfig/usage.pb.go      |  130 +-
 googleapis/api/serviceconfig/usage.proto      |   69 +-
 .../api/servicecontrol/v1/check_error.pb.go   |  190 ++
 .../api/servicecontrol/v1/check_error.proto   |   94 +
 .../api/servicecontrol/v1/distribution.pb.go  |  341 +++
 .../api/servicecontrol/v1/distribution.proto  |  158 ++
 .../api/servicecontrol/v1/log_entry.pb.go     |  240 +++
 .../api/servicecontrol/v1/log_entry.proto     |   66 +
 .../api/servicecontrol/v1/metric_value.pb.go  |  320 +++
 .../api/servicecontrol/v1/metric_value.proto  |   77 +
 .../api/servicecontrol/v1/operation.pb.go     |  190 ++
 .../api/servicecontrol/v1/operation.proto     |  111 +
 .../v1/service_controller.pb.go               |  335 +++
 .../v1/service_controller.proto               |  136 ++
 .../api/servicemanagement/v1/resources.pb.go  |  680 ++++++
 .../api/servicemanagement/v1/resources.proto  |  285 +++
 .../servicemanagement/v1/servicemanager.pb.go | 1216 +++++++++++
 .../servicemanagement/v1/servicemanager.proto |  391 ++++
 googleapis/appengine/v1/app_yaml.pb.go        |  262 ++-
 googleapis/appengine/v1/appengine.pb.go       |  265 +--
 googleapis/appengine/v1/application.pb.go     |   60 +-
 googleapis/appengine/v1/deploy.pb.go          |   52 +-
 googleapis/appengine/v1/instance.pb.go        |   70 +-
 googleapis/appengine/v1/location.pb.go        |   30 +-
 googleapis/appengine/v1/operation.pb.go       |   38 +-
 googleapis/appengine/v1/service.pb.go         |   46 +-
 googleapis/appengine/v1/version.pb.go         |  225 +-
 .../admin/table/v1/bigtable_table_data.pb.go  |   78 +-
 .../table/v1/bigtable_table_service.pb.go     |   80 +-
 .../v1/bigtable_table_service_messages.pb.go  |   88 +-
 .../admin/v2/bigtable_instance_admin.pb.go    |  128 +-
 .../admin/v2/bigtable_table_admin.pb.go       |  113 +-
 googleapis/bigtable/admin/v2/common.pb.go     |   34 +-
 googleapis/bigtable/admin/v2/instance.pb.go   |   54 +-
 googleapis/bigtable/admin/v2/table.pb.go      |   78 +-
 googleapis/bigtable/v1/bigtable_data.pb.go    |  175 +-
 googleapis/bigtable/v1/bigtable_service.pb.go |   80 +-
 .../v1/bigtable_service_messages.pb.go        |  132 +-
 googleapis/bigtable/v2/bigtable.pb.go         |  157 +-
 googleapis/bigtable/v2/bigtable.proto         |   10 +-
 googleapis/bigtable/v2/data.pb.go             |  177 +-
 googleapis/bigtable/v2/data.proto             |    4 +-
 googleapis/bytestream/bytestream.pb.go        |   60 +-
 googleapis/cloud/audit/audit_log.pb.go        |  244 +++
 googleapis/cloud/audit/audit_log.proto        |  127 ++
 .../cloud/billing/v1/cloud_billing.pb.go      |  572 +++++
 .../cloud/billing/v1/cloud_billing.proto      |  213 ++
 googleapis/cloud/dataproc/v1/clusters.pb.go   | 1034 +++++++++
 googleapis/cloud/dataproc/v1/clusters.proto   |  443 ++++
 googleapis/cloud/dataproc/v1/jobs.pb.go       | 1877 +++++++++++++++++
 googleapis/cloud/dataproc/v1/jobs.proto       |  572 +++++
 googleapis/cloud/dataproc/v1/operations.pb.go |  156 ++
 googleapis/cloud/dataproc/v1/operations.proto |   78 +
 .../language/v1beta1/language_service.pb.go   |  240 +--
 .../language/v1beta1/language_service.proto   |    1 +
 googleapis/cloud/ml/v1beta1/job_service.pb.go | 1372 ++++++++++++
 googleapis/cloud/ml/v1beta1/job_service.proto |  529 +++++
 .../cloud/ml/v1beta1/model_service.pb.go      |  833 ++++++++
 .../cloud/ml/v1beta1/model_service.proto      |  340 +++
 .../cloud/ml/v1beta1/operation_metadata.pb.go |  144 ++
 .../cloud/ml/v1beta1/operation_metadata.proto |   71 +
 .../cloud/ml/v1beta1/prediction_service.pb.go |  333 +++
 .../cloud/ml/v1beta1/prediction_service.proto |  188 ++
 .../cloud/ml/v1beta1/project_service.pb.go    |  160 ++
 .../cloud/ml/v1beta1/project_service.proto    |   52 +
 .../runtimeconfig/v1beta1/resources.pb.go     |   79 +-
 .../runtimeconfig/v1beta1/runtimeconfig.pb.go |  139 +-
 googleapis/cloud/speech/v1/cloud_speech.pb.go |  126 +-
 .../cloud/speech/v1beta1/cloud_speech.pb.go   |  309 ++-
 .../cloud/speech/v1beta1/cloud_speech.proto   |  131 +-
 googleapis/cloud/vision/v1/geometry.pb.go     |   32 +-
 .../cloud/vision/v1/image_annotator.pb.go     |  260 +--
 googleapis/container/v1/cluster_service.pb.go |  239 ++-
 googleapis/datastore/v1/datastore.pb.go       |  152 +-
 googleapis/datastore/v1/entity.pb.go          |   98 +-
 googleapis/datastore/v1/query.pb.go           |  165 +-
 googleapis/datastore/v1beta3/datastore.pb.go  |  152 +-
 googleapis/datastore/v1beta3/entity.pb.go     |   99 +-
 googleapis/datastore/v1beta3/query.pb.go      |  167 +-
 .../devtools/cloudbuild/v1/cloudbuild.pb.go   |  665 +++++-
 .../devtools/cloudbuild/v1/cloudbuild.proto   |  122 +-
 .../clouddebugger/v2/controller.pb.go         |   76 +-
 .../clouddebugger/v2/controller.proto         |    2 +-
 .../devtools/clouddebugger/v2/data.pb.go      |  158 +-
 .../devtools/clouddebugger/v2/data.proto      |    2 +-
 .../devtools/clouddebugger/v2/debugger.pb.go  |  110 +-
 .../devtools/clouddebugger/v2/debugger.proto  |   13 +-
 .../clouderrorreporting/v1beta1/common.pb.go  |   84 +-
 .../v1beta1/error_group_service.pb.go         |   48 +-
 .../v1beta1/error_stats_service.pb.go         |  194 +-
 .../v1beta1/error_stats_service.proto         |   35 +-
 .../v1beta1/report_errors_service.pb.go       |   58 +-
 googleapis/devtools/cloudtrace/v1/trace.pb.go |  134 +-
 googleapis/devtools/cloudtrace/v1/trace.proto |   18 +-
 .../devtools/source/v1/source_context.pb.go   |   98 +-
 .../devtools/source/v1/source_context.proto   |    2 +-
 googleapis/example/library/v1/library.pb.go   |  110 +-
 googleapis/genomics/v1/annotations.pb.go      |  286 +--
 googleapis/genomics/v1/annotations.proto      |    9 +
 googleapis/genomics/v1/cigar.pb.go            |   50 +-
 googleapis/genomics/v1/datasets.pb.go         |  104 +-
 googleapis/genomics/v1/operations.pb.go       |   54 +-
 googleapis/genomics/v1/position.pb.go         |   30 +-
 googleapis/genomics/v1/range.pb.go            |   30 +-
 googleapis/genomics/v1/readalignment.pb.go    |   90 +-
 googleapis/genomics/v1/readgroup.pb.go        |   78 +-
 googleapis/genomics/v1/readgroupset.pb.go     |   52 +-
 googleapis/genomics/v1/reads.pb.go            |  176 +-
 googleapis/genomics/v1/reads.proto            |    3 +-
 googleapis/genomics/v1/references.pb.go       |  108 +-
 googleapis/genomics/v1/variants.pb.go         |  298 ++-
 googleapis/genomics/v1/variants.proto         |    1 -
 googleapis/genomics/v1alpha2/pipelines.pb.go  |  279 +--
 googleapis/genomics/v1alpha2/pipelines.proto  |   12 +-
 googleapis/iam/admin/v1/iam.pb.go             | 1248 +++++++++++
 googleapis/iam/admin/v1/iam.proto             |  468 ++++
 googleapis/iam/v1/iam_policy.pb.go            |   85 +-
 googleapis/iam/v1/iam_policy.proto            |   52 +-
 googleapis/iam/v1/policy.pb.go                |  148 +-
 googleapis/iam/v1/policy.proto                |  121 +-
 googleapis/logging/type/http_request.pb.go    |   75 +-
 googleapis/logging/type/http_request.proto    |   10 +-
 googleapis/logging/type/log_severity.pb.go    |   79 +-
 googleapis/logging/type/log_severity.proto    |   41 +-
 googleapis/logging/v2/log_entry.pb.go         |  132 +-
 googleapis/logging/v2/log_entry.proto         |   20 +-
 googleapis/logging/v2/logging.pb.go           |  235 ++-
 googleapis/logging/v2/logging.proto           |   97 +-
 googleapis/logging/v2/logging_config.pb.go    |  227 +-
 googleapis/logging/v2/logging_config.proto    |  108 +-
 googleapis/logging/v2/logging_metrics.pb.go   |  176 +-
 googleapis/logging/v2/logging_metrics.proto   |   57 +-
 googleapis/longrunning/operations.pb.go       |  152 +-
 googleapis/longrunning/operations.proto       |   66 +-
 googleapis/monitoring/v3/agent.pb.go          |   74 +-
 googleapis/monitoring/v3/agent_service.pb.go  |   56 +-
 googleapis/monitoring/v3/common.pb.go         |  114 +-
 googleapis/monitoring/v3/common.proto         |   15 +-
 googleapis/monitoring/v3/group.pb.go          |   30 +-
 googleapis/monitoring/v3/group.proto          |    4 +-
 googleapis/monitoring/v3/group_service.pb.go  |  137 +-
 googleapis/monitoring/v3/group_service.proto  |   20 +-
 googleapis/monitoring/v3/metric.pb.go         |  102 +-
 googleapis/monitoring/v3/metric.proto         |   54 +-
 googleapis/monitoring/v3/metric_service.pb.go |  149 +-
 googleapis/monitoring/v3/metric_service.proto |   14 +-
 googleapis/pubsub/v1/pubsub.pb.go             |  198 +-
 googleapis/pubsub/v1/pubsub.proto             |   17 +-
 googleapis/pubsub/v1beta2/pubsub.pb.go        |  142 +-
 googleapis/rpc/code/code.pb.go                |   46 +-
 .../error_details.pb.go                       |   76 +-
 .../error_details.proto                       |    0
 googleapis/rpc/status/status.pb.go            |   29 +-
 googleapis/storagetransfer/v1/transfer.pb.go  |   98 +-
 .../storagetransfer/v1/transfer_types.pb.go   |  221 +-
 googleapis/type/color/color.pb.go             |   30 +-
 googleapis/type/date/date.pb.go               |   15 +-
 googleapis/type/dayofweek/dayofweek.pb.go     |   22 +-
 googleapis/type/latlng/latlng.pb.go           |   12 +-
 googleapis/type/money/money.pb.go             |   14 +-
 googleapis/type/timeofday/timeofday.pb.go     |   18 +-
 protobuf/api.pb.go                            |   56 +-
 protobuf/descriptor.pb.go                     |  289 ++-
 protobuf/field_mask.pb.go                     |   16 +-
 protobuf/source_context.pb.go                 |   12 +-
 protobuf/type.pb.go                           |  103 +-
 regen.sh                                      |    1 +
 206 files changed, 23801 insertions(+), 6427 deletions(-)
 create mode 100644 googleapis/api/configchange/config_change.pb.go
 create mode 100644 googleapis/api/configchange/config_change.proto
 create mode 100644 googleapis/api/httpbody/httpbody.pb.go
 create mode 100644 googleapis/api/httpbody/httpbody.proto
 create mode 100644 googleapis/api/serviceconfig/endpoint.pb.go
 create mode 100644 googleapis/api/serviceconfig/endpoint.proto
 create mode 100644 googleapis/api/servicecontrol/v1/check_error.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/check_error.proto
 create mode 100644 googleapis/api/servicecontrol/v1/distribution.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/distribution.proto
 create mode 100644 googleapis/api/servicecontrol/v1/log_entry.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/log_entry.proto
 create mode 100644 googleapis/api/servicecontrol/v1/metric_value.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/metric_value.proto
 create mode 100644 googleapis/api/servicecontrol/v1/operation.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/operation.proto
 create mode 100644 googleapis/api/servicecontrol/v1/service_controller.pb.go
 create mode 100644 googleapis/api/servicecontrol/v1/service_controller.proto
 create mode 100644 googleapis/api/servicemanagement/v1/resources.pb.go
 create mode 100644 googleapis/api/servicemanagement/v1/resources.proto
 create mode 100644 googleapis/api/servicemanagement/v1/servicemanager.pb.go
 create mode 100644 googleapis/api/servicemanagement/v1/servicemanager.proto
 create mode 100644 googleapis/cloud/audit/audit_log.pb.go
 create mode 100644 googleapis/cloud/audit/audit_log.proto
 create mode 100644 googleapis/cloud/billing/v1/cloud_billing.pb.go
 create mode 100644 googleapis/cloud/billing/v1/cloud_billing.proto
 create mode 100644 googleapis/cloud/dataproc/v1/clusters.pb.go
 create mode 100644 googleapis/cloud/dataproc/v1/clusters.proto
 create mode 100644 googleapis/cloud/dataproc/v1/jobs.pb.go
 create mode 100644 googleapis/cloud/dataproc/v1/jobs.proto
 create mode 100644 googleapis/cloud/dataproc/v1/operations.pb.go
 create mode 100644 googleapis/cloud/dataproc/v1/operations.proto
 create mode 100644 googleapis/cloud/ml/v1beta1/job_service.pb.go
 create mode 100644 googleapis/cloud/ml/v1beta1/job_service.proto
 create mode 100644 googleapis/cloud/ml/v1beta1/model_service.pb.go
 create mode 100644 googleapis/cloud/ml/v1beta1/model_service.proto
 create mode 100644 googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
 create mode 100644 googleapis/cloud/ml/v1beta1/operation_metadata.proto
 create mode 100644 googleapis/cloud/ml/v1beta1/prediction_service.pb.go
 create mode 100644 googleapis/cloud/ml/v1beta1/prediction_service.proto
 create mode 100644 googleapis/cloud/ml/v1beta1/project_service.pb.go
 create mode 100644 googleapis/cloud/ml/v1beta1/project_service.proto
 create mode 100644 googleapis/iam/admin/v1/iam.pb.go
 create mode 100644 googleapis/iam/admin/v1/iam.proto
 rename googleapis/rpc/{error_details => errdetails}/error_details.pb.go (77%)
 rename googleapis/rpc/{error_details => errdetails}/error_details.proto (100%)

diff --git a/googleapis/api/configchange/config_change.pb.go b/googleapis/api/configchange/config_change.pb.go
new file mode 100644
index 00000000..64f48dac
--- /dev/null
+++ b/googleapis/api/configchange/config_change.pb.go
@@ -0,0 +1,156 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+// DO NOT EDIT!
+
+/*
+Package google_api is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+
+It has these top-level messages:
+	ConfigChange
+	Advice
+*/
+package google_api // import "google.golang.org/genproto/googleapis/api/configchange"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Classifies set of possible modifications to an object in the service
+// configuration.
+type ChangeType int32
+
+const (
+	// No value was provided.
+	ChangeType_CHANGE_TYPE_UNSPECIFIED ChangeType = 0
+	// The changed object exists in the 'new' service configuration, but not
+	// in the 'old' service configuration.
+	ChangeType_ADDED ChangeType = 1
+	// The changed object exists in the 'old' service configuration, but not
+	// in the 'new' service configuration.
+	ChangeType_REMOVED ChangeType = 2
+	// The changed object exists in both service configurations, but its value
+	// is different.
+	ChangeType_MODIFIED ChangeType = 3
+)
+
+var ChangeType_name = map[int32]string{
+	0: "CHANGE_TYPE_UNSPECIFIED",
+	1: "ADDED",
+	2: "REMOVED",
+	3: "MODIFIED",
+}
+var ChangeType_value = map[string]int32{
+	"CHANGE_TYPE_UNSPECIFIED": 0,
+	"ADDED":                   1,
+	"REMOVED":                 2,
+	"MODIFIED":                3,
+}
+
+func (x ChangeType) String() string {
+	return proto.EnumName(ChangeType_name, int32(x))
+}
+func (ChangeType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+// Output generated from semantically comparing two versions of a service
+// configuration.
+//
+// Includes detailed information about a field that have changed with
+// applicable advice about potential consequences for the change, such as
+// backwards-incompatibility.
+type ConfigChange struct {
+	// Object hierarchy path to the change, with levels separated by a '.'
+	// character. For repeated fields, an applicable unique identifier field is
+	// used for the index (usually selector, name, or id). For maps, the term
+	// 'key' is used. If the field has no unique identifier, the numeric index
+	// is used.
+	// Examples:
+	// - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
+	// - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
+	// - logging.producer_destinations[0]
+	Element string `protobuf:"bytes,1,opt,name=element" json:"element,omitempty"`
+	// Value of the changed object in the old Service configuration,
+	// in JSON format. This field will not be populated if ChangeType == ADDED.
+	OldValue string `protobuf:"bytes,2,opt,name=old_value,json=oldValue" json:"old_value,omitempty"`
+	// Value of the changed object in the new Service configuration,
+	// in JSON format. This field will not be populated if ChangeType == REMOVED.
+	NewValue string `protobuf:"bytes,3,opt,name=new_value,json=newValue" json:"new_value,omitempty"`
+	// The type for this change, either ADDED, REMOVED, or MODIFIED.
+	ChangeType ChangeType `protobuf:"varint,4,opt,name=change_type,json=changeType,enum=google.api.ChangeType" json:"change_type,omitempty"`
+	// Collection of advice provided for this change, useful for determining the
+	// possible impact of this change.
+	Advices []*Advice `protobuf:"bytes,5,rep,name=advices" json:"advices,omitempty"`
+}
+
+func (m *ConfigChange) Reset()                    { *m = ConfigChange{} }
+func (m *ConfigChange) String() string            { return proto.CompactTextString(m) }
+func (*ConfigChange) ProtoMessage()               {}
+func (*ConfigChange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *ConfigChange) GetAdvices() []*Advice {
+	if m != nil {
+		return m.Advices
+	}
+	return nil
+}
+
+// Generated advice about this change, used for providing more
+// information about how a change will affect the existing service.
+type Advice struct {
+	// Useful description for why this advice was applied and what actions should
+	// be taken to mitigate any implied risks.
+	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
+}
+
+func (m *Advice) Reset()                    { *m = Advice{} }
+func (m *Advice) String() string            { return proto.CompactTextString(m) }
+func (*Advice) ProtoMessage()               {}
+func (*Advice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func init() {
+	proto.RegisterType((*ConfigChange)(nil), "google.api.ConfigChange")
+	proto.RegisterType((*Advice)(nil), "google.api.Advice")
+	proto.RegisterEnum("google.api.ChangeType", ChangeType_name, ChangeType_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/configchange/config_change.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 323 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4e, 0x83, 0x40,
+	0x14, 0x85, 0xa5, 0xff, 0xbd, 0x34, 0x8d, 0xce, 0x42, 0x49, 0xdc, 0x34, 0x5d, 0x35, 0x4d, 0x03,
+	0x49, 0x5d, 0xb8, 0xa6, 0x80, 0xb5, 0x26, 0x6d, 0x09, 0xd6, 0x26, 0xae, 0x08, 0x4e, 0xc7, 0x91,
+	0x84, 0xce, 0x90, 0x82, 0x35, 0xbe, 0x8e, 0x6f, 0xe3, 0x5b, 0x39, 0xcc, 0x50, 0xcb, 0x86, 0xdc,
+	0x73, 0xbe, 0x03, 0xf7, 0xe4, 0x02, 0x4f, 0x94, 0x73, 0x9a, 0x10, 0x93, 0xf2, 0x24, 0x62, 0xd4,
+	0xe4, 0x07, 0x6a, 0x51, 0xc2, 0xd2, 0x03, 0xcf, 0xb9, 0xa5, 0x50, 0x94, 0xc6, 0x99, 0x25, 0x1e,
+	0x16, 0xe6, 0xec, 0x3d, 0xa6, 0xf8, 0x43, 0xe4, 0x48, 0x29, 0x42, 0xa5, 0x4c, 0x99, 0x47, 0x50,
+	0x7e, 0x4b, 0x84, 0x87, 0xbf, 0x1a, 0xf4, 0x1c, 0x99, 0x71, 0x64, 0x04, 0x19, 0xd0, 0x26, 0x09,
+	0xd9, 0x13, 0x96, 0x1b, 0xda, 0x40, 0x1b, 0x75, 0x83, 0x93, 0x44, 0xb7, 0xd0, 0xe5, 0xc9, 0x2e,
+	0x3c, 0x46, 0xc9, 0x27, 0x31, 0x6a, 0x92, 0x75, 0x84, 0xb1, 0x2d, 0x74, 0x01, 0x19, 0xf9, 0x2a,
+	0x61, 0x5d, 0x41, 0x61, 0x28, 0x78, 0x0f, 0xba, 0x2a, 0x10, 0xe6, 0xdf, 0x29, 0x31, 0x1a, 0x02,
+	0xf7, 0xa7, 0xd7, 0xe6, 0xb9, 0x86, 0xa9, 0x96, 0x6f, 0x04, 0x0d, 0x00, 0xff, 0xcf, 0x68, 0x02,
+	0xed, 0x68, 0x77, 0x8c, 0x31, 0xc9, 0x8c, 0xe6, 0xa0, 0x3e, 0xd2, 0xa7, 0xa8, 0xfa, 0x92, 0x2d,
+	0x51, 0x70, 0x8a, 0x0c, 0xc7, 0xd0, 0x52, 0x16, 0x1a, 0x80, 0xbe, 0x23, 0x19, 0x3e, 0xc4, 0x69,
+	0x1e, 0x73, 0x56, 0x96, 0xad, 0x5a, 0xe3, 0x35, 0xc0, 0x79, 0xa7, 0x68, 0x7f, 0xe3, 0x3c, 0xda,
+	0xab, 0xb9, 0x17, 0x6e, 0x5e, 0x7d, 0x2f, 0x7c, 0x59, 0x3d, 0xfb, 0x9e, 0xb3, 0x78, 0x58, 0x78,
+	0xee, 0xe5, 0x05, 0xea, 0x42, 0xd3, 0x76, 0x5d, 0x31, 0x6a, 0x48, 0x87, 0x76, 0xe0, 0x2d, 0xd7,
+	0x5b, 0x21, 0x6a, 0xa8, 0x07, 0x9d, 0xe5, 0xda, 0x55, 0xa9, 0xfa, 0x6c, 0x02, 0x7d, 0xcc, 0xf7,
+	0x95, 0x7a, 0xb3, 0xab, 0xea, 0x5d, 0xfd, 0xe2, 0xf2, 0xbe, 0xf6, 0x53, 0x6b, 0xcc, 0x6d, 0x7f,
+	0xf1, 0xd6, 0x92, 0x7f, 0xe2, 0xee, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x7c, 0x7e, 0x38, 0xa2, 0xd7,
+	0x01, 0x00, 0x00,
+}
diff --git a/googleapis/api/configchange/config_change.proto b/googleapis/api/configchange/config_change.proto
new file mode 100644
index 00000000..df63ad40
--- /dev/null
+++ b/googleapis/api/configchange/config_change.proto
@@ -0,0 +1,84 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api;
+
+option java_multiple_files = true;
+option java_outer_classname = "ConfigChangeProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+
+// Output generated from semantically comparing two versions of a service
+// configuration.
+//
+// Includes detailed information about a field that have changed with
+// applicable advice about potential consequences for the change, such as
+// backwards-incompatibility.
+message ConfigChange {
+  // Object hierarchy path to the change, with levels separated by a '.'
+  // character. For repeated fields, an applicable unique identifier field is
+  // used for the index (usually selector, name, or id). For maps, the term
+  // 'key' is used. If the field has no unique identifier, the numeric index
+  // is used.
+  // Examples:
+  // - visibility.rules[selector=="google.LibraryService.CreateBook"].restriction
+  // - quota.metric_rules[selector=="google"].metric_costs[key=="reads"].value
+  // - logging.producer_destinations[0]
+  string element = 1;
+
+  // Value of the changed object in the old Service configuration,
+  // in JSON format. This field will not be populated if ChangeType == ADDED.
+  string old_value = 2;
+
+  // Value of the changed object in the new Service configuration,
+  // in JSON format. This field will not be populated if ChangeType == REMOVED.
+  string new_value = 3;
+
+  // The type for this change, either ADDED, REMOVED, or MODIFIED.
+  ChangeType change_type = 4;
+
+  // Collection of advice provided for this change, useful for determining the
+  // possible impact of this change.
+  repeated Advice advices = 5;
+}
+
+// Generated advice about this change, used for providing more
+// information about how a change will affect the existing service.
+message Advice {
+  // Useful description for why this advice was applied and what actions should
+  // be taken to mitigate any implied risks.
+  string description = 2;
+}
+
+// Classifies set of possible modifications to an object in the service
+// configuration.
+enum ChangeType {
+  // No value was provided.
+  CHANGE_TYPE_UNSPECIFIED = 0;
+
+  // The changed object exists in the 'new' service configuration, but not
+  // in the 'old' service configuration.
+  ADDED = 1;
+
+  // The changed object exists in the 'old' service configuration, but not
+  // in the 'new' service configuration.
+  REMOVED = 2;
+
+  // The changed object exists in both service configurations, but its value
+  // is different.
+  MODIFIED = 3;
+}
diff --git a/googleapis/api/distribution/distribution.pb.go b/googleapis/api/distribution/distribution.pb.go
index af566d13..12f46666 100644
--- a/googleapis/api/distribution/distribution.pb.go
+++ b/googleapis/api/distribution/distribution.pb.go
@@ -380,41 +380,40 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 563 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0x5b, 0x8b, 0xd3, 0x40,
-	0x14, 0xc7, 0x9b, 0x4d, 0x2f, 0x7a, 0x7a, 0xb1, 0x8e, 0xab, 0x84, 0x3c, 0x48, 0xd9, 0x45, 0x29,
-	0xa8, 0x09, 0x54, 0xc1, 0x07, 0xdf, 0xea, 0xba, 0x54, 0x50, 0x76, 0x89, 0xe0, 0x93, 0x10, 0x26,
-	0xc9, 0x24, 0x1d, 0x4c, 0x66, 0x62, 0x66, 0xd2, 0xed, 0xbe, 0xfb, 0xa5, 0xfc, 0x76, 0x92, 0x99,
-	0xe9, 0x36, 0x7d, 0x10, 0xbb, 0x0f, 0x81, 0x73, 0xfd, 0xfd, 0xcf, 0x39, 0x64, 0xe0, 0x73, 0xc6,
-	0x79, 0x96, 0x13, 0x2f, 0xe3, 0x39, 0x66, 0x99, 0xc7, 0xab, 0xcc, 0xcf, 0x08, 0x2b, 0x2b, 0x2e,
-	0xb9, 0xaf, 0x53, 0xb8, 0xa4, 0xc2, 0xc7, 0x25, 0xf5, 0x13, 0x2a, 0x64, 0x45, 0xa3, 0x5a, 0x52,
-	0xce, 0x0e, 0x1c, 0x4f, 0x95, 0x23, 0x30, 0x28, 0x5c, 0x52, 0xf7, 0x1e, 0x58, 0x41, 0xaa, 0x0d,
-	0x8d, 0x49, 0xcc, 0x59, 0x4a, 0x33, 0x1f, 0x33, 0xc6, 0x25, 0x6e, 0xa8, 0x42, 0x63, 0x5d, 0x3f,
-	0xa3, 0x72, 0x5d, 0x47, 0x5e, 0xcc, 0x0b, 0x5f, 0xe3, 0x7c, 0x95, 0x88, 0xea, 0xd4, 0x2f, 0xe5,
-	0x6d, 0x49, 0x84, 0x8f, 0xd9, 0x6d, 0xf3, 0x99, 0x86, 0x0f, 0xff, 0x6f, 0x90, 0xb4, 0x20, 0x42,
-	0xe2, 0xa2, 0xdc, 0x5b, 0xba, 0xf9, 0xec, 0xf7, 0x00, 0x46, 0x17, 0xad, 0xdd, 0xd0, 0x29, 0xf4,
-	0x62, 0x5e, 0x33, 0xe9, 0x58, 0x33, 0x6b, 0x6e, 0x07, 0xda, 0x41, 0x08, 0xba, 0x05, 0xc1, 0xcc,
-	0x39, 0x99, 0x59, 0x73, 0x2b, 0x50, 0x36, 0x7a, 0x0f, 0x8e, 0xa8, 0x8b, 0x90, 0xa7, 0xa1, 0xf8,
-	0x55, 0xe3, 0x8a, 0x24, 0x61, 0x42, 0x36, 0x54, 0xed, 0xe2, 0xd8, 0xaa, 0xee, 0xa9, 0xa8, 0x8b,
-	0xab, 0xf4, 0x9b, 0xce, 0x5e, 0xec, 0x92, 0xe8, 0x1d, 0xf4, 0x2a, 0xcc, 0x32, 0xe2, 0x74, 0x67,
-	0xd6, 0x7c, 0xb8, 0x78, 0xee, 0xed, 0x0f, 0xe9, 0xb5, 0x67, 0xf1, 0x82, 0xa6, 0x2a, 0xd0, 0xc5,
-	0xe8, 0x2b, 0x4c, 0xa2, 0x3a, 0xfe, 0x49, 0x64, 0xc8, 0x4b, 0x75, 0x2f, 0xa7, 0xaf, 0xda, 0x5f,
-	0xfe, 0xb3, 0x7d, 0xa9, 0xca, 0xaf, 0x74, 0x75, 0x30, 0x8e, 0xda, 0x2e, 0x3a, 0x07, 0x13, 0x08,
-	0xd5, 0x86, 0xc2, 0x19, 0xcc, 0xec, 0xb9, 0x1d, 0x8c, 0x74, 0xf0, 0xa3, 0x8a, 0xb9, 0xaf, 0xa0,
-	0xa7, 0x66, 0x40, 0x53, 0xb0, 0x0b, 0xca, 0xd4, 0x4d, 0xac, 0xa0, 0x31, 0x55, 0x04, 0x6f, 0xcd,
-	0x41, 0x1a, 0xd3, 0xfd, 0xd3, 0x85, 0xf1, 0x81, 0x24, 0xfa, 0x0e, 0x93, 0x9c, 0x32, 0x82, 0xab,
-	0x50, 0x53, 0x85, 0x02, 0x0c, 0x17, 0x6f, 0x8e, 0x1b, 0xd9, 0xfb, 0xa2, 0x9a, 0x57, 0x9d, 0x60,
-	0xac, 0x31, 0x3a, 0x2b, 0x10, 0x81, 0x27, 0x64, 0x5b, 0x72, 0x46, 0x98, 0xa4, 0x38, 0xbf, 0x83,
-	0x9f, 0x28, 0xf8, 0xe2, 0x48, 0xf8, 0xa7, 0x3d, 0x61, 0xd5, 0x09, 0x50, 0x0b, 0xb8, 0x93, 0xf9,
-	0x01, 0x53, 0xb2, 0x2d, 0x73, 0x1a, 0x53, 0x79, 0xa7, 0x61, 0x2b, 0x0d, 0xff, 0x78, 0x0d, 0xd5,
-	0xbe, 0xea, 0x04, 0x8f, 0x76, 0x28, 0x43, 0x77, 0x13, 0xe8, 0xeb, 0xfd, 0xd0, 0x6b, 0x40, 0xac,
-	0x2e, 0xc2, 0x94, 0x32, 0x2a, 0xc9, 0xc1, 0xa9, 0x7a, 0xc1, 0x94, 0xd5, 0xc5, 0xa5, 0x4a, 0xec,
-	0xa6, 0x3a, 0x85, 0xde, 0x0d, 0x4d, 0xe4, 0xda, 0x9c, 0x5e, 0x3b, 0xe8, 0x19, 0xf4, 0x79, 0x9a,
-	0x0a, 0x22, 0xcd, 0xaf, 0x67, 0x3c, 0x77, 0x03, 0xc3, 0xd6, 0xa2, 0xf7, 0x94, 0x3a, 0x87, 0x71,
-	0x56, 0xf1, 0x1b, 0xb9, 0x0e, 0x53, 0x1c, 0x4b, 0x5e, 0x19, 0xc9, 0x91, 0x0e, 0x5e, 0xaa, 0x58,
-	0x33, 0x8f, 0x88, 0x71, 0x4e, 0x8c, 0xb0, 0x76, 0xdc, 0x33, 0x78, 0xb0, 0x5b, 0xbe, 0x99, 0x2d,
-	0xe2, 0x35, 0x4b, 0x1a, 0x21, 0xbb, 0x99, 0x4d, 0x7b, 0xcb, 0x87, 0x30, 0x30, 0xbf, 0xf2, 0xf2,
-	0x05, 0x4c, 0x62, 0x5e, 0xb4, 0xae, 0xba, 0x7c, 0xdc, 0x3e, 0xeb, 0x75, 0xf3, 0x56, 0xaf, 0xad,
-	0xa8, 0xaf, 0x1e, 0xed, 0xdb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x87, 0xa9, 0x04, 0x41, 0xc6,
-	0x04, 0x00, 0x00,
+	// 557 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x53, 0x4b, 0x8b, 0xd4, 0x4c,
+	0x14, 0xfd, 0x7a, 0xd2, 0x8f, 0xcf, 0xdb, 0x0f, 0xdb, 0xf2, 0x41, 0xc8, 0x42, 0x86, 0x11, 0x45,
+	0x50, 0x13, 0x68, 0x05, 0x17, 0xee, 0xda, 0x71, 0x50, 0x50, 0x66, 0x88, 0xe0, 0x4a, 0x08, 0x95,
+	0xa4, 0x92, 0x2e, 0x4c, 0xaa, 0x62, 0xaa, 0xd2, 0x33, 0xb3, 0xf7, 0x4f, 0xf9, 0xef, 0xac, 0x54,
+	0x55, 0xa6, 0xd3, 0x0b, 0xb1, 0x67, 0x91, 0x70, 0x9f, 0xe7, 0xdc, 0x7b, 0xb8, 0x05, 0x9f, 0x72,
+	0xce, 0xf3, 0x82, 0xf8, 0x39, 0x2f, 0x30, 0xcb, 0x7d, 0x5e, 0xe7, 0x41, 0x4e, 0x58, 0x55, 0x73,
+	0xc9, 0x03, 0x93, 0xc2, 0x15, 0x15, 0x81, 0xfa, 0x05, 0x29, 0x15, 0xb2, 0xa6, 0x71, 0x23, 0x29,
+	0x67, 0x7b, 0x8e, 0xaf, 0xcb, 0x11, 0x58, 0x28, 0x55, 0xeb, 0xdd, 0x02, 0x56, 0x90, 0x7a, 0x4b,
+	0x13, 0x92, 0x70, 0x96, 0xd1, 0x3c, 0xc0, 0x8c, 0x71, 0x89, 0x5b, 0x54, 0x61, 0x60, 0xbd, 0x20,
+	0xa7, 0x72, 0xd3, 0xc4, 0x7e, 0xc2, 0xcb, 0xc0, 0xc0, 0x05, 0x3a, 0x11, 0x37, 0x59, 0x50, 0xc9,
+	0xeb, 0x8a, 0x28, 0x18, 0x76, 0xdd, 0x7e, 0xb6, 0xe1, 0xdd, 0xbf, 0x1b, 0x24, 0x2d, 0x89, 0x90,
+	0xb8, 0xac, 0x76, 0x96, 0x69, 0x3e, 0xf9, 0x35, 0x81, 0xd9, 0x69, 0x6f, 0x37, 0xf4, 0x00, 0x46,
+	0x09, 0x6f, 0x98, 0x74, 0x07, 0xc7, 0x83, 0xe7, 0x4e, 0x68, 0x1c, 0x84, 0x60, 0x58, 0x12, 0xcc,
+	0xdc, 0x23, 0x15, 0x1c, 0x84, 0xda, 0x46, 0x6f, 0xc1, 0x15, 0x4d, 0x19, 0xf1, 0x2c, 0x12, 0x3f,
+	0x1b, 0x5c, 0x93, 0x34, 0x4a, 0xc9, 0x96, 0xea, 0x5d, 0x5c, 0x47, 0xd7, 0x3d, 0x54, 0xf9, 0xf3,
+	0xec, 0xab, 0xc9, 0x9e, 0x76, 0x49, 0xf4, 0x06, 0x46, 0xb5, 0x9a, 0x92, 0xb8, 0x43, 0x55, 0x35,
+	0x5d, 0x3d, 0xf6, 0x77, 0x42, 0xfa, 0xfd, 0x59, 0xfc, 0xb0, 0xad, 0x0a, 0x4d, 0x31, 0xfa, 0x02,
+	0x8b, 0xb8, 0x49, 0x7e, 0x10, 0x19, 0xf1, 0x4a, 0xeb, 0xe5, 0x8e, 0x75, 0xfb, 0xb3, 0xbf, 0xb6,
+	0xaf, 0x75, 0xf9, 0xb9, 0xa9, 0x0e, 0xe7, 0x71, 0xdf, 0x45, 0x4f, 0xc0, 0x06, 0x22, 0xbd, 0xa1,
+	0x70, 0x27, 0xc7, 0x8e, 0xda, 0x77, 0x66, 0x82, 0xef, 0x75, 0xcc, 0x7b, 0x01, 0x23, 0x3d, 0x03,
+	0x5a, 0x82, 0x53, 0x52, 0xa6, 0x35, 0x19, 0x84, 0xad, 0xa9, 0x23, 0xf8, 0xca, 0x0a, 0xd2, 0x9a,
+	0xde, 0xef, 0x21, 0xcc, 0xf7, 0x28, 0xd1, 0x37, 0x58, 0x14, 0x94, 0x11, 0x5c, 0x47, 0x06, 0x55,
+	0x68, 0x80, 0xe9, 0xea, 0xd5, 0x61, 0x23, 0xfb, 0x9f, 0x75, 0xf3, 0xc7, 0xff, 0xc2, 0xb9, 0x81,
+	0x31, 0x59, 0x81, 0x08, 0xdc, 0x27, 0x57, 0x15, 0x67, 0x84, 0x49, 0x8a, 0x8b, 0x1b, 0xf0, 0x23,
+	0x0d, 0xbe, 0x3a, 0x10, 0xfc, 0xc3, 0x0e, 0x41, 0x31, 0xa0, 0x1e, 0x60, 0x47, 0xf3, 0x1d, 0x96,
+	0x2a, 0x5a, 0xd0, 0x84, 0xca, 0x1b, 0x0e, 0x47, 0x73, 0x04, 0x87, 0x73, 0xe8, 0x76, 0x45, 0x70,
+	0xb7, 0x83, 0xb2, 0xe8, 0x5e, 0x0a, 0x63, 0xb3, 0x1f, 0x7a, 0x09, 0x88, 0xa9, 0x43, 0xca, 0x28,
+	0xa3, 0x92, 0xec, 0x49, 0x35, 0x0a, 0x97, 0x2a, 0x73, 0xa6, 0x13, 0xdd, 0x54, 0xea, 0x40, 0x2f,
+	0x69, 0x2a, 0x37, 0x56, 0x7a, 0xe3, 0xa0, 0x47, 0x30, 0xe6, 0x59, 0x26, 0x88, 0xb4, 0xa7, 0x67,
+	0x3d, 0x6f, 0x0b, 0xd3, 0xde, 0xa2, 0xb7, 0xa4, 0x52, 0x37, 0x92, 0xd7, 0xfc, 0x52, 0x6e, 0xa2,
+	0x0c, 0x27, 0x92, 0xd7, 0x96, 0x72, 0x66, 0x82, 0x67, 0x3a, 0xd6, 0xce, 0x23, 0x12, 0x5c, 0x10,
+	0x4b, 0x6c, 0x1c, 0xef, 0x04, 0xfe, 0xef, 0x96, 0x6f, 0x67, 0x8b, 0xd5, 0x3d, 0xa5, 0x2d, 0x91,
+	0xd3, 0xce, 0x66, 0xbc, 0xf5, 0x1d, 0x98, 0xd8, 0x53, 0x5e, 0x3f, 0x85, 0x85, 0x7a, 0xbe, 0x3d,
+	0x55, 0xd7, 0xf7, 0xfa, 0xb2, 0x5e, 0xb4, 0x6f, 0xf5, 0x62, 0x10, 0x8f, 0xf5, 0xa3, 0x7d, 0xfd,
+	0x27, 0x00, 0x00, 0xff, 0xff, 0x87, 0xa9, 0x04, 0x41, 0xc6, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/httpbody/httpbody.pb.go b/googleapis/api/httpbody/httpbody.pb.go
new file mode 100644
index 00000000..61160077
--- /dev/null
+++ b/googleapis/api/httpbody/httpbody.pb.go
@@ -0,0 +1,102 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+// DO NOT EDIT!
+
+/*
+Package google_api is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+
+It has these top-level messages:
+	HttpBody
+*/
+package google_api // import "google.golang.org/genproto/googleapis/api/httpbody"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Message that represents an arbitrary HTTP body. It should only be used for
+// payload formats that can't be represented as JSON, such as raw binary or
+// an HTML page.
+//
+//
+// This message can be used both in streaming and non-streaming API methods in
+// the request as well as the response.
+//
+// It can be used as a top-level request field, which is convenient if one
+// wants to extract parameters from either the URL or HTTP template into the
+// request fields and also want access to the raw HTTP body.
+//
+// Example:
+//
+//     message GetResourceRequest {
+//       // A unique request id.
+//       string request_id = 1;
+//
+//       // The raw HTTP body is bound to this field.
+//       google.api.HttpBody http_body = 2;
+//     }
+//
+//     service ResourceService {
+//       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
+//       rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
+//     }
+//
+// Example with streaming methods:
+//
+//     service CaldavService {
+//       rpc GetCalendar(stream google.api.HttpBody)
+//         returns (stream google.api.HttpBody);
+//       rpc UpdateCalendar(stream google.api.HttpBody)
+//         returns (stream google.api.HttpBody);
+//     }
+//
+// Use of this type only changes how the request and response bodies are
+// handled, all other features will continue to work unchanged.
+type HttpBody struct {
+	// The HTTP Content-Type string representing the content type of the body.
+	ContentType string `protobuf:"bytes,1,opt,name=content_type,json=contentType" json:"content_type,omitempty"`
+	// HTTP body binary data.
+	Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
+}
+
+func (m *HttpBody) Reset()                    { *m = HttpBody{} }
+func (m *HttpBody) String() string            { return proto.CompactTextString(m) }
+func (*HttpBody) ProtoMessage()               {}
+func (*HttpBody) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func init() {
+	proto.RegisterType((*HttpBody)(nil), "google.api.HttpBody")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 167 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4c, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0x8c, 0x92, 0x92, 0x82, 0xa4, 0xfc, 0x94, 0x4a, 0x38, 0x43, 0x0f, 0xac, 0x4c, 0x88, 0x0b,
+	0x6a, 0x04, 0x50, 0x8d, 0x92, 0x23, 0x17, 0x87, 0x07, 0x50, 0xd6, 0x09, 0x28, 0x2b, 0xa4, 0xc8,
+	0xc5, 0x93, 0x9c, 0x9f, 0x57, 0x92, 0x9a, 0x57, 0x12, 0x5f, 0x52, 0x59, 0x90, 0x2a, 0xc1, 0xa8,
+	0xc0, 0xa8, 0xc1, 0x19, 0xc4, 0x0d, 0x15, 0x0b, 0x01, 0x0a, 0x09, 0x09, 0x71, 0xb1, 0xa4, 0x24,
+	0x96, 0x24, 0x4a, 0x30, 0x01, 0xa5, 0x78, 0x82, 0xc0, 0x6c, 0x27, 0x0d, 0x2e, 0xbe, 0xe4, 0xfc,
+	0x5c, 0x3d, 0x84, 0xa1, 0x4e, 0xbc, 0x30, 0x23, 0x03, 0x40, 0xf6, 0x05, 0x30, 0x2e, 0x62, 0x62,
+	0x71, 0x77, 0x0c, 0xf0, 0x4c, 0x62, 0x03, 0xdb, 0x6f, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x1b,
+	0xb1, 0xdb, 0xe7, 0xc4, 0x00, 0x00, 0x00,
+}
diff --git a/googleapis/api/httpbody/httpbody.proto b/googleapis/api/httpbody/httpbody.proto
new file mode 100644
index 00000000..0fc00c63
--- /dev/null
+++ b/googleapis/api/httpbody/httpbody.proto
@@ -0,0 +1,69 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api;
+
+option java_multiple_files = true;
+option java_outer_classname = "HttpBodyProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+
+// Message that represents an arbitrary HTTP body. It should only be used for
+// payload formats that can't be represented as JSON, such as raw binary or
+// an HTML page.
+//
+//
+// This message can be used both in streaming and non-streaming API methods in
+// the request as well as the response.
+//
+// It can be used as a top-level request field, which is convenient if one
+// wants to extract parameters from either the URL or HTTP template into the
+// request fields and also want access to the raw HTTP body.
+//
+// Example:
+//
+//     message GetResourceRequest {
+//       // A unique request id.
+//       string request_id = 1;
+//
+//       // The raw HTTP body is bound to this field.
+//       google.api.HttpBody http_body = 2;
+//     }
+//
+//     service ResourceService {
+//       rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
+//       rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty);
+//     }
+//
+// Example with streaming methods:
+//
+//     service CaldavService {
+//       rpc GetCalendar(stream google.api.HttpBody)
+//         returns (stream google.api.HttpBody);
+//       rpc UpdateCalendar(stream google.api.HttpBody)
+//         returns (stream google.api.HttpBody);
+//     }
+//
+// Use of this type only changes how the request and response bodies are
+// handled, all other features will continue to work unchanged.
+message HttpBody {
+  // The HTTP Content-Type string representing the content type of the body.
+  string content_type = 1;
+
+  // HTTP body binary data.
+  bytes data = 2;
+}
diff --git a/googleapis/api/label/label.pb.go b/googleapis/api/label/label.pb.go
index 979fd9a4..1f9fa687 100644
--- a/googleapis/api/label/label.pb.go
+++ b/googleapis/api/label/label.pb.go
@@ -81,20 +81,20 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 234 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x5c, 0x4f, 0x4d, 0x4b, 0x03, 0x31,
-	0x10, 0x35, 0xad, 0x16, 0x77, 0x84, 0x1a, 0x72, 0xda, 0x93, 0x2c, 0x05, 0xa1, 0x07, 0x49, 0x40,
-	0xc5, 0x8b, 0xb7, 0xa5, 0x20, 0x85, 0xd2, 0x96, 0x75, 0xf1, 0x2a, 0x69, 0x1d, 0x42, 0x30, 0xee,
-	0x84, 0x74, 0x2d, 0xec, 0x4f, 0xf3, 0xdf, 0x49, 0xd2, 0xaa, 0x8b, 0x97, 0xe1, 0x31, 0xef, 0x83,
-	0xf7, 0xe0, 0xd1, 0x10, 0x19, 0x87, 0xd2, 0x90, 0xd3, 0x8d, 0x91, 0x14, 0x8c, 0x32, 0xd8, 0xf8,
-	0x40, 0x2d, 0xa9, 0x03, 0xa5, 0xbd, 0xdd, 0x29, 0xed, 0xad, 0x72, 0x7a, 0x83, 0xee, 0x70, 0x65,
-	0x12, 0x08, 0x38, 0x9a, 0xb5, 0xb7, 0x93, 0x2f, 0x06, 0x97, 0x8b, 0xc8, 0xcd, 0x70, 0xb7, 0x0d,
-	0xd6, 0xb7, 0x14, 0x04, 0x87, 0xe1, 0x3b, 0x76, 0x39, 0x2b, 0xd8, 0x34, 0xab, 0x22, 0x14, 0x33,
-	0x80, 0xbd, 0x76, 0x9f, 0xf8, 0xda, 0x76, 0x1e, 0xf3, 0x41, 0xc1, 0xa6, 0xe3, 0xdb, 0x6b, 0xf9,
-	0x17, 0x23, 0xff, 0x45, 0xc8, 0x97, 0xa8, 0xae, 0x3b, 0x8f, 0x55, 0xb6, 0xff, 0x81, 0xa2, 0x80,
-	0x8b, 0xb7, 0xa3, 0xc4, 0x52, 0x93, 0x0f, 0x53, 0x7e, 0xff, 0x35, 0xb9, 0x81, 0xec, 0xd7, 0x29,
-	0x00, 0x46, 0xcf, 0x75, 0x35, 0x5f, 0x3e, 0xf1, 0x13, 0x71, 0x0e, 0xa7, 0xe5, 0x6a, 0xb5, 0xe0,
-	0x4c, 0x64, 0x70, 0x36, 0x5f, 0xd6, 0x0f, 0xf7, 0x7c, 0x50, 0x5e, 0xc1, 0x78, 0x4b, 0x1f, 0xbd,
-	0x1a, 0x25, 0xa4, 0x1e, 0xeb, 0xb8, 0x72, 0xcd, 0x36, 0xa3, 0x34, 0xf7, 0xee, 0x3b, 0x00, 0x00,
-	0xff, 0xff, 0x3b, 0xdf, 0x1f, 0x56, 0x2d, 0x01, 0x00, 0x00,
+	// 240 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0x9c, 0xc4, 0xa4, 0xd4, 0x1c, 0x08, 0xa9, 0x07, 0x56, 0x20, 0xc4, 0x05, 0xd5, 0x0c, 0x94,
+	0x55, 0xda, 0xc9, 0xc8, 0xc5, 0xef, 0x03, 0x92, 0x73, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28,
+	0xc9, 0x2f, 0x12, 0x12, 0xe0, 0x62, 0xce, 0x4e, 0xad, 0x94, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c,
+	0x02, 0x31, 0x85, 0x5c, 0xb8, 0xb8, 0xca, 0x12, 0x73, 0x4a, 0x53, 0xe3, 0x4b, 0x2a, 0x0b, 0x52,
+	0x25, 0x98, 0x80, 0x12, 0x7c, 0x46, 0xaa, 0x7a, 0x08, 0x63, 0xf4, 0xd0, 0x8c, 0xd0, 0x0b, 0x03,
+	0xa9, 0x0e, 0x01, 0x2a, 0x0e, 0xe2, 0x2c, 0x83, 0x31, 0x85, 0x14, 0xb8, 0xb8, 0x53, 0xa0, 0x4a,
+	0x32, 0xf3, 0xf3, 0x24, 0x98, 0xc1, 0xe6, 0x23, 0x0b, 0x29, 0xe9, 0x70, 0x71, 0xc2, 0x75, 0x0a,
+	0x71, 0x71, 0xb1, 0x05, 0x87, 0x04, 0x79, 0xfa, 0xb9, 0x0b, 0x30, 0x08, 0x71, 0x70, 0xb1, 0x38,
+	0xf9, 0xfb, 0xfb, 0x08, 0x30, 0x0a, 0x71, 0x72, 0xb1, 0x7a, 0xfa, 0x85, 0x98, 0x99, 0x08, 0x30,
+	0x39, 0x69, 0x70, 0xf1, 0x25, 0xe7, 0xe7, 0x22, 0x39, 0xc3, 0x89, 0x0b, 0xec, 0x8e, 0x00, 0x90,
+	0x2f, 0x03, 0x18, 0x7f, 0x30, 0x32, 0x2e, 0x62, 0x62, 0x71, 0x77, 0x0c, 0xf0, 0x4c, 0x62, 0x03,
+	0x7b, 0xdc, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xca, 0x32, 0x56, 0x5f, 0x37, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/label/label.proto b/googleapis/api/label/label.proto
index b3c8807e..fec98121 100644
--- a/googleapis/api/label/label.proto
+++ b/googleapis/api/label/label.proto
@@ -16,9 +16,11 @@ syntax = "proto3";
 
 package google.api;
 
+option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "LabelProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // A description of a label.
diff --git a/googleapis/api/metric/metric.pb.go b/googleapis/api/metric/metric.pb.go
index 591ad1ec..32967e0c 100644
--- a/googleapis/api/metric/metric.pb.go
+++ b/googleapis/api/metric/metric.pb.go
@@ -36,12 +36,15 @@ type MetricDescriptor_MetricKind int32
 const (
 	// Do not use this default value.
 	MetricDescriptor_METRIC_KIND_UNSPECIFIED MetricDescriptor_MetricKind = 0
-	// Instantaneous measurements of a varying quantity.
+	// An instantaneous measurement of a value.
 	MetricDescriptor_GAUGE MetricDescriptor_MetricKind = 1
-	// Changes over non-overlapping time intervals.
+	// The change in a value during a time interval.
 	MetricDescriptor_DELTA MetricDescriptor_MetricKind = 2
-	// Cumulative value over time intervals that can overlap.
-	// The overlapping intervals must have the same start time.
+	// A value accumulated over a time interval.  Cumulative
+	// measurements in a time series should have the same start time
+	// and increasing end times, until an event resets the cumulative
+	// value to zero and sets a new start time for the following
+	// points.
 	MetricDescriptor_CUMULATIVE MetricDescriptor_MetricKind = 3
 )
 
@@ -264,36 +267,37 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 496 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0x5f, 0x8b, 0xda, 0x4e,
-	0x14, 0xfd, 0xc5, 0x68, 0x7e, 0xeb, 0x75, 0x91, 0x61, 0x28, 0x6d, 0x70, 0xa1, 0xb5, 0x3e, 0xb4,
-	0x3e, 0x29, 0xec, 0x96, 0xa5, 0x7f, 0xe8, 0x83, 0x9a, 0xa9, 0x0d, 0x1b, 0x13, 0xc9, 0x26, 0xc2,
-	0x3e, 0x85, 0xac, 0x0e, 0x61, 0xd8, 0x98, 0xa4, 0x49, 0x76, 0x21, 0x9f, 0xa2, 0x9f, 0xa0, 0xdf,
-	0xb5, 0xcc, 0x4c, 0x56, 0x83, 0x85, 0xd2, 0x17, 0x3d, 0x73, 0xee, 0xbd, 0x67, 0xee, 0x99, 0x1c,
-	0xf8, 0x1a, 0xa5, 0x69, 0x14, 0xd3, 0x49, 0x94, 0xc6, 0x61, 0x12, 0x4d, 0xd2, 0x3c, 0x9a, 0x46,
-	0x34, 0xc9, 0xf2, 0xb4, 0x4c, 0xa7, 0xb2, 0x14, 0x66, 0xac, 0x98, 0x86, 0x19, 0x9b, 0xee, 0x69,
-	0x99, 0xb3, 0x6d, 0xfd, 0x37, 0x11, 0x2d, 0x18, 0xea, 0xf1, 0x30, 0x63, 0x83, 0x2f, 0xff, 0x2e,
-	0x15, 0x87, 0xf7, 0x34, 0x96, 0xbf, 0x52, 0x68, 0xf4, 0xab, 0x0d, 0x68, 0x25, 0x94, 0x0d, 0x5a,
-	0x6c, 0x73, 0x96, 0x95, 0x69, 0x8e, 0x31, 0xb4, 0x93, 0x70, 0x4f, 0x75, 0x65, 0xa8, 0x8c, 0xbb,
-	0xae, 0xc0, 0x9c, 0x2b, 0xab, 0x8c, 0xea, 0x67, 0x92, 0xe3, 0x18, 0x5f, 0x81, 0x26, 0xb4, 0x0a,
-	0xbd, 0x35, 0x54, 0xc7, 0xbd, 0xcb, 0x8b, 0xc9, 0x71, 0xad, 0x89, 0xc5, 0x2b, 0x47, 0x51, 0xb7,
-	0x6e, 0xc5, 0xdf, 0xa1, 0x27, 0xad, 0x04, 0x0f, 0x2c, 0xd9, 0xe9, 0xea, 0x50, 0x19, 0xf7, 0x2f,
-	0xdf, 0x37, 0x27, 0x4f, 0xf7, 0xa9, 0x89, 0x1b, 0x96, 0xec, 0x5c, 0xd8, 0x1f, 0x30, 0x26, 0x00,
-	0x4f, 0x61, 0xfc, 0x48, 0x03, 0xb1, 0x58, 0x5b, 0x08, 0xbd, 0xfb, 0xab, 0xd0, 0x86, 0xb7, 0x7b,
-	0x55, 0x46, 0xdd, 0xee, 0xd3, 0x33, 0xe4, 0xce, 0x1e, 0x13, 0x56, 0xea, 0x1d, 0xe9, 0x8c, 0x63,
-	0x3c, 0x84, 0xde, 0xae, 0x1e, 0x63, 0x69, 0xa2, 0x6b, 0xa2, 0xd4, 0xa4, 0xf0, 0x5b, 0x38, 0xdf,
-	0xb1, 0x22, 0x8b, 0xc3, 0x2a, 0x10, 0x6f, 0xf5, 0x7f, 0xdd, 0x22, 0x39, 0x3b, 0xdc, 0xd3, 0x91,
-	0x03, 0x70, 0xdc, 0x1c, 0x5f, 0xc0, 0xab, 0x15, 0xf1, 0x5c, 0x73, 0x11, 0xdc, 0x98, 0xb6, 0x11,
-	0xf8, 0xf6, 0xed, 0x9a, 0x2c, 0xcc, 0x6f, 0x26, 0x31, 0xd0, 0x7f, 0xb8, 0x0b, 0x9d, 0xe5, 0xcc,
-	0x5f, 0x12, 0xa4, 0x70, 0x68, 0x10, 0xcb, 0x9b, 0xa1, 0x16, 0xee, 0x03, 0x2c, 0xfc, 0x95, 0x6f,
-	0xcd, 0x3c, 0x73, 0x43, 0x90, 0x3a, 0xfa, 0x01, 0xdd, 0x83, 0x03, 0x3c, 0x80, 0x97, 0x9b, 0x99,
-	0xe5, 0x93, 0xc0, 0xbb, 0x5b, 0x93, 0x13, 0xb9, 0x33, 0x68, 0xcf, 0x1d, 0xc7, 0x92, 0x6a, 0xa6,
-	0xed, 0x5d, 0x7f, 0x40, 0x2d, 0x0c, 0xa0, 0x19, 0x8e, 0x3f, 0xb7, 0x08, 0x52, 0x39, 0xbe, 0xf5,
-	0x5c, 0xd3, 0x5e, 0xa2, 0x36, 0x46, 0x70, 0x6e, 0x98, 0xfc, 0x34, 0xf7, 0x3d, 0xd3, 0xb1, 0x51,
-	0x87, 0x0f, 0xad, 0x1c, 0x9b, 0xdc, 0x21, 0x6d, 0xf4, 0x53, 0x01, 0x4d, 0x9a, 0x38, 0x24, 0x40,
-	0x6d, 0x24, 0xe0, 0xfa, 0x24, 0x01, 0xaf, 0xff, 0x7c, 0x7e, 0x19, 0x84, 0x82, 0x24, 0x65, 0x5e,
-	0x3d, 0x87, 0x60, 0xf0, 0x09, 0x7a, 0x0d, 0x1a, 0x23, 0x50, 0x1f, 0x68, 0x55, 0xe7, 0x8d, 0x43,
-	0xfc, 0x02, 0x3a, 0xe2, 0x0b, 0xe9, 0x2d, 0xc1, 0xc9, 0xc3, 0xe7, 0xd6, 0x47, 0x65, 0xfe, 0x06,
-	0xfa, 0xdb, 0x74, 0xdf, 0xb8, 0x67, 0xde, 0x93, 0x17, 0xad, 0x79, 0xa0, 0xd7, 0xca, 0xbd, 0x26,
-	0x92, 0x7d, 0xf5, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x56, 0x02, 0x32, 0xa4, 0x63, 0x03, 0x00, 0x00,
+	// 498 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0xdf, 0x6b, 0x9b, 0x50,
+	0x14, 0x9e, 0x89, 0x71, 0xcd, 0x49, 0x09, 0x72, 0x19, 0x9b, 0xa4, 0x30, 0xb2, 0x3c, 0x74, 0x7d,
+	0x4a, 0xa0, 0x1d, 0x65, 0x3f, 0xd8, 0x83, 0xc6, 0xbb, 0x4c, 0x6a, 0x54, 0xac, 0x06, 0xfa, 0x24,
+	0x36, 0x11, 0x91, 0x1a, 0x75, 0x6a, 0x0b, 0xf9, 0x2b, 0xf6, 0x17, 0xec, 0x65, 0x7f, 0xe9, 0xee,
+	0x0f, 0x9b, 0x48, 0x06, 0x63, 0x2f, 0xe6, 0xbb, 0xdf, 0x39, 0xe7, 0xbb, 0xdf, 0xb9, 0xf9, 0xe0,
+	0x6b, 0x9c, 0xe7, 0x71, 0x1a, 0x4d, 0xe3, 0x3c, 0x0d, 0xb3, 0x78, 0x9a, 0x97, 0xf1, 0x2c, 0x8e,
+	0xb2, 0xa2, 0xcc, 0xeb, 0x7c, 0xc6, 0x4b, 0x61, 0x91, 0x54, 0x33, 0xf2, 0x99, 0x6d, 0xa3, 0xba,
+	0x4c, 0xd6, 0xcd, 0xcf, 0x94, 0xb5, 0x20, 0x68, 0xc6, 0x49, 0x7d, 0xf4, 0xe5, 0xff, 0xa5, 0xd2,
+	0xf0, 0x3e, 0x4a, 0xf9, 0x97, 0x0b, 0x4d, 0x7e, 0x89, 0x20, 0x2f, 0x99, 0xb2, 0x1e, 0x55, 0xeb,
+	0x32, 0x29, 0xea, 0xbc, 0x44, 0x08, 0xc4, 0x2c, 0xdc, 0x46, 0x8a, 0x30, 0x16, 0x2e, 0xfa, 0x2e,
+	0xc3, 0x94, 0xab, 0x77, 0x45, 0xa4, 0x9c, 0x70, 0x8e, 0x62, 0x74, 0x05, 0x12, 0xd3, 0xaa, 0x94,
+	0xce, 0xb8, 0x7b, 0x31, 0xb8, 0x3c, 0x9b, 0x1e, 0x6c, 0x4d, 0x4d, 0x5a, 0x39, 0x88, 0xba, 0x4d,
+	0x2b, 0xfa, 0x0e, 0x03, 0xbe, 0x4a, 0xf0, 0x90, 0x64, 0x1b, 0xa5, 0x4b, 0xf4, 0x86, 0x97, 0xef,
+	0xdb, 0x93, 0xc7, 0x7e, 0x1a, 0xe2, 0x86, 0xb4, 0xbb, 0xb0, 0xdd, 0x63, 0x84, 0x01, 0x9e, 0xc2,
+	0xf4, 0x31, 0x0a, 0x98, 0x31, 0x91, 0x09, 0x9d, 0xff, 0x53, 0x68, 0x45, 0xdb, 0x3d, 0xd2, 0xed,
+	0xf6, 0x9f, 0x9e, 0x21, 0xdd, 0xec, 0x31, 0x4b, 0x6a, 0xa5, 0xc7, 0x37, 0xa3, 0x18, 0x8d, 0x61,
+	0xb0, 0x69, 0xc6, 0x92, 0x3c, 0x53, 0x24, 0x56, 0x6a, 0x53, 0xe8, 0x1d, 0x9c, 0x6e, 0x92, 0xaa,
+	0x48, 0xc3, 0x5d, 0xc0, 0xde, 0xea, 0x65, 0xd3, 0xc2, 0x39, 0x8b, 0x50, 0x13, 0x1b, 0xe0, 0xe0,
+	0x1c, 0x9d, 0xc1, 0x9b, 0x25, 0xf6, 0x5c, 0x63, 0x1e, 0xdc, 0x18, 0x96, 0x1e, 0xf8, 0xd6, 0xad,
+	0x83, 0xe7, 0xc6, 0x37, 0x03, 0xeb, 0xf2, 0x0b, 0xd4, 0x87, 0xde, 0x42, 0xf5, 0x17, 0x58, 0x16,
+	0x28, 0xd4, 0xb1, 0xe9, 0xa9, 0x72, 0x07, 0x0d, 0x01, 0xe6, 0xfe, 0xd2, 0x37, 0x55, 0xcf, 0x58,
+	0x61, 0xb9, 0x3b, 0xf9, 0x01, 0xfd, 0xfd, 0x06, 0x68, 0x04, 0xaf, 0x57, 0xaa, 0xe9, 0xe3, 0xc0,
+	0xbb, 0x73, 0xf0, 0x91, 0xdc, 0x09, 0x88, 0x9a, 0x6d, 0x9b, 0x5c, 0xcd, 0xb0, 0xbc, 0xeb, 0x0f,
+	0x44, 0x0d, 0x40, 0xd2, 0x6d, 0x5f, 0x33, 0x89, 0x12, 0xc5, 0xb7, 0xc4, 0x8b, 0xb5, 0x90, 0x45,
+	0x24, 0xc3, 0xa9, 0x6e, 0xd0, 0x93, 0xe6, 0x7b, 0x86, 0x6d, 0xc9, 0x3d, 0x3a, 0xb4, 0xb4, 0x2d,
+	0x7c, 0x27, 0x4b, 0x93, 0x9f, 0x02, 0x48, 0x7c, 0x89, 0x7d, 0x02, 0xba, 0xad, 0x04, 0x5c, 0x1f,
+	0x25, 0xe0, 0xed, 0xdf, 0xcf, 0xcf, 0x83, 0x50, 0xe1, 0xac, 0x2e, 0x77, 0xcf, 0x21, 0x18, 0x7d,
+	0x82, 0x41, 0x8b, 0x26, 0x16, 0xba, 0x0f, 0xd1, 0xae, 0xc9, 0x1b, 0x85, 0xe8, 0x15, 0xf4, 0xd8,
+	0x3f, 0x44, 0x74, 0x29, 0xc7, 0x0f, 0x9f, 0x3b, 0x1f, 0x05, 0xed, 0x1c, 0x86, 0xeb, 0x7c, 0xdb,
+	0xba, 0x47, 0x1b, 0xf0, 0x8b, 0x1c, 0x1a, 0x68, 0x47, 0xf8, 0xdd, 0x11, 0x17, 0xaa, 0x63, 0xdc,
+	0x4b, 0x2c, 0xe0, 0x57, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x86, 0xb0, 0x69, 0x6a, 0x03,
+	0x00, 0x00,
 }
diff --git a/googleapis/api/metric/metric.proto b/googleapis/api/metric/metric.proto
index e49c55c6..e8967058 100644
--- a/googleapis/api/metric/metric.proto
+++ b/googleapis/api/metric/metric.proto
@@ -21,6 +21,7 @@ import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from go
 option java_multiple_files = true;
 option java_outer_classname = "MetricProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Defines a metric type and its schema.
@@ -30,14 +31,17 @@ message MetricDescriptor {
     // Do not use this default value.
     METRIC_KIND_UNSPECIFIED = 0;
 
-    // Instantaneous measurements of a varying quantity.
+    // An instantaneous measurement of a value.
     GAUGE = 1;
 
-    // Changes over non-overlapping time intervals.
+    // The change in a value during a time interval.
     DELTA = 2;
 
-    // Cumulative value over time intervals that can overlap.
-    // The overlapping intervals must have the same start time.
+    // A value accumulated over a time interval.  Cumulative
+    // measurements in a time series should have the same start time
+    // and increasing end times, until an event resets the cumulative
+    // value to zero and sets a new start time for the following
+    // points.
     CUMULATIVE = 3;
   }
 
diff --git a/googleapis/api/monitoredres/monitored_resource.pb.go b/googleapis/api/monitoredres/monitored_resource.pb.go
index e7fad9f5..7972e9dc 100644
--- a/googleapis/api/monitoredres/monitored_resource.pb.go
+++ b/googleapis/api/monitoredres/monitored_resource.pb.go
@@ -49,9 +49,12 @@ type MonitoredResourceDescriptor struct {
 	Name string `protobuf:"bytes,5,opt,name=name" json:"name,omitempty"`
 	// Required. The monitored resource type. For example, the type
 	// `"cloudsql_database"` represents databases in Google Cloud SQL.
+	// The maximum length of this value is 256 characters.
 	Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"`
 	// Optional. A concise name for the monitored resource type that might be
-	// displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
+	// displayed in user interfaces. It should be a Title Cased Noun Phrase,
+	// without any article or other determiners. For example,
+	// `"Google Cloud SQL Database"`.
 	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
 	// Optional. A detailed description of the monitored resource type that might
 	// be used in documentation.
@@ -85,7 +88,7 @@ func (m *MonitoredResourceDescriptor) GetLabels() []*google_api.LabelDescriptor
 // `"instance_id"` and `"zone"`:
 //
 //     { "type": "gce_instance",
-//       "labels": { "instance_id": "my-instance",
+//       "labels": { "instance_id": "12345678901234",
 //                   "zone": "us-central1-a" }}
 type MonitoredResource struct {
 	// Required. The monitored resource type. This field must match
@@ -120,25 +123,26 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 312 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcb, 0x4a, 0xc3, 0x40,
-	0x14, 0x86, 0x49, 0x6f, 0xe0, 0x89, 0x88, 0x0e, 0x22, 0xa1, 0xdd, 0xd4, 0xae, 0xea, 0x26, 0x01,
-	0x0b, 0xe2, 0x65, 0x65, 0xd1, 0x9d, 0x97, 0xd2, 0xa5, 0x9b, 0x32, 0x6d, 0x87, 0x61, 0x70, 0x3a,
-	0x67, 0x98, 0x49, 0x85, 0x3c, 0x90, 0xcf, 0xe1, 0xab, 0xc9, 0x5c, 0x6a, 0x0a, 0x71, 0x21, 0x6e,
-	0xc2, 0x99, 0xff, 0xfc, 0xf3, 0xfd, 0xe7, 0x24, 0x81, 0x57, 0x8e, 0xc8, 0x25, 0xcb, 0x39, 0x4a,
-	0xaa, 0x78, 0x8e, 0x86, 0x17, 0x9c, 0x29, 0x6d, 0xb0, 0xc4, 0x22, 0xb4, 0xa8, 0x16, 0xb6, 0xa0,
-	0x5a, 0x14, 0x1b, 0x54, 0xa2, 0x44, 0xc3, 0xd6, 0x86, 0xd9, 0xfa, 0xb0, 0x30, 0xcc, 0xe2, 0xd6,
-	0xac, 0x58, 0xee, 0x2f, 0x11, 0x88, 0x40, 0xaa, 0x45, 0xff, 0xee, 0xef, 0x70, 0x49, 0x97, 0x4c,
-	0x86, 0x67, 0x00, 0x8d, 0xbe, 0x12, 0x18, 0x3c, 0xef, 0x52, 0xe6, 0x31, 0xe4, 0x81, 0xd9, 0x95,
-	0x11, 0xba, 0x44, 0x43, 0x08, 0x74, 0x14, 0xdd, 0xb0, 0xac, 0x3b, 0x4c, 0xc6, 0x07, 0x73, 0x5f,
-	0x3b, 0xad, 0xac, 0x34, 0xcb, 0x92, 0xa0, 0xb9, 0x9a, 0x9c, 0xc3, 0xe1, 0x5a, 0x58, 0x2d, 0x69,
-	0xb5, 0xf0, 0xfe, 0x96, 0xef, 0xa5, 0x51, 0x7b, 0x71, 0xd7, 0x86, 0x90, 0xae, 0x23, 0x58, 0xa0,
-	0xca, 0xda, 0xd1, 0x51, 0x4b, 0x64, 0x02, 0x3d, 0x3f, 0x9b, 0xcd, 0x3a, 0xc3, 0xf6, 0x38, 0xbd,
-	0x1c, 0xe4, 0xf5, 0x9a, 0xf9, 0x93, 0xeb, 0xd4, 0x93, 0xcd, 0xa3, 0x75, 0xf4, 0x99, 0xc0, 0x49,
-	0x63, 0x83, 0x5f, 0x67, 0xbc, 0xff, 0xc1, 0xb7, 0x3c, 0xfe, 0x62, 0x1f, 0xdf, 0x40, 0x84, 0x40,
-	0xfb, 0xa8, 0x4a, 0x53, 0xed, 0xc2, 0xfa, 0x37, 0x90, 0xee, 0xc9, 0xe4, 0x18, 0xda, 0xef, 0xac,
-	0x8a, 0x21, 0xae, 0x24, 0xa7, 0xd0, 0xfd, 0xa0, 0x72, 0xbb, 0x7b, 0x01, 0xe1, 0x70, 0xdb, 0xba,
-	0x4e, 0xa6, 0x4b, 0x38, 0x5a, 0xe1, 0x66, 0x2f, 0x72, 0x7a, 0xd6, 0xc8, 0x9c, 0xb9, 0x6f, 0x32,
-	0x4b, 0xde, 0xae, 0xfe, 0xf7, 0xbf, 0x2c, 0x7b, 0xde, 0x32, 0xf9, 0x0e, 0x00, 0x00, 0xff, 0xff,
-	0x2e, 0x9c, 0xd7, 0xfb, 0x70, 0x02, 0x00, 0x00,
+	// 324 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xf2, 0x4f, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0xdc, 0xfc, 0xbc, 0xcc, 0x92, 0xfc, 0xa2, 0xd4, 0x94, 0xa2, 0xd4, 0x62, 0x04, 0x27, 0x1e,
+	0xc8, 0xcb, 0x2f, 0x2d, 0x4a, 0x4e, 0xd5, 0x03, 0x6b, 0x12, 0xe2, 0x82, 0x1a, 0x08, 0xd4, 0x21,
+	0x65, 0x4d, 0xbc, 0xe1, 0x39, 0x89, 0x49, 0xa9, 0x39, 0x10, 0x12, 0x62, 0x90, 0xd2, 0x7e, 0x46,
+	0x2e, 0x69, 0x5f, 0x98, 0x2d, 0x41, 0x50, 0x4b, 0x5c, 0x52, 0x8b, 0x93, 0x8b, 0x32, 0x0b, 0x80,
+	0x62, 0x42, 0x42, 0x5c, 0x2c, 0x79, 0x89, 0xb9, 0xa9, 0x12, 0xac, 0x0a, 0x8c, 0x1a, 0x9c, 0x41,
+	0x60, 0x36, 0x48, 0xac, 0xa4, 0xb2, 0x20, 0x55, 0x82, 0x11, 0x22, 0x06, 0x62, 0x0b, 0x29, 0x72,
+	0xf1, 0xa4, 0x64, 0x16, 0x17, 0xe4, 0x24, 0x56, 0xc6, 0x83, 0xd5, 0x33, 0x81, 0xe5, 0xb8, 0xa1,
+	0x62, 0x7e, 0x20, 0x6d, 0x0a, 0x5c, 0xdc, 0x29, 0x50, 0x83, 0x33, 0xf3, 0xf3, 0x24, 0x98, 0xa1,
+	0x2a, 0x10, 0x42, 0x42, 0xc6, 0x5c, 0x6c, 0x60, 0xb7, 0x15, 0x4b, 0xb0, 0x28, 0x30, 0x6b, 0x70,
+	0x1b, 0x49, 0xeb, 0x21, 0xbc, 0xa9, 0xe7, 0x03, 0x92, 0x41, 0xb8, 0x2c, 0x08, 0xaa, 0x54, 0x69,
+	0x29, 0x23, 0x97, 0x20, 0x86, 0x0f, 0xb0, 0xba, 0xd1, 0x11, 0x6e, 0x3c, 0x13, 0xd8, 0x78, 0x4d,
+	0x64, 0xe3, 0x31, 0x8c, 0x80, 0x58, 0x58, 0xec, 0x9a, 0x57, 0x52, 0x54, 0x09, 0xb3, 0x4c, 0xca,
+	0x92, 0x8b, 0x1b, 0x49, 0x58, 0x48, 0x80, 0x8b, 0x39, 0x3b, 0xb5, 0x12, 0x6a, 0x09, 0x88, 0x29,
+	0x24, 0xc2, 0xc5, 0x5a, 0x96, 0x98, 0x53, 0x0a, 0x0b, 0x00, 0x08, 0xc7, 0x8a, 0xc9, 0x82, 0xd1,
+	0x29, 0x87, 0x8b, 0x2f, 0x39, 0x3f, 0x17, 0xc9, 0x4a, 0x27, 0x31, 0x0c, 0x3b, 0x03, 0x40, 0x71,
+	0x12, 0xc0, 0x18, 0x65, 0x46, 0x5e, 0x7a, 0xf9, 0xc1, 0xc8, 0xb8, 0x88, 0x89, 0xc5, 0xdd, 0x31,
+	0xc0, 0x33, 0x89, 0x0d, 0xac, 0xd8, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x87, 0xa2, 0x37,
+	0x7a, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/monitoredres/monitored_resource.proto b/googleapis/api/monitoredres/monitored_resource.proto
index 4ee3757d..e01b6214 100644
--- a/googleapis/api/monitoredres/monitored_resource.proto
+++ b/googleapis/api/monitoredres/monitored_resource.proto
@@ -18,9 +18,11 @@ package google.api;
 
 import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
 
+option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "MonitoredResourceProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 option go_package = "google.golang.org/genproto/googleapis/api/monitoredres";
 
@@ -44,10 +46,13 @@ message MonitoredResourceDescriptor {
 
   // Required. The monitored resource type. For example, the type
   // `"cloudsql_database"` represents databases in Google Cloud SQL.
+  // The maximum length of this value is 256 characters.
   string type = 1;
 
   // Optional. A concise name for the monitored resource type that might be
-  // displayed in user interfaces. For example, `"Google Cloud SQL Database"`.
+  // displayed in user interfaces. It should be a Title Cased Noun Phrase,
+  // without any article or other determiners. For example,
+  // `"Google Cloud SQL Database"`.
   string display_name = 2;
 
   // Optional. A detailed description of the monitored resource type that might
@@ -71,7 +76,7 @@ message MonitoredResourceDescriptor {
 // `"instance_id"` and `"zone"`:
 //
 //     { "type": "gce_instance",
-//       "labels": { "instance_id": "my-instance",
+//       "labels": { "instance_id": "12345678901234",
 //                   "zone": "us-central1-a" }}
 message MonitoredResource {
   // Required. The monitored resource type. This field must match
diff --git a/googleapis/api/serviceconfig/annotations.pb.go b/googleapis/api/serviceconfig/annotations.pb.go
index 75e740ba..2a8ea098 100644
--- a/googleapis/api/serviceconfig/annotations.pb.go
+++ b/googleapis/api/serviceconfig/annotations.pb.go
@@ -14,9 +14,10 @@ It is generated from these files:
 	google.golang.org/genproto/googleapis/api/serviceconfig/context.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/control.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto
+	google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/http.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/log.proto
+	google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/service.proto
 	google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto
@@ -40,11 +41,12 @@ It has these top-level messages:
 	Documentation
 	DocumentationRule
 	Page
+	Endpoint
 	Http
 	HttpRule
 	CustomHttpPattern
-	Logging
 	LogDescriptor
+	Logging
 	Monitoring
 	Service
 	SystemParameters
@@ -88,18 +90,19 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 207 bytes of a gzipped FileDescriptorProto
+	// 211 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xf2, 0x4c, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
-	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x27, 0x16,
-	0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, 0x65, 0xa6, 0xeb,
-	0x27, 0xe6, 0xe5, 0xe5, 0x97, 0x24, 0x96, 0x64, 0xe6, 0xe7, 0x15, 0xeb, 0x81, 0x95, 0x0b, 0x71,
-	0x41, 0x8d, 0x4a, 0x2c, 0xc8, 0x94, 0x72, 0x22, 0xd7, 0xd8, 0x8c, 0x92, 0x92, 0x02, 0x88, 0x79,
-	0x52, 0x26, 0x78, 0xcc, 0x00, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99,
-	0x05, 0x25, 0xf9, 0x45, 0x10, 0x5d, 0x56, 0xde, 0x5c, 0x2c, 0x20, 0x33, 0x84, 0xe4, 0xf4, 0xa0,
-	0xda, 0x61, 0x4a, 0xf5, 0x7c, 0x53, 0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x6e, 0x96, 0xd8,
-	0x70, 0x6a, 0x8f, 0x92, 0x02, 0xa3, 0x06, 0xb7, 0x91, 0x88, 0x1e, 0xc2, 0xdd, 0x7a, 0x1e, 0x25,
-	0x25, 0x05, 0x41, 0xa5, 0x39, 0xa9, 0x41, 0x60, 0x43, 0x9c, 0x54, 0xb8, 0xf8, 0x92, 0xf3, 0x73,
-	0x91, 0x14, 0x38, 0x09, 0x38, 0x22, 0xfc, 0x1d, 0x00, 0x32, 0x39, 0x80, 0x31, 0x89, 0x0d, 0x6c,
-	0x85, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0x78, 0xb8, 0xc1, 0xa8, 0x4c, 0x01, 0x00, 0x00,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0xe2, 0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0xd4, 0xe4, 0xfc, 0xbc, 0xb4, 0xcc, 0x74, 0xfd, 0xc4,
+	0xbc, 0xbc, 0xfc, 0x92, 0xc4, 0x92, 0xcc, 0xfc, 0xbc, 0x62, 0x3d, 0xb0, 0x72, 0x21, 0x2e, 0xa8,
+	0x51, 0x40, 0xb5, 0x52, 0x4e, 0xe4, 0x1a, 0x9b, 0x51, 0x52, 0x52, 0x00, 0x31, 0x4f, 0xca, 0x04,
+	0x8f, 0x19, 0x60, 0x32, 0xa9, 0x34, 0x4d, 0x3f, 0x25, 0xb5, 0x38, 0xb9, 0x28, 0xb3, 0xa0, 0x24,
+	0xbf, 0x08, 0xa2, 0xcb, 0xca, 0x9b, 0x8b, 0x05, 0x64, 0x86, 0x90, 0x9c, 0x1e, 0x54, 0x3b, 0x4c,
+	0xa9, 0x9e, 0x6f, 0x6a, 0x49, 0x46, 0x7e, 0x8a, 0x7f, 0x01, 0xd8, 0xcd, 0x12, 0x1b, 0x4e, 0xed,
+	0x51, 0x52, 0x60, 0xd4, 0xe0, 0x36, 0x12, 0xd1, 0x43, 0xb8, 0x5b, 0xcf, 0x03, 0xa8, 0x35, 0xa8,
+	0x34, 0x27, 0x35, 0x08, 0x6c, 0x88, 0x93, 0x36, 0x17, 0x5f, 0x72, 0x7e, 0x2e, 0x92, 0x02, 0x27,
+	0x01, 0x47, 0x84, 0xbf, 0x03, 0x40, 0x26, 0x07, 0x30, 0x2e, 0x62, 0x62, 0x71, 0x77, 0x0c, 0xf0,
+	0x4c, 0x62, 0x03, 0xdb, 0x64, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x01, 0xd8, 0x8e, 0xc1, 0x53,
+	0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/annotations.proto b/googleapis/api/serviceconfig/annotations.proto
index bcbe1fb8..306bc405 100644
--- a/googleapis/api/serviceconfig/annotations.proto
+++ b/googleapis/api/serviceconfig/annotations.proto
@@ -22,6 +22,7 @@ import "google.golang.org/genproto/protobuf/descriptor.proto"; // from google/pr
 option java_multiple_files = true;
 option java_outer_classname = "AnnotationsProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 extend google.protobuf.MethodOptions {
   // See `HttpRule`.
diff --git a/googleapis/api/serviceconfig/auth.pb.go b/googleapis/api/serviceconfig/auth.pb.go
index f2b5d9d9..7bc7148f 100644
--- a/googleapis/api/serviceconfig/auth.pb.go
+++ b/googleapis/api/serviceconfig/auth.pb.go
@@ -28,7 +28,9 @@ var _ = math.Inf
 //         oauth:
 //           canonical_scopes: https://www.googleapis.com/auth/calendar.read
 type Authentication struct {
-	// Individual rules for authentication.
+	// A list of authentication rules that apply to individual API methods.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*AuthenticationRule `protobuf:"bytes,3,rep,name=rules" json:"rules,omitempty"`
 	// Defines a set of authentication providers that a service supports.
 	Providers []*AuthProvider `protobuf:"bytes,4,rep,name=providers" json:"providers,omitempty"`
@@ -62,7 +64,6 @@ func (m *Authentication) GetProviders() []*AuthProvider {
 //
 // If a method doesn't have any auth requirements, request credentials will be
 // ignored.
-//
 type AuthenticationRule struct {
 	// Selects the methods to which this rule applies.
 	//
@@ -70,9 +71,13 @@ type AuthenticationRule struct {
 	Selector string `protobuf:"bytes,1,opt,name=selector" json:"selector,omitempty"`
 	// The requirements for OAuth credentials.
 	Oauth *OAuthRequirements `protobuf:"bytes,2,opt,name=oauth" json:"oauth,omitempty"`
-	// Whether to allow requests without a credential.  If quota is enabled, an
-	// API key is required for such request to pass the quota check.
+	// Whether to allow requests without a credential. The credential can be
+	// an OAuth token, Google cookies (first-party auth) or EndUserCreds.
 	//
+	// For requests without credentials, if the service control environment is
+	// specified, each incoming request **must** be associated with a service
+	// consumer. This can be done by passing an API key that belongs to a consumer
+	// project.
 	AllowWithoutCredential bool `protobuf:"varint,5,opt,name=allow_without_credential,json=allowWithoutCredential" json:"allow_without_credential,omitempty"`
 	// Requirements for additional authentication providers.
 	Requirements []*AuthRequirement `protobuf:"bytes,7,rep,name=requirements" json:"requirements,omitempty"`
@@ -147,7 +152,6 @@ func (*AuthProvider) Descriptor() ([]byte, []int) { return fileDescriptor1, []in
 // Please note that even though each of the canonical scopes is enough for a
 // request to be accepted and passed to the backend, a request can still fail
 // due to the backend requiring additional scopes or permissions.
-//
 type OAuthRequirements struct {
 	// The list of publicly documented OAuth scopes that are allowed access. An
 	// OAuth token containing any of these scopes will be accepted.
@@ -207,31 +211,32 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 412 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xcd, 0x6e, 0xd3, 0x40,
-	0x10, 0x96, 0x13, 0xd2, 0x26, 0x93, 0x2a, 0x85, 0x3d, 0x54, 0xa6, 0x50, 0x88, 0x7c, 0x0a, 0x17,
-	0x5b, 0x6a, 0x11, 0xe2, 0x04, 0x22, 0x9c, 0x7a, 0x22, 0x2c, 0x42, 0x1c, 0xad, 0x65, 0x3d, 0x38,
-	0x0b, 0xdb, 0x1d, 0xb3, 0x3f, 0xcd, 0x8d, 0x67, 0xe5, 0x51, 0x50, 0xd6, 0x6e, 0xe2, 0xa6, 0x37,
-	0x8e, 0x33, 0xdf, 0xdf, 0x7e, 0x63, 0xc3, 0xb2, 0x26, 0xaa, 0x35, 0xe6, 0x35, 0x69, 0x61, 0xea,
-	0x9c, 0x6c, 0x5d, 0xd4, 0x68, 0x1a, 0x4b, 0x9e, 0x8a, 0x16, 0x12, 0x8d, 0x72, 0x85, 0x68, 0x54,
-	0xe1, 0xd0, 0xde, 0x2a, 0x89, 0x92, 0xcc, 0x0f, 0x55, 0x17, 0x22, 0xf8, 0x75, 0x1e, 0x79, 0x0c,
-	0x3a, 0x0f, 0xd1, 0xa8, 0xf3, 0xeb, 0xff, 0xf6, 0x33, 0x86, 0xbc, 0xf0, 0x8a, 0x8c, 0x6b, 0x6d,
-	0xb3, 0x3f, 0x30, 0xfb, 0x10, 0xfc, 0x1a, 0x8d, 0x57, 0x32, 0x02, 0xec, 0x35, 0x8c, 0x6c, 0xd0,
-	0xe8, 0xd2, 0xe1, 0x7c, 0xb8, 0x98, 0x5e, 0xbe, 0xc8, 0xf7, 0xc1, 0xf9, 0x7d, 0x2a, 0x0f, 0x1a,
-	0x79, 0x4b, 0x66, 0x6f, 0x60, 0xd2, 0x58, 0xba, 0x55, 0x15, 0x5a, 0x97, 0x3e, 0x8a, 0xca, 0xf4,
-	0x50, 0xb9, 0xea, 0x08, 0x7c, 0x4f, 0xcd, 0xfe, 0x26, 0xc0, 0x1e, 0xba, 0xb2, 0x73, 0x18, 0x3b,
-	0xd4, 0x28, 0x3d, 0xd9, 0x34, 0x99, 0x27, 0x8b, 0x09, 0xdf, 0xcd, 0xec, 0x0a, 0x46, 0xb4, 0x3d,
-	0x4c, 0x3a, 0x98, 0x27, 0x8b, 0xe9, 0xe5, 0x45, 0x3f, 0xe6, 0xd3, 0xd6, 0x8b, 0xe3, 0xef, 0xa0,
-	0x2c, 0xde, 0xa0, 0xf1, 0x8e, 0xb7, 0x5c, 0xf6, 0x16, 0x52, 0xa1, 0x35, 0x6d, 0xca, 0x8d, 0xf2,
-	0x6b, 0x0a, 0xbe, 0x94, 0x16, 0xab, 0x6d, 0xa8, 0xd0, 0xe9, 0x68, 0x9e, 0x2c, 0xc6, 0xfc, 0x2c,
-	0xe2, 0xdf, 0x5a, 0xf8, 0xe3, 0x0e, 0x65, 0xef, 0xe1, 0xc4, 0xf6, 0x0c, 0xd3, 0xe3, 0x58, 0xee,
-	0xd9, 0x61, 0xb9, 0x5e, 0x28, 0xbf, 0x27, 0xc8, 0x3e, 0xc3, 0x49, 0xbf, 0x3d, 0x9b, 0xc1, 0x40,
-	0x55, 0x5d, 0xab, 0x81, 0xaa, 0xd8, 0x19, 0x1c, 0x29, 0xe7, 0x02, 0xda, 0x58, 0x68, 0xc2, 0xbb,
-	0x89, 0x3d, 0x85, 0xf1, 0xcf, 0xcd, 0x2f, 0x57, 0x06, 0xab, 0xd2, 0x61, 0x44, 0x8e, 0xb7, 0xf3,
-	0x57, 0xab, 0xb2, 0x77, 0xf0, 0xe4, 0x41, 0x53, 0xf6, 0x0a, 0x1e, 0x4b, 0x61, 0xc8, 0x28, 0x29,
-	0x74, 0xe9, 0x24, 0x35, 0xe8, 0xba, 0x94, 0xd3, 0xdd, 0xfe, 0x4b, 0x5c, 0x67, 0x2b, 0x38, 0x3d,
-	0x90, 0xb3, 0x97, 0x30, 0xbd, 0xfb, 0x2a, 0xe5, 0xee, 0x79, 0x70, 0xb7, 0xba, 0xae, 0xd8, 0x73,
-	0x98, 0x88, 0x50, 0x29, 0x34, 0x12, 0x5d, 0xf7, 0xd2, 0xfd, 0x62, 0x79, 0x01, 0x33, 0x49, 0x37,
-	0xbd, 0xa3, 0x2c, 0x27, 0x5d, 0x69, 0x4f, 0xab, 0xe4, 0xfb, 0x51, 0xfc, 0xdb, 0xae, 0xfe, 0x05,
-	0x00, 0x00, 0xff, 0xff, 0xa8, 0xf2, 0x70, 0xa7, 0x0a, 0x03, 0x00, 0x00,
+	// 425 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0x4d, 0x6f, 0x13, 0x31,
+	0x10, 0x55, 0xd2, 0xa6, 0xcd, 0x4e, 0xaa, 0x14, 0x7c, 0xa8, 0x4c, 0xf9, 0xaa, 0x56, 0x1c, 0xca,
+	0x65, 0x57, 0x6a, 0x11, 0xe2, 0x04, 0x6a, 0x38, 0xa0, 0x9c, 0x08, 0x46, 0x88, 0xe3, 0xca, 0x78,
+	0xcd, 0xd6, 0xe0, 0x7a, 0x82, 0xed, 0x6d, 0x6e, 0xfc, 0x18, 0x7e, 0x19, 0x3f, 0x05, 0xaf, 0x77,
+	0x9b, 0x6c, 0x93, 0x1b, 0x97, 0x28, 0x33, 0xef, 0xcd, 0x7b, 0x7e, 0x33, 0x0b, 0xb3, 0x0a, 0xb1,
+	0xd2, 0x32, 0xab, 0x50, 0x73, 0x53, 0x65, 0x68, 0xab, 0xbc, 0x92, 0x66, 0x69, 0xd1, 0x63, 0xde,
+	0x42, 0x7c, 0xa9, 0x5c, 0x1e, 0x7e, 0x72, 0x27, 0xed, 0xad, 0x12, 0x52, 0xa0, 0xf9, 0xae, 0xaa,
+	0x9c, 0xd7, 0xfe, 0x3a, 0x8b, 0x3c, 0x02, 0x9d, 0x46, 0x20, 0x9d, 0xce, 0xff, 0x5b, 0xcf, 0x18,
+	0xf4, 0xdc, 0x2b, 0x34, 0xae, 0x95, 0x4d, 0x7f, 0xc3, 0xf4, 0x2a, 0x98, 0x48, 0xe3, 0x95, 0x88,
+	0x00, 0x79, 0x05, 0x23, 0x5b, 0x6b, 0xe9, 0xe8, 0xde, 0xd9, 0xde, 0xf9, 0xe4, 0xe2, 0x59, 0xb6,
+	0x31, 0xce, 0xee, 0x53, 0x59, 0xa0, 0xb1, 0x96, 0x4c, 0x5e, 0x43, 0x12, 0x04, 0x6f, 0x55, 0x29,
+	0xad, 0xa3, 0xfb, 0x71, 0x92, 0x6e, 0x4f, 0x2e, 0x3a, 0x02, 0xdb, 0x50, 0xd3, 0xbf, 0x03, 0x20,
+	0xbb, 0xaa, 0xe4, 0x14, 0xc6, 0x4e, 0x6a, 0x29, 0x3c, 0x5a, 0x3a, 0x38, 0x1b, 0x9c, 0x27, 0x6c,
+	0x5d, 0x93, 0x4b, 0x18, 0x61, 0xb3, 0x18, 0x3a, 0x0c, 0xc0, 0xe4, 0xe2, 0x69, 0xdf, 0xe6, 0x63,
+	0xa3, 0xc5, 0xe4, 0xaf, 0x5a, 0x59, 0x79, 0x13, 0x34, 0x1d, 0x6b, 0xb9, 0xe4, 0x0d, 0x50, 0xae,
+	0x35, 0xae, 0x8a, 0x95, 0xf2, 0xd7, 0x58, 0xfb, 0x42, 0x58, 0x59, 0x36, 0xa6, 0x5c, 0xd3, 0x51,
+	0xd0, 0x19, 0xb3, 0x93, 0x88, 0x7f, 0x6d, 0xe1, 0xf7, 0x6b, 0x94, 0xbc, 0x83, 0x23, 0xdb, 0x13,
+	0xa4, 0x87, 0x31, 0xdc, 0xe3, 0xed, 0x70, 0x3d, 0x53, 0x76, 0x6f, 0x20, 0xfd, 0x04, 0x47, 0xfd,
+	0xf4, 0x64, 0x0a, 0x43, 0x55, 0x76, 0xa9, 0xc2, 0x3f, 0x72, 0x02, 0x07, 0xca, 0xb9, 0x5a, 0xda,
+	0x18, 0x28, 0x61, 0x5d, 0x45, 0x1e, 0xc1, 0xf8, 0xc7, 0xea, 0xa7, 0x2b, 0x6a, 0xab, 0xc2, 0x2d,
+	0x1a, 0xe4, 0xb0, 0xa9, 0xbf, 0x58, 0x95, 0xbe, 0x85, 0x87, 0x3b, 0x49, 0xc9, 0x4b, 0x78, 0x20,
+	0xb8, 0x41, 0x13, 0xf6, 0xa8, 0x0b, 0x27, 0x70, 0x19, 0x6e, 0xd8, 0xba, 0x1c, 0xaf, 0xfb, 0x9f,
+	0x63, 0x3b, 0x5d, 0xc0, 0xf1, 0xd6, 0x38, 0x79, 0x0e, 0x93, 0xbb, 0xab, 0x14, 0xeb, 0xe7, 0xc1,
+	0x5d, 0x6b, 0x5e, 0x92, 0x27, 0x90, 0xf0, 0xba, 0x54, 0xd2, 0x88, 0xa0, 0xdb, 0xbe, 0x74, 0xd3,
+	0x98, 0xbd, 0x80, 0xa9, 0xc0, 0x9b, 0xde, 0x52, 0x66, 0x49, 0x17, 0xda, 0xe3, 0x62, 0xf0, 0x67,
+	0xb8, 0xff, 0xe1, 0x6a, 0x31, 0xff, 0x76, 0x10, 0x3f, 0xba, 0xcb, 0x7f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x0d, 0x41, 0xfd, 0x7a, 0x11, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/auth.proto b/googleapis/api/serviceconfig/auth.proto
index 621a3c51..8193b36e 100644
--- a/googleapis/api/serviceconfig/auth.proto
+++ b/googleapis/api/serviceconfig/auth.proto
@@ -21,6 +21,7 @@ import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.prot
 option java_multiple_files = true;
 option java_outer_classname = "AuthProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // `Authentication` defines the authentication configuration for an API.
@@ -38,7 +39,9 @@ option java_package = "com.google.api";
 //         oauth:
 //           canonical_scopes: https://www.googleapis.com/auth/calendar.read
 message Authentication {
-  // Individual rules for authentication.
+  // A list of authentication rules that apply to individual API methods.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated AuthenticationRule rules = 3;
 
   // Defines a set of authentication providers that a service supports.
@@ -54,7 +57,6 @@ message Authentication {
 //
 // If a method doesn't have any auth requirements, request credentials will be
 // ignored.
-//
 message AuthenticationRule {
   // Selects the methods to which this rule applies.
   //
@@ -64,9 +66,13 @@ message AuthenticationRule {
   // The requirements for OAuth credentials.
   OAuthRequirements oauth = 2;
 
-  // Whether to allow requests without a credential.  If quota is enabled, an
-  // API key is required for such request to pass the quota check.
+  // Whether to allow requests without a credential. The credential can be
+  // an OAuth token, Google cookies (first-party auth) or EndUserCreds.
   //
+  // For requests without credentials, if the service control environment is
+  // specified, each incoming request **must** be associated with a service
+  // consumer. This can be done by passing an API key that belongs to a consumer
+  // project.
   bool allow_without_credential = 5;
 
   // Requirements for additional authentication providers.
@@ -120,7 +126,6 @@ message AuthProvider {
 // Please note that even though each of the canonical scopes is enough for a
 // request to be accepted and passed to the backend, a request can still fail
 // due to the backend requiring additional scopes or permissions.
-//
 message OAuthRequirements {
   // The list of publicly documented OAuth scopes that are allowed access. An
   // OAuth token containing any of these scopes will be accepted.
diff --git a/googleapis/api/serviceconfig/backend.pb.go b/googleapis/api/serviceconfig/backend.pb.go
index 0898697b..d84a9058 100644
--- a/googleapis/api/serviceconfig/backend.pb.go
+++ b/googleapis/api/serviceconfig/backend.pb.go
@@ -15,8 +15,9 @@ var _ = math.Inf
 
 // `Backend` defines the backend configuration for a service.
 type Backend struct {
-	// A list of backend rules providing configuration for individual API
-	// elements.
+	// A list of API backend rules that apply to individual API methods.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*BackendRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
 }
 
@@ -39,7 +40,6 @@ type BackendRule struct {
 	// Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
 	Selector string `protobuf:"bytes,1,opt,name=selector" json:"selector,omitempty"`
 	// The address of the API backend.
-	//
 	Address string `protobuf:"bytes,2,opt,name=address" json:"address,omitempty"`
 	// The number of seconds to wait for a response from a request.  The
 	// default depends on the deployment context.
@@ -61,18 +61,19 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 207 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0x3d, 0x4f, 0x04, 0x21,
-	0x10, 0x86, 0x83, 0x17, 0x3d, 0x9d, 0x33, 0x16, 0x34, 0x12, 0x2b, 0x72, 0xd5, 0x36, 0x42, 0xa2,
-	0x8d, 0xf5, 0x26, 0xf6, 0x17, 0xfe, 0x80, 0xe1, 0x60, 0x24, 0x44, 0x64, 0x08, 0xdc, 0xfa, 0xfb,
-	0xcd, 0x7e, 0xb8, 0x6e, 0xf9, 0xf2, 0x3c, 0xcc, 0xcc, 0x0b, 0xef, 0x81, 0x28, 0x24, 0x54, 0x81,
-	0x92, 0xcd, 0x41, 0x51, 0x0d, 0x3a, 0x60, 0x2e, 0x95, 0x2e, 0xa4, 0x67, 0x64, 0x4b, 0x6c, 0xda,
-	0x96, 0xa8, 0x1b, 0xd6, 0x9f, 0xe8, 0xd0, 0x51, 0xfe, 0x8c, 0x41, 0x9f, 0xad, 0xfb, 0xc2, 0xec,
-	0xd5, 0xa4, 0x72, 0x58, 0xc6, 0xd8, 0x12, 0x8f, 0x6f, 0xb0, 0xef, 0x67, 0xc8, 0x9f, 0xe1, 0xba,
-	0x0e, 0x09, 0x9b, 0x60, 0x72, 0xd7, 0x1d, 0x5e, 0x1e, 0xd5, 0xbf, 0xa6, 0x16, 0xc7, 0x0c, 0x09,
-	0xcd, 0x6c, 0x1d, 0x3f, 0xe0, 0xb0, 0x79, 0xe5, 0x4f, 0x70, 0xdb, 0x30, 0xa1, 0xbb, 0x50, 0x15,
-	0x4c, 0xb2, 0xee, 0xce, 0xac, 0x99, 0x0b, 0xd8, 0x5b, 0xef, 0x2b, 0xb6, 0x26, 0xae, 0x26, 0xf4,
-	0x17, 0xc7, 0x5f, 0x1e, 0xad, 0x4f, 0x31, 0xa3, 0xd8, 0x49, 0xd6, 0x31, 0xb3, 0xe6, 0x5e, 0xc2,
-	0x83, 0xa3, 0xef, 0xcd, 0x15, 0xfd, 0xfd, 0xb2, 0xf0, 0x34, 0xd6, 0x38, 0xb1, 0xf3, 0xcd, 0xd4,
-	0xe7, 0xf5, 0x37, 0x00, 0x00, 0xff, 0xff, 0x99, 0xf6, 0x26, 0x9c, 0x18, 0x01, 0x00, 0x00,
+	// 217 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xcf, 0x4e, 0x03, 0x21,
+	0x10, 0xc6, 0x43, 0xab, 0x56, 0xa7, 0xc6, 0x03, 0x17, 0x89, 0x27, 0xd3, 0x8b, 0xbd, 0x08, 0x89,
+	0x5e, 0xbc, 0xba, 0x89, 0x31, 0xde, 0x36, 0xbc, 0x80, 0xa1, 0x30, 0x12, 0x22, 0x32, 0x0d, 0x54,
+	0x1f, 0xc8, 0x27, 0x95, 0xfd, 0xe3, 0x76, 0x2f, 0x24, 0x1f, 0xbf, 0x1f, 0xc3, 0x7c, 0xf0, 0xe2,
+	0x89, 0x7c, 0x44, 0xe9, 0x29, 0x9a, 0xe4, 0x25, 0x65, 0xaf, 0x3c, 0xa6, 0x7d, 0xa6, 0x03, 0xa9,
+	0x01, 0x99, 0x7d, 0x28, 0xaa, 0x1e, 0xaa, 0x60, 0xfe, 0x09, 0x16, 0x2d, 0xa5, 0x8f, 0xe0, 0xd5,
+	0xce, 0xd8, 0x4f, 0x4c, 0x4e, 0xf6, 0x2a, 0x87, 0x71, 0x4c, 0xf5, 0x36, 0x4f, 0xb0, 0x6a, 0x06,
+	0xc8, 0xef, 0xe1, 0x34, 0x7f, 0x47, 0x2c, 0x82, 0xdd, 0x2e, 0xb7, 0xeb, 0x87, 0x6b, 0x79, 0xd4,
+	0xe4, 0xe8, 0xe8, 0xca, 0xf5, 0x60, 0x6d, 0xde, 0x61, 0x3d, 0xbb, 0xe5, 0x37, 0x70, 0x5e, 0x30,
+	0xa2, 0x3d, 0x50, 0xae, 0x03, 0xd8, 0xf6, 0x42, 0x4f, 0x99, 0x0b, 0x58, 0x19, 0xe7, 0x32, 0x96,
+	0x22, 0x16, 0x3d, 0xfa, 0x8f, 0xdd, 0x2b, 0x87, 0xc6, 0xc5, 0x90, 0x50, 0x2c, 0x2b, 0x62, 0x7a,
+	0xca, 0xcd, 0x1d, 0x5c, 0x59, 0xfa, 0x9a, 0x6d, 0xd1, 0x5c, 0x8e, 0x1f, 0xb6, 0x5d, 0x8d, 0x96,
+	0xfd, 0x2e, 0x4e, 0x5e, 0x9f, 0xdb, 0xb7, 0xdd, 0x59, 0x5f, 0xeb, 0xf1, 0x2f, 0x00, 0x00, 0xff,
+	0xff, 0x1b, 0xf2, 0x31, 0x3a, 0x1f, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/backend.proto b/googleapis/api/serviceconfig/backend.proto
index 0d4019c9..3c12c8c3 100644
--- a/googleapis/api/serviceconfig/backend.proto
+++ b/googleapis/api/serviceconfig/backend.proto
@@ -19,12 +19,14 @@ package google.api;
 option java_multiple_files = true;
 option java_outer_classname = "BackendProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // `Backend` defines the backend configuration for a service.
 message Backend {
-  // A list of backend rules providing configuration for individual API
-  // elements.
+  // A list of API backend rules that apply to individual API methods.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated BackendRule rules = 1;
 }
 
@@ -36,7 +38,6 @@ message BackendRule {
   string selector = 1;
 
   // The address of the API backend.
-  //
   string address = 2;
 
   // The number of seconds to wait for a response from a request.  The
diff --git a/googleapis/api/serviceconfig/billing.pb.go b/googleapis/api/serviceconfig/billing.pb.go
index b8e75634..14e5b470 100644
--- a/googleapis/api/serviceconfig/billing.pb.go
+++ b/googleapis/api/serviceconfig/billing.pb.go
@@ -111,21 +111,21 @@ func init() {
 }
 
 var fileDescriptor3 = []byte{
-	// 252 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0xbd, 0x4b, 0x04, 0x31,
-	0x10, 0xc5, 0x59, 0x8f, 0xf3, 0xbc, 0x28, 0x7e, 0xa4, 0x0a, 0x0b, 0xc2, 0x72, 0xd5, 0xda, 0x24,
-	0xe0, 0xd5, 0x36, 0x0b, 0x16, 0x76, 0xc7, 0x5e, 0x23, 0x36, 0x92, 0x8b, 0x63, 0x08, 0xe4, 0x32,
-	0x4b, 0x26, 0xab, 0xff, 0xbe, 0xb8, 0x89, 0x1f, 0x60, 0x23, 0x57, 0x85, 0x99, 0x37, 0xef, 0x97,
-	0xf7, 0xd8, 0xbd, 0x45, 0xb4, 0x1e, 0xa4, 0x45, 0xaf, 0x83, 0x95, 0x18, 0xad, 0xb2, 0x10, 0x86,
-	0x88, 0x09, 0x55, 0x96, 0xf4, 0xe0, 0x48, 0xe9, 0xc1, 0x29, 0x82, 0xf8, 0xe6, 0x0c, 0x18, 0x0c,
-	0xaf, 0xce, 0xaa, 0x9d, 0xf3, 0xde, 0x05, 0x2b, 0xa7, 0x53, 0xce, 0x0a, 0x46, 0x0f, 0xae, 0x7e,
-	0x38, 0x14, 0xa9, 0x43, 0xc0, 0xa4, 0x93, 0xc3, 0x40, 0x19, 0x5b, 0xdf, 0xfd, 0x1f, 0xb5, 0x87,
-	0x14, 0x9d, 0x29, 0x4f, 0xb6, 0xaf, 0x1e, 0xd9, 0xa2, 0xcb, 0x31, 0xb9, 0x60, 0x8b, 0x2c, 0x91,
-	0xa8, 0x9a, 0x59, 0xbb, 0xec, 0xbf, 0x46, 0xbe, 0x66, 0xf3, 0x38, 0x7a, 0x20, 0x31, 0x6f, 0x66,
-	0xed, 0xe9, 0xed, 0xb5, 0xfc, 0xa9, 0x22, 0x8b, 0x7b, 0x9b, 0x74, 0x1a, 0xa9, 0x1f, 0x3d, 0xf4,
-	0xf9, 0x76, 0xf5, 0xc4, 0xae, 0xfe, 0x68, 0xbc, 0x66, 0x27, 0x04, 0x1e, 0x4c, 0xc2, 0x28, 0xaa,
-	0xa6, 0x6a, 0x97, 0xfd, 0xf7, 0xcc, 0x6f, 0xd8, 0xa5, 0xf6, 0x1e, 0xdf, 0xe1, 0xe5, 0x99, 0x26,
-	0x07, 0x90, 0x38, 0x9a, 0x82, 0x5c, 0x94, 0xfd, 0xb6, 0xac, 0xbb, 0x86, 0x9d, 0x1b, 0xdc, 0xff,
-	0x8a, 0xd1, 0x9d, 0x95, 0xbf, 0x36, 0x9f, 0xad, 0x36, 0xd5, 0xee, 0x78, 0xaa, 0xb7, 0xfe, 0x08,
-	0x00, 0x00, 0xff, 0xff, 0xe0, 0xe1, 0x19, 0xb1, 0xbd, 0x01, 0x00, 0x00,
+	// 245 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x4f, 0xbd, 0x4b, 0x43, 0x31,
+	0x10, 0xe7, 0x29, 0xb5, 0x7a, 0x8a, 0x1f, 0x99, 0x1e, 0x0f, 0x84, 0xd2, 0x49, 0x97, 0x17, 0xb0,
+	0xb3, 0xcb, 0x03, 0x07, 0xb7, 0xf2, 0xba, 0x88, 0x8b, 0xa4, 0xf1, 0x0c, 0x81, 0x34, 0x57, 0x92,
+	0x54, 0xff, 0x7d, 0xcf, 0x24, 0x7e, 0x80, 0x8b, 0xb8, 0x24, 0xdc, 0xdd, 0xef, 0x13, 0xee, 0x0c,
+	0x91, 0x71, 0xd8, 0x1b, 0x72, 0xca, 0x9b, 0x9e, 0x82, 0x91, 0x06, 0xfd, 0x36, 0x50, 0x22, 0x59,
+	0x4e, 0x6a, 0x6b, 0xa3, 0xe4, 0x47, 0x46, 0x0c, 0xaf, 0x56, 0xa3, 0x26, 0xff, 0x62, 0x8d, 0x5c,
+	0x5b, 0xe7, 0x2c, 0x33, 0x32, 0x54, 0x40, 0x95, 0x61, 0x5c, 0x77, 0xff, 0x5f, 0x49, 0xe5, 0x3d,
+	0x25, 0x95, 0x2c, 0xf9, 0x58, 0x64, 0xbb, 0xdb, 0xbf, 0x4b, 0x6d, 0x30, 0x05, 0xab, 0xeb, 0x57,
+	0xe8, 0xf3, 0x07, 0x98, 0x0e, 0x25, 0xa6, 0x68, 0x61, 0x5a, 0x4e, 0xb1, 0x6d, 0x66, 0xfb, 0x57,
+	0x47, 0xe3, 0xe7, 0x28, 0x16, 0x30, 0x09, 0x3b, 0x87, 0xb1, 0x9d, 0xf0, 0xfe, 0xf8, 0xe6, 0xb2,
+	0xff, 0xae, 0xd2, 0x57, 0xf6, 0x8a, 0x53, 0xed, 0xe2, 0xc8, 0xa8, 0xb1, 0x60, 0xe7, 0x8f, 0x70,
+	0xf1, 0xeb, 0x26, 0x3a, 0x38, 0x8c, 0xe8, 0x50, 0x27, 0x0a, 0x6c, 0xd2, 0xb0, 0xc9, 0xd7, 0x2c,
+	0xae, 0xe1, 0x5c, 0x39, 0x47, 0x6f, 0xf8, 0xfc, 0x14, 0x33, 0x83, 0x0d, 0xf7, 0x72, 0x90, 0xb3,
+	0xba, 0x5f, 0xd5, 0xf5, 0x30, 0x83, 0x53, 0x4d, 0x9b, 0x1f, 0x31, 0x86, 0x93, 0xea, 0xb5, 0xfc,
+	0x68, 0xb5, 0x6c, 0xd6, 0x07, 0xb9, 0xde, 0xe2, 0x3d, 0x00, 0x00, 0xff, 0xff, 0xe0, 0xe1, 0x19,
+	0xb1, 0xbd, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/consumer.pb.go b/googleapis/api/serviceconfig/consumer.pb.go
index 97779e86..c3758be2 100644
--- a/googleapis/api/serviceconfig/consumer.pb.go
+++ b/googleapis/api/serviceconfig/consumer.pb.go
@@ -117,24 +117,23 @@ func init() {
 }
 
 var fileDescriptor4 = []byte{
-	// 290 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x90, 0xcf, 0x4e, 0xf2, 0x40,
-	0x14, 0xc5, 0xbf, 0x81, 0x7e, 0x04, 0x2e, 0x8a, 0x75, 0xe2, 0xa2, 0xcb, 0xc2, 0x8a, 0x55, 0x9b,
-	0x20, 0xfa, 0x00, 0xe5, 0x8f, 0x69, 0x42, 0xa0, 0x29, 0xf0, 0x00, 0x75, 0xbc, 0x4e, 0xc6, 0xd0,
-	0xb9, 0x93, 0x69, 0x35, 0xe9, 0x03, 0xfa, 0x5e, 0x86, 0x5a, 0xb1, 0x0b, 0x77, 0x67, 0xe6, 0xfc,
-	0xce, 0xc9, 0xcd, 0x81, 0xb5, 0x24, 0x92, 0x27, 0x0c, 0x24, 0x9d, 0x32, 0x2d, 0x03, 0xb2, 0x32,
-	0x94, 0xa8, 0x8d, 0xa5, 0x92, 0xc2, 0x6f, 0x2b, 0x33, 0xaa, 0x08, 0x33, 0xa3, 0xc2, 0x02, 0xed,
-	0x87, 0x12, 0x28, 0x48, 0xbf, 0x2a, 0x19, 0x0a, 0xd2, 0xc5, 0x7b, 0x8e, 0x36, 0xa8, 0x59, 0x0e,
-	0x4d, 0x4f, 0x66, 0xd4, 0x24, 0x86, 0xdb, 0xc4, 0xd2, 0x1b, 0x8a, 0x32, 0xb1, 0x64, 0xd0, 0x96,
-	0x0a, 0x0b, 0x3e, 0x07, 0x30, 0x97, 0x97, 0xc7, 0xfc, 0xee, 0x74, 0x38, 0xbb, 0x0b, 0x7e, 0x53,
-	0x41, 0xc3, 0x56, 0x69, 0x8b, 0x9b, 0x7c, 0x32, 0xe8, 0xff, 0x18, 0x9c, 0x83, 0xa3, 0xb3, 0x1c,
-	0x3d, 0xe6, 0xb3, 0xe9, 0x20, 0xad, 0x35, 0x7f, 0x00, 0xa7, 0xac, 0x0c, 0x7a, 0x1d, 0x9f, 0x4d,
-	0x47, 0xb3, 0xf1, 0x5f, 0x85, 0x17, 0x71, 0xa8, 0x0c, 0xa6, 0x35, 0xce, 0x7d, 0x18, 0xbe, 0x60,
-	0x21, 0xac, 0x32, 0xa5, 0x22, 0xed, 0x75, 0xeb, 0xc6, 0xf6, 0xd7, 0x64, 0x03, 0x57, 0xed, 0x1c,
-	0xbf, 0x81, 0xe1, 0x71, 0xbb, 0x4f, 0x56, 0x8b, 0x78, 0x1d, 0xaf, 0x96, 0xee, 0x3f, 0x3e, 0x80,
-	0xff, 0xf1, 0xf6, 0xf0, 0x38, 0x77, 0x19, 0xef, 0x83, 0x13, 0xed, 0x76, 0x1b, 0xb7, 0xc3, 0x01,
-	0x7a, 0xfb, 0x43, 0x1a, 0x6f, 0x9f, 0xdc, 0xee, 0x59, 0x2f, 0x77, 0xc7, 0x68, 0xb3, 0x72, 0x9d,
-	0x68, 0x0c, 0x23, 0x41, 0x79, 0xeb, 0xba, 0xe8, 0x7a, 0xd1, 0x0c, 0x98, 0x9c, 0xf7, 0x4b, 0xd8,
-	0x73, 0xaf, 0x1e, 0xf2, 0xfe, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x61, 0xba, 0x74, 0x16, 0x92, 0x01,
-	0x00, 0x00,
+	// 287 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x90, 0xc1, 0x4e, 0xb3, 0x40,
+	0x14, 0x85, 0x7f, 0x0a, 0x7f, 0xd3, 0x5e, 0xb4, 0xe2, 0xc4, 0x05, 0xcb, 0x96, 0x55, 0x57, 0x90,
+	0xd4, 0xea, 0x03, 0xd0, 0x52, 0x43, 0x42, 0x80, 0x50, 0xfa, 0x00, 0x88, 0xd7, 0xc9, 0x98, 0xc2,
+	0x4c, 0x06, 0x34, 0xe9, 0x03, 0xfa, 0x5e, 0x4e, 0x11, 0x2b, 0x0b, 0x37, 0xdc, 0xc3, 0xbd, 0xdf,
+	0x39, 0x99, 0x1c, 0xd8, 0x51, 0xce, 0xe9, 0x11, 0x5d, 0xca, 0x8f, 0x45, 0x4d, 0x5d, 0x2e, 0xa9,
+	0x47, 0xb1, 0x16, 0x92, 0xb7, 0xdc, 0xfb, 0x3e, 0x15, 0x82, 0x35, 0x9e, 0xfa, 0x78, 0x0d, 0xca,
+	0x0f, 0x56, 0x62, 0xc9, 0xeb, 0x57, 0x46, 0x3d, 0x35, 0x9a, 0xf7, 0x0a, 0xa5, 0xdb, 0xb1, 0x04,
+	0xfa, 0x1c, 0x05, 0x3a, 0x21, 0xdc, 0xa6, 0x92, 0xbf, 0x61, 0xd9, 0xaa, 0x21, 0x50, 0xb6, 0x0c,
+	0x1b, 0xb2, 0x06, 0x10, 0x97, 0x3f, 0x5b, 0x9b, 0xeb, 0x4b, 0x73, 0x75, 0xe7, 0xfe, 0xba, 0xdc,
+	0x9e, 0x3d, 0x65, 0x03, 0xce, 0xf9, 0xd4, 0x60, 0xf2, 0x73, 0x20, 0x04, 0x8c, 0xba, 0xa8, 0x50,
+	0x99, 0xb5, 0xe5, 0x34, 0xeb, 0x34, 0x79, 0x00, 0xa3, 0x3d, 0x09, 0xb4, 0x47, 0x6a, 0x37, 0x5b,
+	0x2d, 0xfe, 0x0a, 0xbc, 0x88, 0x5c, 0x81, 0x59, 0x87, 0x93, 0x39, 0x98, 0x2f, 0xd8, 0x94, 0x92,
+	0x89, 0x96, 0xf1, 0xda, 0xd6, 0xbb, 0xc4, 0xe1, 0xca, 0x89, 0xe0, 0x6a, 0xe8, 0x23, 0x37, 0x60,
+	0x1e, 0xe2, 0x7d, 0x1a, 0x6c, 0xc2, 0x5d, 0x18, 0x6c, 0xad, 0x7f, 0x64, 0x0a, 0xff, 0xc3, 0x38,
+	0x7f, 0x5c, 0x5b, 0x1a, 0x99, 0x80, 0xe1, 0x27, 0x49, 0x64, 0x8d, 0x08, 0xc0, 0x78, 0x9f, 0x67,
+	0x61, 0xfc, 0x64, 0xe9, 0x67, 0xbd, 0x4d, 0x0e, 0x7e, 0x14, 0x58, 0x86, 0xbf, 0x80, 0x59, 0xc9,
+	0xab, 0xc1, 0xeb, 0xfc, 0xeb, 0x4d, 0x5f, 0x60, 0x7a, 0xee, 0x2f, 0xd5, 0x9e, 0xc7, 0x5d, 0x91,
+	0xf7, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x61, 0xba, 0x74, 0x16, 0x92, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/context.pb.go b/googleapis/api/serviceconfig/context.pb.go
index 724136f1..778a61d6 100644
--- a/googleapis/api/serviceconfig/context.pb.go
+++ b/googleapis/api/serviceconfig/context.pb.go
@@ -31,7 +31,9 @@ var _ = math.Inf
 // Available context types are defined in package
 // `google.rpc.context`.
 type Context struct {
-	// List of rules for context, applicable to methods.
+	// A list of RPC context rules that apply to individual API methods.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*ContextRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
 }
 
@@ -75,19 +77,19 @@ func init() {
 }
 
 var fileDescriptor5 = []byte{
-	// 211 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xbd, 0x4e, 0x04, 0x21,
-	0x14, 0x85, 0x83, 0x13, 0x7f, 0xe6, 0xae, 0xb1, 0xa0, 0x91, 0x18, 0x0b, 0xb2, 0xd5, 0x34, 0x42,
-	0xa2, 0x8d, 0xf5, 0x1a, 0xfb, 0x0d, 0x6f, 0x80, 0xcc, 0x95, 0x90, 0x20, 0x17, 0x81, 0xd9, 0xf8,
-	0xf8, 0x66, 0x67, 0x26, 0xbb, 0x5b, 0x9e, 0x73, 0xbe, 0xfb, 0x73, 0xe0, 0xd3, 0x13, 0xf9, 0x88,
-	0xca, 0x53, 0xb4, 0xc9, 0x2b, 0x2a, 0x5e, 0x7b, 0x4c, 0xb9, 0x50, 0x23, 0xbd, 0x44, 0x36, 0x87,
-	0xaa, 0x6d, 0x0e, 0xba, 0x62, 0x39, 0x04, 0x87, 0x8e, 0xd2, 0x77, 0xf0, 0xda, 0x51, 0x6a, 0xf8,
-	0xd7, 0xd4, 0x8c, 0x72, 0x58, 0xd7, 0xd8, 0x1c, 0xb6, 0xef, 0x70, 0xfb, 0xb1, 0x84, 0xfc, 0x05,
-	0xae, 0xcb, 0x14, 0xb1, 0x0a, 0x26, 0xbb, 0x61, 0xf3, 0xfa, 0xa8, 0xce, 0x98, 0x5a, 0x19, 0x33,
-	0x45, 0x34, 0x0b, 0xb5, 0x75, 0xb0, 0xb9, 0x70, 0xf9, 0x13, 0xdc, 0x55, 0x8c, 0xe8, 0x1a, 0x15,
-	0xc1, 0x24, 0x1b, 0x7a, 0x73, 0xd2, 0xfc, 0x19, 0xfa, 0x82, 0xbf, 0x13, 0xd6, 0x86, 0xa3, 0xb8,
-	0x92, 0xdd, 0xd0, 0x9b, 0xb3, 0x71, 0x9c, 0xcc, 0x85, 0x0e, 0x61, 0xc4, 0x51, 0x74, 0x73, 0x78,
-	0xd2, 0x3b, 0x09, 0x0f, 0x8e, 0x7e, 0x2e, 0x3e, 0xd9, 0xdd, 0xaf, 0x47, 0xf7, 0xc7, 0x2a, 0x7b,
-	0xf6, 0x75, 0x33, 0x77, 0x7a, 0xfb, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x23, 0x6b, 0x94, 0x1c,
-	0x01, 0x00, 0x00,
+	// 219 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0xe2, 0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0xd4, 0xe4, 0xfc, 0xbc, 0xb4, 0xcc, 0x74, 0x7d, 0x20,
+	0x55, 0x92, 0x5a, 0x51, 0xa2, 0x07, 0x56, 0x2a, 0xc4, 0x05, 0x35, 0x06, 0xa8, 0x4e, 0xc9, 0x82,
+	0x8b, 0xdd, 0x19, 0x22, 0x29, 0xa4, 0xcb, 0xc5, 0x5a, 0x54, 0x9a, 0x93, 0x5a, 0x2c, 0xc1, 0xa8,
+	0xc0, 0xac, 0xc1, 0x6d, 0x24, 0xae, 0x87, 0x50, 0xa6, 0x07, 0x55, 0x13, 0x04, 0x94, 0x0f, 0x82,
+	0xa8, 0x52, 0x4a, 0xe6, 0xe2, 0x46, 0x12, 0x15, 0x92, 0xe2, 0xe2, 0x28, 0x4e, 0xcd, 0x49, 0x4d,
+	0x2e, 0xc9, 0x2f, 0x02, 0x1a, 0xc0, 0xa8, 0xc1, 0x19, 0x04, 0xe7, 0x0b, 0xc9, 0x70, 0x71, 0x16,
+	0xa5, 0x16, 0x96, 0xa6, 0x16, 0x97, 0xa4, 0xa6, 0x48, 0x30, 0x01, 0x4d, 0xe7, 0x0c, 0x42, 0x08,
+	0x80, 0x74, 0x02, 0xdd, 0x55, 0x96, 0x99, 0x02, 0x94, 0x64, 0x06, 0x4b, 0xc2, 0xf9, 0x4e, 0xea,
+	0x5c, 0x7c, 0xc9, 0xf9, 0xb9, 0x48, 0x2e, 0x71, 0xe2, 0x81, 0x5a, 0x1a, 0x00, 0xf2, 0x4a, 0x00,
+	0xe3, 0x22, 0x26, 0x16, 0x77, 0xc7, 0x00, 0xcf, 0x24, 0x36, 0xb0, 0xd7, 0x8c, 0x01, 0x01, 0x00,
+	0x00, 0xff, 0xff, 0xe7, 0x43, 0x17, 0x5f, 0x23, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/context.proto b/googleapis/api/serviceconfig/context.proto
index a344f5b6..427524f6 100644
--- a/googleapis/api/serviceconfig/context.proto
+++ b/googleapis/api/serviceconfig/context.proto
@@ -19,6 +19,7 @@ package google.api;
 option java_multiple_files = true;
 option java_outer_classname = "ContextProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // `Context` defines which contexts an API requests.
@@ -39,7 +40,9 @@ option java_package = "com.google.api";
 // Available context types are defined in package
 // `google.rpc.context`.
 message Context {
-  // List of rules for context, applicable to methods.
+  // A list of RPC context rules that apply to individual API methods.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated ContextRule rules = 1;
 }
 
diff --git a/googleapis/api/serviceconfig/control.pb.go b/googleapis/api/serviceconfig/control.pb.go
index 272e69ed..ad28c8e4 100644
--- a/googleapis/api/serviceconfig/control.pb.go
+++ b/googleapis/api/serviceconfig/control.pb.go
@@ -16,7 +16,6 @@ var _ = math.Inf
 // Selects and configures the service controller used by the service.  The
 // service controller handles features like abuse, quota, billing, logging,
 // monitoring, etc.
-//
 type Control struct {
 	// The service control environment to use. If empty, no control plane
 	// feature (like quota and billing) will be enabled.
@@ -37,15 +36,15 @@ func init() {
 }
 
 var fileDescriptor6 = []byte{
-	// 148 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8d, 0xb1, 0x0a, 0xc2, 0x30,
-	0x10, 0x86, 0xe9, 0xa2, 0x18, 0xc5, 0xa1, 0x93, 0x63, 0x70, 0x12, 0x84, 0x64, 0xf0, 0x0d, 0x2a,
-	0xee, 0xc5, 0x37, 0x88, 0xe1, 0x3c, 0x0e, 0xd2, 0xfb, 0x43, 0x1a, 0xfa, 0xfc, 0x62, 0x5b, 0xd0,
-	0xf5, 0xbe, 0xfb, 0xbe, 0xdf, 0x3c, 0x18, 0xe0, 0x44, 0x8e, 0x91, 0x82, 0xb2, 0x43, 0x61, 0xcf,
-	0xa4, 0xb9, 0xa0, 0xc2, 0x2f, 0x28, 0x64, 0x19, 0x7d, 0xc8, 0xe2, 0x47, 0x2a, 0x93, 0x44, 0x8a,
-	0xd0, 0xb7, 0xb0, 0x8f, 0xd0, 0x5a, 0x90, 0xdc, 0xfc, 0xda, 0x9a, 0x35, 0x13, 0xb2, 0x9c, 0xaf,
-	0x66, 0x7b, 0x5f, 0x60, 0x6b, 0xcd, 0x9e, 0x74, 0x92, 0x02, 0x1d, 0x48, 0xeb, 0xa9, 0xb1, 0xcd,
-	0x65, 0xf7, 0xfc, 0x3f, 0x75, 0xd6, 0x1c, 0x23, 0x06, 0xf7, 0xd3, 0xbb, 0xc3, 0x2a, 0xf7, 0xdf,
-	0x70, 0xdf, 0xbc, 0x36, 0xf3, 0xc2, 0xed, 0x13, 0x00, 0x00, 0xff, 0xff, 0x79, 0xf6, 0x25, 0x49,
-	0xaa, 0x00, 0x00, 0x00,
+	// 154 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0xe2, 0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0xd4, 0xe4, 0xfc, 0xbc, 0xb4, 0xcc, 0x74, 0x7d, 0x20,
+	0x55, 0x52, 0x94, 0x9f, 0xa3, 0x07, 0x56, 0x2a, 0xc4, 0x05, 0x35, 0x06, 0xa8, 0x4e, 0x49, 0x9b,
+	0x8b, 0xdd, 0x19, 0x22, 0x29, 0xa4, 0xc0, 0xc5, 0x9d, 0x9a, 0x57, 0x96, 0x59, 0x94, 0x9f, 0x97,
+	0x9b, 0x9a, 0x57, 0x22, 0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x19, 0x84, 0x2c, 0xe4, 0xa4, 0xce, 0xc5,
+	0x97, 0x9c, 0x9f, 0xab, 0x87, 0xd0, 0xee, 0xc4, 0x03, 0xd5, 0x1c, 0x00, 0x32, 0x38, 0x80, 0x71,
+	0x11, 0x13, 0x8b, 0xbb, 0x63, 0x80, 0x67, 0x12, 0x1b, 0xd8, 0x22, 0x63, 0x40, 0x00, 0x00, 0x00,
+	0xff, 0xff, 0x77, 0x67, 0xbb, 0x6f, 0xb1, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/control.proto b/googleapis/api/serviceconfig/control.proto
index 424c8815..d99b2b08 100644
--- a/googleapis/api/serviceconfig/control.proto
+++ b/googleapis/api/serviceconfig/control.proto
@@ -19,12 +19,12 @@ package google.api;
 option java_multiple_files = true;
 option java_outer_classname = "ControlProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Selects and configures the service controller used by the service.  The
 // service controller handles features like abuse, quota, billing, logging,
 // monitoring, etc.
-//
 message Control {
   // The service control environment to use. If empty, no control plane
   // feature (like quota and billing) will be enabled.
diff --git a/googleapis/api/serviceconfig/documentation.pb.go b/googleapis/api/serviceconfig/documentation.pb.go
index 78bcd925..21612de1 100644
--- a/googleapis/api/serviceconfig/documentation.pb.go
+++ b/googleapis/api/serviceconfig/documentation.pb.go
@@ -76,7 +76,9 @@ type Documentation struct {
 	Summary string `protobuf:"bytes,1,opt,name=summary" json:"summary,omitempty"`
 	// The top level pages for the documentation set.
 	Pages []*Page `protobuf:"bytes,5,rep,name=pages" json:"pages,omitempty"`
-	// Documentation rules for individual elements of the service.
+	// A list of documentation rules that apply to individual API elements.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*DocumentationRule `protobuf:"bytes,3,rep,name=rules" json:"rules,omitempty"`
 	// The URL to the root of documentation.
 	DocumentationRootUrl string `protobuf:"bytes,4,opt,name=documentation_root_url,json=documentationRootUrl" json:"documentation_root_url,omitempty"`
@@ -185,26 +187,27 @@ func init() {
 }
 
 var fileDescriptor7 = []byte{
-	// 335 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x92, 0x41, 0x4b, 0xeb, 0x40,
-	0x10, 0xc7, 0xc9, 0x4b, 0xfb, 0x5e, 0xdf, 0x14, 0x45, 0x17, 0xa9, 0x41, 0x10, 0x4a, 0x0f, 0xa5,
-	0x07, 0x49, 0xc0, 0x0a, 0xde, 0x4b, 0x6f, 0x5e, 0x4a, 0xc0, 0x73, 0xd9, 0x6e, 0xc7, 0x25, 0xb0,
-	0xd9, 0x59, 0x76, 0x37, 0x15, 0xbf, 0x82, 0x9f, 0xd0, 0x8f, 0x23, 0xd9, 0xa4, 0x6d, 0x82, 0x78,
-	0xcb, 0xe4, 0xff, 0x9b, 0xf9, 0xcf, 0xfc, 0x13, 0x78, 0x91, 0x44, 0x52, 0x61, 0x2a, 0x49, 0x71,
-	0x2d, 0x53, 0xb2, 0x32, 0x93, 0xa8, 0x8d, 0x25, 0x4f, 0x59, 0x23, 0x71, 0x53, 0xb8, 0x8c, 0x9b,
-	0x22, 0x73, 0x68, 0x0f, 0x85, 0x40, 0x41, 0xfa, 0xad, 0x90, 0xd9, 0x9e, 0x44, 0x55, 0xa2, 0xf6,
-	0xdc, 0x17, 0xa4, 0xd3, 0xd0, 0xc0, 0xa0, 0x1d, 0xc6, 0x4d, 0x31, 0xfb, 0x8a, 0xe0, 0x62, 0xdd,
-	0x65, 0x58, 0x02, 0xff, 0x5c, 0x55, 0x96, 0xdc, 0x7e, 0x24, 0xd1, 0x34, 0x5a, 0xfc, 0xcf, 0x8f,
-	0x25, 0x9b, 0xc3, 0xd0, 0x70, 0x89, 0x2e, 0x19, 0x4e, 0xe3, 0xc5, 0xf8, 0xf1, 0x2a, 0x3d, 0xcf,
-	0x49, 0x37, 0x5c, 0x62, 0xde, 0xc8, 0x6c, 0x09, 0x43, 0x5b, 0x29, 0x74, 0x49, 0x1c, 0xb8, 0xfb,
-	0x2e, 0xd7, 0xf3, 0xca, 0x2b, 0x85, 0x79, 0xc3, 0xb2, 0x27, 0x98, 0xf4, 0x76, 0xdd, 0x5a, 0x22,
-	0xbf, 0xad, 0xac, 0x4a, 0x06, 0x61, 0x8b, 0x9b, 0x9e, 0x9a, 0x13, 0xf9, 0x57, 0xab, 0xd8, 0x1d,
-	0x8c, 0xe8, 0x50, 0x1f, 0x8c, 0xef, 0xc9, 0x9f, 0xc0, 0x9d, 0xea, 0xd9, 0x67, 0x04, 0xd7, 0x3f,
-	0xec, 0xea, 0x0e, 0x87, 0x0a, 0x85, 0x27, 0xdb, 0xde, 0x77, 0xaa, 0xd9, 0x14, 0xc6, 0x7b, 0x74,
-	0xc2, 0x16, 0xa6, 0xc6, 0xdb, 0x81, 0xdd, 0x57, 0xec, 0x19, 0x6e, 0xf7, 0x68, 0x2c, 0x8a, 0x66,
-	0xc7, 0x2e, 0x1d, 0x07, 0x7a, 0xd2, 0x91, 0xd7, 0x67, 0x75, 0xb6, 0x83, 0x41, 0x1d, 0x11, 0x63,
-	0x30, 0xd0, 0xbc, 0xc4, 0xd6, 0x3a, 0x3c, 0xd7, 0x89, 0x0b, 0xd2, 0x1e, 0xb5, 0x6f, 0x2d, 0x8f,
-	0x25, 0x7b, 0x80, 0x91, 0xab, 0x76, 0x4d, 0xe8, 0xf1, 0x2f, 0xa1, 0x9f, 0x88, 0xd5, 0x1c, 0x2e,
-	0x05, 0x95, 0x1d, 0x60, 0xc5, 0x7a, 0xf7, 0x6f, 0xea, 0xaf, 0xbf, 0x89, 0x76, 0x7f, 0xc3, 0x6f,
-	0xb0, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x33, 0x07, 0x1b, 0x82, 0x55, 0x02, 0x00, 0x00,
+	// 342 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x92, 0xcf, 0x4a, 0xc3, 0x40,
+	0x10, 0xc6, 0x49, 0x93, 0xfa, 0x67, 0x8a, 0xa2, 0x8b, 0xd4, 0x20, 0x08, 0xa5, 0x07, 0xe9, 0x41,
+	0x13, 0xb0, 0x82, 0x67, 0x4b, 0x41, 0xc4, 0x4b, 0x08, 0x78, 0x2e, 0xe9, 0x76, 0x5c, 0x02, 0x49,
+	0x26, 0x6c, 0x92, 0x8a, 0xaf, 0xe0, 0x63, 0xf8, 0x54, 0x3e, 0x8e, 0x9b, 0x4d, 0x9a, 0x6e, 0x10,
+	0x2f, 0x21, 0x93, 0xef, 0xb7, 0x33, 0xdf, 0x7c, 0x1b, 0x78, 0x15, 0x44, 0x22, 0x41, 0x4f, 0x50,
+	0x12, 0x65, 0xc2, 0x23, 0x29, 0x7c, 0x81, 0x59, 0x2e, 0xa9, 0x24, 0xbf, 0x91, 0xa2, 0x3c, 0x2e,
+	0x7c, 0xf5, 0xf0, 0x0b, 0x94, 0xdb, 0x98, 0x23, 0xa7, 0xec, 0x3d, 0x16, 0xfe, 0x86, 0x78, 0x95,
+	0x62, 0x56, 0x46, 0x65, 0x4c, 0x99, 0xa7, 0x0f, 0x30, 0x68, 0x9b, 0x29, 0x7a, 0xfa, 0x63, 0xc1,
+	0xc9, 0xd2, 0x64, 0x98, 0x0b, 0x87, 0x45, 0x95, 0xa6, 0x91, 0xfc, 0x74, 0xad, 0x89, 0x35, 0x3b,
+	0x0e, 0x77, 0x25, 0xbb, 0x81, 0x61, 0x1e, 0x09, 0x2c, 0xdc, 0xe1, 0xc4, 0x9e, 0x8d, 0xee, 0xcf,
+	0xbc, 0x7d, 0x1f, 0x2f, 0x50, 0x42, 0xd8, 0xc8, 0x6c, 0x0e, 0x43, 0x59, 0x25, 0x8a, 0xb3, 0x35,
+	0x77, 0x6d, 0x72, 0xbd, 0x59, 0xa1, 0xa2, 0xc2, 0x86, 0x65, 0x0f, 0x30, 0xee, 0x79, 0x5d, 0x49,
+	0xa2, 0x72, 0x55, 0xc9, 0xc4, 0x75, 0xb4, 0x8b, 0x8b, 0x9e, 0x1a, 0x2a, 0xf1, 0x4d, 0x26, 0xec,
+	0x0a, 0x8e, 0x68, 0x5b, 0x2f, 0x8c, 0x1f, 0xee, 0x40, 0x73, 0x5d, 0x3d, 0xfd, 0xb2, 0xe0, 0xfc,
+	0xcf, 0xb8, 0xfa, 0x44, 0x81, 0x09, 0xf2, 0x92, 0x64, 0xbb, 0x5f, 0x57, 0xb3, 0x09, 0x8c, 0x36,
+	0x58, 0x70, 0x19, 0xe7, 0x35, 0xde, 0x36, 0x34, 0x3f, 0xb1, 0x47, 0xb8, 0xdc, 0x60, 0x2e, 0x91,
+	0x37, 0x1e, 0x4d, 0xda, 0xd6, 0xf4, 0xd8, 0x90, 0x97, 0x7b, 0x75, 0xba, 0x06, 0xa7, 0x8e, 0x88,
+	0x31, 0x70, 0xb2, 0x28, 0xc5, 0x76, 0xb4, 0x7e, 0xaf, 0x13, 0x57, 0xb7, 0x55, 0x2a, 0x9b, 0xed,
+	0xc8, 0x5d, 0xc9, 0x6e, 0x95, 0xd9, 0x6a, 0xdd, 0x84, 0x6e, 0xff, 0x13, 0x7a, 0x47, 0x2c, 0xee,
+	0xe0, 0x94, 0x53, 0x6a, 0x00, 0x0b, 0xd6, 0xdb, 0x3f, 0xa8, 0x6f, 0x3f, 0xb0, 0xbe, 0x07, 0xce,
+	0xf3, 0x53, 0xf0, 0xb2, 0x3e, 0xd0, 0x7f, 0xc3, 0xfc, 0x37, 0x00, 0x00, 0xff, 0xff, 0x62, 0xd9,
+	0x85, 0x51, 0x5c, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/documentation.proto b/googleapis/api/serviceconfig/documentation.proto
index 26f7d8f5..190f8af5 100644
--- a/googleapis/api/serviceconfig/documentation.proto
+++ b/googleapis/api/serviceconfig/documentation.proto
@@ -19,6 +19,7 @@ package google.api;
 option java_multiple_files = true;
 option java_outer_classname = "DocumentationProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // `Documentation` provides the information for describing a service.
@@ -86,7 +87,9 @@ message Documentation {
   // The top level pages for the documentation set.
   repeated Page pages = 5;
 
-  // Documentation rules for individual elements of the service.
+  // A list of documentation rules that apply to individual API elements.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated DocumentationRule rules = 3;
 
   // The URL to the root of documentation.
diff --git a/googleapis/api/serviceconfig/endpoint.pb.go b/googleapis/api/serviceconfig/endpoint.pb.go
new file mode 100644
index 00000000..c96d4f55
--- /dev/null
+++ b/googleapis/api/serviceconfig/endpoint.pb.go
@@ -0,0 +1,106 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto
+// DO NOT EDIT!
+
+package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// `Endpoint` describes a network endpoint that serves a set of APIs.
+// A service may expose any number of endpoints, and all endpoints share the
+// same service configuration, such as quota configuration and monitoring
+// configuration.
+//
+// Example service configuration:
+//
+//     name: library-example.googleapis.com
+//     endpoints:
+//       # Below entry makes 'google.example.library.v1.Library'
+//       # API be served from endpoint address library-example.googleapis.com.
+//       # It also allows HTTP OPTIONS calls to be passed to the backend, for
+//       # it to decide whether the subsequent cross-origin request is
+//       # allowed to proceed.
+//     - name: library-example.googleapis.com
+//       apis: google.example.library.v1.Library
+//       allow_cors: true
+//       # Below entry makes 'google.example.library.v1.Library'
+//       # API be served from endpoint address
+//       # google.example.library-example.v1.LibraryManager.
+//     - name: library-manager.googleapis.com
+//       apis: google.example.library.v1.LibraryManager
+//       # BNS address for a borg job. Can specify a task by appending
+//       # "/taskId" (e.g. "/0") to the job spec.
+//
+// Example OpenAPI extension for endpoint with allow_cors set to true:
+//
+//     {
+//       "swagger": "2.0",
+//       "info": {
+//         "description": "A simple..."
+//       },
+//       "host": "MY_PROJECT_ID.appspot.com",
+//       "x-google-endpoints": [{
+//         "name": "MY_PROJECT_ID.appspot.com",
+//         "allow_cors": "true"
+//       }]
+//     }
+type Endpoint struct {
+	// The canonical name of this endpoint.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// DEPRECATED: This field is no longer supported. Instead of using aliases,
+	// please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intented
+	// alias.
+	//
+	// Additional names that this endpoint will be hosted on.
+	Aliases []string `protobuf:"bytes,2,rep,name=aliases" json:"aliases,omitempty"`
+	// The list of APIs served by this endpoint.
+	Apis []string `protobuf:"bytes,3,rep,name=apis" json:"apis,omitempty"`
+	// The list of features enabled on this endpoint.
+	Features []string `protobuf:"bytes,4,rep,name=features" json:"features,omitempty"`
+	// Allowing
+	// [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
+	// cross-domain traffic, would allow the backends served from this endpoint to
+	// receive and respond to HTTP OPTIONS requests. The response will be used by
+	// the browser to determine whether the subsequent cross-origin request is
+	// allowed to proceed.
+	AllowCors bool `protobuf:"varint,5,opt,name=allow_cors,json=allowCors" json:"allow_cors,omitempty"`
+}
+
+func (m *Endpoint) Reset()                    { *m = Endpoint{} }
+func (m *Endpoint) String() string            { return proto.CompactTextString(m) }
+func (*Endpoint) ProtoMessage()               {}
+func (*Endpoint) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
+
+func init() {
+	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto", fileDescriptor8)
+}
+
+var fileDescriptor8 = []byte{
+	// 234 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0xc1, 0x4a, 0x03, 0x31,
+	0x10, 0x86, 0xd9, 0x76, 0xd5, 0xed, 0x80, 0x1e, 0x72, 0x0a, 0x05, 0xa1, 0x78, 0xea, 0x69, 0x73,
+	0xf0, 0x09, 0xac, 0xa8, 0xf4, 0xb6, 0xf4, 0x05, 0x64, 0x5c, 0xa7, 0x21, 0x90, 0xce, 0x2c, 0x49,
+	0xd4, 0x47, 0xf0, 0x3d, 0x7c, 0x52, 0xb3, 0x69, 0x57, 0xef, 0xbd, 0x84, 0x99, 0x2f, 0x3f, 0xff,
+	0xff, 0x0f, 0x3c, 0x5b, 0x11, 0xeb, 0xa9, 0xb5, 0xe2, 0x91, 0x6d, 0x2b, 0xc1, 0x1a, 0x4b, 0x3c,
+	0x04, 0x49, 0x62, 0x8e, 0x5f, 0x38, 0xb8, 0x68, 0xf2, 0x63, 0x22, 0x85, 0x4f, 0xd7, 0x53, 0x2f,
+	0xbc, 0x77, 0xd6, 0x10, 0xbf, 0x0f, 0xe2, 0x38, 0xb5, 0x45, 0xab, 0xe0, 0xe4, 0x93, 0x85, 0xcb,
+	0xed, 0xb9, 0x9e, 0xc8, 0x2c, 0x09, 0x93, 0x13, 0x8e, 0x47, 0xdb, 0xbb, 0xef, 0x0a, 0x9a, 0xa7,
+	0x53, 0x92, 0x52, 0x50, 0x33, 0x1e, 0x48, 0x57, 0xab, 0x6a, 0xbd, 0xd8, 0x95, 0x59, 0x69, 0xb8,
+	0x42, 0xef, 0x30, 0x52, 0xd4, 0xb3, 0xd5, 0x3c, 0xe3, 0x69, 0x1d, 0xd5, 0x63, 0x8c, 0x9e, 0x17,
+	0x5c, 0x66, 0xb5, 0x84, 0x66, 0x4f, 0x98, 0x3e, 0x42, 0x96, 0xd7, 0x85, 0xff, 0xed, 0xea, 0x16,
+	0x00, 0xbd, 0x97, 0xaf, 0xd7, 0x5e, 0x42, 0xd4, 0x17, 0x39, 0xa3, 0xd9, 0x2d, 0x0a, 0x79, 0xcc,
+	0x60, 0xb3, 0x86, 0x9b, 0x5e, 0x0e, 0xed, 0xff, 0x99, 0x9b, 0xeb, 0xa9, 0x58, 0x37, 0x56, 0xed,
+	0xaa, 0x9f, 0x59, 0xfd, 0xf2, 0xd0, 0x6d, 0xdf, 0x2e, 0x4b, 0xf5, 0xfb, 0xdf, 0x00, 0x00, 0x00,
+	0xff, 0xff, 0x2f, 0xf3, 0xbc, 0x78, 0x5b, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/api/serviceconfig/endpoint.proto b/googleapis/api/serviceconfig/endpoint.proto
new file mode 100644
index 00000000..05da2f89
--- /dev/null
+++ b/googleapis/api/serviceconfig/endpoint.proto
@@ -0,0 +1,89 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "EndpointProto";
+option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
+
+
+// `Endpoint` describes a network endpoint that serves a set of APIs.
+// A service may expose any number of endpoints, and all endpoints share the
+// same service configuration, such as quota configuration and monitoring
+// configuration.
+//
+// Example service configuration:
+//
+//     name: library-example.googleapis.com
+//     endpoints:
+//       # Below entry makes 'google.example.library.v1.Library'
+//       # API be served from endpoint address library-example.googleapis.com.
+//       # It also allows HTTP OPTIONS calls to be passed to the backend, for
+//       # it to decide whether the subsequent cross-origin request is
+//       # allowed to proceed.
+//     - name: library-example.googleapis.com
+//       apis: google.example.library.v1.Library
+//       allow_cors: true
+//       # Below entry makes 'google.example.library.v1.Library'
+//       # API be served from endpoint address
+//       # google.example.library-example.v1.LibraryManager.
+//     - name: library-manager.googleapis.com
+//       apis: google.example.library.v1.LibraryManager
+//       # BNS address for a borg job. Can specify a task by appending
+//       # "/taskId" (e.g. "/0") to the job spec.
+//
+// Example OpenAPI extension for endpoint with allow_cors set to true:
+//
+//     {
+//       "swagger": "2.0",
+//       "info": {
+//         "description": "A simple..."
+//       },
+//       "host": "MY_PROJECT_ID.appspot.com",
+//       "x-google-endpoints": [{
+//         "name": "MY_PROJECT_ID.appspot.com",
+//         "allow_cors": "true"
+//       }]
+//     }
+message Endpoint {
+  // The canonical name of this endpoint.
+  string name = 1;
+
+  // DEPRECATED: This field is no longer supported. Instead of using aliases,
+  // please specify multiple [google.api.Endpoint][google.api.Endpoint] for each of the intented
+  // alias.
+  //
+  // Additional names that this endpoint will be hosted on.
+  repeated string aliases = 2;
+
+  // The list of APIs served by this endpoint.
+  repeated string apis = 3;
+
+  // The list of features enabled on this endpoint.
+  repeated string features = 4;
+
+  // Allowing
+  // [CORS](https://en.wikipedia.org/wiki/Cross-origin_resource_sharing), aka
+  // cross-domain traffic, would allow the backends served from this endpoint to
+  // receive and respond to HTTP OPTIONS requests. The response will be used by
+  // the browser to determine whether the subsequent cross-origin request is
+  // allowed to proceed.
+  bool allow_cors = 5;
+}
diff --git a/googleapis/api/serviceconfig/http.pb.go b/googleapis/api/serviceconfig/http.pb.go
index e2419a1a..98325ec7 100644
--- a/googleapis/api/serviceconfig/http.pb.go
+++ b/googleapis/api/serviceconfig/http.pb.go
@@ -17,14 +17,16 @@ var _ = math.Inf
 // [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
 // to one or more HTTP REST API methods.
 type Http struct {
-	// A list of HTTP rules for configuring the HTTP REST API methods.
+	// A list of HTTP configuration rules that apply to individual API methods.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*HttpRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
 }
 
 func (m *Http) Reset()                    { *m = Http{} }
 func (m *Http) String() string            { return proto.CompactTextString(m) }
 func (*Http) ProtoMessage()               {}
-func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
+func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
 
 func (m *Http) GetRules() []*HttpRule {
 	if m != nil {
@@ -253,7 +255,8 @@ type HttpRule struct {
 	Pattern isHttpRule_Pattern `protobuf_oneof:"pattern"`
 	// The name of the request field whose value is mapped to the HTTP body, or
 	// `*` for mapping all fields not captured by the path pattern to the HTTP
-	// body. NOTE: the referred field must not be a repeated field.
+	// body. NOTE: the referred field must not be a repeated field and must be
+	// present at the top-level of response message type.
 	Body string `protobuf:"bytes,7,opt,name=body" json:"body,omitempty"`
 	// Additional HTTP bindings for the selector. Nested bindings must
 	// not contain an `additional_bindings` field themselves (that is,
@@ -264,7 +267,7 @@ type HttpRule struct {
 func (m *HttpRule) Reset()                    { *m = HttpRule{} }
 func (m *HttpRule) String() string            { return proto.CompactTextString(m) }
 func (*HttpRule) ProtoMessage()               {}
-func (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{1} }
+func (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{1} }
 
 type isHttpRule_Pattern interface {
 	isHttpRule_Pattern()
@@ -493,7 +496,7 @@ type CustomHttpPattern struct {
 func (m *CustomHttpPattern) Reset()                    { *m = CustomHttpPattern{} }
 func (m *CustomHttpPattern) String() string            { return proto.CompactTextString(m) }
 func (*CustomHttpPattern) ProtoMessage()               {}
-func (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{2} }
+func (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
 
 func init() {
 	proto.RegisterType((*Http)(nil), "google.api.Http")
@@ -502,31 +505,31 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/http.proto", fileDescriptor8)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/http.proto", fileDescriptor9)
 }
 
-var fileDescriptor8 = []byte{
-	// 342 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x6a, 0xe3, 0x30,
-	0x10, 0x86, 0xd7, 0x89, 0xe3, 0x24, 0x13, 0x58, 0x58, 0x6d, 0x28, 0xa2, 0x50, 0x30, 0x39, 0x85,
-	0x1e, 0x6c, 0x48, 0x0f, 0x3d, 0xf4, 0xe6, 0x52, 0xc8, 0x31, 0xf8, 0x05, 0x8a, 0x62, 0xab, 0x8a,
-	0xa8, 0x22, 0x09, 0x6b, 0x5c, 0xe8, 0x83, 0xf5, 0xdd, 0x7a, 0x2c, 0x92, 0x95, 0x26, 0x50, 0xe8,
-	0x6d, 0xfe, 0x6f, 0x7e, 0xcd, 0x68, 0x66, 0xa0, 0x12, 0xc6, 0x08, 0xc5, 0x0b, 0x61, 0x14, 0xd3,
-	0xa2, 0x30, 0x9d, 0x28, 0x05, 0xd7, 0xb6, 0x33, 0x68, 0xca, 0x21, 0xc5, 0xac, 0x74, 0x25, 0xb3,
-	0xb2, 0x74, 0xbc, 0x7b, 0x93, 0x0d, 0x6f, 0x8c, 0x7e, 0x91, 0xa2, 0x3c, 0x20, 0xda, 0x22, 0xf8,
-	0x08, 0xc4, 0x1a, 0xcc, 0xca, 0xd5, 0x06, 0xd2, 0x2d, 0xa2, 0x25, 0xb7, 0x30, 0xe9, 0x7a, 0xc5,
-	0x1d, 0x4d, 0xf2, 0xf1, 0x7a, 0xb1, 0x59, 0x16, 0x67, 0x4f, 0xe1, 0x0d, 0x75, 0xaf, 0x78, 0x3d,
-	0x58, 0x56, 0x1f, 0x23, 0x98, 0x9d, 0x18, 0xb9, 0x86, 0x99, 0xe3, 0x8a, 0x37, 0x68, 0x3a, 0x9a,
-	0xe4, 0xc9, 0x7a, 0x5e, 0x7f, 0x6b, 0x42, 0x60, 0x2c, 0x38, 0xd2, 0x91, 0xc7, 0xdb, 0x3f, 0xb5,
-	0x17, 0x9e, 0xd9, 0x1e, 0xe9, 0xf8, 0xc4, 0x6c, 0x8f, 0x64, 0x09, 0xa9, 0x35, 0x0e, 0x69, 0x1a,
-	0x61, 0x50, 0x84, 0x42, 0xd6, 0x72, 0xc5, 0x91, 0xd3, 0x49, 0xe4, 0x51, 0x93, 0x2b, 0x98, 0x58,
-	0x86, 0xcd, 0x81, 0x66, 0x31, 0x31, 0x48, 0x72, 0x0f, 0x59, 0xd3, 0x3b, 0x34, 0x47, 0x3a, 0xcb,
-	0x93, 0xf5, 0x62, 0x73, 0x73, 0x39, 0xc5, 0x63, 0xc8, 0xf8, 0x7f, 0xef, 0x18, 0x22, 0xef, 0xb4,
-	0x2f, 0x38, 0xd8, 0x09, 0x81, 0x74, 0x6f, 0xda, 0x77, 0x3a, 0x0d, 0x03, 0x84, 0x98, 0x3c, 0xc1,
-	0x7f, 0xd6, 0xb6, 0x12, 0xa5, 0xd1, 0x4c, 0x3d, 0xef, 0xa5, 0x6e, 0xa5, 0x16, 0x8e, 0x2e, 0x7e,
-	0xd9, 0x0f, 0x39, 0x3f, 0xa8, 0xa2, 0xbf, 0x9a, 0xc3, 0xd4, 0x0e, 0xfd, 0x56, 0x0f, 0xf0, 0xef,
-	0xc7, 0x27, 0x7c, 0xeb, 0x57, 0xa9, 0xdb, 0xb8, 0xbb, 0x10, 0x7b, 0x66, 0x19, 0x1e, 0x86, 0xc5,
-	0xd5, 0x21, 0xae, 0x72, 0xf8, 0xdb, 0x98, 0xe3, 0x45, 0xdb, 0x6a, 0x1e, 0xca, 0xf8, 0x8b, 0xee,
-	0x92, 0xcf, 0x24, 0xd9, 0x67, 0xe1, 0xba, 0x77, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc7, 0xf3,
-	0xbc, 0x0d, 0x23, 0x02, 0x00, 0x00,
+var fileDescriptor9 = []byte{
+	// 348 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x51, 0xcd, 0x4a, 0x2b, 0x31,
+	0x14, 0xbe, 0xd3, 0x4e, 0xa7, 0xed, 0x29, 0x5c, 0xb8, 0xb9, 0x45, 0x82, 0x20, 0x48, 0x37, 0x16,
+	0x17, 0x33, 0x50, 0x17, 0x2e, 0x5c, 0x39, 0x22, 0xd6, 0x5d, 0x99, 0x17, 0x90, 0xe9, 0x4c, 0x4c,
+	0x83, 0xd3, 0x24, 0x4c, 0x4e, 0x05, 0x5f, 0xc7, 0x77, 0xf0, 0xdd, 0x5c, 0x9a, 0x64, 0x52, 0x5b,
+	0x10, 0xdc, 0x84, 0xf3, 0xfd, 0x9c, 0x9f, 0x9c, 0x03, 0x39, 0x57, 0x8a, 0x37, 0x2c, 0xe5, 0xaa,
+	0x29, 0x25, 0x4f, 0x55, 0xcb, 0x33, 0xce, 0xa4, 0x6e, 0x15, 0xaa, 0xac, 0x93, 0x4a, 0x2d, 0x4c,
+	0x66, 0x9f, 0xcc, 0xb0, 0xf6, 0x55, 0x54, 0xac, 0x52, 0xf2, 0x59, 0xf0, 0x6c, 0x83, 0xa8, 0x53,
+	0xef, 0x23, 0x10, 0x6a, 0x58, 0xd3, 0x6c, 0x01, 0xf1, 0xd2, 0x2a, 0xe4, 0x12, 0x06, 0xed, 0xae,
+	0x61, 0x86, 0x46, 0xe7, 0xfd, 0xf9, 0x64, 0x31, 0x4d, 0x0f, 0x9e, 0xd4, 0x19, 0x0a, 0x2b, 0x16,
+	0x9d, 0x65, 0xf6, 0xd1, 0x83, 0xd1, 0x9e, 0x23, 0xa7, 0x30, 0x32, 0xac, 0x61, 0x15, 0xaa, 0xd6,
+	0xe6, 0x46, 0xf3, 0x71, 0xf1, 0x8d, 0x09, 0x81, 0x3e, 0x67, 0x48, 0x7b, 0x8e, 0x5e, 0xfe, 0x29,
+	0x1c, 0x70, 0x9c, 0xde, 0x21, 0xed, 0xef, 0x39, 0x0b, 0xc8, 0x14, 0x62, 0xad, 0x0c, 0xd2, 0x38,
+	0x90, 0x1e, 0x11, 0x0a, 0x49, 0x6d, 0x2b, 0x21, 0xa3, 0x83, 0xc0, 0x07, 0x4c, 0x4e, 0x60, 0xa0,
+	0x4b, 0xac, 0x36, 0x34, 0x09, 0x42, 0x07, 0xc9, 0x35, 0x24, 0xd5, 0xce, 0xa0, 0xda, 0xd2, 0x91,
+	0x15, 0x26, 0x8b, 0xb3, 0xe3, 0x5f, 0xdc, 0x79, 0xc5, 0xcd, 0xbd, 0x2a, 0x11, 0x59, 0x2b, 0x5d,
+	0xc1, 0xce, 0x6e, 0x87, 0x8a, 0xd7, 0xaa, 0x7e, 0xa3, 0x43, 0xff, 0x01, 0x1f, 0x93, 0x7b, 0xf8,
+	0x5f, 0xd6, 0xb5, 0x40, 0xa1, 0x64, 0xd9, 0x3c, 0xad, 0x85, 0xac, 0x85, 0xe4, 0x86, 0x4e, 0x7e,
+	0xd9, 0x0f, 0x39, 0x24, 0xe4, 0xc1, 0x9f, 0x8f, 0x61, 0xa8, 0xbb, 0x7e, 0xb3, 0x1b, 0xf8, 0xf7,
+	0x63, 0x08, 0xd7, 0xfa, 0xc5, 0x7a, 0xc3, 0xee, 0x7c, 0xec, 0x38, 0x9b, 0xb3, 0xe9, 0x16, 0x57,
+	0xf8, 0x38, 0xbf, 0x80, 0xbf, 0x95, 0xda, 0x1e, 0xb5, 0xcd, 0xc7, 0xbe, 0x8c, 0xbb, 0xe8, 0x2a,
+	0xfa, 0x8c, 0xa2, 0xf7, 0x5e, 0xfc, 0x70, 0xbb, 0x7a, 0x5c, 0x27, 0xfe, 0xc8, 0x57, 0x5f, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x32, 0x48, 0x5c, 0x87, 0x2a, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/http.proto b/googleapis/api/serviceconfig/http.proto
index 67173ab6..ad9406d2 100644
--- a/googleapis/api/serviceconfig/http.proto
+++ b/googleapis/api/serviceconfig/http.proto
@@ -20,13 +20,16 @@ option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "HttpProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Defines the HTTP configuration for a service. It contains a list of
 // [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC method
 // to one or more HTTP REST API methods.
 message Http {
-  // A list of HTTP rules for configuring the HTTP REST API methods.
+  // A list of HTTP configuration rules that apply to individual API methods.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated HttpRule rules = 1;
 }
 
@@ -262,7 +265,8 @@ message HttpRule {
 
   // The name of the request field whose value is mapped to the HTTP body, or
   // `*` for mapping all fields not captured by the path pattern to the HTTP
-  // body. NOTE: the referred field must not be a repeated field.
+  // body. NOTE: the referred field must not be a repeated field and must be
+  // present at the top-level of response message type.
   string body = 7;
 
   // Additional HTTP bindings for the selector. Nested bindings must
diff --git a/googleapis/api/serviceconfig/log.pb.go b/googleapis/api/serviceconfig/log.pb.go
index 972af6b7..a1c41ee6 100644
--- a/googleapis/api/serviceconfig/log.pb.go
+++ b/googleapis/api/serviceconfig/log.pb.go
@@ -61,20 +61,20 @@ func init() {
 }
 
 var fileDescriptor10 = []byte{
-	// 225 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x41, 0x4b, 0x03, 0x31,
-	0x10, 0x85, 0x59, 0x5b, 0x8a, 0x4e, 0xd5, 0x43, 0x4e, 0x8b, 0x7a, 0x58, 0x3d, 0xf5, 0x94, 0x80,
-	0x3d, 0x7a, 0xb2, 0x78, 0x5c, 0xa4, 0xf4, 0x0f, 0xc8, 0x74, 0x3b, 0x0e, 0x03, 0xd9, 0x4c, 0x48,
-	0x8a, 0xe0, 0x8f, 0xf1, 0xbf, 0x4a, 0xb3, 0x0b, 0xdd, 0x63, 0x2f, 0x21, 0xbc, 0xf7, 0xe6, 0x7b,
-	0x33, 0xf0, 0xce, 0xaa, 0xec, 0xc9, 0xb2, 0x7a, 0x0c, 0x6c, 0x35, 0xb1, 0x63, 0x0a, 0x31, 0xe9,
-	0x51, 0xdd, 0x60, 0x61, 0x94, 0xec, 0x30, 0x8a, 0xcb, 0x94, 0x7e, 0xa4, 0xa3, 0x4e, 0xc3, 0xb7,
-	0xb0, 0xf3, 0xca, 0xb6, 0xc4, 0x0c, 0x8c, 0x08, 0x8c, 0xf2, 0xf0, 0x76, 0x39, 0xce, 0xe3, 0x9e,
-	0xfc, 0xf0, 0x0e, 0xa0, 0x97, 0xbf, 0x0a, 0xee, 0x5a, 0xe5, 0x0f, 0xca, 0x5d, 0x92, 0x78, 0xd4,
-	0x64, 0x0c, 0xcc, 0x03, 0xf6, 0x54, 0x57, 0x4d, 0xb5, 0xba, 0xd9, 0x95, 0xbf, 0x59, 0xc3, 0xa2,
-	0x0c, 0xe5, 0xfa, 0xaa, 0x99, 0xad, 0x96, 0xaf, 0x8f, 0xf6, 0xdc, 0x6f, 0xdb, 0x93, 0x73, 0x06,
-	0xec, 0xc6, 0xa8, 0x69, 0x60, 0x79, 0x18, 0x55, 0xd1, 0x50, 0xcf, 0x0a, 0x6f, 0x2a, 0x99, 0x67,
-	0xb8, 0x3d, 0x48, 0x8e, 0x1e, 0x7f, 0xbf, 0x4a, 0xe5, 0x7c, 0x8c, 0x0c, 0xda, 0x27, 0xf6, 0xb4,
-	0x79, 0x82, 0xfb, 0x4e, 0xfb, 0x49, 0xdd, 0xe6, 0xba, 0x55, 0xde, 0x9e, 0x76, 0xdf, 0x56, 0xfb,
-	0x45, 0x39, 0x62, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xac, 0x9c, 0x30, 0x28, 0x52, 0x01, 0x00,
-	0x00,
+	// 233 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4c, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x03, 0x09,
+	0xfd, 0xe2, 0xd4, 0xa2, 0xb2, 0xcc, 0xe4, 0xd4, 0xe4, 0xfc, 0xbc, 0xb4, 0xcc, 0x74, 0xfd, 0x9c,
+	0xfc, 0x74, 0x3d, 0xb0, 0x32, 0x21, 0x2e, 0xa8, 0x11, 0x40, 0x35, 0x52, 0xd6, 0xc4, 0x1b, 0x97,
+	0x93, 0x98, 0x94, 0x9a, 0x03, 0x21, 0x21, 0x06, 0x29, 0xcd, 0x65, 0xe4, 0xe2, 0xf5, 0xc9, 0x4f,
+	0x77, 0x49, 0x2d, 0x4e, 0x2e, 0xca, 0x2c, 0x28, 0xc9, 0x2f, 0x12, 0x12, 0xe2, 0x62, 0xc9, 0x4b,
+	0xcc, 0x4d, 0x95, 0x60, 0x54, 0x60, 0xd4, 0xe0, 0x0c, 0x02, 0xb3, 0x85, 0x8c, 0xb9, 0xd8, 0xc0,
+	0x9a, 0x8a, 0x25, 0x98, 0x14, 0x98, 0x35, 0xb8, 0x8d, 0xa4, 0xf5, 0x10, 0xf6, 0xeb, 0xf9, 0x80,
+	0x64, 0x10, 0x06, 0x04, 0x41, 0x95, 0x0a, 0x29, 0x70, 0x71, 0xa7, 0x40, 0x45, 0x33, 0xf3, 0xf3,
+	0x24, 0x98, 0xc1, 0xe6, 0x21, 0x0b, 0x09, 0x29, 0x72, 0xf1, 0xa4, 0x64, 0x16, 0x17, 0xe4, 0x24,
+	0x56, 0xc6, 0x83, 0xad, 0x64, 0x81, 0x2a, 0x81, 0x88, 0xf9, 0x01, 0x85, 0x9c, 0x94, 0xb9, 0xf8,
+	0x92, 0xf3, 0x73, 0x91, 0xac, 0x73, 0xe2, 0x00, 0x3a, 0x37, 0x00, 0xe4, 0xf6, 0x00, 0xc6, 0x45,
+	0x4c, 0x2c, 0xee, 0x8e, 0x01, 0x9e, 0x49, 0x6c, 0x60, 0xbf, 0x18, 0x03, 0x02, 0x00, 0x00, 0xff,
+	0xff, 0x32, 0x96, 0x08, 0x72, 0x59, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/log.proto b/googleapis/api/serviceconfig/log.proto
index 022d4eee..e258b8a0 100644
--- a/googleapis/api/serviceconfig/log.proto
+++ b/googleapis/api/serviceconfig/log.proto
@@ -21,6 +21,7 @@ import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from go
 option java_multiple_files = true;
 option java_outer_classname = "LogProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // A description of a log type. Example in YAML format:
diff --git a/googleapis/api/serviceconfig/logging.pb.go b/googleapis/api/serviceconfig/logging.pb.go
index 0c2f192d..03de3968 100644
--- a/googleapis/api/serviceconfig/logging.pb.go
+++ b/googleapis/api/serviceconfig/logging.pb.go
@@ -44,7 +44,6 @@ var _ = math.Inf
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
 //         - library.googleapis.com/activity_history
-//
 type Logging struct {
 	// Logging configurations for sending logs to the producer project.
 	// There can be multiple producer destinations, each one must have a
@@ -61,7 +60,7 @@ type Logging struct {
 func (m *Logging) Reset()                    { *m = Logging{} }
 func (m *Logging) String() string            { return proto.CompactTextString(m) }
 func (*Logging) ProtoMessage()               {}
-func (*Logging) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
+func (*Logging) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
 
 func (m *Logging) GetProducerDestinations() []*Logging_LoggingDestination {
 	if m != nil {
@@ -91,7 +90,7 @@ type Logging_LoggingDestination struct {
 func (m *Logging_LoggingDestination) Reset()                    { *m = Logging_LoggingDestination{} }
 func (m *Logging_LoggingDestination) String() string            { return proto.CompactTextString(m) }
 func (*Logging_LoggingDestination) ProtoMessage()               {}
-func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0, 0} }
+func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0, 0} }
 
 func init() {
 	proto.RegisterType((*Logging)(nil), "google.api.Logging")
@@ -99,25 +98,26 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto", fileDescriptor9)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto", fileDescriptor11)
 }
 
-var fileDescriptor9 = []byte{
-	// 254 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0xcf, 0x4a, 0x03, 0x31,
-	0x10, 0x87, 0xd9, 0x56, 0x94, 0x46, 0x11, 0x0c, 0x0a, 0xa5, 0xa7, 0xc5, 0x83, 0xf4, 0x62, 0x02,
-	0xfa, 0x06, 0x45, 0x0f, 0x82, 0x87, 0xb2, 0x17, 0x0f, 0x1e, 0x4a, 0xcc, 0xc6, 0x61, 0x60, 0x77,
-	0x26, 0x24, 0x59, 0x9f, 0xc6, 0x87, 0x95, 0x6e, 0x76, 0xed, 0xa2, 0x27, 0x3d, 0x25, 0xe4, 0xf7,
-	0xe5, 0x9b, 0x3f, 0xe2, 0x11, 0x98, 0xa1, 0x71, 0x0a, 0xb8, 0x31, 0x04, 0x8a, 0x03, 0x68, 0x70,
-	0xe4, 0x03, 0x27, 0xd6, 0x39, 0x32, 0x1e, 0xa3, 0x36, 0x1e, 0x75, 0x74, 0xe1, 0x03, 0xad, 0xb3,
-	0x4c, 0xef, 0x08, 0xba, 0x61, 0x00, 0x24, 0x50, 0x3d, 0x2a, 0xc5, 0xa0, 0x31, 0x1e, 0x57, 0x4f,
-	0xff, 0x55, 0x1a, 0x22, 0x4e, 0x26, 0x21, 0x53, 0xcc, 0xda, 0xeb, 0xcf, 0x99, 0x38, 0x79, 0xce,
-	0x85, 0xe4, 0xab, 0xb8, 0xf2, 0x81, 0xeb, 0xce, 0xba, 0xb0, 0xab, 0x5d, 0x4c, 0x48, 0x19, 0x5d,
-	0x16, 0xe5, 0x7c, 0x7d, 0x7a, 0x77, 0xa3, 0x0e, 0x2d, 0xa8, 0xe1, 0xcf, 0x78, 0x3e, 0x1c, 0xf0,
-	0xea, 0x72, 0x94, 0x4c, 0x1e, 0xe3, 0x5e, 0x6e, 0x99, 0x62, 0xd7, 0xfe, 0x94, 0xcf, 0xfe, 0x26,
-	0x1f, 0x25, 0x53, 0xf9, 0xea, 0x45, 0xc8, 0xdf, 0xac, 0xbc, 0x15, 0xb2, 0x65, 0xc2, 0xc4, 0xc1,
-	0xd5, 0xbb, 0xe0, 0x22, 0x77, 0xc1, 0xba, 0xe5, 0xbc, 0x2c, 0xd6, 0x8b, 0xea, 0xe2, 0x3b, 0xa9,
-	0x86, 0x40, 0x4a, 0x71, 0xd4, 0x30, 0xe4, 0x69, 0x17, 0x55, 0x7f, 0xdf, 0x94, 0xe2, 0xdc, 0x72,
-	0x3b, 0xe9, 0x6d, 0x73, 0x36, 0x14, 0xda, 0xee, 0xd7, 0xb7, 0x2d, 0xde, 0x8e, 0xfb, 0x3d, 0xde,
-	0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x54, 0xda, 0x29, 0xe7, 0x01, 0x00, 0x00,
+var fileDescriptor11 = []byte{
+	// 264 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0xc1, 0x4a, 0xc4, 0x30,
+	0x10, 0x86, 0x69, 0x77, 0x51, 0x36, 0x8a, 0x60, 0x50, 0x58, 0xf6, 0xb4, 0x78, 0xd0, 0xbd, 0xd8,
+	0x80, 0x3e, 0x81, 0x8b, 0x22, 0x0b, 0x1e, 0x4a, 0x2f, 0x1e, 0x3c, 0x2c, 0x35, 0x1d, 0x87, 0x40,
+	0x9b, 0x59, 0x92, 0xd4, 0xa7, 0xf1, 0xe4, 0x93, 0x9a, 0x6d, 0x52, 0x5b, 0xf4, 0xa4, 0x97, 0x24,
+	0xcc, 0xfc, 0xf3, 0xcd, 0x9f, 0x9f, 0x3d, 0x20, 0x11, 0xd6, 0x90, 0x21, 0xd5, 0xa5, 0xc6, 0x8c,
+	0x0c, 0x0a, 0x04, 0xbd, 0x33, 0xe4, 0x48, 0x84, 0x56, 0xb9, 0x53, 0x56, 0xf8, 0x43, 0x58, 0x30,
+	0xef, 0x4a, 0x82, 0x24, 0xfd, 0xa6, 0x50, 0xd4, 0x84, 0xa8, 0xfc, 0x44, 0x27, 0xe5, 0x2c, 0x62,
+	0xbc, 0x6e, 0xb1, 0xf9, 0x2f, 0xb2, 0xd4, 0x9a, 0x5c, 0xe9, 0x14, 0x69, 0x1b, 0xb0, 0x17, 0x1f,
+	0x29, 0x3b, 0x7c, 0x0a, 0x8b, 0xf8, 0x0b, 0x3b, 0xf7, 0xc5, 0xaa, 0x95, 0x60, 0xb6, 0x15, 0x58,
+	0xa7, 0x74, 0x90, 0xce, 0x93, 0xe5, 0x64, 0x75, 0x74, 0x73, 0x99, 0x0d, 0x16, 0xb2, 0x38, 0xd3,
+	0xdf, 0xf7, 0x83, 0xbc, 0x38, 0xeb, 0x21, 0xa3, 0xa2, 0xdd, 0xc3, 0xbd, 0x09, 0xdb, 0x36, 0x3f,
+	0xe1, 0xe9, 0xdf, 0xe0, 0x3d, 0x64, 0x0c, 0x5f, 0x3c, 0x33, 0xfe, 0x5b, 0xcb, 0xaf, 0x19, 0x6f,
+	0x48, 0x2b, 0x47, 0x06, 0xaa, 0xad, 0x01, 0x4b, 0xad, 0x91, 0x30, 0x9f, 0x2c, 0x93, 0xd5, 0xac,
+	0x38, 0xfd, 0xee, 0x14, 0xb1, 0xc1, 0x39, 0x9b, 0xfa, 0xc8, 0xc3, 0x6f, 0x67, 0x45, 0xf7, 0x5e,
+	0x5f, 0xb1, 0x13, 0x49, 0xcd, 0xc8, 0xdb, 0xfa, 0x38, 0x2e, 0xca, 0xf7, 0xf1, 0xe5, 0xc9, 0x67,
+	0x3a, 0x7d, 0xbc, 0xcb, 0x37, 0xaf, 0x07, 0x5d, 0x9c, 0xb7, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0x48, 0x22, 0x03, 0x10, 0xee, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/logging.proto b/googleapis/api/serviceconfig/logging.proto
index d6118fdb..d37ddbb6 100644
--- a/googleapis/api/serviceconfig/logging.proto
+++ b/googleapis/api/serviceconfig/logging.proto
@@ -21,6 +21,7 @@ import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.prot
 option java_multiple_files = true;
 option java_outer_classname = "LoggingProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Logging configuration of the service.
@@ -54,7 +55,6 @@ option java_package = "com.google.api";
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
 //         - library.googleapis.com/activity_history
-//
 message Logging {
   // Configuration of a specific logging destination (the producer project
   // or the consumer project).
diff --git a/googleapis/api/serviceconfig/monitoring.pb.go b/googleapis/api/serviceconfig/monitoring.pb.go
index b5dd386a..8defab33 100644
--- a/googleapis/api/serviceconfig/monitoring.pb.go
+++ b/googleapis/api/serviceconfig/monitoring.pb.go
@@ -50,7 +50,6 @@ var _ = math.Inf
 //         metrics:
 //         - library.googleapis.com/book/returned_count
 //         - library.googleapis.com/book/overdue_count
-//
 type Monitoring struct {
 	// Monitoring configurations for sending metrics to the producer project.
 	// There can be multiple producer destinations, each one must have a
@@ -67,7 +66,7 @@ type Monitoring struct {
 func (m *Monitoring) Reset()                    { *m = Monitoring{} }
 func (m *Monitoring) String() string            { return proto.CompactTextString(m) }
 func (*Monitoring) ProtoMessage()               {}
-func (*Monitoring) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
+func (*Monitoring) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
 
 func (m *Monitoring) GetProducerDestinations() []*Monitoring_MonitoringDestination {
 	if m != nil {
@@ -98,7 +97,7 @@ func (m *Monitoring_MonitoringDestination) Reset()         { *m = Monitoring_Mon
 func (m *Monitoring_MonitoringDestination) String() string { return proto.CompactTextString(m) }
 func (*Monitoring_MonitoringDestination) ProtoMessage()    {}
 func (*Monitoring_MonitoringDestination) Descriptor() ([]byte, []int) {
-	return fileDescriptor11, []int{0, 0}
+	return fileDescriptor12, []int{0, 0}
 }
 
 func init() {
@@ -107,25 +106,26 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto", fileDescriptor11)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto", fileDescriptor12)
 }
 
-var fileDescriptor11 = []byte{
-	// 255 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0x41, 0x4b, 0xc3, 0x40,
-	0x10, 0x85, 0x49, 0x05, 0xa5, 0x2b, 0x28, 0x2e, 0x16, 0x4a, 0x4f, 0x45, 0x2f, 0x3d, 0xe8, 0x2e,
-	0xe8, 0x3f, 0x28, 0x1e, 0xf4, 0x20, 0x94, 0xfc, 0x81, 0xba, 0x6e, 0xc6, 0x65, 0xa0, 0x99, 0x59,
-	0x66, 0x37, 0xfe, 0x32, 0x7f, 0xa0, 0xb4, 0x49, 0x9a, 0x20, 0x9e, 0x7a, 0x4b, 0xf6, 0xbd, 0x79,
-	0xdf, 0xe3, 0xa9, 0xd7, 0xc0, 0x1c, 0x76, 0x60, 0x02, 0xef, 0x1c, 0x05, 0xc3, 0x12, 0x6c, 0x00,
-	0x8a, 0xc2, 0x99, 0x6d, 0x2b, 0xb9, 0x88, 0xc9, 0xba, 0x88, 0x36, 0x81, 0x7c, 0xa3, 0x07, 0xcf,
-	0xf4, 0x85, 0xc1, 0xd6, 0x4c, 0x98, 0x59, 0x90, 0x82, 0x39, 0xb8, 0xb5, 0xea, 0x92, 0x5c, 0xc4,
-	0xc5, 0xdb, 0xa9, 0xa9, 0x8e, 0x88, 0xb3, 0xcb, 0xc8, 0x94, 0xda, 0xd8, 0xbb, 0x9f, 0x89, 0x52,
-	0xef, 0x47, 0x96, 0x76, 0x6a, 0x16, 0x85, 0xab, 0xc6, 0x83, 0x6c, 0x2b, 0x48, 0x19, 0xa9, 0x75,
-	0xcf, 0x8b, 0xe5, 0xd9, 0xea, 0xf2, 0xe9, 0xc1, 0x0c, 0x2d, 0xcc, 0x70, 0x36, 0xfa, 0x7c, 0x19,
-	0x8e, 0xca, 0xdb, 0x3e, 0x6a, 0xf4, 0x98, 0xf6, 0x08, 0xcf, 0x94, 0x9a, 0xfa, 0x2f, 0x62, 0x72,
-	0x0a, 0xa2, 0x8f, 0x1a, 0x23, 0x16, 0x1f, 0x6a, 0xf6, 0xaf, 0x5d, 0x3f, 0x2a, 0xdd, 0x0d, 0x0b,
-	0xd5, 0x56, 0x20, 0x71, 0x23, 0x1e, 0xe6, 0xc5, 0xb2, 0x58, 0x4d, 0xcb, 0x9b, 0xa3, 0x52, 0x76,
-	0x82, 0x9e, 0xab, 0x8b, 0x1a, 0xb2, 0xa0, 0x6f, 0xcb, 0x4d, 0xcb, 0xfe, 0x77, 0x7d, 0xaf, 0xae,
-	0x3c, 0xd7, 0xa3, 0xaa, 0xeb, 0xeb, 0x81, 0xb8, 0xd9, 0x2f, 0xbb, 0x29, 0x3e, 0xcf, 0x0f, 0x13,
-	0x3f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x1e, 0xd7, 0x88, 0x05, 0x02, 0x00, 0x00,
+var fileDescriptor12 = []byte{
+	// 264 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0xd1, 0x4a, 0xc3, 0x30,
+	0x14, 0x86, 0x69, 0x15, 0x65, 0x47, 0x50, 0x0c, 0x0e, 0xc6, 0xae, 0xc4, 0xab, 0x21, 0xda, 0x80,
+	0x3e, 0x81, 0x43, 0xd0, 0x5d, 0x08, 0xa5, 0x2f, 0x30, 0x63, 0x7a, 0x0c, 0x81, 0x35, 0x67, 0x9c,
+	0xa4, 0x3e, 0x90, 0xcf, 0xe0, 0x03, 0x9a, 0xad, 0xed, 0x5a, 0xc4, 0xab, 0xde, 0x84, 0xe4, 0x9c,
+	0xff, 0xfc, 0xdf, 0x9f, 0x03, 0xaf, 0x86, 0xc8, 0x6c, 0x30, 0x33, 0xb4, 0x51, 0xce, 0x64, 0xc4,
+	0x46, 0x1a, 0x74, 0x5b, 0xa6, 0x40, 0xb2, 0x69, 0xa9, 0xad, 0xf5, 0x32, 0x1e, 0xd2, 0x23, 0x7f,
+	0x59, 0x8d, 0x9a, 0xdc, 0xa7, 0x35, 0xb2, 0x22, 0x67, 0x03, 0xb1, 0x8d, 0x43, 0x7b, 0xb5, 0x80,
+	0xd6, 0x29, 0x4a, 0xe7, 0xab, 0xb1, 0xae, 0xca, 0x39, 0x0a, 0x2a, 0x58, 0x72, 0xbe, 0xb1, 0xbd,
+	0xf9, 0x49, 0x01, 0xde, 0x0e, 0x2c, 0xa1, 0x60, 0x1a, 0xeb, 0x65, 0xad, 0x91, 0xd7, 0x25, 0xfa,
+	0x60, 0x5d, 0xa3, 0x9e, 0x25, 0xd7, 0x47, 0x8b, 0xb3, 0x87, 0xbb, 0xac, 0x4f, 0x91, 0xf5, 0x63,
+	0x83, 0xeb, 0x73, 0x3f, 0x54, 0x5c, 0x75, 0x56, 0x83, 0xa2, 0xdf, 0x21, 0x62, 0x1a, 0x5f, 0x57,
+	0x7f, 0x11, 0xe9, 0x18, 0x44, 0x67, 0x35, 0x44, 0xcc, 0xdf, 0x61, 0xfa, 0xaf, 0x5c, 0xdc, 0x83,
+	0x68, 0x17, 0x8b, 0xe5, 0x9a, 0xd1, 0x53, 0xcd, 0x1a, 0xe3, 0xdf, 0x92, 0xc5, 0xa4, 0xb8, 0x3c,
+	0x74, 0x8a, 0xb6, 0x21, 0x66, 0x70, 0x5a, 0x61, 0x60, 0xab, 0x9b, 0x70, 0x93, 0xa2, 0x7b, 0x2e,
+	0x6f, 0xe1, 0x5c, 0x53, 0x35, 0x88, 0xba, 0xbc, 0xe8, 0x89, 0xf9, 0x6e, 0xb3, 0x79, 0xf2, 0x9d,
+	0x1e, 0xbf, 0x3c, 0xe5, 0xab, 0x8f, 0x93, 0xfd, 0xa6, 0x1f, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff,
+	0x1a, 0x02, 0x76, 0xbb, 0x0c, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/monitoring.proto b/googleapis/api/serviceconfig/monitoring.proto
index bcb52fd3..d29cbe5a 100644
--- a/googleapis/api/serviceconfig/monitoring.proto
+++ b/googleapis/api/serviceconfig/monitoring.proto
@@ -21,6 +21,7 @@ import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.prot
 option java_multiple_files = true;
 option java_outer_classname = "MonitoringProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Monitoring configuration of the service.
@@ -60,7 +61,6 @@ option java_package = "com.google.api";
 //         metrics:
 //         - library.googleapis.com/book/returned_count
 //         - library.googleapis.com/book/overdue_count
-//
 message Monitoring {
   // Configuration of a specific monitoring destination (the producer project
   // or the consumer project).
diff --git a/googleapis/api/serviceconfig/service.pb.go b/googleapis/api/serviceconfig/service.pb.go
index ef689048..5ed55f20 100644
--- a/googleapis/api/serviceconfig/service.pb.go
+++ b/googleapis/api/serviceconfig/service.pb.go
@@ -91,8 +91,10 @@ type Service struct {
 	Context *Context `protobuf:"bytes,12,opt,name=context" json:"context,omitempty"`
 	// Configuration controlling usage of this service.
 	Usage *Usage `protobuf:"bytes,15,opt,name=usage" json:"usage,omitempty"`
-	// Configuration of per-consumer project properties.
-	ProjectProperties *ProjectProperties `protobuf:"bytes,17,opt,name=project_properties,json=projectProperties" json:"project_properties,omitempty"`
+	// Configuration for network endpoints.  If this is empty, then an endpoint
+	// with the same name as the service is automatically generated to service all
+	// defined APIs.
+	Endpoints []*Endpoint `protobuf:"bytes,18,rep,name=endpoints" json:"endpoints,omitempty"`
 	// Configuration for the service control plane.
 	Control *Control `protobuf:"bytes,21,opt,name=control" json:"control,omitempty"`
 	// Defines the logs used by this service.
@@ -101,10 +103,7 @@ type Service struct {
 	Metrics []*google_api2.MetricDescriptor `protobuf:"bytes,24,rep,name=metrics" json:"metrics,omitempty"`
 	// Defines the monitored resources used by this service. This is required
 	// by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
-	//
 	MonitoredResources []*google_api3.MonitoredResourceDescriptor `protobuf:"bytes,25,rep,name=monitored_resources,json=monitoredResources" json:"monitored_resources,omitempty"`
-	// Billing configuration of the service.
-	Billing *Billing `protobuf:"bytes,26,opt,name=billing" json:"billing,omitempty"`
 	// Logging configuration of the service.
 	Logging *Logging `protobuf:"bytes,27,opt,name=logging" json:"logging,omitempty"`
 	// Monitoring configuration of the service.
@@ -116,7 +115,7 @@ type Service struct {
 func (m *Service) Reset()                    { *m = Service{} }
 func (m *Service) String() string            { return proto.CompactTextString(m) }
 func (*Service) ProtoMessage()               {}
-func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
+func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
 
 func (m *Service) GetConfigVersion() *google_protobuf5.UInt32Value {
 	if m != nil {
@@ -188,9 +187,9 @@ func (m *Service) GetUsage() *Usage {
 	return nil
 }
 
-func (m *Service) GetProjectProperties() *ProjectProperties {
+func (m *Service) GetEndpoints() []*Endpoint {
 	if m != nil {
-		return m.ProjectProperties
+		return m.Endpoints
 	}
 	return nil
 }
@@ -223,13 +222,6 @@ func (m *Service) GetMonitoredResources() []*google_api3.MonitoredResourceDescri
 	return nil
 }
 
-func (m *Service) GetBilling() *Billing {
-	if m != nil {
-		return m.Billing
-	}
-	return nil
-}
-
 func (m *Service) GetLogging() *Logging {
 	if m != nil {
 		return m.Logging
@@ -256,59 +248,58 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/service.proto", fileDescriptor12)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/service.proto", fileDescriptor13)
 }
 
-var fileDescriptor12 = []byte{
-	// 799 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x96, 0x6f, 0x4f, 0xeb, 0x36,
-	0x14, 0xc6, 0x55, 0x6e, 0x7b, 0x19, 0xe6, 0xc2, 0xa8, 0xf9, 0x33, 0xd3, 0x81, 0xd4, 0x4d, 0x93,
-	0xa8, 0x34, 0x91, 0x48, 0x20, 0x21, 0x4d, 0xd3, 0x34, 0x51, 0x60, 0xa2, 0x1a, 0xdb, 0x2a, 0x33,
-	0xd0, 0xde, 0x55, 0x6e, 0x62, 0x82, 0xb7, 0xc4, 0xb6, 0x6c, 0x87, 0xad, 0x1f, 0x62, 0xdf, 0x79,
-	0x8a, 0xed, 0xb4, 0x69, 0xcb, 0x36, 0x96, 0xee, 0x05, 0x90, 0xf8, 0xfc, 0x9e, 0x27, 0xe7, 0xe4,
-	0xc4, 0xc7, 0x80, 0x9b, 0x44, 0x88, 0x24, 0xa5, 0x41, 0x22, 0x52, 0xc2, 0x93, 0x40, 0xa8, 0x24,
-	0x4c, 0x28, 0x97, 0x4a, 0x18, 0x11, 0xba, 0x10, 0x91, 0x4c, 0x87, 0x44, 0xb2, 0x50, 0x53, 0xf5,
-	0xc2, 0x22, 0x1a, 0x09, 0xfe, 0xc4, 0x92, 0xf2, 0x2e, 0xb0, 0x28, 0x04, 0xde, 0x86, 0x48, 0xd6,
-	0x19, 0xd4, 0xb5, 0x24, 0x9c, 0x0b, 0x43, 0x0c, 0x13, 0x5c, 0x3b, 0xdb, 0x4e, 0xbf, 0xb6, 0x55,
-	0x6e, 0x9e, 0xbd, 0x47, 0xed, 0x0a, 0xc7, 0x24, 0xfa, 0x8d, 0xf2, 0x78, 0x65, 0x1b, 0x96, 0xa6,
-	0x8c, 0x27, 0xde, 0xe6, 0xbb, 0xba, 0x36, 0x91, 0xe0, 0x3a, 0xcf, 0xa8, 0x5a, 0x35, 0x9d, 0x48,
-	0x70, 0x43, 0xff, 0x30, 0xff, 0x87, 0x8d, 0x12, 0xa9, 0xb7, 0xf9, 0xbe, 0xae, 0x4d, 0x2c, 0xa2,
-	0x3c, 0xa3, 0xdc, 0x75, 0x7d, 0xd5, 0xa6, 0x3f, 0x1b, 0x23, 0xbd, 0xc7, 0xd7, 0x6f, 0xf7, 0x48,
-	0xc9, 0x98, 0xa6, 0xee, 0xb7, 0x17, 0x5f, 0xd6, 0x4d, 0x20, 0x15, 0xc9, 0xaa, 0xef, 0x35, 0x15,
-	0x49, 0x32, 0xfb, 0x5a, 0xbe, 0x79, 0xbb, 0x4d, 0x46, 0x8d, 0x62, 0x91, 0xff, 0xe3, 0xe5, 0x3f,
-	0xfd, 0x07, 0xb9, 0xe0, 0xcc, 0x08, 0x45, 0x63, 0x45, 0xf5, 0xec, 0x66, 0xa4, 0xa8, 0x16, 0xb9,
-	0x2a, 0xb7, 0x79, 0xe7, 0xb6, 0x6e, 0x59, 0xde, 0x71, 0x56, 0xd9, 0x8f, 0xb5, 0xe7, 0xce, 0x44,
-	0x1b, 0x9a, 0x8d, 0x24, 0x51, 0x24, 0xa3, 0x66, 0xba, 0x1f, 0xae, 0xea, 0xfa, 0xe5, 0x9a, 0x24,
-	0x65, 0x79, 0x61, 0xc2, 0xcc, 0x73, 0x3e, 0x0e, 0x22, 0x91, 0x85, 0xce, 0x28, 0xb4, 0x81, 0x71,
-	0xfe, 0x14, 0x4a, 0x33, 0x91, 0x54, 0x87, 0x84, 0x4f, 0x8a, 0x1f, 0x2f, 0x38, 0xfd, 0x87, 0xa7,
-	0x4e, 0x95, 0x44, 0x32, 0x8f, 0x07, 0x6f, 0xc1, 0x8b, 0xe7, 0x78, 0xfe, 0xab, 0x7f, 0xcf, 0xe7,
-	0x77, 0x45, 0xa4, 0xa4, 0x6a, 0x76, 0xe1, 0xa4, 0x9f, 0xff, 0xb9, 0x01, 0xd6, 0xef, 0x5d, 0xa1,
-	0xf0, 0x0a, 0x6c, 0xbb, 0x62, 0x47, 0x2f, 0x54, 0x69, 0x26, 0x38, 0xda, 0xeb, 0x36, 0x7a, 0x9b,
-	0x67, 0x47, 0x65, 0x3e, 0xa5, 0x69, 0xf0, 0x30, 0xe0, 0xe6, 0xfc, 0xec, 0x91, 0xa4, 0x39, 0xc5,
-	0x5b, 0x4e, 0xf3, 0xe8, 0x24, 0x10, 0x82, 0x26, 0x27, 0x19, 0x45, 0x8d, 0x6e, 0xa3, 0xb7, 0x81,
-	0xed, 0x35, 0xdc, 0x06, 0x6b, 0x2c, 0x46, 0x9f, 0xd9, 0x95, 0x35, 0x16, 0xc3, 0x3d, 0xd0, 0x32,
-	0xcc, 0xa4, 0x14, 0xad, 0xd9, 0x25, 0x77, 0x03, 0x03, 0xb0, 0x2b, 0x95, 0x88, 0xf3, 0x88, 0xaa,
-	0x91, 0x54, 0xe2, 0x57, 0x1a, 0x99, 0x11, 0x8b, 0xd1, 0x81, 0x65, 0xda, 0x65, 0x68, 0xe8, 0x22,
-	0x83, 0x18, 0xf6, 0x40, 0xb3, 0xe8, 0x15, 0x7a, 0xd7, 0x7d, 0xd7, 0xdb, 0x3c, 0xdb, 0x5b, 0x4a,
-	0xf2, 0x52, 0x32, 0x6c, 0x09, 0xf8, 0x25, 0x68, 0xd9, 0xb7, 0x80, 0x9a, 0x16, 0xdd, 0x5f, 0x42,
-	0x7f, 0x9e, 0x48, 0x8a, 0x1d, 0x53, 0xc0, 0x94, 0xe7, 0x99, 0x46, 0xad, 0xbf, 0x81, 0x6f, 0x78,
-	0x9e, 0x61, 0xc7, 0xc0, 0x6f, 0xc1, 0xd6, 0xdc, 0x68, 0x42, 0xef, 0xed, 0x1b, 0x3b, 0x0c, 0x66,
-	0xe7, 0x5c, 0x70, 0x5d, 0x05, 0xf0, 0x3c, 0x0f, 0x4f, 0xc1, 0xba, 0x3f, 0x3f, 0xd0, 0x47, 0x56,
-	0xba, 0x5b, 0x95, 0xf6, 0x5d, 0x08, 0x97, 0x0c, 0xfc, 0x02, 0x34, 0x8b, 0xe9, 0x85, 0x36, 0x2c,
-	0xbb, 0x53, 0x65, 0x6f, 0x8d, 0x91, 0xd8, 0x46, 0x61, 0x1f, 0x6c, 0x17, 0x07, 0x1b, 0xe5, 0x86,
-	0x45, 0x2e, 0xad, 0x4d, 0xcb, 0x77, 0xaa, 0xfc, 0xe5, 0x1c, 0x81, 0x17, 0x14, 0x45, 0x62, 0xfe,
-	0x08, 0x40, 0x1f, 0x96, 0x13, 0xbb, 0x72, 0x21, 0x5c, 0x32, 0xf0, 0x04, 0xb4, 0xec, 0x0e, 0x41,
-	0x1f, 0x5b, 0xb8, 0x5d, 0x85, 0x1f, 0x8a, 0x00, 0x76, 0x71, 0x78, 0x07, 0x60, 0xd9, 0x5c, 0xa9,
-	0x84, 0xa4, 0xca, 0x30, 0xaa, 0x51, 0xdb, 0xaa, 0x8e, 0xab, 0x2a, 0xdf, 0xe8, 0xe1, 0x14, 0xb2,
-	0xdf, 0xc0, 0xfc, 0x52, 0x99, 0xa5, 0x12, 0x29, 0xda, 0x7f, 0x3d, 0x4b, 0x25, 0x52, 0x5c, 0x32,
-	0xf0, 0x14, 0x34, 0x53, 0x91, 0x68, 0xf4, 0x89, 0x6d, 0xed, 0x5c, 0x97, 0xee, 0x44, 0x72, 0x4d,
-	0x75, 0xa4, 0x98, 0x34, 0x42, 0x61, 0x8b, 0xc1, 0x0b, 0xb0, 0xee, 0xe6, 0xa4, 0x46, 0xc8, 0x2a,
-	0x8e, 0xaa, 0x8a, 0x1f, 0x6c, 0xa8, 0x22, 0x2a, 0x61, 0xf8, 0x0b, 0xd8, 0x5d, 0x1e, 0x8d, 0x1a,
-	0x1d, 0x5a, 0x8f, 0x93, 0x39, 0x8f, 0x12, 0xc3, 0x9e, 0xaa, 0xd8, 0xc1, 0x6c, 0x31, 0x68, 0xeb,
-	0xf5, 0xff, 0x27, 0xa0, 0xce, 0x2b, 0x9f, 0x8b, 0x0b, 0xe1, 0x92, 0x29, 0x70, 0x7f, 0x50, 0xa0,
-	0x4f, 0x97, 0xf1, 0x3b, 0x17, 0xc2, 0x25, 0x03, 0x2f, 0x00, 0x98, 0x0d, 0x60, 0x74, 0x64, 0x15,
-	0x07, 0xaf, 0xa4, 0x5b, 0x88, 0x2a, 0x24, 0x1c, 0x80, 0xf6, 0xe2, 0xb8, 0xd5, 0xe8, 0x78, 0x7e,
-	0x76, 0x14, 0xf2, 0x7b, 0x0b, 0x0d, 0xa7, 0x0c, 0xde, 0xd1, 0x0b, 0x2b, 0xfd, 0x6e, 0x31, 0x83,
-	0xb2, 0x8a, 0xa8, 0xff, 0xc1, 0x8f, 0xa7, 0x61, 0xb1, 0xff, 0x86, 0x8d, 0xf1, 0x7b, 0xbb, 0x11,
-	0xcf, 0xff, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x14, 0xa3, 0xaf, 0xd9, 0x92, 0x0a, 0x00, 0x00,
+var fileDescriptor13 = []byte{
+	// 772 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x95, 0x6b, 0x4f, 0xd4, 0x4c,
+	0x14, 0xc7, 0x03, 0x2c, 0xb7, 0xe1, 0xf2, 0xc0, 0x70, 0x79, 0x86, 0x15, 0x13, 0x34, 0x26, 0x90,
+	0x18, 0xda, 0x04, 0x12, 0x13, 0x63, 0x8c, 0xd9, 0x05, 0x94, 0x8d, 0xa8, 0x9b, 0x41, 0x88, 0xef,
+	0x36, 0xdd, 0xee, 0x50, 0xaa, 0xdd, 0x99, 0xa6, 0x9d, 0xa2, 0x7c, 0x1d, 0x3f, 0x8b, 0x1f, 0xcc,
+	0xd3, 0xb9, 0xb0, 0xed, 0x2e, 0x2a, 0x16, 0x5f, 0xec, 0xb6, 0x9d, 0xf3, 0xfb, 0xff, 0xe7, 0x9c,
+	0x99, 0xcc, 0x19, 0x74, 0x14, 0x08, 0x11, 0x44, 0xcc, 0x09, 0x44, 0xe4, 0xf1, 0xc0, 0x11, 0x49,
+	0xe0, 0x06, 0x8c, 0xc7, 0x89, 0x90, 0xc2, 0xd5, 0x21, 0x2f, 0x0e, 0x53, 0x17, 0xfe, 0xdc, 0x94,
+	0x25, 0x57, 0xa1, 0xcf, 0x7c, 0xc1, 0x2f, 0xc2, 0xc0, 0x7e, 0x39, 0x0a, 0xc5, 0xc8, 0xd8, 0x00,
+	0x57, 0x6f, 0x55, 0xb5, 0xf4, 0x38, 0x17, 0xd2, 0x93, 0xa1, 0xe0, 0xa9, 0xb6, 0xad, 0x37, 0x2b,
+	0x5b, 0x65, 0xf2, 0xd2, 0x78, 0x54, 0xae, 0xb0, 0xeb, 0xf9, 0x5f, 0x18, 0xef, 0xdd, 0xd7, 0x06,
+	0x1e, 0x92, 0x7d, 0x93, 0xff, 0xc2, 0x26, 0x11, 0x91, 0xb1, 0x79, 0x5b, 0xd5, 0xa6, 0x27, 0xfc,
+	0xac, 0xcf, 0xb8, 0x5e, 0x66, 0x63, 0xf6, 0xba, 0xaa, 0x19, 0xac, 0x4e, 0x2c, 0x42, 0x2e, 0xef,
+	0xbb, 0x5b, 0x97, 0x52, 0xc6, 0xc6, 0xe3, 0xc5, 0xdd, 0x3d, 0x22, 0xaf, 0xcb, 0x22, 0xfd, 0x6f,
+	0xc4, 0x8d, 0xaa, 0x09, 0x44, 0x22, 0xb8, 0xef, 0xfe, 0x80, 0x45, 0x10, 0x72, 0x6b, 0xf3, 0xf2,
+	0xee, 0x36, 0x7d, 0x26, 0x93, 0xd0, 0x37, 0x0f, 0x23, 0xff, 0xf0, 0x17, 0x72, 0xc1, 0x43, 0x29,
+	0x12, 0xd6, 0x4b, 0x58, 0x3a, 0xf8, 0xe8, 0xc0, 0x97, 0xc8, 0x12, 0x7b, 0x3e, 0xeb, 0xc7, 0x55,
+	0xcb, 0x32, 0x8e, 0x83, 0xca, 0xde, 0x57, 0x6e, 0x18, 0xd7, 0xa9, 0x64, 0xfd, 0x4e, 0xec, 0x25,
+	0x1e, 0xd4, 0xca, 0x12, 0xe3, 0x77, 0x50, 0xd5, 0x2f, 0x4b, 0xbd, 0xc0, 0x96, 0xe7, 0x06, 0xa1,
+	0xbc, 0xcc, 0xba, 0x8e, 0x2f, 0xfa, 0xae, 0x36, 0x72, 0x55, 0xa0, 0x9b, 0x5d, 0xb8, 0xb1, 0xbc,
+	0x8e, 0x61, 0x69, 0x3c, 0x7e, 0x9d, 0xff, 0x8c, 0x60, 0xf7, 0x37, 0xb3, 0xde, 0x28, 0x61, 0x4e,
+	0x83, 0x3b, 0x77, 0xc1, 0xf3, 0x79, 0x0c, 0xff, 0xfc, 0xcf, 0xf9, 0x7c, 0x4d, 0xbc, 0x38, 0x66,
+	0xc9, 0xe0, 0x45, 0x4b, 0x1f, 0xff, 0x98, 0x41, 0xd3, 0xa7, 0xba, 0x50, 0x7c, 0x80, 0x16, 0x75,
+	0xb1, 0x9d, 0x2b, 0x00, 0xe0, 0xc0, 0x92, 0xd5, 0xad, 0xb1, 0x9d, 0xb9, 0xbd, 0x4d, 0x9b, 0x8f,
+	0x35, 0x75, 0xce, 0x5a, 0x5c, 0xee, 0xef, 0x9d, 0x7b, 0x51, 0xc6, 0xe8, 0x82, 0xd6, 0x9c, 0x6b,
+	0x09, 0xc6, 0xa8, 0xc6, 0x61, 0xc5, 0xc9, 0x18, 0x48, 0x67, 0xa9, 0x7a, 0xc7, 0x8b, 0x68, 0x3c,
+	0xec, 0x91, 0x47, 0x6a, 0x04, 0xde, 0xf0, 0x2a, 0x9a, 0x94, 0xa1, 0x8c, 0x18, 0x19, 0x57, 0x43,
+	0xfa, 0x03, 0x3b, 0x68, 0x05, 0x26, 0xe8, 0x65, 0x3e, 0x4b, 0x3a, 0xf0, 0xf2, 0x99, 0xf9, 0xb2,
+	0x03, 0xb2, 0x75, 0xc5, 0x2c, 0xdb, 0x50, 0x5b, 0x47, 0x5a, 0x3d, 0xbc, 0x83, 0x6a, 0xf9, 0x5e,
+	0x91, 0x89, 0xad, 0x09, 0x48, 0x72, 0x75, 0x24, 0xc9, 0x46, 0x1c, 0x52, 0x45, 0xe0, 0xa7, 0x30,
+	0x5f, 0xbe, 0x0a, 0xa4, 0xa6, 0xd0, 0xb5, 0x11, 0xf4, 0x23, 0x44, 0xa9, 0x66, 0x72, 0x98, 0xf1,
+	0xac, 0x9f, 0x92, 0xc9, 0x5f, 0xc0, 0x47, 0x10, 0xa5, 0x9a, 0xc1, 0xaf, 0xd0, 0x42, 0xa9, 0xc5,
+	0x91, 0x29, 0xb5, 0x62, 0x1b, 0xce, 0xe0, 0x82, 0x72, 0x0e, 0x8b, 0x00, 0x2d, 0xf3, 0x78, 0x17,
+	0x4d, 0x9b, 0xc6, 0x4f, 0x66, 0x94, 0x74, 0xa5, 0x28, 0x6d, 0xea, 0x10, 0xb5, 0x0c, 0x7e, 0x82,
+	0x6a, 0x79, 0xf7, 0x22, 0xb3, 0x8a, 0x5d, 0x2a, 0xb2, 0xc7, 0x30, 0x4e, 0x55, 0x14, 0x37, 0xd1,
+	0x62, 0x7e, 0x23, 0xc1, 0x24, 0xa1, 0xaf, 0xd3, 0x9a, 0x53, 0x7c, 0xbd, 0xc8, 0x37, 0x4a, 0x04,
+	0x1d, 0x52, 0xe4, 0x89, 0x99, 0xab, 0x84, 0xcc, 0x8f, 0x26, 0x76, 0xa0, 0x43, 0xd4, 0x32, 0x78,
+	0x1b, 0x4d, 0xaa, 0x13, 0x42, 0xfe, 0x53, 0xf0, 0x72, 0x11, 0x3e, 0xcb, 0x03, 0x54, 0xc7, 0xf1,
+	0x1e, 0x9a, 0xb5, 0x7d, 0x3c, 0x25, 0xb8, 0xbc, 0x75, 0x39, 0x7c, 0x64, 0x82, 0x74, 0x80, 0xd9,
+	0x5c, 0xe0, 0x3e, 0x22, 0x6b, 0xb7, 0xe7, 0x02, 0x21, 0x6a, 0x19, 0xc0, 0x6b, 0xd0, 0x1e, 0x53,
+	0xf2, 0xbf, 0x72, 0x2f, 0xed, 0xc5, 0x89, 0x08, 0x0e, 0x59, 0xea, 0x27, 0x61, 0x0c, 0x5d, 0x86,
+	0x2a, 0x0c, 0x3f, 0x43, 0xd3, 0xba, 0x1b, 0xa6, 0x84, 0x28, 0xc5, 0x66, 0x51, 0xf1, 0x4e, 0x85,
+	0x0a, 0x22, 0x0b, 0xe3, 0x4f, 0x68, 0x65, 0xb4, 0x01, 0xa6, 0x64, 0x43, 0x79, 0x6c, 0x97, 0x3c,
+	0x2c, 0x46, 0x0d, 0x55, 0xb0, 0xc3, 0xfd, 0xe1, 0xa0, 0xaa, 0xd7, 0xf4, 0x77, 0xf2, 0x60, 0xb4,
+	0xde, 0x13, 0x1d, 0xa2, 0x96, 0x81, 0x02, 0xd0, 0xa0, 0x6f, 0x92, 0x4d, 0xa5, 0x58, 0xbf, 0x65,
+	0xfe, 0x5c, 0x54, 0x20, 0x71, 0x0b, 0x2d, 0x0f, 0x77, 0xc9, 0x94, 0x3c, 0x2c, 0x1f, 0xf9, 0x5c,
+	0x7e, 0xaa, 0xa0, 0xf6, 0x0d, 0x43, 0x97, 0xd2, 0xa1, 0x91, 0xe6, 0x76, 0xde, 0x3a, 0xfa, 0x05,
+	0x51, 0x73, 0xde, 0x74, 0x95, 0x76, 0x7e, 0x6c, 0xda, 0x63, 0xdf, 0xc7, 0x6b, 0x6f, 0x1a, 0xed,
+	0x56, 0x77, 0x4a, 0x1d, 0xa3, 0xfd, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xfc, 0x22, 0x08, 0x2f,
+	0x09, 0x0a, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/service.proto b/googleapis/api/serviceconfig/service.proto
index c0cd45fc..bbcd9f1c 100644
--- a/googleapis/api/serviceconfig/service.proto
+++ b/googleapis/api/serviceconfig/service.proto
@@ -19,11 +19,10 @@ package google.api;
 import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto"; // from google/api/auth.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto"; // from google/api/backend.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto"; // from google/api/billing.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto"; // from google/api/consumer.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/context.proto"; // from google/api/context.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/control.proto"; // from google/api/control.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto"; // from google/api/documentation.proto
+import "google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto"; // from google/api/endpoint.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/http.proto"; // from google/api/http.proto
 import "google.golang.org/genproto/googleapis/api/label/label.proto"; // from google/api/label.proto
 import "google.golang.org/genproto/googleapis/api/serviceconfig/log.proto"; // from google/api/log.proto
@@ -41,6 +40,7 @@ import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from goog
 option java_multiple_files = true;
 option java_outer_classname = "ServiceProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // `Service` is the root object of the configuration schema. It
@@ -128,8 +128,10 @@ message Service {
   // Configuration controlling usage of this service.
   Usage usage = 15;
 
-  // Configuration of per-consumer project properties.
-  ProjectProperties project_properties = 17;
+  // Configuration for network endpoints.  If this is empty, then an endpoint
+  // with the same name as the service is automatically generated to service all
+  // defined APIs.
+  repeated Endpoint endpoints = 18;
 
   // Configuration for the service control plane.
   Control control = 21;
@@ -142,12 +144,8 @@ message Service {
 
   // Defines the monitored resources used by this service. This is required
   // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations.
-  //
   repeated MonitoredResourceDescriptor monitored_resources = 25;
 
-  // Billing configuration of the service.
-  Billing billing = 26;
-
   // Logging configuration of the service.
   Logging logging = 27;
 
diff --git a/googleapis/api/serviceconfig/system_parameter.pb.go b/googleapis/api/serviceconfig/system_parameter.pb.go
index a040cdff..97705e6f 100644
--- a/googleapis/api/serviceconfig/system_parameter.pb.go
+++ b/googleapis/api/serviceconfig/system_parameter.pb.go
@@ -29,7 +29,7 @@ type SystemParameters struct {
 	//
 	// Example: define api key and alt name for all methods
 	//
-	// SystemParameters
+	// system_parameters
 	//   rules:
 	//     - selector: "*"
 	//       parameters:
@@ -40,7 +40,7 @@ type SystemParameters struct {
 	//
 	// Example: define 2 api key names for a specific method.
 	//
-	// SystemParameters
+	// system_parameters
 	//   rules:
 	//     - selector: "/ListShelves"
 	//       parameters:
@@ -48,13 +48,15 @@ type SystemParameters struct {
 	//           http_header: Api-Key1
 	//         - name: api_key
 	//           http_header: Api-Key2
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*SystemParameterRule `protobuf:"bytes,1,rep,name=rules" json:"rules,omitempty"`
 }
 
 func (m *SystemParameters) Reset()                    { *m = SystemParameters{} }
 func (m *SystemParameters) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameters) ProtoMessage()               {}
-func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
 
 func (m *SystemParameters) GetRules() []*SystemParameterRule {
 	if m != nil {
@@ -82,7 +84,7 @@ type SystemParameterRule struct {
 func (m *SystemParameterRule) Reset()                    { *m = SystemParameterRule{} }
 func (m *SystemParameterRule) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameterRule) ProtoMessage()               {}
-func (*SystemParameterRule) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{1} }
+func (*SystemParameterRule) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{1} }
 
 func (m *SystemParameterRule) GetParameters() []*SystemParameter {
 	if m != nil {
@@ -109,7 +111,7 @@ type SystemParameter struct {
 func (m *SystemParameter) Reset()                    { *m = SystemParameter{} }
 func (m *SystemParameter) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameter) ProtoMessage()               {}
-func (*SystemParameter) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{2} }
+func (*SystemParameter) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{2} }
 
 func init() {
 	proto.RegisterType((*SystemParameters)(nil), "google.api.SystemParameters")
@@ -118,26 +120,27 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto", fileDescriptor13)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto", fileDescriptor14)
 }
 
-var fileDescriptor13 = []byte{
-	// 270 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x90, 0x3f, 0x4f, 0xf3, 0x30,
-	0x10, 0xc6, 0x95, 0xf6, 0x7d, 0x11, 0x5c, 0x25, 0xfe, 0xb8, 0x0c, 0x11, 0x0c, 0xad, 0x32, 0x65,
-	0x72, 0x24, 0x10, 0x13, 0x5b, 0x27, 0x58, 0x50, 0x08, 0x1f, 0x20, 0x32, 0xe1, 0x70, 0x23, 0x39,
-	0xb6, 0x39, 0xdb, 0x95, 0xfa, 0xed, 0x51, 0xdc, 0x92, 0x56, 0x11, 0x62, 0xb3, 0xef, 0xf7, 0xb3,
-	0x9f, 0xd3, 0x03, 0x2f, 0xd2, 0x18, 0xa9, 0x90, 0x4b, 0xa3, 0x84, 0x96, 0xdc, 0x90, 0x2c, 0x24,
-	0x6a, 0x4b, 0xc6, 0x9b, 0x62, 0x87, 0x84, 0x6d, 0x5d, 0x21, 0x6c, 0x5b, 0x38, 0xa4, 0x4d, 0xdb,
-	0x60, 0x63, 0xf4, 0x67, 0x2b, 0x0b, 0xb7, 0x75, 0x1e, 0xbb, 0xda, 0x0a, 0x12, 0x1d, 0x7a, 0x24,
-	0x1e, 0xdf, 0x30, 0xd8, 0xff, 0x27, 0x6c, 0x9b, 0x3d, 0xc3, 0xe5, 0x5b, 0xb4, 0xca, 0x1f, 0xc9,
-	0xb1, 0x07, 0xf8, 0x4f, 0x41, 0xa1, 0x4b, 0x93, 0xe5, 0x34, 0x9f, 0xdd, 0x2d, 0xf8, 0xc1, 0xe7,
-	0x23, 0xb9, 0x0a, 0x0a, 0xab, 0x9d, 0x9d, 0x69, 0x98, 0xff, 0x42, 0xd9, 0x0d, 0x9c, 0x3a, 0x54,
-	0xd8, 0x78, 0x43, 0x69, 0xb2, 0x4c, 0xf2, 0xb3, 0x6a, 0xb8, 0xb3, 0x47, 0x80, 0x61, 0x39, 0x97,
-	0x4e, 0x62, 0xdc, 0xed, 0x5f, 0x71, 0x47, 0x7a, 0xb6, 0x81, 0x8b, 0x11, 0x66, 0x0c, 0xfe, 0x69,
-	0xd1, 0xe1, 0x3e, 0x27, 0x9e, 0xd9, 0x02, 0x66, 0x6b, 0xef, 0x6d, 0xbd, 0x46, 0xf1, 0x81, 0x94,
-	0x4e, 0x22, 0x82, 0x7e, 0xf4, 0x14, 0x27, 0x8c, 0xc3, 0x3c, 0x90, 0xaa, 0xbf, 0x02, 0xd2, 0xf6,
-	0xd0, 0x55, 0x3a, 0x8d, 0xe2, 0x55, 0x20, 0xf5, 0xda, 0x93, 0x21, 0x64, 0x95, 0xc3, 0x79, 0x63,
-	0xba, 0xa3, 0x2d, 0x57, 0xd7, 0xa3, 0x3d, 0xca, 0xbe, 0xe6, 0x32, 0x79, 0x3f, 0x89, 0x7d, 0xdf,
-	0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0xc6, 0x7c, 0x98, 0x54, 0xc1, 0x01, 0x00, 0x00,
+var fileDescriptor14 = []byte{
+	// 277 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x90, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0xc6, 0x95, 0xb6, 0x20, 0xb8, 0x4a, 0xfc, 0x71, 0x19, 0x22, 0x18, 0x8a, 0x32, 0x75, 0xb2,
+	0x25, 0x10, 0x13, 0x13, 0x5d, 0xa0, 0x0b, 0x0a, 0xe1, 0x01, 0xa2, 0x10, 0x0e, 0x37, 0x52, 0x62,
+	0x87, 0xb3, 0x53, 0xa9, 0xaf, 0xc3, 0x93, 0xe2, 0xb8, 0x25, 0xad, 0x22, 0xd4, 0xc5, 0x3a, 0xdf,
+	0xf7, 0xbb, 0xfb, 0x4e, 0x1f, 0xbc, 0x4a, 0xad, 0x65, 0x89, 0x5c, 0xea, 0x32, 0x53, 0x92, 0x6b,
+	0x92, 0x42, 0xa2, 0xaa, 0x49, 0x5b, 0x2d, 0x36, 0x52, 0x56, 0x17, 0x46, 0xb8, 0x47, 0x18, 0xa4,
+	0x55, 0x91, 0x63, 0xae, 0xd5, 0x57, 0x21, 0x85, 0x59, 0x1b, 0x8b, 0x55, 0x5a, 0x67, 0x94, 0x55,
+	0x68, 0x91, 0xb8, 0x9f, 0x61, 0xb0, 0xdd, 0xe7, 0x06, 0xa2, 0x05, 0x5c, 0xbc, 0x7b, 0x2a, 0xfe,
+	0x83, 0x0c, 0x7b, 0x80, 0x23, 0x6a, 0x4a, 0x34, 0x61, 0x70, 0x3b, 0x9c, 0x8d, 0xef, 0xa6, 0x7c,
+	0xc7, 0xf3, 0x1e, 0x9c, 0x38, 0x2e, 0xd9, 0xd0, 0x91, 0x82, 0xc9, 0x3f, 0x2a, 0xbb, 0x86, 0x13,
+	0x83, 0x25, 0xe6, 0x56, 0x93, 0x5b, 0x18, 0xcc, 0x4e, 0x93, 0xee, 0xcf, 0x1e, 0x01, 0xba, 0xe3,
+	0x4c, 0x38, 0xf0, 0x76, 0x37, 0x87, 0xec, 0xf6, 0xf0, 0x68, 0x05, 0xe7, 0x3d, 0x99, 0x31, 0x18,
+	0x29, 0x57, 0x6e, 0x7d, 0x7c, 0xcd, 0xa6, 0x30, 0x5e, 0x5a, 0x5b, 0xa7, 0x4b, 0xcc, 0x3e, 0x91,
+	0x9c, 0x49, 0x2b, 0x41, 0xdb, 0x7a, 0xf1, 0x1d, 0xc6, 0x61, 0xd2, 0x50, 0x99, 0x7e, 0x37, 0x48,
+	0xeb, 0x5d, 0x56, 0xe1, 0xd0, 0x83, 0x97, 0x4e, 0x7a, 0x6b, 0x95, 0xce, 0x64, 0x2e, 0xe0, 0x2c,
+	0xd7, 0xd5, 0xde, 0x95, 0xf3, 0xab, 0xde, 0x1d, 0x71, 0x1b, 0x73, 0x1c, 0xfc, 0x0c, 0x46, 0xcf,
+	0x4f, 0xf1, 0xe2, 0xe3, 0xd8, 0xc7, 0x7e, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x56, 0xd1, 0x77,
+	0xac, 0xc8, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/system_parameter.proto b/googleapis/api/serviceconfig/system_parameter.proto
index 1e3c6ed9..ebd11039 100644
--- a/googleapis/api/serviceconfig/system_parameter.proto
+++ b/googleapis/api/serviceconfig/system_parameter.proto
@@ -19,6 +19,7 @@ package google.api;
 option java_multiple_files = true;
 option java_outer_classname = "SystemParameterProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // ### System parameter configuration
@@ -37,7 +38,7 @@ message SystemParameters {
   //
   // Example: define api key and alt name for all methods
   //
-  // SystemParameters
+  // system_parameters
   //   rules:
   //     - selector: "*"
   //       parameters:
@@ -48,7 +49,7 @@ message SystemParameters {
   //
   // Example: define 2 api key names for a specific method.
   //
-  // SystemParameters
+  // system_parameters
   //   rules:
   //     - selector: "/ListShelves"
   //       parameters:
@@ -56,6 +57,8 @@ message SystemParameters {
   //           http_header: Api-Key1
   //         - name: api_key
   //           http_header: Api-Key2
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated SystemParameterRule rules = 1;
 }
 
diff --git a/googleapis/api/serviceconfig/usage.pb.go b/googleapis/api/serviceconfig/usage.pb.go
index d1f59b5b..148f1b30 100644
--- a/googleapis/api/serviceconfig/usage.pb.go
+++ b/googleapis/api/serviceconfig/usage.pb.go
@@ -13,95 +13,22 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// Service access types.
-//
-// Access to restricted API features is always controlled by
-// [visibility][google.api.Visibility], independent of the ServiceAccess type.
-//
-type Usage_ServiceAccess int32
-
-const (
-	// The service can only be seen/used by users identified in the service's
-	// access control policy.
-	//
-	// If the service has not been whitelisted by your domain administrator
-	// for out-of-org publishing, then this mode will be treated like
-	// ORG_RESTRICTED.
-	Usage_RESTRICTED Usage_ServiceAccess = 0
-	// The service can be seen/used by anyone.
-	//
-	// If the service has not been whitelisted by your domain administrator
-	// for out-of-org publishing, then this mode will be treated like
-	// ORG_PUBLIC.
-	//
-	// The discovery document for the service will also be public and allow
-	// unregistered access.
-	Usage_PUBLIC Usage_ServiceAccess = 1
-	// The service can be seen/used by users identified in the service's
-	// access control policy and they are within the organization that owns the
-	// service.
-	//
-	// Access is further constrained to the group
-	// controlled by the administrator of the project/org that owns the
-	// service.
-	Usage_ORG_RESTRICTED Usage_ServiceAccess = 2
-	// The service can be seen/used by the group of users controlled by the
-	// administrator of the project/org that owns the service.
-	Usage_ORG_PUBLIC Usage_ServiceAccess = 3
-)
-
-var Usage_ServiceAccess_name = map[int32]string{
-	0: "RESTRICTED",
-	1: "PUBLIC",
-	2: "ORG_RESTRICTED",
-	3: "ORG_PUBLIC",
-}
-var Usage_ServiceAccess_value = map[string]int32{
-	"RESTRICTED":     0,
-	"PUBLIC":         1,
-	"ORG_RESTRICTED": 2,
-	"ORG_PUBLIC":     3,
-}
-
-func (x Usage_ServiceAccess) String() string {
-	return proto.EnumName(Usage_ServiceAccess_name, int32(x))
-}
-func (Usage_ServiceAccess) EnumDescriptor() ([]byte, []int) { return fileDescriptor14, []int{0, 0} }
-
 // Configuration controlling usage of a service.
 type Usage struct {
-	// Controls which users can see or activate the service.
-	ServiceAccess Usage_ServiceAccess `protobuf:"varint,4,opt,name=service_access,json=serviceAccess,enum=google.api.Usage_ServiceAccess" json:"service_access,omitempty"`
 	// Requirements that must be satisfied before a consumer project can use the
 	// service. Each requirement is of the form <service.name>/<requirement-id>;
 	// for example 'serviceusage.googleapis.com/billing-enabled'.
 	Requirements []string `protobuf:"bytes,1,rep,name=requirements" json:"requirements,omitempty"`
-	// Services that must be activated in order for this service to be used.
-	// The set of services activated as a result of these relations are all
-	// activated in parallel with no guaranteed order of activation.
-	// Each string is a service name, e.g. `calendar.googleapis.com`.
-	DependsOnServices []string `protobuf:"bytes,2,rep,name=depends_on_services,json=dependsOnServices" json:"depends_on_services,omitempty"`
-	// Services that must be contacted before a consumer can begin using the
-	// service. Each service will be contacted in sequence, and, if any activation
-	// call fails, the entire activation will fail. Each hook is of the form
-	// <service.name>/<hook-id>, where <hook-id> is optional; for example:
-	// 'robotservice.googleapis.com/default'.
-	ActivationHooks []string `protobuf:"bytes,3,rep,name=activation_hooks,json=activationHooks" json:"activation_hooks,omitempty"`
-	// Services that must be contacted before a consumer can deactivate a
-	// service. Each service will be contacted in sequence, and, if any
-	// deactivation call fails, the entire deactivation will fail. Each hook is
-	// of the form <service.name>/<hook-id>, where <hook-id> is optional; for
-	// example:
-	// 'compute.googleapis.com/'.
-	DeactivationHooks []string `protobuf:"bytes,5,rep,name=deactivation_hooks,json=deactivationHooks" json:"deactivation_hooks,omitempty"`
-	// Individual rules for configuring usage on selected methods.
+	// A list of usage rules that apply to individual API methods.
+	//
+	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*UsageRule `protobuf:"bytes,6,rep,name=rules" json:"rules,omitempty"`
 }
 
 func (m *Usage) Reset()                    { *m = Usage{} }
 func (m *Usage) String() string            { return proto.CompactTextString(m) }
 func (*Usage) ProtoMessage()               {}
-func (*Usage) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
+func (*Usage) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{0} }
 
 func (m *Usage) GetRules() []*UsageRule {
 	if m != nil {
@@ -148,42 +75,33 @@ type UsageRule struct {
 func (m *UsageRule) Reset()                    { *m = UsageRule{} }
 func (m *UsageRule) String() string            { return proto.CompactTextString(m) }
 func (*UsageRule) ProtoMessage()               {}
-func (*UsageRule) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{1} }
+func (*UsageRule) Descriptor() ([]byte, []int) { return fileDescriptor15, []int{1} }
 
 func init() {
 	proto.RegisterType((*Usage)(nil), "google.api.Usage")
 	proto.RegisterType((*UsageRule)(nil), "google.api.UsageRule")
-	proto.RegisterEnum("google.api.Usage_ServiceAccess", Usage_ServiceAccess_name, Usage_ServiceAccess_value)
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto", fileDescriptor14)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto", fileDescriptor15)
 }
 
-var fileDescriptor14 = []byte{
-	// 372 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x92, 0x41, 0x8f, 0xd3, 0x30,
-	0x10, 0x46, 0x49, 0x43, 0xab, 0xed, 0xc0, 0x86, 0x62, 0x04, 0x8a, 0x38, 0x40, 0x94, 0x53, 0x10,
-	0x22, 0x91, 0x96, 0x0b, 0x57, 0x1a, 0x16, 0x58, 0x09, 0xa9, 0x95, 0x77, 0x7b, 0x8e, 0x8c, 0x33,
-	0x18, 0x0b, 0xd7, 0x0e, 0x76, 0x52, 0x7e, 0x3c, 0x17, 0x14, 0x37, 0xb4, 0xe9, 0xf6, 0xe8, 0xef,
-	0xbd, 0x99, 0xd1, 0x58, 0x03, 0xa5, 0x30, 0x46, 0x28, 0xcc, 0x85, 0x51, 0x4c, 0x8b, 0xdc, 0x58,
-	0x51, 0x08, 0xd4, 0x8d, 0x35, 0xad, 0x29, 0xf6, 0x88, 0x35, 0xd2, 0x15, 0xac, 0x91, 0x85, 0x43,
-	0xbb, 0x93, 0x1c, 0xb9, 0xd1, 0x3f, 0xa4, 0x28, 0x3a, 0xc7, 0x04, 0xe6, 0x5e, 0x24, 0x30, 0x34,
-	0x61, 0x8d, 0x4c, 0xff, 0x4e, 0x60, 0xba, 0xe9, 0x19, 0xf9, 0x0c, 0xd1, 0x50, 0x52, 0x31, 0xce,
-	0xd1, 0xb9, 0xf8, 0x61, 0x12, 0x64, 0xd1, 0xd5, 0xeb, 0xfc, 0xa8, 0xe7, 0x5e, 0xcd, 0x6f, 0xf7,
-	0xde, 0x47, 0xaf, 0xd1, 0x4b, 0x37, 0x7e, 0x92, 0x14, 0x1e, 0x5b, 0xfc, 0xdd, 0x49, 0x8b, 0x5b,
-	0xd4, 0xad, 0x8b, 0x83, 0x24, 0xcc, 0xe6, 0xf4, 0x24, 0x23, 0x39, 0x3c, 0xab, 0xb1, 0x41, 0x5d,
-	0xbb, 0xca, 0xe8, 0x6a, 0xa8, 0x77, 0xf1, 0xc4, 0xab, 0x4f, 0x07, 0xb4, 0xd2, 0xc3, 0x1c, 0x47,
-	0xde, 0xc0, 0x82, 0xf1, 0x56, 0xee, 0x58, 0x2b, 0x8d, 0xae, 0x7e, 0x1a, 0xf3, 0xcb, 0xc5, 0xa1,
-	0x97, 0x9f, 0x1c, 0xf3, 0xaf, 0x7d, 0x4c, 0xde, 0x01, 0xa9, 0xf1, 0x4c, 0x9e, 0xfe, 0xef, 0x7c,
-	0x5f, 0x7f, 0x0b, 0x53, 0xdb, 0x29, 0x74, 0xf1, 0x2c, 0x09, 0xb3, 0x47, 0x57, 0xcf, 0xcf, 0x96,
-	0xa5, 0x9d, 0x42, 0xba, 0x77, 0xd2, 0x15, 0x5c, 0x9e, 0xac, 0x4e, 0x22, 0x00, 0x7a, 0x7d, 0x7b,
-	0x47, 0x6f, 0xca, 0xbb, 0xeb, 0x4f, 0x8b, 0x07, 0x04, 0x60, 0xb6, 0xde, 0x2c, 0xbf, 0xdd, 0x94,
-	0x8b, 0x80, 0x10, 0x88, 0x56, 0xf4, 0x4b, 0x35, 0xe2, 0x93, 0xde, 0xef, 0xb3, 0xc1, 0x09, 0x53,
-	0x06, 0xf3, 0xc3, 0x10, 0xf2, 0x12, 0x2e, 0x1c, 0x2a, 0xe4, 0xad, 0xb1, 0x71, 0x90, 0x04, 0xd9,
-	0x9c, 0x1e, 0xde, 0xe4, 0x03, 0xc4, 0x4c, 0x29, 0xf3, 0xa7, 0xea, 0xb4, 0x45, 0x21, 0x5d, 0x8b,
-	0x16, 0xeb, 0x8a, 0x33, 0xa5, 0xfa, 0x5f, 0x0b, 0xb2, 0x0b, 0xfa, 0xc2, 0xf3, 0xcd, 0x08, 0x97,
-	0x3d, 0x5d, 0xbe, 0x82, 0x88, 0x9b, 0xed, 0x68, 0xad, 0x25, 0xf8, 0x91, 0xeb, 0xfe, 0x14, 0xd6,
-	0xc1, 0xf7, 0x99, 0xbf, 0x89, 0xf7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x19, 0x60, 0x91,
-	0x5a, 0x02, 0x00, 0x00,
+var fileDescriptor15 = []byte{
+	// 254 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0xc1, 0x4a, 0x03, 0x31,
+	0x10, 0x86, 0xd9, 0x6a, 0x4b, 0x3b, 0x8a, 0x87, 0x05, 0x65, 0xe9, 0x49, 0x16, 0x04, 0x41, 0x48,
+	0x40, 0x2f, 0x5e, 0x6d, 0x0f, 0xd2, 0xdb, 0xb2, 0x50, 0xf0, 0x56, 0x62, 0x1c, 0x43, 0x20, 0xcd,
+	0xd4, 0x4c, 0x56, 0xdf, 0xc7, 0x27, 0x35, 0x9b, 0x95, 0x5a, 0xaf, 0xbd, 0x04, 0xf2, 0x7f, 0x3f,
+	0xdf, 0xcc, 0xc0, 0xd2, 0x10, 0x19, 0x87, 0xc2, 0x90, 0x53, 0xde, 0x08, 0x0a, 0x46, 0x1a, 0xf4,
+	0xbb, 0x40, 0x91, 0xe4, 0x80, 0xd4, 0xce, 0xb2, 0x4c, 0x8f, 0x64, 0x0c, 0x9f, 0x56, 0xa3, 0x26,
+	0xff, 0x6e, 0x8d, 0xec, 0x58, 0x19, 0x14, 0xb9, 0x58, 0xc2, 0xaf, 0x24, 0xb5, 0xe6, 0xab, 0x63,
+	0x85, 0xca, 0x7b, 0x8a, 0x2a, 0x5a, 0xf2, 0x3c, 0x68, 0xeb, 0x17, 0x18, 0xaf, 0xfb, 0x29, 0x65,
+	0x0d, 0xe7, 0x01, 0x3f, 0x3a, 0x1b, 0x70, 0x8b, 0x3e, 0x72, 0x55, 0x5c, 0x9f, 0xdc, 0xce, 0xda,
+	0x7f, 0x59, 0x79, 0x07, 0xe3, 0xd0, 0x39, 0xe4, 0x6a, 0x92, 0xe0, 0xd9, 0xfd, 0xa5, 0xf8, 0xdb,
+	0x49, 0x64, 0x4b, 0x9b, 0x68, 0x3b, 0x74, 0x6a, 0x05, 0xb3, 0x7d, 0x56, 0xce, 0x61, 0xca, 0xe8,
+	0x50, 0x47, 0x0a, 0xc9, 0x5c, 0x24, 0xf3, 0xfe, 0x5f, 0x3e, 0x42, 0xa5, 0x9c, 0xa3, 0xaf, 0x4d,
+	0xe7, 0x03, 0x1a, 0xcb, 0x11, 0x03, 0xbe, 0x6d, 0x74, 0xca, 0xb8, 0x1a, 0xa5, 0xee, 0xb4, 0xbd,
+	0xca, 0x7c, 0x7d, 0x80, 0x97, 0x3d, 0x5d, 0xdc, 0xc0, 0x85, 0xa6, 0xed, 0xc1, 0x16, 0x0b, 0xc8,
+	0x23, 0x9b, 0xfe, 0xb4, 0xa6, 0xf8, 0x1e, 0x9d, 0x3e, 0x3f, 0x35, 0xab, 0xd7, 0x49, 0x3e, 0xf5,
+	0xe1, 0x27, 0x00, 0x00, 0xff, 0xff, 0x72, 0x2d, 0x47, 0x30, 0x88, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/usage.proto b/googleapis/api/serviceconfig/usage.proto
index aec64bbe..0c46d954 100644
--- a/googleapis/api/serviceconfig/usage.proto
+++ b/googleapis/api/serviceconfig/usage.proto
@@ -16,81 +16,24 @@ syntax = "proto3";
 
 package google.api;
 
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+
 option java_multiple_files = true;
 option java_outer_classname = "UsageProto";
 option java_package = "com.google.api";
+option objc_class_prefix = "GAPI";
 
 
 // Configuration controlling usage of a service.
 message Usage {
-  // Service access types.
-  //
-  // Access to restricted API features is always controlled by
-  // [visibility][google.api.Visibility], independent of the ServiceAccess type.
-  //
-  enum ServiceAccess {
-    // The service can only be seen/used by users identified in the service's
-    // access control policy.
-    //
-    // If the service has not been whitelisted by your domain administrator
-    // for out-of-org publishing, then this mode will be treated like
-    // ORG_RESTRICTED.
-    RESTRICTED = 0;
-
-    // The service can be seen/used by anyone.
-    //
-    // If the service has not been whitelisted by your domain administrator
-    // for out-of-org publishing, then this mode will be treated like
-    // ORG_PUBLIC.
-    //
-    // The discovery document for the service will also be public and allow
-    // unregistered access.
-    PUBLIC = 1;
-
-    // The service can be seen/used by users identified in the service's
-    // access control policy and they are within the organization that owns the
-    // service.
-    //
-    // Access is further constrained to the group
-    // controlled by the administrator of the project/org that owns the
-    // service.
-    ORG_RESTRICTED = 2;
-
-    // The service can be seen/used by the group of users controlled by the
-    // administrator of the project/org that owns the service.
-    ORG_PUBLIC = 3;
-  }
-
-  // Controls which users can see or activate the service.
-  ServiceAccess service_access = 4;
-
   // Requirements that must be satisfied before a consumer project can use the
   // service. Each requirement is of the form <service.name>/<requirement-id>;
   // for example 'serviceusage.googleapis.com/billing-enabled'.
   repeated string requirements = 1;
 
-  // Services that must be activated in order for this service to be used.
-  // The set of services activated as a result of these relations are all
-  // activated in parallel with no guaranteed order of activation.
-  // Each string is a service name, e.g. `calendar.googleapis.com`.
-  repeated string depends_on_services = 2;
-
-  // Services that must be contacted before a consumer can begin using the
-  // service. Each service will be contacted in sequence, and, if any activation
-  // call fails, the entire activation will fail. Each hook is of the form
-  // <service.name>/<hook-id>, where <hook-id> is optional; for example:
-  // 'robotservice.googleapis.com/default'.
-  repeated string activation_hooks = 3;
-
-  // Services that must be contacted before a consumer can deactivate a
-  // service. Each service will be contacted in sequence, and, if any
-  // deactivation call fails, the entire deactivation will fail. Each hook is
-  // of the form <service.name>/<hook-id>, where <hook-id> is optional; for
-  // example:
-  // 'compute.googleapis.com/'.
-  repeated string deactivation_hooks = 5;
-
-  // Individual rules for configuring usage on selected methods.
+  // A list of usage rules that apply to individual API methods.
+  //
+  // **NOTE:** All service configuration rules follow "last one wins" order.
   repeated UsageRule rules = 6;
 }
 
diff --git a/googleapis/api/servicecontrol/v1/check_error.pb.go b/googleapis/api/servicecontrol/v1/check_error.pb.go
new file mode 100644
index 00000000..bff1ba4f
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/check_error.pb.go
@@ -0,0 +1,190 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto
+// DO NOT EDIT!
+
+/*
+Package google_api_servicecontrol_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto
+	google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto
+
+It has these top-level messages:
+	CheckError
+	Distribution
+	LogEntry
+	MetricValue
+	MetricValueSet
+	Operation
+	CheckRequest
+	CheckResponse
+	ReportRequest
+	ReportResponse
+*/
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Error codes for Check responses.
+type CheckError_Code int32
+
+const (
+	// This is never used in `CheckResponse`.
+	CheckError_ERROR_CODE_UNSPECIFIED CheckError_Code = 0
+	// The consumer's project id was not found.
+	// Same as [google.rpc.Code.NOT_FOUND][].
+	CheckError_NOT_FOUND CheckError_Code = 5
+	// The consumer doesn't have access to the specified resource.
+	// Same as [google.rpc.Code.PERMISSION_DENIED][].
+	CheckError_PERMISSION_DENIED CheckError_Code = 7
+	// Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][].
+	CheckError_RESOURCE_EXHAUSTED CheckError_Code = 8
+	// The consumer hasn't activated the service.
+	CheckError_SERVICE_NOT_ACTIVATED CheckError_Code = 104
+	// The consumer cannot access the service because billing is disabled.
+	CheckError_BILLING_DISABLED CheckError_Code = 107
+	// The consumer's project has been marked as deleted (soft deletion).
+	CheckError_PROJECT_DELETED CheckError_Code = 108
+	// The consumer's project number or id does not represent a valid project.
+	CheckError_PROJECT_INVALID CheckError_Code = 114
+	// The IP address of the consumer is invalid for the specific consumer
+	// project.
+	CheckError_IP_ADDRESS_BLOCKED CheckError_Code = 109
+	// The referer address of the consumer request is invalid for the specific
+	// consumer project.
+	CheckError_REFERER_BLOCKED CheckError_Code = 110
+	// The client application of the consumer request is invalid for the
+	// specific consumer project.
+	CheckError_CLIENT_APP_BLOCKED CheckError_Code = 111
+	// The consumer's API key is invalid.
+	CheckError_API_KEY_INVALID CheckError_Code = 105
+	// The consumer's API Key has expired.
+	CheckError_API_KEY_EXPIRED CheckError_Code = 112
+	// The consumer's API Key was not found in config record.
+	CheckError_API_KEY_NOT_FOUND CheckError_Code = 113
+	// The backend server for looking up project id/number is unavailable.
+	CheckError_NAMESPACE_LOOKUP_UNAVAILABLE CheckError_Code = 300
+	// The backend server for checking service status is unavailable.
+	CheckError_SERVICE_STATUS_UNAVAILABLE CheckError_Code = 301
+	// The backend server for checking billing status is unavailable.
+	CheckError_BILLING_STATUS_UNAVAILABLE CheckError_Code = 302
+)
+
+var CheckError_Code_name = map[int32]string{
+	0:   "ERROR_CODE_UNSPECIFIED",
+	5:   "NOT_FOUND",
+	7:   "PERMISSION_DENIED",
+	8:   "RESOURCE_EXHAUSTED",
+	104: "SERVICE_NOT_ACTIVATED",
+	107: "BILLING_DISABLED",
+	108: "PROJECT_DELETED",
+	114: "PROJECT_INVALID",
+	109: "IP_ADDRESS_BLOCKED",
+	110: "REFERER_BLOCKED",
+	111: "CLIENT_APP_BLOCKED",
+	105: "API_KEY_INVALID",
+	112: "API_KEY_EXPIRED",
+	113: "API_KEY_NOT_FOUND",
+	300: "NAMESPACE_LOOKUP_UNAVAILABLE",
+	301: "SERVICE_STATUS_UNAVAILABLE",
+	302: "BILLING_STATUS_UNAVAILABLE",
+}
+var CheckError_Code_value = map[string]int32{
+	"ERROR_CODE_UNSPECIFIED":       0,
+	"NOT_FOUND":                    5,
+	"PERMISSION_DENIED":            7,
+	"RESOURCE_EXHAUSTED":           8,
+	"SERVICE_NOT_ACTIVATED":        104,
+	"BILLING_DISABLED":             107,
+	"PROJECT_DELETED":              108,
+	"PROJECT_INVALID":              114,
+	"IP_ADDRESS_BLOCKED":           109,
+	"REFERER_BLOCKED":              110,
+	"CLIENT_APP_BLOCKED":           111,
+	"API_KEY_INVALID":              105,
+	"API_KEY_EXPIRED":              112,
+	"API_KEY_NOT_FOUND":            113,
+	"NAMESPACE_LOOKUP_UNAVAILABLE": 300,
+	"SERVICE_STATUS_UNAVAILABLE":   301,
+	"BILLING_STATUS_UNAVAILABLE":   302,
+}
+
+func (x CheckError_Code) String() string {
+	return proto.EnumName(CheckError_Code_name, int32(x))
+}
+func (CheckError_Code) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
+
+// Defines the errors to be returned in
+// [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].
+type CheckError struct {
+	// The error code.
+	Code CheckError_Code `protobuf:"varint,1,opt,name=code,enum=google.api.servicecontrol.v1.CheckError_Code" json:"code,omitempty"`
+	// Free-form text providing details on the error cause of the error.
+	Detail string `protobuf:"bytes,2,opt,name=detail" json:"detail,omitempty"`
+}
+
+func (m *CheckError) Reset()                    { *m = CheckError{} }
+func (m *CheckError) String() string            { return proto.CompactTextString(m) }
+func (*CheckError) ProtoMessage()               {}
+func (*CheckError) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func init() {
+	proto.RegisterType((*CheckError)(nil), "google.api.servicecontrol.v1.CheckError")
+	proto.RegisterEnum("google.api.servicecontrol.v1.CheckError_Code", CheckError_Code_name, CheckError_Code_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 473 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x6f, 0xd3, 0x30,
+	0x14, 0xc7, 0xc9, 0x28, 0x83, 0x59, 0x82, 0x05, 0xc3, 0xa6, 0x51, 0x4d, 0x62, 0xec, 0xc4, 0x85,
+	0x44, 0x83, 0x0b, 0x57, 0x27, 0x79, 0x05, 0xd3, 0x34, 0xb6, 0xec, 0xa4, 0x1a, 0x27, 0x2b, 0x64,
+	0x21, 0x8b, 0x96, 0xc5, 0x25, 0x8d, 0xfa, 0x39, 0xf8, 0x14, 0x9c, 0x80, 0xcf, 0xc7, 0x11, 0xbb,
+	0x5b, 0xdb, 0x4d, 0x42, 0x3b, 0x70, 0x89, 0x94, 0xbf, 0x7f, 0xef, 0xff, 0xf7, 0x7b, 0x7e, 0x68,
+	0x52, 0x69, 0x5d, 0x35, 0xa5, 0x57, 0xe9, 0x26, 0x6f, 0x2b, 0x4f, 0x77, 0x95, 0x5f, 0x95, 0xed,
+	0xac, 0xd3, 0xbd, 0xf6, 0xaf, 0x8e, 0xf2, 0x59, 0x3d, 0xf7, 0xcd, 0xc7, 0x9f, 0x97, 0xdd, 0xa2,
+	0x2e, 0xca, 0x42, 0xb7, 0x7d, 0xa7, 0x1b, 0x7f, 0x71, 0xe2, 0x17, 0xe7, 0x65, 0x71, 0xa1, 0xca,
+	0xae, 0xd3, 0x9d, 0xb7, 0x2c, 0xc1, 0x87, 0xd7, 0x76, 0x86, 0xf7, 0x6e, 0xf3, 0xde, 0xe2, 0x64,
+	0x48, 0xff, 0x27, 0xec, 0x6b, 0x5d, 0xf9, 0x79, 0xdb, 0xea, 0x3e, 0xef, 0x6b, 0xdd, 0xce, 0xaf,
+	0x82, 0x8e, 0xbf, 0x0f, 0x10, 0x0a, 0x6d, 0x3c, 0xd8, 0x74, 0x4c, 0xd0, 0xa0, 0xd0, 0x67, 0xe5,
+	0x81, 0x73, 0xe4, 0xbc, 0x7e, 0xf2, 0xf6, 0x8d, 0x77, 0xd7, 0x35, 0xbc, 0x4d, 0x9d, 0x17, 0x9a,
+	0x22, 0xb1, 0x2c, 0xc5, 0xfb, 0x68, 0xfb, 0xac, 0xec, 0xf3, 0xba, 0x39, 0xd8, 0x32, 0x26, 0x3b,
+	0xe2, 0xfa, 0xef, 0xf8, 0xc7, 0x7d, 0x34, 0xb0, 0x18, 0x1e, 0xa2, 0x7d, 0x10, 0x82, 0x09, 0x15,
+	0xb2, 0x08, 0x54, 0x96, 0x48, 0x0e, 0x21, 0x1d, 0x51, 0x88, 0xdc, 0x7b, 0xf8, 0x31, 0xda, 0x49,
+	0x58, 0xaa, 0x46, 0x2c, 0x4b, 0x22, 0xf7, 0x01, 0xde, 0x43, 0x4f, 0x39, 0x88, 0x09, 0x95, 0x92,
+	0xb2, 0x44, 0x45, 0x90, 0x58, 0xea, 0xa1, 0x89, 0xc0, 0x02, 0x24, 0xcb, 0x44, 0x08, 0x0a, 0x4e,
+	0x3f, 0x92, 0x4c, 0xa6, 0x46, 0x7f, 0x84, 0x5f, 0xa0, 0x3d, 0x09, 0x62, 0x4a, 0x8d, 0x6c, 0x5d,
+	0x48, 0x98, 0xd2, 0x29, 0xb1, 0x47, 0xe7, 0xf8, 0x39, 0x72, 0x03, 0x1a, 0xc7, 0x34, 0xf9, 0xa0,
+	0x22, 0x2a, 0x49, 0x10, 0x1b, 0xf5, 0x02, 0x3f, 0x43, 0xbb, 0x5c, 0xb0, 0x4f, 0x10, 0xa6, 0xc6,
+	0x3c, 0x06, 0x8b, 0x36, 0x37, 0x45, 0x9a, 0x4c, 0x49, 0x4c, 0x23, 0xb7, 0xb3, 0x91, 0x94, 0x2b,
+	0x12, 0x45, 0x26, 0x58, 0xaa, 0x20, 0x66, 0xe1, 0xd8, 0xc0, 0x97, 0x16, 0x16, 0x30, 0x02, 0x01,
+	0x62, 0x2d, 0xb6, 0x16, 0x0e, 0x63, 0x0a, 0x89, 0xb9, 0x02, 0xe7, 0x6b, 0x5d, 0x5b, 0x98, 0x70,
+	0xaa, 0xc6, 0xf0, 0x79, 0xed, 0x5c, 0xdf, 0x14, 0xe1, 0x94, 0x53, 0x61, 0xc8, 0x99, 0x6d, 0x7c,
+	0x25, 0x6e, 0xe6, 0xf1, 0x0d, 0xbf, 0x42, 0x87, 0x09, 0x99, 0x80, 0xe4, 0xc4, 0xb4, 0x18, 0x33,
+	0x36, 0xce, 0xb8, 0x19, 0x20, 0x99, 0x12, 0x1a, 0xdb, 0x96, 0xdc, 0x9f, 0x5b, 0xf8, 0x25, 0x1a,
+	0xae, 0x66, 0x20, 0x53, 0x92, 0x66, 0xf2, 0x16, 0xf0, 0x6b, 0x09, 0xac, 0x26, 0xf1, 0x0f, 0xe0,
+	0xf7, 0x56, 0xf0, 0x1e, 0x1d, 0x15, 0xfa, 0xf2, 0xce, 0xa7, 0x0f, 0x76, 0x37, 0x6f, 0xcf, 0xed,
+	0x1e, 0x71, 0xe7, 0x8f, 0xe3, 0x7c, 0xd9, 0x5e, 0xee, 0xd4, 0xbb, 0xbf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x76, 0xc3, 0x8a, 0x33, 0x0d, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/check_error.proto b/googleapis/api/servicecontrol/v1/check_error.proto
new file mode 100644
index 00000000..164e95a3
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/check_error.proto
@@ -0,0 +1,94 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "CheckErrorProto";
+option java_package = "com.google.api.servicecontrol.v1";
+
+
+// Defines the errors to be returned in
+// [google.api.servicecontrol.v1.CheckResponse.check_errors][google.api.servicecontrol.v1.CheckResponse.check_errors].
+message CheckError {
+  // Error codes for Check responses.
+  enum Code {
+    // This is never used in `CheckResponse`.
+    ERROR_CODE_UNSPECIFIED = 0;
+
+    // The consumer's project id was not found.
+    // Same as [google.rpc.Code.NOT_FOUND][].
+    NOT_FOUND = 5;
+
+    // The consumer doesn't have access to the specified resource.
+    // Same as [google.rpc.Code.PERMISSION_DENIED][].
+    PERMISSION_DENIED = 7;
+
+    // Quota check failed. Same as [google.rpc.Code.RESOURCE_EXHAUSTED][].
+    RESOURCE_EXHAUSTED = 8;
+
+    // The consumer hasn't activated the service.
+    SERVICE_NOT_ACTIVATED = 104;
+
+    // The consumer cannot access the service because billing is disabled.
+    BILLING_DISABLED = 107;
+
+    // The consumer's project has been marked as deleted (soft deletion).
+    PROJECT_DELETED = 108;
+
+    // The consumer's project number or id does not represent a valid project.
+    PROJECT_INVALID = 114;
+
+    // The IP address of the consumer is invalid for the specific consumer
+    // project.
+    IP_ADDRESS_BLOCKED = 109;
+
+    // The referer address of the consumer request is invalid for the specific
+    // consumer project.
+    REFERER_BLOCKED = 110;
+
+    // The client application of the consumer request is invalid for the
+    // specific consumer project.
+    CLIENT_APP_BLOCKED = 111;
+
+    // The consumer's API key is invalid.
+    API_KEY_INVALID = 105;
+
+    // The consumer's API Key has expired.
+    API_KEY_EXPIRED = 112;
+
+    // The consumer's API Key was not found in config record.
+    API_KEY_NOT_FOUND = 113;
+
+    // The backend server for looking up project id/number is unavailable.
+    NAMESPACE_LOOKUP_UNAVAILABLE = 300;
+
+    // The backend server for checking service status is unavailable.
+    SERVICE_STATUS_UNAVAILABLE = 301;
+
+    // The backend server for checking billing status is unavailable.
+    BILLING_STATUS_UNAVAILABLE = 302;
+  }
+
+  // The error code.
+  Code code = 1;
+
+  // Free-form text providing details on the error cause of the error.
+  string detail = 2;
+}
diff --git a/googleapis/api/servicecontrol/v1/distribution.pb.go b/googleapis/api/servicecontrol/v1/distribution.pb.go
new file mode 100644
index 00000000..e596e953
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/distribution.pb.go
@@ -0,0 +1,341 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto
+// DO NOT EDIT!
+
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Distribution represents a frequency distribution of double-valued sample
+// points. It contains the size of the population of sample points plus
+// additional optional information:
+//
+//   - the arithmetic mean of the samples
+//   - the minimum and maximum of the samples
+//   - the sum-squared-deviation of the samples, used to compute variance
+//   - a histogram of the values of the sample points
+type Distribution struct {
+	// The total number of samples in the distribution. Must be >= 0.
+	Count int64 `protobuf:"varint,1,opt,name=count" json:"count,omitempty"`
+	// The arithmetic mean of the samples in the distribution. If `count` is
+	// zero then this field must be zero.
+	Mean float64 `protobuf:"fixed64,2,opt,name=mean" json:"mean,omitempty"`
+	// The minimum of the population of values. Ignored if `count` is zero.
+	Minimum float64 `protobuf:"fixed64,3,opt,name=minimum" json:"minimum,omitempty"`
+	// The maximum of the population of values. Ignored if `count` is zero.
+	Maximum float64 `protobuf:"fixed64,4,opt,name=maximum" json:"maximum,omitempty"`
+	// The sum of squared deviations from the mean:
+	//   Sum[i=1..count]((x_i - mean)^2)
+	// where each x_i is a sample values. If `count` is zero then this field
+	// must be zero, otherwise validation of the request fails.
+	SumOfSquaredDeviation float64 `protobuf:"fixed64,5,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation" json:"sum_of_squared_deviation,omitempty"`
+	// The number of samples in each histogram bucket. `bucket_counts` are
+	// optional. If present, they must sum to the `count` value.
+	//
+	// The buckets are defined below in `bucket_option`. There are N buckets.
+	// `bucket_counts[0]` is the number of samples in the underflow bucket.
+	// `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+	// in each of the finite buckets. And `bucket_counts[N] is the number
+	// of samples in the overflow bucket. See the comments of `bucket_option`
+	// below for more details.
+	//
+	// Any suffix of trailing zeros may be omitted.
+	BucketCounts []int64 `protobuf:"varint,6,rep,packed,name=bucket_counts,json=bucketCounts" json:"bucket_counts,omitempty"`
+	// Defines the buckets in the histogram. `bucket_option` and `bucket_counts`
+	// must be both set, or both unset.
+	//
+	// Buckets are numbered the the range of [0, N], with a total of N+1 buckets.
+	// There must be at least two buckets (a single-bucket histogram gives
+	// no information that isn't already provided by `count`).
+	//
+	// The first bucket is the underflow bucket which has a lower bound
+	// of -inf. The last bucket is the overflow bucket which has an
+	// upper bound of +inf. All other buckets (if any) are called "finite"
+	// buckets because they have finite lower and upper bounds. As described
+	// below, there are three ways to define the finite buckets.
+	//
+	//   (1) Buckets with constant width.
+	//   (2) Buckets with exponentially growing widths.
+	//   (3) Buckets with arbitrary user-provided widths.
+	//
+	// In all cases, the buckets cover the entire real number line (-inf,
+	// +inf). Bucket upper bounds are exclusive and lower bounds are
+	// inclusive. The upper bound of the underflow bucket is equal to the
+	// lower bound of the smallest finite bucket; the lower bound of the
+	// overflow bucket is equal to the upper bound of the largest finite
+	// bucket.
+	//
+	// Types that are valid to be assigned to BucketOption:
+	//	*Distribution_LinearBuckets_
+	//	*Distribution_ExponentialBuckets_
+	//	*Distribution_ExplicitBuckets_
+	BucketOption isDistribution_BucketOption `protobuf_oneof:"bucket_option"`
+}
+
+func (m *Distribution) Reset()                    { *m = Distribution{} }
+func (m *Distribution) String() string            { return proto.CompactTextString(m) }
+func (*Distribution) ProtoMessage()               {}
+func (*Distribution) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+type isDistribution_BucketOption interface {
+	isDistribution_BucketOption()
+}
+
+type Distribution_LinearBuckets_ struct {
+	LinearBuckets *Distribution_LinearBuckets `protobuf:"bytes,7,opt,name=linear_buckets,json=linearBuckets,oneof"`
+}
+type Distribution_ExponentialBuckets_ struct {
+	ExponentialBuckets *Distribution_ExponentialBuckets `protobuf:"bytes,8,opt,name=exponential_buckets,json=exponentialBuckets,oneof"`
+}
+type Distribution_ExplicitBuckets_ struct {
+	ExplicitBuckets *Distribution_ExplicitBuckets `protobuf:"bytes,9,opt,name=explicit_buckets,json=explicitBuckets,oneof"`
+}
+
+func (*Distribution_LinearBuckets_) isDistribution_BucketOption()      {}
+func (*Distribution_ExponentialBuckets_) isDistribution_BucketOption() {}
+func (*Distribution_ExplicitBuckets_) isDistribution_BucketOption()    {}
+
+func (m *Distribution) GetBucketOption() isDistribution_BucketOption {
+	if m != nil {
+		return m.BucketOption
+	}
+	return nil
+}
+
+func (m *Distribution) GetLinearBuckets() *Distribution_LinearBuckets {
+	if x, ok := m.GetBucketOption().(*Distribution_LinearBuckets_); ok {
+		return x.LinearBuckets
+	}
+	return nil
+}
+
+func (m *Distribution) GetExponentialBuckets() *Distribution_ExponentialBuckets {
+	if x, ok := m.GetBucketOption().(*Distribution_ExponentialBuckets_); ok {
+		return x.ExponentialBuckets
+	}
+	return nil
+}
+
+func (m *Distribution) GetExplicitBuckets() *Distribution_ExplicitBuckets {
+	if x, ok := m.GetBucketOption().(*Distribution_ExplicitBuckets_); ok {
+		return x.ExplicitBuckets
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*Distribution) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _Distribution_OneofMarshaler, _Distribution_OneofUnmarshaler, _Distribution_OneofSizer, []interface{}{
+		(*Distribution_LinearBuckets_)(nil),
+		(*Distribution_ExponentialBuckets_)(nil),
+		(*Distribution_ExplicitBuckets_)(nil),
+	}
+}
+
+func _Distribution_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*Distribution)
+	// bucket_option
+	switch x := m.BucketOption.(type) {
+	case *Distribution_LinearBuckets_:
+		b.EncodeVarint(7<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.LinearBuckets); err != nil {
+			return err
+		}
+	case *Distribution_ExponentialBuckets_:
+		b.EncodeVarint(8<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.ExponentialBuckets); err != nil {
+			return err
+		}
+	case *Distribution_ExplicitBuckets_:
+		b.EncodeVarint(9<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.ExplicitBuckets); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("Distribution.BucketOption has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _Distribution_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*Distribution)
+	switch tag {
+	case 7: // bucket_option.linear_buckets
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Distribution_LinearBuckets)
+		err := b.DecodeMessage(msg)
+		m.BucketOption = &Distribution_LinearBuckets_{msg}
+		return true, err
+	case 8: // bucket_option.exponential_buckets
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Distribution_ExponentialBuckets)
+		err := b.DecodeMessage(msg)
+		m.BucketOption = &Distribution_ExponentialBuckets_{msg}
+		return true, err
+	case 9: // bucket_option.explicit_buckets
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Distribution_ExplicitBuckets)
+		err := b.DecodeMessage(msg)
+		m.BucketOption = &Distribution_ExplicitBuckets_{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _Distribution_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*Distribution)
+	// bucket_option
+	switch x := m.BucketOption.(type) {
+	case *Distribution_LinearBuckets_:
+		s := proto.Size(x.LinearBuckets)
+		n += proto.SizeVarint(7<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Distribution_ExponentialBuckets_:
+		s := proto.Size(x.ExponentialBuckets)
+		n += proto.SizeVarint(8<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Distribution_ExplicitBuckets_:
+		s := proto.Size(x.ExplicitBuckets)
+		n += proto.SizeVarint(9<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Describing buckets with constant width.
+type Distribution_LinearBuckets struct {
+	// The number of finite buckets. With the underflow and overflow buckets,
+	// the total number of buckets is `num_finite_buckets` + 2.
+	// See comments on `bucket_options` for details.
+	NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
+	// The i'th linear bucket covers the interval
+	//   [offset + (i-1) * width, offset + i * width)
+	// where i ranges from 1 to num_finite_buckets, inclusive.
+	// Must be strictly positive.
+	Width float64 `protobuf:"fixed64,2,opt,name=width" json:"width,omitempty"`
+	// The i'th linear bucket covers the interval
+	//   [offset + (i-1) * width, offset + i * width)
+	// where i ranges from 1 to num_finite_buckets, inclusive.
+	Offset float64 `protobuf:"fixed64,3,opt,name=offset" json:"offset,omitempty"`
+}
+
+func (m *Distribution_LinearBuckets) Reset()                    { *m = Distribution_LinearBuckets{} }
+func (m *Distribution_LinearBuckets) String() string            { return proto.CompactTextString(m) }
+func (*Distribution_LinearBuckets) ProtoMessage()               {}
+func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
+
+// Describing buckets with exponentially growing width.
+type Distribution_ExponentialBuckets struct {
+	// The number of finite buckets. With the underflow and overflow buckets,
+	// the total number of buckets is `num_finite_buckets` + 2.
+	// See comments on `bucket_options` for details.
+	NumFiniteBuckets int32 `protobuf:"varint,1,opt,name=num_finite_buckets,json=numFiniteBuckets" json:"num_finite_buckets,omitempty"`
+	// The i'th exponential bucket covers the interval
+	//   [scale * growth_factor^(i-1), scale * growth_factor^i)
+	// where i ranges from 1 to num_finite_buckets inclusive.
+	// Must be larger than 1.0.
+	GrowthFactor float64 `protobuf:"fixed64,2,opt,name=growth_factor,json=growthFactor" json:"growth_factor,omitempty"`
+	// The i'th exponential bucket covers the interval
+	//   [scale * growth_factor^(i-1), scale * growth_factor^i)
+	// where i ranges from 1 to num_finite_buckets inclusive.
+	// Must be > 0.
+	Scale float64 `protobuf:"fixed64,3,opt,name=scale" json:"scale,omitempty"`
+}
+
+func (m *Distribution_ExponentialBuckets) Reset()         { *m = Distribution_ExponentialBuckets{} }
+func (m *Distribution_ExponentialBuckets) String() string { return proto.CompactTextString(m) }
+func (*Distribution_ExponentialBuckets) ProtoMessage()    {}
+func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int) {
+	return fileDescriptor1, []int{0, 1}
+}
+
+// Describing buckets with arbitrary user-provided width.
+type Distribution_ExplicitBuckets struct {
+	// 'bound' is a list of strictly increasing boundaries between
+	// buckets. Note that a list of length N-1 defines N buckets because
+	// of fenceposting. See comments on `bucket_options` for details.
+	//
+	// The i'th finite bucket covers the interval
+	//   [bound[i-1], bound[i])
+	// where i ranges from 1 to bound_size() - 1. Note that there are no
+	// finite buckets at all if 'bound' only contains a single element; in
+	// that special case the single bound defines the boundary between the
+	// underflow and overflow buckets.
+	//
+	// bucket number                   lower bound    upper bound
+	//  i == 0 (underflow)              -inf           bound[i]
+	//  0 < i < bound_size()            bound[i-1]     bound[i]
+	//  i == bound_size() (overflow)    bound[i-1]     +inf
+	Bounds []float64 `protobuf:"fixed64,1,rep,packed,name=bounds" json:"bounds,omitempty"`
+}
+
+func (m *Distribution_ExplicitBuckets) Reset()                    { *m = Distribution_ExplicitBuckets{} }
+func (m *Distribution_ExplicitBuckets) String() string            { return proto.CompactTextString(m) }
+func (*Distribution_ExplicitBuckets) ProtoMessage()               {}
+func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 2} }
+
+func init() {
+	proto.RegisterType((*Distribution)(nil), "google.api.servicecontrol.v1.Distribution")
+	proto.RegisterType((*Distribution_LinearBuckets)(nil), "google.api.servicecontrol.v1.Distribution.LinearBuckets")
+	proto.RegisterType((*Distribution_ExponentialBuckets)(nil), "google.api.servicecontrol.v1.Distribution.ExponentialBuckets")
+	proto.RegisterType((*Distribution_ExplicitBuckets)(nil), "google.api.servicecontrol.v1.Distribution.ExplicitBuckets")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 473 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0xcd, 0x6e, 0xd3, 0x40,
+	0x10, 0xc7, 0x31, 0x69, 0x52, 0x18, 0x12, 0x52, 0x96, 0x0f, 0x59, 0x11, 0x87, 0x08, 0x2e, 0x20,
+	0x21, 0x5b, 0x85, 0x03, 0xa8, 0x12, 0x97, 0x50, 0x2a, 0x0e, 0x08, 0xaa, 0xf0, 0x00, 0xd6, 0xc6,
+	0x1e, 0xbb, 0xab, 0xda, 0x3b, 0x66, 0x77, 0x9d, 0xf6, 0xc2, 0x3b, 0xf1, 0x78, 0x1c, 0x59, 0xef,
+	0x3a, 0x5f, 0xad, 0x54, 0x29, 0x97, 0x28, 0xf3, 0xff, 0x7b, 0xe6, 0x37, 0x3b, 0x3b, 0x0b, 0x3f,
+	0x0a, 0xa2, 0xa2, 0xc4, 0xa8, 0xa0, 0x92, 0xcb, 0x22, 0x22, 0x55, 0xc4, 0x05, 0xca, 0x5a, 0x91,
+	0xa1, 0xd8, 0x5b, 0xbc, 0x16, 0x3a, 0xb6, 0x3f, 0xb1, 0x46, 0xb5, 0x14, 0x29, 0xa6, 0x24, 0x8d,
+	0xa2, 0x32, 0x5e, 0x1e, 0xc7, 0x99, 0xd0, 0x46, 0x89, 0x45, 0x63, 0x04, 0xc9, 0xc8, 0xe5, 0xb0,
+	0x97, 0x5d, 0x3d, 0x9b, 0x10, 0xed, 0x26, 0x44, 0xcb, 0xe3, 0x57, 0x7f, 0x07, 0x30, 0x3c, 0xdd,
+	0x4a, 0x62, 0xcf, 0xa0, 0x9f, 0x52, 0x23, 0x4d, 0x18, 0x4c, 0x83, 0x37, 0xbd, 0xb9, 0x0f, 0x18,
+	0x83, 0x83, 0x0a, 0xb9, 0x0c, 0xef, 0x5b, 0x31, 0x98, 0xbb, 0xff, 0x2c, 0x84, 0xc3, 0x4a, 0x48,
+	0x51, 0x35, 0x55, 0xd8, 0x73, 0xf2, 0x2a, 0x74, 0x0e, 0xbf, 0x76, 0xce, 0x41, 0xe7, 0xf8, 0x90,
+	0x7d, 0x84, 0x50, 0x37, 0x55, 0x42, 0x79, 0xa2, 0x7f, 0x37, 0x5c, 0x61, 0x96, 0x64, 0xb8, 0x14,
+	0xbc, 0x25, 0x87, 0x7d, 0xf7, 0xe9, 0x73, 0xeb, 0xff, 0xcc, 0x7f, 0x79, 0xf7, 0x74, 0x65, 0xb2,
+	0xd7, 0x30, 0x5a, 0x34, 0xe9, 0x25, 0x9a, 0xc4, 0x35, 0xa4, 0xc3, 0xc1, 0xb4, 0x67, 0xdb, 0x1b,
+	0x7a, 0xf1, 0x8b, 0xd3, 0x18, 0x87, 0xc7, 0xa5, 0x90, 0xc8, 0x55, 0xe2, 0x65, 0x1d, 0x1e, 0xda,
+	0x9a, 0x8f, 0xde, 0x7f, 0x8a, 0xee, 0x9a, 0x41, 0xb4, 0x7d, 0xfe, 0xe8, 0xbb, 0x2b, 0x30, 0xf3,
+	0xf9, 0xdf, 0xee, 0xcd, 0x47, 0xe5, 0xb6, 0xc0, 0x6a, 0x78, 0x8a, 0xd7, 0x35, 0x49, 0x94, 0x46,
+	0xf0, 0x72, 0xcd, 0x79, 0xe0, 0x38, 0x9f, 0xf7, 0xe0, 0x7c, 0xdd, 0x54, 0xd9, 0xc0, 0x18, 0xde,
+	0x52, 0x59, 0x01, 0x47, 0x56, 0x2d, 0x45, 0x2a, 0xcc, 0x1a, 0xf7, 0xd0, 0xe1, 0x4e, 0xf6, 0xc3,
+	0xb9, 0x12, 0x1b, 0xd6, 0x18, 0x77, 0xa5, 0xc9, 0x25, 0x8c, 0x76, 0x0e, 0xcf, 0xde, 0x01, 0x93,
+	0xf6, 0xb2, 0x72, 0x7b, 0xab, 0x06, 0xd7, 0xec, 0x76, 0x2f, 0xfa, 0xf3, 0x23, 0xeb, 0x9c, 0x39,
+	0x63, 0xf5, 0xb5, 0x5d, 0x9c, 0x2b, 0x91, 0x99, 0x8b, 0x6e, 0x47, 0x7c, 0xc0, 0x5e, 0xc0, 0x80,
+	0xf2, 0x5c, 0xa3, 0xe9, 0x76, 0xa4, 0x8b, 0x26, 0x7f, 0x80, 0xdd, 0x9e, 0xc0, 0x9e, 0x44, 0xbb,
+	0x13, 0x85, 0xa2, 0x2b, 0x73, 0x91, 0xe4, 0x3c, 0x35, 0xa4, 0x3a, 0xf2, 0xd0, 0x8b, 0x67, 0x4e,
+	0x6b, 0xdb, 0xd2, 0x29, 0x2f, 0xb1, 0xe3, 0xfb, 0x60, 0xf2, 0x16, 0xc6, 0x37, 0x26, 0xd2, 0x76,
+	0xba, 0xb0, 0x6b, 0x94, 0xb5, 0xbc, 0x5e, 0xdb, 0xa9, 0x8f, 0x66, 0xe3, 0xf5, 0xe6, 0x51, 0xdd,
+	0x8e, 0x72, 0x76, 0x02, 0xd3, 0x94, 0xaa, 0x3b, 0x67, 0x3f, 0x7b, 0xb2, 0x3d, 0xfc, 0xf3, 0xf6,
+	0x1d, 0x9e, 0x07, 0xff, 0x82, 0x60, 0x31, 0x70, 0x6f, 0xf2, 0xc3, 0xff, 0x00, 0x00, 0x00, 0xff,
+	0xff, 0xfb, 0xfd, 0x43, 0xc4, 0xe5, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/distribution.proto b/googleapis/api/servicecontrol/v1/distribution.proto
new file mode 100644
index 00000000..83af1311
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/distribution.proto
@@ -0,0 +1,158 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "DistributionProto";
+option java_package = "com.google.api.servicecontrol.v1";
+
+
+// Distribution represents a frequency distribution of double-valued sample
+// points. It contains the size of the population of sample points plus
+// additional optional information:
+//
+//   - the arithmetic mean of the samples
+//   - the minimum and maximum of the samples
+//   - the sum-squared-deviation of the samples, used to compute variance
+//   - a histogram of the values of the sample points
+message Distribution {
+  // Describing buckets with constant width.
+  message LinearBuckets {
+    // The number of finite buckets. With the underflow and overflow buckets,
+    // the total number of buckets is `num_finite_buckets` + 2.
+    // See comments on `bucket_options` for details.
+    int32 num_finite_buckets = 1;
+
+    // The i'th linear bucket covers the interval
+    //   [offset + (i-1) * width, offset + i * width)
+    // where i ranges from 1 to num_finite_buckets, inclusive.
+    // Must be strictly positive.
+    double width = 2;
+
+    // The i'th linear bucket covers the interval
+    //   [offset + (i-1) * width, offset + i * width)
+    // where i ranges from 1 to num_finite_buckets, inclusive.
+    double offset = 3;
+  }
+
+  // Describing buckets with exponentially growing width.
+  message ExponentialBuckets {
+    // The number of finite buckets. With the underflow and overflow buckets,
+    // the total number of buckets is `num_finite_buckets` + 2.
+    // See comments on `bucket_options` for details.
+    int32 num_finite_buckets = 1;
+
+    // The i'th exponential bucket covers the interval
+    //   [scale * growth_factor^(i-1), scale * growth_factor^i)
+    // where i ranges from 1 to num_finite_buckets inclusive.
+    // Must be larger than 1.0.
+    double growth_factor = 2;
+
+    // The i'th exponential bucket covers the interval
+    //   [scale * growth_factor^(i-1), scale * growth_factor^i)
+    // where i ranges from 1 to num_finite_buckets inclusive.
+    // Must be > 0.
+    double scale = 3;
+  }
+
+  // Describing buckets with arbitrary user-provided width.
+  message ExplicitBuckets {
+    // 'bound' is a list of strictly increasing boundaries between
+    // buckets. Note that a list of length N-1 defines N buckets because
+    // of fenceposting. See comments on `bucket_options` for details.
+    //
+    // The i'th finite bucket covers the interval
+    //   [bound[i-1], bound[i])
+    // where i ranges from 1 to bound_size() - 1. Note that there are no
+    // finite buckets at all if 'bound' only contains a single element; in
+    // that special case the single bound defines the boundary between the
+    // underflow and overflow buckets.
+    //
+    // bucket number                   lower bound    upper bound
+    //  i == 0 (underflow)              -inf           bound[i]
+    //  0 < i < bound_size()            bound[i-1]     bound[i]
+    //  i == bound_size() (overflow)    bound[i-1]     +inf
+    repeated double bounds = 1;
+  }
+
+  // The total number of samples in the distribution. Must be >= 0.
+  int64 count = 1;
+
+  // The arithmetic mean of the samples in the distribution. If `count` is
+  // zero then this field must be zero.
+  double mean = 2;
+
+  // The minimum of the population of values. Ignored if `count` is zero.
+  double minimum = 3;
+
+  // The maximum of the population of values. Ignored if `count` is zero.
+  double maximum = 4;
+
+  // The sum of squared deviations from the mean:
+  //   Sum[i=1..count]((x_i - mean)^2)
+  // where each x_i is a sample values. If `count` is zero then this field
+  // must be zero, otherwise validation of the request fails.
+  double sum_of_squared_deviation = 5;
+
+  // The number of samples in each histogram bucket. `bucket_counts` are
+  // optional. If present, they must sum to the `count` value.
+  //
+  // The buckets are defined below in `bucket_option`. There are N buckets.
+  // `bucket_counts[0]` is the number of samples in the underflow bucket.
+  // `bucket_counts[1]` to `bucket_counts[N-1]` are the numbers of samples
+  // in each of the finite buckets. And `bucket_counts[N] is the number
+  // of samples in the overflow bucket. See the comments of `bucket_option`
+  // below for more details.
+  //
+  // Any suffix of trailing zeros may be omitted.
+  repeated int64 bucket_counts = 6;
+
+  // Defines the buckets in the histogram. `bucket_option` and `bucket_counts`
+  // must be both set, or both unset.
+  //
+  // Buckets are numbered the the range of [0, N], with a total of N+1 buckets.
+  // There must be at least two buckets (a single-bucket histogram gives
+  // no information that isn't already provided by `count`).
+  //
+  // The first bucket is the underflow bucket which has a lower bound
+  // of -inf. The last bucket is the overflow bucket which has an
+  // upper bound of +inf. All other buckets (if any) are called "finite"
+  // buckets because they have finite lower and upper bounds. As described
+  // below, there are three ways to define the finite buckets.
+  //
+  //   (1) Buckets with constant width.
+  //   (2) Buckets with exponentially growing widths.
+  //   (3) Buckets with arbitrary user-provided widths.
+  //
+  // In all cases, the buckets cover the entire real number line (-inf,
+  // +inf). Bucket upper bounds are exclusive and lower bounds are
+  // inclusive. The upper bound of the underflow bucket is equal to the
+  // lower bound of the smallest finite bucket; the lower bound of the
+  // overflow bucket is equal to the upper bound of the largest finite
+  // bucket.
+  oneof bucket_option {
+    // Buckets with constant width.
+    LinearBuckets linear_buckets = 7;
+
+    // Buckets with exponentially growing width.
+    ExponentialBuckets exponential_buckets = 8;
+
+    // Buckets with arbitrary user-provided width.
+    ExplicitBuckets explicit_buckets = 9;
+  }
+}
diff --git a/googleapis/api/servicecontrol/v1/log_entry.pb.go b/googleapis/api/servicecontrol/v1/log_entry.pb.go
new file mode 100644
index 00000000..1747a991
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/log_entry.pb.go
@@ -0,0 +1,240 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto
+// DO NOT EDIT!
+
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_logging_type "google.golang.org/genproto/googleapis/logging/type"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/struct"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// An individual log entry.
+type LogEntry struct {
+	// Required. The log to which this log entry belongs. Examples: `"syslog"`,
+	// `"book_log"`.
+	Name string `protobuf:"bytes,10,opt,name=name" json:"name,omitempty"`
+	// The time the event described by the log entry occurred. If
+	// omitted, defaults to operation start time.
+	Timestamp *google_protobuf3.Timestamp `protobuf:"bytes,11,opt,name=timestamp" json:"timestamp,omitempty"`
+	// The severity of the log entry. The default value is
+	// `LogSeverity.DEFAULT`.
+	Severity google_logging_type.LogSeverity `protobuf:"varint,12,opt,name=severity,enum=google.logging.type.LogSeverity" json:"severity,omitempty"`
+	// A unique ID for the log entry used for deduplication. If omitted,
+	// the implementation will generate one based on operation_id.
+	InsertId string `protobuf:"bytes,4,opt,name=insert_id,json=insertId" json:"insert_id,omitempty"`
+	// A set of user-defined (key, value) data that provides additional
+	// information about the log entry.
+	Labels map[string]string `protobuf:"bytes,13,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// The log entry payload, which can be one of multiple types.
+	//
+	// Types that are valid to be assigned to Payload:
+	//	*LogEntry_ProtoPayload
+	//	*LogEntry_TextPayload
+	//	*LogEntry_StructPayload
+	Payload isLogEntry_Payload `protobuf_oneof:"payload"`
+}
+
+func (m *LogEntry) Reset()                    { *m = LogEntry{} }
+func (m *LogEntry) String() string            { return proto.CompactTextString(m) }
+func (*LogEntry) ProtoMessage()               {}
+func (*LogEntry) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+type isLogEntry_Payload interface {
+	isLogEntry_Payload()
+}
+
+type LogEntry_ProtoPayload struct {
+	ProtoPayload *google_protobuf1.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,oneof"`
+}
+type LogEntry_TextPayload struct {
+	TextPayload string `protobuf:"bytes,3,opt,name=text_payload,json=textPayload,oneof"`
+}
+type LogEntry_StructPayload struct {
+	StructPayload *google_protobuf2.Struct `protobuf:"bytes,6,opt,name=struct_payload,json=structPayload,oneof"`
+}
+
+func (*LogEntry_ProtoPayload) isLogEntry_Payload()  {}
+func (*LogEntry_TextPayload) isLogEntry_Payload()   {}
+func (*LogEntry_StructPayload) isLogEntry_Payload() {}
+
+func (m *LogEntry) GetPayload() isLogEntry_Payload {
+	if m != nil {
+		return m.Payload
+	}
+	return nil
+}
+
+func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.Timestamp
+	}
+	return nil
+}
+
+func (m *LogEntry) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *LogEntry) GetProtoPayload() *google_protobuf1.Any {
+	if x, ok := m.GetPayload().(*LogEntry_ProtoPayload); ok {
+		return x.ProtoPayload
+	}
+	return nil
+}
+
+func (m *LogEntry) GetTextPayload() string {
+	if x, ok := m.GetPayload().(*LogEntry_TextPayload); ok {
+		return x.TextPayload
+	}
+	return ""
+}
+
+func (m *LogEntry) GetStructPayload() *google_protobuf2.Struct {
+	if x, ok := m.GetPayload().(*LogEntry_StructPayload); ok {
+		return x.StructPayload
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*LogEntry) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _LogEntry_OneofMarshaler, _LogEntry_OneofUnmarshaler, _LogEntry_OneofSizer, []interface{}{
+		(*LogEntry_ProtoPayload)(nil),
+		(*LogEntry_TextPayload)(nil),
+		(*LogEntry_StructPayload)(nil),
+	}
+}
+
+func _LogEntry_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*LogEntry)
+	// payload
+	switch x := m.Payload.(type) {
+	case *LogEntry_ProtoPayload:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.ProtoPayload); err != nil {
+			return err
+		}
+	case *LogEntry_TextPayload:
+		b.EncodeVarint(3<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.TextPayload)
+	case *LogEntry_StructPayload:
+		b.EncodeVarint(6<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.StructPayload); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("LogEntry.Payload has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _LogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*LogEntry)
+	switch tag {
+	case 2: // payload.proto_payload
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(google_protobuf1.Any)
+		err := b.DecodeMessage(msg)
+		m.Payload = &LogEntry_ProtoPayload{msg}
+		return true, err
+	case 3: // payload.text_payload
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Payload = &LogEntry_TextPayload{x}
+		return true, err
+	case 6: // payload.struct_payload
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(google_protobuf2.Struct)
+		err := b.DecodeMessage(msg)
+		m.Payload = &LogEntry_StructPayload{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _LogEntry_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*LogEntry)
+	// payload
+	switch x := m.Payload.(type) {
+	case *LogEntry_ProtoPayload:
+		s := proto.Size(x.ProtoPayload)
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *LogEntry_TextPayload:
+		n += proto.SizeVarint(3<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.TextPayload)))
+		n += len(x.TextPayload)
+	case *LogEntry_StructPayload:
+		s := proto.Size(x.StructPayload)
+		n += proto.SizeVarint(6<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+func init() {
+	proto.RegisterType((*LogEntry)(nil), "google.api.servicecontrol.v1.LogEntry")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 462 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x6f, 0xd3, 0x30,
+	0x14, 0xc7, 0xe9, 0x3a, 0x4a, 0xf3, 0xda, 0x4e, 0xc8, 0x9a, 0x44, 0x14, 0x38, 0x54, 0x70, 0xe1,
+	0x64, 0x6b, 0x9d, 0x90, 0x06, 0xe3, 0x00, 0x95, 0x26, 0x31, 0xd8, 0x61, 0xca, 0xb8, 0x57, 0x6e,
+	0xeb, 0x19, 0x0b, 0xd7, 0x8e, 0x12, 0x37, 0x22, 0x1f, 0x99, 0x6f, 0x81, 0xf3, 0xec, 0x74, 0xa0,
+	0x49, 0x2b, 0xda, 0xa1, 0xcd, 0xb3, 0xfd, 0xff, 0xbd, 0xf7, 0x7f, 0xcf, 0x86, 0x6f, 0xd2, 0x5a,
+	0xa9, 0x05, 0x95, 0x56, 0x73, 0x23, 0xa9, 0x2d, 0x25, 0x93, 0xc2, 0x14, 0xa5, 0x75, 0x96, 0x85,
+	0x23, 0x5e, 0xa8, 0x8a, 0xf9, 0x3f, 0x56, 0x89, 0xb2, 0x56, 0x2b, 0xb1, 0xb2, 0xc6, 0x95, 0x56,
+	0xb3, 0xfa, 0x84, 0x69, 0x2b, 0x17, 0xc2, 0xaf, 0x1a, 0x8a, 0x00, 0x79, 0x15, 0x93, 0x79, 0x35,
+	0xfd, 0x57, 0x4d, 0xeb, 0x93, 0xec, 0xf2, 0x31, 0xa5, 0x6e, 0x95, 0x64, 0xdc, 0x18, 0xeb, 0xb8,
+	0x53, 0xd6, 0x54, 0xa1, 0x50, 0x76, 0xf1, 0x7f, 0xa9, 0xbc, 0x3f, 0xa9, 0x8c, 0x64, 0xae, 0x29,
+	0x04, 0x9a, 0xad, 0x44, 0x2d, 0x4a, 0xe5, 0xa2, 0xdf, 0x8c, 0x49, 0xe5, 0x7e, 0x6c, 0x97, 0x74,
+	0x65, 0x37, 0x2c, 0xa4, 0x62, 0x78, 0xb0, 0xdc, 0xde, 0xb2, 0xa2, 0x85, 0xbc, 0x1b, 0xd3, 0xb4,
+	0xbf, 0x08, 0xbc, 0xdb, 0x0f, 0x54, 0xae, 0xdc, 0xae, 0x5c, 0xfc, 0x44, 0xec, 0x7c, 0x3f, 0xe6,
+	0xd4, 0x46, 0x54, 0x8e, 0x6f, 0x8a, 0xbb, 0x28, 0xc0, 0xaf, 0x7f, 0xf7, 0x61, 0x78, 0x65, 0xe5,
+	0x45, 0x3b, 0x67, 0x42, 0xe0, 0xd0, 0xf0, 0x8d, 0x48, 0x61, 0xda, 0x7b, 0x9b, 0xe4, 0x18, 0x93,
+	0x33, 0x48, 0x76, 0x4c, 0x3a, 0xf2, 0x07, 0xa3, 0x59, 0x46, 0xe3, 0x80, 0xba, 0x32, 0xf4, 0x7b,
+	0xa7, 0xc8, 0xef, 0xc4, 0xe4, 0x23, 0x0c, 0xbb, 0x89, 0xa4, 0x63, 0x0f, 0x1e, 0xcd, 0xa6, 0x1d,
+	0x18, 0x47, 0x47, 0x5b, 0x77, 0xd4, 0x97, 0xbf, 0x89, 0xba, 0x7c, 0x47, 0x90, 0x97, 0x90, 0x28,
+	0xe3, 0x6f, 0xca, 0x2d, 0xd4, 0x3a, 0x3d, 0x44, 0x43, 0xc3, 0xb0, 0x71, 0xb9, 0x26, 0x5f, 0x61,
+	0xa0, 0xf9, 0x52, 0xe8, 0x2a, 0x9d, 0x4c, 0xfb, 0xde, 0xd1, 0x8c, 0x3e, 0xf4, 0x36, 0x68, 0xd7,
+	0x20, 0xbd, 0x42, 0x08, 0xe3, 0x3c, 0x66, 0x20, 0xe7, 0x30, 0xc1, 0x3e, 0x16, 0x05, 0x6f, 0xb4,
+	0xe5, 0xeb, 0xf4, 0x00, 0x9b, 0x3c, 0xbe, 0xd7, 0xe4, 0x67, 0xd3, 0x7c, 0x79, 0x92, 0x8f, 0x71,
+	0x7d, 0x1d, 0xb4, 0xe4, 0x0d, 0x8c, 0x9d, 0xf8, 0xe5, 0x76, 0x6c, 0xbf, 0x35, 0xea, 0x55, 0xa3,
+	0x76, 0xb7, 0x13, 0x7d, 0x82, 0xa3, 0x70, 0x61, 0x3b, 0xd9, 0x00, 0x4b, 0xbc, 0xb8, 0x57, 0xe2,
+	0x06, 0x65, 0x9e, 0x9f, 0x04, 0x20, 0x66, 0xc8, 0xde, 0xc3, 0xe8, 0x2f, 0xeb, 0xe4, 0x39, 0xf4,
+	0x7f, 0x8a, 0x26, 0xed, 0xe1, 0x54, 0xda, 0x90, 0x1c, 0xc3, 0xd3, 0x9a, 0xeb, 0xad, 0x40, 0xf3,
+	0x49, 0x1e, 0x16, 0x1f, 0x0e, 0xce, 0x7a, 0xf3, 0x04, 0x9e, 0xc5, 0xaa, 0xf3, 0x53, 0x98, 0xfa,
+	0x37, 0xf2, 0xe0, 0xa8, 0xe6, 0x93, 0x6e, 0x56, 0xd7, 0xd8, 0x66, 0x6f, 0x39, 0x40, 0x73, 0xa7,
+	0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0x34, 0xe0, 0xb6, 0xcb, 0x03, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/log_entry.proto b/googleapis/api/servicecontrol/v1/log_entry.proto
new file mode 100644
index 00000000..2a93d6c0
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/log_entry.proto
@@ -0,0 +1,66 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/logging/type/log_severity.proto"; // from google/logging/type/log_severity.proto
+import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
+import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "LogEntryProto";
+option java_package = "com.google.api.servicecontrol.v1";
+
+
+// An individual log entry.
+message LogEntry {
+  // Required. The log to which this log entry belongs. Examples: `"syslog"`,
+  // `"book_log"`.
+  string name = 10;
+
+  // The time the event described by the log entry occurred. If
+  // omitted, defaults to operation start time.
+  google.protobuf.Timestamp timestamp = 11;
+
+  // The severity of the log entry. The default value is
+  // `LogSeverity.DEFAULT`.
+  google.logging.type.LogSeverity severity = 12;
+
+  // A unique ID for the log entry used for deduplication. If omitted,
+  // the implementation will generate one based on operation_id.
+  string insert_id = 4;
+
+  // A set of user-defined (key, value) data that provides additional
+  // information about the log entry.
+  map<string, string> labels = 13;
+
+  // The log entry payload, which can be one of multiple types.
+  oneof payload {
+    // The log entry payload, represented as a protocol buffer that is
+    // expressed as a JSON object. You can only pass `protoPayload`
+    // values that belong to a set of approved types.
+    google.protobuf.Any proto_payload = 2;
+
+    // The log entry payload, represented as a Unicode string (UTF-8).
+    string text_payload = 3;
+
+    // The log entry payload, represented as a structure that
+    // is expressed as a JSON object.
+    google.protobuf.Struct struct_payload = 6;
+  }
+}
diff --git a/googleapis/api/servicecontrol/v1/metric_value.pb.go b/googleapis/api/servicecontrol/v1/metric_value.pb.go
new file mode 100644
index 00000000..468e1d5c
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/metric_value.pb.go
@@ -0,0 +1,320 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto
+// DO NOT EDIT!
+
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+import _ "google.golang.org/genproto/googleapis/type/money"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Represents a single metric value.
+type MetricValue struct {
+	// The labels describing the metric value.
+	// See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for
+	// the overriding relationship.
+	Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// The start of the time period over which this metric value's measurement
+	// applies. The time period has different semantics for different metric
+	// types (cumulative, delta, and gauge). See the metric definition
+	// documentation in the service configuration for details.
+	StartTime *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// The end of the time period over which this metric value's measurement
+	// applies.
+	EndTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
+	// The value. The type of value used in the request must
+	// agree with the metric definition in the service configuration, otherwise
+	// the MetricValue is rejected.
+	//
+	// Types that are valid to be assigned to Value:
+	//	*MetricValue_BoolValue
+	//	*MetricValue_Int64Value
+	//	*MetricValue_DoubleValue
+	//	*MetricValue_StringValue
+	//	*MetricValue_DistributionValue
+	Value isMetricValue_Value `protobuf_oneof:"value"`
+}
+
+func (m *MetricValue) Reset()                    { *m = MetricValue{} }
+func (m *MetricValue) String() string            { return proto.CompactTextString(m) }
+func (*MetricValue) ProtoMessage()               {}
+func (*MetricValue) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+
+type isMetricValue_Value interface {
+	isMetricValue_Value()
+}
+
+type MetricValue_BoolValue struct {
+	BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,oneof"`
+}
+type MetricValue_Int64Value struct {
+	Int64Value int64 `protobuf:"varint,5,opt,name=int64_value,json=int64Value,oneof"`
+}
+type MetricValue_DoubleValue struct {
+	DoubleValue float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue,oneof"`
+}
+type MetricValue_StringValue struct {
+	StringValue string `protobuf:"bytes,7,opt,name=string_value,json=stringValue,oneof"`
+}
+type MetricValue_DistributionValue struct {
+	DistributionValue *Distribution `protobuf:"bytes,8,opt,name=distribution_value,json=distributionValue,oneof"`
+}
+
+func (*MetricValue_BoolValue) isMetricValue_Value()         {}
+func (*MetricValue_Int64Value) isMetricValue_Value()        {}
+func (*MetricValue_DoubleValue) isMetricValue_Value()       {}
+func (*MetricValue_StringValue) isMetricValue_Value()       {}
+func (*MetricValue_DistributionValue) isMetricValue_Value() {}
+
+func (m *MetricValue) GetValue() isMetricValue_Value {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *MetricValue) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *MetricValue) GetStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *MetricValue) GetEndTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *MetricValue) GetBoolValue() bool {
+	if x, ok := m.GetValue().(*MetricValue_BoolValue); ok {
+		return x.BoolValue
+	}
+	return false
+}
+
+func (m *MetricValue) GetInt64Value() int64 {
+	if x, ok := m.GetValue().(*MetricValue_Int64Value); ok {
+		return x.Int64Value
+	}
+	return 0
+}
+
+func (m *MetricValue) GetDoubleValue() float64 {
+	if x, ok := m.GetValue().(*MetricValue_DoubleValue); ok {
+		return x.DoubleValue
+	}
+	return 0
+}
+
+func (m *MetricValue) GetStringValue() string {
+	if x, ok := m.GetValue().(*MetricValue_StringValue); ok {
+		return x.StringValue
+	}
+	return ""
+}
+
+func (m *MetricValue) GetDistributionValue() *Distribution {
+	if x, ok := m.GetValue().(*MetricValue_DistributionValue); ok {
+		return x.DistributionValue
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*MetricValue) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _MetricValue_OneofMarshaler, _MetricValue_OneofUnmarshaler, _MetricValue_OneofSizer, []interface{}{
+		(*MetricValue_BoolValue)(nil),
+		(*MetricValue_Int64Value)(nil),
+		(*MetricValue_DoubleValue)(nil),
+		(*MetricValue_StringValue)(nil),
+		(*MetricValue_DistributionValue)(nil),
+	}
+}
+
+func _MetricValue_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*MetricValue)
+	// value
+	switch x := m.Value.(type) {
+	case *MetricValue_BoolValue:
+		t := uint64(0)
+		if x.BoolValue {
+			t = 1
+		}
+		b.EncodeVarint(4<<3 | proto.WireVarint)
+		b.EncodeVarint(t)
+	case *MetricValue_Int64Value:
+		b.EncodeVarint(5<<3 | proto.WireVarint)
+		b.EncodeVarint(uint64(x.Int64Value))
+	case *MetricValue_DoubleValue:
+		b.EncodeVarint(6<<3 | proto.WireFixed64)
+		b.EncodeFixed64(math.Float64bits(x.DoubleValue))
+	case *MetricValue_StringValue:
+		b.EncodeVarint(7<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.StringValue)
+	case *MetricValue_DistributionValue:
+		b.EncodeVarint(8<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.DistributionValue); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("MetricValue.Value has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _MetricValue_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*MetricValue)
+	switch tag {
+	case 4: // value.bool_value
+		if wire != proto.WireVarint {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeVarint()
+		m.Value = &MetricValue_BoolValue{x != 0}
+		return true, err
+	case 5: // value.int64_value
+		if wire != proto.WireVarint {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeVarint()
+		m.Value = &MetricValue_Int64Value{int64(x)}
+		return true, err
+	case 6: // value.double_value
+		if wire != proto.WireFixed64 {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeFixed64()
+		m.Value = &MetricValue_DoubleValue{math.Float64frombits(x)}
+		return true, err
+	case 7: // value.string_value
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Value = &MetricValue_StringValue{x}
+		return true, err
+	case 8: // value.distribution_value
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Distribution)
+		err := b.DecodeMessage(msg)
+		m.Value = &MetricValue_DistributionValue{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _MetricValue_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*MetricValue)
+	// value
+	switch x := m.Value.(type) {
+	case *MetricValue_BoolValue:
+		n += proto.SizeVarint(4<<3 | proto.WireVarint)
+		n += 1
+	case *MetricValue_Int64Value:
+		n += proto.SizeVarint(5<<3 | proto.WireVarint)
+		n += proto.SizeVarint(uint64(x.Int64Value))
+	case *MetricValue_DoubleValue:
+		n += proto.SizeVarint(6<<3 | proto.WireFixed64)
+		n += 8
+	case *MetricValue_StringValue:
+		n += proto.SizeVarint(7<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.StringValue)))
+		n += len(x.StringValue)
+	case *MetricValue_DistributionValue:
+		s := proto.Size(x.DistributionValue)
+		n += proto.SizeVarint(8<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Represents a set of metric values in the same metric.
+// Each metric value in the set should have a unique combination of start time,
+// end time, and label values.
+type MetricValueSet struct {
+	// The metric name defined in the service configuration.
+	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
+	// The values in this metric.
+	MetricValues []*MetricValue `protobuf:"bytes,2,rep,name=metric_values,json=metricValues" json:"metric_values,omitempty"`
+}
+
+func (m *MetricValueSet) Reset()                    { *m = MetricValueSet{} }
+func (m *MetricValueSet) String() string            { return proto.CompactTextString(m) }
+func (*MetricValueSet) ProtoMessage()               {}
+func (*MetricValueSet) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+
+func (m *MetricValueSet) GetMetricValues() []*MetricValue {
+	if m != nil {
+		return m.MetricValues
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*MetricValue)(nil), "google.api.servicecontrol.v1.MetricValue")
+	proto.RegisterType((*MetricValueSet)(nil), "google.api.servicecontrol.v1.MetricValueSet")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto", fileDescriptor3)
+}
+
+var fileDescriptor3 = []byte{
+	// 488 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xcf, 0x6f, 0xd3, 0x30,
+	0x14, 0xc7, 0x49, 0xc3, 0xfa, 0xe3, 0x65, 0x20, 0x08, 0x1c, 0xaa, 0x0a, 0x89, 0x32, 0x2e, 0xc0,
+	0xc1, 0xd6, 0x80, 0x21, 0x06, 0x3b, 0x55, 0x20, 0x81, 0xc4, 0xaa, 0x29, 0x20, 0x2e, 0x1c, 0xa6,
+	0xa4, 0xf5, 0x8c, 0x45, 0x62, 0x47, 0xb1, 0x53, 0xa9, 0x47, 0xfe, 0x6b, 0x2e, 0x48, 0x3c, 0xff,
+	0x28, 0xcb, 0x2e, 0xa5, 0x62, 0x97, 0x28, 0x7e, 0xfe, 0x7c, 0xbf, 0x7e, 0x7e, 0xef, 0x19, 0xe6,
+	0x5c, 0x29, 0x5e, 0x32, 0xc2, 0x55, 0x99, 0x4b, 0x4e, 0x54, 0xc3, 0x29, 0x67, 0xb2, 0x6e, 0x94,
+	0x51, 0xd4, 0x6f, 0xe5, 0xb5, 0xd0, 0x14, 0x3f, 0x54, 0xb3, 0x66, 0x25, 0x16, 0x6c, 0xa1, 0xa4,
+	0x69, 0x54, 0x49, 0x57, 0x87, 0xb4, 0x62, 0xa6, 0x11, 0x8b, 0xf3, 0x55, 0x5e, 0xb6, 0x8c, 0x38,
+	0x4d, 0xfa, 0x20, 0xf8, 0xa1, 0x80, 0x5c, 0x15, 0x90, 0xd5, 0xe1, 0xe4, 0xe3, 0xff, 0x9c, 0x76,
+	0x21, 0x38, 0xcd, 0xa5, 0x54, 0x26, 0x37, 0x42, 0x49, 0xed, 0x0f, 0x9a, 0x5c, 0x2b, 0xf1, 0xa5,
+	0xd0, 0x98, 0x79, 0xd1, 0x5a, 0xc3, 0xe0, 0xf7, 0x96, 0x0b, 0xf3, 0xbd, 0x2d, 0xc8, 0x42, 0x55,
+	0xd4, 0x7b, 0x52, 0xb7, 0x51, 0xb4, 0x17, 0xb4, 0x36, 0xeb, 0x9a, 0x69, 0x6a, 0x44, 0xc5, 0xb4,
+	0xc9, 0xab, 0xfa, 0xf2, 0x2f, 0x88, 0x4f, 0x76, 0x4b, 0xc6, 0xda, 0xd0, 0x4a, 0x49, 0xb6, 0xf6,
+	0x5f, 0xaf, 0x3e, 0xf8, 0x1d, 0x43, 0x72, 0xea, 0x4a, 0xf9, 0xd5, 0x56, 0x32, 0x3d, 0x85, 0x7e,
+	0x99, 0x17, 0xac, 0xd4, 0xe3, 0x68, 0x1a, 0x3f, 0x49, 0x9e, 0x1f, 0x91, 0x6d, 0x45, 0x25, 0x1d,
+	0x29, 0xf9, 0xe4, 0x74, 0xef, 0x71, 0x6f, 0x9d, 0x05, 0x93, 0xf4, 0x18, 0x00, 0x73, 0x6d, 0xcc,
+	0xb9, 0xcd, 0x7a, 0xdc, 0x9b, 0x46, 0x68, 0x39, 0xd9, 0x58, 0x6e, 0xee, 0x48, 0xbe, 0x6c, 0xae,
+	0x94, 0x8d, 0x1c, 0x6d, 0xd7, 0xe9, 0x11, 0x0c, 0x99, 0x5c, 0x7a, 0x61, 0xfc, 0x4f, 0xe1, 0x00,
+	0x59, 0x27, 0x7b, 0x08, 0x50, 0x28, 0x55, 0xfa, 0xc1, 0x18, 0xdf, 0x44, 0xe1, 0xf0, 0xc3, 0x8d,
+	0x6c, 0x64, 0x63, 0xfe, 0x86, 0x8f, 0x20, 0x11, 0xd2, 0xbc, 0x7a, 0x19, 0x88, 0x3d, 0x24, 0x62,
+	0x24, 0xc0, 0x05, 0x3d, 0xf2, 0x18, 0xf6, 0x97, 0xaa, 0x2d, 0x4a, 0x16, 0x98, 0x3e, 0x32, 0x11,
+	0x32, 0x89, 0x8f, 0xfe, 0x85, 0x6c, 0x23, 0x25, 0x0f, 0xd0, 0x00, 0xa1, 0x91, 0x85, 0x7c, 0xd4,
+	0x43, 0xdf, 0x20, 0xed, 0xf6, 0x3b, 0xa0, 0x43, 0x77, 0x9d, 0x67, 0xdb, 0x4b, 0xfb, 0xae, 0xa3,
+	0x43, 0xdb, 0xbb, 0x5d, 0x1f, 0x67, 0x3e, 0x39, 0x86, 0xa4, 0x53, 0xf3, 0xf4, 0x0e, 0xc4, 0x3f,
+	0xd8, 0x1a, 0xfb, 0x86, 0x79, 0x64, 0xf6, 0x37, 0xbd, 0x0f, 0x7b, 0xfe, 0xc0, 0x9e, 0x8b, 0xf9,
+	0xc5, 0x9b, 0xde, 0xeb, 0x68, 0x36, 0x08, 0x3b, 0x07, 0x3f, 0x23, 0xb8, 0xdd, 0x69, 0xe2, 0x67,
+	0x66, 0xb0, 0x82, 0x49, 0x78, 0x5c, 0x32, 0xc7, 0xda, 0x7b, 0x3f, 0xf0, 0xa1, 0x39, 0x46, 0xd2,
+	0x39, 0xdc, 0xea, 0xbe, 0x3e, 0x8d, 0xf6, 0x76, 0x54, 0x9e, 0xee, 0x3c, 0x2a, 0xd9, 0x7e, 0x75,
+	0xb9, 0xd0, 0xb3, 0x13, 0x98, 0xe2, 0xe4, 0x6f, 0x55, 0xcf, 0xee, 0x5d, 0x4d, 0xf2, 0xcc, 0x4e,
+	0xc0, 0x59, 0xf4, 0x2b, 0x8a, 0x8a, 0xbe, 0x9b, 0x86, 0x17, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff,
+	0xde, 0xbe, 0xad, 0x24, 0x4e, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/metric_value.proto b/googleapis/api/servicecontrol/v1/metric_value.proto
new file mode 100644
index 00000000..5711b393
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/metric_value.proto
@@ -0,0 +1,77 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto"; // from google/api/servicecontrol/v1/distribution.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+import "google.golang.org/genproto/googleapis/type/money/money.proto"; // from google/type/money.proto
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "MetricValueSetProto";
+option java_package = "com.google.api.servicecontrol.v1";
+
+
+// Represents a single metric value.
+message MetricValue {
+  // The labels describing the metric value.
+  // See comments on [google.api.servicecontrol.v1.Operation.labels][google.api.servicecontrol.v1.Operation.labels] for
+  // the overriding relationship.
+  map<string, string> labels = 1;
+
+  // The start of the time period over which this metric value's measurement
+  // applies. The time period has different semantics for different metric
+  // types (cumulative, delta, and gauge). See the metric definition
+  // documentation in the service configuration for details.
+  google.protobuf.Timestamp start_time = 2;
+
+  // The end of the time period over which this metric value's measurement
+  // applies.
+  google.protobuf.Timestamp end_time = 3;
+
+  // The value. The type of value used in the request must
+  // agree with the metric definition in the service configuration, otherwise
+  // the MetricValue is rejected.
+  oneof value {
+    // A boolean value.
+    bool bool_value = 4;
+
+    // A signed 64-bit integer value.
+    int64 int64_value = 5;
+
+    // A double precision floating point value.
+    double double_value = 6;
+
+    // A text string value.
+    string string_value = 7;
+
+    // A distribution value.
+    Distribution distribution_value = 8;
+  }
+}
+
+// Represents a set of metric values in the same metric.
+// Each metric value in the set should have a unique combination of start time,
+// end time, and label values.
+message MetricValueSet {
+  // The metric name defined in the service configuration.
+  string metric_name = 1;
+
+  // The values in this metric.
+  repeated MetricValue metric_values = 2;
+}
diff --git a/googleapis/api/servicecontrol/v1/operation.pb.go b/googleapis/api/servicecontrol/v1/operation.pb.go
new file mode 100644
index 00000000..e50c7a8d
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/operation.pb.go
@@ -0,0 +1,190 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto
+// DO NOT EDIT!
+
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Defines the importance of the data contained in the operation.
+type Operation_Importance int32
+
+const (
+	// The API implementation may cache and aggregate the data.
+	// The data may be lost when rare and unexpected system failures occur.
+	Operation_LOW Operation_Importance = 0
+	// The API implementation doesn't cache and aggregate the data.
+	// If the method returns successfully, it's guaranteed that the data has
+	// been persisted in durable storage.
+	Operation_HIGH Operation_Importance = 1
+)
+
+var Operation_Importance_name = map[int32]string{
+	0: "LOW",
+	1: "HIGH",
+}
+var Operation_Importance_value = map[string]int32{
+	"LOW":  0,
+	"HIGH": 1,
+}
+
+func (x Operation_Importance) String() string {
+	return proto.EnumName(Operation_Importance_name, int32(x))
+}
+func (Operation_Importance) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{0, 0} }
+
+// Represents information regarding an operation.
+type Operation struct {
+	// Identity of the operation. This must be unique within the scope of the
+	// service that generated the operation. If the service calls
+	// Check() and Report() on the same operation, the two calls should carry
+	// the same id.
+	//
+	// UUID version 4 is recommended, though not required.
+	// In scenarios where an operation is computed from existing information
+	// and an idempotent id is desirable for deduplication purpose, UUID version 5
+	// is recommended. See RFC 4122 for details.
+	OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId" json:"operation_id,omitempty"`
+	// Fully qualified name of the operation. Reserved for future use.
+	OperationName string `protobuf:"bytes,2,opt,name=operation_name,json=operationName" json:"operation_name,omitempty"`
+	// Identity of the consumer who is using the service.
+	// This field should be filled in for the operations initiated by a
+	// consumer, but not for service-initiated operations that are
+	// not related to a specific consumer.
+	//
+	// This can be in one of the following formats:
+	//   project:<project_id>,
+	//   project_number:<project_number>,
+	//   api_key:<api_key>.
+	ConsumerId string `protobuf:"bytes,3,opt,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+	// Required. Start time of the operation.
+	StartTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// End time of the operation.
+	// Required when the operation is used in [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report],
+	// but optional when the operation is used in [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check].
+	EndTime *google_protobuf3.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
+	// Labels describing the operation. Only the following labels are allowed:
+	//
+	// - Labels describing monitored resources as defined in
+	//   the service configuration.
+	// - Default labels of metric values. When specified, labels defined in the
+	//   metric value override these default.
+	// - The following labels defined by Google Cloud Platform:
+	//     - `cloud.googleapis.com/location` describing the location where the
+	//        operation happened,
+	//     - `servicecontrol.googleapis.com/user_agent` describing the user agent
+	//        of the API request,
+	//     - `servicecontrol.googleapis.com/service_agent` describing the service
+	//        used to handle the API request (e.g. ESP),
+	//     - `servicecontrol.googleapis.com/platform` describing the platform
+	//        where the API is served (e.g. GAE, GCE, GKE).
+	Labels map[string]string `protobuf:"bytes,6,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// Represents information about this operation. Each MetricValueSet
+	// corresponds to a metric defined in the service configuration.
+	// The data type used in the MetricValueSet must agree with
+	// the data type specified in the metric definition.
+	//
+	// Within a single operation, it is not allowed to have more than one
+	// MetricValue instances that have the same metric names and identical
+	// label value combinations. If a request has such duplicated MetricValue
+	// instances, the entire request is rejected with
+	// an invalid argument error.
+	MetricValueSets []*MetricValueSet `protobuf:"bytes,7,rep,name=metric_value_sets,json=metricValueSets" json:"metric_value_sets,omitempty"`
+	// Represents information to be logged.
+	LogEntries []*LogEntry `protobuf:"bytes,8,rep,name=log_entries,json=logEntries" json:"log_entries,omitempty"`
+	// DO NOT USE. This is an experimental field.
+	Importance Operation_Importance `protobuf:"varint,11,opt,name=importance,enum=google.api.servicecontrol.v1.Operation_Importance" json:"importance,omitempty"`
+}
+
+func (m *Operation) Reset()                    { *m = Operation{} }
+func (m *Operation) String() string            { return proto.CompactTextString(m) }
+func (*Operation) ProtoMessage()               {}
+func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+
+func (m *Operation) GetStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *Operation) GetEndTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *Operation) GetLabels() map[string]string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *Operation) GetMetricValueSets() []*MetricValueSet {
+	if m != nil {
+		return m.MetricValueSets
+	}
+	return nil
+}
+
+func (m *Operation) GetLogEntries() []*LogEntry {
+	if m != nil {
+		return m.LogEntries
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*Operation)(nil), "google.api.servicecontrol.v1.Operation")
+	proto.RegisterEnum("google.api.servicecontrol.v1.Operation_Importance", Operation_Importance_name, Operation_Importance_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto", fileDescriptor4)
+}
+
+var fileDescriptor4 = []byte{
+	// 490 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x4d, 0x6f, 0xd3, 0x40,
+	0x10, 0x86, 0x71, 0xd3, 0x7c, 0x8d, 0x21, 0x84, 0x15, 0x07, 0x2b, 0x42, 0x6a, 0xa8, 0x04, 0xe2,
+	0x80, 0x76, 0xd5, 0x54, 0x08, 0x0a, 0xb7, 0x4a, 0xa8, 0x8d, 0x1a, 0xda, 0xca, 0x20, 0xe0, 0x66,
+	0x39, 0xce, 0x74, 0x59, 0x61, 0x7b, 0x2d, 0xef, 0x26, 0x52, 0xfe, 0x01, 0x3f, 0x99, 0x23, 0xeb,
+	0xf5, 0x47, 0xd2, 0x4b, 0x40, 0xe4, 0x62, 0xed, 0xcc, 0xce, 0xfb, 0xec, 0xeb, 0x99, 0x81, 0x2b,
+	0x2e, 0x25, 0x8f, 0x91, 0x72, 0x19, 0x87, 0x29, 0xa7, 0x32, 0xe7, 0x8c, 0x63, 0x9a, 0xe5, 0x52,
+	0x4b, 0x56, 0x5e, 0x85, 0x99, 0x50, 0xcc, 0x7c, 0x98, 0xc2, 0x7c, 0x25, 0x22, 0x8c, 0x64, 0xaa,
+	0x73, 0x19, 0xb3, 0xd5, 0x09, 0x93, 0x19, 0xe6, 0xa1, 0x16, 0x32, 0xa5, 0x56, 0x40, 0x9e, 0x55,
+	0x30, 0x53, 0x4d, 0xef, 0x57, 0xd3, 0xd5, 0xc9, 0x68, 0xfa, 0x3f, 0x4f, 0xdd, 0x09, 0xce, 0xc2,
+	0x34, 0x95, 0xda, 0xbe, 0xa3, 0xca, 0x87, 0x46, 0x7b, 0xb9, 0x8e, 0x25, 0x0f, 0xd0, 0x44, 0xeb,
+	0x0a, 0x76, 0xbd, 0x0f, 0x2c, 0x41, 0x9d, 0x8b, 0x28, 0x58, 0x85, 0xf1, 0x12, 0x2b, 0xde, 0x07,
+	0x2e, 0xf4, 0x8f, 0xe5, 0x9c, 0x46, 0x32, 0x61, 0x25, 0x93, 0xd9, 0x8b, 0xf9, 0xf2, 0x8e, 0x65,
+	0x7a, 0x9d, 0xa1, 0x62, 0x5a, 0x24, 0xa8, 0x74, 0x98, 0x64, 0x9b, 0x53, 0x29, 0x3e, 0xfe, 0xd5,
+	0x86, 0xfe, 0x4d, 0xdd, 0x56, 0xf2, 0x1c, 0x1e, 0x36, 0x3d, 0x0e, 0xc4, 0xc2, 0x73, 0xc6, 0xce,
+	0xab, 0xbe, 0xef, 0x36, 0xb9, 0xe9, 0x82, 0xbc, 0x80, 0xc1, 0xa6, 0x24, 0x0d, 0x13, 0xf4, 0x0e,
+	0x6c, 0xd1, 0xa3, 0x26, 0x7b, 0x6d, 0x92, 0xe4, 0x08, 0x5c, 0xe3, 0x5a, 0x2d, 0x13, 0xcc, 0x0b,
+	0x50, 0xcb, 0xd6, 0x40, 0x9d, 0x32, 0x9c, 0x33, 0x00, 0xe3, 0x23, 0xd7, 0x41, 0xe1, 0xc8, 0x3b,
+	0x34, 0xf7, 0xee, 0x64, 0x44, 0xab, 0xd6, 0xd4, 0xfe, 0xe9, 0x97, 0xda, 0xae, 0xdf, 0xb7, 0xd5,
+	0x45, 0x4c, 0xde, 0x40, 0x0f, 0xd3, 0x45, 0x29, 0x6c, 0xff, 0x55, 0xd8, 0x35, 0xb5, 0x56, 0x76,
+	0x05, 0x9d, 0x38, 0x9c, 0x63, 0xac, 0xbc, 0xce, 0xb8, 0x65, 0x44, 0xa7, 0x74, 0xd7, 0xfa, 0xd0,
+	0xa6, 0x2b, 0x74, 0x66, 0x55, 0x1f, 0x8b, 0x11, 0xfa, 0x15, 0x82, 0x7c, 0x87, 0x27, 0xdb, 0xa3,
+	0x08, 0x14, 0x6a, 0xe5, 0x75, 0x2d, 0xf7, 0xf5, 0x6e, 0xee, 0x27, 0x2b, 0xfb, 0x5a, 0xa8, 0x3e,
+	0xa3, 0xf6, 0x1f, 0x27, 0xf7, 0x62, 0x45, 0x2e, 0xc0, 0xad, 0x37, 0x46, 0xa0, 0xf2, 0x7a, 0x96,
+	0xf9, 0x72, 0x37, 0x73, 0x26, 0x79, 0x69, 0x0f, 0xe2, 0xf2, 0x64, 0x94, 0xc4, 0x07, 0x10, 0x49,
+	0x26, 0x73, 0x1d, 0xa6, 0x11, 0x7a, 0xae, 0x69, 0xd4, 0x60, 0x32, 0xf9, 0xd7, 0x7f, 0x9e, 0x36,
+	0x4a, 0x7f, 0x8b, 0x32, 0x3a, 0x03, 0x77, 0xab, 0x1b, 0x64, 0x08, 0xad, 0x9f, 0xb8, 0xae, 0xd6,
+	0xa4, 0x38, 0x92, 0xa7, 0xd0, 0xb6, 0x0d, 0xa9, 0xb6, 0xa2, 0x0c, 0xde, 0x1f, 0xbc, 0x73, 0x8e,
+	0x8f, 0x00, 0x36, 0x50, 0xd2, 0x85, 0xd6, 0xec, 0xe6, 0xdb, 0xf0, 0x01, 0xe9, 0xc1, 0xe1, 0xe5,
+	0xf4, 0xe2, 0x72, 0xe8, 0x9c, 0xbf, 0x85, 0xb1, 0x59, 0xe1, 0x9d, 0x06, 0xcf, 0x07, 0x8d, 0xc3,
+	0xdb, 0x62, 0xd2, 0xb7, 0xce, 0x6f, 0xc7, 0x99, 0x77, 0xec, 0xd4, 0x4f, 0xff, 0x04, 0x00, 0x00,
+	0xff, 0xff, 0x89, 0xb4, 0x10, 0x3f, 0x5c, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/operation.proto b/googleapis/api/servicecontrol/v1/operation.proto
new file mode 100644
index 00000000..79176565
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/operation.proto
@@ -0,0 +1,111 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto"; // from google/api/servicecontrol/v1/log_entry.proto
+import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto"; // from google/api/servicecontrol/v1/metric_value.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "OperationProto";
+option java_package = "com.google.api.servicecontrol.v1";
+
+
+// Represents information regarding an operation.
+message Operation {
+  // Defines the importance of the data contained in the operation.
+  enum Importance {
+    // The API implementation may cache and aggregate the data.
+    // The data may be lost when rare and unexpected system failures occur.
+    LOW = 0;
+
+    // The API implementation doesn't cache and aggregate the data.
+    // If the method returns successfully, it's guaranteed that the data has
+    // been persisted in durable storage.
+    HIGH = 1;
+  }
+
+  // Identity of the operation. This must be unique within the scope of the
+  // service that generated the operation. If the service calls
+  // Check() and Report() on the same operation, the two calls should carry
+  // the same id.
+  //
+  // UUID version 4 is recommended, though not required.
+  // In scenarios where an operation is computed from existing information
+  // and an idempotent id is desirable for deduplication purpose, UUID version 5
+  // is recommended. See RFC 4122 for details.
+  string operation_id = 1;
+
+  // Fully qualified name of the operation. Reserved for future use.
+  string operation_name = 2;
+
+  // Identity of the consumer who is using the service.
+  // This field should be filled in for the operations initiated by a
+  // consumer, but not for service-initiated operations that are
+  // not related to a specific consumer.
+  //
+  // This can be in one of the following formats:
+  //   project:<project_id>,
+  //   project_number:<project_number>,
+  //   api_key:<api_key>.
+  string consumer_id = 3;
+
+  // Required. Start time of the operation.
+  google.protobuf.Timestamp start_time = 4;
+
+  // End time of the operation.
+  // Required when the operation is used in [ServiceController.Report][google.api.servicecontrol.v1.ServiceController.Report],
+  // but optional when the operation is used in [ServiceController.Check][google.api.servicecontrol.v1.ServiceController.Check].
+  google.protobuf.Timestamp end_time = 5;
+
+  // Labels describing the operation. Only the following labels are allowed:
+  //
+  // - Labels describing monitored resources as defined in
+  //   the service configuration.
+  // - Default labels of metric values. When specified, labels defined in the
+  //   metric value override these default.
+  // - The following labels defined by Google Cloud Platform:
+  //     - `cloud.googleapis.com/location` describing the location where the
+  //        operation happened,
+  //     - `servicecontrol.googleapis.com/user_agent` describing the user agent
+  //        of the API request,
+  //     - `servicecontrol.googleapis.com/service_agent` describing the service
+  //        used to handle the API request (e.g. ESP),
+  //     - `servicecontrol.googleapis.com/platform` describing the platform
+  //        where the API is served (e.g. GAE, GCE, GKE).
+  map<string, string> labels = 6;
+
+  // Represents information about this operation. Each MetricValueSet
+  // corresponds to a metric defined in the service configuration.
+  // The data type used in the MetricValueSet must agree with
+  // the data type specified in the metric definition.
+  //
+  // Within a single operation, it is not allowed to have more than one
+  // MetricValue instances that have the same metric names and identical
+  // label value combinations. If a request has such duplicated MetricValue
+  // instances, the entire request is rejected with
+  // an invalid argument error.
+  repeated MetricValueSet metric_value_sets = 7;
+
+  // Represents information to be logged.
+  repeated LogEntry log_entries = 8;
+
+  // DO NOT USE. This is an experimental field.
+  Importance importance = 11;
+}
diff --git a/googleapis/api/servicecontrol/v1/service_controller.pb.go b/googleapis/api/servicecontrol/v1/service_controller.pb.go
new file mode 100644
index 00000000..706955ee
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/service_controller.pb.go
@@ -0,0 +1,335 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto
+// DO NOT EDIT!
+
+package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Request message for the Check method.
+type CheckRequest struct {
+	// The service name as specified in its service configuration. For example,
+	// `"pubsub.googleapis.com"`.
+	//
+	// See [google.api.Service][google.api.Service] for the definition of a service name.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The operation to be checked.
+	Operation *Operation `protobuf:"bytes,2,opt,name=operation" json:"operation,omitempty"`
+}
+
+func (m *CheckRequest) Reset()                    { *m = CheckRequest{} }
+func (m *CheckRequest) String() string            { return proto.CompactTextString(m) }
+func (*CheckRequest) ProtoMessage()               {}
+func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+
+func (m *CheckRequest) GetOperation() *Operation {
+	if m != nil {
+		return m.Operation
+	}
+	return nil
+}
+
+// Response message for the Check method.
+type CheckResponse struct {
+	// The same operation_id value used in the CheckRequest.
+	// Used for logging and diagnostics purposes.
+	OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId" json:"operation_id,omitempty"`
+	// Indicate the decision of the check.
+	//
+	// If no check errors are present, the service should process the operation.
+	// Otherwise the service should use the list of errors to determine the
+	// appropriate action.
+	CheckErrors []*CheckError `protobuf:"bytes,2,rep,name=check_errors,json=checkErrors" json:"check_errors,omitempty"`
+	// The actual config id used to process the request.
+	ServiceConfigId string `protobuf:"bytes,5,opt,name=service_config_id,json=serviceConfigId" json:"service_config_id,omitempty"`
+}
+
+func (m *CheckResponse) Reset()                    { *m = CheckResponse{} }
+func (m *CheckResponse) String() string            { return proto.CompactTextString(m) }
+func (*CheckResponse) ProtoMessage()               {}
+func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
+
+func (m *CheckResponse) GetCheckErrors() []*CheckError {
+	if m != nil {
+		return m.CheckErrors
+	}
+	return nil
+}
+
+// Request message for the Report method.
+type ReportRequest struct {
+	// The service name as specified in its service configuration. For example,
+	// `"pubsub.googleapis.com"`.
+	//
+	// See [google.api.Service][google.api.Service] for the definition of a service name.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// Operations to be reported.
+	//
+	// Typically the service should report one operation per request.
+	// Putting multiple operations into a single request is allowed, but should
+	// be used only when multiple operations are natually available at the time
+	// of the report.
+	//
+	// If multiple operations are in a single request, the total request size
+	// should be no larger than 1MB. See [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] for
+	// partial failure behavior.
+	Operations []*Operation `protobuf:"bytes,2,rep,name=operations" json:"operations,omitempty"`
+}
+
+func (m *ReportRequest) Reset()                    { *m = ReportRequest{} }
+func (m *ReportRequest) String() string            { return proto.CompactTextString(m) }
+func (*ReportRequest) ProtoMessage()               {}
+func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
+
+func (m *ReportRequest) GetOperations() []*Operation {
+	if m != nil {
+		return m.Operations
+	}
+	return nil
+}
+
+// Response message for the Report method.
+type ReportResponse struct {
+	// Partial failures, one for each `Operation` in the request that failed
+	// processing. There are three possible combinations of the RPC status:
+	//
+	// 1. The combination of a successful RPC status and an empty `report_errors`
+	//    list indicates a complete success where all `Operations` in the
+	//    request are processed successfully.
+	// 2. The combination of a successful RPC status and a non-empty
+	//    `report_errors` list indicates a partial success where some
+	//    `Operations` in the request succeeded. Each
+	//    `Operation` that failed processing has a corresponding item
+	//    in this list.
+	// 3. A failed RPC status indicates a complete failure where none of the
+	//    `Operations` in the request succeeded.
+	ReportErrors []*ReportResponse_ReportError `protobuf:"bytes,1,rep,name=report_errors,json=reportErrors" json:"report_errors,omitempty"`
+	// The actual config id used to process the request.
+	ServiceConfigId string `protobuf:"bytes,2,opt,name=service_config_id,json=serviceConfigId" json:"service_config_id,omitempty"`
+}
+
+func (m *ReportResponse) Reset()                    { *m = ReportResponse{} }
+func (m *ReportResponse) String() string            { return proto.CompactTextString(m) }
+func (*ReportResponse) ProtoMessage()               {}
+func (*ReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3} }
+
+func (m *ReportResponse) GetReportErrors() []*ReportResponse_ReportError {
+	if m != nil {
+		return m.ReportErrors
+	}
+	return nil
+}
+
+// Represents the processing error of one `Operation` in the request.
+type ReportResponse_ReportError struct {
+	// The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request.
+	OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId" json:"operation_id,omitempty"`
+	// Details of the error when processing the `Operation`.
+	Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
+}
+
+func (m *ReportResponse_ReportError) Reset()                    { *m = ReportResponse_ReportError{} }
+func (m *ReportResponse_ReportError) String() string            { return proto.CompactTextString(m) }
+func (*ReportResponse_ReportError) ProtoMessage()               {}
+func (*ReportResponse_ReportError) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3, 0} }
+
+func (m *ReportResponse_ReportError) GetStatus() *google_rpc.Status {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*CheckRequest)(nil), "google.api.servicecontrol.v1.CheckRequest")
+	proto.RegisterType((*CheckResponse)(nil), "google.api.servicecontrol.v1.CheckResponse")
+	proto.RegisterType((*ReportRequest)(nil), "google.api.servicecontrol.v1.ReportRequest")
+	proto.RegisterType((*ReportResponse)(nil), "google.api.servicecontrol.v1.ReportResponse")
+	proto.RegisterType((*ReportResponse_ReportError)(nil), "google.api.servicecontrol.v1.ReportResponse.ReportError")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for ServiceController service
+
+type ServiceControllerClient interface {
+	// Checks an operation with Google Service Control to decide whether
+	// the given operation should proceed. It should be called before the
+	// operation is executed.
+	//
+	// This method requires the `servicemanagement.services.check` permission
+	// on the specified service. For more information, see
+	// [Google Cloud IAM](https://cloud.google.com/iam).
+	Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error)
+	// Reports operations to Google Service Control. It should be called
+	// after the operation is completed.
+	//
+	// This method requires the `servicemanagement.services.report` permission
+	// on the specified service. For more information, see
+	// [Google Cloud IAM](https://cloud.google.com/iam).
+	Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error)
+}
+
+type serviceControllerClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewServiceControllerClient(cc *grpc.ClientConn) ServiceControllerClient {
+	return &serviceControllerClient{cc}
+}
+
+func (c *serviceControllerClient) Check(ctx context.Context, in *CheckRequest, opts ...grpc.CallOption) (*CheckResponse, error) {
+	out := new(CheckResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicecontrol.v1.ServiceController/Check", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceControllerClient) Report(ctx context.Context, in *ReportRequest, opts ...grpc.CallOption) (*ReportResponse, error) {
+	out := new(ReportResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicecontrol.v1.ServiceController/Report", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for ServiceController service
+
+type ServiceControllerServer interface {
+	// Checks an operation with Google Service Control to decide whether
+	// the given operation should proceed. It should be called before the
+	// operation is executed.
+	//
+	// This method requires the `servicemanagement.services.check` permission
+	// on the specified service. For more information, see
+	// [Google Cloud IAM](https://cloud.google.com/iam).
+	Check(context.Context, *CheckRequest) (*CheckResponse, error)
+	// Reports operations to Google Service Control. It should be called
+	// after the operation is completed.
+	//
+	// This method requires the `servicemanagement.services.report` permission
+	// on the specified service. For more information, see
+	// [Google Cloud IAM](https://cloud.google.com/iam).
+	Report(context.Context, *ReportRequest) (*ReportResponse, error)
+}
+
+func RegisterServiceControllerServer(s *grpc.Server, srv ServiceControllerServer) {
+	s.RegisterService(&_ServiceController_serviceDesc, srv)
+}
+
+func _ServiceController_Check_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CheckRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceControllerServer).Check(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicecontrol.v1.ServiceController/Check",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceControllerServer).Check(ctx, req.(*CheckRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceController_Report_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ReportRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceControllerServer).Report(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicecontrol.v1.ServiceController/Report",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceControllerServer).Report(ctx, req.(*ReportRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ServiceController_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.api.servicecontrol.v1.ServiceController",
+	HandlerType: (*ServiceControllerServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "Check",
+			Handler:    _ServiceController_Check_Handler,
+		},
+		{
+			MethodName: "Report",
+			Handler:    _ServiceController_Report_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor5,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto", fileDescriptor5)
+}
+
+var fileDescriptor5 = []byte{
+	// 518 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0x4d, 0x6e, 0xd3, 0x40,
+	0x14, 0xd6, 0x18, 0x1a, 0xa9, 0x2f, 0x09, 0xa8, 0xb3, 0x40, 0x95, 0xc5, 0xa2, 0x9d, 0x05, 0xad,
+	0xd2, 0xe2, 0x51, 0xcb, 0x06, 0x55, 0x62, 0x41, 0xa3, 0x52, 0x45, 0x15, 0x50, 0x39, 0x2c, 0x41,
+	0x91, 0x71, 0x06, 0x63, 0xe1, 0x7a, 0xcc, 0x8c, 0x1b, 0x21, 0x55, 0x6c, 0x38, 0x00, 0x0b, 0xb8,
+	0x01, 0x5b, 0x4e, 0xc0, 0x39, 0xb8, 0x02, 0x87, 0x80, 0x1d, 0xe3, 0xf9, 0x71, 0x5d, 0x01, 0x96,
+	0x4b, 0x37, 0x49, 0xe6, 0xbd, 0x79, 0xdf, 0xf7, 0xe5, 0xfb, 0x9e, 0x06, 0x9e, 0x25, 0x9c, 0x27,
+	0x19, 0x0b, 0x12, 0x9e, 0x45, 0x79, 0x12, 0x70, 0x91, 0xd0, 0x84, 0xe5, 0x85, 0xe0, 0x25, 0xa7,
+	0xa6, 0x15, 0x15, 0xa9, 0xa4, 0xea, 0x83, 0x4a, 0x26, 0x16, 0x69, 0xcc, 0x62, 0x9e, 0x97, 0x82,
+	0x67, 0x74, 0xb1, 0xe3, 0x2a, 0x33, 0x5b, 0xca, 0x98, 0x08, 0xf4, 0x24, 0xbe, 0x6d, 0x51, 0xd5,
+	0x58, 0x70, 0x71, 0x2c, 0x58, 0xec, 0xf8, 0x93, 0xff, 0xe1, 0x7c, 0x95, 0x26, 0x34, 0xca, 0x73,
+	0x5e, 0x46, 0x65, 0xca, 0x73, 0x69, 0x88, 0xfc, 0xc7, 0x57, 0x91, 0x1f, 0xbf, 0x66, 0xf1, 0x9b,
+	0x19, 0x13, 0x82, 0x5b, 0xdd, 0xfe, 0xd1, 0x55, 0xe0, 0x78, 0xc1, 0x84, 0x16, 0x67, 0xc1, 0x1e,
+	0x74, 0x03, 0x13, 0x45, 0x4c, 0xa5, 0xfa, 0x57, 0xa7, 0xd2, 0x7e, 0x99, 0x71, 0xf2, 0x0e, 0x06,
+	0xe3, 0x4a, 0x60, 0xc8, 0xde, 0x9e, 0x32, 0x59, 0xe2, 0x75, 0x18, 0x38, 0xbf, 0xf3, 0xe8, 0x84,
+	0xad, 0xa2, 0x35, 0xb4, 0xb9, 0x1c, 0xf6, 0x6d, 0xed, 0x89, 0x2a, 0xe1, 0x03, 0x58, 0xae, 0x45,
+	0xac, 0x7a, 0xaa, 0xdf, 0xdf, 0xdd, 0x08, 0xda, 0xa2, 0x08, 0x9e, 0xba, 0xeb, 0xe1, 0xf9, 0x24,
+	0xf9, 0x8a, 0x60, 0x68, 0xa9, 0x65, 0xa1, 0xbc, 0x66, 0x15, 0x77, 0xdd, 0x9e, 0xa5, 0x73, 0xc7,
+	0x5d, 0xd7, 0x26, 0x73, 0x7c, 0x04, 0x83, 0x86, 0x9f, 0x52, 0xd1, 0x5f, 0x53, 0xf4, 0x9b, 0xed,
+	0xf4, 0x9a, 0xe5, 0xa0, 0x1a, 0x08, 0xfb, 0x71, 0xfd, 0x5b, 0xe2, 0x11, 0xac, 0x34, 0x76, 0x4b,
+	0x45, 0x5f, 0x91, 0x2e, 0x69, 0xd2, 0x9b, 0xb6, 0x31, 0xd6, 0xf5, 0xc9, 0x9c, 0x9c, 0xc1, 0x30,
+	0x64, 0x05, 0x17, 0xe5, 0x25, 0x8c, 0x3a, 0x04, 0xa8, 0xb5, 0x3b, 0xa9, 0x9d, 0x9d, 0x6a, 0x8c,
+	0x92, 0x5f, 0x08, 0x6e, 0x38, 0x76, 0xeb, 0xd5, 0x0b, 0x18, 0x0a, 0x5d, 0x71, 0x4e, 0x20, 0x0d,
+	0x7f, 0xbf, 0x1d, 0xfe, 0x22, 0x88, 0x3d, 0x1a, 0x67, 0x06, 0xe2, 0xfc, 0xf0, 0x0f, 0x6b, 0xbc,
+	0xbf, 0x5a, 0xe3, 0x3f, 0x87, 0x7e, 0x03, 0xa8, 0x4b, 0x8a, 0x23, 0xe8, 0x99, 0x25, 0xb4, 0xeb,
+	0x83, 0x9d, 0x6a, 0xb5, 0xa5, 0xc1, 0x54, 0x77, 0x42, 0x7b, 0x63, 0xf7, 0x9b, 0x07, 0x2b, 0xd3,
+	0x9a, 0xd1, 0x3e, 0x00, 0xf8, 0x23, 0x82, 0x25, 0x1d, 0x2b, 0x1e, 0x75, 0xc8, 0xde, 0x66, 0xe6,
+	0x6f, 0x75, 0xba, 0x6b, 0xcc, 0x21, 0xdb, 0x1f, 0xbe, 0xff, 0xf8, 0xec, 0xdd, 0x21, 0xeb, 0x8d,
+	0x37, 0x48, 0xd2, 0xb3, 0x66, 0xe8, 0xef, 0xf7, 0xf4, 0x3a, 0xed, 0xa1, 0x11, 0xfe, 0x84, 0xa0,
+	0x67, 0x5c, 0xc0, 0x5b, 0xdd, 0x32, 0x30, 0x92, 0xb6, 0x2f, 0x13, 0x18, 0xb9, 0xab, 0x35, 0x6d,
+	0x10, 0xd2, 0xa6, 0xc9, 0x04, 0xa9, 0x44, 0xed, 0x3f, 0x82, 0xb5, 0x98, 0x9f, 0xb4, 0x32, 0xec,
+	0xdf, 0xfa, 0xc3, 0xdc, 0xe3, 0xea, 0x61, 0x38, 0x46, 0x3f, 0x11, 0xfa, 0xe2, 0x5d, 0x3f, 0x7c,
+	0x38, 0x1d, 0xbf, 0xec, 0xe9, 0xb7, 0xe2, 0xde, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x0d,
+	0x0f, 0xf9, 0xc7, 0x05, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicecontrol/v1/service_controller.proto b/googleapis/api/servicecontrol/v1/service_controller.proto
new file mode 100644
index 00000000..b6052563
--- /dev/null
+++ b/googleapis/api/servicecontrol/v1/service_controller.proto
@@ -0,0 +1,136 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicecontrol.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto"; // from google/api/servicecontrol/v1/check_error.proto
+import "google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto"; // from google/api/servicecontrol/v1/operation.proto
+import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "ServiceControllerProto";
+option java_package = "com.google.api.servicecontrol.v1";
+option objc_class_prefix = "GASC";
+
+
+// [Google Service Control API](/service-control/overview)
+//
+// Lets clients check and report operations against
+// a [managed service][google.api.servicemanagement.v1.ManagedService].
+service ServiceController {
+  // Checks an operation with Google Service Control to decide whether
+  // the given operation should proceed. It should be called before the
+  // operation is executed.
+  //
+  // This method requires the `servicemanagement.services.check` permission
+  // on the specified service. For more information, see
+  // [Google Cloud IAM](https://cloud.google.com/iam).
+  rpc Check(CheckRequest) returns (CheckResponse) {
+    option (google.api.http) = { post: "/v1/services/{service_name}:check" body: "*" };
+  }
+
+  // Reports operations to Google Service Control. It should be called
+  // after the operation is completed.
+  //
+  // This method requires the `servicemanagement.services.report` permission
+  // on the specified service. For more information, see
+  // [Google Cloud IAM](https://cloud.google.com/iam).
+  rpc Report(ReportRequest) returns (ReportResponse) {
+    option (google.api.http) = { post: "/v1/services/{service_name}:report" body: "*" };
+  }
+}
+
+// Request message for the Check method.
+message CheckRequest {
+  // The service name as specified in its service configuration. For example,
+  // `"pubsub.googleapis.com"`.
+  //
+  // See [google.api.Service][google.api.Service] for the definition of a service name.
+  string service_name = 1;
+
+  // The operation to be checked.
+  Operation operation = 2;
+}
+
+// Response message for the Check method.
+message CheckResponse {
+  // The same operation_id value used in the CheckRequest.
+  // Used for logging and diagnostics purposes.
+  string operation_id = 1;
+
+  // Indicate the decision of the check.
+  //
+  // If no check errors are present, the service should process the operation.
+  // Otherwise the service should use the list of errors to determine the
+  // appropriate action.
+  repeated CheckError check_errors = 2;
+
+  // The actual config id used to process the request.
+  string service_config_id = 5;
+}
+
+// Request message for the Report method.
+message ReportRequest {
+  // The service name as specified in its service configuration. For example,
+  // `"pubsub.googleapis.com"`.
+  //
+  // See [google.api.Service][google.api.Service] for the definition of a service name.
+  string service_name = 1;
+
+  // Operations to be reported.
+  //
+  // Typically the service should report one operation per request.
+  // Putting multiple operations into a single request is allowed, but should
+  // be used only when multiple operations are natually available at the time
+  // of the report.
+  //
+  // If multiple operations are in a single request, the total request size
+  // should be no larger than 1MB. See [ReportResponse.report_errors][google.api.servicecontrol.v1.ReportResponse.report_errors] for
+  // partial failure behavior.
+  repeated Operation operations = 2;
+}
+
+// Response message for the Report method.
+message ReportResponse {
+  // Represents the processing error of one `Operation` in the request.
+  message ReportError {
+    // The [Operation.operation_id][google.api.servicecontrol.v1.Operation.operation_id] value from the request.
+    string operation_id = 1;
+
+    // Details of the error when processing the `Operation`.
+    google.rpc.Status status = 2;
+  }
+
+  // Partial failures, one for each `Operation` in the request that failed
+  // processing. There are three possible combinations of the RPC status:
+  //
+  // 1. The combination of a successful RPC status and an empty `report_errors`
+  //    list indicates a complete success where all `Operations` in the
+  //    request are processed successfully.
+  // 2. The combination of a successful RPC status and a non-empty
+  //    `report_errors` list indicates a partial success where some
+  //    `Operations` in the request succeeded. Each
+  //    `Operation` that failed processing has a corresponding item
+  //    in this list.
+  // 3. A failed RPC status indicates a complete failure where none of the
+  //    `Operations` in the request succeeded.
+  repeated ReportError report_errors = 1;
+
+  // The actual config id used to process the request.
+  string service_config_id = 2;
+}
diff --git a/googleapis/api/servicemanagement/v1/resources.pb.go b/googleapis/api/servicemanagement/v1/resources.pb.go
new file mode 100644
index 00000000..49f04262
--- /dev/null
+++ b/googleapis/api/servicemanagement/v1/resources.pb.go
@@ -0,0 +1,680 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto
+// DO NOT EDIT!
+
+/*
+Package google_api_servicemanagement_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto
+	google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto
+
+It has these top-level messages:
+	ManagedService
+	OperationMetadata
+	Diagnostic
+	ConfigSource
+	ConfigFile
+	ConfigRef
+	ChangeReport
+	Rollout
+	ListServicesRequest
+	ListServicesResponse
+	GetServiceRequest
+	CreateServiceRequest
+	DeleteServiceRequest
+	UndeleteServiceRequest
+	UndeleteServiceResponse
+	GetServiceConfigRequest
+	ListServiceConfigsRequest
+	ListServiceConfigsResponse
+	CreateServiceConfigRequest
+	SubmitConfigSourceRequest
+	SubmitConfigSourceResponse
+	CreateServiceRolloutRequest
+	ListServiceRolloutsRequest
+	ListServiceRolloutsResponse
+	GetServiceRolloutRequest
+	EnableServiceRequest
+	DisableServiceRequest
+	GenerateConfigReportRequest
+	GenerateConfigReportResponse
+*/
+package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_api2 "google.golang.org/genproto/googleapis/api/configchange"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/longrunning"
+import _ "github.com/golang/protobuf/ptypes/any"
+import _ "google.golang.org/genproto/protobuf"
+import _ "github.com/golang/protobuf/ptypes/struct"
+import google_protobuf9 "github.com/golang/protobuf/ptypes/timestamp"
+import _ "google.golang.org/genproto/googleapis/rpc/status"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Code describes the status of one operation step.
+type OperationMetadata_Status int32
+
+const (
+	// Unspecifed code.
+	OperationMetadata_STATUS_UNSPECIFIED OperationMetadata_Status = 0
+	// The step has completed without errors.
+	OperationMetadata_DONE OperationMetadata_Status = 1
+	// The step has not started yet.
+	OperationMetadata_NOT_STARTED OperationMetadata_Status = 2
+	// The step is in progress.
+	OperationMetadata_IN_PROGRESS OperationMetadata_Status = 3
+	// The step has completed with errors.
+	OperationMetadata_FAILED OperationMetadata_Status = 4
+	// The step has completed with cancellation.
+	OperationMetadata_CANCELLED OperationMetadata_Status = 5
+)
+
+var OperationMetadata_Status_name = map[int32]string{
+	0: "STATUS_UNSPECIFIED",
+	1: "DONE",
+	2: "NOT_STARTED",
+	3: "IN_PROGRESS",
+	4: "FAILED",
+	5: "CANCELLED",
+}
+var OperationMetadata_Status_value = map[string]int32{
+	"STATUS_UNSPECIFIED": 0,
+	"DONE":               1,
+	"NOT_STARTED":        2,
+	"IN_PROGRESS":        3,
+	"FAILED":             4,
+	"CANCELLED":          5,
+}
+
+func (x OperationMetadata_Status) String() string {
+	return proto.EnumName(OperationMetadata_Status_name, int32(x))
+}
+func (OperationMetadata_Status) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
+
+// The kind of diagnostic information possible.
+type Diagnostic_Kind int32
+
+const (
+	// Warnings and errors
+	Diagnostic_WARNING Diagnostic_Kind = 0
+	// Only errors
+	Diagnostic_ERROR Diagnostic_Kind = 1
+)
+
+var Diagnostic_Kind_name = map[int32]string{
+	0: "WARNING",
+	1: "ERROR",
+}
+var Diagnostic_Kind_value = map[string]int32{
+	"WARNING": 0,
+	"ERROR":   1,
+}
+
+func (x Diagnostic_Kind) String() string {
+	return proto.EnumName(Diagnostic_Kind_name, int32(x))
+}
+func (Diagnostic_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
+
+type ConfigFile_FileType int32
+
+const (
+	// Unknown file type.
+	ConfigFile_FILE_TYPE_UNSPECIFIED ConfigFile_FileType = 0
+	// YAML-specification of service.
+	ConfigFile_SERVICE_CONFIG_YAML ConfigFile_FileType = 1
+	// OpenAPI specification, serialized in JSON.
+	ConfigFile_OPEN_API_JSON ConfigFile_FileType = 2
+	// OpenAPI specification, serialized in YAML.
+	ConfigFile_OPEN_API_YAML ConfigFile_FileType = 3
+	// FileDescriptorSet, generated by protoc.
+	//
+	// To generate, use protoc with imports and source info included.
+	// For an example test.proto file, the following command would put the value
+	// in a new file named out.pb.
+	//
+	// $protoc --include_imports --include_source_info test.proto -o out.pb
+	ConfigFile_FILE_DESCRIPTOR_SET_PROTO ConfigFile_FileType = 4
+)
+
+var ConfigFile_FileType_name = map[int32]string{
+	0: "FILE_TYPE_UNSPECIFIED",
+	1: "SERVICE_CONFIG_YAML",
+	2: "OPEN_API_JSON",
+	3: "OPEN_API_YAML",
+	4: "FILE_DESCRIPTOR_SET_PROTO",
+}
+var ConfigFile_FileType_value = map[string]int32{
+	"FILE_TYPE_UNSPECIFIED":     0,
+	"SERVICE_CONFIG_YAML":       1,
+	"OPEN_API_JSON":             2,
+	"OPEN_API_YAML":             3,
+	"FILE_DESCRIPTOR_SET_PROTO": 4,
+}
+
+func (x ConfigFile_FileType) String() string {
+	return proto.EnumName(ConfigFile_FileType_name, int32(x))
+}
+func (ConfigFile_FileType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0} }
+
+// Status of a Rollout.
+type Rollout_RolloutStatus int32
+
+const (
+	// No status specified.
+	Rollout_ROLLOUT_STATUS_UNSPECIFIED Rollout_RolloutStatus = 0
+	// The Rollout is in progress.
+	Rollout_IN_PROGRESS Rollout_RolloutStatus = 1
+	// The Rollout has completed successfully.
+	Rollout_SUCCESS Rollout_RolloutStatus = 2
+	// The Rollout has been cancelled. This can happen if you have overlapping
+	// Rollout pushes, and the previous ones will be cancelled.
+	Rollout_CANCELLED Rollout_RolloutStatus = 3
+	// The Rollout has failed. It is typically caused by configuration errors.
+	Rollout_FAILED Rollout_RolloutStatus = 4
+	// The Rollout has not started yet and is pending for execution.
+	Rollout_PENDING Rollout_RolloutStatus = 5
+)
+
+var Rollout_RolloutStatus_name = map[int32]string{
+	0: "ROLLOUT_STATUS_UNSPECIFIED",
+	1: "IN_PROGRESS",
+	2: "SUCCESS",
+	3: "CANCELLED",
+	4: "FAILED",
+	5: "PENDING",
+}
+var Rollout_RolloutStatus_value = map[string]int32{
+	"ROLLOUT_STATUS_UNSPECIFIED": 0,
+	"IN_PROGRESS":                1,
+	"SUCCESS":                    2,
+	"CANCELLED":                  3,
+	"FAILED":                     4,
+	"PENDING":                    5,
+}
+
+func (x Rollout_RolloutStatus) String() string {
+	return proto.EnumName(Rollout_RolloutStatus_name, int32(x))
+}
+func (Rollout_RolloutStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
+
+// The full representation of a Service that is managed by
+// Google Service Management.
+type ManagedService struct {
+	// The name of the service. See the [overview](/service-management/overview)
+	// for naming requirements.
+	ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// ID of the project that produces and owns this service.
+	ProducerProjectId string `protobuf:"bytes,3,opt,name=producer_project_id,json=producerProjectId" json:"producer_project_id,omitempty"`
+}
+
+func (m *ManagedService) Reset()                    { *m = ManagedService{} }
+func (m *ManagedService) String() string            { return proto.CompactTextString(m) }
+func (*ManagedService) ProtoMessage()               {}
+func (*ManagedService) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+// The metadata associated with a long running operation resource.
+type OperationMetadata struct {
+	// The full name of the resources that this operation is directly
+	// associated with.
+	ResourceNames []string `protobuf:"bytes,1,rep,name=resource_names,json=resourceNames" json:"resource_names,omitempty"`
+	// Detailed status information for each step. The order is undetermined.
+	Steps []*OperationMetadata_Step `protobuf:"bytes,2,rep,name=steps" json:"steps,omitempty"`
+	// Percentage of completion of this operation, ranging from 0 to 100.
+	ProgressPercentage int32 `protobuf:"varint,3,opt,name=progress_percentage,json=progressPercentage" json:"progress_percentage,omitempty"`
+	// The start time of the operation.
+	StartTime *google_protobuf9.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+}
+
+func (m *OperationMetadata) Reset()                    { *m = OperationMetadata{} }
+func (m *OperationMetadata) String() string            { return proto.CompactTextString(m) }
+func (*OperationMetadata) ProtoMessage()               {}
+func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step {
+	if m != nil {
+		return m.Steps
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetStartTime() *google_protobuf9.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+// Represents the status of one operation step.
+type OperationMetadata_Step struct {
+	// The short description of the step.
+	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
+	// The status code.
+	Status OperationMetadata_Status `protobuf:"varint,4,opt,name=status,enum=google.api.servicemanagement.v1.OperationMetadata_Status" json:"status,omitempty"`
+}
+
+func (m *OperationMetadata_Step) Reset()                    { *m = OperationMetadata_Step{} }
+func (m *OperationMetadata_Step) String() string            { return proto.CompactTextString(m) }
+func (*OperationMetadata_Step) ProtoMessage()               {}
+func (*OperationMetadata_Step) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
+
+// Represents a diagnostic message (error or warning)
+type Diagnostic struct {
+	// File name and line number of the error or warning.
+	Location string `protobuf:"bytes,1,opt,name=location" json:"location,omitempty"`
+	// The kind of diagnostic information provided.
+	Kind Diagnostic_Kind `protobuf:"varint,2,opt,name=kind,enum=google.api.servicemanagement.v1.Diagnostic_Kind" json:"kind,omitempty"`
+	// Message describing the error or warning.
+	Message string `protobuf:"bytes,3,opt,name=message" json:"message,omitempty"`
+}
+
+func (m *Diagnostic) Reset()                    { *m = Diagnostic{} }
+func (m *Diagnostic) String() string            { return proto.CompactTextString(m) }
+func (*Diagnostic) ProtoMessage()               {}
+func (*Diagnostic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// Represents a source file which is used to generate the service configuration
+// defined by `google.api.Service`.
+type ConfigSource struct {
+	// A unique ID for a specific instance of this message, typically assigned
+	// by the client for tracking purpose. If empty, the server may choose to
+	// generate one instead.
+	Id string `protobuf:"bytes,5,opt,name=id" json:"id,omitempty"`
+	// Set of source configuration files that are used to generate a service
+	// configuration (`google.api.Service`).
+	Files []*ConfigFile `protobuf:"bytes,2,rep,name=files" json:"files,omitempty"`
+}
+
+func (m *ConfigSource) Reset()                    { *m = ConfigSource{} }
+func (m *ConfigSource) String() string            { return proto.CompactTextString(m) }
+func (*ConfigSource) ProtoMessage()               {}
+func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *ConfigSource) GetFiles() []*ConfigFile {
+	if m != nil {
+		return m.Files
+	}
+	return nil
+}
+
+// Generic specification of a source configuration file
+type ConfigFile struct {
+	// The file name of the configuration file (full or relative path).
+	FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath" json:"file_path,omitempty"`
+	// The bytes that constitute the file.
+	FileContents []byte `protobuf:"bytes,3,opt,name=file_contents,json=fileContents,proto3" json:"file_contents,omitempty"`
+	// The type of configuration file this represents.
+	FileType ConfigFile_FileType `protobuf:"varint,4,opt,name=file_type,json=fileType,enum=google.api.servicemanagement.v1.ConfigFile_FileType" json:"file_type,omitempty"`
+}
+
+func (m *ConfigFile) Reset()                    { *m = ConfigFile{} }
+func (m *ConfigFile) String() string            { return proto.CompactTextString(m) }
+func (*ConfigFile) ProtoMessage()               {}
+func (*ConfigFile) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+// Represents a service configuration with its name and id.
+type ConfigRef struct {
+	// Resource name of a service config. It must have the following
+	// format: "services/{service name}/configs/{config id}".
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *ConfigRef) Reset()                    { *m = ConfigRef{} }
+func (m *ConfigRef) String() string            { return proto.CompactTextString(m) }
+func (*ConfigRef) ProtoMessage()               {}
+func (*ConfigRef) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+// Change report associated with a particular service configuration.
+//
+// It contains a list of ConfigChanges based on the comparison between
+// two service configurations.
+type ChangeReport struct {
+	// List of changes between two service configurations.
+	// The changes will be alphabetically sorted based on the identifier
+	// of each change.
+	// A ConfigChange identifier is a dot separated path to the configuration.
+	// Example: visibility.rules[selector='LibraryService.CreateBook'].restriction
+	ConfigChanges []*google_api2.ConfigChange `protobuf:"bytes,1,rep,name=config_changes,json=configChanges" json:"config_changes,omitempty"`
+}
+
+func (m *ChangeReport) Reset()                    { *m = ChangeReport{} }
+func (m *ChangeReport) String() string            { return proto.CompactTextString(m) }
+func (*ChangeReport) ProtoMessage()               {}
+func (*ChangeReport) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *ChangeReport) GetConfigChanges() []*google_api2.ConfigChange {
+	if m != nil {
+		return m.ConfigChanges
+	}
+	return nil
+}
+
+// A rollout resource that defines how service configuration versions are pushed
+// to control plane systems. Typically, you create a new version of the
+// service config, and then create a Rollout to push the service config.
+type Rollout struct {
+	// Optional unique identifier of this Rollout. Only lower case letters, digits
+	//  and '-' are allowed.
+	//
+	// If not specified by client, the server will generate one. The generated id
+	// will have the form of <date><revision number>, where "date" is the create
+	// date in ISO 8601 format.  "revision number" is a monotonically increasing
+	// positive number that is reset every day for each service.
+	// An example of the generated rollout_id is '2016-02-16r1'
+	RolloutId string `protobuf:"bytes,1,opt,name=rollout_id,json=rolloutId" json:"rollout_id,omitempty"`
+	// Creation time of the rollout. Readonly.
+	CreateTime *google_protobuf9.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+	// The user who created the Rollout. Readonly.
+	CreatedBy string `protobuf:"bytes,3,opt,name=created_by,json=createdBy" json:"created_by,omitempty"`
+	// The status of this rollout. Readonly. In case of a failed rollout,
+	// the system will automatically rollback to the current Rollout
+	// version. Readonly.
+	Status Rollout_RolloutStatus `protobuf:"varint,4,opt,name=status,enum=google.api.servicemanagement.v1.Rollout_RolloutStatus" json:"status,omitempty"`
+	// Strategy that defines which versions of service configurations should be
+	// pushed
+	// and how they should be used at runtime.
+	//
+	// Types that are valid to be assigned to Strategy:
+	//	*Rollout_TrafficPercentStrategy_
+	//	*Rollout_DeleteServiceStrategy_
+	Strategy isRollout_Strategy `protobuf_oneof:"strategy"`
+	// The name of the service associated with this Rollout.
+	ServiceName string `protobuf:"bytes,8,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+}
+
+func (m *Rollout) Reset()                    { *m = Rollout{} }
+func (m *Rollout) String() string            { return proto.CompactTextString(m) }
+func (*Rollout) ProtoMessage()               {}
+func (*Rollout) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+type isRollout_Strategy interface {
+	isRollout_Strategy()
+}
+
+type Rollout_TrafficPercentStrategy_ struct {
+	TrafficPercentStrategy *Rollout_TrafficPercentStrategy `protobuf:"bytes,5,opt,name=traffic_percent_strategy,json=trafficPercentStrategy,oneof"`
+}
+type Rollout_DeleteServiceStrategy_ struct {
+	DeleteServiceStrategy *Rollout_DeleteServiceStrategy `protobuf:"bytes,200,opt,name=delete_service_strategy,json=deleteServiceStrategy,oneof"`
+}
+
+func (*Rollout_TrafficPercentStrategy_) isRollout_Strategy() {}
+func (*Rollout_DeleteServiceStrategy_) isRollout_Strategy()  {}
+
+func (m *Rollout) GetStrategy() isRollout_Strategy {
+	if m != nil {
+		return m.Strategy
+	}
+	return nil
+}
+
+func (m *Rollout) GetCreateTime() *google_protobuf9.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Rollout) GetTrafficPercentStrategy() *Rollout_TrafficPercentStrategy {
+	if x, ok := m.GetStrategy().(*Rollout_TrafficPercentStrategy_); ok {
+		return x.TrafficPercentStrategy
+	}
+	return nil
+}
+
+func (m *Rollout) GetDeleteServiceStrategy() *Rollout_DeleteServiceStrategy {
+	if x, ok := m.GetStrategy().(*Rollout_DeleteServiceStrategy_); ok {
+		return x.DeleteServiceStrategy
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*Rollout) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _Rollout_OneofMarshaler, _Rollout_OneofUnmarshaler, _Rollout_OneofSizer, []interface{}{
+		(*Rollout_TrafficPercentStrategy_)(nil),
+		(*Rollout_DeleteServiceStrategy_)(nil),
+	}
+}
+
+func _Rollout_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*Rollout)
+	// strategy
+	switch x := m.Strategy.(type) {
+	case *Rollout_TrafficPercentStrategy_:
+		b.EncodeVarint(5<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.TrafficPercentStrategy); err != nil {
+			return err
+		}
+	case *Rollout_DeleteServiceStrategy_:
+		b.EncodeVarint(200<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.DeleteServiceStrategy); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("Rollout.Strategy has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _Rollout_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*Rollout)
+	switch tag {
+	case 5: // strategy.traffic_percent_strategy
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Rollout_TrafficPercentStrategy)
+		err := b.DecodeMessage(msg)
+		m.Strategy = &Rollout_TrafficPercentStrategy_{msg}
+		return true, err
+	case 200: // strategy.delete_service_strategy
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Rollout_DeleteServiceStrategy)
+		err := b.DecodeMessage(msg)
+		m.Strategy = &Rollout_DeleteServiceStrategy_{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _Rollout_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*Rollout)
+	// strategy
+	switch x := m.Strategy.(type) {
+	case *Rollout_TrafficPercentStrategy_:
+		s := proto.Size(x.TrafficPercentStrategy)
+		n += proto.SizeVarint(5<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Rollout_DeleteServiceStrategy_:
+		s := proto.Size(x.DeleteServiceStrategy)
+		n += proto.SizeVarint(200<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Strategy that specifies how Google Service Control should select
+// different
+// versions of service configurations based on traffic percentage.
+//
+// One example of how to gradually rollout a new service configuration using
+// this
+// strategy:
+// Day 1
+//
+//     Rollout {
+//       id: "example.googleapis.com/rollout_20160206"
+//       traffic_percent_strategy {
+//         percentages: {
+//           "example.googleapis.com/20160201": 70.00
+//           "example.googleapis.com/20160206": 30.00
+//         }
+//       }
+//     }
+//
+// Day 2
+//
+//     Rollout {
+//       id: "example.googleapis.com/rollout_20160207"
+//       traffic_percent_strategy: {
+//         percentages: {
+//           "example.googleapis.com/20160206": 100.00
+//         }
+//       }
+//     }
+type Rollout_TrafficPercentStrategy struct {
+	// Maps service configuration IDs to their corresponding traffic percentage.
+	// Key is the service configuration ID, Value is the traffic percentage
+	// which must be greater than 0.0 and the sum must equal to 100.0.
+	Percentages map[string]float64 `protobuf:"bytes,1,rep,name=percentages" json:"percentages,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
+}
+
+func (m *Rollout_TrafficPercentStrategy) Reset()         { *m = Rollout_TrafficPercentStrategy{} }
+func (m *Rollout_TrafficPercentStrategy) String() string { return proto.CompactTextString(m) }
+func (*Rollout_TrafficPercentStrategy) ProtoMessage()    {}
+func (*Rollout_TrafficPercentStrategy) Descriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{7, 0}
+}
+
+func (m *Rollout_TrafficPercentStrategy) GetPercentages() map[string]float64 {
+	if m != nil {
+		return m.Percentages
+	}
+	return nil
+}
+
+// Strategy used to delete a service. This strategy is a placeholder only
+// used by the system generated rollout to delete a service.
+type Rollout_DeleteServiceStrategy struct {
+}
+
+func (m *Rollout_DeleteServiceStrategy) Reset()         { *m = Rollout_DeleteServiceStrategy{} }
+func (m *Rollout_DeleteServiceStrategy) String() string { return proto.CompactTextString(m) }
+func (*Rollout_DeleteServiceStrategy) ProtoMessage()    {}
+func (*Rollout_DeleteServiceStrategy) Descriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{7, 1}
+}
+
+func init() {
+	proto.RegisterType((*ManagedService)(nil), "google.api.servicemanagement.v1.ManagedService")
+	proto.RegisterType((*OperationMetadata)(nil), "google.api.servicemanagement.v1.OperationMetadata")
+	proto.RegisterType((*OperationMetadata_Step)(nil), "google.api.servicemanagement.v1.OperationMetadata.Step")
+	proto.RegisterType((*Diagnostic)(nil), "google.api.servicemanagement.v1.Diagnostic")
+	proto.RegisterType((*ConfigSource)(nil), "google.api.servicemanagement.v1.ConfigSource")
+	proto.RegisterType((*ConfigFile)(nil), "google.api.servicemanagement.v1.ConfigFile")
+	proto.RegisterType((*ConfigRef)(nil), "google.api.servicemanagement.v1.ConfigRef")
+	proto.RegisterType((*ChangeReport)(nil), "google.api.servicemanagement.v1.ChangeReport")
+	proto.RegisterType((*Rollout)(nil), "google.api.servicemanagement.v1.Rollout")
+	proto.RegisterType((*Rollout_TrafficPercentStrategy)(nil), "google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy")
+	proto.RegisterType((*Rollout_DeleteServiceStrategy)(nil), "google.api.servicemanagement.v1.Rollout.DeleteServiceStrategy")
+	proto.RegisterEnum("google.api.servicemanagement.v1.OperationMetadata_Status", OperationMetadata_Status_name, OperationMetadata_Status_value)
+	proto.RegisterEnum("google.api.servicemanagement.v1.Diagnostic_Kind", Diagnostic_Kind_name, Diagnostic_Kind_value)
+	proto.RegisterEnum("google.api.servicemanagement.v1.ConfigFile_FileType", ConfigFile_FileType_name, ConfigFile_FileType_value)
+	proto.RegisterEnum("google.api.servicemanagement.v1.Rollout_RolloutStatus", Rollout_RolloutStatus_name, Rollout_RolloutStatus_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 1176 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x56, 0xdb, 0x6e, 0xdb, 0x46,
+	0x10, 0x0d, 0x75, 0x71, 0xac, 0x91, 0xad, 0x2a, 0x9b, 0x26, 0x51, 0x54, 0x34, 0x49, 0x19, 0x14,
+	0x08, 0x50, 0x80, 0x6c, 0xdc, 0xf4, 0x92, 0x06, 0x4d, 0x20, 0x4b, 0xb4, 0xcb, 0xd4, 0x26, 0xd9,
+	0xa5, 0xdc, 0x22, 0x4f, 0x04, 0x4d, 0xae, 0x18, 0x36, 0x12, 0x29, 0x90, 0x2b, 0x03, 0x42, 0x1e,
+	0xfb, 0x27, 0x7d, 0x69, 0x3f, 0xa5, 0x0f, 0xfd, 0x82, 0xf6, 0x67, 0xba, 0x37, 0xfa, 0x8e, 0xca,
+	0x49, 0x1f, 0x6c, 0xee, 0xcc, 0xce, 0x9c, 0x33, 0x3b, 0x33, 0x3b, 0x2b, 0x70, 0x92, 0x3c, 0x4f,
+	0xa6, 0xc4, 0x48, 0xf2, 0x69, 0x98, 0x25, 0x46, 0x5e, 0x24, 0x66, 0x42, 0xb2, 0x79, 0x91, 0xd3,
+	0xdc, 0x94, 0x5b, 0xe1, 0x3c, 0x2d, 0x4d, 0xf6, 0xcf, 0x2c, 0x49, 0x71, 0x94, 0x46, 0x64, 0x16,
+	0x66, 0x61, 0x42, 0x66, 0x24, 0xa3, 0xe6, 0xd1, 0x63, 0xb3, 0x20, 0x65, 0xbe, 0x28, 0x22, 0x52,
+	0x1a, 0xc2, 0x07, 0xdd, 0x57, 0x78, 0xcc, 0xc1, 0xb8, 0xe0, 0x60, 0x1c, 0x3d, 0xee, 0xdb, 0xef,
+	0x4c, 0x18, 0xe5, 0xd9, 0x24, 0x4d, 0xcc, 0x30, 0xcb, 0x72, 0x1a, 0xd2, 0x34, 0xcf, 0x14, 0x57,
+	0xff, 0xe5, 0xd5, 0xa1, 0x24, 0x46, 0xf4, 0x9a, 0xd9, 0x11, 0x25, 0x04, 0x52, 0x52, 0x58, 0xd6,
+	0xfb, 0x86, 0xa5, 0x24, 0x05, 0xb3, 0x7d, 0x35, 0x98, 0x69, 0x9e, 0x25, 0xc5, 0x22, 0xcb, 0xd2,
+	0x2c, 0x31, 0xf3, 0x39, 0x29, 0xce, 0x1c, 0xcb, 0x4c, 0x52, 0xfa, 0x7a, 0x71, 0x68, 0x44, 0xf9,
+	0xcc, 0x94, 0x38, 0xa6, 0xd8, 0x38, 0x5c, 0x4c, 0xcc, 0x39, 0x5d, 0xce, 0x09, 0x0b, 0x23, 0x5b,
+	0xf2, 0x3f, 0xe5, 0xf0, 0xe4, 0x3f, 0x48, 0x8f, 0x3d, 0x27, 0x29, 0x99, 0xc6, 0xc1, 0x2c, 0x2c,
+	0xdf, 0x28, 0xaf, 0x2f, 0x57, 0xd3, 0x94, 0xb4, 0x58, 0x44, 0x54, 0x7d, 0x94, 0xdb, 0xb3, 0xd5,
+	0x6e, 0x34, 0x9d, 0x91, 0x92, 0x86, 0xb3, 0xf9, 0xc9, 0x4a, 0x39, 0x7f, 0x77, 0xb5, 0xf4, 0x14,
+	0xf3, 0x88, 0x91, 0x86, 0x74, 0x51, 0xaa, 0x8f, 0x74, 0xd7, 0x23, 0xe8, 0xec, 0x8b, 0x66, 0x8a,
+	0x7d, 0x99, 0x75, 0xf4, 0x09, 0x6c, 0xa8, 0x02, 0x04, 0x59, 0x38, 0x23, 0xbd, 0xda, 0x03, 0xed,
+	0x51, 0x0b, 0xb7, 0x95, 0xce, 0x61, 0x2a, 0x64, 0xc0, 0x4d, 0xe6, 0x1d, 0x2f, 0x22, 0x52, 0x04,
+	0x6c, 0xf1, 0x0b, 0x89, 0x68, 0x90, 0xc6, 0xbd, 0xba, 0xb0, 0xbc, 0x51, 0x6d, 0x79, 0x72, 0xc7,
+	0x8e, 0xf5, 0x7f, 0xea, 0x70, 0xc3, 0xad, 0x6a, 0xb2, 0x4f, 0x68, 0x18, 0x87, 0x34, 0x44, 0x9f,
+	0x42, 0xa7, 0x6a, 0x75, 0xc1, 0x54, 0xf6, 0xb4, 0x07, 0x75, 0x06, 0xb0, 0x59, 0x69, 0x39, 0x57,
+	0x89, 0xf6, 0xa1, 0x59, 0x52, 0x32, 0x2f, 0x59, 0x20, 0xf5, 0x47, 0xed, 0xad, 0xaf, 0x8d, 0x15,
+	0xd7, 0xc1, 0xb8, 0xc0, 0x64, 0xf8, 0xcc, 0x1f, 0x4b, 0x14, 0x64, 0x8a, 0xd8, 0x13, 0xc6, 0x51,
+	0x06, 0xcc, 0x30, 0x62, 0x4e, 0xcc, 0x57, 0xc4, 0xde, 0xc4, 0xa8, 0xda, 0xf2, 0x8e, 0x77, 0xd0,
+	0x53, 0x00, 0x96, 0xb1, 0x82, 0x06, 0x3c, 0xf3, 0xbd, 0x06, 0xb3, 0x6b, 0x6f, 0xf5, 0xab, 0x20,
+	0xaa, 0x3a, 0x19, 0xe3, 0xaa, 0x2c, 0xb8, 0x25, 0xac, 0xb9, 0xdc, 0x7f, 0x0b, 0x0d, 0x4e, 0x8d,
+	0x1e, 0x40, 0x3b, 0x26, 0x65, 0x54, 0xa4, 0x73, 0x1e, 0x56, 0x95, 0xd1, 0x53, 0x2a, 0xf4, 0x23,
+	0xac, 0xc9, 0xb2, 0x08, 0x82, 0xce, 0xd6, 0xd3, 0xf7, 0x3a, 0x25, 0x07, 0xc0, 0x0a, 0x48, 0x4f,
+	0x60, 0x4d, 0x6a, 0xd0, 0x6d, 0x40, 0xfe, 0x78, 0x30, 0x3e, 0xf0, 0x83, 0x03, 0xc7, 0xf7, 0xac,
+	0xa1, 0xbd, 0x63, 0x5b, 0xa3, 0xee, 0x35, 0xb4, 0x0e, 0x8d, 0x91, 0xeb, 0x58, 0x5d, 0x0d, 0x7d,
+	0x00, 0x6d, 0xc7, 0x1d, 0x07, 0xcc, 0x0a, 0x8f, 0xd9, 0x56, 0x8d, 0x2b, 0x6c, 0x27, 0xf0, 0xb0,
+	0xbb, 0x8b, 0x2d, 0xdf, 0xef, 0xd6, 0x11, 0xc0, 0xda, 0xce, 0xc0, 0xde, 0x63, 0x9b, 0x0d, 0xb4,
+	0x09, 0xad, 0xe1, 0xc0, 0x19, 0x5a, 0x7b, 0x5c, 0x6c, 0xea, 0x7f, 0x68, 0x00, 0xa3, 0x34, 0x4c,
+	0xb2, 0xbc, 0xa4, 0x69, 0x84, 0xfa, 0xb0, 0x3e, 0xcd, 0x23, 0x11, 0x1a, 0x2b, 0x28, 0x3f, 0xe9,
+	0xb1, 0x8c, 0x46, 0xd0, 0x78, 0x93, 0x66, 0xb1, 0xc8, 0x40, 0x67, 0xeb, 0xf3, 0x95, 0x87, 0x3c,
+	0x81, 0x35, 0x7e, 0x60, 0x7e, 0x58, 0x78, 0xa3, 0x1e, 0x5c, 0x67, 0xc9, 0x2e, 0xab, 0xb2, 0xb5,
+	0x70, 0x25, 0xea, 0xf7, 0xa0, 0xc1, 0xed, 0x50, 0x1b, 0xae, 0xff, 0x3c, 0xc0, 0x8e, 0xed, 0xec,
+	0xb2, 0x63, 0xb6, 0xa0, 0x69, 0x61, 0xec, 0xe2, 0xae, 0xa6, 0x87, 0xb0, 0x31, 0x14, 0x33, 0xc6,
+	0x17, 0x0d, 0x86, 0x3a, 0x50, 0x63, 0x7d, 0xdb, 0x14, 0x20, 0x6c, 0x85, 0x06, 0xd0, 0x9c, 0xa4,
+	0x53, 0x52, 0xf5, 0xda, 0x67, 0x2b, 0x03, 0x94, 0x68, 0x3b, 0xcc, 0x07, 0x4b, 0x4f, 0xfd, 0xf7,
+	0x1a, 0xc0, 0x89, 0x16, 0x7d, 0x04, 0x2d, 0xae, 0x0f, 0xe6, 0x21, 0x7d, 0x5d, 0xa5, 0x83, 0x2b,
+	0x3c, 0x26, 0xa3, 0x87, 0xb0, 0x29, 0x36, 0xd9, 0xdc, 0xa3, 0x0c, 0xb0, 0x14, 0xc7, 0xd9, 0xc0,
+	0x1b, 0x5c, 0x39, 0x54, 0x3a, 0xd6, 0x1a, 0x12, 0x81, 0x0f, 0x02, 0xd5, 0x1d, 0x4f, 0xde, 0x21,
+	0x2e, 0x83, 0xff, 0x1b, 0x33, 0x5f, 0xc9, 0xcb, 0x57, 0xfa, 0xaf, 0x1a, 0xac, 0x57, 0x6a, 0x74,
+	0x17, 0x6e, 0xed, 0xb0, 0xc2, 0x06, 0xe3, 0x57, 0x9e, 0x75, 0xae, 0x41, 0xee, 0xc0, 0x4d, 0xdf,
+	0xc2, 0x3f, 0xd9, 0x43, 0x2b, 0x18, 0xba, 0xce, 0x8e, 0xbd, 0x1b, 0xbc, 0x1a, 0xec, 0xef, 0xb1,
+	0x7e, 0xb9, 0x01, 0x9b, 0xae, 0x67, 0x39, 0xc1, 0xc0, 0xb3, 0x83, 0x97, 0xbe, 0xeb, 0xb0, 0x8e,
+	0x39, 0xad, 0x12, 0x56, 0x75, 0xf4, 0x31, 0xdc, 0x15, 0xc8, 0x23, 0xcb, 0x1f, 0x62, 0xdb, 0x1b,
+	0xbb, 0x38, 0xf0, 0xad, 0x31, 0xef, 0xaa, 0xb1, 0xdb, 0x6d, 0xe8, 0xf7, 0x59, 0x1b, 0x89, 0x30,
+	0x31, 0x99, 0x20, 0x04, 0x0d, 0x31, 0x6d, 0x64, 0x8a, 0xc4, 0x5a, 0x77, 0x59, 0xb5, 0xc4, 0x83,
+	0x82, 0xc9, 0x3c, 0x2f, 0x28, 0x7a, 0x01, 0x9d, 0x33, 0xef, 0x8c, 0x1c, 0x18, 0xed, 0xad, 0xde,
+	0xe9, 0x74, 0x48, 0x48, 0xe5, 0xb7, 0x19, 0x9d, 0x92, 0x4a, 0xfd, 0xef, 0x35, 0xb8, 0x8e, 0xf3,
+	0xe9, 0x34, 0x5f, 0x50, 0x16, 0x1c, 0x14, 0x72, 0xc9, 0x47, 0x97, 0xa4, 0x6d, 0x29, 0x8d, 0x1d,
+	0xa3, 0x67, 0xd0, 0x8e, 0x0a, 0x12, 0x52, 0x22, 0xaf, 0x7d, 0x6d, 0xe5, 0xb5, 0x07, 0x69, 0xce,
+	0x15, 0x1c, 0x5b, 0x4a, 0x71, 0x70, 0xb8, 0x54, 0x3d, 0xda, 0x52, 0x9a, 0xed, 0x25, 0x72, 0xce,
+	0x5d, 0xf6, 0xaf, 0x56, 0x96, 0x53, 0x05, 0x5d, 0x7d, 0xcf, 0xde, 0x74, 0xf4, 0x16, 0x7a, 0xb4,
+	0x08, 0x27, 0x93, 0x34, 0xaa, 0x26, 0x5a, 0xc0, 0xde, 0x17, 0x46, 0x96, 0x2c, 0x45, 0x6f, 0xb7,
+	0xb7, 0x5e, 0x5c, 0x99, 0x61, 0x2c, 0x81, 0xd4, 0xfc, 0xf3, 0x15, 0xcc, 0xf7, 0xd7, 0xf0, 0x6d,
+	0x7a, 0xe9, 0x0e, 0x5a, 0xc2, 0x9d, 0x98, 0x4c, 0x09, 0x4b, 0x54, 0xf5, 0x6a, 0x1c, 0x73, 0xff,
+	0xa9, 0x09, 0xf2, 0xe7, 0x57, 0x26, 0x1f, 0x09, 0x20, 0xf5, 0x10, 0x9d, 0xe2, 0xbe, 0x15, 0x5f,
+	0xb6, 0x71, 0xe1, 0xa5, 0x5a, 0xbf, 0xf0, 0x52, 0xf5, 0xff, 0xd2, 0xe0, 0xf6, 0xe5, 0x47, 0x42,
+	0x05, 0xb4, 0x4f, 0xe6, 0x7f, 0xd5, 0x4a, 0xde, 0xff, 0x4c, 0x94, 0x71, 0xf2, 0x70, 0x94, 0x56,
+	0x46, 0x8b, 0x25, 0x3e, 0x4d, 0xd2, 0x7f, 0x0e, 0xdd, 0xf3, 0x06, 0xa8, 0x0b, 0xf5, 0x37, 0x64,
+	0xa9, 0x3a, 0x90, 0x2f, 0xd1, 0x87, 0xd0, 0x3c, 0x0a, 0xa7, 0x0b, 0xd9, 0x75, 0x1a, 0x96, 0xc2,
+	0xb7, 0xb5, 0x6f, 0xb4, 0xfe, 0x1d, 0xb8, 0x75, 0x69, 0x8e, 0xf4, 0x05, 0x6c, 0x9e, 0xe9, 0x0d,
+	0x74, 0x0f, 0xfa, 0xd8, 0xdd, 0xdb, 0x73, 0x0f, 0xc4, 0x54, 0xbf, 0x38, 0xfb, 0xcf, 0x0d, 0x78,
+	0x8d, 0x8f, 0x4c, 0xff, 0x60, 0x38, 0xe4, 0x42, 0xed, 0xec, 0x84, 0x3f, 0x3b, 0xfc, 0x99, 0x1d,
+	0xbb, 0xe6, 0x23, 0x3e, 0x5a, 0x9b, 0xdb, 0x00, 0xeb, 0x55, 0xb5, 0xb7, 0x9f, 0xc3, 0x43, 0xf6,
+	0x03, 0x66, 0x55, 0xfe, 0xb6, 0x3b, 0xb8, 0xfa, 0x79, 0xeb, 0xf1, 0x4b, 0xe4, 0x69, 0xbf, 0xd5,
+	0x1a, 0xbb, 0x03, 0x7f, 0xff, 0x70, 0x4d, 0x5c, 0xaa, 0x2f, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff,
+	0x5c, 0x8b, 0x12, 0x2b, 0x3f, 0x0b, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicemanagement/v1/resources.proto b/googleapis/api/servicemanagement/v1/resources.proto
new file mode 100644
index 00000000..05dd94bc
--- /dev/null
+++ b/googleapis/api/servicemanagement/v1/resources.proto
@@ -0,0 +1,285 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicemanagement.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/configchange/config_change.proto"; // from google/api/config_change.proto
+import "google.golang.org/genproto/googleapis/api/serviceconfig/service.proto"; // from google/api/service.proto
+import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
+import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
+import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "ResourcesProto";
+option java_package = "com.google.api.servicemanagement.v1";
+option objc_class_prefix = "GASM";
+
+
+// The full representation of a Service that is managed by
+// Google Service Management.
+message ManagedService {
+  // The name of the service. See the [overview](/service-management/overview)
+  // for naming requirements.
+  string service_name = 2;
+
+  // ID of the project that produces and owns this service.
+  string producer_project_id = 3;
+}
+
+// The metadata associated with a long running operation resource.
+message OperationMetadata {
+  // Represents the status of one operation step.
+  message Step {
+    // The short description of the step.
+    string description = 2;
+
+    // The status code.
+    Status status = 4;
+  }
+
+  // Code describes the status of one operation step.
+  enum Status {
+    // Unspecifed code.
+    STATUS_UNSPECIFIED = 0;
+
+    // The step has completed without errors.
+    DONE = 1;
+
+    // The step has not started yet.
+    NOT_STARTED = 2;
+
+    // The step is in progress.
+    IN_PROGRESS = 3;
+
+    // The step has completed with errors.
+    FAILED = 4;
+
+    // The step has completed with cancellation.
+    CANCELLED = 5;
+  }
+
+  // The full name of the resources that this operation is directly
+  // associated with.
+  repeated string resource_names = 1;
+
+  // Detailed status information for each step. The order is undetermined.
+  repeated Step steps = 2;
+
+  // Percentage of completion of this operation, ranging from 0 to 100.
+  int32 progress_percentage = 3;
+
+  // The start time of the operation.
+  google.protobuf.Timestamp start_time = 4;
+}
+
+// Represents a diagnostic message (error or warning)
+message Diagnostic {
+  // The kind of diagnostic information possible.
+  enum Kind {
+    // Warnings and errors
+    WARNING = 0;
+
+    // Only errors
+    ERROR = 1;
+  }
+
+  // File name and line number of the error or warning.
+  string location = 1;
+
+  // The kind of diagnostic information provided.
+  Kind kind = 2;
+
+  // Message describing the error or warning.
+  string message = 3;
+}
+
+// Represents a source file which is used to generate the service configuration
+// defined by `google.api.Service`.
+message ConfigSource {
+  // A unique ID for a specific instance of this message, typically assigned
+  // by the client for tracking purpose. If empty, the server may choose to
+  // generate one instead.
+  string id = 5;
+
+  // Set of source configuration files that are used to generate a service
+  // configuration (`google.api.Service`).
+  repeated ConfigFile files = 2;
+}
+
+// Generic specification of a source configuration file
+message ConfigFile {
+  enum FileType {
+    // Unknown file type.
+    FILE_TYPE_UNSPECIFIED = 0;
+
+    // YAML-specification of service.
+    SERVICE_CONFIG_YAML = 1;
+
+    // OpenAPI specification, serialized in JSON.
+    OPEN_API_JSON = 2;
+
+    // OpenAPI specification, serialized in YAML.
+    OPEN_API_YAML = 3;
+
+    // FileDescriptorSet, generated by protoc.
+    //
+    // To generate, use protoc with imports and source info included.
+    // For an example test.proto file, the following command would put the value
+    // in a new file named out.pb.
+    //
+    // $protoc --include_imports --include_source_info test.proto -o out.pb
+    FILE_DESCRIPTOR_SET_PROTO = 4;
+  }
+
+  // The file name of the configuration file (full or relative path).
+  string file_path = 1;
+
+  // The bytes that constitute the file.
+  bytes file_contents = 3;
+
+  // The type of configuration file this represents.
+  FileType file_type = 4;
+}
+
+// Represents a service configuration with its name and id.
+message ConfigRef {
+  // Resource name of a service config. It must have the following
+  // format: "services/{service name}/configs/{config id}".
+  string name = 1;
+}
+
+// Change report associated with a particular service configuration.
+//
+// It contains a list of ConfigChanges based on the comparison between
+// two service configurations.
+message ChangeReport {
+  // List of changes between two service configurations.
+  // The changes will be alphabetically sorted based on the identifier
+  // of each change.
+  // A ConfigChange identifier is a dot separated path to the configuration.
+  // Example: visibility.rules[selector='LibraryService.CreateBook'].restriction
+  repeated google.api.ConfigChange config_changes = 1;
+}
+
+// A rollout resource that defines how service configuration versions are pushed
+// to control plane systems. Typically, you create a new version of the
+// service config, and then create a Rollout to push the service config.
+message Rollout {
+  // Strategy that specifies how Google Service Control should select
+  // different
+  // versions of service configurations based on traffic percentage.
+  //
+  // One example of how to gradually rollout a new service configuration using
+  // this
+  // strategy:
+  // Day 1
+  //
+  //     Rollout {
+  //       id: "example.googleapis.com/rollout_20160206"
+  //       traffic_percent_strategy {
+  //         percentages: {
+  //           "example.googleapis.com/20160201": 70.00
+  //           "example.googleapis.com/20160206": 30.00
+  //         }
+  //       }
+  //     }
+  //
+  // Day 2
+  //
+  //     Rollout {
+  //       id: "example.googleapis.com/rollout_20160207"
+  //       traffic_percent_strategy: {
+  //         percentages: {
+  //           "example.googleapis.com/20160206": 100.00
+  //         }
+  //       }
+  //     }
+  message TrafficPercentStrategy {
+    // Maps service configuration IDs to their corresponding traffic percentage.
+    // Key is the service configuration ID, Value is the traffic percentage
+    // which must be greater than 0.0 and the sum must equal to 100.0.
+    map<string, double> percentages = 1;
+  }
+
+  // Strategy used to delete a service. This strategy is a placeholder only
+  // used by the system generated rollout to delete a service.
+  message DeleteServiceStrategy {
+
+  }
+
+  // Status of a Rollout.
+  enum RolloutStatus {
+    // No status specified.
+    ROLLOUT_STATUS_UNSPECIFIED = 0;
+
+    // The Rollout is in progress.
+    IN_PROGRESS = 1;
+
+    // The Rollout has completed successfully.
+    SUCCESS = 2;
+
+    // The Rollout has been cancelled. This can happen if you have overlapping
+    // Rollout pushes, and the previous ones will be cancelled.
+    CANCELLED = 3;
+
+    // The Rollout has failed. It is typically caused by configuration errors.
+    FAILED = 4;
+
+    // The Rollout has not started yet and is pending for execution.
+    PENDING = 5;
+  }
+
+  // Optional unique identifier of this Rollout. Only lower case letters, digits
+  //  and '-' are allowed.
+  //
+  // If not specified by client, the server will generate one. The generated id
+  // will have the form of <date><revision number>, where "date" is the create
+  // date in ISO 8601 format.  "revision number" is a monotonically increasing
+  // positive number that is reset every day for each service.
+  // An example of the generated rollout_id is '2016-02-16r1'
+  string rollout_id = 1;
+
+  // Creation time of the rollout. Readonly.
+  google.protobuf.Timestamp create_time = 2;
+
+  // The user who created the Rollout. Readonly.
+  string created_by = 3;
+
+  // The status of this rollout. Readonly. In case of a failed rollout,
+  // the system will automatically rollback to the current Rollout
+  // version. Readonly.
+  RolloutStatus status = 4;
+
+  // Strategy that defines which versions of service configurations should be
+  // pushed
+  // and how they should be used at runtime.
+  oneof strategy {
+    // Google Service Control selects service configurations based on
+    // traffic percentage.
+    TrafficPercentStrategy traffic_percent_strategy = 5;
+
+    // The strategy associated with a rollout to delete a `ManagedService`.
+    // Readonly.
+    DeleteServiceStrategy delete_service_strategy = 200;
+  }
+
+  // The name of the service associated with this Rollout.
+  string service_name = 8;
+}
diff --git a/googleapis/api/servicemanagement/v1/servicemanager.pb.go b/googleapis/api/servicemanagement/v1/servicemanager.pb.go
new file mode 100644
index 00000000..1f6bf6aa
--- /dev/null
+++ b/googleapis/api/servicemanagement/v1/servicemanager.pb.go
@@ -0,0 +1,1216 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto
+// DO NOT EDIT!
+
+package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_api17 "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
+import _ "github.com/golang/protobuf/ptypes/empty"
+import _ "google.golang.org/genproto/protobuf"
+import _ "github.com/golang/protobuf/ptypes/struct"
+import _ "google.golang.org/genproto/googleapis/rpc/status"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Request message for `ListServices` method.
+type ListServicesRequest struct {
+	// Include services produced by the specified project.
+	ProducerProjectId string `protobuf:"bytes,1,opt,name=producer_project_id,json=producerProjectId" json:"producer_project_id,omitempty"`
+	// Requested size of the next page of data.
+	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// Token identifying which result to start with; returned by a previous list
+	// call.
+	PageToken string `protobuf:"bytes,6,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListServicesRequest) Reset()                    { *m = ListServicesRequest{} }
+func (m *ListServicesRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListServicesRequest) ProtoMessage()               {}
+func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+// Response message for `ListServices` method.
+type ListServicesResponse struct {
+	// The results of the query.
+	Services []*ManagedService `protobuf:"bytes,1,rep,name=services" json:"services,omitempty"`
+	// Token that can be passed to `ListServices` to resume a paginated query.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListServicesResponse) Reset()                    { *m = ListServicesResponse{} }
+func (m *ListServicesResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListServicesResponse) ProtoMessage()               {}
+func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *ListServicesResponse) GetServices() []*ManagedService {
+	if m != nil {
+		return m.Services
+	}
+	return nil
+}
+
+// Request message for `GetService` method.
+type GetServiceRequest struct {
+	// The name of the service.  See the `ServiceManager` overview for naming
+	// requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+}
+
+func (m *GetServiceRequest) Reset()                    { *m = GetServiceRequest{} }
+func (m *GetServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetServiceRequest) ProtoMessage()               {}
+func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+// Request message for CreateService method.
+type CreateServiceRequest struct {
+	// Initial values for the service resource.
+	Service *ManagedService `protobuf:"bytes,1,opt,name=service" json:"service,omitempty"`
+}
+
+func (m *CreateServiceRequest) Reset()                    { *m = CreateServiceRequest{} }
+func (m *CreateServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateServiceRequest) ProtoMessage()               {}
+func (*CreateServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+
+func (m *CreateServiceRequest) GetService() *ManagedService {
+	if m != nil {
+		return m.Service
+	}
+	return nil
+}
+
+// Request message for DeleteService method.
+type DeleteServiceRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+}
+
+func (m *DeleteServiceRequest) Reset()                    { *m = DeleteServiceRequest{} }
+func (m *DeleteServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteServiceRequest) ProtoMessage()               {}
+func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+
+// Request message for UndeleteService method.
+type UndeleteServiceRequest struct {
+	// The name of the service. See the [overview](/service-management/overview)
+	// for naming requirements. For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+}
+
+func (m *UndeleteServiceRequest) Reset()                    { *m = UndeleteServiceRequest{} }
+func (m *UndeleteServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*UndeleteServiceRequest) ProtoMessage()               {}
+func (*UndeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+
+// Response message for UndeleteService method.
+type UndeleteServiceResponse struct {
+	// Revived service resource.
+	Service *ManagedService `protobuf:"bytes,1,opt,name=service" json:"service,omitempty"`
+}
+
+func (m *UndeleteServiceResponse) Reset()                    { *m = UndeleteServiceResponse{} }
+func (m *UndeleteServiceResponse) String() string            { return proto.CompactTextString(m) }
+func (*UndeleteServiceResponse) ProtoMessage()               {}
+func (*UndeleteServiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+
+func (m *UndeleteServiceResponse) GetService() *ManagedService {
+	if m != nil {
+		return m.Service
+	}
+	return nil
+}
+
+// Request message for GetServiceConfig method.
+type GetServiceConfigRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	ConfigId    string `protobuf:"bytes,2,opt,name=config_id,json=configId" json:"config_id,omitempty"`
+}
+
+func (m *GetServiceConfigRequest) Reset()                    { *m = GetServiceConfigRequest{} }
+func (m *GetServiceConfigRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetServiceConfigRequest) ProtoMessage()               {}
+func (*GetServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+// Request message for ListServiceConfigs method.
+type ListServiceConfigsRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The token of the page to retrieve.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// The max number of items to include in the response list.
+	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+}
+
+func (m *ListServiceConfigsRequest) Reset()                    { *m = ListServiceConfigsRequest{} }
+func (m *ListServiceConfigsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceConfigsRequest) ProtoMessage()               {}
+func (*ListServiceConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+
+// Response message for ListServiceConfigs method.
+type ListServiceConfigsResponse struct {
+	// The list of service configuration resources.
+	ServiceConfigs []*google_api17.Service `protobuf:"bytes,1,rep,name=service_configs,json=serviceConfigs" json:"service_configs,omitempty"`
+	// The token of the next page of results.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListServiceConfigsResponse) Reset()                    { *m = ListServiceConfigsResponse{} }
+func (m *ListServiceConfigsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceConfigsResponse) ProtoMessage()               {}
+func (*ListServiceConfigsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+
+func (m *ListServiceConfigsResponse) GetServiceConfigs() []*google_api17.Service {
+	if m != nil {
+		return m.ServiceConfigs
+	}
+	return nil
+}
+
+// Request message for CreateServiceConfig method.
+type CreateServiceConfigRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The service configuration resource.
+	ServiceConfig *google_api17.Service `protobuf:"bytes,2,opt,name=service_config,json=serviceConfig" json:"service_config,omitempty"`
+}
+
+func (m *CreateServiceConfigRequest) Reset()                    { *m = CreateServiceConfigRequest{} }
+func (m *CreateServiceConfigRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateServiceConfigRequest) ProtoMessage()               {}
+func (*CreateServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
+
+func (m *CreateServiceConfigRequest) GetServiceConfig() *google_api17.Service {
+	if m != nil {
+		return m.ServiceConfig
+	}
+	return nil
+}
+
+// Request message for SubmitConfigSource method.
+type SubmitConfigSourceRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The source configuration for the service.
+	ConfigSource *ConfigSource `protobuf:"bytes,2,opt,name=config_source,json=configSource" json:"config_source,omitempty"`
+	// Optional. If set, this will result in the generation of a
+	// `google.api.Service` configuration based on the `ConfigSource` provided,
+	// but the generated config and the sources will NOT be persisted.
+	ValidateOnly bool `protobuf:"varint,3,opt,name=validate_only,json=validateOnly" json:"validate_only,omitempty"`
+}
+
+func (m *SubmitConfigSourceRequest) Reset()                    { *m = SubmitConfigSourceRequest{} }
+func (m *SubmitConfigSourceRequest) String() string            { return proto.CompactTextString(m) }
+func (*SubmitConfigSourceRequest) ProtoMessage()               {}
+func (*SubmitConfigSourceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
+
+func (m *SubmitConfigSourceRequest) GetConfigSource() *ConfigSource {
+	if m != nil {
+		return m.ConfigSource
+	}
+	return nil
+}
+
+// Response message for SubmitConfigSource method.
+type SubmitConfigSourceResponse struct {
+	// The generated service configuration.
+	ServiceConfig *google_api17.Service `protobuf:"bytes,1,opt,name=service_config,json=serviceConfig" json:"service_config,omitempty"`
+}
+
+func (m *SubmitConfigSourceResponse) Reset()                    { *m = SubmitConfigSourceResponse{} }
+func (m *SubmitConfigSourceResponse) String() string            { return proto.CompactTextString(m) }
+func (*SubmitConfigSourceResponse) ProtoMessage()               {}
+func (*SubmitConfigSourceResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
+
+func (m *SubmitConfigSourceResponse) GetServiceConfig() *google_api17.Service {
+	if m != nil {
+		return m.ServiceConfig
+	}
+	return nil
+}
+
+// Request message for 'CreateServiceRollout'
+type CreateServiceRolloutRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The rollout resource. The `service_name` field is output only.
+	Rollout *Rollout `protobuf:"bytes,2,opt,name=rollout" json:"rollout,omitempty"`
+}
+
+func (m *CreateServiceRolloutRequest) Reset()                    { *m = CreateServiceRolloutRequest{} }
+func (m *CreateServiceRolloutRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateServiceRolloutRequest) ProtoMessage()               {}
+func (*CreateServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
+
+func (m *CreateServiceRolloutRequest) GetRollout() *Rollout {
+	if m != nil {
+		return m.Rollout
+	}
+	return nil
+}
+
+// Request message for 'ListServiceRollouts'
+type ListServiceRolloutsRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The token of the page to retrieve.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// The max number of items to include in the response list.
+	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+}
+
+func (m *ListServiceRolloutsRequest) Reset()                    { *m = ListServiceRolloutsRequest{} }
+func (m *ListServiceRolloutsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceRolloutsRequest) ProtoMessage()               {}
+func (*ListServiceRolloutsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
+
+// Response message for ListServiceRollouts method.
+type ListServiceRolloutsResponse struct {
+	// The list of rollout resources.
+	Rollouts []*Rollout `protobuf:"bytes,1,rep,name=rollouts" json:"rollouts,omitempty"`
+	// The token of the next page of results.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListServiceRolloutsResponse) Reset()                    { *m = ListServiceRolloutsResponse{} }
+func (m *ListServiceRolloutsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceRolloutsResponse) ProtoMessage()               {}
+func (*ListServiceRolloutsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
+
+func (m *ListServiceRolloutsResponse) GetRollouts() []*Rollout {
+	if m != nil {
+		return m.Rollouts
+	}
+	return nil
+}
+
+// Request message for GetServiceRollout method.
+type GetServiceRolloutRequest struct {
+	// The name of the service.  See the [overview](/service-management/overview)
+	// for naming requirements.  For example: `example.googleapis.com`.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The id of the rollout resource.
+	RolloutId string `protobuf:"bytes,2,opt,name=rollout_id,json=rolloutId" json:"rollout_id,omitempty"`
+}
+
+func (m *GetServiceRolloutRequest) Reset()                    { *m = GetServiceRolloutRequest{} }
+func (m *GetServiceRolloutRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetServiceRolloutRequest) ProtoMessage()               {}
+func (*GetServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
+
+// Request message for EnableService method.
+type EnableServiceRequest struct {
+	// Name of the service to enable. Specifying an unknown service name will
+	// cause the request to fail.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The identity of consumer resource which service enablement will be
+	// applied to.
+	//
+	// The Google Service Management implementation accepts the following
+	// forms: "project:<project_id>", "project_number:<project_number>".
+	//
+	// Note: this is made compatible with
+	// google.api.servicecontrol.v1.Operation.consumer_id.
+	ConsumerId string `protobuf:"bytes,2,opt,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+}
+
+func (m *EnableServiceRequest) Reset()                    { *m = EnableServiceRequest{} }
+func (m *EnableServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*EnableServiceRequest) ProtoMessage()               {}
+func (*EnableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
+
+// Request message for DisableService method.
+type DisableServiceRequest struct {
+	// Name of the service to disable. Specifying an unknown service name
+	// will cause the request to fail.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The identity of consumer resource which service disablement will be
+	// applied to.
+	//
+	// The Google Service Management implementation accepts the following
+	// forms: "project:<project_id>", "project_number:<project_number>".
+	//
+	// Note: this is made compatible with
+	// google.api.servicecontrol.v1.Operation.consumer_id.
+	ConsumerId string `protobuf:"bytes,2,opt,name=consumer_id,json=consumerId" json:"consumer_id,omitempty"`
+}
+
+func (m *DisableServiceRequest) Reset()                    { *m = DisableServiceRequest{} }
+func (m *DisableServiceRequest) String() string            { return proto.CompactTextString(m) }
+func (*DisableServiceRequest) ProtoMessage()               {}
+func (*DisableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
+
+// Request message for GenerateConfigReport method.
+type GenerateConfigReportRequest struct {
+	// Service configuration for which we want to generate the report.
+	// For this version of API, the supported types are
+	// [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
+	// [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
+	// and [google.api.Service][google.api.Service]
+	NewConfig *google_protobuf1.Any `protobuf:"bytes,1,opt,name=new_config,json=newConfig" json:"new_config,omitempty"`
+	// Service configuration against which the comparison will be done.
+	// For this version of API, the supported types are
+	// [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
+	// [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
+	// and [google.api.Service][google.api.Service]
+	OldConfig *google_protobuf1.Any `protobuf:"bytes,2,opt,name=old_config,json=oldConfig" json:"old_config,omitempty"`
+}
+
+func (m *GenerateConfigReportRequest) Reset()                    { *m = GenerateConfigReportRequest{} }
+func (m *GenerateConfigReportRequest) String() string            { return proto.CompactTextString(m) }
+func (*GenerateConfigReportRequest) ProtoMessage()               {}
+func (*GenerateConfigReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
+
+func (m *GenerateConfigReportRequest) GetNewConfig() *google_protobuf1.Any {
+	if m != nil {
+		return m.NewConfig
+	}
+	return nil
+}
+
+func (m *GenerateConfigReportRequest) GetOldConfig() *google_protobuf1.Any {
+	if m != nil {
+		return m.OldConfig
+	}
+	return nil
+}
+
+// Response message for GenerateConfigReport method.
+type GenerateConfigReportResponse struct {
+	// Name of the service this report belongs to.
+	ServiceName string `protobuf:"bytes,1,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// ID of the service configuration this report belongs to.
+	Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"`
+	// list of ChangeReport, each corresponding to comparison between two
+	// service configurations.
+	ChangeReports []*ChangeReport `protobuf:"bytes,3,rep,name=change_reports,json=changeReports" json:"change_reports,omitempty"`
+	// Errors / Linter warnings associated with the service definition this
+	// report
+	// belongs to.
+	Diagnostics []*Diagnostic `protobuf:"bytes,4,rep,name=diagnostics" json:"diagnostics,omitempty"`
+}
+
+func (m *GenerateConfigReportResponse) Reset()                    { *m = GenerateConfigReportResponse{} }
+func (m *GenerateConfigReportResponse) String() string            { return proto.CompactTextString(m) }
+func (*GenerateConfigReportResponse) ProtoMessage()               {}
+func (*GenerateConfigReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{20} }
+
+func (m *GenerateConfigReportResponse) GetChangeReports() []*ChangeReport {
+	if m != nil {
+		return m.ChangeReports
+	}
+	return nil
+}
+
+func (m *GenerateConfigReportResponse) GetDiagnostics() []*Diagnostic {
+	if m != nil {
+		return m.Diagnostics
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*ListServicesRequest)(nil), "google.api.servicemanagement.v1.ListServicesRequest")
+	proto.RegisterType((*ListServicesResponse)(nil), "google.api.servicemanagement.v1.ListServicesResponse")
+	proto.RegisterType((*GetServiceRequest)(nil), "google.api.servicemanagement.v1.GetServiceRequest")
+	proto.RegisterType((*CreateServiceRequest)(nil), "google.api.servicemanagement.v1.CreateServiceRequest")
+	proto.RegisterType((*DeleteServiceRequest)(nil), "google.api.servicemanagement.v1.DeleteServiceRequest")
+	proto.RegisterType((*UndeleteServiceRequest)(nil), "google.api.servicemanagement.v1.UndeleteServiceRequest")
+	proto.RegisterType((*UndeleteServiceResponse)(nil), "google.api.servicemanagement.v1.UndeleteServiceResponse")
+	proto.RegisterType((*GetServiceConfigRequest)(nil), "google.api.servicemanagement.v1.GetServiceConfigRequest")
+	proto.RegisterType((*ListServiceConfigsRequest)(nil), "google.api.servicemanagement.v1.ListServiceConfigsRequest")
+	proto.RegisterType((*ListServiceConfigsResponse)(nil), "google.api.servicemanagement.v1.ListServiceConfigsResponse")
+	proto.RegisterType((*CreateServiceConfigRequest)(nil), "google.api.servicemanagement.v1.CreateServiceConfigRequest")
+	proto.RegisterType((*SubmitConfigSourceRequest)(nil), "google.api.servicemanagement.v1.SubmitConfigSourceRequest")
+	proto.RegisterType((*SubmitConfigSourceResponse)(nil), "google.api.servicemanagement.v1.SubmitConfigSourceResponse")
+	proto.RegisterType((*CreateServiceRolloutRequest)(nil), "google.api.servicemanagement.v1.CreateServiceRolloutRequest")
+	proto.RegisterType((*ListServiceRolloutsRequest)(nil), "google.api.servicemanagement.v1.ListServiceRolloutsRequest")
+	proto.RegisterType((*ListServiceRolloutsResponse)(nil), "google.api.servicemanagement.v1.ListServiceRolloutsResponse")
+	proto.RegisterType((*GetServiceRolloutRequest)(nil), "google.api.servicemanagement.v1.GetServiceRolloutRequest")
+	proto.RegisterType((*EnableServiceRequest)(nil), "google.api.servicemanagement.v1.EnableServiceRequest")
+	proto.RegisterType((*DisableServiceRequest)(nil), "google.api.servicemanagement.v1.DisableServiceRequest")
+	proto.RegisterType((*GenerateConfigReportRequest)(nil), "google.api.servicemanagement.v1.GenerateConfigReportRequest")
+	proto.RegisterType((*GenerateConfigReportResponse)(nil), "google.api.servicemanagement.v1.GenerateConfigReportResponse")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for ServiceManager service
+
+type ServiceManagerClient interface {
+	// Lists all managed services.
+	ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error)
+	// Gets a managed service.
+	GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*ManagedService, error)
+	// Creates a new managed service.
+	// Please note one producer project can own no more than 20 services.
+	//
+	// Operation<response: ManagedService>
+	CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Deletes a managed service. This method will change the serivce in the
+	// `Soft-Delete` state for 30 days. Within this period, service producers may
+	// call [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService] to restore the service.
+	// After 30 days, the service will be permanently deleted.
+	//
+	// Operation<response: google.protobuf.Empty>
+	DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Revives a previously deleted managed service. The method restores the
+	// service using the configuration at the time the service was deleted.
+	// The target service must exist and must have been deleted within the
+	// last 30 days.
+	//
+	// Operation<response: UndeleteServiceResponse>
+	UndeleteService(ctx context.Context, in *UndeleteServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Lists the history of the service configuration for a managed service,
+	// from the newest to the oldest.
+	ListServiceConfigs(ctx context.Context, in *ListServiceConfigsRequest, opts ...grpc.CallOption) (*ListServiceConfigsResponse, error)
+	// Gets a service configuration (version) for a managed service.
+	GetServiceConfig(ctx context.Context, in *GetServiceConfigRequest, opts ...grpc.CallOption) (*google_api17.Service, error)
+	// Creates a new service configuration (version) for a managed service.
+	// This method only stores the service configuration. To roll out the service
+	// configuration to backend systems please call
+	// [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+	CreateServiceConfig(ctx context.Context, in *CreateServiceConfigRequest, opts ...grpc.CallOption) (*google_api17.Service, error)
+	// Creates a new service configuration (version) for a managed service based
+	// on
+	// user-supplied configuration source files (for example: OpenAPI
+	// Specification). This method stores the source configurations as well as the
+	// generated service configuration. To rollout the service configuration to
+	// other services,
+	// please call [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+	//
+	// Operation<response: SubmitConfigSourceResponse>
+	SubmitConfigSource(ctx context.Context, in *SubmitConfigSourceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Lists the history of the service configuration rollouts for a managed
+	// service, from the newest to the oldest.
+	ListServiceRollouts(ctx context.Context, in *ListServiceRolloutsRequest, opts ...grpc.CallOption) (*ListServiceRolloutsResponse, error)
+	// Gets a service configuration [rollout][google.api.servicemanagement.v1.Rollout].
+	GetServiceRollout(ctx context.Context, in *GetServiceRolloutRequest, opts ...grpc.CallOption) (*Rollout, error)
+	// Creates a new service configuration rollout. Based on rollout, the
+	// Google Service Management will roll out the service configurations to
+	// different backend services. For example, the logging configuration will be
+	// pushed to Google Cloud Logging.
+	//
+	// Please note that any previous pending and running Rollouts and associated
+	// Operations will be automatically cancelled so that the latest Rollout will
+	// not be blocked by previous Rollouts.
+	//
+	// Operation<response: Rollout>
+	CreateServiceRollout(ctx context.Context, in *CreateServiceRolloutRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Generates and returns a report (errors, warnings and changes from
+	// existing configurations) associated with
+	// GenerateConfigReportRequest.new_value
+	//
+	// If GenerateConfigReportRequest.old_value is specified,
+	// GenerateConfigReportRequest will contain a single ChangeReport based on the
+	// comparison between GenerateConfigReportRequest.new_value and
+	// GenerateConfigReportRequest.old_value.
+	// If GenerateConfigReportRequest.old_value is not specified, this method
+	// will compare GenerateConfigReportRequest.new_value with the last pushed
+	// service configuration.
+	GenerateConfigReport(ctx context.Context, in *GenerateConfigReportRequest, opts ...grpc.CallOption) (*GenerateConfigReportResponse, error)
+	// Enable a managed service for a project with default setting.
+	//
+	// Operation<response: EnableServiceResponse>
+	//
+	// [google.rpc.Status][google.rpc.Status] errors may contain a
+	// [google.rpc.PreconditionFailure][] error detail.
+	EnableService(ctx context.Context, in *EnableServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Disable a managed service for a project.
+	//
+	// Operation<response: DisableServiceResponse>
+	DisableService(ctx context.Context, in *DisableServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+}
+
+type serviceManagerClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewServiceManagerClient(cc *grpc.ClientConn) ServiceManagerClient {
+	return &serviceManagerClient{cc}
+}
+
+func (c *serviceManagerClient) ListServices(ctx context.Context, in *ListServicesRequest, opts ...grpc.CallOption) (*ListServicesResponse, error) {
+	out := new(ListServicesResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/ListServices", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) GetService(ctx context.Context, in *GetServiceRequest, opts ...grpc.CallOption) (*ManagedService, error) {
+	out := new(ManagedService)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/GetService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) CreateService(ctx context.Context, in *CreateServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/CreateService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) DeleteService(ctx context.Context, in *DeleteServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/DeleteService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) UndeleteService(ctx context.Context, in *UndeleteServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/UndeleteService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) ListServiceConfigs(ctx context.Context, in *ListServiceConfigsRequest, opts ...grpc.CallOption) (*ListServiceConfigsResponse, error) {
+	out := new(ListServiceConfigsResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/ListServiceConfigs", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) GetServiceConfig(ctx context.Context, in *GetServiceConfigRequest, opts ...grpc.CallOption) (*google_api17.Service, error) {
+	out := new(google_api17.Service)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/GetServiceConfig", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) CreateServiceConfig(ctx context.Context, in *CreateServiceConfigRequest, opts ...grpc.CallOption) (*google_api17.Service, error) {
+	out := new(google_api17.Service)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/CreateServiceConfig", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) SubmitConfigSource(ctx context.Context, in *SubmitConfigSourceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/SubmitConfigSource", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) ListServiceRollouts(ctx context.Context, in *ListServiceRolloutsRequest, opts ...grpc.CallOption) (*ListServiceRolloutsResponse, error) {
+	out := new(ListServiceRolloutsResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/ListServiceRollouts", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) GetServiceRollout(ctx context.Context, in *GetServiceRolloutRequest, opts ...grpc.CallOption) (*Rollout, error) {
+	out := new(Rollout)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/GetServiceRollout", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) CreateServiceRollout(ctx context.Context, in *CreateServiceRolloutRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/CreateServiceRollout", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) GenerateConfigReport(ctx context.Context, in *GenerateConfigReportRequest, opts ...grpc.CallOption) (*GenerateConfigReportResponse, error) {
+	out := new(GenerateConfigReportResponse)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/GenerateConfigReport", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) EnableService(ctx context.Context, in *EnableServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/EnableService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *serviceManagerClient) DisableService(ctx context.Context, in *DisableServiceRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.api.servicemanagement.v1.ServiceManager/DisableService", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for ServiceManager service
+
+type ServiceManagerServer interface {
+	// Lists all managed services.
+	ListServices(context.Context, *ListServicesRequest) (*ListServicesResponse, error)
+	// Gets a managed service.
+	GetService(context.Context, *GetServiceRequest) (*ManagedService, error)
+	// Creates a new managed service.
+	// Please note one producer project can own no more than 20 services.
+	//
+	// Operation<response: ManagedService>
+	CreateService(context.Context, *CreateServiceRequest) (*google_longrunning.Operation, error)
+	// Deletes a managed service. This method will change the serivce in the
+	// `Soft-Delete` state for 30 days. Within this period, service producers may
+	// call [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService] to restore the service.
+	// After 30 days, the service will be permanently deleted.
+	//
+	// Operation<response: google.protobuf.Empty>
+	DeleteService(context.Context, *DeleteServiceRequest) (*google_longrunning.Operation, error)
+	// Revives a previously deleted managed service. The method restores the
+	// service using the configuration at the time the service was deleted.
+	// The target service must exist and must have been deleted within the
+	// last 30 days.
+	//
+	// Operation<response: UndeleteServiceResponse>
+	UndeleteService(context.Context, *UndeleteServiceRequest) (*google_longrunning.Operation, error)
+	// Lists the history of the service configuration for a managed service,
+	// from the newest to the oldest.
+	ListServiceConfigs(context.Context, *ListServiceConfigsRequest) (*ListServiceConfigsResponse, error)
+	// Gets a service configuration (version) for a managed service.
+	GetServiceConfig(context.Context, *GetServiceConfigRequest) (*google_api17.Service, error)
+	// Creates a new service configuration (version) for a managed service.
+	// This method only stores the service configuration. To roll out the service
+	// configuration to backend systems please call
+	// [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+	CreateServiceConfig(context.Context, *CreateServiceConfigRequest) (*google_api17.Service, error)
+	// Creates a new service configuration (version) for a managed service based
+	// on
+	// user-supplied configuration source files (for example: OpenAPI
+	// Specification). This method stores the source configurations as well as the
+	// generated service configuration. To rollout the service configuration to
+	// other services,
+	// please call [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+	//
+	// Operation<response: SubmitConfigSourceResponse>
+	SubmitConfigSource(context.Context, *SubmitConfigSourceRequest) (*google_longrunning.Operation, error)
+	// Lists the history of the service configuration rollouts for a managed
+	// service, from the newest to the oldest.
+	ListServiceRollouts(context.Context, *ListServiceRolloutsRequest) (*ListServiceRolloutsResponse, error)
+	// Gets a service configuration [rollout][google.api.servicemanagement.v1.Rollout].
+	GetServiceRollout(context.Context, *GetServiceRolloutRequest) (*Rollout, error)
+	// Creates a new service configuration rollout. Based on rollout, the
+	// Google Service Management will roll out the service configurations to
+	// different backend services. For example, the logging configuration will be
+	// pushed to Google Cloud Logging.
+	//
+	// Please note that any previous pending and running Rollouts and associated
+	// Operations will be automatically cancelled so that the latest Rollout will
+	// not be blocked by previous Rollouts.
+	//
+	// Operation<response: Rollout>
+	CreateServiceRollout(context.Context, *CreateServiceRolloutRequest) (*google_longrunning.Operation, error)
+	// Generates and returns a report (errors, warnings and changes from
+	// existing configurations) associated with
+	// GenerateConfigReportRequest.new_value
+	//
+	// If GenerateConfigReportRequest.old_value is specified,
+	// GenerateConfigReportRequest will contain a single ChangeReport based on the
+	// comparison between GenerateConfigReportRequest.new_value and
+	// GenerateConfigReportRequest.old_value.
+	// If GenerateConfigReportRequest.old_value is not specified, this method
+	// will compare GenerateConfigReportRequest.new_value with the last pushed
+	// service configuration.
+	GenerateConfigReport(context.Context, *GenerateConfigReportRequest) (*GenerateConfigReportResponse, error)
+	// Enable a managed service for a project with default setting.
+	//
+	// Operation<response: EnableServiceResponse>
+	//
+	// [google.rpc.Status][google.rpc.Status] errors may contain a
+	// [google.rpc.PreconditionFailure][] error detail.
+	EnableService(context.Context, *EnableServiceRequest) (*google_longrunning.Operation, error)
+	// Disable a managed service for a project.
+	//
+	// Operation<response: DisableServiceResponse>
+	DisableService(context.Context, *DisableServiceRequest) (*google_longrunning.Operation, error)
+}
+
+func RegisterServiceManagerServer(s *grpc.Server, srv ServiceManagerServer) {
+	s.RegisterService(&_ServiceManager_serviceDesc, srv)
+}
+
+func _ServiceManager_ListServices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListServicesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).ListServices(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/ListServices",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).ListServices(ctx, req.(*ListServicesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_GetService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).GetService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/GetService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).GetService(ctx, req.(*GetServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_CreateService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).CreateService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/CreateService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).CreateService(ctx, req.(*CreateServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_DeleteService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).DeleteService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/DeleteService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).DeleteService(ctx, req.(*DeleteServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_UndeleteService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UndeleteServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).UndeleteService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/UndeleteService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).UndeleteService(ctx, req.(*UndeleteServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_ListServiceConfigs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListServiceConfigsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).ListServiceConfigs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/ListServiceConfigs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).ListServiceConfigs(ctx, req.(*ListServiceConfigsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_GetServiceConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetServiceConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).GetServiceConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/GetServiceConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).GetServiceConfig(ctx, req.(*GetServiceConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_CreateServiceConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateServiceConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).CreateServiceConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/CreateServiceConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).CreateServiceConfig(ctx, req.(*CreateServiceConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_SubmitConfigSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SubmitConfigSourceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).SubmitConfigSource(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/SubmitConfigSource",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).SubmitConfigSource(ctx, req.(*SubmitConfigSourceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_ListServiceRollouts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListServiceRolloutsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).ListServiceRollouts(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/ListServiceRollouts",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).ListServiceRollouts(ctx, req.(*ListServiceRolloutsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_GetServiceRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetServiceRolloutRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).GetServiceRollout(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/GetServiceRollout",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).GetServiceRollout(ctx, req.(*GetServiceRolloutRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_CreateServiceRollout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateServiceRolloutRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).CreateServiceRollout(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/CreateServiceRollout",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).CreateServiceRollout(ctx, req.(*CreateServiceRolloutRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_GenerateConfigReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GenerateConfigReportRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).GenerateConfigReport(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/GenerateConfigReport",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).GenerateConfigReport(ctx, req.(*GenerateConfigReportRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_EnableService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(EnableServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).EnableService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/EnableService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).EnableService(ctx, req.(*EnableServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ServiceManager_DisableService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DisableServiceRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ServiceManagerServer).DisableService(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.api.servicemanagement.v1.ServiceManager/DisableService",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ServiceManagerServer).DisableService(ctx, req.(*DisableServiceRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ServiceManager_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.api.servicemanagement.v1.ServiceManager",
+	HandlerType: (*ServiceManagerServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListServices",
+			Handler:    _ServiceManager_ListServices_Handler,
+		},
+		{
+			MethodName: "GetService",
+			Handler:    _ServiceManager_GetService_Handler,
+		},
+		{
+			MethodName: "CreateService",
+			Handler:    _ServiceManager_CreateService_Handler,
+		},
+		{
+			MethodName: "DeleteService",
+			Handler:    _ServiceManager_DeleteService_Handler,
+		},
+		{
+			MethodName: "UndeleteService",
+			Handler:    _ServiceManager_UndeleteService_Handler,
+		},
+		{
+			MethodName: "ListServiceConfigs",
+			Handler:    _ServiceManager_ListServiceConfigs_Handler,
+		},
+		{
+			MethodName: "GetServiceConfig",
+			Handler:    _ServiceManager_GetServiceConfig_Handler,
+		},
+		{
+			MethodName: "CreateServiceConfig",
+			Handler:    _ServiceManager_CreateServiceConfig_Handler,
+		},
+		{
+			MethodName: "SubmitConfigSource",
+			Handler:    _ServiceManager_SubmitConfigSource_Handler,
+		},
+		{
+			MethodName: "ListServiceRollouts",
+			Handler:    _ServiceManager_ListServiceRollouts_Handler,
+		},
+		{
+			MethodName: "GetServiceRollout",
+			Handler:    _ServiceManager_GetServiceRollout_Handler,
+		},
+		{
+			MethodName: "CreateServiceRollout",
+			Handler:    _ServiceManager_CreateServiceRollout_Handler,
+		},
+		{
+			MethodName: "GenerateConfigReport",
+			Handler:    _ServiceManager_GenerateConfigReport_Handler,
+		},
+		{
+			MethodName: "EnableService",
+			Handler:    _ServiceManager_EnableService_Handler,
+		},
+		{
+			MethodName: "DisableService",
+			Handler:    _ServiceManager_DisableService_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor1,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 1365 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0x4f, 0x6f, 0xdc, 0xc4,
+	0x1b, 0x96, 0xd3, 0x7f, 0xc9, 0x9b, 0xec, 0xf6, 0xd7, 0xc9, 0xfe, 0x68, 0xea, 0x10, 0x95, 0x3a,
+	0x50, 0xa2, 0x94, 0xda, 0x4a, 0xd2, 0xb4, 0x64, 0x93, 0x1e, 0x9a, 0xa4, 0x8a, 0x22, 0x48, 0x1b,
+	0xed, 0x16, 0x89, 0x7f, 0xd2, 0xca, 0xf1, 0x4e, 0x5c, 0xd3, 0x5d, 0x7b, 0xf1, 0xd8, 0x81, 0x34,
+	0xca, 0x81, 0x0a, 0x09, 0x09, 0x4e, 0x08, 0x04, 0x12, 0x47, 0x84, 0x38, 0x70, 0xe0, 0xc2, 0x01,
+	0x89, 0x03, 0x12, 0x9f, 0x81, 0xaf, 0xc0, 0x67, 0xe0, 0xcc, 0x78, 0x3c, 0xde, 0x78, 0x76, 0x9d,
+	0xf5, 0x78, 0xf9, 0x73, 0x48, 0xd6, 0x1e, 0xfb, 0x79, 0xdf, 0xc7, 0xef, 0x3c, 0xf3, 0xce, 0x33,
+	0x50, 0xb7, 0x3d, 0xcf, 0x6e, 0x61, 0xdd, 0xf6, 0x5a, 0xa6, 0x6b, 0xeb, 0x9e, 0x6f, 0x1b, 0x36,
+	0x76, 0x3b, 0xbe, 0x17, 0x78, 0x46, 0xfc, 0xc8, 0xec, 0x38, 0xc4, 0xa0, 0xff, 0x0c, 0x82, 0xfd,
+	0x03, 0xc7, 0xc2, 0x6d, 0xd3, 0x35, 0x6d, 0xdc, 0xc6, 0x6e, 0x60, 0x1c, 0x2c, 0x88, 0x83, 0xbe,
+	0xce, 0x80, 0xe8, 0x2a, 0x0f, 0x4a, 0x51, 0x7a, 0x1f, 0x4a, 0x3f, 0x58, 0x50, 0xb7, 0x0b, 0x67,
+	0xb5, 0x3c, 0x77, 0xdf, 0xb1, 0x0d, 0xd3, 0x75, 0xbd, 0xc0, 0x0c, 0x1c, 0xcf, 0x25, 0x71, 0x2e,
+	0xf5, 0xfe, 0xb0, 0xa1, 0xf8, 0x1d, 0x0f, 0xf3, 0xe0, 0x6f, 0xd6, 0xc1, 0xc7, 0xc4, 0x0b, 0x7d,
+	0x0b, 0x27, 0xb4, 0xd6, 0xe5, 0xe2, 0xb5, 0x3c, 0xd7, 0xf6, 0x43, 0xd7, 0x75, 0x5c, 0xdb, 0xf0,
+	0x3a, 0xd8, 0x17, 0x3e, 0xcd, 0xb0, 0x9d, 0xe0, 0x71, 0xb8, 0xa7, 0x5b, 0x5e, 0xdb, 0x88, 0xe3,
+	0x18, 0xec, 0xc1, 0x5e, 0xb8, 0x6f, 0x74, 0x82, 0xc3, 0x0e, 0xa6, 0x7c, 0xdc, 0xc3, 0xe8, 0x8f,
+	0x03, 0x96, 0xf2, 0x01, 0xb8, 0x4d, 0x2f, 0xe2, 0xff, 0x1c, 0x74, 0x6b, 0x00, 0xd3, 0x2e, 0x7a,
+	0xdf, 0xc1, 0xad, 0x66, 0xa3, 0x6d, 0x92, 0x27, 0x1c, 0xb5, 0x9c, 0x9f, 0x8a, 0x04, 0x7e, 0x68,
+	0x05, 0xfc, 0x87, 0xc3, 0xee, 0xca, 0x95, 0xc5, 0xef, 0x58, 0x14, 0x67, 0x06, 0x21, 0xe1, 0x3f,
+	0x31, 0x5c, 0xfb, 0x48, 0x81, 0xc9, 0xd7, 0x1d, 0x12, 0xd4, 0xe3, 0x29, 0x20, 0x35, 0xfc, 0x7e,
+	0x88, 0x49, 0x80, 0x74, 0x98, 0xa4, 0x2f, 0x34, 0x43, 0x0b, 0xfb, 0x0d, 0x7a, 0xf1, 0x1e, 0xb6,
+	0x82, 0x86, 0xd3, 0x9c, 0x52, 0x5e, 0x50, 0xe6, 0xc6, 0x6a, 0x97, 0x92, 0x47, 0xbb, 0xf1, 0x93,
+	0xed, 0x26, 0x9a, 0x86, 0xb1, 0x0e, 0x9d, 0xbc, 0x06, 0x71, 0x9e, 0xe2, 0xa9, 0x73, 0xf4, 0xad,
+	0x73, 0xb5, 0xd1, 0x68, 0xa0, 0x4e, 0xef, 0xd1, 0x0c, 0x00, 0x7b, 0x18, 0x78, 0x4f, 0xb0, 0x3b,
+	0x75, 0x9e, 0xc5, 0x60, 0xaf, 0x3f, 0x8a, 0x06, 0xb4, 0xcf, 0x14, 0xa8, 0x88, 0x1c, 0x48, 0x87,
+	0xce, 0x19, 0x46, 0xaf, 0xc1, 0x28, 0x97, 0x06, 0xa1, 0x99, 0xcf, 0xcc, 0x8d, 0x2f, 0x1a, 0x7a,
+	0xce, 0x42, 0xd0, 0x77, 0xd8, 0x5d, 0x93, 0xc7, 0xaa, 0x75, 0x03, 0xa0, 0xeb, 0x70, 0xd1, 0xc5,
+	0x1f, 0x06, 0x8d, 0x14, 0x93, 0x11, 0xc6, 0xa4, 0x14, 0x0d, 0xef, 0x76, 0xd9, 0xdc, 0x86, 0x4b,
+	0x5b, 0x38, 0xe1, 0x92, 0x94, 0xe3, 0x1a, 0x4c, 0xf0, 0x40, 0x0d, 0xd7, 0x6c, 0x63, 0x5e, 0x87,
+	0x71, 0x3e, 0xf6, 0x80, 0x0e, 0x69, 0x26, 0x54, 0x36, 0x7c, 0x6c, 0x06, 0xb8, 0x07, 0xba, 0x0d,
+	0x17, 0xf8, 0x6b, 0x0c, 0x35, 0xc4, 0x37, 0x24, 0x78, 0x6d, 0x05, 0x2a, 0x9b, 0xb8, 0x85, 0xfb,
+	0x52, 0x48, 0xb0, 0x5b, 0x85, 0xe7, 0xde, 0x70, 0x9b, 0x43, 0x82, 0x9b, 0x70, 0xb9, 0x0f, 0xcc,
+	0xa7, 0xe8, 0x1f, 0xfc, 0xba, 0xb7, 0xe0, 0xf2, 0x49, 0xe1, 0x37, 0x58, 0x4b, 0x91, 0xe7, 0x18,
+	0x09, 0x30, 0x6e, 0x43, 0x91, 0x4c, 0xe3, 0x89, 0x1d, 0x8d, 0x07, 0xb6, 0x9b, 0xda, 0x53, 0xb8,
+	0x92, 0x12, 0x58, 0x1c, 0x9b, 0x14, 0x08, 0x2e, 0x0a, 0x78, 0xa4, 0x47, 0xc0, 0xa2, 0xf8, 0xcf,
+	0x88, 0xe2, 0xd7, 0x9e, 0x29, 0xa0, 0x66, 0x25, 0xe7, 0x05, 0x5c, 0x83, 0x8b, 0x49, 0xf6, 0x98,
+	0x6e, 0x22, 0xf5, 0xc9, 0x74, 0x21, 0x93, 0x62, 0x95, 0x89, 0x10, 0x45, 0x5a, 0xd4, 0x47, 0xa0,
+	0x0a, 0xe2, 0x2c, 0x5c, 0xde, 0x2a, 0x94, 0x45, 0x9a, 0x2c, 0xcf, 0x29, 0x2c, 0x4b, 0x02, 0x4b,
+	0xed, 0x67, 0x05, 0xae, 0xd4, 0xc3, 0xbd, 0xb6, 0x13, 0xc4, 0x03, 0x75, 0xd6, 0xd7, 0x0b, 0x24,
+	0xaf, 0x41, 0x89, 0xcf, 0x6d, 0xbc, 0x25, 0xf0, 0xdc, 0x37, 0x73, 0xa5, 0x26, 0xe4, 0x9b, 0xb0,
+	0x52, 0x77, 0x68, 0x16, 0x4a, 0x07, 0x66, 0xcb, 0x69, 0xd2, 0x9a, 0x34, 0x3c, 0xb7, 0x75, 0xc8,
+	0xe6, 0x6d, 0xb4, 0x36, 0x91, 0x0c, 0x3e, 0xa4, 0x63, 0xda, 0x9b, 0xa0, 0x66, 0x11, 0xe7, 0x53,
+	0xd7, 0x5f, 0x13, 0x45, 0xba, 0x26, 0x1f, 0x2b, 0x30, 0x2d, 0xb6, 0x0b, 0xaf, 0xd5, 0xf2, 0xc2,
+	0xa0, 0x40, 0x55, 0xd6, 0xe1, 0x82, 0x1f, 0x83, 0x78, 0x3d, 0xe6, 0x72, 0xeb, 0x91, 0x24, 0x49,
+	0x80, 0x91, 0x2e, 0x52, 0xda, 0xe4, 0x8f, 0xff, 0xab, 0x95, 0x41, 0xfb, 0xfe, 0x74, 0x66, 0x76,
+	0x5e, 0xdf, 0x4d, 0x18, 0xe5, 0x3c, 0x93, 0x35, 0x21, 0xff, 0x85, 0x5d, 0xa4, 0xf4, 0x12, 0x79,
+	0x17, 0xa6, 0x52, 0x7d, 0xbf, 0xf0, 0x6c, 0xd0, 0x42, 0xf0, 0x94, 0x27, 0x0d, 0x68, 0x8c, 0x8f,
+	0xd0, 0x0e, 0xf4, 0x36, 0x54, 0xee, 0xbb, 0xe6, 0x5e, 0xab, 0x78, 0xf7, 0x45, 0x57, 0x61, 0x9c,
+	0xca, 0x8b, 0x84, 0x6d, 0xba, 0x15, 0x77, 0x43, 0x43, 0x32, 0x44, 0x63, 0xbf, 0x03, 0xff, 0xdf,
+	0x74, 0xc8, 0xbf, 0x14, 0xfc, 0x13, 0x3a, 0x49, 0x5b, 0xd8, 0x8d, 0x8c, 0x54, 0xb7, 0x6b, 0x74,
+	0x3c, 0xbf, 0x5b, 0x9a, 0x25, 0x00, 0x17, 0x7f, 0x20, 0x2e, 0x80, 0x4a, 0x32, 0x4d, 0x89, 0x81,
+	0xd1, 0xef, 0xb9, 0x87, 0xb5, 0x31, 0xfa, 0x5e, 0x1c, 0x21, 0x02, 0x79, 0xd4, 0xfd, 0x08, 0x9d,
+	0xe4, 0x14, 0x10, 0x7d, 0x8f, 0x2f, 0x99, 0x3f, 0x15, 0x78, 0x3e, 0x9b, 0x09, 0xd7, 0x8b, 0xc4,
+	0xe7, 0x96, 0x61, 0xa4, 0xfb, 0x95, 0xf4, 0x0a, 0x3d, 0x82, 0xb2, 0xf5, 0x98, 0xfa, 0x26, 0xdc,
+	0xf0, 0x59, 0x2c, 0x42, 0x45, 0x7a, 0x46, 0xae, 0xb5, 0x30, 0x18, 0x67, 0x50, 0xb2, 0x52, 0x77,
+	0x04, 0xed, 0xc0, 0x78, 0xd3, 0x31, 0x6d, 0xd7, 0x23, 0x81, 0x63, 0x91, 0xa9, 0xb3, 0x2c, 0xe4,
+	0x8d, 0xdc, 0x90, 0x9b, 0x5d, 0x4c, 0x2d, 0x8d, 0x5f, 0xfc, 0x71, 0x12, 0xca, 0x7c, 0x66, 0xe3,
+	0xbd, 0xd3, 0x47, 0x9f, 0x2b, 0x30, 0x91, 0xb6, 0x4c, 0xe8, 0x56, 0x6e, 0xf4, 0x0c, 0x97, 0xa7,
+	0x2e, 0x17, 0x44, 0xc5, 0x85, 0xd6, 0x2a, 0xcf, 0x7e, 0xff, 0xe3, 0x8b, 0x91, 0x32, 0x9a, 0x48,
+	0x9d, 0x57, 0x08, 0xfa, 0x4a, 0x01, 0x38, 0x59, 0x41, 0x68, 0x31, 0x37, 0x76, 0x9f, 0xcd, 0x52,
+	0x8b, 0x9a, 0x07, 0x6d, 0x96, 0x31, 0x99, 0x41, 0xd3, 0x69, 0x26, 0xc6, 0x51, 0x5a, 0x06, 0xc7,
+	0x88, 0xf6, 0xda, 0x92, 0xd0, 0x6b, 0x51, 0xfe, 0x77, 0x67, 0x59, 0x39, 0x75, 0x26, 0x81, 0xa5,
+	0x0e, 0x19, 0xfa, 0xc3, 0xe4, 0x90, 0xa1, 0xcd, 0x30, 0x32, 0x97, 0x35, 0xa1, 0x2c, 0xd5, 0xc4,
+	0xdf, 0xa0, 0x4f, 0x29, 0x0d, 0xc1, 0xbe, 0x49, 0xd0, 0xc8, 0xb2, 0x7b, 0x79, 0x34, 0x78, 0x4d,
+	0xe6, 0x07, 0xd6, 0xe4, 0x6b, 0x05, 0x2e, 0xf6, 0x78, 0x3a, 0x74, 0x27, 0x97, 0x4e, 0xb6, 0x85,
+	0xcc, 0x23, 0xf4, 0x0a, 0x23, 0x74, 0x5d, 0x7b, 0x71, 0x00, 0xa1, 0x6a, 0xc8, 0x43, 0xa3, 0x5f,
+	0x14, 0x40, 0xfd, 0x7e, 0x09, 0x55, 0x8b, 0x48, 0x55, 0x74, 0x78, 0xea, 0xea, 0x50, 0x58, 0x2e,
+	0xf6, 0x1b, 0x8c, 0xfd, 0x4b, 0x68, 0x76, 0x00, 0x7b, 0x83, 0x5b, 0x37, 0xf4, 0x8d, 0x02, 0xff,
+	0xeb, 0x35, 0xb1, 0xe8, 0xd5, 0x02, 0x2b, 0x41, 0x30, 0x66, 0x6a, 0x96, 0x93, 0xd0, 0xee, 0x30,
+	0x42, 0x0b, 0xc8, 0x90, 0x20, 0x64, 0x1c, 0x75, 0x4d, 0xf1, 0x31, 0xfa, 0x8e, 0x9e, 0xf5, 0x32,
+	0x5c, 0x20, 0x5a, 0x2d, 0xb6, 0x1a, 0x24, 0x28, 0xae, 0x32, 0x8a, 0xcb, 0x9a, 0x4c, 0xcd, 0xaa,
+	0x3d, 0x26, 0x0a, 0x7d, 0x4f, 0x05, 0xd0, 0xef, 0xba, 0x24, 0x04, 0x70, 0xaa, 0xc7, 0xcc, 0x13,
+	0xe8, 0x32, 0xa3, 0x6b, 0x68, 0xf3, 0x32, 0x74, 0x09, 0xcb, 0x52, 0x55, 0xe6, 0xd1, 0xaf, 0xe2,
+	0xd9, 0x39, 0xf1, 0x2f, 0xa8, 0x90, 0xdc, 0x7a, 0x3c, 0x97, 0xba, 0x36, 0x1c, 0x98, 0x8b, 0x95,
+	0x2f, 0x35, 0x34, 0x68, 0xa9, 0x19, 0x5d, 0x6b, 0xf4, 0x93, 0x22, 0x9c, 0x75, 0xe3, 0x61, 0xb4,
+	0x52, 0xa4, 0x71, 0x0b, 0x3e, 0x49, 0x95, 0xf6, 0x67, 0xda, 0x0a, 0x23, 0xba, 0x84, 0x16, 0x64,
+	0x88, 0x1a, 0x47, 0x27, 0xd6, 0xea, 0x18, 0xfd, 0xa0, 0xf4, 0x9e, 0xb4, 0x39, 0xf1, 0xb5, 0x82,
+	0x5d, 0x5d, 0xe4, 0x2e, 0xa9, 0x11, 0xa9, 0xca, 0x56, 0x13, 0x83, 0x8d, 0x7e, 0xa3, 0x64, 0xb3,
+	0x4c, 0x8b, 0x04, 0xd9, 0x01, 0xae, 0x4b, 0xbd, 0x3b, 0x24, 0x5a, 0x94, 0x89, 0x76, 0x4d, 0xd8,
+	0xa9, 0xec, 0x0c, 0x48, 0xa4, 0xf3, 0x2f, 0xe9, 0xc6, 0x25, 0x98, 0x57, 0x89, 0x8d, 0x2b, 0xcb,
+	0xec, 0xe6, 0x95, 0xf8, 0x26, 0x63, 0xf5, 0xb2, 0xa6, 0x0d, 0xda, 0x27, 0x30, 0x0b, 0x1c, 0xd1,
+	0xa2, 0x5b, 0x58, 0x59, 0xf4, 0xbd, 0xe8, 0xb6, 0x84, 0xc7, 0x22, 0xc5, 0x89, 0xe9, 0x8c, 0xd8,
+	0xdc, 0xc0, 0x76, 0x56, 0x6d, 0xc6, 0x91, 0x29, 0xb3, 0xf5, 0x0d, 0x98, 0xb5, 0xbc, 0x76, 0x1e,
+	0x97, 0xf5, 0x49, 0xd1, 0xd4, 0xed, 0x46, 0xbe, 0x77, 0x57, 0xf9, 0x76, 0xe4, 0xec, 0xd6, 0xbd,
+	0xfa, 0xce, 0xde, 0x79, 0xe6, 0x83, 0x97, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff, 0xb8, 0x45, 0x92,
+	0x9b, 0x50, 0x16, 0x00, 0x00,
+}
diff --git a/googleapis/api/servicemanagement/v1/servicemanager.proto b/googleapis/api/servicemanagement/v1/servicemanager.proto
new file mode 100644
index 00000000..312f89c2
--- /dev/null
+++ b/googleapis/api/servicemanagement/v1/servicemanager.proto
@@ -0,0 +1,391 @@
+// Copyright 2016 Google Inc.
+//
+// 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.api.servicemanagement.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/serviceconfig/service.proto"; // from google/api/service.proto
+import "google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto"; // from google/api/servicemanagement/v1/resources.proto
+import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
+import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
+import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "ServiceManagerProto";
+option java_package = "com.google.api.servicemanagement.v1";
+option objc_class_prefix = "GASM";
+
+
+// [Google Service Management API](/service-management/overview)
+service ServiceManager {
+  // Lists all managed services.
+  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
+    option (google.api.http) = { get: "/v1/services" };
+  }
+
+  // Gets a managed service.
+  rpc GetService(GetServiceRequest) returns (ManagedService) {
+    option (google.api.http) = { get: "/v1/services/{service_name}" };
+  }
+
+  // Creates a new managed service.
+  // Please note one producer project can own no more than 20 services.
+  //
+  // Operation<response: ManagedService>
+  rpc CreateService(CreateServiceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services" body: "service" };
+  }
+
+  // Deletes a managed service. This method will change the serivce in the
+  // `Soft-Delete` state for 30 days. Within this period, service producers may
+  // call [UndeleteService][google.api.servicemanagement.v1.ServiceManager.UndeleteService] to restore the service.
+  // After 30 days, the service will be permanently deleted.
+  //
+  // Operation<response: google.protobuf.Empty>
+  rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { delete: "/v1/services/{service_name}" };
+  }
+
+  // Revives a previously deleted managed service. The method restores the
+  // service using the configuration at the time the service was deleted.
+  // The target service must exist and must have been deleted within the
+  // last 30 days.
+  //
+  // Operation<response: UndeleteServiceResponse>
+  rpc UndeleteService(UndeleteServiceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services/{service_name}:undelete" body: "" };
+  }
+
+  // Lists the history of the service configuration for a managed service,
+  // from the newest to the oldest.
+  rpc ListServiceConfigs(ListServiceConfigsRequest) returns (ListServiceConfigsResponse) {
+    option (google.api.http) = { get: "/v1/services/{service_name}/configs" };
+  }
+
+  // Gets a service configuration (version) for a managed service.
+  rpc GetServiceConfig(GetServiceConfigRequest) returns (google.api.Service) {
+    option (google.api.http) = { get: "/v1/services/{service_name}/configs/{config_id}" };
+  }
+
+  // Creates a new service configuration (version) for a managed service.
+  // This method only stores the service configuration. To roll out the service
+  // configuration to backend systems please call
+  // [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+  rpc CreateServiceConfig(CreateServiceConfigRequest) returns (google.api.Service) {
+    option (google.api.http) = { post: "/v1/services/{service_name}/configs" body: "service_config" };
+  }
+
+  // Creates a new service configuration (version) for a managed service based
+  // on
+  // user-supplied configuration source files (for example: OpenAPI
+  // Specification). This method stores the source configurations as well as the
+  // generated service configuration. To rollout the service configuration to
+  // other services,
+  // please call [CreateServiceRollout][google.api.servicemanagement.v1.ServiceManager.CreateServiceRollout].
+  //
+  // Operation<response: SubmitConfigSourceResponse>
+  rpc SubmitConfigSource(SubmitConfigSourceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services/{service_name}/configs:submit" body: "*" };
+  }
+
+  // Lists the history of the service configuration rollouts for a managed
+  // service, from the newest to the oldest.
+  rpc ListServiceRollouts(ListServiceRolloutsRequest) returns (ListServiceRolloutsResponse) {
+    option (google.api.http) = { get: "/v1/services/{service_name}/rollouts" };
+  }
+
+  // Gets a service configuration [rollout][google.api.servicemanagement.v1.Rollout].
+  rpc GetServiceRollout(GetServiceRolloutRequest) returns (Rollout) {
+    option (google.api.http) = { get: "/v1/services/{service_name}/rollouts/{rollout_id}" };
+  }
+
+  // Creates a new service configuration rollout. Based on rollout, the
+  // Google Service Management will roll out the service configurations to
+  // different backend services. For example, the logging configuration will be
+  // pushed to Google Cloud Logging.
+  //
+  // Please note that any previous pending and running Rollouts and associated
+  // Operations will be automatically cancelled so that the latest Rollout will
+  // not be blocked by previous Rollouts.
+  //
+  // Operation<response: Rollout>
+  rpc CreateServiceRollout(CreateServiceRolloutRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services/{service_name}/rollouts" body: "rollout" };
+  }
+
+  // Generates and returns a report (errors, warnings and changes from
+  // existing configurations) associated with
+  // GenerateConfigReportRequest.new_value
+  //
+  // If GenerateConfigReportRequest.old_value is specified,
+  // GenerateConfigReportRequest will contain a single ChangeReport based on the
+  // comparison between GenerateConfigReportRequest.new_value and
+  // GenerateConfigReportRequest.old_value.
+  // If GenerateConfigReportRequest.old_value is not specified, this method
+  // will compare GenerateConfigReportRequest.new_value with the last pushed
+  // service configuration.
+  rpc GenerateConfigReport(GenerateConfigReportRequest) returns (GenerateConfigReportResponse) {
+    option (google.api.http) = { post: "/v1/services:generateConfigReport" body: "*" };
+  }
+
+  // Enable a managed service for a project with default setting.
+  //
+  // Operation<response: EnableServiceResponse>
+  //
+  // [google.rpc.Status][google.rpc.Status] errors may contain a
+  // [google.rpc.PreconditionFailure][] error detail.
+  rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services/{service_name}:enable" body: "*" };
+  }
+
+  // Disable a managed service for a project.
+  //
+  // Operation<response: DisableServiceResponse>
+  rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/services/{service_name}:disable" body: "*" };
+  }
+}
+
+// Request message for `ListServices` method.
+message ListServicesRequest {
+  // Include services produced by the specified project.
+  string producer_project_id = 1;
+
+  // Requested size of the next page of data.
+  int32 page_size = 5;
+
+  // Token identifying which result to start with; returned by a previous list
+  // call.
+  string page_token = 6;
+}
+
+// Response message for `ListServices` method.
+message ListServicesResponse {
+  // The results of the query.
+  repeated ManagedService services = 1;
+
+  // Token that can be passed to `ListServices` to resume a paginated query.
+  string next_page_token = 2;
+}
+
+// Request message for `GetService` method.
+message GetServiceRequest {
+  // The name of the service.  See the `ServiceManager` overview for naming
+  // requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+}
+
+// Request message for CreateService method.
+message CreateServiceRequest {
+  // Initial values for the service resource.
+  ManagedService service = 1;
+}
+
+// Request message for DeleteService method.
+message DeleteServiceRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+}
+
+// Request message for UndeleteService method.
+message UndeleteServiceRequest {
+  // The name of the service. See the [overview](/service-management/overview)
+  // for naming requirements. For example: `example.googleapis.com`.
+  string service_name = 1;
+}
+
+// Response message for UndeleteService method.
+message UndeleteServiceResponse {
+  // Revived service resource.
+  ManagedService service = 1;
+}
+
+// Request message for GetServiceConfig method.
+message GetServiceConfigRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  string config_id = 2;
+}
+
+// Request message for ListServiceConfigs method.
+message ListServiceConfigsRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The token of the page to retrieve.
+  string page_token = 2;
+
+  // The max number of items to include in the response list.
+  int32 page_size = 3;
+}
+
+// Response message for ListServiceConfigs method.
+message ListServiceConfigsResponse {
+  // The list of service configuration resources.
+  repeated google.api.Service service_configs = 1;
+
+  // The token of the next page of results.
+  string next_page_token = 2;
+}
+
+// Request message for CreateServiceConfig method.
+message CreateServiceConfigRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The service configuration resource.
+  google.api.Service service_config = 2;
+}
+
+// Request message for SubmitConfigSource method.
+message SubmitConfigSourceRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The source configuration for the service.
+  ConfigSource config_source = 2;
+
+  // Optional. If set, this will result in the generation of a
+  // `google.api.Service` configuration based on the `ConfigSource` provided,
+  // but the generated config and the sources will NOT be persisted.
+  bool validate_only = 3;
+}
+
+// Response message for SubmitConfigSource method.
+message SubmitConfigSourceResponse {
+  // The generated service configuration.
+  google.api.Service service_config = 1;
+}
+
+// Request message for 'CreateServiceRollout'
+message CreateServiceRolloutRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The rollout resource. The `service_name` field is output only.
+  Rollout rollout = 2;
+}
+
+// Request message for 'ListServiceRollouts'
+message ListServiceRolloutsRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The token of the page to retrieve.
+  string page_token = 2;
+
+  // The max number of items to include in the response list.
+  int32 page_size = 3;
+}
+
+// Response message for ListServiceRollouts method.
+message ListServiceRolloutsResponse {
+  // The list of rollout resources.
+  repeated Rollout rollouts = 1;
+
+  // The token of the next page of results.
+  string next_page_token = 2;
+}
+
+// Request message for GetServiceRollout method.
+message GetServiceRolloutRequest {
+  // The name of the service.  See the [overview](/service-management/overview)
+  // for naming requirements.  For example: `example.googleapis.com`.
+  string service_name = 1;
+
+  // The id of the rollout resource.
+  string rollout_id = 2;
+}
+
+// Request message for EnableService method.
+message EnableServiceRequest {
+  // Name of the service to enable. Specifying an unknown service name will
+  // cause the request to fail.
+  string service_name = 1;
+
+  // The identity of consumer resource which service enablement will be
+  // applied to.
+  //
+  // The Google Service Management implementation accepts the following
+  // forms: "project:<project_id>", "project_number:<project_number>".
+  //
+  // Note: this is made compatible with
+  // google.api.servicecontrol.v1.Operation.consumer_id.
+  string consumer_id = 2;
+}
+
+// Request message for DisableService method.
+message DisableServiceRequest {
+  // Name of the service to disable. Specifying an unknown service name
+  // will cause the request to fail.
+  string service_name = 1;
+
+  // The identity of consumer resource which service disablement will be
+  // applied to.
+  //
+  // The Google Service Management implementation accepts the following
+  // forms: "project:<project_id>", "project_number:<project_number>".
+  //
+  // Note: this is made compatible with
+  // google.api.servicecontrol.v1.Operation.consumer_id.
+  string consumer_id = 2;
+}
+
+// Request message for GenerateConfigReport method.
+message GenerateConfigReportRequest {
+  // Service configuration for which we want to generate the report.
+  // For this version of API, the supported types are
+  // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
+  // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
+  // and [google.api.Service][google.api.Service]
+  google.protobuf.Any new_config = 1;
+
+  // Service configuration against which the comparison will be done.
+  // For this version of API, the supported types are
+  // [google.api.servicemanagement.v1.ConfigRef][google.api.servicemanagement.v1.ConfigRef],
+  // [google.api.servicemanagement.v1.ConfigSource][google.api.servicemanagement.v1.ConfigSource],
+  // and [google.api.Service][google.api.Service]
+  google.protobuf.Any old_config = 2;
+}
+
+// Response message for GenerateConfigReport method.
+message GenerateConfigReportResponse {
+  // Name of the service this report belongs to.
+  string service_name = 1;
+
+  // ID of the service configuration this report belongs to.
+  string id = 2;
+
+  // list of ChangeReport, each corresponding to comparison between two
+  // service configurations.
+  repeated ChangeReport change_reports = 3;
+
+  // Errors / Linter warnings associated with the service definition this
+  // report
+  // belongs to.
+  repeated Diagnostic diagnostics = 4;
+}
diff --git a/googleapis/appengine/v1/app_yaml.pb.go b/googleapis/appengine/v1/app_yaml.pb.go
index 28b4cec4..ed8f9cf5 100644
--- a/googleapis/appengine/v1/app_yaml.pb.go
+++ b/googleapis/appengine/v1/app_yaml.pb.go
@@ -2,6 +2,69 @@
 // source: google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
 // DO NOT EDIT!
 
+/*
+Package google_appengine_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
+	google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
+	google.golang.org/genproto/googleapis/appengine/v1/application.proto
+	google.golang.org/genproto/googleapis/appengine/v1/deploy.proto
+	google.golang.org/genproto/googleapis/appengine/v1/instance.proto
+	google.golang.org/genproto/googleapis/appengine/v1/location.proto
+	google.golang.org/genproto/googleapis/appengine/v1/operation.proto
+	google.golang.org/genproto/googleapis/appengine/v1/service.proto
+	google.golang.org/genproto/googleapis/appengine/v1/version.proto
+
+It has these top-level messages:
+	ApiConfigHandler
+	ErrorHandler
+	UrlMap
+	StaticFilesHandler
+	ScriptHandler
+	ApiEndpointHandler
+	HealthCheck
+	Library
+	GetApplicationRequest
+	RepairApplicationRequest
+	ListServicesRequest
+	ListServicesResponse
+	GetServiceRequest
+	UpdateServiceRequest
+	DeleteServiceRequest
+	ListVersionsRequest
+	ListVersionsResponse
+	GetVersionRequest
+	CreateVersionRequest
+	UpdateVersionRequest
+	DeleteVersionRequest
+	ListInstancesRequest
+	ListInstancesResponse
+	GetInstanceRequest
+	DeleteInstanceRequest
+	DebugInstanceRequest
+	Application
+	UrlDispatchRule
+	Deployment
+	FileInfo
+	ContainerInfo
+	ZipInfo
+	Instance
+	LocationMetadata
+	OperationMetadataV1
+	Service
+	TrafficSplit
+	Version
+	AutomaticScaling
+	BasicScaling
+	ManualScaling
+	CpuUtilization
+	RequestUtilization
+	DiskUtilization
+	NetworkUtilization
+	Network
+	Resources
+*/
 package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
 
 import proto "github.com/golang/protobuf/proto"
@@ -15,6 +78,12 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
 // Actions to take when the user is not logged in.
 type AuthFailAction int32
 
@@ -43,7 +112,7 @@ var AuthFailAction_value = map[string]int32{
 func (x AuthFailAction) String() string {
 	return proto.EnumName(AuthFailAction_name, int32(x))
 }
-func (AuthFailAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (AuthFailAction) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 // Methods to restrict access to a URL based on login status.
 type LoginRequirement int32
@@ -80,7 +149,7 @@ var LoginRequirement_value = map[string]int32{
 func (x LoginRequirement) String() string {
 	return proto.EnumName(LoginRequirement_name, int32(x))
 }
-func (LoginRequirement) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (LoginRequirement) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 // Methods to enforce security (HTTPS) on a URL.
 type SecurityLevel int32
@@ -123,7 +192,7 @@ var SecurityLevel_value = map[string]int32{
 func (x SecurityLevel) String() string {
 	return proto.EnumName(SecurityLevel_name, int32(x))
 }
-func (SecurityLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (SecurityLevel) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 // Error codes.
 type ErrorHandler_ErrorCode int32
@@ -160,7 +229,7 @@ var ErrorHandler_ErrorCode_value = map[string]int32{
 func (x ErrorHandler_ErrorCode) String() string {
 	return proto.EnumName(ErrorHandler_ErrorCode_name, int32(x))
 }
-func (ErrorHandler_ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{1, 0} }
+func (ErrorHandler_ErrorCode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
 // Redirect codes.
 type UrlMap_RedirectHttpResponseCode int32
@@ -197,7 +266,7 @@ func (x UrlMap_RedirectHttpResponseCode) String() string {
 	return proto.EnumName(UrlMap_RedirectHttpResponseCode_name, int32(x))
 }
 func (UrlMap_RedirectHttpResponseCode) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor2, []int{2, 0}
+	return fileDescriptor0, []int{2, 0}
 }
 
 // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/)
@@ -220,7 +289,7 @@ type ApiConfigHandler struct {
 func (m *ApiConfigHandler) Reset()                    { *m = ApiConfigHandler{} }
 func (m *ApiConfigHandler) String() string            { return proto.CompactTextString(m) }
 func (*ApiConfigHandler) ProtoMessage()               {}
-func (*ApiConfigHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*ApiConfigHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 // Custom static error page to be served when an error occurs.
 type ErrorHandler struct {
@@ -235,7 +304,7 @@ type ErrorHandler struct {
 func (m *ErrorHandler) Reset()                    { *m = ErrorHandler{} }
 func (m *ErrorHandler) String() string            { return proto.CompactTextString(m) }
 func (*ErrorHandler) ProtoMessage()               {}
-func (*ErrorHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*ErrorHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 // URL pattern and description of how the URL should be handled. App Engine can
 // handle URLs by executing application code or by serving static files
@@ -268,7 +337,7 @@ type UrlMap struct {
 func (m *UrlMap) Reset()                    { *m = UrlMap{} }
 func (m *UrlMap) String() string            { return proto.CompactTextString(m) }
 func (*UrlMap) ProtoMessage()               {}
-func (*UrlMap) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*UrlMap) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 type isUrlMap_HandlerType interface {
 	isUrlMap_HandlerType()
@@ -445,7 +514,7 @@ type StaticFilesHandler struct {
 func (m *StaticFilesHandler) Reset()                    { *m = StaticFilesHandler{} }
 func (m *StaticFilesHandler) String() string            { return proto.CompactTextString(m) }
 func (*StaticFilesHandler) ProtoMessage()               {}
-func (*StaticFilesHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+func (*StaticFilesHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
 func (m *StaticFilesHandler) GetHttpHeaders() map[string]string {
 	if m != nil {
@@ -470,7 +539,7 @@ type ScriptHandler struct {
 func (m *ScriptHandler) Reset()                    { *m = ScriptHandler{} }
 func (m *ScriptHandler) String() string            { return proto.CompactTextString(m) }
 func (*ScriptHandler) ProtoMessage()               {}
-func (*ScriptHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+func (*ScriptHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
 // Uses Google Cloud Endpoints to handle requests.
 type ApiEndpointHandler struct {
@@ -481,7 +550,7 @@ type ApiEndpointHandler struct {
 func (m *ApiEndpointHandler) Reset()                    { *m = ApiEndpointHandler{} }
 func (m *ApiEndpointHandler) String() string            { return proto.CompactTextString(m) }
 func (*ApiEndpointHandler) ProtoMessage()               {}
-func (*ApiEndpointHandler) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+func (*ApiEndpointHandler) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
 // Health checking configuration for VM instances. Unhealthy instances
 // are killed and replaced with new instances. Only applicable for
@@ -510,7 +579,7 @@ type HealthCheck struct {
 func (m *HealthCheck) Reset()                    { *m = HealthCheck{} }
 func (m *HealthCheck) String() string            { return proto.CompactTextString(m) }
 func (*HealthCheck) ProtoMessage()               {}
-func (*HealthCheck) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+func (*HealthCheck) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
 func (m *HealthCheck) GetCheckInterval() *google_protobuf1.Duration {
 	if m != nil {
@@ -537,7 +606,7 @@ type Library struct {
 func (m *Library) Reset()                    { *m = Library{} }
 func (m *Library) String() string            { return proto.CompactTextString(m) }
 func (*Library) ProtoMessage()               {}
-func (*Library) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
+func (*Library) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
 func init() {
 	proto.RegisterType((*ApiConfigHandler)(nil), "google.appengine.v1.ApiConfigHandler")
@@ -556,88 +625,87 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 1249 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0xdb, 0xc6,
-	0x12, 0x8e, 0x24, 0xff, 0x8e, 0x64, 0x85, 0x5e, 0x27, 0x39, 0xb2, 0x73, 0x82, 0xf8, 0x28, 0x38,
-	0x48, 0x6a, 0x03, 0x52, 0x6c, 0xb7, 0x48, 0xd2, 0x16, 0x45, 0x19, 0x89, 0xae, 0x58, 0xc8, 0x96,
-	0xb2, 0x92, 0x52, 0xa4, 0xbd, 0x58, 0xac, 0xa9, 0xb5, 0xb8, 0x08, 0x45, 0xb2, 0xcb, 0xa5, 0x10,
-	0x3d, 0x47, 0xd1, 0xf7, 0xc8, 0x6d, 0x1f, 0xa4, 0x57, 0x7d, 0x99, 0x62, 0x97, 0xd4, 0x9f, 0x2d,
-	0xc7, 0x41, 0xee, 0x76, 0x66, 0xbe, 0xf9, 0xb8, 0xf3, 0xbb, 0x04, 0x73, 0x10, 0x04, 0x03, 0x8f,
-	0x55, 0x06, 0x81, 0x47, 0xfd, 0x41, 0x25, 0x10, 0x83, 0xea, 0x80, 0xf9, 0xa1, 0x08, 0x64, 0x50,
-	0x4d, 0x4c, 0x34, 0xe4, 0x51, 0x95, 0x86, 0x21, 0xf3, 0x07, 0xdc, 0x67, 0xd5, 0xd1, 0x91, 0x12,
-	0xc8, 0x98, 0x0e, 0xbd, 0x8a, 0x86, 0xa1, 0x9d, 0x94, 0x62, 0x8a, 0xa9, 0x8c, 0x8e, 0xf6, 0xec,
-	0xcf, 0xe5, 0xe5, 0xd5, 0x88, 0x89, 0x11, 0x77, 0x98, 0x13, 0xf8, 0x97, 0x7c, 0x50, 0xa5, 0xbe,
-	0x1f, 0x48, 0x2a, 0x79, 0xe0, 0x47, 0x09, 0xff, 0xde, 0xab, 0x01, 0x97, 0x6e, 0x7c, 0x51, 0x71,
-	0x82, 0x61, 0x35, 0xa1, 0xab, 0x6a, 0xc3, 0x45, 0x7c, 0x59, 0x0d, 0xe5, 0x38, 0x64, 0x51, 0xb5,
-	0x1f, 0x0b, 0xed, 0x32, 0x3d, 0x24, 0xae, 0xe5, 0x3f, 0xb2, 0x60, 0x98, 0x21, 0xaf, 0x69, 0xea,
-	0x06, 0xf5, 0xfb, 0x1e, 0x13, 0xe8, 0x0c, 0x0c, 0x1a, 0x4b, 0x97, 0x5c, 0x52, 0xee, 0x11, 0xea,
-	0x28, 0x78, 0x29, 0xb3, 0x9f, 0x79, 0x56, 0x3c, 0x7e, 0x52, 0x59, 0x12, 0x4a, 0xc5, 0x8c, 0xa5,
-	0x7b, 0x4a, 0xb9, 0x67, 0x6a, 0x28, 0x2e, 0xd2, 0x05, 0x19, 0x7d, 0x07, 0xab, 0x5e, 0x30, 0xe0,
-	0x7e, 0x29, 0xab, 0x39, 0xfe, 0xbf, 0x94, 0xa3, 0xa9, 0x10, 0x98, 0xfd, 0x1e, 0x73, 0xc1, 0x86,
-	0xcc, 0x97, 0x38, 0xf1, 0x41, 0x0f, 0x60, 0x2d, 0x72, 0x04, 0x0f, 0x65, 0x29, 0xb7, 0x9f, 0x79,
-	0xb6, 0x89, 0x53, 0x09, 0xd9, 0x50, 0x8c, 0x98, 0x13, 0x0b, 0x2e, 0xc7, 0xc4, 0x63, 0x23, 0xe6,
-	0x95, 0x56, 0x34, 0x7b, 0x79, 0x29, 0x7b, 0x27, 0x85, 0x36, 0x15, 0x12, 0x6f, 0x45, 0xf3, 0x22,
-	0x32, 0x20, 0x17, 0x0b, 0xaf, 0xb4, 0xaa, 0xf9, 0xd5, 0xb1, 0xfc, 0x31, 0x0b, 0x05, 0x4b, 0x88,
-	0x40, 0x4c, 0x32, 0xf2, 0x33, 0x00, 0x53, 0x32, 0x71, 0x82, 0x3e, 0x4b, 0x73, 0x71, 0xb8, 0xf4,
-	0x4b, 0xf3, 0x6e, 0x89, 0x50, 0x0b, 0xfa, 0x0c, 0x6f, 0xb2, 0xc9, 0x11, 0x3d, 0x86, 0x7c, 0xa4,
-	0xea, 0xe7, 0x90, 0x4b, 0xee, 0x31, 0x9d, 0x94, 0x4d, 0x0c, 0x89, 0xea, 0x94, 0x7b, 0x0c, 0x3d,
-	0x84, 0xcd, 0x21, 0x1f, 0x32, 0xa2, 0x2a, 0x97, 0x46, 0xbd, 0xa1, 0x14, 0xdd, 0x71, 0xc8, 0xca,
-	0x7f, 0x66, 0x60, 0x73, 0x4a, 0x8b, 0xf6, 0xe0, 0x81, 0x85, 0x71, 0x0b, 0x93, 0x5a, 0xab, 0x6e,
-	0x91, 0xde, 0x79, 0xa7, 0x6d, 0xd5, 0xec, 0x53, 0xdb, 0xaa, 0x1b, 0x77, 0xd0, 0x03, 0x40, 0x73,
-	0xb6, 0xba, 0x75, 0x6a, 0xf6, 0x9a, 0x5d, 0xe3, 0x0e, 0xda, 0x85, 0xfb, 0x73, 0xfa, 0xd6, 0x5b,
-	0x0b, 0x93, 0x37, 0xbd, 0x56, 0xd7, 0x34, 0x32, 0xe8, 0x11, 0xec, 0xce, 0xbb, 0xb4, 0x3a, 0xc4,
-	0x6c, 0xdb, 0xa4, 0x6e, 0x9d, 0xdb, 0x66, 0xd3, 0xc8, 0x5e, 0x61, 0xec, 0xda, 0x67, 0x56, 0xab,
-	0xd7, 0x35, 0x72, 0x7b, 0x59, 0x23, 0x53, 0xfe, 0x6b, 0x0d, 0xd6, 0x7a, 0xc2, 0x3b, 0xa3, 0xa1,
-	0xba, 0x7f, 0x2c, 0x3c, 0x22, 0xd8, 0x80, 0x7d, 0xd0, 0xb9, 0xda, 0xc4, 0x1b, 0xb1, 0xf0, 0xb0,
-	0x92, 0x51, 0x13, 0x0a, 0x73, 0xd1, 0x47, 0x3a, 0xfc, 0xfc, 0xf1, 0xd3, 0xe5, 0x55, 0x9b, 0xe6,
-	0x24, 0x4a, 0x33, 0xda, 0xb8, 0x83, 0xf3, 0xb3, 0x4c, 0x45, 0xe8, 0xfb, 0x85, 0xee, 0xc8, 0xdf,
-	0x54, 0x7d, 0x0d, 0x99, 0x51, 0x4c, 0x7a, 0xa8, 0x09, 0x05, 0x1a, 0x72, 0xc2, 0xfc, 0x7e, 0x18,
-	0x70, 0x5f, 0xea, 0x0e, 0xba, 0xe9, 0x2e, 0x66, 0xc8, 0xad, 0x14, 0x37, 0x77, 0x17, 0x3a, 0xd3,
-	0x2e, 0xe9, 0xc8, 0xd5, 0x2f, 0xed, 0xc8, 0xe9, 0xc4, 0xac, 0x7d, 0xc1, 0xc4, 0x2c, 0x9b, 0xde,
-	0xf5, 0x2f, 0x9f, 0xde, 0x08, 0x1e, 0x0a, 0xd6, 0xe7, 0x82, 0x39, 0x92, 0xb8, 0x52, 0x86, 0x44,
-	0xb0, 0x28, 0x0c, 0xfc, 0x88, 0x25, 0xb3, 0xb0, 0xa1, 0x99, 0xbf, 0x5e, 0xca, 0x9c, 0xf4, 0x43,
-	0x05, 0xa7, 0xee, 0x0d, 0x29, 0x43, 0x9c, 0x3a, 0xeb, 0xa1, 0x28, 0x89, 0x1b, 0x2c, 0xe5, 0x7f,
-	0x32, 0x50, 0xba, 0xc9, 0x0d, 0x1d, 0xc2, 0x53, 0x6c, 0xd5, 0x6d, 0x6c, 0xd5, 0xba, 0xa4, 0xd1,
-	0xed, 0xb6, 0x09, 0xb6, 0x3a, 0xed, 0xd6, 0x79, 0xc7, 0x5a, 0x36, 0x05, 0x4f, 0xe0, 0xf1, 0xa7,
-	0xc0, 0x27, 0xcf, 0x8f, 0x8c, 0xcc, 0xed, 0xa0, 0x63, 0x23, 0x7b, 0x3b, 0xe8, 0xc4, 0xc8, 0xdd,
-	0x0e, 0x7a, 0x61, 0xac, 0xbc, 0x2e, 0x42, 0xc1, 0x4d, 0x7a, 0x48, 0xcf, 0x78, 0xf9, 0x63, 0x0e,
-	0xd0, 0xf5, 0x5e, 0x47, 0x08, 0x56, 0x42, 0x2a, 0xdd, 0x74, 0x84, 0xf4, 0x19, 0x1d, 0xc0, 0x76,
-	0x1c, 0x7a, 0x01, 0xed, 0x13, 0x25, 0xa6, 0x33, 0x96, 0xac, 0x90, 0xbb, 0x89, 0xa1, 0x4d, 0xa5,
-	0x9b, 0x8c, 0xda, 0x6f, 0x50, 0xd0, 0x05, 0x73, 0x19, 0xed, 0x33, 0x11, 0x95, 0x72, 0xfb, 0xb9,
-	0x67, 0xf9, 0xe3, 0x97, 0x9f, 0x39, 0x6a, 0x15, 0x95, 0xf7, 0x46, 0xe2, 0x6a, 0xf9, 0x52, 0x8c,
-	0x71, 0xde, 0x9d, 0x69, 0x16, 0x97, 0xd4, 0xca, 0xe2, 0x92, 0x42, 0xaf, 0x00, 0xd8, 0x87, 0x90,
-	0x27, 0x2f, 0x8d, 0x1e, 0x83, 0xfc, 0xf1, 0xee, 0xe4, 0xbb, 0x93, 0xa7, 0xa9, 0x52, 0x4f, 0x9f,
-	0x22, 0x3c, 0x07, 0x46, 0xc7, 0x70, 0x5f, 0x24, 0x3d, 0x4d, 0x86, 0x54, 0x3a, 0x2e, 0xf7, 0x07,
-	0xc9, 0x9e, 0x54, 0xa3, 0xb0, 0x81, 0x77, 0x52, 0xe3, 0x59, 0x6a, 0xd3, 0x0b, 0xf3, 0x08, 0xee,
-	0xd1, 0x30, 0xf4, 0xb8, 0xa3, 0x29, 0x88, 0x60, 0xb4, 0x4f, 0x2f, 0x3c, 0xa6, 0xbb, 0x7e, 0x03,
-	0xef, 0xcc, 0xd9, 0x70, 0x6a, 0xda, 0xfb, 0x01, 0x8c, 0xab, 0xf1, 0xa9, 0x77, 0xe0, 0x3d, 0x1b,
-	0xa7, 0xe9, 0x56, 0x47, 0x74, 0x0f, 0x56, 0x47, 0xd4, 0x8b, 0x27, 0x4b, 0x3a, 0x11, 0xbe, 0xcd,
-	0xbe, 0xcc, 0x94, 0x9f, 0xc3, 0xd6, 0xc2, 0x56, 0xd1, 0x5b, 0x5d, 0x2b, 0xc8, 0x5c, 0xcd, 0x20,
-	0x51, 0xa9, 0x92, 0x94, 0xbf, 0x01, 0x74, 0x7d, 0x87, 0xdc, 0xee, 0xf6, 0x77, 0x16, 0xf2, 0x0d,
-	0x46, 0x3d, 0xe9, 0xd6, 0x5c, 0xe6, 0xbc, 0x47, 0xcf, 0xe1, 0x5e, 0x9f, 0x47, 0x2a, 0x06, 0x55,
-	0x57, 0x4f, 0xba, 0xc4, 0x51, 0x7a, 0xed, 0xb9, 0x81, 0x51, 0x6a, 0x9b, 0xf7, 0x40, 0xb0, 0xe2,
-	0x06, 0x91, 0x4c, 0x63, 0xd0, 0x67, 0x74, 0x08, 0xdb, 0x89, 0xf7, 0x98, 0x48, 0x57, 0xb0, 0xc8,
-	0x0d, 0xbc, 0xbe, 0x5e, 0xa1, 0x5b, 0xd8, 0x48, 0x0d, 0xdd, 0x89, 0x1e, 0x55, 0x61, 0x27, 0xf6,
-	0xaf, 0xc3, 0x57, 0x34, 0x1c, 0x4d, 0x4d, 0x33, 0x87, 0x43, 0xd8, 0x16, 0x2c, 0x92, 0x54, 0xc8,
-	0x39, 0xf8, 0x6a, 0xc2, 0x9e, 0x1a, 0x66, 0xe0, 0x1f, 0xa1, 0xa8, 0x23, 0x20, 0xdc, 0x97, 0x4c,
-	0x8c, 0xa8, 0xa7, 0x2b, 0xfd, 0xc9, 0x7e, 0xd9, 0xd2, 0x0e, 0x76, 0x8a, 0x47, 0x27, 0xb0, 0x2e,
-	0xf9, 0x90, 0x05, 0xb1, 0xd4, 0x15, 0xff, 0xa4, 0xeb, 0x04, 0x59, 0x7e, 0x01, 0xeb, 0x4d, 0x7e,
-	0x21, 0xa8, 0x18, 0xab, 0x04, 0xf9, 0x74, 0xc8, 0x26, 0x73, 0xa6, 0xce, 0xa8, 0x04, 0xeb, 0x23,
-	0x26, 0x22, 0xd5, 0xbe, 0x49, 0xde, 0x26, 0xe2, 0x81, 0x84, 0xe2, 0xe2, 0xc6, 0x44, 0xfb, 0xf0,
-	0x5f, 0xb3, 0xd7, 0x6d, 0x90, 0x53, 0xd3, 0x6e, 0x12, 0xb3, 0xd6, 0xb5, 0x5b, 0xe7, 0x57, 0x96,
-	0xd0, 0x23, 0xd8, 0xbd, 0x86, 0x98, 0xac, 0x09, 0x23, 0x83, 0xfe, 0x07, 0x8f, 0x96, 0x10, 0x28,
-	0x55, 0x0b, 0xdb, 0xbf, 0x5a, 0x75, 0x23, 0x7b, 0x70, 0x01, 0xc6, 0xd5, 0x7d, 0x8f, 0xee, 0xc3,
-	0x76, 0xb3, 0xf5, 0x93, 0x7d, 0xf5, 0x63, 0x08, 0x8a, 0x89, 0xba, 0xd5, 0x56, 0x4c, 0x66, 0xd3,
-	0xc8, 0xa0, 0xbb, 0x90, 0x4f, 0x74, 0x66, 0xfd, 0xcc, 0x3e, 0x37, 0xb2, 0x33, 0x10, 0xb6, 0xde,
-	0xf4, 0x6c, 0x6c, 0xd5, 0x8d, 0xdc, 0xc1, 0x18, 0xb6, 0x16, 0x5e, 0x25, 0xf5, 0xde, 0x77, 0xac,
-	0x5a, 0x0f, 0x5b, 0xd7, 0xbf, 0x90, 0xea, 0x67, 0x7f, 0x15, 0x06, 0x14, 0x52, 0xdd, 0xb9, 0xf5,
-	0xd6, 0xc2, 0x46, 0x06, 0xed, 0xc0, 0xdd, 0x54, 0x33, 0xbd, 0x48, 0x16, 0x6d, 0xc3, 0x56, 0xaa,
-	0x34, 0x9b, 0xbf, 0x98, 0xef, 0x3a, 0xc9, 0xdf, 0xc3, 0xeb, 0xaf, 0xe0, 0x3f, 0x4e, 0x30, 0x5c,
-	0xb6, 0x99, 0x5e, 0x17, 0xcc, 0x30, 0x7c, 0x47, 0x87, 0x5e, 0x5b, 0xd5, 0xb2, 0x9d, 0xb9, 0x58,
-	0xd3, 0x45, 0x3d, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0x9d, 0xa0, 0x1f, 0xc5, 0x98, 0x0b, 0x00,
-	0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 1240 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x72, 0xda, 0x46,
+	0x14, 0x0e, 0xe0, 0xdf, 0x83, 0x4d, 0xe4, 0x75, 0x92, 0x12, 0xa7, 0x99, 0xa4, 0x64, 0x3a, 0x69,
+	0x9d, 0x19, 0x88, 0xed, 0x76, 0x92, 0xb4, 0x9d, 0x4e, 0x15, 0x90, 0x6b, 0x75, 0xb0, 0x21, 0x0b,
+	0xb4, 0x93, 0xf6, 0x42, 0x23, 0x8b, 0x35, 0xd2, 0x44, 0x48, 0xaa, 0x24, 0x3c, 0xe1, 0x39, 0x3a,
+	0x7d, 0x8f, 0xdc, 0xf6, 0x41, 0x7a, 0xd5, 0x97, 0xe9, 0xd9, 0x1f, 0x40, 0xd8, 0x38, 0xce, 0xf8,
+	0x6e, 0xcf, 0x39, 0xdf, 0x77, 0x76, 0xf7, 0xfc, 0xed, 0x82, 0x3e, 0x08, 0xc3, 0x81, 0xcf, 0xaa,
+	0x83, 0xd0, 0xb7, 0x83, 0x41, 0x35, 0x8c, 0x07, 0xb5, 0x01, 0x0b, 0xa2, 0x38, 0x4c, 0xc3, 0x9a,
+	0x34, 0xd9, 0x91, 0x97, 0xd4, 0xec, 0x28, 0x62, 0xc1, 0xc0, 0x0b, 0x58, 0xed, 0x7c, 0x8f, 0x0b,
+	0xd6, 0xd8, 0x1e, 0xfa, 0x55, 0x01, 0x23, 0xdb, 0xca, 0xc5, 0x14, 0x53, 0x3d, 0xdf, 0xdb, 0x31,
+	0x3f, 0xd5, 0xaf, 0x57, 0x4b, 0x58, 0x7c, 0xee, 0x39, 0xcc, 0x09, 0x83, 0x33, 0x6f, 0x50, 0xb3,
+	0x83, 0x20, 0x4c, 0xed, 0xd4, 0x0b, 0x83, 0x44, 0xfa, 0xdf, 0x79, 0x35, 0xf0, 0x52, 0x77, 0x74,
+	0x5a, 0x75, 0xc2, 0x61, 0x4d, 0xba, 0xab, 0x09, 0xc3, 0xe9, 0xe8, 0xac, 0x16, 0xa5, 0xe3, 0x88,
+	0x25, 0xb5, 0xfe, 0x28, 0x16, 0x94, 0xe9, 0x42, 0x52, 0x2b, 0x7f, 0xe5, 0x41, 0xd3, 0x23, 0xaf,
+	0x2e, 0x5c, 0x1f, 0xd9, 0x41, 0xdf, 0x67, 0x31, 0x39, 0x06, 0xcd, 0x1e, 0xa5, 0xae, 0x75, 0x66,
+	0x7b, 0xbe, 0x65, 0x3b, 0x1c, 0x5e, 0xce, 0x3d, 0xce, 0x7d, 0x55, 0xda, 0x7f, 0x52, 0x5d, 0x70,
+	0x95, 0xaa, 0x8e, 0xe0, 0x43, 0xc4, 0xea, 0x02, 0x4a, 0x4b, 0xf6, 0x9c, 0x4c, 0xbe, 0x87, 0x65,
+	0x3f, 0x44, 0x6c, 0x39, 0x2f, 0x7c, 0x7c, 0xb9, 0xd0, 0x47, 0x93, 0x23, 0x28, 0xfb, 0x73, 0xe4,
+	0xc5, 0x6c, 0xc8, 0x82, 0x94, 0x4a, 0x0e, 0xb9, 0x07, 0x2b, 0x89, 0x13, 0x7b, 0x51, 0x5a, 0x2e,
+	0x20, 0x7b, 0x9d, 0x2a, 0x89, 0x98, 0x50, 0x4a, 0x98, 0x33, 0x8a, 0xbd, 0x74, 0x6c, 0xf9, 0xec,
+	0x9c, 0xf9, 0xe5, 0x25, 0xe1, 0xbd, 0xb2, 0xd0, 0x7b, 0x47, 0x41, 0x9b, 0x1c, 0x49, 0x37, 0x93,
+	0xac, 0x48, 0x34, 0x28, 0x8c, 0x62, 0xbf, 0xbc, 0x2c, 0xfc, 0xf3, 0x65, 0xe5, 0x43, 0x1e, 0x36,
+	0x8c, 0x38, 0x0e, 0xe3, 0x49, 0x44, 0x7e, 0x01, 0x60, 0x5c, 0xb6, 0x9c, 0xb0, 0xcf, 0x54, 0x2c,
+	0x9e, 0x2d, 0xdc, 0x29, 0x4b, 0x93, 0x42, 0x1d, 0x29, 0x74, 0x9d, 0x4d, 0x96, 0xe4, 0x11, 0x14,
+	0x13, 0x9e, 0x3f, 0xc7, 0x3a, 0xf3, 0x7c, 0x26, 0x82, 0xb2, 0x4e, 0x41, 0xaa, 0x0e, 0x51, 0x43,
+	0x1e, 0xc0, 0xfa, 0xd0, 0x1b, 0x32, 0x8b, 0x67, 0x4e, 0xdd, 0x7a, 0x8d, 0x2b, 0xba, 0x28, 0x57,
+	0xfe, 0xce, 0xc1, 0xfa, 0xd4, 0x2d, 0xd9, 0x81, 0x7b, 0x06, 0xa5, 0x2d, 0x6a, 0xd5, 0x5b, 0x0d,
+	0xc3, 0xea, 0x9d, 0x74, 0xda, 0x46, 0xdd, 0x3c, 0x34, 0x8d, 0x86, 0x76, 0x0b, 0x23, 0x47, 0x32,
+	0xb6, 0x86, 0x71, 0xa8, 0xf7, 0x9a, 0x5d, 0xd4, 0xdf, 0x87, 0xbb, 0x19, 0x7d, 0xeb, 0x57, 0x83,
+	0x5a, 0x6f, 0x7a, 0xad, 0xae, 0xae, 0xe5, 0xc8, 0x43, 0xb8, 0x9f, 0xa5, 0xb4, 0x3a, 0x96, 0xde,
+	0x36, 0x91, 0x7a, 0x62, 0xea, 0x4d, 0x2d, 0x7f, 0xc1, 0x63, 0xd7, 0x3c, 0x36, 0x5a, 0xbd, 0xae,
+	0x56, 0xd8, 0xc9, 0x6b, 0xb9, 0xca, 0x3f, 0x2b, 0xb0, 0xd2, 0x8b, 0xfd, 0x63, 0x3b, 0xe2, 0xe7,
+	0xc7, 0x20, 0x5a, 0x31, 0x1b, 0xb0, 0xf7, 0x22, 0x56, 0x78, 0x7e, 0x54, 0x50, 0x2e, 0x93, 0x26,
+	0x6c, 0x64, 0x6e, 0x9f, 0x88, 0xeb, 0x17, 0xf7, 0x9f, 0x2e, 0xce, 0xda, 0x34, 0x26, 0x89, 0x8a,
+	0xe8, 0xd1, 0x2d, 0x5a, 0x9c, 0x45, 0x2a, 0x21, 0x3f, 0xcc, 0x55, 0x47, 0xf1, 0xaa, 0xec, 0x0b,
+	0xc8, 0xcc, 0xc5, 0xa4, 0x86, 0xf0, 0x2c, 0xd8, 0x5e, 0x16, 0x0b, 0xfa, 0x51, 0xe8, 0x05, 0xa9,
+	0xa8, 0xa0, 0xab, 0xce, 0x82, 0x4d, 0x62, 0x28, 0x5c, 0xe6, 0x2c, 0xf6, 0x4c, 0xbb, 0xa0, 0x22,
+	0x97, 0x6f, 0x5a, 0x91, 0xd3, 0x8e, 0x59, 0xb9, 0x41, 0xc7, 0x2c, 0xea, 0xde, 0xd5, 0x9b, 0x77,
+	0x6f, 0x02, 0x0f, 0x62, 0xd6, 0xc7, 0x3d, 0x9c, 0xd4, 0x72, 0xd3, 0x34, 0xc2, 0xbc, 0x26, 0x11,
+	0xce, 0x1e, 0x26, 0x7b, 0x61, 0x4d, 0x78, 0xfe, 0x66, 0xa1, 0x67, 0x59, 0x0f, 0x55, 0xaa, 0xe8,
+	0x47, 0xc8, 0xa6, 0x8a, 0x2c, 0x9a, 0xa2, 0x1c, 0x5f, 0x61, 0xa9, 0xfc, 0x97, 0x83, 0xf2, 0x55,
+	0x34, 0xf2, 0x0c, 0x9e, 0x52, 0xa3, 0x61, 0x52, 0xa3, 0xde, 0xb5, 0x8e, 0xba, 0xdd, 0xb6, 0x45,
+	0x8d, 0x4e, 0xbb, 0x75, 0xd2, 0x31, 0x16, 0x75, 0xc1, 0x13, 0x78, 0xf4, 0x31, 0xf0, 0xc1, 0xf3,
+	0x3d, 0xac, 0xfb, 0x6b, 0x41, 0xfb, 0x58, 0xfd, 0xd7, 0x82, 0x0e, 0xb4, 0xc2, 0xf5, 0xa0, 0x17,
+	0xda, 0xd2, 0xeb, 0x12, 0x6c, 0xb8, 0xb2, 0x86, 0x44, 0x8f, 0x57, 0x3e, 0x14, 0x80, 0x5c, 0xae,
+	0x75, 0x42, 0x60, 0x29, 0xb2, 0x53, 0x57, 0xb5, 0x90, 0x58, 0x93, 0x5d, 0xd8, 0x1a, 0x45, 0x7e,
+	0x68, 0xf7, 0x2d, 0x2e, 0xaa, 0x1e, 0x93, 0x23, 0xe4, 0xb6, 0x34, 0xb4, 0x51, 0x2f, 0x5b, 0xed,
+	0x0f, 0xdc, 0x86, 0x27, 0xcc, 0x65, 0x76, 0x9f, 0xc5, 0x09, 0xb6, 0x48, 0x01, 0xcb, 0xfb, 0xe5,
+	0x27, 0xb6, 0x5a, 0x95, 0xc7, 0xfd, 0x48, 0x52, 0x8d, 0x20, 0x8d, 0xc7, 0xb4, 0xe8, 0xce, 0x34,
+	0xf3, 0x43, 0x6a, 0x69, 0x7e, 0x48, 0x91, 0x57, 0x38, 0x2e, 0xdf, 0x47, 0x9e, 0x7c, 0x69, 0x44,
+	0x1b, 0x14, 0xf7, 0xef, 0x4f, 0xf6, 0x9d, 0x3c, 0x4d, 0xd5, 0x86, 0x7a, 0x8a, 0x68, 0x06, 0x4c,
+	0xf6, 0xe1, 0x6e, 0x2c, 0x6b, 0xda, 0x1a, 0xda, 0xa9, 0xe3, 0x7a, 0xc1, 0x40, 0xce, 0x49, 0xde,
+	0x0a, 0x6b, 0x74, 0x5b, 0x19, 0x8f, 0x95, 0x4d, 0x0c, 0xcc, 0x3d, 0xb8, 0x83, 0x97, 0xf1, 0x3d,
+	0x47, 0xb8, 0xc0, 0xa0, 0xd8, 0x7d, 0xfb, 0x14, 0x29, 0xab, 0x92, 0x92, 0xb1, 0x51, 0x65, 0xda,
+	0xf9, 0x11, 0xb4, 0x8b, 0xf7, 0xe3, 0xef, 0xc0, 0x3b, 0x36, 0x56, 0xe1, 0xe6, 0x4b, 0x72, 0x07,
+	0x96, 0xcf, 0x6d, 0x7f, 0x34, 0x19, 0xd2, 0x52, 0xf8, 0x2e, 0xff, 0x32, 0x57, 0x79, 0x0e, 0x9b,
+	0x73, 0x53, 0x45, 0x4c, 0x75, 0xa1, 0xb0, 0x32, 0x39, 0x03, 0xa9, 0xe2, 0x29, 0xa9, 0x7c, 0x0b,
+	0xe4, 0xf2, 0x0c, 0xb9, 0x9e, 0xf6, 0x6f, 0x1e, 0x8a, 0x78, 0x4a, 0x3f, 0x75, 0xeb, 0x2e, 0x73,
+	0xde, 0x91, 0xe7, 0x70, 0xa7, 0xef, 0x25, 0xfc, 0x0e, 0x3c, 0xaf, 0xa8, 0xb6, 0x1c, 0xae, 0x17,
+	0xcc, 0x35, 0x4a, 0x94, 0x2d, 0xcb, 0xc0, 0x32, 0x72, 0xc3, 0x24, 0x55, 0x77, 0x10, 0x6b, 0x6c,
+	0xa1, 0x2d, 0xc9, 0x1e, 0x5b, 0xa9, 0x8b, 0x0d, 0xed, 0x86, 0x7e, 0x5f, 0x8c, 0xd0, 0x4d, 0xaa,
+	0x29, 0x43, 0x77, 0xa2, 0x27, 0x35, 0xd8, 0x1e, 0x05, 0x97, 0xe1, 0x4b, 0x02, 0x4e, 0xa6, 0xa6,
+	0x19, 0x01, 0xbd, 0xe3, 0x32, 0xb5, 0xe3, 0x34, 0x03, 0x5f, 0x96, 0xde, 0x95, 0x61, 0x06, 0xfe,
+	0x09, 0x4a, 0xe2, 0x06, 0x16, 0x46, 0x05, 0xff, 0x39, 0xb6, 0x2f, 0x32, 0xfd, 0xd1, 0x7a, 0xd9,
+	0x14, 0x04, 0x53, 0xe1, 0xc9, 0x01, 0xac, 0xa6, 0x58, 0x79, 0xe1, 0x28, 0x15, 0x19, 0xff, 0x28,
+	0x75, 0x82, 0xac, 0xbc, 0x80, 0xd5, 0xa6, 0x77, 0x1a, 0xdb, 0x98, 0x77, 0x0c, 0x50, 0x60, 0x0f,
+	0xd9, 0xa4, 0xcf, 0xf8, 0x9a, 0x94, 0x61, 0xf5, 0x1c, 0x0b, 0x83, 0x97, 0xaf, 0x8c, 0xdb, 0x44,
+	0xdc, 0x4d, 0xa1, 0x34, 0x3f, 0x31, 0xc9, 0x63, 0xf8, 0x5c, 0xef, 0x75, 0x8f, 0xac, 0x43, 0xdd,
+	0x6c, 0x5a, 0x7a, 0xbd, 0x6b, 0xb6, 0x4e, 0x2e, 0x0c, 0x21, 0x7c, 0x57, 0x2f, 0x21, 0x26, 0x63,
+	0x02, 0xc7, 0xcf, 0x17, 0xf0, 0x70, 0x81, 0x03, 0xae, 0x6a, 0x51, 0xf3, 0x77, 0xf4, 0x90, 0xdf,
+	0x3d, 0x05, 0xed, 0xe2, 0xbc, 0x27, 0x77, 0x61, 0xab, 0xd9, 0xfa, 0xd9, 0xbc, 0xb8, 0x19, 0x81,
+	0x92, 0x54, 0xb7, 0xda, 0xdc, 0x13, 0xbe, 0xdc, 0x39, 0x72, 0x1b, 0x8a, 0x52, 0xa7, 0x37, 0x8e,
+	0xcd, 0x13, 0x1c, 0x66, 0x53, 0x10, 0x35, 0xde, 0xf4, 0xf0, 0x1c, 0x0d, 0xad, 0xb0, 0x3b, 0xc6,
+	0x9a, 0x9e, 0x7b, 0x86, 0xf0, 0xbd, 0xef, 0x18, 0xf5, 0x1e, 0x35, 0x2e, 0xef, 0xa0, 0xf4, 0xb3,
+	0x5f, 0x85, 0x06, 0x1b, 0x4a, 0x77, 0x62, 0xe0, 0x97, 0x02, 0xf7, 0xdc, 0x86, 0xdb, 0x4a, 0x33,
+	0x3d, 0x48, 0x9e, 0x6c, 0xe1, 0x1e, 0x52, 0xa9, 0x37, 0x7f, 0xd3, 0xdf, 0x76, 0xe4, 0xef, 0xe1,
+	0xf5, 0xd7, 0xf0, 0x19, 0x7e, 0x5e, 0x17, 0x4d, 0xa6, 0xd7, 0x1b, 0x7a, 0x14, 0xbd, 0xc5, 0xbf,
+	0x74, 0x9b, 0xe7, 0xb2, 0x9d, 0x3b, 0x5d, 0x11, 0x49, 0x3d, 0xf8, 0x3f, 0x00, 0x00, 0xff, 0xff,
+	0x9d, 0xa0, 0x1f, 0xc5, 0x98, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/appengine.pb.go b/googleapis/appengine/v1/appengine.pb.go
index 78dfe1ef..30781e33 100644
--- a/googleapis/appengine/v1/appengine.pb.go
+++ b/googleapis/appengine/v1/appengine.pb.go
@@ -2,69 +2,6 @@
 // source: google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
 // DO NOT EDIT!
 
-/*
-Package google_appengine_v1 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
-	google.golang.org/genproto/googleapis/appengine/v1/application.proto
-	google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
-	google.golang.org/genproto/googleapis/appengine/v1/deploy.proto
-	google.golang.org/genproto/googleapis/appengine/v1/instance.proto
-	google.golang.org/genproto/googleapis/appengine/v1/location.proto
-	google.golang.org/genproto/googleapis/appengine/v1/operation.proto
-	google.golang.org/genproto/googleapis/appengine/v1/service.proto
-	google.golang.org/genproto/googleapis/appengine/v1/version.proto
-
-It has these top-level messages:
-	GetApplicationRequest
-	RepairApplicationRequest
-	ListServicesRequest
-	ListServicesResponse
-	GetServiceRequest
-	UpdateServiceRequest
-	DeleteServiceRequest
-	ListVersionsRequest
-	ListVersionsResponse
-	GetVersionRequest
-	CreateVersionRequest
-	UpdateVersionRequest
-	DeleteVersionRequest
-	ListInstancesRequest
-	ListInstancesResponse
-	GetInstanceRequest
-	DeleteInstanceRequest
-	DebugInstanceRequest
-	Application
-	UrlDispatchRule
-	ApiConfigHandler
-	ErrorHandler
-	UrlMap
-	StaticFilesHandler
-	ScriptHandler
-	ApiEndpointHandler
-	HealthCheck
-	Library
-	Deployment
-	FileInfo
-	ContainerInfo
-	ZipInfo
-	Instance
-	LocationMetadata
-	OperationMetadataV1
-	Service
-	TrafficSplit
-	Version
-	AutomaticScaling
-	BasicScaling
-	ManualScaling
-	CpuUtilization
-	RequestUtilization
-	DiskUtilization
-	NetworkUtilization
-	Network
-	Resources
-*/
 package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
 
 import proto "github.com/golang/protobuf/proto"
@@ -87,12 +24,6 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the proto package it is being compiled against.
-// A compilation error at this line likely means your copy of the
-// proto package needs to be updated.
-const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
-
 // Fields that should be returned when [Version][google.appengine.v1.Version] resources
 // are retreived.
 type VersionView int32
@@ -119,7 +50,7 @@ var VersionView_value = map[string]int32{
 func (x VersionView) String() string {
 	return proto.EnumName(VersionView_name, int32(x))
 }
-func (VersionView) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (VersionView) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 // Request message for `Applications.GetApplication`.
 type GetApplicationRequest struct {
@@ -130,7 +61,7 @@ type GetApplicationRequest struct {
 func (m *GetApplicationRequest) Reset()                    { *m = GetApplicationRequest{} }
 func (m *GetApplicationRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetApplicationRequest) ProtoMessage()               {}
-func (*GetApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+func (*GetApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 // Request message for 'Applications.RepairApplication'.
 type RepairApplicationRequest struct {
@@ -141,7 +72,7 @@ type RepairApplicationRequest struct {
 func (m *RepairApplicationRequest) Reset()                    { *m = RepairApplicationRequest{} }
 func (m *RepairApplicationRequest) String() string            { return proto.CompactTextString(m) }
 func (*RepairApplicationRequest) ProtoMessage()               {}
-func (*RepairApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+func (*RepairApplicationRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
 // Request message for `Services.ListServices`.
 type ListServicesRequest struct {
@@ -156,7 +87,7 @@ type ListServicesRequest struct {
 func (m *ListServicesRequest) Reset()                    { *m = ListServicesRequest{} }
 func (m *ListServicesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListServicesRequest) ProtoMessage()               {}
-func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
 // Response message for `Services.ListServices`.
 type ListServicesResponse struct {
@@ -169,7 +100,7 @@ type ListServicesResponse struct {
 func (m *ListServicesResponse) Reset()                    { *m = ListServicesResponse{} }
 func (m *ListServicesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListServicesResponse) ProtoMessage()               {}
-func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+func (*ListServicesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
 func (m *ListServicesResponse) GetServices() []*Service {
 	if m != nil {
@@ -187,7 +118,7 @@ type GetServiceRequest struct {
 func (m *GetServiceRequest) Reset()                    { *m = GetServiceRequest{} }
 func (m *GetServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetServiceRequest) ProtoMessage()               {}
-func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
 // Request message for `Services.UpdateService`.
 type UpdateServiceRequest struct {
@@ -216,7 +147,7 @@ type UpdateServiceRequest struct {
 func (m *UpdateServiceRequest) Reset()                    { *m = UpdateServiceRequest{} }
 func (m *UpdateServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateServiceRequest) ProtoMessage()               {}
-func (*UpdateServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+func (*UpdateServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
 func (m *UpdateServiceRequest) GetService() *Service {
 	if m != nil {
@@ -241,7 +172,7 @@ type DeleteServiceRequest struct {
 func (m *DeleteServiceRequest) Reset()                    { *m = DeleteServiceRequest{} }
 func (m *DeleteServiceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteServiceRequest) ProtoMessage()               {}
-func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
 // Request message for `Versions.ListVersions`.
 type ListVersionsRequest struct {
@@ -259,7 +190,7 @@ type ListVersionsRequest struct {
 func (m *ListVersionsRequest) Reset()                    { *m = ListVersionsRequest{} }
 func (m *ListVersionsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListVersionsRequest) ProtoMessage()               {}
-func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
 // Response message for `Versions.ListVersions`.
 type ListVersionsResponse struct {
@@ -272,7 +203,7 @@ type ListVersionsResponse struct {
 func (m *ListVersionsResponse) Reset()                    { *m = ListVersionsResponse{} }
 func (m *ListVersionsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListVersionsResponse) ProtoMessage()               {}
-func (*ListVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+func (*ListVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
 func (m *ListVersionsResponse) GetVersions() []*Version {
 	if m != nil {
@@ -293,7 +224,7 @@ type GetVersionRequest struct {
 func (m *GetVersionRequest) Reset()                    { *m = GetVersionRequest{} }
 func (m *GetVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetVersionRequest) ProtoMessage()               {}
-func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
 // Request message for `Versions.CreateVersion`.
 type CreateVersionRequest struct {
@@ -307,7 +238,7 @@ type CreateVersionRequest struct {
 func (m *CreateVersionRequest) Reset()                    { *m = CreateVersionRequest{} }
 func (m *CreateVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateVersionRequest) ProtoMessage()               {}
-func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
 func (m *CreateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -331,7 +262,7 @@ type UpdateVersionRequest struct {
 func (m *UpdateVersionRequest) Reset()                    { *m = UpdateVersionRequest{} }
 func (m *UpdateVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateVersionRequest) ProtoMessage()               {}
-func (*UpdateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+func (*UpdateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
 func (m *UpdateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -357,7 +288,7 @@ type DeleteVersionRequest struct {
 func (m *DeleteVersionRequest) Reset()                    { *m = DeleteVersionRequest{} }
 func (m *DeleteVersionRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteVersionRequest) ProtoMessage()               {}
-func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
 // Request message for `Instances.ListInstances`.
 type ListInstancesRequest struct {
@@ -373,7 +304,7 @@ type ListInstancesRequest struct {
 func (m *ListInstancesRequest) Reset()                    { *m = ListInstancesRequest{} }
 func (m *ListInstancesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListInstancesRequest) ProtoMessage()               {}
-func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
 // Response message for `Instances.ListInstances`.
 type ListInstancesResponse struct {
@@ -386,7 +317,7 @@ type ListInstancesResponse struct {
 func (m *ListInstancesResponse) Reset()                    { *m = ListInstancesResponse{} }
 func (m *ListInstancesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListInstancesResponse) ProtoMessage()               {}
-func (*ListInstancesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
+func (*ListInstancesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
 func (m *ListInstancesResponse) GetInstances() []*Instance {
 	if m != nil {
@@ -405,7 +336,7 @@ type GetInstanceRequest struct {
 func (m *GetInstanceRequest) Reset()                    { *m = GetInstanceRequest{} }
 func (m *GetInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetInstanceRequest) ProtoMessage()               {}
-func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
 
 // Request message for `Instances.DeleteInstance`.
 type DeleteInstanceRequest struct {
@@ -417,7 +348,7 @@ type DeleteInstanceRequest struct {
 func (m *DeleteInstanceRequest) Reset()                    { *m = DeleteInstanceRequest{} }
 func (m *DeleteInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteInstanceRequest) ProtoMessage()               {}
-func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
 // Request message for `Instances.DebugInstance`.
 type DebugInstanceRequest struct {
@@ -429,7 +360,7 @@ type DebugInstanceRequest struct {
 func (m *DebugInstanceRequest) Reset()                    { *m = DebugInstanceRequest{} }
 func (m *DebugInstanceRequest) String() string            { return proto.CompactTextString(m) }
 func (*DebugInstanceRequest) ProtoMessage()               {}
-func (*DebugInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
+func (*DebugInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
 func init() {
 	proto.RegisterType((*GetApplicationRequest)(nil), "google.appengine.v1.GetApplicationRequest")
@@ -643,7 +574,7 @@ var _Instances_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor0,
+	Metadata: fileDescriptor1,
 }
 
 // Client API for Versions service
@@ -881,7 +812,7 @@ var _Versions_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor0,
+	Metadata: fileDescriptor1,
 }
 
 // Client API for Services service
@@ -1052,7 +983,7 @@ var _Services_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor0,
+	Metadata: fileDescriptor1,
 }
 
 // Client API for Applications service
@@ -1159,86 +1090,86 @@ var _Applications_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor0,
+	Metadata: fileDescriptor1,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/appengine.proto", fileDescriptor0)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/appengine.proto", fileDescriptor1)
 }
 
-var fileDescriptor0 = []byte{
-	// 1160 bytes of a gzipped FileDescriptorProto
+var fileDescriptor1 = []byte{
+	// 1155 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54,
-	0x14, 0xc7, 0x6d, 0xba, 0xa5, 0xa7, 0x6b, 0xb7, 0xde, 0xb6, 0x10, 0xcc, 0x8a, 0x22, 0x83, 0x96,
-	0xd4, 0xd5, 0x62, 0xcd, 0x1d, 0xd3, 0x96, 0x6a, 0x88, 0x76, 0xd5, 0xaa, 0x4a, 0x45, 0x54, 0xee,
-	0xb6, 0x37, 0x54, 0xb9, 0xe9, 0x8d, 0xb9, 0x34, 0xb1, 0x8d, 0xed, 0x64, 0xed, 0x20, 0x42, 0x62,
-	0x12, 0x02, 0x1e, 0x37, 0x1e, 0x78, 0x40, 0xda, 0x03, 0x5f, 0x86, 0x77, 0xbe, 0x00, 0x0f, 0x7c,
-	0x10, 0xe4, 0xeb, 0x7b, 0xed, 0xd8, 0xf1, 0x3f, 0x32, 0xf1, 0x12, 0xc5, 0xd7, 0xe7, 0xcf, 0xef,
-	0xfc, 0xce, 0xcf, 0x3e, 0xc7, 0xb0, 0x6b, 0x58, 0x96, 0xd1, 0xc3, 0x2d, 0xc3, 0xea, 0xe9, 0xa6,
-	0xd1, 0xb2, 0x1c, 0x43, 0x31, 0xb0, 0x69, 0x3b, 0x96, 0x67, 0x29, 0xc1, 0x2d, 0xdd, 0x26, 0xae,
-	0xa2, 0xdb, 0x36, 0x36, 0x0d, 0x62, 0x62, 0x65, 0x78, 0x27, 0xba, 0x68, 0x51, 0x3b, 0xb4, 0xc2,
-	0x62, 0x44, 0xe7, 0xc3, 0x3b, 0xe2, 0x41, 0xd9, 0xc0, 0x44, 0x71, 0xb1, 0x33, 0x24, 0x1d, 0xdc,
-	0xb1, 0xcc, 0x2e, 0x31, 0x14, 0xdd, 0x34, 0x2d, 0x4f, 0xf7, 0x88, 0x65, 0xba, 0x41, 0x7c, 0x71,
-	0x6f, 0x3a, 0x8c, 0x3d, 0xd2, 0xa1, 0x61, 0x58, 0x94, 0x9d, 0x29, 0xa2, 0x10, 0xd3, 0xf5, 0x74,
-	0xb3, 0xc3, 0x0a, 0x15, 0x3f, 0x9b, 0x22, 0x04, 0x2b, 0xee, 0x2d, 0x22, 0x0c, 0xb1, 0xe3, 0x46,
-	0x65, 0x3c, 0x2c, 0x17, 0x81, 0xe8, 0x7d, 0x5a, 0x80, 0xde, 0x3f, 0xb1, 0xad, 0x1e, 0xe9, 0x5c,
-	0x32, 0xf7, 0x07, 0xff, 0xc9, 0x3d, 0xe6, 0x5a, 0x52, 0x2a, 0x3d, 0xcb, 0x34, 0x9c, 0x81, 0x69,
-	0x12, 0xd3, 0x50, 0x2c, 0x1b, 0x3b, 0xb1, 0x56, 0x6e, 0x19, 0xc4, 0xfb, 0x6a, 0x70, 0xda, 0xea,
-	0x58, 0x7d, 0x25, 0x88, 0xa3, 0xd0, 0x1b, 0xa7, 0x83, 0xae, 0x62, 0x7b, 0x97, 0x36, 0x76, 0x15,
-	0xdc, 0xb7, 0xbd, 0xcb, 0xe0, 0x97, 0x39, 0xdd, 0xcd, 0x49, 0x1c, 0x7a, 0x77, 0x09, 0xee, 0x9d,
-	0x9d, 0xf4, 0x75, 0xf7, 0x3c, 0xf0, 0x92, 0x36, 0x61, 0x6d, 0x1f, 0x7b, 0x3b, 0x91, 0x0e, 0x34,
-	0xfc, 0xcd, 0x00, 0xbb, 0x1e, 0x42, 0x50, 0x31, 0xf5, 0x3e, 0xae, 0x09, 0x75, 0xa1, 0x39, 0xaf,
-	0xd1, 0xff, 0x52, 0x0b, 0x6a, 0x1a, 0xb6, 0x75, 0xe2, 0x94, 0xb4, 0x27, 0xb0, 0x72, 0x48, 0x5c,
-	0xef, 0x38, 0x68, 0xae, 0xcb, 0x4d, 0xdf, 0x85, 0x2b, 0xb6, 0xee, 0x60, 0xd3, 0x63, 0xc6, 0xec,
-	0x0a, 0x7d, 0x00, 0xf3, 0xb6, 0x6e, 0xe0, 0x13, 0x97, 0xbc, 0xc0, 0xb5, 0x99, 0xba, 0xd0, 0x9c,
-	0xd3, 0xaa, 0xfe, 0xc1, 0x31, 0x79, 0x81, 0xd1, 0x3a, 0x00, 0xbd, 0xe9, 0x59, 0xe7, 0xd8, 0xac,
-	0xcd, 0x52, 0x47, 0x6a, 0xfe, 0xc4, 0x3f, 0x90, 0x2e, 0x60, 0x35, 0x9e, 0xca, 0xb5, 0x2d, 0xd3,
-	0xc5, 0xe8, 0x3e, 0x54, 0x99, 0xb6, 0xdc, 0x9a, 0x50, 0x9f, 0x6d, 0x2e, 0xa8, 0x37, 0x5b, 0x29,
-	0x0f, 0x62, 0x8b, 0x39, 0x6a, 0xa1, 0x35, 0xba, 0x05, 0xd7, 0x4d, 0x7c, 0xe1, 0x9d, 0x8c, 0x65,
-	0x9d, 0xa1, 0x59, 0x17, 0xfd, 0xe3, 0xa3, 0x30, 0x73, 0x03, 0x96, 0xf7, 0x31, 0x4f, 0x9c, 0xc7,
-	0xc6, 0x9f, 0x02, 0xac, 0x3e, 0xb5, 0xcf, 0x74, 0x0f, 0x17, 0x1b, 0xa3, 0x7b, 0x70, 0x95, 0x21,
-	0xa1, 0x59, 0x8b, 0x60, 0x73, 0x63, 0xb4, 0x0d, 0x0b, 0x03, 0x9a, 0x83, 0x36, 0x99, 0xf2, 0xb4,
-	0xa0, 0x8a, 0xdc, 0x97, 0xeb, 0xa0, 0xf5, 0xd8, 0xd7, 0xc1, 0xe7, 0xba, 0x7b, 0xae, 0x41, 0x60,
-	0xee, 0xff, 0x47, 0x0d, 0xb8, 0xde, 0x27, 0x86, 0xe3, 0x7b, 0x7b, 0x8e, 0xde, 0xed, 0x92, 0x4e,
-	0xad, 0x52, 0x17, 0x9a, 0x55, 0x6d, 0x89, 0x1d, 0x3f, 0x09, 0x4e, 0x25, 0x19, 0x56, 0xf7, 0x70,
-	0x0f, 0x97, 0xa9, 0x44, 0x7a, 0x23, 0x04, 0x2a, 0x78, 0x16, 0x3c, 0xa0, 0x85, 0x2a, 0xb8, 0x0b,
-	0x95, 0x21, 0xc1, 0xcf, 0x69, 0xd9, 0x4b, 0x6a, 0x3d, 0xb5, 0x6c, 0x16, 0xeb, 0x19, 0xc1, 0xcf,
-	0x35, 0x6a, 0x1d, 0xd7, 0xce, 0x6c, 0xae, 0x76, 0x2a, 0x19, 0xda, 0x89, 0x00, 0x46, 0xda, 0x61,
-	0x6f, 0x95, 0x7c, 0xed, 0x30, 0x47, 0x2d, 0xb4, 0x2e, 0xad, 0x9d, 0x2f, 0xa9, 0x76, 0xb8, 0x7f,
-	0x8e, 0x1c, 0xa6, 0x22, 0x45, 0xea, 0xc2, 0xea, 0x23, 0x07, 0xeb, 0x1e, 0x4e, 0x64, 0xc8, 0xa2,
-	0xfe, 0x1e, 0x5c, 0x65, 0x25, 0xe4, 0x8a, 0x8e, 0x47, 0xe3, 0xc6, 0x7e, 0x8b, 0x99, 0xb2, 0x4b,
-	0x94, 0x32, 0x65, 0x92, 0xb7, 0x52, 0x76, 0x24, 0xd8, 0x62, 0x80, 0xd2, 0xd7, 0x81, 0x1c, 0x0e,
-	0xd8, 0x54, 0xfb, 0x5f, 0x5f, 0x5b, 0xdf, 0xc1, 0x5a, 0x22, 0x17, 0xd3, 0xde, 0x36, 0xcc, 0xf3,
-	0xb1, 0xca, 0xc5, 0xb7, 0x9e, 0xca, 0x13, 0x77, 0xd5, 0x22, 0xfb, 0xd2, 0xf2, 0x6b, 0x02, 0xda,
-	0xc7, 0x61, 0xf2, 0x3c, 0x4e, 0x36, 0x61, 0x2d, 0xe0, 0xaf, 0x8c, 0x31, 0x25, 0xfb, 0x74, 0x60,
-	0x94, 0xb0, 0x95, 0x25, 0x58, 0x18, 0xd3, 0x2d, 0x9a, 0x87, 0xb9, 0xdd, 0x9d, 0xe3, 0x83, 0x47,
-	0x37, 0xde, 0x41, 0x55, 0xa8, 0x3c, 0x7e, 0x7a, 0x78, 0x78, 0x43, 0x50, 0x5f, 0xce, 0xc1, 0x7c,
-	0xc8, 0x10, 0xfa, 0x43, 0x80, 0xc5, 0x18, 0x67, 0x68, 0x23, 0x95, 0x98, 0xb4, 0x1e, 0x8a, 0x72,
-	0x19, 0xd3, 0xa0, 0x05, 0xd2, 0xf6, 0x0f, 0x7f, 0xfd, 0xf3, 0x7a, 0xe6, 0x13, 0xb4, 0xe5, 0xcf,
-	0xf8, 0x6f, 0x83, 0x66, 0x3f, 0xd4, 0x6d, 0xdb, 0x55, 0x64, 0xbe, 0xaf, 0xf8, 0x7f, 0xf9, 0x43,
-	0xaf, 0xc8, 0x23, 0x25, 0x6a, 0xc1, 0x2b, 0x01, 0x16, 0xc6, 0xb8, 0x45, 0x8d, 0xd4, 0xc4, 0x93,
-	0xec, 0x8b, 0xf9, 0x5d, 0x4e, 0x80, 0xf2, 0x29, 0xcc, 0x85, 0x14, 0x21, 0x52, 0xe4, 0x11, 0xfa,
-	0x4d, 0x80, 0xa5, 0x78, 0x1b, 0x51, 0x3a, 0x21, 0xa9, 0xbd, 0x8e, 0xa0, 0x8d, 0x2d, 0x2f, 0xad,
-	0x2f, 0xf8, 0xf2, 0xc2, 0xa1, 0xc9, 0x53, 0x41, 0x7b, 0x23, 0xc0, 0x62, 0x4c, 0x34, 0x19, 0x5d,
-	0x4d, 0x13, 0x56, 0x11, 0xb0, 0x3d, 0x0a, 0xec, 0x53, 0xe9, 0xc1, 0x14, 0xc0, 0xda, 0x67, 0x7e,
-	0xc2, 0xb6, 0x20, 0xab, 0x7f, 0xcf, 0x41, 0x95, 0x8f, 0x08, 0xf4, 0xab, 0x00, 0xd7, 0xc6, 0x67,
-	0x06, 0x6a, 0x66, 0x0a, 0x2b, 0x31, 0xf7, 0xc4, 0x8d, 0x12, 0x96, 0x4c, 0x81, 0x0a, 0x05, 0xbe,
-	0x81, 0x1a, 0xb9, 0x0a, 0x1c, 0x85, 0xd8, 0xd1, 0x4b, 0x01, 0x20, 0x1a, 0x28, 0xe8, 0x56, 0x96,
-	0xe8, 0xe2, 0x6f, 0x41, 0x31, 0xf7, 0x0d, 0x9c, 0x40, 0x51, 0x48, 0xdf, 0x08, 0xbd, 0x16, 0x60,
-	0x31, 0x36, 0x77, 0x32, 0x7a, 0x99, 0x36, 0x9b, 0x8a, 0x7a, 0x79, 0x9f, 0x82, 0x51, 0xa5, 0xb2,
-	0x94, 0xb4, 0xc3, 0xf9, 0xe1, 0xa3, 0x8a, 0x0d, 0xa9, 0x0c, 0x54, 0x69, 0x83, 0xac, 0x24, 0x2a,
-	0xb5, 0x2c, 0x45, 0x11, 0xaa, 0x5f, 0xa8, 0xee, 0xc7, 0x26, 0x53, 0xa6, 0xee, 0x27, 0xa7, 0x57,
-	0x11, 0x2a, 0xd6, 0x38, 0xb9, 0x2c, 0x2a, 0xf5, 0xf7, 0x0a, 0x54, 0xf9, 0x06, 0x8d, 0x7e, 0x66,
-	0x12, 0x0f, 0x0f, 0xb2, 0x25, 0x9e, 0x58, 0xf0, 0x73, 0x24, 0x9e, 0xdc, 0xcf, 0xa5, 0x8f, 0x29,
-	0xc6, 0x0f, 0xd1, 0xcd, 0xc9, 0x7e, 0x8e, 0x42, 0x98, 0xe8, 0x82, 0xca, 0x9a, 0x39, 0x67, 0xcb,
-	0x3a, 0xbe, 0x8d, 0x8a, 0xb9, 0x2b, 0x73, 0x22, 0x73, 0x3a, 0x3b, 0x23, 0xf4, 0x53, 0xa8, 0x1a,
-	0x9e, 0x3d, 0x4f, 0x35, 0x09, 0x00, 0x05, 0xfd, 0xb9, 0x4d, 0x11, 0x34, 0xd4, 0x5c, 0x04, 0xed,
-	0x70, 0xb5, 0xff, 0x9e, 0x2b, 0x25, 0x1f, 0x49, 0xda, 0x62, 0x5e, 0x84, 0x84, 0x71, 0x21, 0xe7,
-	0x22, 0x51, 0x5f, 0xcd, 0xc0, 0xb5, 0xb1, 0x2f, 0x3f, 0x17, 0x5d, 0xc2, 0x52, 0xfc, 0xe3, 0x31,
-	0x63, 0x9c, 0xa4, 0x7e, 0x61, 0x8a, 0xe9, 0x5b, 0xec, 0x98, 0xa1, 0xf4, 0x3e, 0x85, 0xb5, 0x82,
-	0x96, 0x93, 0xb0, 0x46, 0xe8, 0x47, 0x01, 0x96, 0x27, 0xbe, 0x45, 0xd1, 0xed, 0xd4, 0x90, 0x59,
-	0xdf, 0xac, 0x45, 0xac, 0x7c, 0x44, 0xd3, 0xaf, 0x4b, 0xb5, 0x89, 0xf4, 0x6d, 0x87, 0x86, 0x6c,
-	0x0b, 0xf2, 0xee, 0x26, 0xbc, 0xd7, 0xb1, 0xfa, 0x69, 0x79, 0x77, 0x97, 0x76, 0xf8, 0xd5, 0x91,
-	0xbf, 0x9d, 0x1e, 0x09, 0xa7, 0x57, 0xe8, 0x9a, 0xba, 0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xfd, 0x69, 0x15, 0xc5, 0x50, 0x12, 0x00, 0x00,
+	0x14, 0xc7, 0x6d, 0x3a, 0xd2, 0xd3, 0xb5, 0x5b, 0x6f, 0x3b, 0x08, 0x66, 0x45, 0x93, 0x41, 0x4b,
+	0x9b, 0x69, 0xb1, 0xe6, 0x0e, 0xb4, 0xa5, 0x1a, 0xa2, 0x5d, 0x35, 0x54, 0xa9, 0x88, 0xca, 0xdd,
+	0xf6, 0x86, 0x2a, 0x37, 0xbd, 0x31, 0x97, 0x25, 0xb6, 0xb1, 0x9d, 0xd0, 0x02, 0x11, 0x12, 0x93,
+	0x10, 0xf0, 0xb8, 0xf1, 0xc0, 0x03, 0x12, 0x0f, 0x7c, 0x19, 0xde, 0xf9, 0x02, 0x3c, 0xf0, 0x41,
+	0xb8, 0xbe, 0xbe, 0xd7, 0x8e, 0x1d, 0xff, 0x23, 0x13, 0x2f, 0x91, 0x7d, 0x7d, 0xfe, 0xfc, 0xee,
+	0xef, 0xfc, 0x72, 0xcf, 0xb9, 0xb0, 0x67, 0xda, 0xb6, 0xd9, 0xc7, 0x6d, 0xd3, 0xee, 0x1b, 0x96,
+	0xd9, 0xb6, 0x5d, 0x53, 0x35, 0xb1, 0xe5, 0xb8, 0xb6, 0x6f, 0xab, 0xe1, 0x27, 0xc3, 0x21, 0x9e,
+	0x6a, 0x38, 0x0e, 0xb6, 0x4c, 0x62, 0x61, 0x75, 0x74, 0x27, 0x7e, 0x69, 0x33, 0x3b, 0xb4, 0xc6,
+	0x63, 0xc4, 0xeb, 0xa3, 0x3b, 0xf2, 0x41, 0xd5, 0xc0, 0x44, 0xf5, 0xb0, 0x3b, 0x22, 0x5d, 0xdc,
+	0xb5, 0xad, 0x1e, 0x31, 0x55, 0xc3, 0xb2, 0x6c, 0xdf, 0xf0, 0x89, 0x6d, 0x79, 0x61, 0x7c, 0x79,
+	0x7f, 0x36, 0x8c, 0x7d, 0xd2, 0x65, 0x61, 0x78, 0x94, 0xdd, 0x19, 0xa2, 0x10, 0xcb, 0xf3, 0x0d,
+	0xab, 0xcb, 0x37, 0x2a, 0x7f, 0x34, 0x43, 0x08, 0xbe, 0xb9, 0x57, 0x88, 0x30, 0xc2, 0xae, 0x17,
+	0x6f, 0xe3, 0x41, 0xb5, 0x08, 0xc4, 0x18, 0xb0, 0x0d, 0x18, 0x83, 0x13, 0xc7, 0xa6, 0x4c, 0x5c,
+	0x70, 0xf7, 0xfb, 0xff, 0xc9, 0x3d, 0xe1, 0x5a, 0x51, 0x2a, 0x7d, 0xdb, 0x32, 0xdd, 0xa1, 0x65,
+	0x11, 0xcb, 0x54, 0x6d, 0x07, 0xbb, 0x89, 0x52, 0x6e, 0x9b, 0xc4, 0xff, 0x7c, 0x78, 0xda, 0xee,
+	0xda, 0x03, 0x35, 0x8c, 0xa3, 0xb2, 0x0f, 0xa7, 0xc3, 0x9e, 0xea, 0xf8, 0x17, 0x0e, 0xf6, 0x54,
+	0x3c, 0xa0, 0x0f, 0xe1, 0x2f, 0x77, 0xba, 0x5b, 0x90, 0x38, 0xf2, 0xee, 0x11, 0xdc, 0x3f, 0x3b,
+	0x19, 0x18, 0xde, 0xb3, 0xd0, 0x4b, 0xb9, 0x05, 0xd7, 0x3e, 0xc6, 0xfe, 0x6e, 0xac, 0x03, 0x1d,
+	0x7f, 0x39, 0xc4, 0x9e, 0x8f, 0x10, 0xd4, 0x2c, 0x63, 0x80, 0x1b, 0xd2, 0x0d, 0x69, 0x73, 0x51,
+	0x67, 0xcf, 0x4a, 0x1b, 0x1a, 0x3a, 0x76, 0x0c, 0xe2, 0x56, 0xb4, 0x27, 0xb0, 0x76, 0x48, 0x3c,
+	0xff, 0x38, 0x2c, 0xae, 0x27, 0x4c, 0xdf, 0x80, 0x4b, 0x8e, 0xe1, 0x62, 0xcb, 0xe7, 0xc6, 0xfc,
+	0x0d, 0xbd, 0x0d, 0x8b, 0x8e, 0x61, 0xe2, 0x13, 0x8f, 0x7c, 0x8d, 0x1b, 0x73, 0xf4, 0xd3, 0x82,
+	0x5e, 0x0f, 0x16, 0x8e, 0xe9, 0x3b, 0xda, 0x00, 0x60, 0x1f, 0x7d, 0xfb, 0x19, 0xb6, 0x1a, 0xf3,
+	0xcc, 0x91, 0x99, 0x3f, 0x0e, 0x16, 0x94, 0x73, 0x58, 0x4f, 0xa6, 0xf2, 0x1c, 0xca, 0x27, 0x46,
+	0xf7, 0xa0, 0xce, 0xb5, 0xe5, 0xd1, 0x6c, 0xf3, 0x9b, 0x4b, 0xda, 0xf5, 0x76, 0xc6, 0x1f, 0xb1,
+	0xcd, 0x1d, 0xf5, 0xc8, 0x1a, 0xdd, 0x84, 0x2b, 0x16, 0x3e, 0xf7, 0x4f, 0x26, 0xb2, 0xce, 0xb1,
+	0xac, 0xcb, 0xc1, 0xf2, 0x51, 0x94, 0xb9, 0x09, 0xab, 0x94, 0x41, 0xe1, 0x5f, 0xc0, 0xc6, 0x9f,
+	0x12, 0xac, 0x3f, 0x71, 0xce, 0x0c, 0x1f, 0x97, 0x1b, 0xa3, 0x0f, 0xe0, 0x75, 0x8e, 0x84, 0x65,
+	0x2d, 0x83, 0x2d, 0x8c, 0xd1, 0x0e, 0x2c, 0x0d, 0x59, 0x0e, 0x56, 0x64, 0xc6, 0xd3, 0x92, 0x26,
+	0x0b, 0x5f, 0xa1, 0x83, 0xf6, 0xa3, 0x40, 0x07, 0x9f, 0x50, 0x0b, 0x1d, 0x42, 0xf3, 0xe0, 0x19,
+	0x35, 0xe1, 0xca, 0x80, 0x98, 0x6e, 0xe0, 0xed, 0xbb, 0x46, 0xaf, 0x47, 0xba, 0x8d, 0x1a, 0x0d,
+	0x50, 0xd7, 0x57, 0xf8, 0xf2, 0xe3, 0x70, 0x55, 0x69, 0xc1, 0xfa, 0x3e, 0xee, 0xe3, 0x2a, 0x3b,
+	0x51, 0x7e, 0x97, 0x42, 0x15, 0x3c, 0x0d, 0xff, 0xa0, 0xa5, 0x2a, 0xb8, 0x0b, 0xb5, 0x11, 0xc1,
+	0x5f, 0xb1, 0x6d, 0xaf, 0x68, 0x37, 0x32, 0xb7, 0xcd, 0x63, 0x3d, 0xa5, 0x76, 0x3a, 0xb3, 0x4e,
+	0x6a, 0x67, 0xbe, 0x50, 0x3b, 0xb5, 0x1c, 0xed, 0xc4, 0x00, 0x63, 0xed, 0xf0, 0x53, 0xa5, 0x58,
+	0x3b, 0xdc, 0x51, 0x8f, 0xac, 0x2b, 0x6b, 0xe7, 0x33, 0xa6, 0x1d, 0xe1, 0x5f, 0x20, 0x87, 0x99,
+	0x48, 0x51, 0x7a, 0xb0, 0xfe, 0xd0, 0xc5, 0xb4, 0x6e, 0xa9, 0x0c, 0x79, 0xd4, 0x53, 0xd1, 0xf1,
+	0x2d, 0x14, 0x8a, 0x4e, 0x44, 0x13, 0xc6, 0x41, 0x89, 0xb9, 0xb2, 0x2b, 0x6c, 0x65, 0xc6, 0x24,
+	0xaf, 0xa4, 0xec, 0x58, 0xb0, 0xe5, 0x00, 0x95, 0x2f, 0x42, 0x39, 0x1c, 0xf0, 0xae, 0xf6, 0xbf,
+	0x1e, 0x5b, 0xdf, 0xc2, 0xb5, 0x54, 0x2e, 0xae, 0xbd, 0x1d, 0x58, 0x14, 0x6d, 0x55, 0x88, 0x6f,
+	0x23, 0x93, 0x27, 0xe1, 0xaa, 0xc7, 0xf6, 0x95, 0xe5, 0xb7, 0x09, 0x88, 0xca, 0x2f, 0x8a, 0x50,
+	0xc0, 0x09, 0x6d, 0x13, 0x21, 0x7f, 0x55, 0x8c, 0x19, 0xd9, 0xa7, 0x43, 0xb3, 0x82, 0x6d, 0x4b,
+	0x81, 0xa5, 0x09, 0xdd, 0xa2, 0x45, 0x58, 0xd8, 0xdb, 0x3d, 0x3e, 0x78, 0x78, 0xf5, 0x35, 0x54,
+	0x87, 0xda, 0xa3, 0x27, 0x87, 0x87, 0x57, 0x25, 0xed, 0xf9, 0x02, 0x2c, 0x46, 0x0c, 0xa1, 0x3f,
+	0x24, 0x58, 0x4e, 0x70, 0x86, 0xb6, 0x32, 0x89, 0xc9, 0xaa, 0xa1, 0xdc, 0xaa, 0x62, 0x1a, 0x96,
+	0x40, 0xd9, 0xf9, 0xfe, 0xaf, 0x7f, 0x5e, 0xce, 0xbd, 0x8f, 0xb6, 0x83, 0x1e, 0xff, 0x4d, 0x58,
+	0xec, 0x07, 0xd4, 0xcf, 0x53, 0x5b, 0x62, 0x5e, 0x09, 0x1e, 0xc5, 0x9f, 0x5e, 0x6d, 0x8d, 0xd5,
+	0xb8, 0x04, 0x2f, 0x24, 0x58, 0x9a, 0xe0, 0x16, 0x35, 0x33, 0x13, 0x4f, 0xb3, 0x2f, 0x17, 0x57,
+	0x39, 0x05, 0x2a, 0xa0, 0xb0, 0x10, 0x52, 0x8c, 0x88, 0xc2, 0x43, 0xbf, 0x4a, 0xb0, 0x92, 0x2c,
+	0x23, 0xca, 0x26, 0x24, 0xb3, 0xd6, 0x31, 0xb4, 0x89, 0xe1, 0xa5, 0xfd, 0xa9, 0x18, 0x5e, 0x04,
+	0xb4, 0xd6, 0x4c, 0xd0, 0xe8, 0x11, 0xb2, 0x9c, 0x10, 0x4d, 0x4e, 0x55, 0xb3, 0x84, 0x55, 0x06,
+	0x6c, 0x9f, 0x01, 0xfb, 0x50, 0xb9, 0x3f, 0x03, 0xb0, 0xce, 0x59, 0x90, 0xb0, 0x23, 0xb5, 0xb4,
+	0xbf, 0x17, 0xa0, 0x2e, 0x5a, 0x04, 0xfa, 0x45, 0x82, 0xcb, 0x93, 0x3d, 0x03, 0x6d, 0xe6, 0x0a,
+	0x2b, 0xd5, 0xf7, 0xe4, 0xad, 0x0a, 0x96, 0x5c, 0x81, 0x2a, 0x03, 0xbe, 0x85, 0x9a, 0x85, 0x0a,
+	0x1c, 0x47, 0xd8, 0xd1, 0x73, 0x09, 0x20, 0x6e, 0x28, 0xe8, 0x66, 0x9e, 0xe8, 0x92, 0xa7, 0xa0,
+	0x5c, 0x78, 0x02, 0xa7, 0x50, 0x94, 0xd2, 0x37, 0x46, 0x2f, 0x69, 0x2d, 0x13, 0x7d, 0x27, 0xa7,
+	0x96, 0x59, 0xbd, 0xa9, 0xac, 0x96, 0xf7, 0x18, 0x18, 0x4d, 0xa9, 0x4a, 0x49, 0x27, 0xea, 0x1f,
+	0x01, 0xaa, 0x44, 0x93, 0xca, 0x41, 0x95, 0xd5, 0xc8, 0x2a, 0xa2, 0xd2, 0xaa, 0x52, 0x14, 0xa3,
+	0xfa, 0x99, 0xe9, 0x7e, 0xa2, 0x33, 0xe5, 0xea, 0x7e, 0xba, 0x7b, 0x95, 0xa1, 0xe2, 0x85, 0x6b,
+	0x55, 0x45, 0xa5, 0xfd, 0x56, 0x83, 0xba, 0x98, 0xa0, 0xd1, 0x4f, 0x5c, 0xe2, 0xd1, 0x42, 0xbe,
+	0xc4, 0x53, 0x03, 0x7e, 0x81, 0xc4, 0xd3, 0xf3, 0xb9, 0xf2, 0x1e, 0xc3, 0xf8, 0x0e, 0xba, 0x3e,
+	0x5d, 0xcf, 0x71, 0x04, 0x13, 0x9d, 0x33, 0x59, 0x73, 0xe7, 0x7c, 0x59, 0x27, 0xa7, 0x51, 0xb9,
+	0x70, 0x64, 0x4e, 0x65, 0xce, 0x66, 0x67, 0x8c, 0x7e, 0x8c, 0x54, 0x23, 0xb2, 0x17, 0xa9, 0x26,
+	0x05, 0xa0, 0xa4, 0x3e, 0xb7, 0x19, 0x82, 0xa6, 0x56, 0x88, 0xa0, 0x13, 0x8d, 0xf6, 0xdf, 0x09,
+	0xa5, 0x14, 0x23, 0xc9, 0x1a, 0xcc, 0xcb, 0x90, 0x70, 0x2e, 0x5a, 0x85, 0x48, 0xb4, 0x17, 0x73,
+	0x70, 0x79, 0xe2, 0xe6, 0xe7, 0xa1, 0x0b, 0x58, 0x49, 0x5e, 0x1e, 0x73, 0xda, 0x49, 0xe6, 0x0d,
+	0x53, 0xce, 0x9e, 0x62, 0x27, 0x0c, 0x95, 0xb7, 0x18, 0xac, 0x35, 0xb4, 0x9a, 0x86, 0x35, 0x46,
+	0x3f, 0x48, 0xb0, 0x3a, 0x75, 0x17, 0x45, 0xb7, 0x33, 0x43, 0xe6, 0xdd, 0x59, 0xcb, 0x58, 0x79,
+	0x97, 0xa5, 0xdf, 0x50, 0x1a, 0x53, 0xe9, 0x3b, 0x2e, 0x0b, 0x49, 0xdb, 0xc2, 0xde, 0x2d, 0x78,
+	0x93, 0x5e, 0xd3, 0xb3, 0xf2, 0xee, 0xad, 0xec, 0x8a, 0xb7, 0xa3, 0x60, 0x3a, 0x3d, 0x92, 0x4e,
+	0x2f, 0xb1, 0x31, 0x75, 0xfb, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x69, 0x15, 0xc5, 0x50,
+	0x12, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/application.pb.go b/googleapis/appengine/v1/application.pb.go
index d6eb1af1..7539108e 100644
--- a/googleapis/appengine/v1/application.pb.go
+++ b/googleapis/appengine/v1/application.pb.go
@@ -76,7 +76,7 @@ type Application struct {
 func (m *Application) Reset()                    { *m = Application{} }
 func (m *Application) String() string            { return proto.CompactTextString(m) }
 func (*Application) ProtoMessage()               {}
-func (*Application) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*Application) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 func (m *Application) GetDispatchRules() []*UrlDispatchRule {
 	if m != nil {
@@ -113,7 +113,7 @@ type UrlDispatchRule struct {
 func (m *UrlDispatchRule) Reset()                    { *m = UrlDispatchRule{} }
 func (m *UrlDispatchRule) String() string            { return proto.CompactTextString(m) }
 func (*UrlDispatchRule) ProtoMessage()               {}
-func (*UrlDispatchRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*UrlDispatchRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 func init() {
 	proto.RegisterType((*Application)(nil), "google.appengine.v1.Application")
@@ -121,36 +121,36 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/application.proto", fileDescriptor1)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/application.proto", fileDescriptor2)
 }
 
-var fileDescriptor1 = []byte{
+var fileDescriptor2 = []byte{
 	// 424 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0xc1, 0x6e, 0x13, 0x31,
-	0x10, 0x55, 0x12, 0x94, 0x52, 0x2f, 0x4d, 0x2b, 0x23, 0x51, 0xb7, 0x17, 0xa2, 0x0a, 0xa4, 0x70,
-	0x60, 0xad, 0x96, 0x13, 0x47, 0x42, 0x90, 0xa8, 0xb8, 0x54, 0x91, 0x2a, 0x8e, 0x2b, 0xc7, 0x76,
-	0xbc, 0x56, 0x37, 0x1e, 0x6b, 0xd7, 0x8e, 0xe0, 0x17, 0xf8, 0x6a, 0xb4, 0x63, 0x6f, 0xa8, 0x50,
-	0x0f, 0xbd, 0xcd, 0x3c, 0xbf, 0x79, 0x1e, 0xbf, 0x67, 0xb2, 0x32, 0x00, 0xa6, 0xd1, 0xa5, 0x81,
-	0x46, 0x38, 0x53, 0x42, 0x6b, 0xb8, 0xd1, 0xce, 0xb7, 0x10, 0x80, 0xa7, 0x23, 0xe1, 0x6d, 0xc7,
-	0x85, 0xf7, 0xda, 0x19, 0xeb, 0x34, 0xdf, 0x5f, 0xf7, 0x4d, 0x63, 0xa5, 0x08, 0x16, 0x5c, 0x89,
-	0x4c, 0xfa, 0x3a, 0xab, 0x1c, 0x68, 0xe5, 0xfe, 0xfa, 0xf2, 0xf6, 0xb9, 0xd2, 0x96, 0x77, 0xba,
-	0xdd, 0x5b, 0xa9, 0x25, 0xb8, 0xad, 0x35, 0x5c, 0x38, 0x07, 0x01, 0xe5, 0xbb, 0xa4, 0x7f, 0xf9,
-	0xd9, 0xd8, 0x50, 0xc7, 0x4d, 0x29, 0x61, 0xc7, 0x93, 0x1c, 0xc7, 0x83, 0x4d, 0xdc, 0x72, 0x1f,
-	0x7e, 0x7b, 0xdd, 0x71, 0x15, 0x5b, 0x1c, 0x39, 0x14, 0x69, 0xf4, 0xea, 0xcf, 0x84, 0x14, 0x5f,
-	0xfe, 0x2d, 0x4c, 0x29, 0x79, 0xe1, 0xc4, 0x4e, 0xb3, 0xd1, 0x7c, 0xb4, 0x38, 0x5e, 0x63, 0x4d,
-	0x67, 0x64, 0x6c, 0x15, 0x1b, 0x23, 0x32, 0xb6, 0x8a, 0xfe, 0x20, 0x33, 0x65, 0x3b, 0x2f, 0x82,
-	0xac, 0xab, 0x36, 0x36, 0xba, 0x63, 0x93, 0xf9, 0x64, 0x51, 0xdc, 0xbc, 0x2b, 0x9f, 0x78, 0x67,
-	0x79, 0xdf, 0x36, 0xab, 0xcc, 0x5e, 0xc7, 0x46, 0xaf, 0x4f, 0xd4, 0xa3, 0xae, 0xa3, 0x6f, 0x49,
-	0x21, 0x62, 0xa8, 0x2b, 0x05, 0x3b, 0x61, 0x1d, 0x9b, 0xe2, 0x2d, 0xa4, 0x87, 0x56, 0x88, 0xf4,
-	0x84, 0x06, 0xd2, 0x76, 0x95, 0x55, 0xec, 0x28, 0x11, 0x06, 0xe8, 0x56, 0xf5, 0x04, 0x09, 0x4a,
-	0x57, 0x9b, 0x28, 0x1f, 0x74, 0x60, 0x2f, 0x13, 0xa1, 0x87, 0x96, 0x88, 0xd0, 0x7b, 0x72, 0xa1,
-	0xf4, 0x56, 0xc4, 0x26, 0x54, 0x12, 0xe0, 0xc1, 0xea, 0x4a, 0xff, 0xf2, 0x36, 0xd9, 0xc0, 0x8e,
-	0xe7, 0xa3, 0x45, 0x71, 0x73, 0x31, 0xac, 0x3e, 0xf8, 0x56, 0xae, 0xb2, 0x4f, 0xeb, 0xf3, 0x3c,
-	0xfb, 0x15, 0x47, 0xbf, 0x1d, 0x26, 0xe9, 0x07, 0x72, 0x36, 0xc8, 0xd6, 0xd0, 0x05, 0xb4, 0xad,
-	0xc0, 0xcb, 0x4f, 0x33, 0xfe, 0x3d, 0xc3, 0xf4, 0x3d, 0x99, 0x0d, 0xd4, 0xbc, 0xe5, 0x2b, 0x24,
-	0x9e, 0x64, 0x34, 0x2d, 0x7a, 0xf5, 0x93, 0x9c, 0xfe, 0xe7, 0x16, 0x7d, 0x43, 0xa6, 0xd9, 0x99,
-	0x94, 0x48, 0xee, 0xfa, 0x9c, 0xbc, 0x08, 0x75, 0x4e, 0x05, 0x6b, 0xca, 0xc8, 0x51, 0xfe, 0x29,
-	0x6c, 0x82, 0xf0, 0xd0, 0x2e, 0x3f, 0x92, 0x73, 0x09, 0xbb, 0xa7, 0xe2, 0x59, 0x9e, 0x3d, 0x4a,
-	0xff, 0xae, 0x7f, 0xfc, 0xdd, 0x68, 0x33, 0x45, 0x17, 0x3e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x6f, 0x13, 0x31,
+	0x10, 0x86, 0x95, 0x06, 0xa5, 0xd4, 0x4b, 0x3f, 0x64, 0x24, 0xba, 0xed, 0x85, 0xaa, 0x02, 0xa9,
+	0x1c, 0xb0, 0xd5, 0x72, 0xe2, 0x48, 0x08, 0x12, 0x15, 0x97, 0x2a, 0x52, 0xc5, 0x71, 0xe5, 0xd8,
+	0x8e, 0xd7, 0xea, 0xc6, 0x63, 0xad, 0xbd, 0x11, 0xfc, 0x05, 0x7e, 0x35, 0xfe, 0xda, 0x50, 0xa1,
+	0x1e, 0x7a, 0x9b, 0x79, 0xfd, 0xcc, 0x78, 0xfc, 0x8e, 0xd1, 0x42, 0x01, 0xa8, 0x4e, 0x12, 0x05,
+	0x1d, 0x33, 0x8a, 0x40, 0xaf, 0xa8, 0x92, 0xc6, 0xf6, 0xe0, 0x81, 0xe6, 0x23, 0x66, 0xb5, 0xa3,
+	0xcc, 0x5a, 0x69, 0x94, 0x36, 0x92, 0x6e, 0xaf, 0x63, 0xd2, 0x69, 0xce, 0xbc, 0x06, 0x43, 0x12,
+	0x89, 0x5f, 0x97, 0x2e, 0x3b, 0x8c, 0x6c, 0xaf, 0xcf, 0x6f, 0x9f, 0xdb, 0x5a, 0x53, 0x27, 0xfb,
+	0xad, 0xe6, 0x92, 0x83, 0x59, 0x6b, 0x45, 0x99, 0x31, 0xe0, 0x53, 0x7b, 0x97, 0xfb, 0x9f, 0x7f,
+	0x56, 0xda, 0xb7, 0xc3, 0x8a, 0x70, 0xd8, 0xd0, 0xdc, 0x8e, 0xa6, 0x83, 0xd5, 0xb0, 0xa6, 0xd6,
+	0xff, 0xb6, 0xd2, 0x51, 0x31, 0xf4, 0xa9, 0x64, 0x17, 0xe4, 0xd2, 0xcb, 0x3f, 0x53, 0x54, 0x7d,
+	0xf9, 0x37, 0x30, 0xc6, 0xe8, 0x85, 0x61, 0x1b, 0x59, 0x4f, 0x2e, 0x26, 0x57, 0x07, 0xcb, 0x14,
+	0xe3, 0x23, 0xb4, 0xa7, 0x45, 0xbd, 0x97, 0x94, 0x10, 0xe1, 0x1f, 0xe8, 0x48, 0x68, 0x67, 0x99,
+	0xe7, 0x6d, 0xd3, 0x0f, 0x9d, 0x74, 0xf5, 0xf4, 0x62, 0x7a, 0x55, 0xdd, 0xbc, 0x23, 0x4f, 0xbc,
+	0x93, 0xdc, 0xf7, 0xdd, 0xa2, 0xd0, 0xcb, 0x00, 0x2f, 0x0f, 0xc5, 0xa3, 0xcc, 0xe1, 0xb7, 0xa8,
+	0x62, 0x83, 0x6f, 0x1b, 0x01, 0x1b, 0xa6, 0x4d, 0x3d, 0x4b, 0xb7, 0xa0, 0x28, 0x2d, 0x92, 0x12,
+	0x81, 0x0e, 0xf2, 0x74, 0x4d, 0x18, 0x63, 0x3f, 0x03, 0xa3, 0x74, 0x2b, 0x22, 0xc0, 0x41, 0xc8,
+	0x66, 0x35, 0xf0, 0x07, 0xe9, 0xeb, 0x97, 0x19, 0x88, 0xd2, 0x3c, 0x29, 0xf8, 0x1e, 0x9d, 0x09,
+	0xb9, 0x66, 0x43, 0xe7, 0x1b, 0x0e, 0xf0, 0xa0, 0x65, 0x23, 0x7f, 0x59, 0x9d, 0x6d, 0xa8, 0x0f,
+	0x02, 0x5e, 0xdd, 0x9c, 0x8d, 0xa3, 0x8f, 0xbe, 0x91, 0x45, 0xf1, 0x69, 0x79, 0x5a, 0x6a, 0xbf,
+	0xa6, 0xd2, 0x6f, 0xbb, 0x4a, 0xfc, 0x01, 0x9d, 0x8c, 0x6d, 0x5b, 0x70, 0x3e, 0xd9, 0x56, 0xa5,
+	0xcb, 0x8f, 0x8b, 0xfe, 0xbd, 0xc8, 0xf8, 0x7d, 0x70, 0xac, 0xa0, 0x65, 0xca, 0x57, 0x09, 0x3c,
+	0x2c, 0x6a, 0x1e, 0xf4, 0xf2, 0x27, 0x3a, 0xfe, 0xcf, 0x2d, 0xfc, 0x06, 0xcd, 0x8a, 0x33, 0x79,
+	0x23, 0x25, 0x8b, 0x7b, 0x0a, 0x50, 0x5b, 0xb6, 0x92, 0x62, 0x5c, 0xa3, 0xfd, 0xf2, 0x53, 0xc2,
+	0x42, 0xa2, 0x3c, 0xa6, 0xf3, 0x8f, 0xe8, 0x34, 0xfc, 0x8d, 0xa7, 0xd6, 0x33, 0x3f, 0x79, 0xb4,
+	0xfd, 0xbb, 0xf8, 0xf8, 0xbb, 0xc9, 0x6a, 0x96, 0x5c, 0xf8, 0xf4, 0x37, 0x00, 0x00, 0xff, 0xff,
 	0x68, 0x07, 0x8c, 0xce, 0xfe, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/deploy.pb.go b/googleapis/appengine/v1/deploy.pb.go
index 508c3df7..42dfeef8 100644
--- a/googleapis/appengine/v1/deploy.pb.go
+++ b/googleapis/appengine/v1/deploy.pb.go
@@ -115,30 +115,30 @@ func init() {
 }
 
 var fileDescriptor3 = []byte{
-	// 396 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x8b, 0xd5, 0x30,
-	0x14, 0xc5, 0xe9, 0xab, 0x75, 0x5e, 0x6f, 0x11, 0x24, 0x0a, 0xd6, 0xd1, 0xc1, 0x52, 0x10, 0x8a,
-	0x8b, 0x94, 0x37, 0xb3, 0x11, 0x37, 0x0e, 0x33, 0x2a, 0xbc, 0xdd, 0x50, 0x15, 0xc1, 0x4d, 0x89,
-	0xf5, 0xbe, 0x18, 0x6c, 0x93, 0x90, 0xa6, 0x85, 0xfa, 0x4d, 0xfc, 0xb6, 0x92, 0xb4, 0xe3, 0xc3,
-	0xa1, 0x0b, 0x77, 0xcd, 0xe9, 0x39, 0xbf, 0x7b, 0xf2, 0x07, 0xde, 0x72, 0xa5, 0x78, 0x8b, 0x94,
-	0xab, 0x96, 0x49, 0x4e, 0x95, 0xe1, 0x25, 0x47, 0xa9, 0x8d, 0xb2, 0xaa, 0x9c, 0x7f, 0x31, 0x2d,
-	0xfa, 0x92, 0x69, 0x8d, 0x92, 0x0b, 0x89, 0xe5, 0xb8, 0x2b, 0xbf, 0xa3, 0x6e, 0xd5, 0x44, 0xbd,
-	0x89, 0x3c, 0x5a, 0x00, 0x7f, 0x1d, 0x74, 0xdc, 0x9d, 0xee, 0xff, 0x97, 0x2a, 0xca, 0x1e, 0xcd,
-	0x28, 0x1a, 0x6c, 0x94, 0x3c, 0x08, 0x5e, 0x32, 0x29, 0x95, 0x65, 0x56, 0x28, 0xd9, 0xcf, 0xfc,
-	0xfc, 0xf7, 0x06, 0xe0, 0x9d, 0x1f, 0xd8, 0xa1, 0xb4, 0xe4, 0x12, 0xa2, 0x83, 0x68, 0xb1, 0x4f,
-	0x83, 0x2c, 0x2c, 0x92, 0xf3, 0x57, 0x74, 0x65, 0x3c, 0x3d, 0xfa, 0xe9, 0x07, 0x67, 0x7e, 0x2f,
-	0xad, 0x99, 0xaa, 0x39, 0x48, 0x2e, 0x21, 0x6e, 0x94, 0xb4, 0x4c, 0x48, 0x34, 0xe9, 0x26, 0x0b,
-	0x8a, 0xe4, 0x3c, 0x5f, 0xa5, 0x5c, 0xdf, 0xba, 0xf6, 0xf2, 0xa0, 0xaa, 0x63, 0x88, 0x50, 0x08,
-	0x7f, 0x09, 0x9d, 0x86, 0x3e, 0xfb, 0x7c, 0x35, 0xfb, 0x55, 0x68, 0x9f, 0x72, 0xc6, 0xd3, 0x2f,
-	0x00, 0xc7, 0x1a, 0xe4, 0x21, 0x84, 0x3f, 0x71, 0x4a, 0x83, 0x2c, 0x28, 0xe2, 0xca, 0x7d, 0x92,
-	0x0b, 0x88, 0x46, 0xd6, 0x0e, 0xb8, 0xb4, 0x39, 0x5b, 0x25, 0x3a, 0x82, 0x47, 0xce, 0xde, 0x37,
-	0x9b, 0xd7, 0x41, 0xce, 0x60, 0x7b, 0x2b, 0x93, 0x33, 0x80, 0x5e, 0x0d, 0xa6, 0xc1, 0x7a, 0x30,
-	0xed, 0x42, 0x8f, 0x67, 0xe5, 0xb3, 0x69, 0xc9, 0x53, 0xd8, 0xf6, 0x3f, 0xd8, 0xae, 0xee, 0x87,
-	0xce, 0x8f, 0x89, 0xab, 0x13, 0xb7, 0xfe, 0x38, 0x74, 0xe4, 0x19, 0xc4, 0x9d, 0xe8, 0xb0, 0xb6,
-	0x93, 0x46, 0xbf, 0xa9, 0xb8, 0xda, 0x3a, 0xe1, 0xd3, 0xa4, 0x31, 0x7f, 0x09, 0x0f, 0xfe, 0x39,
-	0x07, 0xf2, 0x18, 0x22, 0xd1, 0x31, 0x8e, 0xcb, 0x88, 0x79, 0x91, 0xef, 0xe1, 0x64, 0xd9, 0xf2,
-	0x9d, 0x22, 0xe1, 0xdd, 0x22, 0x2f, 0x20, 0xf1, 0xf7, 0x50, 0x37, 0x6a, 0x90, 0x36, 0xbd, 0x97,
-	0x05, 0x45, 0x54, 0x81, 0x97, 0xae, 0x9d, 0x72, 0x55, 0xc0, 0x93, 0x46, 0x75, 0x6b, 0x67, 0x70,
-	0x95, 0xcc, 0x17, 0x7b, 0xe3, 0x1e, 0xc6, 0x4d, 0xf0, 0xed, 0xbe, 0x7f, 0x21, 0x17, 0x7f, 0x02,
-	0x00, 0x00, 0xff, 0xff, 0x71, 0x4b, 0x8e, 0x87, 0xc4, 0x02, 0x00, 0x00,
+	// 394 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x5f, 0xab, 0xd3, 0x30,
+	0x18, 0xc6, 0xe9, 0x6a, 0xdd, 0xfa, 0x0e, 0x41, 0xa2, 0x60, 0x9d, 0x0e, 0x47, 0x41, 0x18, 0x5e,
+	0xa4, 0xcc, 0xdd, 0x88, 0x37, 0xca, 0xa6, 0xc2, 0xee, 0x46, 0x55, 0x04, 0x6f, 0x4a, 0xac, 0x59,
+	0x0c, 0xb6, 0x49, 0x48, 0xd3, 0x42, 0xfd, 0x26, 0x7e, 0xdb, 0xd3, 0xa4, 0xdd, 0x19, 0x67, 0xf4,
+	0xe2, 0xdc, 0xe5, 0x7d, 0xf3, 0xbc, 0xbf, 0xe7, 0xc9, 0x1f, 0xf8, 0xc0, 0xa4, 0x64, 0x05, 0xc5,
+	0x4c, 0x16, 0x44, 0x30, 0x2c, 0x35, 0x4b, 0x18, 0x15, 0x4a, 0x4b, 0x23, 0x93, 0x7e, 0x8b, 0x28,
+	0x5e, 0x25, 0x44, 0x29, 0x2a, 0x18, 0x17, 0x34, 0x69, 0x36, 0xc9, 0x6f, 0xaa, 0x0a, 0xd9, 0x62,
+	0x27, 0x42, 0x4f, 0x06, 0xc0, 0xad, 0x02, 0x37, 0x9b, 0xc5, 0xe1, 0xbe, 0x54, 0x9e, 0x54, 0x54,
+	0x37, 0x3c, 0xa7, 0xb9, 0x14, 0x27, 0xce, 0x12, 0x22, 0x84, 0x34, 0xc4, 0x70, 0x29, 0xaa, 0x9e,
+	0x1f, 0xff, 0x9f, 0x00, 0x7c, 0x72, 0x86, 0x25, 0x15, 0x06, 0x7d, 0x84, 0xe0, 0xc4, 0x0b, 0x5a,
+	0x45, 0xde, 0xca, 0x5f, 0xcf, 0xdf, 0xbe, 0xc1, 0x23, 0xf6, 0xf8, 0xa2, 0xc7, 0x5f, 0xac, 0xf8,
+	0xb3, 0x30, 0xba, 0x4d, 0xfb, 0xc1, 0x8e, 0x10, 0x76, 0x66, 0x86, 0x74, 0x5a, 0x1d, 0x4d, 0x56,
+	0x5e, 0x47, 0x89, 0x47, 0x29, 0xfb, 0xb3, 0xea, 0x20, 0x4e, 0x32, 0xbd, 0x0c, 0x21, 0x0c, 0xfe,
+	0x3f, 0xae, 0x22, 0xdf, 0xcd, 0xbe, 0x1c, 0x9d, 0xfd, 0xc9, 0x95, 0x9b, 0xb2, 0xc2, 0xc5, 0x0f,
+	0x80, 0x4b, 0x0c, 0xf4, 0x18, 0xfc, 0xbf, 0xb4, 0xed, 0xf2, 0x7b, 0xeb, 0x30, 0xb5, 0x4b, 0xb4,
+	0x85, 0xa0, 0x21, 0x45, 0x4d, 0x87, 0x34, 0xcb, 0x51, 0xa2, 0x25, 0x38, 0x64, 0xaf, 0x7d, 0x3f,
+	0x79, 0xe7, 0xc5, 0x04, 0x66, 0xe7, 0x36, 0x5a, 0x02, 0x54, 0xb2, 0xd6, 0x39, 0xcd, 0x6a, 0x5d,
+	0x0c, 0xf4, 0xb0, 0xef, 0x7c, 0xd7, 0x05, 0x7a, 0x0e, 0xb3, 0xea, 0x0f, 0xd9, 0x64, 0x55, 0x5d,
+	0x3a, 0x9b, 0x30, 0x9d, 0xda, 0xfa, 0x6b, 0x5d, 0xa2, 0x17, 0x10, 0x96, 0xbc, 0xa4, 0x99, 0x69,
+	0x15, 0x75, 0x87, 0x0a, 0xd3, 0x99, 0x6d, 0x7c, 0xeb, 0xea, 0xf8, 0x35, 0x3c, 0xba, 0x73, 0x0f,
+	0xe8, 0x29, 0x04, 0xbc, 0x24, 0x8c, 0x0e, 0x16, 0x7d, 0x11, 0x1f, 0x60, 0x3a, 0x1c, 0xf9, 0x2a,
+	0x88, 0x7f, 0x1d, 0xe4, 0x15, 0xcc, 0xdd, 0x3b, 0x64, 0xb9, 0xac, 0x85, 0x89, 0x1e, 0x74, 0xfb,
+	0x41, 0x0a, 0xae, 0xb5, 0xb7, 0x9d, 0xdd, 0x1a, 0x9e, 0xe5, 0xb2, 0x1c, 0xbb, 0x83, 0xdd, 0xbc,
+	0x7f, 0xd8, 0xa3, 0xfd, 0x18, 0x47, 0xef, 0xd7, 0x43, 0xf7, 0x43, 0xb6, 0x37, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x71, 0x4b, 0x8e, 0x87, 0xc4, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/instance.pb.go b/googleapis/appengine/v1/instance.pb.go
index 06532296..45a00582 100644
--- a/googleapis/appengine/v1/instance.pb.go
+++ b/googleapis/appengine/v1/instance.pb.go
@@ -134,39 +134,39 @@ func init() {
 }
 
 var fileDescriptor4 = []byte{
-	// 539 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0x4d, 0x4f, 0xdb, 0x40,
-	0x10, 0xad, 0x03, 0x84, 0x64, 0x12, 0x42, 0xb4, 0x48, 0x65, 0x95, 0x5e, 0x5c, 0x2e, 0xb5, 0x50,
-	0x65, 0x0b, 0x7a, 0x6a, 0x7b, 0x02, 0x92, 0x4a, 0x96, 0xda, 0x08, 0x39, 0x70, 0x68, 0x2f, 0xd6,
-	0x26, 0x19, 0xdc, 0x95, 0xbc, 0x1f, 0x78, 0xd7, 0x2b, 0xa5, 0xbf, 0xb1, 0x3f, 0xaa, 0xf2, 0x3a,
-	0xa1, 0x54, 0xe2, 0xd0, 0xdb, 0xce, 0x7b, 0x33, 0x6f, 0xdf, 0xbc, 0x81, 0xab, 0x42, 0xa9, 0xa2,
-	0xc4, 0xb8, 0x50, 0x25, 0x93, 0x45, 0xac, 0xaa, 0x22, 0x29, 0x50, 0xea, 0x4a, 0x59, 0x95, 0xb4,
-	0x14, 0xd3, 0xdc, 0x24, 0x4c, 0x6b, 0x94, 0x05, 0x97, 0x98, 0xb8, 0x8b, 0x84, 0x4b, 0x63, 0x99,
-	0x5c, 0x61, 0xec, 0xdb, 0xc8, 0xc9, 0x56, 0xe2, 0xa9, 0x27, 0x76, 0x17, 0x93, 0xf4, 0x7f, 0x75,
-	0x79, 0x62, 0xb0, 0x72, 0x7c, 0x85, 0x2b, 0x25, 0x1f, 0x78, 0x91, 0x30, 0x29, 0x95, 0x65, 0x96,
-	0x2b, 0x69, 0x5a, 0xfd, 0xc9, 0xe7, 0x82, 0xdb, 0x9f, 0xf5, 0x32, 0x5e, 0x29, 0x91, 0xb4, 0x72,
-	0x89, 0x27, 0x96, 0xf5, 0x43, 0xa2, 0xed, 0x46, 0xa3, 0x49, 0x2c, 0x17, 0x68, 0x2c, 0x13, 0xfa,
-	0xef, 0xab, 0x1d, 0x3e, 0xfb, 0xbd, 0x0f, 0xbd, 0x74, 0xeb, 0x97, 0x10, 0xd8, 0x97, 0x4c, 0x20,
-	0x0d, 0xc2, 0x20, 0xea, 0x67, 0xfe, 0x4d, 0x46, 0xd0, 0xe1, 0x6b, 0xda, 0xf1, 0x48, 0x87, 0xaf,
-	0xc9, 0x7b, 0x20, 0x4c, 0xeb, 0xbc, 0xdd, 0x24, 0xaf, 0xb0, 0x44, 0x66, 0x90, 0xee, 0x79, 0x7e,
-	0xcc, 0xb4, 0x9e, 0x79, 0x22, 0x6b, 0x71, 0x32, 0x87, 0x21, 0x73, 0x8c, 0x97, 0x6c, 0xc9, 0x4b,
-	0x6e, 0x37, 0x74, 0x3f, 0x0c, 0xa2, 0xd1, 0xe5, 0x79, 0xfc, 0x42, 0x24, 0xf1, 0xce, 0x46, 0x7c,
-	0xf5, 0x6c, 0x22, 0xfb, 0x67, 0x9e, 0x9c, 0xc2, 0xa1, 0x13, 0xb9, 0x37, 0x79, 0xe0, 0xbf, 0xec,
-	0x3a, 0x31, 0x6f, 0x6c, 0x86, 0x30, 0x74, 0x22, 0xff, 0xa5, 0x24, 0xb6, 0x6c, 0xd7, 0xb3, 0xe0,
-	0xc4, 0x0f, 0x25, 0xd1, 0x77, 0x9c, 0xc0, 0x81, 0x13, 0x39, 0x5f, 0xd3, 0xc3, 0x76, 0x3b, 0x27,
-	0xd2, 0x35, 0xf9, 0x08, 0x60, 0x2c, 0xab, 0x6c, 0xde, 0xe4, 0x42, 0x7b, 0x61, 0x10, 0x0d, 0x2e,
-	0x27, 0x3b, 0x77, 0xbb, 0x14, 0xe3, 0xbb, 0x5d, 0x68, 0x59, 0xdf, 0x77, 0x37, 0x35, 0x99, 0x40,
-	0xaf, 0xc2, 0xc7, 0x1a, 0x8d, 0x35, 0xb4, 0x1f, 0x06, 0xd1, 0x41, 0xf6, 0x54, 0x93, 0xd7, 0xd0,
-	0xc5, 0xaa, 0x52, 0x95, 0xa1, 0xe0, 0x99, 0x6d, 0x45, 0xc6, 0xb0, 0xf7, 0xa8, 0x0d, 0x1d, 0x84,
-	0x41, 0xd4, 0xc9, 0x9a, 0x27, 0x79, 0x07, 0xc7, 0xcc, 0x61, 0xc5, 0x0a, 0xcc, 0x4b, 0x66, 0x51,
-	0xae, 0x36, 0x74, 0xe8, 0x47, 0x46, 0x5b, 0xf8, 0x6b, 0x8b, 0x92, 0xb7, 0x30, 0x14, 0x28, 0x54,
-	0xb5, 0xc9, 0x6b, 0xc3, 0x0a, 0xa4, 0x47, 0x61, 0x10, 0xed, 0x65, 0x83, 0x16, 0xbb, 0x6f, 0x20,
-	0xf2, 0x06, 0xfa, 0x4e, 0xe4, 0xc6, 0x32, 0x5b, 0x1b, 0x3a, 0xf2, 0x5b, 0xf6, 0x9c, 0x58, 0xf8,
-	0x9a, 0x44, 0x30, 0x76, 0x22, 0x5f, 0xe3, 0xb2, 0x2e, 0x72, 0x94, 0x6c, 0x59, 0xe2, 0x9a, 0x1e,
-	0x87, 0x41, 0xd4, 0xcb, 0x46, 0x4e, 0x4c, 0x1b, 0x78, 0xd6, 0xa2, 0x67, 0x9f, 0x60, 0xf8, 0xfc,
-	0x02, 0xe4, 0x18, 0x06, 0xf7, 0xf3, 0xc5, 0xed, 0xec, 0x26, 0xfd, 0x92, 0xce, 0xa6, 0xe3, 0x57,
-	0x64, 0x08, 0xbd, 0x6c, 0xb6, 0x48, 0xa7, 0xb3, 0xf9, 0xdd, 0x38, 0x20, 0x03, 0x38, 0x9c, 0x7e,
-	0x9f, 0x5f, 0x7d, 0x4b, 0x6f, 0xc6, 0x9d, 0xeb, 0x73, 0x38, 0x5d, 0x29, 0xf1, 0xd2, 0x79, 0xaf,
-	0x8f, 0x76, 0xf7, 0xbd, 0x6d, 0x62, 0xbd, 0x0d, 0x96, 0x5d, 0x9f, 0xef, 0x87, 0x3f, 0x01, 0x00,
-	0x00, 0xff, 0xff, 0x9e, 0x6c, 0x5b, 0xd2, 0x63, 0x03, 0x00, 0x00,
+	// 530 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0x4d, 0x6f, 0xd3, 0x40,
+	0x10, 0x25, 0x69, 0x3e, 0x9c, 0x89, 0x9b, 0x58, 0x5b, 0x89, 0xae, 0xc2, 0xa5, 0xf4, 0x42, 0x55,
+	0x21, 0x5b, 0x2d, 0x27, 0xe0, 0x94, 0x36, 0x46, 0xb2, 0x04, 0x51, 0xe4, 0xb4, 0x07, 0xb8, 0x58,
+	0xeb, 0x64, 0x6b, 0x56, 0xf2, 0xee, 0xba, 0xfe, 0x92, 0xc2, 0x6f, 0xe4, 0x47, 0x31, 0x5e, 0x27,
+	0xa5, 0x48, 0x3d, 0x70, 0x9b, 0x79, 0xef, 0xcd, 0xec, 0x9b, 0x99, 0x85, 0x79, 0xa2, 0x75, 0x92,
+	0x72, 0x37, 0xd1, 0x29, 0x53, 0x89, 0xab, 0xf3, 0xc4, 0x4b, 0xb8, 0xca, 0x72, 0x5d, 0x6a, 0xaf,
+	0xa5, 0x58, 0x26, 0x0a, 0x8f, 0x65, 0x19, 0x57, 0x89, 0x50, 0xdc, 0xab, 0xaf, 0x3c, 0xa1, 0x8a,
+	0x92, 0xa9, 0x0d, 0x77, 0x8d, 0x8c, 0x9c, 0xec, 0x5b, 0x3c, 0x69, 0xdc, 0xfa, 0x6a, 0x16, 0xfc,
+	0x6f, 0x5f, 0xe1, 0x15, 0x3c, 0xaf, 0xc5, 0x86, 0x6f, 0xb4, 0x7a, 0x10, 0x89, 0xc7, 0x94, 0xd2,
+	0x25, 0x2b, 0x85, 0x56, 0x45, 0xdb, 0x7f, 0xf6, 0x39, 0x11, 0xe5, 0xcf, 0x2a, 0x76, 0x37, 0x5a,
+	0x7a, 0x6d, 0x3b, 0xcf, 0x10, 0x71, 0xf5, 0xe0, 0x65, 0xe5, 0x2e, 0xe3, 0x85, 0x57, 0x0a, 0xc9,
+	0xd1, 0x93, 0xcc, 0xfe, 0x46, 0x6d, 0xf1, 0xf9, 0xef, 0x1e, 0x58, 0xc1, 0xde, 0x2f, 0x21, 0xd0,
+	0x53, 0x4c, 0x72, 0xda, 0x39, 0xeb, 0x5c, 0x8c, 0x42, 0x13, 0x93, 0x09, 0x74, 0xc5, 0x96, 0x76,
+	0x0d, 0x82, 0x11, 0x79, 0x0f, 0x04, 0x07, 0x89, 0xda, 0x49, 0xa2, 0x9c, 0xa3, 0xd1, 0x82, 0xd3,
+	0x23, 0xc3, 0x3b, 0xc8, 0xf8, 0x86, 0x08, 0x5b, 0x9c, 0x2c, 0xc1, 0x66, 0x35, 0x13, 0x29, 0x8b,
+	0x45, 0x2a, 0xca, 0x1d, 0xed, 0xa1, 0x6e, 0x72, 0x7d, 0xe9, 0xbe, 0xb0, 0x12, 0xf7, 0x60, 0xc3,
+	0x9d, 0x3f, 0xab, 0x08, 0xff, 0xa9, 0x27, 0xa7, 0x30, 0xac, 0x65, 0x64, 0x4c, 0xf6, 0xcd, 0x93,
+	0x83, 0x5a, 0x2e, 0x1b, 0x9b, 0x67, 0x60, 0x23, 0xf1, 0x4b, 0xa3, 0x27, 0xc3, 0x0e, 0x0c, 0x0b,
+	0xb5, 0xfc, 0x81, 0x90, 0x51, 0x9c, 0x40, 0x1f, 0x15, 0x38, 0xcb, 0xb0, 0x9d, 0xae, 0x96, 0xc1,
+	0x96, 0x7c, 0x04, 0xc0, 0x47, 0xf3, 0x32, 0x6a, 0xf6, 0x42, 0x2d, 0x64, 0xc6, 0xd7, 0xb3, 0x83,
+	0xbb, 0xc3, 0x16, 0xdd, 0xbb, 0xc3, 0xd2, 0xc2, 0x91, 0x51, 0x37, 0x39, 0x99, 0x81, 0x95, 0xf3,
+	0xc7, 0x0a, 0x89, 0x82, 0x8e, 0xb0, 0xb0, 0x1f, 0x3e, 0xe5, 0xe4, 0x35, 0x0c, 0x78, 0x9e, 0xeb,
+	0xbc, 0xa0, 0x60, 0x98, 0x7d, 0x46, 0x1c, 0x38, 0x7a, 0xcc, 0x0a, 0x3a, 0x46, 0xb0, 0x1b, 0x36,
+	0x21, 0x79, 0x07, 0x53, 0x56, 0xf3, 0x9c, 0x25, 0x3c, 0x4a, 0x59, 0xc9, 0xd5, 0x66, 0x47, 0x6d,
+	0x53, 0x32, 0xd9, 0xc3, 0x5f, 0x5b, 0x94, 0xbc, 0x05, 0x5b, 0x72, 0xa9, 0xf3, 0x5d, 0x54, 0x15,
+	0x08, 0xd3, 0x63, 0x54, 0x1d, 0x85, 0xe3, 0x16, 0xbb, 0x6f, 0x20, 0xf2, 0x06, 0x46, 0x38, 0x21,
+	0x3a, 0x2c, 0xab, 0x82, 0x4e, 0xcc, 0x94, 0x56, 0x2d, 0xd7, 0x26, 0x27, 0x17, 0xe0, 0x20, 0xb9,
+	0xe5, 0x71, 0x95, 0xe0, 0xf1, 0x58, 0x9c, 0xf2, 0x2d, 0x9d, 0xa2, 0xc6, 0x0a, 0x27, 0xb5, 0x5c,
+	0x34, 0xb0, 0xdf, 0xa2, 0xe7, 0x9f, 0xc0, 0x7e, 0x7e, 0x01, 0x32, 0x85, 0xf1, 0xfd, 0x72, 0xbd,
+	0xf2, 0x6f, 0x83, 0x2f, 0x81, 0xbf, 0x70, 0x5e, 0x11, 0x1b, 0xac, 0xd0, 0x5f, 0x07, 0x0b, 0x7f,
+	0x79, 0xe7, 0x74, 0xc8, 0x18, 0x86, 0x8b, 0xef, 0xcb, 0xf9, 0xb7, 0xe0, 0xd6, 0xe9, 0xde, 0x5c,
+	0xc2, 0x29, 0x7e, 0xc3, 0x97, 0xce, 0x7b, 0x73, 0x7c, 0xb8, 0xef, 0xaa, 0x59, 0xeb, 0xaa, 0x13,
+	0x0f, 0xcc, 0x7e, 0x3f, 0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x9e, 0x6c, 0x5b, 0xd2, 0x63, 0x03,
+	0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/location.pb.go b/googleapis/appengine/v1/location.pb.go
index 422de363..b5ca8afd 100644
--- a/googleapis/appengine/v1/location.pb.go
+++ b/googleapis/appengine/v1/location.pb.go
@@ -42,20 +42,20 @@ func init() {
 
 var fileDescriptor5 = []byte{
 	// 241 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0xd0, 0xcd, 0x4a, 0x03, 0x31,
-	0x10, 0xc0, 0x71, 0x56, 0x44, 0x64, 0x41, 0x90, 0x7a, 0x50, 0x8a, 0x88, 0x78, 0x12, 0x0f, 0x09,
-	0xc5, 0xbb, 0xd0, 0xa2, 0x07, 0x41, 0xa1, 0xf8, 0x02, 0x65, 0x76, 0x77, 0x1a, 0x06, 0xa6, 0x33,
-	0x21, 0x3b, 0x04, 0x7d, 0x19, 0x9f, 0x55, 0xba, 0x1f, 0x7a, 0xa9, 0xb0, 0xa7, 0x1c, 0xf2, 0xcf,
-	0x8f, 0x99, 0x94, 0xcb, 0xa0, 0x1a, 0x18, 0x5d, 0x50, 0x06, 0x09, 0x4e, 0x53, 0xf0, 0x01, 0x25,
-	0x26, 0x35, 0xf5, 0xfd, 0x15, 0x44, 0x6a, 0x3d, 0xc4, 0x88, 0x12, 0x48, 0xd0, 0xe7, 0x85, 0x67,
-	0xad, 0xc1, 0x48, 0xc5, 0x75, 0xd9, 0xec, 0x62, 0x20, 0x7e, 0x1b, 0x97, 0x17, 0xf3, 0xd7, 0xa9,
-	0x2e, 0xf9, 0x16, 0x53, 0xa6, 0x1a, 0x6b, 0x95, 0x2d, 0x05, 0x0f, 0x22, 0x6a, 0x1d, 0xdf, 0xf6,
-	0xfe, 0xfc, 0x69, 0x1a, 0x65, 0x5f, 0x11, 0x3d, 0x83, 0xb1, 0x84, 0xe1, 0xe8, 0xdf, 0xdf, 0x7d,
-	0x17, 0xe5, 0xf9, 0xdb, 0x30, 0xf2, 0x3b, 0x1a, 0x34, 0x60, 0x30, 0x7b, 0x2e, 0x6f, 0x5a, 0x03,
-	0x69, 0x20, 0x35, 0x1b, 0x94, 0x4c, 0x49, 0x65, 0x87, 0x62, 0x1b, 0xc8, 0x40, 0x0c, 0x15, 0xe3,
-	0xd5, 0xd1, 0x6d, 0x71, 0x7f, 0xfa, 0x71, 0x3d, 0x56, 0x2f, 0x7f, 0xd1, 0x72, 0x6c, 0xf6, 0xca,
-	0x96, 0xf1, 0x93, 0x2a, 0xc6, 0x7f, 0x94, 0xe3, 0x5e, 0x19, 0xab, 0x43, 0xca, 0xea, 0xa1, 0xbc,
-	0xac, 0x75, 0xe7, 0x0e, 0x7c, 0xe3, 0xea, 0x6c, 0x1c, 0x7c, 0xbd, 0x5f, 0x65, 0x5d, 0x54, 0x27,
-	0xdd, 0x4e, 0x8f, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xc1, 0x4f, 0xe8, 0xb8, 0x01, 0x00,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0xd0, 0xcd, 0x4a, 0xc3, 0x40,
+	0x10, 0xc0, 0x71, 0x22, 0x22, 0x12, 0x10, 0xa4, 0x1e, 0x94, 0x22, 0x22, 0x9e, 0xc4, 0xc3, 0x2e,
+	0xc5, 0xbb, 0xd0, 0xa2, 0x07, 0x41, 0xa1, 0xf8, 0x02, 0x65, 0x9a, 0x4c, 0x87, 0x81, 0xed, 0xcc,
+	0xb2, 0x19, 0x16, 0x7d, 0x19, 0x9f, 0x55, 0x9b, 0x0f, 0xbd, 0xb4, 0x90, 0x53, 0x02, 0xfb, 0xdf,
+	0x1f, 0x33, 0x5b, 0xce, 0x49, 0x95, 0x02, 0x3a, 0xd2, 0x00, 0x42, 0x4e, 0x13, 0x79, 0x42, 0x89,
+	0x49, 0x4d, 0x7d, 0x77, 0x04, 0x91, 0x1b, 0x0f, 0x31, 0xa2, 0x10, 0x0b, 0xfa, 0x3c, 0xf3, 0x41,
+	0x2b, 0x30, 0x56, 0x71, 0x6d, 0x36, 0xb9, 0xe8, 0x89, 0xbf, 0xc6, 0xe5, 0xd9, 0xf4, 0x75, 0xac,
+	0xcb, 0xbe, 0xc1, 0x94, 0xb9, 0xc2, 0x4a, 0x65, 0xc3, 0xe4, 0x41, 0x44, 0xad, 0xe5, 0x9b, 0xce,
+	0x9f, 0x3e, 0x8d, 0xa3, 0xec, 0x2b, 0xa2, 0x0f, 0x60, 0x41, 0xa8, 0xff, 0x74, 0xf7, 0xef, 0xbe,
+	0x8b, 0xf2, 0xfc, 0xad, 0x1f, 0xf9, 0x1d, 0x0d, 0x6a, 0x30, 0x98, 0x3c, 0x97, 0x37, 0x8d, 0x81,
+	0xd4, 0x90, 0xea, 0x15, 0x4a, 0xe6, 0xa4, 0xb2, 0x45, 0xb1, 0x15, 0x64, 0xe0, 0x00, 0xeb, 0x80,
+	0x57, 0x47, 0xb7, 0xc5, 0xfd, 0xe9, 0xc7, 0xf5, 0x50, 0xbd, 0xfc, 0x47, 0xf3, 0xa1, 0xd9, 0x29,
+	0x9b, 0x80, 0x9f, 0xfc, 0xfb, 0x7f, 0x40, 0x39, 0xee, 0x94, 0xa1, 0xda, 0xa7, 0x2c, 0x1e, 0xca,
+	0xcb, 0x4a, 0xb7, 0x6e, 0xcf, 0x33, 0x2e, 0xce, 0x86, 0xc1, 0x97, 0xbb, 0x55, 0x96, 0xc5, 0xfa,
+	0xa4, 0xdd, 0xe9, 0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xc1, 0x4f, 0xe8, 0xb8, 0x01, 0x00,
 	0x00,
 }
diff --git a/googleapis/appengine/v1/operation.pb.go b/googleapis/appengine/v1/operation.pb.go
index 2f4e6eca..6325fdc8 100644
--- a/googleapis/appengine/v1/operation.pb.go
+++ b/googleapis/appengine/v1/operation.pb.go
@@ -69,24 +69,24 @@ func init() {
 }
 
 var fileDescriptor6 = []byte{
-	// 290 bytes of a gzipped FileDescriptorProto
+	// 289 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0x41, 0x4b, 0xfc, 0x30,
-	0x10, 0xc5, 0xe9, 0xff, 0xbf, 0xae, 0x9a, 0x05, 0x0f, 0x5d, 0xd0, 0xd2, 0xd3, 0xe2, 0x69, 0x41,
-	0x48, 0xa8, 0xe2, 0x69, 0x6f, 0xbd, 0x79, 0x10, 0x97, 0x45, 0xbc, 0x4a, 0xda, 0xce, 0x66, 0x03,
-	0xdb, 0x4c, 0x48, 0xa6, 0x05, 0x3f, 0xa4, 0xdf, 0x49, 0x9a, 0xb4, 0xeb, 0x45, 0xd0, 0xdb, 0x4c,
-	0x66, 0xde, 0xef, 0xbd, 0x09, 0x2b, 0x15, 0xa2, 0x3a, 0x02, 0x57, 0x78, 0x94, 0x46, 0x71, 0x74,
-	0x4a, 0x28, 0x30, 0xd6, 0x21, 0xa1, 0x88, 0x23, 0x69, 0xb5, 0x17, 0xd2, 0x5a, 0x30, 0x4a, 0x1b,
-	0x10, 0x7d, 0x21, 0xd0, 0x82, 0x93, 0xa4, 0xd1, 0xf0, 0xb0, 0x97, 0x2e, 0x47, 0xc6, 0x69, 0x89,
-	0xf7, 0x45, 0xfe, 0xf4, 0x57, 0xb0, 0x16, 0x1e, 0x5c, 0xaf, 0x6b, 0xa8, 0xd1, 0xec, 0xb5, 0x12,
-	0xd2, 0x18, 0xa4, 0x80, 0xf7, 0x91, 0x9f, 0x6f, 0x94, 0xa6, 0x43, 0x57, 0xf1, 0x1a, 0x5b, 0x11,
-	0x71, 0x22, 0x0c, 0xaa, 0x6e, 0x2f, 0x2c, 0x7d, 0x58, 0xf0, 0x82, 0x74, 0x0b, 0x9e, 0x64, 0x6b,
-	0xbf, 0xab, 0x28, 0xbe, 0xfd, 0x4c, 0xd8, 0xf2, 0x65, 0x0a, 0xfc, 0x0c, 0x24, 0x1b, 0x49, 0xf2,
-	0xad, 0x48, 0xaf, 0xd9, 0xbc, 0x05, 0x3a, 0x60, 0x93, 0x25, 0xab, 0x64, 0x7d, 0xb9, 0x1b, 0xbb,
-	0x74, 0xc3, 0x16, 0xda, 0x78, 0x70, 0xf4, 0x3e, 0x90, 0xb2, 0x7f, 0xab, 0x64, 0xbd, 0xb8, 0xcf,
-	0xf9, 0x78, 0xcd, 0xe4, 0xcb, 0x5f, 0x27, 0x9b, 0x1d, 0x8b, 0xeb, 0xc3, 0x43, 0xfa, 0xc8, 0x2e,
-	0xc0, 0x34, 0x51, 0xf9, 0xff, 0x57, 0xe5, 0x39, 0x98, 0x26, 0xc8, 0x52, 0x36, 0xeb, 0x3c, 0xb8,
-	0x6c, 0x16, 0x92, 0x84, 0x7a, 0xc8, 0x47, 0xd2, 0x29, 0xa0, 0xec, 0x2c, 0xe6, 0x8b, 0x5d, 0x79,
-	0xc7, 0x6e, 0x6a, 0x6c, 0xf9, 0x0f, 0x5f, 0x5e, 0x5e, 0x9d, 0xee, 0xdc, 0x0e, 0x66, 0xdb, 0xa4,
-	0x9a, 0x07, 0xd7, 0x87, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x6e, 0x06, 0x0e, 0xe6, 0x01,
-	0x00, 0x00,
+	0x10, 0xc5, 0xe9, 0xff, 0xbf, 0xae, 0x9a, 0x05, 0x0f, 0x5d, 0xd0, 0xb2, 0x27, 0xf1, 0x24, 0x08,
+	0x19, 0xaa, 0x78, 0xda, 0x5b, 0x6f, 0x1e, 0xc4, 0x65, 0x11, 0xaf, 0x92, 0xb6, 0xb3, 0xd9, 0xc0,
+	0x36, 0x13, 0xda, 0x69, 0xc1, 0x0f, 0xe9, 0x77, 0xb2, 0x4d, 0xda, 0xf5, 0x22, 0xe8, 0x2d, 0xc9,
+	0xbc, 0xf7, 0x7b, 0x2f, 0x23, 0x32, 0x4d, 0xa4, 0x0f, 0x28, 0x35, 0x1d, 0x94, 0xd5, 0x92, 0x6a,
+	0x0d, 0x1a, 0xad, 0xab, 0x89, 0x09, 0xc2, 0x48, 0x39, 0xd3, 0x80, 0x72, 0x0e, 0xad, 0x36, 0x16,
+	0xa1, 0x4b, 0x81, 0x1c, 0xd6, 0x8a, 0x0d, 0x59, 0xe9, 0x75, 0xf1, 0x72, 0x64, 0x1c, 0x45, 0xb2,
+	0x4b, 0x57, 0x4f, 0x7f, 0x05, 0x1b, 0x68, 0xb0, 0xee, 0x4c, 0x81, 0x05, 0xd9, 0x9d, 0xd1, 0xa0,
+	0xac, 0x25, 0xf6, 0xf8, 0x26, 0xf0, 0x57, 0x6b, 0x6d, 0x78, 0xdf, 0xe6, 0xb2, 0xa0, 0x0a, 0x02,
+	0x0e, 0xfc, 0x20, 0x6f, 0x77, 0xe0, 0xf8, 0xc3, 0x61, 0x03, 0x6c, 0x2a, 0x6c, 0x58, 0x55, 0xee,
+	0xfb, 0x14, 0xcc, 0x37, 0x9f, 0x91, 0x58, 0xbe, 0x4c, 0x85, 0x9f, 0x91, 0x55, 0xa9, 0x58, 0xbd,
+	0xa5, 0xf1, 0xa5, 0x98, 0x57, 0xc8, 0x7b, 0x2a, 0x93, 0xe8, 0x3a, 0xba, 0x3d, 0xdf, 0x8e, 0xb7,
+	0x78, 0x2d, 0x16, 0xc6, 0xf6, 0x8d, 0xf8, 0x7d, 0x20, 0x25, 0xff, 0xfa, 0xe1, 0xe2, 0x7e, 0x25,
+	0xc7, 0xdf, 0x4c, 0xb9, 0xf2, 0x75, 0x8a, 0xd9, 0x8a, 0x20, 0x1f, 0x1e, 0xe2, 0x47, 0x71, 0x86,
+	0xb6, 0x0c, 0xce, 0xff, 0xbf, 0x3a, 0x4f, 0x7b, 0xad, 0xb7, 0xc5, 0x62, 0xd6, 0xf6, 0x8c, 0x64,
+	0xe6, 0x9b, 0xf8, 0xf3, 0xd0, 0x8f, 0x55, 0xad, 0x91, 0x93, 0x93, 0xd0, 0x2f, 0xdc, 0xb2, 0x3b,
+	0x71, 0xd5, 0xef, 0x41, 0xfe, 0xb0, 0xf2, 0xec, 0xe2, 0xf8, 0xcf, 0xcd, 0x10, 0xb6, 0x89, 0xf2,
+	0xb9, 0x4f, 0x7d, 0xf8, 0x0a, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x6e, 0x06, 0x0e, 0xe6, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/appengine/v1/service.pb.go b/googleapis/appengine/v1/service.pb.go
index 36689182..93a8fead 100644
--- a/googleapis/appengine/v1/service.pb.go
+++ b/googleapis/appengine/v1/service.pb.go
@@ -120,27 +120,27 @@ func init() {
 }
 
 var fileDescriptor7 = []byte{
-	// 350 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x91, 0xcd, 0x6a, 0xe3, 0x30,
-	0x10, 0x80, 0xd7, 0xca, 0x26, 0xd9, 0x1d, 0x87, 0xac, 0xd1, 0x2e, 0xac, 0xc9, 0x29, 0x9b, 0x53,
-	0x72, 0x91, 0x89, 0xf7, 0xd0, 0xd2, 0x43, 0x69, 0x93, 0xb8, 0x60, 0x0a, 0x8d, 0xb1, 0xd3, 0x73,
-	0x51, 0x1c, 0x59, 0x15, 0x75, 0x24, 0x63, 0xbb, 0x06, 0xbf, 0x4a, 0x9f, 0xb6, 0xf8, 0xa7, 0x6d,
-	0x28, 0x81, 0xf4, 0x36, 0x1a, 0x7d, 0xf3, 0x69, 0x34, 0x03, 0x57, 0x5c, 0x29, 0x1e, 0x33, 0xc2,
-	0x55, 0x4c, 0x25, 0x27, 0x2a, 0xe5, 0x16, 0x67, 0x32, 0x49, 0x55, 0xae, 0xac, 0xe6, 0x8a, 0x26,
-	0x22, 0xb3, 0x68, 0x92, 0x30, 0xc9, 0x85, 0x64, 0x56, 0x31, 0xb7, 0x32, 0x96, 0x16, 0x22, 0x64,
-	0xa4, 0xa6, 0xf0, 0xef, 0xd6, 0xf0, 0x8e, 0x90, 0x62, 0x3e, 0x72, 0xbf, 0xaa, 0x15, 0x6f, 0xb6,
-	0x50, 0xc9, 0x48, 0x70, 0x8b, 0x4a, 0xa9, 0x72, 0x9a, 0x0b, 0x25, 0xb3, 0xc6, 0x3f, 0x89, 0xa0,
-	0x1f, 0x34, 0x08, 0xc6, 0xf0, 0x5d, 0xd2, 0x3d, 0x33, 0xb5, 0xb1, 0x36, 0xfd, 0xe9, 0xd7, 0x31,
-	0x1e, 0x02, 0x12, 0x3b, 0x13, 0xd5, 0x19, 0x24, 0x76, 0xf8, 0x0c, 0xba, 0x59, 0x12, 0x8b, 0xdc,
-	0xec, 0x8c, 0xb5, 0xa9, 0x6e, 0xff, 0x23, 0x47, 0xda, 0x23, 0x9b, 0x94, 0x46, 0x91, 0x08, 0x83,
-	0x0a, 0xf4, 0x1b, 0x7e, 0xf2, 0x82, 0x60, 0x70, 0x98, 0xc7, 0x2b, 0xf8, 0x91, 0x3d, 0xd2, 0x74,
-	0xf7, 0xb0, 0x2d, 0xeb, 0x17, 0x87, 0xf6, 0xec, 0xa4, 0x8c, 0x04, 0x55, 0xc5, 0xa2, 0xf4, 0xfb,
-	0x59, 0x13, 0xe0, 0x0d, 0xe8, 0x34, 0x8e, 0x55, 0xd8, 0xfc, 0xc9, 0x44, 0xe3, 0xce, 0x54, 0xb7,
-	0xed, 0xd3, 0xa2, 0xeb, 0x8f, 0x22, 0x47, 0xe6, 0x69, 0xe9, 0x1f, 0x6a, 0x46, 0x97, 0x60, 0x7c,
-	0x06, 0xb0, 0x01, 0x9d, 0x27, 0x56, 0xb6, 0xc3, 0xa9, 0x42, 0xfc, 0x07, 0xba, 0x05, 0x8d, 0x9f,
-	0x59, 0x3d, 0x1e, 0xcd, 0x6f, 0x0e, 0x17, 0xe8, 0x5c, 0x9b, 0x10, 0xe8, 0xb7, 0x9d, 0xe2, 0x5f,
-	0xa0, 0xdf, 0xdf, 0x05, 0x9e, 0xb3, 0x74, 0x6f, 0x5c, 0x67, 0x65, 0x7c, 0xc3, 0x00, 0xbd, 0xe5,
-	0x7a, 0x7d, 0xeb, 0x3a, 0x86, 0x86, 0x7b, 0x80, 0x5c, 0xcf, 0x40, 0x8b, 0x19, 0xfc, 0x0d, 0xd5,
-	0xfe, 0x58, 0xd7, 0x8b, 0x41, 0xbb, 0x1d, 0xaf, 0xda, 0x96, 0xa7, 0x6d, 0x7b, 0xf5, 0xda, 0xfe,
-	0xbf, 0x06, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x86, 0xd3, 0x59, 0x5a, 0x02, 0x00, 0x00,
+	// 346 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x91, 0x51, 0x4f, 0xfa, 0x30,
+	0x14, 0xc5, 0xff, 0x1b, 0x7f, 0x40, 0x2f, 0x04, 0x97, 0x6a, 0x22, 0xe1, 0x49, 0x79, 0x92, 0x97,
+	0x2e, 0xe0, 0x83, 0xc6, 0x07, 0xa3, 0xc0, 0x4c, 0x16, 0x13, 0x59, 0x36, 0x7c, 0x36, 0x65, 0x74,
+	0xb5, 0x71, 0xb4, 0xcb, 0x36, 0x97, 0xec, 0xab, 0xf8, 0x69, 0xdd, 0xd6, 0xa9, 0xc4, 0x90, 0xe0,
+	0xdb, 0xe9, 0xed, 0xb9, 0xbf, 0x9e, 0xde, 0x0b, 0x77, 0x4c, 0x4a, 0x16, 0x52, 0xcc, 0x64, 0x48,
+	0x04, 0xc3, 0x32, 0x66, 0x26, 0xa3, 0x22, 0x8a, 0x65, 0x2a, 0x4d, 0x75, 0x45, 0x22, 0x9e, 0x98,
+	0x24, 0x8a, 0xa8, 0x60, 0x5c, 0x50, 0x33, 0x1b, 0x9b, 0x09, 0x8d, 0x33, 0xee, 0x53, 0x5c, 0xb9,
+	0xd0, 0x71, 0x4d, 0xf8, 0xb6, 0xe0, 0x6c, 0x3c, 0xb0, 0xff, 0x8a, 0xe5, 0x5f, 0x34, 0x5f, 0x8a,
+	0x80, 0x33, 0x93, 0x08, 0x21, 0x53, 0x92, 0x72, 0x29, 0x12, 0xc5, 0x1f, 0x06, 0xd0, 0xf6, 0x94,
+	0x05, 0x21, 0xf8, 0x2f, 0xc8, 0x86, 0xf6, 0xb5, 0x33, 0xed, 0xe2, 0xd0, 0xad, 0x34, 0xea, 0x81,
+	0xce, 0xd7, 0x7d, 0xbd, 0xaa, 0x14, 0x0a, 0x5d, 0x41, 0x33, 0x89, 0x42, 0x9e, 0xf6, 0x1b, 0x45,
+	0xa9, 0x33, 0x39, 0xc7, 0x3b, 0xe2, 0xe1, 0x65, 0x4c, 0x82, 0x80, 0xfb, 0x5e, 0x69, 0x74, 0x95,
+	0x7f, 0xf8, 0xa1, 0x43, 0x77, 0xbb, 0x8e, 0xe6, 0x70, 0x90, 0xbc, 0x92, 0x78, 0xfd, 0xb2, 0xca,
+	0xab, 0x17, 0x7b, 0x93, 0xd1, 0x5e, 0x18, 0xf6, 0xca, 0x8e, 0x69, 0xee, 0xb6, 0x13, 0x25, 0xd0,
+	0x12, 0x3a, 0x24, 0x0c, 0xa5, 0xaf, 0xfe, 0x54, 0x04, 0x6d, 0x14, 0xa9, 0x26, 0xfb, 0x41, 0xf7,
+	0x3f, 0x4d, 0x96, 0x48, 0xe3, 0xdc, 0xdd, 0xc6, 0x0c, 0x6e, 0xc1, 0xf8, 0x6d, 0x40, 0x06, 0x34,
+	0xde, 0x68, 0x5e, 0x0f, 0xa7, 0x94, 0xe8, 0x04, 0x9a, 0x19, 0x09, 0xdf, 0x69, 0x35, 0x1e, 0xcd,
+	0x55, 0x87, 0x1b, 0xfd, 0x5a, 0x1b, 0xe2, 0x62, 0xa8, 0x75, 0xc0, 0x23, 0xe8, 0x3c, 0x3f, 0x79,
+	0x8e, 0x35, 0xb3, 0x1f, 0x6c, 0x6b, 0x6e, 0xfc, 0x43, 0x00, 0xad, 0xd9, 0x62, 0xf1, 0x68, 0x5b,
+	0x86, 0x86, 0x5a, 0xa0, 0xdb, 0x8e, 0xa1, 0x4f, 0x47, 0x70, 0xea, 0xcb, 0xcd, 0xae, 0xd4, 0xd3,
+	0x6e, 0xbd, 0x1d, 0xa7, 0xdc, 0x96, 0xa3, 0xad, 0x5a, 0xd5, 0xda, 0x2e, 0x3f, 0x03, 0x00, 0x00,
+	0xff, 0xff, 0xf2, 0x86, 0xd3, 0x59, 0x5a, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/version.pb.go b/googleapis/appengine/v1/version.pb.go
index 98715679..22ffe989 100644
--- a/googleapis/appengine/v1/version.pb.go
+++ b/googleapis/appengine/v1/version.pb.go
@@ -701,117 +701,116 @@ func init() {
 }
 
 var fileDescriptor8 = []byte{
-	// 1784 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x57, 0x5d, 0x73, 0xdb, 0xc6,
-	0x15, 0x0d, 0x29, 0x4b, 0x14, 0x2f, 0x3f, 0x44, 0xad, 0xd3, 0x08, 0x96, 0x64, 0x99, 0x66, 0x92,
-	0xb1, 0x9a, 0x69, 0xc8, 0x89, 0x3b, 0x93, 0xb6, 0x8e, 0xa7, 0x8e, 0x48, 0xd1, 0x16, 0x5b, 0x7d,
-	0x70, 0x00, 0xd1, 0xce, 0x1b, 0x66, 0x09, 0xac, 0xc0, 0xad, 0x80, 0x05, 0xb2, 0x58, 0x50, 0x62,
-	0xff, 0x43, 0x1f, 0xdb, 0xe9, 0x8f, 0xe8, 0x63, 0xdf, 0xfa, 0xe7, 0x3a, 0xbb, 0x00, 0x48, 0x90,
-	0x44, 0xac, 0x24, 0x6f, 0xd8, 0xbb, 0xe7, 0x9c, 0x3d, 0xb8, 0x7b, 0xf7, 0x2e, 0x00, 0xdf, 0x3b,
-	0xbe, 0xef, 0xb8, 0xa4, 0xed, 0xf8, 0x2e, 0x66, 0x4e, 0xdb, 0xe7, 0x4e, 0xc7, 0x21, 0x2c, 0xe0,
-	0xbe, 0xf0, 0x3b, 0xf1, 0x14, 0x0e, 0x68, 0xd8, 0xc1, 0x41, 0x40, 0x98, 0x43, 0x19, 0xe9, 0x4c,
-	0xbf, 0xe9, 0x4c, 0x09, 0x0f, 0xa9, 0xcf, 0xda, 0x0a, 0x85, 0x1e, 0x27, 0x0a, 0x73, 0x48, 0x7b,
-	0xfa, 0xcd, 0xfe, 0xe0, 0xe7, 0xca, 0xd2, 0x4e, 0x48, 0xf8, 0x94, 0x5a, 0xc4, 0xf2, 0xd9, 0x0d,
-	0x75, 0x3a, 0x98, 0x31, 0x5f, 0x60, 0x41, 0x7d, 0x16, 0xc6, 0xfa, 0xfb, 0x27, 0xbf, 0xc2, 0x21,
-	0x0e, 0x02, 0x73, 0x86, 0x3d, 0x37, 0x91, 0x78, 0xf3, 0x2b, 0x24, 0x6c, 0x12, 0xb8, 0xfe, 0x2c,
-	0x11, 0xf8, 0x93, 0x43, 0xc5, 0x24, 0x1a, 0xb7, 0x2d, 0xdf, 0xeb, 0xc4, 0x22, 0x1d, 0x35, 0x31,
-	0x8e, 0x6e, 0x3a, 0x81, 0x98, 0x05, 0x24, 0xec, 0xd8, 0x11, 0x57, 0xb6, 0xe7, 0x0f, 0x09, 0xf5,
-	0xbb, 0x87, 0xa9, 0x82, 0x7a, 0x24, 0x14, 0xd8, 0x0b, 0x16, 0x4f, 0x31, 0xb9, 0xf5, 0xcf, 0x1a,
-	0x94, 0xde, 0xc7, 0xd9, 0x46, 0x08, 0x1e, 0x31, 0xec, 0x11, 0xad, 0xd0, 0x2c, 0x1c, 0x97, 0x75,
-	0xf5, 0x8c, 0xea, 0x50, 0xa4, 0xb6, 0x56, 0x54, 0x91, 0x22, 0xb5, 0xd1, 0x35, 0xec, 0xe2, 0x48,
-	0xf8, 0x1e, 0x16, 0xd4, 0x32, 0x43, 0x0b, 0xbb, 0x94, 0x39, 0xda, 0x46, 0xb3, 0x70, 0x5c, 0x79,
-	0xf9, 0x65, 0x3b, 0x67, 0x9f, 0xda, 0x27, 0x29, 0xda, 0x88, 0xc1, 0x67, 0x9f, 0xe8, 0x0d, 0xbc,
-	0x12, 0x43, 0x67, 0x50, 0x1b, 0xe3, 0x30, 0xa3, 0xf8, 0x48, 0x29, 0x3e, 0xcf, 0x55, 0xec, 0x4a,
-	0xe4, 0x42, 0xad, 0x3a, 0xce, 0x8c, 0xd1, 0x5f, 0xa1, 0xee, 0x61, 0x16, 0x61, 0x77, 0x2e, 0xb5,
-	0xa9, 0xa4, 0x5a, 0xb9, 0x52, 0x17, 0x0a, 0xba, 0xd0, 0xaa, 0x79, 0xd9, 0x00, 0xd2, 0xa1, 0x41,
-	0xd9, 0xd8, 0x8f, 0x98, 0x6d, 0x26, 0x35, 0x14, 0x6a, 0x5b, 0xcd, 0x8d, 0xe3, 0xfa, 0xcb, 0x17,
-	0xb9, 0x72, 0x83, 0x18, 0x6c, 0xc4, 0xd8, 0xeb, 0x59, 0x40, 0xf4, 0x1d, 0xba, 0x14, 0x0b, 0xd1,
-	0x97, 0x50, 0xa7, 0x2c, 0x14, 0x98, 0x59, 0xc4, 0xb4, 0x5c, 0x1c, 0x86, 0x5a, 0x49, 0x25, 0xb7,
-	0x96, 0x46, 0x7b, 0x32, 0x88, 0xbe, 0x85, 0x12, 0x23, 0xe2, 0xce, 0xe7, 0xb7, 0xda, 0xb6, 0x7a,
-	0x81, 0xc3, 0xdc, 0x15, 0x2f, 0x63, 0x8c, 0x9e, 0x82, 0xd1, 0x6b, 0x28, 0x73, 0x12, 0xfa, 0x11,
-	0x97, 0x5e, 0xcb, 0x8a, 0x79, 0x94, 0xcb, 0xd4, 0x53, 0x94, 0xbe, 0x20, 0x20, 0x0d, 0x4a, 0x3c,
-	0x62, 0xb2, 0x46, 0x34, 0x50, 0xae, 0xd2, 0x21, 0x3a, 0x02, 0x10, 0x13, 0x4e, 0xb0, 0x1d, 0xe2,
-	0x1b, 0xa2, 0x55, 0x9a, 0x85, 0xe3, 0x6d, 0x3d, 0x13, 0x91, 0x75, 0x32, 0xf5, 0xb4, 0xaa, 0x8a,
-	0x17, 0xa7, 0x1e, 0x32, 0xa0, 0x36, 0x26, 0x02, 0x9b, 0x21, 0x11, 0x82, 0x32, 0x27, 0xd4, 0x6a,
-	0xcd, 0x8d, 0xe3, 0xca, 0xcb, 0x76, 0xae, 0x97, 0xa4, 0x00, 0xdb, 0x5d, 0x22, 0xb0, 0x91, 0x10,
-	0xfa, 0x4c, 0xf0, 0x99, 0x5e, 0x1d, 0x67, 0x42, 0xa8, 0x01, 0x1b, 0x84, 0x4d, 0xb5, 0xba, 0xb2,
-	0x26, 0x1f, 0xd1, 0x00, 0xea, 0x6a, 0x67, 0x98, 0x63, 0x86, 0x02, 0x8b, 0x28, 0xd4, 0x76, 0x9a,
-	0x85, 0xe3, 0xfa, 0x4f, 0x6c, 0xb7, 0x11, 0x43, 0x0d, 0x85, 0xd4, 0x6b, 0x61, 0x76, 0x88, 0x9e,
-	0x02, 0x58, 0x9c, 0x60, 0x41, 0x6c, 0x73, 0x3c, 0xd3, 0x1a, 0x6a, 0x8d, 0x72, 0x12, 0xe9, 0xce,
-	0xd0, 0x77, 0x50, 0x89, 0x07, 0xa6, 0x4a, 0xcf, 0xae, 0x4a, 0xed, 0x7e, 0xba, 0x4c, 0x7a, 0xe0,
-	0xda, 0xd7, 0xe9, 0xf9, 0xd2, 0x13, 0x35, 0x19, 0x40, 0xc7, 0xd0, 0xb0, 0x69, 0x78, 0x6b, 0x46,
-	0x21, 0x76, 0x88, 0x39, 0x9e, 0x09, 0x12, 0x6a, 0xa8, 0x59, 0x38, 0xde, 0xd0, 0xeb, 0x32, 0x3e,
-	0x92, 0xe1, 0xae, 0x8c, 0xa2, 0x3f, 0xc0, 0xf6, 0x04, 0x33, 0xdb, 0x25, 0x3c, 0xd4, 0x6c, 0x95,
-	0xb2, 0x83, 0xdc, 0x57, 0x19, 0x71, 0xf7, 0x02, 0x07, 0xfa, 0x1c, 0x8c, 0xce, 0xa0, 0x4e, 0x38,
-	0xf7, 0xb9, 0x39, 0xa7, 0x13, 0x45, 0xcf, 0x3f, 0x43, 0x7d, 0x09, 0x3d, 0x8b, 0x91, 0x7a, 0x8d,
-	0x64, 0x46, 0x21, 0x7a, 0x05, 0x65, 0x97, 0x8e, 0x39, 0xe6, 0x94, 0x84, 0xda, 0x8d, 0x12, 0xc9,
-	0x2f, 0xbe, 0x73, 0x85, 0x9a, 0xe9, 0x0b, 0x38, 0x3a, 0x05, 0xc0, 0x01, 0x35, 0xe3, 0x56, 0xab,
-	0x39, 0x1f, 0xeb, 0x0b, 0x01, 0xed, 0x29, 0x54, 0xea, 0xa2, 0x8c, 0xd3, 0x88, 0x2c, 0x1e, 0xc2,
-	0xa6, 0xe6, 0x14, 0x73, 0x8a, 0xc7, 0x2e, 0x09, 0xb5, 0xc9, 0xcf, 0x28, 0x9e, 0x3e, 0x9b, 0xbe,
-	0x4f, 0x09, 0x49, 0xf1, 0x90, 0x4c, 0x08, 0x9d, 0x01, 0xb2, 0xc9, 0x0d, 0x8e, 0x5c, 0x61, 0x92,
-	0xfb, 0x80, 0xc6, 0x2d, 0x54, 0xa3, 0xca, 0xe2, 0x93, 0xb5, 0x7d, 0x3c, 0x4d, 0x7a, 0xac, 0xbe,
-	0x9b, 0x90, 0xfa, 0x73, 0x0e, 0xea, 0x41, 0x75, 0x42, 0xb0, 0x2b, 0x26, 0xa6, 0x35, 0x21, 0xd6,
-	0xad, 0xf6, 0x37, 0xa5, 0xd1, 0xcc, 0x75, 0x77, 0xa6, 0x80, 0x3d, 0x89, 0xd3, 0x2b, 0x93, 0xc5,
-	0x00, 0xb5, 0xe1, 0x31, 0xf3, 0xc7, 0x11, 0x75, 0x6d, 0xf3, 0x86, 0xba, 0x24, 0x34, 0x39, 0x71,
-	0xc8, 0xbd, 0x76, 0xab, 0xea, 0x6e, 0x37, 0x99, 0x7a, 0x2b, 0x67, 0x74, 0x39, 0x81, 0xde, 0x00,
-	0xc4, 0x17, 0x86, 0x47, 0x98, 0xd0, 0x5c, 0xb5, 0xe4, 0xb3, 0xdc, 0x25, 0x4f, 0xe7, 0x30, 0x3d,
-	0x43, 0x41, 0xcf, 0xa0, 0x92, 0x5c, 0xab, 0x66, 0xc4, 0x5d, 0xcd, 0x53, 0x0b, 0x41, 0x12, 0x1a,
-	0x71, 0x77, 0xff, 0x0d, 0xec, 0xae, 0x1d, 0x40, 0x79, 0xe4, 0x6e, 0xc9, 0x2c, 0xb9, 0x12, 0xe4,
-	0x23, 0xfa, 0x14, 0x36, 0xa7, 0xd8, 0x8d, 0x48, 0x72, 0x29, 0xc4, 0x83, 0x57, 0xc5, 0x3f, 0x16,
-	0xa4, 0xc0, 0xda, 0x26, 0xfc, 0x12, 0x81, 0x6e, 0x19, 0x4a, 0x49, 0xd7, 0x6e, 0xfd, 0x77, 0x0b,
-	0x1a, 0xab, 0x57, 0x07, 0xea, 0x41, 0xc3, 0xf2, 0x7d, 0xd7, 0xb4, 0xfd, 0x3b, 0x66, 0x06, 0x84,
-	0x53, 0xdf, 0x56, 0xc2, 0x1f, 0xdd, 0xc0, 0xba, 0xa4, 0x9c, 0xfa, 0x77, 0x6c, 0xa8, 0x08, 0xe8,
-	0x1c, 0x76, 0xac, 0x20, 0x32, 0x23, 0x41, 0x5d, 0xfa, 0xf7, 0xb8, 0x08, 0x8a, 0x4a, 0xe3, 0xf3,
-	0xdc, 0x6c, 0xf6, 0x82, 0x68, 0xb4, 0x80, 0xea, 0x75, 0x6b, 0x69, 0x8c, 0xbe, 0x85, 0x3d, 0x0f,
-	0xdf, 0xcb, 0x82, 0xb7, 0x22, 0xce, 0x09, 0x13, 0x26, 0x27, 0x3f, 0x46, 0x24, 0x14, 0xa1, 0xba,
-	0x15, 0x37, 0xf5, 0xdf, 0x78, 0xf8, 0xbe, 0x37, 0x9f, 0xd5, 0x93, 0x49, 0xf4, 0x3b, 0x40, 0x92,
-	0x47, 0x6d, 0x97, 0x98, 0x69, 0xe7, 0x0f, 0xd5, 0xb5, 0xb7, 0xa9, 0x37, 0x3c, 0x7c, 0x3f, 0xb0,
-	0x5d, 0x32, 0x48, 0xe3, 0xb2, 0x58, 0x24, 0x5a, 0xf8, 0x02, 0xbb, 0x19, 0xf8, 0xa6, 0x82, 0xef,
-	0x7a, 0xf8, 0xfe, 0x5a, 0xce, 0x2c, 0xf0, 0x83, 0x18, 0x1f, 0x10, 0x66, 0xcb, 0xd6, 0xe8, 0x62,
-	0x41, 0x98, 0x35, 0xd3, 0xb6, 0x1e, 0x2c, 0x76, 0x0f, 0xdf, 0x0f, 0x63, 0xd2, 0x79, 0xcc, 0x51,
-	0x46, 0x29, 0x5b, 0x35, 0x5a, 0x4a, 0x8c, 0x52, 0xb6, 0x6e, 0x94, 0xb2, 0x35, 0xa3, 0xdb, 0x89,
-	0x51, 0xca, 0x72, 0x8c, 0x52, 0xb6, 0x66, 0xb4, 0xfc, 0xb0, 0x51, 0xca, 0x56, 0x8c, 0xfe, 0x00,
-	0x8f, 0x93, 0xd4, 0x2f, 0xed, 0x2d, 0x28, 0xa9, 0x17, 0x3f, 0x71, 0x07, 0x2a, 0x7c, 0x76, 0x7f,
-	0x11, 0x5f, 0x8b, 0xa1, 0xab, 0xb4, 0x7b, 0x67, 0x64, 0x2b, 0x4a, 0xf6, 0x8b, 0xfc, 0x03, 0x28,
-	0x5b, 0x7a, 0x46, 0x73, 0xc7, 0x5e, 0x0e, 0x48, 0xab, 0xc9, 0x7d, 0xbd, 0xa4, 0x59, 0xfd, 0x88,
-	0xd5, 0xe4, 0xa2, 0x5f, 0xb2, 0xca, 0xd6, 0x62, 0xad, 0x1f, 0xa1, 0x9a, 0xfd, 0x3c, 0x42, 0xaf,
-	0xa1, 0xaa, 0x76, 0x4e, 0xde, 0x59, 0x7e, 0x24, 0x1e, 0x3e, 0x2d, 0x15, 0x09, 0xbf, 0x8e, 0xd1,
-	0xe8, 0x73, 0xa8, 0xa9, 0x22, 0x9d, 0xef, 0x63, 0x51, 0xed, 0x63, 0x55, 0xd6, 0x67, 0x1a, 0x6b,
-	0x7d, 0x0d, 0xb5, 0xa5, 0xcf, 0x28, 0x74, 0x08, 0xe5, 0x05, 0xa3, 0xa0, 0x18, 0x8b, 0x40, 0xeb,
-	0x5f, 0x05, 0xa8, 0x2f, 0x9f, 0x29, 0x34, 0x82, 0x27, 0xd8, 0x71, 0x38, 0x71, 0xd4, 0xd0, 0xbc,
-	0xa3, 0xcc, 0xf6, 0xef, 0x4c, 0x97, 0x30, 0x47, 0x4c, 0x1e, 0x76, 0xbc, 0x97, 0xe1, 0x7e, 0x50,
-	0xd4, 0x73, 0xc5, 0x44, 0x5f, 0x03, 0x12, 0x98, 0x3b, 0x44, 0xac, 0x9d, 0xf5, 0x82, 0xbe, 0x1b,
-	0xcf, 0x64, 0x53, 0xf7, 0xef, 0x02, 0xa0, 0xf5, 0x82, 0x40, 0xa7, 0xf0, 0x2c, 0x51, 0x49, 0xab,
-	0xcb, 0xf2, 0x23, 0x26, 0x64, 0xfb, 0x31, 0x43, 0xf9, 0x4f, 0x61, 0x27, 0xef, 0x78, 0x10, 0xc3,
-	0x12, 0x89, 0x9e, 0x04, 0x0d, 0x09, 0x37, 0x14, 0x04, 0xbd, 0x86, 0xfd, 0x44, 0x25, 0xaf, 0x53,
-	0xc4, 0x69, 0xd5, 0x62, 0xc4, 0x7a, 0xb3, 0x68, 0xfd, 0xa3, 0x08, 0x3b, 0x2b, 0x45, 0x85, 0xbe,
-	0x87, 0xa7, 0x89, 0xe2, 0x1d, 0xa7, 0x22, 0xf9, 0xa8, 0xc8, 0xba, 0xaa, 0x2b, 0xd1, 0x27, 0x31,
-	0xe8, 0x83, 0xc4, 0xa8, 0x2f, 0x8c, 0xac, 0xa7, 0x83, 0x25, 0x05, 0x3f, 0x58, 0xe2, 0xef, 0x28,
-	0xfe, 0x5e, 0x86, 0x7f, 0x15, 0x64, 0xd8, 0x7f, 0x86, 0xc3, 0x79, 0x5e, 0xb0, 0xbd, 0xbe, 0x7c,
-	0x23, 0xfb, 0x4e, 0x3a, 0xc1, 0xf6, 0xca, 0xea, 0xaf, 0xe6, 0x19, 0x51, 0xfc, 0x95, 0xc5, 0x77,
-	0x15, 0xfb, 0xb3, 0x05, 0x3b, 0xbb, 0x76, 0xeb, 0x3f, 0x45, 0x40, 0xeb, 0x07, 0x22, 0x63, 0x29,
-	0x94, 0xe9, 0x5d, 0xb3, 0x54, 0xc8, 0x5a, 0x32, 0x08, 0x13, 0x2b, 0x96, 0xba, 0x70, 0x94, 0xe5,
-	0x07, 0xd8, 0xba, 0x25, 0x62, 0x49, 0xa1, 0xa2, 0x14, 0xf6, 0x17, 0x0a, 0xc3, 0x18, 0xb3, 0xd0,
-	0x78, 0x0b, 0xcd, 0xf9, 0x6b, 0x59, 0x84, 0x4e, 0x49, 0x4e, 0x6a, 0xaa, 0x4a, 0xe5, 0x30, 0x7d,
-	0xb9, 0x18, 0xb6, 0xe2, 0xe5, 0x2f, 0xd0, 0x5a, 0xd5, 0xc9, 0xf1, 0x53, 0x53, 0x4a, 0x47, 0xcb,
-	0x4a, 0xab, 0x9e, 0x5a, 0x14, 0x4a, 0x49, 0xb6, 0xd0, 0x0b, 0xd8, 0xb9, 0xf1, 0xf9, 0x1d, 0xe6,
-	0xb6, 0x14, 0xf4, 0xb9, 0x90, 0x27, 0x74, 0xe3, 0xb8, 0xac, 0xd7, 0xe7, 0xe1, 0xa1, 0x8c, 0xa2,
-	0xe7, 0x50, 0x9d, 0xff, 0xa6, 0x08, 0xec, 0x24, 0x77, 0x75, 0x25, 0x8d, 0x5d, 0x63, 0x67, 0xfe,
-	0xbb, 0xb8, 0xb1, 0xf8, 0x5d, 0x6c, 0x19, 0x50, 0x9e, 0xff, 0x58, 0xc8, 0xab, 0xdf, 0x0a, 0x22,
-	0x95, 0xf6, 0x82, 0x2e, 0x1f, 0xd1, 0x1e, 0x94, 0x54, 0x27, 0x75, 0xc6, 0xc9, 0x39, 0xdc, 0x92,
-	0xc3, 0x77, 0x63, 0x74, 0x00, 0x65, 0x8f, 0x78, 0x3e, 0x9f, 0xc9, 0xa9, 0x0d, 0x35, 0xb5, 0x1d,
-	0x07, 0xde, 0x8d, 0xbf, 0xfa, 0x5f, 0x11, 0xd0, 0xfa, 0xaf, 0x15, 0x7a, 0x06, 0x07, 0x83, 0xcb,
-	0xee, 0xd5, 0xe8, 0xf2, 0xd4, 0x34, 0xfa, 0xfa, 0xfb, 0x41, 0xaf, 0x6f, 0x8e, 0x2e, 0x8d, 0x61,
-	0xbf, 0x37, 0x78, 0x3b, 0xe8, 0x9f, 0x36, 0x3e, 0x41, 0x1a, 0x7c, 0xba, 0x0a, 0xb8, 0x38, 0x19,
-	0x9c, 0x37, 0x0a, 0x79, 0x54, 0x39, 0x63, 0xca, 0x50, 0xaf, 0xdf, 0x28, 0xa2, 0x23, 0xd8, 0x5f,
-	0x05, 0xfc, 0x70, 0x31, 0x1c, 0x9a, 0x7d, 0x5d, 0xbf, 0xd2, 0x1b, 0x1b, 0xa8, 0x09, 0x87, 0xb9,
-	0xf3, 0x17, 0x7d, 0xc3, 0x38, 0x79, 0xd7, 0x6f, 0x3c, 0x42, 0x2d, 0x38, 0xca, 0x45, 0x18, 0xa3,
-	0xae, 0xd1, 0xd3, 0x07, 0xdd, 0x7e, 0x63, 0x13, 0x3d, 0x87, 0xa7, 0xb9, 0x98, 0xa1, 0xde, 0x37,
-	0xfa, 0xd2, 0xc8, 0x16, 0xfa, 0x02, 0x9a, 0xab, 0x90, 0xde, 0xd9, 0xc9, 0xe5, 0x65, 0xff, 0x7c,
-	0x81, 0x2a, 0xa1, 0x7d, 0xf8, 0x6c, 0x15, 0xf5, 0xe1, 0x44, 0xbf, 0x18, 0x0d, 0x1b, 0xe5, 0xaf,
-	0x06, 0x50, 0x5b, 0xfa, 0xef, 0x91, 0xef, 0xa6, 0x40, 0x97, 0xef, 0x4c, 0xe3, 0xfa, 0xe4, 0x7a,
-	0x64, 0xac, 0xa4, 0xad, 0x02, 0xa5, 0x64, 0xbe, 0x51, 0x50, 0x83, 0xeb, 0xab, 0xe1, 0xb0, 0x7f,
-	0xda, 0x28, 0x76, 0x7f, 0x0b, 0x7b, 0x96, 0xef, 0xe5, 0xdd, 0x4f, 0xdd, 0x6a, 0xf2, 0x19, 0x3e,
-	0x94, 0xfd, 0x79, 0x58, 0x18, 0x6f, 0xa9, 0x46, 0xfd, 0xfb, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff,
-	0xfa, 0x40, 0xf2, 0x62, 0xfe, 0x11, 0x00, 0x00,
+	// 1776 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x57, 0x5b, 0x73, 0xdb, 0xc6,
+	0x15, 0x0e, 0x29, 0x4b, 0x14, 0x97, 0x17, 0x51, 0xeb, 0x34, 0x82, 0x29, 0x59, 0x56, 0x98, 0x64,
+	0xec, 0x66, 0x1a, 0x72, 0xe2, 0xce, 0xf4, 0xe2, 0x74, 0xea, 0x88, 0x14, 0x2d, 0xb1, 0xd5, 0x85,
+	0x03, 0x90, 0x76, 0xde, 0x30, 0x4b, 0x60, 0x05, 0x6e, 0x05, 0x02, 0x08, 0x2e, 0x94, 0xd9, 0xff,
+	0xd0, 0xc7, 0x76, 0xfa, 0x23, 0xfa, 0xd8, 0xb7, 0xfe, 0xb9, 0x9e, 0x5d, 0x2c, 0x48, 0x10, 0x44,
+	0xac, 0xc4, 0x6f, 0xd8, 0x73, 0xbe, 0xf3, 0xed, 0xb7, 0x67, 0xcf, 0x9e, 0x5d, 0xa0, 0xef, 0x2d,
+	0xd7, 0xb5, 0x6c, 0xda, 0xb6, 0x5c, 0x9b, 0x38, 0x56, 0xdb, 0xf5, 0xad, 0x8e, 0x45, 0x1d, 0xcf,
+	0x77, 0x43, 0xb7, 0x13, 0xbb, 0x88, 0xc7, 0x82, 0x0e, 0xf1, 0x3c, 0xea, 0x58, 0xcc, 0xa1, 0x9d,
+	0xf9, 0xb7, 0x9d, 0x39, 0xf5, 0x03, 0xe6, 0x3a, 0x6d, 0x81, 0xc2, 0x8f, 0x25, 0xc3, 0x12, 0xd2,
+	0x9e, 0x7f, 0xdb, 0x1c, 0xfc, 0x5c, 0x5a, 0xd6, 0x09, 0xa8, 0x3f, 0x67, 0x06, 0x35, 0x5c, 0xe7,
+	0x96, 0x59, 0x1d, 0xe2, 0x38, 0x6e, 0x48, 0x42, 0xa0, 0x0f, 0x62, 0xfe, 0xe6, 0xe9, 0x47, 0x28,
+	0x84, 0x81, 0xbe, 0x20, 0x33, 0x5b, 0x52, 0xbc, 0xfe, 0x08, 0x0a, 0x93, 0x7a, 0xb6, 0xbb, 0x90,
+	0x04, 0x7f, 0xb4, 0x58, 0x38, 0x8d, 0x26, 0x6d, 0xc3, 0x9d, 0x75, 0x62, 0x92, 0x8e, 0x70, 0x4c,
+	0xa2, 0xdb, 0x8e, 0x17, 0x2e, 0x3c, 0x1a, 0x74, 0xcc, 0xc8, 0x17, 0xb2, 0x97, 0x1f, 0x32, 0xf4,
+	0xbb, 0x87, 0x43, 0x43, 0x36, 0xa3, 0x41, 0x48, 0x66, 0xde, 0xea, 0x2b, 0x0e, 0x6e, 0xfd, 0xb3,
+	0x86, 0x4a, 0x6f, 0xe3, 0x6c, 0x63, 0x8c, 0x1e, 0x39, 0x64, 0x46, 0x95, 0xc2, 0x49, 0xe1, 0x45,
+	0x59, 0x15, 0xdf, 0xb8, 0x8e, 0x8a, 0xcc, 0x54, 0x8a, 0xc2, 0x02, 0x5f, 0x78, 0x84, 0xf6, 0x49,
+	0x14, 0xba, 0x33, 0x10, 0x60, 0xe8, 0x81, 0x41, 0x6c, 0xe6, 0x58, 0xca, 0x16, 0xb8, 0x2b, 0x2f,
+	0xbf, 0x6a, 0xe7, 0xec, 0x53, 0xfb, 0x34, 0x41, 0x6b, 0x31, 0xf8, 0xe2, 0x13, 0xb5, 0x41, 0x32,
+	0x36, 0x7c, 0x81, 0x6a, 0x13, 0x12, 0xa4, 0x18, 0x1f, 0x09, 0xc6, 0xcf, 0x73, 0x19, 0xbb, 0x1c,
+	0xb9, 0x62, 0xab, 0x4e, 0x52, 0x63, 0xfc, 0x57, 0x54, 0x9f, 0x11, 0x27, 0x22, 0xf6, 0x92, 0x6a,
+	0x5b, 0x50, 0xb5, 0x72, 0xa9, 0xae, 0x04, 0x74, 0xc5, 0x55, 0x9b, 0xa5, 0x0d, 0x58, 0x45, 0x0d,
+	0xe6, 0x4c, 0xdc, 0xc8, 0x31, 0x75, 0x59, 0x43, 0x81, 0xb2, 0x73, 0xb2, 0xf5, 0xa2, 0xfe, 0xf2,
+	0x79, 0x2e, 0xdd, 0x20, 0x06, 0x6b, 0x31, 0x76, 0x04, 0xa9, 0x57, 0xf7, 0xd8, 0x9a, 0x2d, 0xc0,
+	0x5f, 0xa1, 0x3a, 0x73, 0x60, 0x07, 0x1c, 0x83, 0xea, 0x86, 0x4d, 0x82, 0x40, 0x29, 0x89, 0xe4,
+	0xd6, 0x12, 0x6b, 0x8f, 0x1b, 0xf1, 0xef, 0x50, 0xc9, 0xa1, 0xe1, 0xbd, 0xeb, 0xdf, 0x29, 0xbb,
+	0x62, 0x01, 0x47, 0xb9, 0x33, 0x5e, 0xc7, 0x18, 0x35, 0x01, 0xe3, 0x3f, 0xa1, 0xb2, 0x4f, 0x03,
+	0x37, 0xf2, 0xb9, 0xd6, 0xb2, 0x88, 0x3c, 0xce, 0x8d, 0x54, 0x13, 0x94, 0xba, 0x0a, 0xc0, 0x0a,
+	0x2a, 0xf9, 0x91, 0xc3, 0x6b, 0x44, 0x41, 0x42, 0x55, 0x32, 0xc4, 0xc7, 0x08, 0x85, 0x53, 0x9f,
+	0x12, 0x33, 0x20, 0xb7, 0x54, 0xa9, 0x80, 0x73, 0x57, 0x4d, 0x59, 0x78, 0x9d, 0xcc, 0x67, 0x4a,
+	0x55, 0xd8, 0xe1, 0x0b, 0x6b, 0xb0, 0xa3, 0x34, 0x24, 0x90, 0xb7, 0x30, 0x84, 0x54, 0x06, 0x4a,
+	0x0d, 0xf2, 0x56, 0x79, 0xd9, 0xce, 0xd5, 0x22, 0x0b, 0xb0, 0xdd, 0x85, 0x08, 0x4d, 0x06, 0xf4,
+	0x9d, 0xd0, 0x5f, 0xc0, 0xe6, 0xa6, 0x4c, 0xb8, 0x81, 0xb6, 0xa8, 0x33, 0x57, 0xea, 0x42, 0x1a,
+	0xff, 0xc4, 0x03, 0x54, 0x17, 0x3b, 0xe3, 0x58, 0x3a, 0x64, 0x2f, 0x8c, 0x02, 0x65, 0x0f, 0x9c,
+	0xf5, 0x9f, 0xd8, 0x6e, 0x2d, 0x86, 0x6a, 0x02, 0xa9, 0xd6, 0x82, 0xf4, 0x10, 0x3f, 0x45, 0xc8,
+	0x80, 0xe5, 0x84, 0xd4, 0xd4, 0x27, 0x0b, 0xa5, 0x21, 0xe6, 0x28, 0x4b, 0x4b, 0x77, 0x81, 0xbf,
+	0x43, 0x95, 0x78, 0xa0, 0x8b, 0xf4, 0xec, 0x8b, 0xd4, 0x36, 0x93, 0x69, 0x92, 0x03, 0xd7, 0x1e,
+	0x25, 0xe7, 0x4b, 0x95, 0x6c, 0xdc, 0x80, 0x5f, 0xa0, 0x86, 0xc9, 0x82, 0x3b, 0x3d, 0x0a, 0x88,
+	0x45, 0x81, 0x3e, 0x84, 0xcd, 0xc1, 0xc0, 0xb0, 0xa5, 0xd6, 0xb9, 0x7d, 0xcc, 0xcd, 0x5d, 0x6e,
+	0xc5, 0xbf, 0x47, 0xbb, 0x53, 0xe2, 0x98, 0x36, 0x64, 0x44, 0x31, 0x45, 0xca, 0x0e, 0x73, 0x97,
+	0x32, 0xf6, 0xed, 0x2b, 0xe2, 0xa9, 0x4b, 0x30, 0x1c, 0xa1, 0x3a, 0xf5, 0x7d, 0xd7, 0xd7, 0x97,
+	0xe1, 0x54, 0x84, 0xe7, 0x9f, 0xa1, 0x3e, 0x87, 0x5e, 0xc4, 0x48, 0xb5, 0x46, 0x53, 0xa3, 0x00,
+	0xbf, 0x42, 0x65, 0x9b, 0x4d, 0x7c, 0xe2, 0x33, 0x50, 0x79, 0x2b, 0x48, 0xf2, 0x8b, 0xef, 0x52,
+	0xa0, 0x16, 0xea, 0x0a, 0x8e, 0xcf, 0x10, 0x82, 0x46, 0xa7, 0xc7, 0xad, 0x56, 0xb1, 0x3e, 0xd4,
+	0x17, 0x3c, 0xd6, 0x13, 0xa8, 0x44, 0x45, 0x99, 0x24, 0x16, 0x5e, 0x3c, 0xb0, 0xb9, 0xfa, 0x1c,
+	0x38, 0xc9, 0xc4, 0x06, 0x15, 0xd3, 0x9f, 0x51, 0x3c, 0x7d, 0x67, 0xfe, 0x36, 0x09, 0x90, 0xc5,
+	0x43, 0x53, 0x26, 0x48, 0x10, 0x36, 0xe9, 0x2d, 0x89, 0xec, 0x50, 0xa7, 0xef, 0x3d, 0x16, 0xb7,
+	0x50, 0x85, 0x09, 0x89, 0x4f, 0x36, 0xf6, 0xf1, 0x4c, 0xf6, 0x58, 0x75, 0x5f, 0x06, 0xf5, 0x97,
+	0x31, 0xb8, 0x87, 0xaa, 0x53, 0x4a, 0xec, 0x70, 0xaa, 0x1b, 0x53, 0x6a, 0xdc, 0x29, 0x7f, 0x13,
+	0x1c, 0x27, 0xb9, 0xea, 0x2e, 0x04, 0xb0, 0xc7, 0x71, 0x6a, 0x65, 0xba, 0x1a, 0xe0, 0x36, 0x7a,
+	0xec, 0xc0, 0x4c, 0xcc, 0x36, 0xf5, 0x5b, 0x06, 0xfa, 0x74, 0x9f, 0x5a, 0xf4, 0xbd, 0x72, 0x27,
+	0xea, 0x6e, 0x5f, 0xba, 0xde, 0x70, 0x8f, 0xca, 0x1d, 0xf8, 0x35, 0x42, 0xf1, 0x85, 0x31, 0xa3,
+	0x4e, 0xa8, 0xd8, 0x62, 0xca, 0x67, 0xb9, 0x53, 0x9e, 0x2d, 0x61, 0x6a, 0x2a, 0x04, 0x3f, 0x43,
+	0x15, 0x79, 0xad, 0xea, 0x91, 0x6f, 0x2b, 0x33, 0x31, 0x11, 0x92, 0x26, 0x28, 0xa7, 0xe6, 0x6b,
+	0xb4, 0xbf, 0x71, 0x00, 0xf9, 0x91, 0xbb, 0xa3, 0x0b, 0x79, 0x25, 0xf0, 0x4f, 0xfc, 0x29, 0xda,
+	0x9e, 0x13, 0x3b, 0xa2, 0xf2, 0x52, 0x88, 0x07, 0xaf, 0x8a, 0x7f, 0x28, 0x70, 0x82, 0x8d, 0x4d,
+	0xf8, 0x25, 0x04, 0xdd, 0x32, 0x2a, 0xc9, 0xae, 0xdd, 0xfa, 0xef, 0x0e, 0x6a, 0x64, 0xaf, 0x0e,
+	0x48, 0x7c, 0xc3, 0x70, 0x5d, 0x5b, 0x37, 0xdd, 0x7b, 0x47, 0xf7, 0xa8, 0xcf, 0x5c, 0x53, 0x10,
+	0x7f, 0x70, 0x03, 0xeb, 0x3c, 0xe4, 0x0c, 0x22, 0x86, 0x22, 0x00, 0x5f, 0xa2, 0x3d, 0xc3, 0x8b,
+	0xf4, 0x28, 0x64, 0x36, 0xfb, 0x7b, 0x5c, 0x04, 0x45, 0xc1, 0xf1, 0x45, 0x6e, 0x36, 0x7b, 0x5e,
+	0x34, 0x5e, 0x41, 0x81, 0x6d, 0x6d, 0x0c, 0x7d, 0xfa, 0x60, 0x46, 0xde, 0xf3, 0x82, 0x37, 0x22,
+	0xdf, 0x87, 0x3c, 0xc3, 0x3e, 0xfe, 0x18, 0x41, 0x0b, 0x08, 0xc4, 0xad, 0xb8, 0xad, 0xfe, 0x0a,
+	0xdc, 0xbd, 0xa5, 0x57, 0x95, 0x4e, 0xfc, 0x1b, 0x84, 0x79, 0x1c, 0x83, 0xd2, 0xd7, 0x93, 0xce,
+	0x1f, 0x88, 0x6b, 0x6f, 0x5b, 0x6d, 0x80, 0x67, 0x00, 0x8e, 0x41, 0x62, 0xe7, 0xc5, 0xc2, 0xd1,
+	0x21, 0x3c, 0x5c, 0xec, 0x14, 0x7c, 0x5b, 0xc0, 0xf7, 0xc1, 0x35, 0xe2, 0x9e, 0x15, 0x7e, 0x10,
+	0xe3, 0x61, 0x19, 0x26, 0x6f, 0x8d, 0x36, 0xf4, 0x21, 0xc7, 0x58, 0xc0, 0xdd, 0xf5, 0x50, 0xb1,
+	0x43, 0xd4, 0x30, 0x0e, 0xba, 0x8c, 0x63, 0x84, 0x50, 0xe6, 0x64, 0x85, 0x96, 0xa4, 0x50, 0xe6,
+	0x6c, 0x0a, 0x05, 0x74, 0x56, 0xe8, 0xae, 0x14, 0xca, 0x9c, 0x1c, 0xa1, 0xcc, 0xd9, 0x10, 0x5a,
+	0x7e, 0x58, 0x28, 0x73, 0x32, 0x42, 0x7f, 0x40, 0x8f, 0x65, 0xea, 0xd7, 0xf6, 0x16, 0x09, 0xaa,
+	0xe7, 0x3f, 0x71, 0x07, 0x0a, 0x7c, 0x7a, 0x7f, 0xb1, 0xbf, 0x61, 0xc3, 0x37, 0x49, 0xf7, 0x4e,
+	0xd1, 0x56, 0x04, 0xed, 0x97, 0xf9, 0x07, 0x90, 0xb7, 0xf4, 0x14, 0xe7, 0x9e, 0xb9, 0x6e, 0xe0,
+	0x52, 0xe5, 0x7d, 0xbd, 0xc6, 0x59, 0xfd, 0x80, 0x54, 0x79, 0xd1, 0xaf, 0x49, 0x75, 0x36, 0x6c,
+	0xad, 0x1f, 0x51, 0x35, 0xfd, 0x3c, 0x82, 0xe7, 0x40, 0x55, 0xec, 0x1c, 0xbf, 0xb3, 0xdc, 0x28,
+	0x7c, 0xf8, 0xb4, 0x54, 0x38, 0x7c, 0x14, 0xa3, 0xf1, 0x17, 0xa8, 0x26, 0x8a, 0x74, 0xb9, 0x8f,
+	0x45, 0xb1, 0x8f, 0x55, 0x5e, 0x9f, 0x89, 0xad, 0xf5, 0x0d, 0xaa, 0xad, 0x3d, 0xa3, 0xf0, 0x11,
+	0x2a, 0xaf, 0x22, 0x0a, 0x22, 0x62, 0x65, 0x68, 0xfd, 0xab, 0x80, 0xea, 0xeb, 0x67, 0x0a, 0x8f,
+	0xd1, 0x13, 0x62, 0x59, 0xd0, 0xff, 0xc4, 0x50, 0xbf, 0x67, 0x0e, 0x1c, 0x70, 0xdd, 0x86, 0xc5,
+	0x87, 0xd3, 0x87, 0x15, 0x1f, 0xa4, 0x62, 0xdf, 0x89, 0xd0, 0x4b, 0x11, 0x89, 0xbf, 0x41, 0x38,
+	0x24, 0xbe, 0x45, 0xc3, 0x8d, 0xb3, 0x5e, 0x50, 0xf7, 0x63, 0x4f, 0x3a, 0x75, 0xff, 0x2e, 0x20,
+	0xbc, 0x59, 0x10, 0x70, 0xa3, 0x3d, 0x93, 0x2c, 0x49, 0x75, 0x19, 0xf0, 0x9e, 0x0b, 0x79, 0xfb,
+	0x81, 0xc7, 0x0d, 0x9c, 0x7b, 0x53, 0xae, 0xf1, 0x30, 0x86, 0x49, 0x8a, 0x1e, 0x07, 0x41, 0xc7,
+	0xd1, 0x04, 0x04, 0xf6, 0xa1, 0x29, 0x59, 0xf2, 0x3a, 0x45, 0x9c, 0x56, 0x25, 0x46, 0x6c, 0x36,
+	0x8b, 0xd6, 0x3f, 0x8a, 0x68, 0x2f, 0x53, 0x54, 0xf8, 0x7b, 0xf4, 0x54, 0x32, 0xde, 0xfb, 0x2c,
+	0x94, 0x8f, 0x8a, 0xb4, 0xaa, 0xba, 0x20, 0x7d, 0x12, 0x83, 0xde, 0x71, 0x8c, 0x78, 0x61, 0xa4,
+	0x35, 0x1d, 0xae, 0x31, 0xb8, 0xde, 0x5a, 0xfc, 0x9e, 0x88, 0x3f, 0x48, 0xc5, 0xdf, 0x78, 0xa9,
+	0xe8, 0x3f, 0xa3, 0xa3, 0x65, 0x5e, 0x88, 0xb9, 0x39, 0x7d, 0x23, 0xbd, 0x26, 0x15, 0x20, 0x99,
+	0xd9, 0x5f, 0x2d, 0x33, 0x22, 0xe2, 0x33, 0x93, 0xef, 0x8b, 0xe8, 0xcf, 0x56, 0xd1, 0xe9, 0xb9,
+	0x5b, 0xff, 0x29, 0x22, 0xbc, 0x79, 0x20, 0x52, 0x92, 0x02, 0x9e, 0xde, 0x0d, 0x49, 0x85, 0xb4,
+	0x24, 0x0d, 0x20, 0x19, 0x49, 0x5d, 0x74, 0x9c, 0x8e, 0xf7, 0x88, 0x71, 0x47, 0xc3, 0x35, 0x86,
+	0x8a, 0x60, 0x68, 0xae, 0x18, 0x86, 0x31, 0x66, 0xc5, 0xf1, 0x06, 0x9d, 0x2c, 0x97, 0x65, 0x50,
+	0x36, 0xa7, 0x39, 0xa9, 0xa9, 0x0a, 0x96, 0xa3, 0x64, 0x71, 0x31, 0x2c, 0xa3, 0xe5, 0x2f, 0xa8,
+	0x95, 0xe5, 0xc9, 0xd1, 0x53, 0x13, 0x4c, 0xc7, 0xeb, 0x4c, 0x59, 0x4d, 0x2d, 0x86, 0x4a, 0x32,
+	0x5b, 0xf8, 0x39, 0xda, 0xbb, 0x75, 0xfd, 0x7b, 0xe2, 0x9b, 0x9c, 0xd0, 0xf5, 0x43, 0x7e, 0x42,
+	0xb7, 0xe0, 0x16, 0xae, 0x2f, 0xcd, 0x43, 0x6e, 0xc5, 0x9f, 0x43, 0xe3, 0x48, 0x7e, 0x53, 0x42,
+	0x62, 0xc9, 0xbb, 0xba, 0x92, 0xd8, 0x46, 0xc4, 0x5a, 0xfe, 0x2e, 0x6e, 0xad, 0x7e, 0x17, 0x5b,
+	0x1a, 0x2a, 0x2f, 0x7f, 0x2c, 0xf8, 0xd5, 0x0f, 0xb7, 0xa5, 0x48, 0x7b, 0x41, 0xe5, 0x9f, 0xf8,
+	0x00, 0x95, 0x44, 0x27, 0xb5, 0x26, 0xf2, 0x1c, 0xee, 0xf0, 0xe1, 0xf9, 0x04, 0x1f, 0xa2, 0xf2,
+	0x8c, 0xce, 0x5c, 0x7f, 0xc1, 0x5d, 0x5b, 0xc2, 0xb5, 0x1b, 0x1b, 0xce, 0x27, 0x5f, 0xff, 0x0f,
+	0xb6, 0x7b, 0xf3, 0xd7, 0x0a, 0x1e, 0x34, 0x87, 0x83, 0xeb, 0xee, 0xcd, 0xf8, 0xfa, 0x4c, 0xd7,
+	0xfa, 0xea, 0xdb, 0x41, 0xaf, 0xaf, 0x8f, 0xaf, 0xb5, 0x61, 0xbf, 0x37, 0x78, 0x33, 0xe8, 0x9f,
+	0x35, 0x3e, 0x81, 0xbf, 0x99, 0x4f, 0xb3, 0x80, 0xab, 0xd3, 0xc1, 0x65, 0xa3, 0x90, 0x17, 0xca,
+	0x3d, 0x3a, 0x37, 0xf5, 0xfa, 0x8d, 0x22, 0xfc, 0xee, 0x34, 0xb3, 0x80, 0x1f, 0xae, 0x86, 0x43,
+	0xbd, 0xaf, 0xaa, 0x37, 0x6a, 0x63, 0x0b, 0x9f, 0xa0, 0xa3, 0x5c, 0xff, 0x55, 0x5f, 0xd3, 0x4e,
+	0xcf, 0xfb, 0x8d, 0x47, 0xb8, 0x85, 0x8e, 0x73, 0x11, 0xda, 0xb8, 0xab, 0xf5, 0xd4, 0x41, 0xb7,
+	0xdf, 0xd8, 0x86, 0x24, 0x3f, 0xcd, 0xc5, 0x0c, 0xd5, 0xbe, 0xd6, 0xe7, 0x42, 0x76, 0xf0, 0x97,
+	0xe8, 0x24, 0x0b, 0xe9, 0x5d, 0x9c, 0x5e, 0x5f, 0xf7, 0x2f, 0x57, 0xa8, 0x12, 0x6e, 0xa2, 0xcf,
+	0xb2, 0xa8, 0x77, 0xa7, 0xea, 0xd5, 0x78, 0xd8, 0x28, 0x7f, 0x3d, 0x40, 0xb5, 0xb5, 0xff, 0x1e,
+	0xbe, 0x36, 0x01, 0xba, 0x3e, 0xd7, 0xb5, 0xd1, 0xe9, 0x68, 0xac, 0x65, 0xd2, 0x56, 0x41, 0x25,
+	0xe9, 0x87, 0x4c, 0xf1, 0xc1, 0xe8, 0x66, 0x38, 0x04, 0x4f, 0xb1, 0xfb, 0x6b, 0x74, 0x60, 0xb8,
+	0xb3, 0xbc, 0xfb, 0xa9, 0x5b, 0x95, 0xcf, 0xf0, 0x21, 0xef, 0xcf, 0xc3, 0xc2, 0x64, 0x47, 0x34,
+	0xea, 0xdf, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x40, 0xf2, 0x62, 0xfe, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
index 0390dfda..5d0fa9d7 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
@@ -7,8 +7,8 @@ Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
 
 It is generated from these files:
 	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+	google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 
 It has these top-level messages:
 	Table
@@ -383,42 +383,42 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 584 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x93, 0xe1, 0x6a, 0x13, 0x4f,
-	0x14, 0xc5, 0xb3, 0xdd, 0x24, 0xa5, 0xb7, 0xf9, 0xf7, 0x1f, 0x47, 0x91, 0x18, 0x50, 0x42, 0x04,
-	0x09, 0x22, 0xb3, 0xb4, 0xf5, 0x83, 0x2d, 0xa2, 0x18, 0x5b, 0xdb, 0x4a, 0xd5, 0xb2, 0x56, 0x45,
-	0x10, 0x96, 0xc9, 0x76, 0x3a, 0x2e, 0xee, 0xcc, 0x2c, 0xb3, 0x33, 0x21, 0x79, 0x03, 0x1f, 0xc5,
-	0xa7, 0xf0, 0xd9, 0x64, 0x67, 0x76, 0xe3, 0x16, 0x8a, 0x89, 0xf8, 0x25, 0xb9, 0xdc, 0x99, 0xf3,
-	0xbb, 0x87, 0x73, 0x67, 0xe1, 0x13, 0x93, 0x92, 0xa5, 0x14, 0x33, 0x99, 0x12, 0xc1, 0xb0, 0x54,
-	0x2c, 0x60, 0x54, 0x64, 0x4a, 0x6a, 0x19, 0xb8, 0x23, 0x92, 0x25, 0x79, 0x30, 0x49, 0x98, 0x26,
-	0x93, 0x94, 0x06, 0xe4, 0x82, 0x27, 0x22, 0x70, 0xf5, 0x74, 0x7b, 0xd1, 0x8f, 0xdc, 0xef, 0x05,
-	0xd1, 0x04, 0x5b, 0x31, 0xba, 0x57, 0x82, 0xab, 0x1b, 0xd8, 0x2a, 0xb1, 0xab, 0xa7, 0xdb, 0xfd,
-	0xf1, 0x6a, 0x83, 0x53, 0x29, 0x98, 0x32, 0x42, 0x24, 0x82, 0x05, 0x32, 0xa3, 0x8a, 0xe8, 0x44,
-	0x8a, 0xdc, 0xcd, 0xe8, 0xef, 0xb1, 0x44, 0x7f, 0x35, 0x13, 0x1c, 0x4b, 0x1e, 0x38, 0x4e, 0x60,
-	0x0f, 0x26, 0xe6, 0x32, 0xc8, 0xf4, 0x3c, 0xa3, 0x79, 0x70, 0x61, 0x9c, 0x64, 0x51, 0x38, 0xe9,
-	0xf0, 0xa7, 0x0f, 0xad, 0xf3, 0xc2, 0x0b, 0x42, 0xd0, 0x14, 0x84, 0xd3, 0x9e, 0x37, 0xf0, 0x46,
-	0x1b, 0xa1, 0xad, 0xd1, 0x6b, 0xb8, 0x11, 0x1b, 0xa5, 0xa8, 0xd0, 0xd1, 0x62, 0x68, 0x6f, 0x6d,
-	0xe0, 0x8d, 0x36, 0x77, 0xee, 0xe2, 0xd2, 0x78, 0xcd, 0x19, 0x7e, 0x57, 0x5d, 0x0a, 0xbb, 0xa5,
-	0x6e, 0xd1, 0x41, 0x13, 0xf8, 0x3f, 0x96, 0xa9, 0xe1, 0x22, 0xba, 0x24, 0x3c, 0x49, 0x13, 0x9a,
-	0xf7, 0xfc, 0x81, 0x3f, 0xda, 0xdc, 0xd9, 0xc3, 0x7f, 0x8e, 0x08, 0x5b, 0x7f, 0xf8, 0xa5, 0x15,
-	0xbf, 0x2a, 0xb5, 0x87, 0x42, 0xab, 0x79, 0xb8, 0x15, 0x5f, 0x69, 0xa2, 0x2f, 0xb0, 0xc9, 0x14,
-	0x11, 0x26, 0x25, 0x2a, 0xd1, 0xf3, 0x5e, 0x73, 0xe0, 0x8d, 0xb6, 0x76, 0xf6, 0x57, 0xe3, 0x9f,
-	0x27, 0x9c, 0xe6, 0x9a, 0xf0, 0xec, 0xe8, 0x37, 0x21, 0xac, 0xe3, 0xfa, 0x12, 0x6e, 0x5e, 0x63,
-	0x02, 0x75, 0xc1, 0xff, 0x46, 0xe7, 0x65, 0x6e, 0x45, 0x89, 0xc6, 0xd0, 0x9a, 0x92, 0xd4, 0xd0,
-	0x32, 0xaa, 0x47, 0xcb, 0x0c, 0xd4, 0xa8, 0xf3, 0xd0, 0x49, 0xf7, 0xd7, 0x9e, 0x78, 0xc3, 0x21,
-	0xdc, 0xba, 0xce, 0x15, 0x02, 0x68, 0xbf, 0x39, 0x39, 0x3d, 0x3d, 0x79, 0xdf, 0x6d, 0x0c, 0xbf,
-	0x7b, 0xd0, 0xa9, 0xeb, 0xaf, 0xdd, 0xe3, 0x7d, 0xf8, 0x8f, 0xc5, 0x11, 0x9d, 0x65, 0x8a, 0xe6,
-	0x79, 0xb5, 0xc3, 0x8d, 0xb0, 0xc3, 0xe2, 0xc3, 0x45, 0x0f, 0x3d, 0x87, 0x75, 0x16, 0x47, 0xca,
-	0xa4, 0xb4, 0xe7, 0x5b, 0xdf, 0x0f, 0x96, 0xf9, 0x3e, 0x8a, 0x43, 0x93, 0xd2, 0xb0, 0xcd, 0xec,
-	0xff, 0xf0, 0x87, 0x0f, 0x6d, 0xd7, 0x42, 0x0f, 0xa1, 0xcb, 0xc9, 0x2c, 0x12, 0x86, 0x47, 0x53,
-	0xaa, 0x0a, 0x7c, 0x6e, 0x0d, 0xb5, 0x8e, 0x1b, 0xe1, 0x16, 0x27, 0xb3, 0xb7, 0x86, 0x7f, 0x2c,
-	0xfb, 0xe8, 0x31, 0xac, 0x17, 0x77, 0x09, 0xab, 0xf2, 0xba, 0x53, 0xcd, 0xad, 0x1e, 0x31, 0x3e,
-	0x28, 0x1f, 0xed, 0x71, 0x23, 0x6c, 0x73, 0x32, 0x7b, 0xc1, 0x28, 0xfa, 0x0c, 0x9d, 0x44, 0x68,
-	0xaa, 0x72, 0x1a, 0xdb, 0x57, 0xe9, 0x2c, 0xef, 0xae, 0x66, 0x19, 0x9f, 0xd4, 0xa4, 0xc7, 0x8d,
-	0xf0, 0x0a, 0x0a, 0x1d, 0x40, 0xcb, 0x88, 0x82, 0xd9, 0x5c, 0x6d, 0x7d, 0x25, 0xf3, 0x83, 0x70,
-	0x30, 0x27, 0xee, 0x9f, 0x42, 0xa7, 0x3e, 0x05, 0x3d, 0x85, 0x56, 0x91, 0x6d, 0x91, 0x83, 0xff,
-	0x17, 0xe1, 0x3a, 0x51, 0xff, 0x10, 0x5a, 0x96, 0xff, 0x6f, 0x98, 0x71, 0x1b, 0x9a, 0x45, 0x31,
-	0x7e, 0x06, 0xc3, 0x58, 0xf2, 0x25, 0xda, 0xf1, 0xed, 0x71, 0x79, 0x60, 0xbf, 0x90, 0x03, 0xa2,
-	0xc9, 0x59, 0xb1, 0x91, 0x33, 0x6f, 0xd2, 0xb6, 0xab, 0xd9, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff,
-	0x05, 0x58, 0xfe, 0xa5, 0x37, 0x05, 0x00, 0x00,
+	// 580 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x94, 0xf1, 0x6a, 0xd4, 0x4e,
+	0x10, 0xc7, 0x7b, 0xbd, 0x4b, 0x4a, 0xa7, 0xf7, 0xeb, 0xef, 0x5c, 0x45, 0xce, 0x03, 0xa5, 0x44,
+	0x10, 0x11, 0xd9, 0xd0, 0xd6, 0x3f, 0x6c, 0x11, 0xc5, 0xd8, 0x5a, 0x2b, 0x55, 0x4b, 0xac, 0x8a,
+	0x20, 0x84, 0x4d, 0xba, 0x5d, 0x83, 0xc9, 0x6e, 0xd8, 0x64, 0x8f, 0xde, 0x1b, 0xf8, 0x28, 0x3e,
+	0x85, 0xcf, 0xe6, 0x66, 0x37, 0x39, 0x53, 0x28, 0xf6, 0xc4, 0x7f, 0xee, 0x86, 0xd9, 0xf9, 0x7e,
+	0xe6, 0xcb, 0xcc, 0x66, 0xe1, 0x13, 0x13, 0x82, 0x65, 0x14, 0x33, 0x91, 0x11, 0xce, 0xb0, 0x90,
+	0xcc, 0x67, 0x94, 0x17, 0x52, 0x54, 0xc2, 0xb7, 0x47, 0xa4, 0x48, 0x4b, 0x3f, 0x4e, 0x59, 0x45,
+	0xe2, 0x8c, 0xfa, 0xe4, 0x34, 0x4f, 0xb9, 0x6f, 0xe3, 0xe9, 0xe6, 0x3c, 0x1f, 0xd9, 0xdf, 0x53,
+	0x52, 0x11, 0x6c, 0xc4, 0xe8, 0x4e, 0x03, 0x6e, 0x2b, 0xb0, 0x51, 0x62, 0x1b, 0x4f, 0x37, 0x27,
+	0xc1, 0x62, 0x8d, 0x33, 0xc1, 0x99, 0x54, 0x9c, 0xa7, 0x9c, 0xf9, 0xa2, 0xa0, 0x92, 0x54, 0xa9,
+	0xe0, 0xa5, 0xed, 0x31, 0xd9, 0x61, 0x69, 0xf5, 0x55, 0xc5, 0x38, 0x11, 0xb9, 0x6f, 0x39, 0xbe,
+	0x39, 0x88, 0xd5, 0x99, 0x5f, 0x54, 0xb3, 0x82, 0x96, 0xfe, 0xa9, 0xb2, 0x92, 0x79, 0x60, 0xa5,
+	0xde, 0xcf, 0x3e, 0x38, 0x27, 0xb5, 0x17, 0x84, 0x60, 0xc0, 0x49, 0x4e, 0xc7, 0xbd, 0x8d, 0xde,
+	0xfd, 0xd5, 0xd0, 0xc4, 0xe8, 0x35, 0x5c, 0x4b, 0x94, 0x94, 0x94, 0x57, 0xd1, 0xbc, 0xe9, 0x78,
+	0x59, 0x17, 0xac, 0x6d, 0xdd, 0xc6, 0x8d, 0xf1, 0x8e, 0x33, 0xfc, 0xae, 0x2d, 0x0a, 0x47, 0x8d,
+	0x6e, 0x9e, 0x41, 0x31, 0xfc, 0x9f, 0x88, 0x4c, 0xe5, 0x3c, 0x3a, 0x23, 0x79, 0x9a, 0xa5, 0xb4,
+	0x1c, 0xf7, 0x37, 0xfa, 0x9a, 0xb4, 0x83, 0xff, 0x3c, 0x22, 0x6c, 0xfc, 0xe1, 0x17, 0x46, 0xfc,
+	0xb2, 0xd1, 0xee, 0xf3, 0x4a, 0xce, 0xc2, 0xf5, 0xe4, 0x42, 0x12, 0x7d, 0x81, 0x35, 0x26, 0x09,
+	0x57, 0x19, 0x91, 0x69, 0x35, 0x1b, 0x0f, 0xb4, 0xd3, 0xf5, 0xad, 0xdd, 0xc5, 0xf8, 0x27, 0x69,
+	0x4e, 0xcb, 0x8a, 0xe4, 0xc5, 0xc1, 0x6f, 0x42, 0xd8, 0xc5, 0x4d, 0x04, 0x5c, 0xbf, 0xc4, 0x04,
+	0x1a, 0x41, 0xff, 0x1b, 0x9d, 0x35, 0x73, 0xab, 0x43, 0x14, 0x80, 0x33, 0x25, 0x99, 0xa2, 0xcd,
+	0xa8, 0x1e, 0x5e, 0x65, 0xa0, 0x43, 0x9d, 0x85, 0x56, 0xba, 0xbb, 0xfc, 0xb8, 0xe7, 0x79, 0x70,
+	0xe3, 0x32, 0x57, 0x08, 0xc0, 0x7d, 0x73, 0x78, 0x74, 0x74, 0xf8, 0x7e, 0xb4, 0xe4, 0x7d, 0xef,
+	0xc1, 0xb0, 0xab, 0xbf, 0x74, 0x8f, 0x77, 0xe1, 0x3f, 0x96, 0x44, 0xf4, 0xbc, 0x90, 0xb4, 0x2c,
+	0xdb, 0x1d, 0xae, 0x86, 0x43, 0x96, 0xec, 0xcf, 0x73, 0xe8, 0x19, 0xac, 0xe8, 0x22, 0xa9, 0x32,
+	0xaa, 0x17, 0x53, 0xfb, 0xbe, 0x77, 0x95, 0xef, 0x83, 0x24, 0xd4, 0xd5, 0xa1, 0xcb, 0xcc, 0xbf,
+	0xf7, 0xa3, 0x0f, 0xae, 0x4d, 0xa1, 0x07, 0x30, 0xca, 0xc9, 0x79, 0xc4, 0x55, 0x1e, 0x4d, 0xa9,
+	0xac, 0xf1, 0xa5, 0x31, 0xe4, 0xbc, 0x5a, 0x0a, 0xd7, 0xf5, 0xc9, 0x5b, 0x95, 0x7f, 0x6c, 0xf2,
+	0xe8, 0x11, 0xac, 0xd4, 0xb5, 0x84, 0xb5, 0xf3, 0xba, 0xd5, 0xf6, 0x6d, 0x2f, 0x31, 0xde, 0x6b,
+	0x2e, 0xad, 0x56, 0xbb, 0xba, 0xf6, 0x39, 0xa3, 0xe8, 0x33, 0x0c, 0x53, 0x5e, 0x69, 0x06, 0x4d,
+	0xcc, 0xad, 0xb4, 0x96, 0xb7, 0x17, 0xb3, 0x8c, 0x0f, 0x3b, 0x52, 0x0d, 0xbd, 0x80, 0x42, 0x7b,
+	0xe0, 0x28, 0x5e, 0x33, 0x07, 0x8b, 0xad, 0xaf, 0x61, 0x7e, 0xe0, 0x16, 0x66, 0xc5, 0x93, 0x23,
+	0x18, 0x76, 0xbb, 0xa0, 0x27, 0xe0, 0xd4, 0xb3, 0xad, 0xe7, 0xd0, 0xff, 0x8b, 0xe1, 0x5a, 0xd1,
+	0x64, 0x1f, 0x1c, 0xc3, 0xff, 0x37, 0x4c, 0xe0, 0xc2, 0xa0, 0x0e, 0x82, 0xa7, 0xe0, 0xe9, 0xc7,
+	0xe2, 0x0a, 0x6d, 0x70, 0x33, 0x68, 0x0e, 0xcc, 0x17, 0xb2, 0xa7, 0x1f, 0xb5, 0xe3, 0x7a, 0x23,
+	0xc7, 0xbd, 0xd8, 0x35, 0xab, 0xd9, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0x05, 0x58, 0xfe, 0xa5,
+	0x37, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
index d30f069a..16b58ff0 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
@@ -377,49 +377,49 @@ var _BigtableTableService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor2,
+	Metadata: fileDescriptor1,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto", fileDescriptor2)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto", fileDescriptor1)
 }
 
-var fileDescriptor2 = []byte{
-	// 572 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x95, 0xcf, 0x8b, 0xd4, 0x30,
-	0x14, 0xc7, 0x89, 0x07, 0x91, 0x8c, 0x78, 0x08, 0xe2, 0x61, 0x0e, 0x1e, 0x0a, 0x5e, 0x8a, 0x34,
-	0xcc, 0x8c, 0xa2, 0x3b, 0xb0, 0x20, 0x9d, 0xfd, 0x81, 0xae, 0xc2, 0x3a, 0x2a, 0x82, 0x97, 0x25,
-	0xed, 0xbc, 0x8d, 0xd1, 0x36, 0xa9, 0x4d, 0x3a, 0x32, 0xca, 0x5e, 0xfc, 0x17, 0xf4, 0xaa, 0x27,
-	0x8f, 0x9e, 0xf4, 0xae, 0x77, 0xaf, 0xfe, 0x0b, 0xfe, 0x21, 0xd2, 0x64, 0xea, 0xce, 0xae, 0x62,
-	0x1b, 0xd9, 0xbd, 0xa4, 0xa5, 0x7d, 0xdf, 0xef, 0xfb, 0xbc, 0xbc, 0x17, 0x82, 0x9f, 0x70, 0xa5,
-	0x78, 0x06, 0x11, 0x57, 0x19, 0x93, 0x3c, 0x52, 0x25, 0xa7, 0x1c, 0x64, 0x51, 0x2a, 0xa3, 0xa8,
-	0xfb, 0xc5, 0x0a, 0xa1, 0x69, 0x22, 0xb8, 0x61, 0x49, 0x06, 0x94, 0xcd, 0x72, 0x21, 0xa9, 0x7b,
-	0x9f, 0x0f, 0x7e, 0x7f, 0xdf, 0x73, 0xab, 0x86, 0x72, 0x2e, 0x52, 0x88, 0xac, 0x9e, 0x5c, 0x5e,
-	0x7a, 0x37, 0x41, 0x91, 0x15, 0x47, 0xee, 0x7d, 0x3e, 0xe8, 0xdf, 0xee, 0x96, 0x9b, 0x15, 0x82,
-	0x2e, 0x8d, 0x53, 0x25, 0xf7, 0x05, 0xa7, 0x4c, 0x4a, 0x65, 0x98, 0x11, 0x4a, 0x6a, 0x97, 0xaa,
-	0xff, 0xf8, 0x44, 0xcb, 0x98, 0x31, 0xc3, 0x96, 0xc6, 0xe9, 0x69, 0xec, 0xcf, 0x5e, 0x0e, 0x5a,
-	0x33, 0x0e, 0x0d, 0xfd, 0x88, 0x0b, 0xf3, 0xb4, 0x4a, 0xa2, 0x54, 0xe5, 0xd4, 0x25, 0xa2, 0xf6,
-	0x47, 0x52, 0xed, 0xd3, 0xc2, 0x2c, 0x0a, 0xd0, 0x14, 0xf2, 0xc2, 0x2c, 0xdc, 0xea, 0x44, 0xc3,
-	0xaf, 0xe7, 0xf1, 0xc5, 0x78, 0x69, 0xff, 0xb0, 0x5e, 0x1e, 0x38, 0x73, 0xf2, 0x11, 0xe1, 0xde,
-	0xa4, 0x04, 0x66, 0xdc, 0x67, 0x32, 0x8c, 0xfe, 0xdd, 0x87, 0x68, 0x25, 0x78, 0x0a, 0x2f, 0x2a,
-	0xd0, 0xa6, 0x7f, 0xa5, 0x4d, 0x63, 0xa3, 0x83, 0xf1, 0x9b, 0x1f, 0x3f, 0xdf, 0x9e, 0xb9, 0x16,
-	0xd0, 0xba, 0xd6, 0xd7, 0x92, 0xe5, 0xb0, 0x5e, 0x94, 0xea, 0x19, 0xa4, 0x46, 0xd3, 0x90, 0xbe,
-	0x52, 0x12, 0xea, 0x67, 0x9a, 0x55, 0xda, 0x40, 0xa9, 0x69, 0x78, 0xe0, 0x76, 0x46, 0x8f, 0x51,
-	0x48, 0x3e, 0x21, 0x8c, 0xef, 0x0a, 0x6d, 0xac, 0x93, 0x26, 0x83, 0xb6, 0x8c, 0x87, 0xb1, 0x0d,
-	0xe4, 0xd0, 0x47, 0xa2, 0x0b, 0x25, 0x35, 0x04, 0x37, 0x2c, 0xf1, 0x80, 0xf8, 0x12, 0x93, 0xf7,
-	0x08, 0x9f, 0xdb, 0x06, 0x67, 0x47, 0x68, 0x5b, 0xe6, 0x26, 0xd2, 0x73, 0x3f, 0xd7, 0x2c, 0xdd,
-	0x88, 0x0c, 0x3a, 0xd2, 0x2d, 0xe1, 0x68, 0x78, 0x40, 0xde, 0x21, 0xdc, 0xdb, 0x80, 0x0c, 0x3a,
-	0x77, 0x7d, 0x25, 0xb8, 0xa1, 0xbc, 0xd4, 0x68, 0x9a, 0xe9, 0x8b, 0x36, 0xeb, 0x81, 0x6b, 0xb0,
-	0xc2, 0xff, 0xc0, 0xfa, 0x80, 0x70, 0x6f, 0x0a, 0xb5, 0xa4, 0x23, 0xd6, 0x4a, 0x70, 0x1b, 0xd6,
-	0xc4, 0x62, 0xad, 0x07, 0x37, 0xbd, 0xb1, 0xc6, 0xa5, 0xcd, 0x52, 0x8f, 0xe1, 0x77, 0x84, 0x89,
-	0x3b, 0x00, 0x13, 0x95, 0x55, 0xb9, 0xdc, 0x62, 0xb9, 0xc8, 0x16, 0x64, 0xad, 0xdb, 0xa1, 0x59,
-	0xd5, 0x34, 0xb8, 0x57, 0x5b, 0xa5, 0x2b, 0xa2, 0x60, 0xc7, 0x16, 0xb1, 0x19, 0xdc, 0xf2, 0x2e,
-	0x82, 0xa6, 0x87, 0x3e, 0xc2, 0x9d, 0xa9, 0x6f, 0x08, 0x93, 0x47, 0xc5, 0xec, 0x78, 0x31, 0x5e,
-	0x44, 0x9e, 0xfc, 0xf7, 0x2c, 0xff, 0x76, 0x3f, 0xf6, 0xe5, 0x3f, 0x86, 0x5f, 0x77, 0x05, 0x85,
-	0xe4, 0x0b, 0xc2, 0xc4, 0x4d, 0xa6, 0x5f, 0x3b, 0xfe, 0xd4, 0xb4, 0x4d, 0xcf, 0x1d, 0x0b, 0xbe,
-	0x11, 0x9e, 0x00, 0x38, 0xf9, 0x8c, 0xf0, 0x85, 0xb8, 0xca, 0x9e, 0x3b, 0x8a, 0xa9, 0x7a, 0xa9,
-	0xc9, 0xf5, 0x36, 0xe2, 0xa3, 0xf1, 0x6d, 0xb4, 0xf7, 0x2d, 0xed, 0x4e, 0xb0, 0x65, 0x69, 0xdd,
-	0x6d, 0xe2, 0x35, 0xf1, 0xc9, 0x91, 0x74, 0x63, 0x14, 0xc6, 0x31, 0x0e, 0x52, 0x95, 0xb7, 0x60,
-	0xc6, 0xfd, 0xbf, 0xdd, 0x31, 0x7a, 0xb7, 0xa6, 0xdb, 0x45, 0xc9, 0x59, 0x8b, 0x39, 0xfa, 0x15,
-	0x00, 0x00, 0xff, 0xff, 0x2e, 0xa4, 0x4d, 0x5a, 0x47, 0x08, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 570 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x95, 0x4f, 0x8b, 0xd4, 0x3e,
+	0x18, 0xc7, 0xe9, 0xef, 0xf0, 0x43, 0xaa, 0x78, 0x08, 0xe2, 0x61, 0x0e, 0x1e, 0x0a, 0x5e, 0x06,
+	0x69, 0xe8, 0x8c, 0xa2, 0x3b, 0xb0, 0x20, 0x9d, 0xfd, 0x83, 0xae, 0xc2, 0x3a, 0x2a, 0x82, 0x97,
+	0x25, 0xed, 0x3c, 0x1b, 0xa3, 0x6d, 0x52, 0x9b, 0x74, 0x64, 0x15, 0x2f, 0xbe, 0x05, 0xbd, 0xea,
+	0xc9, 0xa3, 0x27, 0xbd, 0xeb, 0xdd, 0xab, 0x6f, 0xc1, 0x17, 0x62, 0x9a, 0xb4, 0x6e, 0x77, 0x15,
+	0xdb, 0xc8, 0x7a, 0x49, 0x43, 0xf3, 0x7c, 0x9f, 0xe7, 0xf3, 0xfc, 0x09, 0xf1, 0x1f, 0x52, 0x21,
+	0x68, 0x06, 0x21, 0x15, 0x19, 0xe1, 0x34, 0x14, 0x25, 0xc5, 0x14, 0x78, 0x51, 0x0a, 0x25, 0xb0,
+	0x3d, 0x22, 0x05, 0x93, 0x38, 0x61, 0x54, 0x91, 0x24, 0x03, 0x4c, 0x96, 0x39, 0xe3, 0xd8, 0xee,
+	0x57, 0xd1, 0xcf, 0xff, 0x7b, 0x76, 0x95, 0x50, 0xae, 0x58, 0x0a, 0xa1, 0xd1, 0xa3, 0x0b, 0x8d,
+	0xef, 0xd6, 0x28, 0x34, 0xe2, 0xd0, 0xee, 0x57, 0xd1, 0xe8, 0xc6, 0xb0, 0xd8, 0x7a, 0xc1, 0x8d,
+	0xe3, 0x54, 0xf0, 0x7d, 0x46, 0x31, 0xe1, 0x5c, 0x28, 0xa2, 0x98, 0xe0, 0xd2, 0x86, 0x1a, 0x3d,
+	0x38, 0xd1, 0x34, 0x96, 0x44, 0x91, 0xc6, 0x71, 0xfa, 0x2f, 0xea, 0xb3, 0x97, 0x83, 0x94, 0x84,
+	0x42, 0x4b, 0x3f, 0xa5, 0x4c, 0x3d, 0xaa, 0x92, 0x30, 0x15, 0x39, 0xb6, 0x81, 0xb0, 0x39, 0x48,
+	0xaa, 0x7d, 0x5c, 0xa8, 0x83, 0x02, 0x24, 0x86, 0x5c, 0x6f, 0xec, 0x6a, 0x45, 0x93, 0xcf, 0x67,
+	0xfc, 0x73, 0x71, 0xe3, 0xfe, 0x5e, 0xbd, 0xdc, 0xb5, 0xce, 0xd1, 0x7b, 0xcf, 0x3f, 0x3d, 0x2f,
+	0x81, 0x28, 0xfb, 0x1b, 0x4d, 0xc2, 0x3f, 0xf7, 0x21, 0xec, 0x18, 0x2f, 0xe0, 0x69, 0x05, 0x52,
+	0x8d, 0x2e, 0xf6, 0x69, 0x8c, 0x75, 0x30, 0x7b, 0xf5, 0xed, 0xfb, 0xeb, 0xff, 0x2e, 0x07, 0xb8,
+	0xce, 0xf5, 0x05, 0x27, 0x39, 0xac, 0x6b, 0xb8, 0xc7, 0x90, 0x2a, 0x89, 0xc7, 0xf8, 0xb9, 0xe0,
+	0x50, 0x7f, 0xd3, 0xac, 0x92, 0x0a, 0x4a, 0xbd, 0x7d, 0x69, 0x2b, 0x23, 0x67, 0xde, 0x18, 0x7d,
+	0xf0, 0x7c, 0xff, 0x16, 0x93, 0xca, 0x78, 0x92, 0x28, 0xea, 0x8b, 0x78, 0x68, 0xdb, 0x42, 0x4e,
+	0x5c, 0x24, 0xb2, 0xd0, 0xd3, 0x02, 0xc1, 0x55, 0x43, 0x1c, 0x21, 0x57, 0x62, 0xf4, 0xd6, 0xf3,
+	0x4f, 0x6d, 0x83, 0x75, 0x87, 0x70, 0x5f, 0xe4, 0xd6, 0xd2, 0xb1, 0x9e, 0x6b, 0x86, 0x6e, 0x8a,
+	0xa2, 0x81, 0x74, 0x0d, 0x9c, 0xc6, 0x44, 0x6f, 0x74, 0xd7, 0x37, 0x20, 0x83, 0xc1, 0x5d, 0xef,
+	0x18, 0xb7, 0x94, 0xe7, 0x5b, 0x4d, 0x3b, 0x7d, 0xe1, 0x66, 0x3d, 0x70, 0x2d, 0xd6, 0xf8, 0x2f,
+	0xb0, 0xde, 0x69, 0xac, 0x05, 0xd4, 0x92, 0x81, 0x58, 0x1d, 0xe3, 0x3e, 0xac, 0xb9, 0xc1, 0x5a,
+	0x0f, 0xae, 0x39, 0x63, 0xcd, 0x4a, 0x13, 0xa5, 0x1e, 0xc3, 0xaf, 0x9e, 0x8f, 0xec, 0x05, 0x98,
+	0x8b, 0xac, 0xca, 0xf9, 0x16, 0xc9, 0x59, 0x76, 0x80, 0xd6, 0x86, 0x5d, 0x9a, 0xae, 0xa6, 0xc5,
+	0xbd, 0xd4, 0x2b, 0xed, 0x88, 0x82, 0x1d, 0x93, 0xc4, 0x66, 0x70, 0xdd, 0x39, 0x09, 0x9c, 0x1e,
+	0xfa, 0x61, 0xf6, 0x4e, 0x7d, 0xd1, 0xc9, 0xdc, 0x2f, 0x96, 0xc7, 0x93, 0x71, 0x22, 0x72, 0xe4,
+	0xbf, 0x6d, 0xf8, 0xb7, 0x47, 0xb1, 0x2b, 0xff, 0x31, 0xfc, 0xba, 0x2b, 0x3a, 0x83, 0x4f, 0x3a,
+	0x03, 0x3b, 0x99, 0x6e, 0xed, 0xf8, 0x55, 0xd3, 0x37, 0x3d, 0x37, 0x0d, 0xf8, 0xc6, 0xf8, 0x04,
+	0xc0, 0xd1, 0x47, 0xcf, 0x3f, 0x1b, 0x57, 0xd9, 0x13, 0x4b, 0xb1, 0x10, 0xcf, 0x24, 0xba, 0xd2,
+	0x47, 0x7c, 0xd4, 0xbe, 0x8f, 0xf6, 0x8e, 0xa1, 0xdd, 0x09, 0xb6, 0x0c, 0xad, 0x7d, 0x4d, 0x9c,
+	0x26, 0x3e, 0x39, 0x12, 0x4e, 0x97, 0x3a, 0x8e, 0xfd, 0x40, 0x3f, 0x38, 0x3d, 0x98, 0xf1, 0xe8,
+	0x77, 0x6f, 0x8c, 0xdc, 0xad, 0xe9, 0x76, 0xbd, 0xe4, 0x7f, 0x83, 0x39, 0xfd, 0x11, 0x00, 0x00,
+	0xff, 0xff, 0x2e, 0xa4, 0x4d, 0x5a, 0x47, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
index ed36544d..0f161cd5 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.pb.go
@@ -43,7 +43,7 @@ type CreateTableRequest struct {
 func (m *CreateTableRequest) Reset()                    { *m = CreateTableRequest{} }
 func (m *CreateTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateTableRequest) ProtoMessage()               {}
-func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 func (m *CreateTableRequest) GetTable() *Table {
 	if m != nil {
@@ -60,7 +60,7 @@ type ListTablesRequest struct {
 func (m *ListTablesRequest) Reset()                    { *m = ListTablesRequest{} }
 func (m *ListTablesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListTablesRequest) ProtoMessage()               {}
-func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 type ListTablesResponse struct {
 	// The tables present in the requested cluster.
@@ -71,7 +71,7 @@ type ListTablesResponse struct {
 func (m *ListTablesResponse) Reset()                    { *m = ListTablesResponse{} }
 func (m *ListTablesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListTablesResponse) ProtoMessage()               {}
-func (*ListTablesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*ListTablesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
 func (m *ListTablesResponse) GetTables() []*Table {
 	if m != nil {
@@ -88,7 +88,7 @@ type GetTableRequest struct {
 func (m *GetTableRequest) Reset()                    { *m = GetTableRequest{} }
 func (m *GetTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetTableRequest) ProtoMessage()               {}
-func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
 type DeleteTableRequest struct {
 	// The unique name of the table to be deleted.
@@ -98,7 +98,7 @@ type DeleteTableRequest struct {
 func (m *DeleteTableRequest) Reset()                    { *m = DeleteTableRequest{} }
 func (m *DeleteTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteTableRequest) ProtoMessage()               {}
-func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
 type RenameTableRequest struct {
 	// The current unique name of the table.
@@ -111,7 +111,7 @@ type RenameTableRequest struct {
 func (m *RenameTableRequest) Reset()                    { *m = RenameTableRequest{} }
 func (m *RenameTableRequest) String() string            { return proto.CompactTextString(m) }
 func (*RenameTableRequest) ProtoMessage()               {}
-func (*RenameTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*RenameTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
 type CreateColumnFamilyRequest struct {
 	// The unique name of the table in which to create the new column family.
@@ -126,7 +126,7 @@ type CreateColumnFamilyRequest struct {
 func (m *CreateColumnFamilyRequest) Reset()                    { *m = CreateColumnFamilyRequest{} }
 func (m *CreateColumnFamilyRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateColumnFamilyRequest) ProtoMessage()               {}
-func (*CreateColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*CreateColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
 func (m *CreateColumnFamilyRequest) GetColumnFamily() *ColumnFamily {
 	if m != nil {
@@ -143,7 +143,7 @@ type DeleteColumnFamilyRequest struct {
 func (m *DeleteColumnFamilyRequest) Reset()                    { *m = DeleteColumnFamilyRequest{} }
 func (m *DeleteColumnFamilyRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteColumnFamilyRequest) ProtoMessage()               {}
-func (*DeleteColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+func (*DeleteColumnFamilyRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
 type BulkDeleteRowsRequest struct {
 	// The unique name of the table on which to perform the bulk delete
@@ -157,7 +157,7 @@ type BulkDeleteRowsRequest struct {
 func (m *BulkDeleteRowsRequest) Reset()                    { *m = BulkDeleteRowsRequest{} }
 func (m *BulkDeleteRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*BulkDeleteRowsRequest) ProtoMessage()               {}
-func (*BulkDeleteRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+func (*BulkDeleteRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
 
 type isBulkDeleteRowsRequest_Target interface {
 	isBulkDeleteRowsRequest_Target()
@@ -276,41 +276,41 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor1)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor2)
 }
 
-var fileDescriptor1 = []byte{
-	// 503 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x51, 0x6f, 0xd3, 0x30,
-	0x10, 0x5e, 0xe8, 0x56, 0xda, 0xa3, 0x8c, 0x61, 0x69, 0xa8, 0x9d, 0x04, 0x2a, 0x96, 0x06, 0x7d,
-	0x98, 0x12, 0x0d, 0x1e, 0x01, 0x21, 0xba, 0x69, 0xac, 0x1a, 0xa0, 0x92, 0x22, 0xf1, 0x18, 0xb9,
-	0xcd, 0x35, 0xb2, 0xe6, 0xc4, 0xc1, 0x76, 0x1b, 0xfa, 0x87, 0x78, 0x42, 0xfc, 0x46, 0x14, 0x3b,
-	0xac, 0xdd, 0x4b, 0xb3, 0x07, 0x5e, 0xa2, 0xcb, 0xdd, 0x7d, 0xdf, 0x9d, 0xbf, 0x3b, 0x1b, 0x66,
-	0x89, 0x94, 0x89, 0x40, 0x3f, 0x91, 0x82, 0x65, 0x89, 0x2f, 0x55, 0x12, 0x24, 0x98, 0xe5, 0x4a,
-	0x1a, 0x19, 0xb8, 0x10, 0xcb, 0xb9, 0x0e, 0xa6, 0x3c, 0x31, 0x6c, 0x2a, 0x30, 0x60, 0x71, 0xca,
-	0xb3, 0xc0, 0xd9, 0xcb, 0xd3, 0x1b, 0x7f, 0xe4, 0xbe, 0x1a, 0xd5, 0x92, 0xcf, 0x30, 0x4a, 0x51,
-	0x6b, 0x96, 0xa0, 0xf6, 0x2d, 0x11, 0x79, 0x56, 0x15, 0xf9, 0x97, 0xed, 0x5b, 0x16, 0xdf, 0xd9,
-	0xcb, 0xd3, 0xa3, 0xef, 0xff, 0xb5, 0x89, 0x98, 0x19, 0xe6, 0x0a, 0xd3, 0x3f, 0x1e, 0x90, 0x33,
-	0x85, 0xcc, 0xe0, 0xb7, 0x32, 0x14, 0xe2, 0x8f, 0x05, 0x6a, 0x43, 0x08, 0xec, 0x66, 0x2c, 0xc5,
-	0xae, 0xd7, 0xf7, 0x06, 0xed, 0xd0, 0xda, 0xa4, 0x07, 0x2d, 0x07, 0xe7, 0x71, 0xf7, 0x9e, 0xf5,
-	0xdf, 0xb7, 0xff, 0xa3, 0x98, 0xbc, 0x81, 0x3d, 0x6b, 0x76, 0x1b, 0x7d, 0x6f, 0xf0, 0xe0, 0xd5,
-	0xb1, 0xbf, 0xfd, 0x38, 0xbe, 0xab, 0xe5, 0x30, 0xe4, 0x04, 0x08, 0xcf, 0xb8, 0xe1, 0x4c, 0x44,
-	0x3a, 0x17, 0xdc, 0x44, 0xd7, 0xb8, 0xd2, 0xdd, 0xdd, 0x7e, 0x63, 0xd0, 0x0e, 0x0f, 0xaa, 0xc8,
-	0xa4, 0x0c, 0x5c, 0xe1, 0x4a, 0xd3, 0x97, 0xf0, 0xf8, 0x13, 0xd7, 0xc6, 0x32, 0xe8, 0x2d, 0xed,
-	0xd2, 0x09, 0x90, 0xcd, 0x44, 0x9d, 0xcb, 0x4c, 0x23, 0x79, 0x07, 0x4d, 0x5b, 0x55, 0x77, 0xbd,
-	0x7e, 0xe3, 0xee, 0xad, 0x56, 0x20, 0x7a, 0x0c, 0x8f, 0x3e, 0xa2, 0xa9, 0x93, 0x8a, 0x0e, 0x80,
-	0x9c, 0xa3, 0xc0, 0x7a, 0x51, 0xe9, 0x7b, 0x20, 0x21, 0x96, 0x56, 0xad, 0xfc, 0x87, 0xd0, 0xcc,
-	0xb0, 0x58, 0x8b, 0xbf, 0x97, 0x61, 0x31, 0x8a, 0xe9, 0x6f, 0x0f, 0x7a, 0x6e, 0x80, 0x67, 0x52,
-	0x2c, 0xd2, 0xec, 0x82, 0xa5, 0x5c, 0xac, 0xb6, 0x11, 0x0d, 0xe0, 0x60, 0x66, 0x53, 0xa3, 0xb9,
-	0xcd, 0x5d, 0x53, 0xee, 0xcf, 0x36, 0x28, 0x46, 0x31, 0xf9, 0x0a, 0x0f, 0x6f, 0x65, 0x56, 0xe3,
-	0x3d, 0xa9, 0xd3, 0xec, 0x56, 0x27, 0x9d, 0x4d, 0x52, 0x1a, 0x40, 0xcf, 0x29, 0x73, 0xc7, 0x6e,
-	0xe9, 0x2f, 0x0f, 0x0e, 0x87, 0x0b, 0x71, 0xed, 0x50, 0xa1, 0x2c, 0x6e, 0x86, 0xfe, 0x14, 0xc0,
-	0xed, 0xe3, 0x06, 0xa6, 0x6d, 0x3d, 0x5f, 0xca, 0x63, 0xbe, 0x80, 0x7d, 0x25, 0x8b, 0x72, 0x99,
-	0xa2, 0x5c, 0xe1, 0x9c, 0xff, 0xb4, 0x87, 0xec, 0x5c, 0xee, 0x84, 0x1d, 0x25, 0x8b, 0x2b, 0x5c,
-	0x8d, 0xad, 0x97, 0xbc, 0x85, 0xa3, 0xd8, 0x72, 0x47, 0x4c, 0x08, 0x7b, 0x35, 0xa2, 0xb9, 0x92,
-	0x69, 0xb4, 0x5e, 0xe8, 0xd6, 0xe5, 0x4e, 0xf8, 0xc4, 0xe5, 0x7c, 0x10, 0xe2, 0x9c, 0x19, 0x76,
-	0xa1, 0x64, 0x6a, 0x07, 0x36, 0x6c, 0x95, 0xfb, 0xa4, 0x12, 0x34, 0xc3, 0x11, 0xd0, 0x99, 0x4c,
-	0x6b, 0xa4, 0x19, 0x3e, 0x1f, 0x56, 0x01, 0x0b, 0x9f, 0xb8, 0xd7, 0xe0, 0x73, 0xf5, 0x18, 0x8c,
-	0xcb, 0x2b, 0x39, 0xf6, 0xa6, 0x4d, 0x7b, 0x37, 0x5f, 0xff, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x3a,
-	0xb9, 0x40, 0x1a, 0x7b, 0x04, 0x00, 0x00,
+var fileDescriptor2 = []byte{
+	// 499 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0xdf, 0x6f, 0xd3, 0x30,
+	0x10, 0x26, 0x74, 0x2b, 0xdd, 0x51, 0xc6, 0xb0, 0x34, 0xd4, 0x4e, 0x02, 0x0d, 0x4b, 0x83, 0x3e,
+	0x4c, 0x89, 0x06, 0x8f, 0x80, 0x10, 0xdd, 0x34, 0xa8, 0xf8, 0xa1, 0x92, 0x22, 0xf1, 0x18, 0xb9,
+	0xc9, 0x35, 0xb2, 0xe6, 0xc4, 0x21, 0x76, 0x5b, 0xf6, 0x0f, 0xf1, 0x84, 0xf8, 0x1b, 0x71, 0xec,
+	0xb0, 0x76, 0x2f, 0xcd, 0x1e, 0xf6, 0x12, 0x5d, 0xee, 0xbe, 0xfb, 0xee, 0xfc, 0xdd, 0xd9, 0x10,
+	0xa7, 0x52, 0xa6, 0x02, 0xfd, 0x54, 0x0a, 0x96, 0xa7, 0xbe, 0x2c, 0xd3, 0x20, 0xc5, 0xbc, 0x28,
+	0xa5, 0x96, 0x81, 0x0b, 0xb1, 0x82, 0xab, 0x60, 0xca, 0x53, 0xcd, 0xa6, 0x02, 0x03, 0x96, 0x64,
+	0x3c, 0x0f, 0x9c, 0xbd, 0x38, 0xb9, 0xf2, 0x47, 0xee, 0xab, 0xb0, 0x5c, 0xf0, 0x18, 0xa3, 0x0c,
+	0x95, 0x62, 0x29, 0x2a, 0xdf, 0x12, 0x91, 0xa7, 0x75, 0x91, 0xff, 0x68, 0xdf, 0xb2, 0xf8, 0xce,
+	0x5e, 0x9c, 0x1c, 0xfc, 0xb8, 0xd5, 0x26, 0x12, 0xa6, 0x99, 0x2b, 0x4c, 0xff, 0x7a, 0x40, 0x4e,
+	0x4b, 0x64, 0x1a, 0xbf, 0x57, 0xa1, 0x10, 0x7f, 0xce, 0x51, 0x69, 0x42, 0x60, 0x2b, 0x67, 0x19,
+	0xf6, 0xbc, 0x43, 0x6f, 0xb0, 0x13, 0x5a, 0x9b, 0xf4, 0xa1, 0xe3, 0xd2, 0x79, 0xd2, 0xbb, 0x6b,
+	0xfd, 0xf7, 0xec, 0xff, 0x28, 0x21, 0xaf, 0x61, 0xdb, 0x9a, 0xbd, 0x96, 0xf1, 0xdf, 0x7f, 0x79,
+	0xe4, 0x6f, 0x3e, 0x8e, 0xef, 0x6a, 0xb9, 0x1c, 0x72, 0x0c, 0x84, 0xe7, 0x5c, 0x73, 0x26, 0x22,
+	0x55, 0x08, 0xae, 0xa3, 0x0b, 0xbc, 0x54, 0xbd, 0xad, 0xc3, 0x96, 0xa9, 0xb0, 0x57, 0x47, 0x26,
+	0x55, 0xe0, 0x93, 0xf1, 0xd3, 0x17, 0xf0, 0xe8, 0x33, 0x57, 0xda, 0x32, 0xa8, 0x0d, 0xed, 0xd2,
+	0x09, 0x90, 0x75, 0xa0, 0x2a, 0x64, 0xae, 0x90, 0xbc, 0x85, 0xb6, 0xad, 0xaa, 0x0c, 0xb6, 0x75,
+	0xf3, 0x56, 0xeb, 0x24, 0x7a, 0x04, 0x0f, 0x3f, 0xa0, 0x6e, 0x92, 0x8a, 0x0e, 0x80, 0x9c, 0xa1,
+	0xc0, 0x66, 0x51, 0xe9, 0x3b, 0x20, 0x21, 0x56, 0x56, 0xa3, 0xfc, 0xfb, 0xd0, 0xce, 0x71, 0xb9,
+	0x12, 0x7f, 0xdb, 0xfc, 0x8d, 0x12, 0xfa, 0xc7, 0x83, 0xbe, 0x1b, 0xe0, 0xa9, 0x14, 0xf3, 0x2c,
+	0x3f, 0x67, 0x19, 0x17, 0x97, 0x9b, 0x88, 0x06, 0xb0, 0x17, 0x5b, 0x68, 0x34, 0xb3, 0xd8, 0x15,
+	0xe5, 0x6e, 0xbc, 0x46, 0x61, 0xc6, 0xfa, 0x0d, 0x1e, 0x5c, 0x43, 0xd6, 0xe3, 0x3d, 0x6e, 0xd2,
+	0xec, 0x5a, 0x27, 0xdd, 0x75, 0x52, 0x1a, 0x40, 0xdf, 0x29, 0x73, 0xc3, 0x6e, 0xe9, 0x6f, 0x0f,
+	0xf6, 0x87, 0x73, 0x71, 0xe1, 0xb2, 0x42, 0xb9, 0xbc, 0x1a, 0xfa, 0x13, 0x00, 0xb7, 0x8f, 0x6b,
+	0x39, 0x3b, 0xd6, 0xf3, 0xb5, 0x3a, 0xe6, 0x73, 0xd8, 0x2d, 0xe5, 0xb2, 0x5a, 0xa6, 0xa8, 0x28,
+	0x71, 0xc6, 0x7f, 0xd9, 0x43, 0x76, 0x3f, 0xde, 0x09, 0xbb, 0xc6, 0x6f, 0x76, 0x69, 0x6c, 0xbd,
+	0xe4, 0x0d, 0x1c, 0x24, 0x96, 0x3b, 0x62, 0x42, 0xd8, 0xab, 0x11, 0xcd, 0x4a, 0x99, 0x45, 0xab,
+	0x85, 0xee, 0x98, 0x9c, 0xc7, 0x0e, 0xf3, 0x5e, 0x88, 0x33, 0x83, 0x38, 0x37, 0x00, 0x3b, 0xb0,
+	0x61, 0xa7, 0xda, 0xa7, 0x32, 0x45, 0x3d, 0x1c, 0x01, 0x8d, 0x65, 0xd6, 0x20, 0xcd, 0xf0, 0xd9,
+	0xb0, 0x0e, 0xd8, 0xf4, 0x89, 0x7b, 0x0d, 0xbe, 0xd4, 0x8f, 0xc1, 0xb8, 0xba, 0x92, 0x63, 0x6f,
+	0xda, 0xb6, 0x77, 0xf3, 0xd5, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3a, 0xb9, 0x40, 0x1a, 0x7b,
+	0x04, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
index 1cb729b2..3bded7df 100644
--- a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
@@ -744,68 +744,68 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1006 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x56, 0x41, 0x6f, 0x1b, 0x45,
-	0x14, 0xd6, 0xd8, 0xa5, 0xd4, 0xcf, 0x75, 0x12, 0x86, 0x38, 0xb2, 0x56, 0x54, 0xa4, 0x8b, 0x54,
-	0x5c, 0x37, 0xec, 0x0a, 0x17, 0x29, 0x28, 0xc1, 0x08, 0x52, 0x4a, 0x15, 0x29, 0x15, 0x91, 0xd5,
-	0x1e, 0xe0, 0x80, 0x35, 0xb6, 0x27, 0xdb, 0xa1, 0xeb, 0x99, 0x65, 0x77, 0x1c, 0x11, 0xa1, 0x5e,
-	0x10, 0xe2, 0x10, 0x09, 0x0e, 0x70, 0x44, 0x9c, 0xb8, 0x70, 0xe0, 0x9f, 0x70, 0xe4, 0xc8, 0x09,
-	0x89, 0x1f, 0xc0, 0x4f, 0x40, 0xbb, 0x33, 0xb3, 0xf6, 0x3a, 0x6b, 0xef, 0x06, 0x84, 0xd4, 0x8b,
-	0xb5, 0xfb, 0x66, 0xde, 0x9b, 0x6f, 0xbe, 0xef, 0xdb, 0xf7, 0x0c, 0x8f, 0x3d, 0x21, 0x3c, 0x9f,
-	0x3a, 0x9e, 0xf0, 0x09, 0xf7, 0x1c, 0x11, 0x7a, 0xae, 0x47, 0x79, 0x10, 0x0a, 0x29, 0x5c, 0xb5,
-	0x44, 0x02, 0x16, 0xb9, 0x43, 0xe6, 0x49, 0x32, 0xf4, 0xa9, 0x4b, 0xc6, 0x13, 0xc6, 0xdd, 0xd3,
-	0x6e, 0x1a, 0x19, 0x30, 0x1e, 0x49, 0xc2, 0x47, 0x74, 0x90, 0x2c, 0x39, 0x49, 0x2a, 0x6e, 0xe9,
-	0xb2, 0x66, 0x97, 0xa3, 0x16, 0x4f, 0xbb, 0xd6, 0x61, 0xb9, 0x03, 0x49, 0xc0, 0xdc, 0x88, 0x86,
-	0xa7, 0x6c, 0x44, 0x47, 0x82, 0x9f, 0x30, 0xcf, 0x25, 0x9c, 0x0b, 0x49, 0x24, 0x13, 0x3c, 0x52,
-	0x87, 0x58, 0x1f, 0xfe, 0x5b, 0xec, 0x06, 0xb2, 0xae, 0x73, 0x50, 0xae, 0x8e, 0x2f, 0xb8, 0x17,
-	0x4e, 0x39, 0x67, 0xdc, 0x73, 0x45, 0x40, 0xc3, 0x0c, 0x96, 0xbb, 0x1e, 0x93, 0x4f, 0xa6, 0x43,
-	0x67, 0x24, 0x26, 0xae, 0xaa, 0xe3, 0x26, 0x0b, 0xc3, 0xe9, 0x89, 0x1b, 0xc8, 0xb3, 0x80, 0x46,
-	0x2e, 0x9d, 0x04, 0xf2, 0x4c, 0xfd, 0xea, 0xa4, 0xfd, 0xe2, 0x24, 0xc9, 0x26, 0x34, 0x92, 0x64,
-	0x12, 0xcc, 0x9e, 0x54, 0xb2, 0xfd, 0x5b, 0x05, 0x9a, 0xf7, 0x42, 0x4a, 0x24, 0x3d, 0xd4, 0xd7,
-	0xe9, 0xd3, 0xcf, 0xa7, 0x34, 0x92, 0x78, 0x0b, 0xae, 0x06, 0x24, 0xa4, 0x5c, 0xb6, 0xd0, 0x36,
-	0x6a, 0xd7, 0xfa, 0xfa, 0x0d, 0xbf, 0x0a, 0xf5, 0x54, 0x2c, 0x36, 0x6e, 0x55, 0x92, 0x45, 0x30,
-	0xa1, 0xc3, 0x31, 0x7e, 0x17, 0xae, 0x99, 0xb7, 0x56, 0x75, 0x1b, 0xb5, 0xeb, 0x5d, 0xdb, 0x59,
-	0x26, 0xa4, 0x93, 0x9e, 0x9a, 0xe6, 0xe0, 0x8f, 0xe1, 0xda, 0xc8, 0x9f, 0x46, 0x92, 0x86, 0x51,
-	0xeb, 0xca, 0x76, 0xb5, 0x5d, 0xef, 0xf6, 0x96, 0xe7, 0xe7, 0x62, 0x77, 0xee, 0xe9, 0xfc, 0xfb,
-	0x5c, 0x86, 0x67, 0xfd, 0xb4, 0x9c, 0xf5, 0x29, 0x34, 0x32, 0x4b, 0x78, 0x03, 0xaa, 0x4f, 0xe9,
-	0x99, 0xbe, 0x61, 0xfc, 0x88, 0x77, 0xe1, 0x85, 0x53, 0xe2, 0x4f, 0x69, 0x72, 0xb1, 0x7a, 0xf7,
-	0xe6, 0x8a, 0xa3, 0x55, 0xa5, 0xbe, 0xda, 0xbf, 0x57, 0x79, 0x1b, 0xd9, 0x6d, 0xc0, 0x0f, 0xa8,
-	0x5c, 0x64, 0x12, 0xc3, 0x15, 0x4e, 0x26, 0x54, 0x9f, 0x92, 0x3c, 0xdb, 0x0f, 0x61, 0xf3, 0x88,
-	0x45, 0xe9, 0xd6, 0xa8, 0x88, 0xf5, 0x1b, 0x00, 0x01, 0xf1, 0xe8, 0x40, 0x8a, 0xa7, 0x94, 0x6b,
-	0xd2, 0x6b, 0x71, 0xe4, 0x51, 0x1c, 0xb0, 0x7f, 0x45, 0xd0, 0x5c, 0xa8, 0x17, 0x05, 0x82, 0x47,
-	0x14, 0xbf, 0x07, 0x35, 0xc3, 0x6c, 0xd4, 0x42, 0x09, 0x9d, 0x65, 0xe4, 0x98, 0x25, 0xe1, 0xdb,
-	0xb0, 0x71, 0x42, 0x98, 0x4f, 0xc7, 0x03, 0x5f, 0x8c, 0x94, 0x5d, 0x5b, 0x95, 0xed, 0x6a, 0xbb,
-	0xd6, 0x5f, 0x57, 0xf1, 0x23, 0x13, 0xc6, 0xb7, 0x60, 0x9d, 0xd3, 0x2f, 0xe4, 0x60, 0x0e, 0x6a,
-	0x35, 0x81, 0xda, 0x88, 0xc3, 0xc7, 0x29, 0xdc, 0x3b, 0xd0, 0xfc, 0x80, 0xfa, 0xf4, 0xa2, 0xe9,
-	0xf2, 0xa8, 0x3a, 0x47, 0xb0, 0xa9, 0x64, 0x36, 0x8c, 0x17, 0x73, 0xa5, 0x15, 0x9f, 0x19, 0xb4,
-	0xa6, 0x23, 0x87, 0x63, 0xbc, 0x0f, 0x2f, 0xea, 0x17, 0x6d, 0xcf, 0x12, 0x1a, 0x9b, 0x0c, 0xfb,
-	0x75, 0x78, 0xe9, 0x01, 0x95, 0x0b, 0x40, 0xf2, 0x50, 0x1f, 0xc1, 0xcb, 0xb1, 0x20, 0xc6, 0x6e,
-	0xff, 0x51, 0xdf, 0x5f, 0x90, 0xf2, 0xcb, 0xac, 0x9c, 0x96, 0xb7, 0x37, 0xf7, 0xb1, 0x28, 0x75,
-	0x4b, 0xdc, 0x26, 0x4d, 0xf9, 0x3f, 0xb4, 0xed, 0xc0, 0xa6, 0xd2, 0xb6, 0x04, 0x49, 0x7f, 0x23,
-	0xd8, 0xca, 0x7e, 0xc1, 0x0f, 0xa9, 0x24, 0x63, 0x22, 0x09, 0xfe, 0x04, 0x36, 0x44, 0xc8, 0x3c,
-	0xc6, 0x89, 0x3f, 0x08, 0x55, 0x89, 0x24, 0xb5, 0xde, 0x75, 0x2f, 0xd9, 0x0d, 0xfa, 0xeb, 0xa6,
-	0x90, 0x81, 0xd2, 0x83, 0xeb, 0xba, 0xe4, 0x20, 0xee, 0x87, 0xfa, 0x53, 0xb7, 0x4c, 0x5d, 0xd3,
-	0x3d, 0x9d, 0x47, 0xa6, 0x59, 0xf6, 0xeb, 0x7a, 0x7f, 0x1c, 0xc1, 0xfb, 0x50, 0x3f, 0x61, 0x9c,
-	0x45, 0x4f, 0x54, 0x76, 0xb5, 0x30, 0x1b, 0xd4, 0xf6, 0x38, 0x60, 0xff, 0x89, 0xa0, 0xf9, 0x38,
-	0x18, 0xcf, 0xdc, 0x9c, 0xde, 0xf8, 0x68, 0xe9, 0x8d, 0x4b, 0x48, 0xfa, 0x3c, 0xdd, 0xb1, 0xfb,
-	0x47, 0x1d, 0x9a, 0x07, 0x1a, 0xaa, 0x11, 0xe3, 0xfd, 0x18, 0x31, 0xfe, 0x0e, 0xc1, 0x5a, 0x56,
-	0x24, 0x7c, 0x59, 0x39, 0xad, 0x1b, 0x26, 0x61, 0x6e, 0x94, 0x3a, 0x1f, 0x99, 0x51, 0x6a, 0xef,
-	0x7c, 0xf5, 0xfb, 0x5f, 0x3f, 0x54, 0x6e, 0xd9, 0x37, 0xe3, 0x19, 0xfd, 0xa5, 0xfa, 0xbc, 0x7a,
-	0x41, 0x28, 0x3e, 0xa3, 0x23, 0x19, 0xb9, 0x9d, 0x67, 0xe9, 0xdc, 0x8e, 0xf6, 0x50, 0x07, 0x9f,
-	0x23, 0xa8, 0xcf, 0xb5, 0x6c, 0xbc, 0xb3, 0x1c, 0xcd, 0xc5, 0xce, 0x6e, 0x95, 0xe8, 0xa4, 0xf6,
-	0xed, 0x04, 0xcf, 0x6b, 0x58, 0xe1, 0x89, 0x6d, 0x3f, 0x87, 0x66, 0x06, 0xc6, 0xed, 0x3c, 0xc3,
-	0x3f, 0x22, 0x68, 0x64, 0xba, 0x38, 0x76, 0x96, 0x1f, 0x90, 0x37, 0x3e, 0x2c, 0xb7, 0xf4, 0x7e,
-	0xd5, 0x3f, 0x16, 0xd0, 0xad, 0x62, 0x0b, 0x7f, 0x83, 0x60, 0x4d, 0x39, 0x37, 0x65, 0xab, 0xc4,
-	0xfd, 0x4b, 0x71, 0xa4, 0x35, 0xb3, 0x8a, 0x39, 0x8a, 0x35, 0xfb, 0x1a, 0xc1, 0x5a, 0x76, 0x7c,
-	0xac, 0x32, 0x51, 0xee, 0xa0, 0xb1, 0xb6, 0x2e, 0x58, 0xf9, 0x7e, 0xfc, 0x97, 0xca, 0xf0, 0xd1,
-	0x29, 0xa1, 0xd6, 0x4f, 0x08, 0x1a, 0x99, 0xb9, 0xb4, 0x4a, 0xad, 0xbc, 0x01, 0x56, 0xe4, 0xe4,
-	0x5e, 0x82, 0x65, 0xd7, 0xde, 0xc9, 0xd7, 0x26, 0x83, 0xc6, 0x35, 0x2d, 0x7d, 0xcf, 0x8c, 0x2a,
-	0xfc, 0x3d, 0x02, 0x98, 0xcd, 0x2a, 0x7c, 0x67, 0xa5, 0xb3, 0x17, 0x90, 0x15, 0x77, 0x1c, 0xfb,
-	0xad, 0x04, 0x9d, 0x83, 0x77, 0x8a, 0x98, 0x4a, 0xa1, 0xc5, 0xa4, 0xfd, 0x8c, 0xe0, 0xfa, 0xfc,
-	0x20, 0xc3, 0x6f, 0xac, 0x76, 0xec, 0xc2, 0xfc, 0xb4, 0x9c, 0xb2, 0xdb, 0xb5, 0xbf, 0xb3, 0x28,
-	0x4b, 0x72, 0x18, 0x77, 0x85, 0x46, 0xa6, 0x49, 0xe3, 0x62, 0x42, 0x8a, 0xd4, 0xdc, 0x4d, 0x90,
-	0xbc, 0x69, 0x5d, 0x8a, 0xaf, 0xd8, 0xee, 0xdf, 0x22, 0x68, 0x64, 0x26, 0xea, 0x2a, 0x9f, 0xe5,
-	0x8d, 0xde, 0xa5, 0x66, 0xd7, 0xe4, 0x74, 0x2e, 0x05, 0xe9, 0xe0, 0x1d, 0x78, 0x65, 0x24, 0x26,
-	0x4b, 0x21, 0x1c, 0x58, 0xb9, 0xad, 0xff, 0x38, 0x3e, 0xfa, 0x18, 0x0d, 0xaf, 0x26, 0x18, 0xee,
-	0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb4, 0xae, 0x02, 0xb9, 0x33, 0x0e, 0x00, 0x00,
+	// 1001 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x41, 0x6f, 0x1b, 0x45,
+	0x14, 0xd6, 0xc6, 0xa5, 0x34, 0xcf, 0x0d, 0x09, 0x43, 0x12, 0x59, 0x2b, 0x2a, 0xda, 0x45, 0x2a,
+	0xad, 0x1b, 0x76, 0x84, 0x8b, 0x14, 0x94, 0x62, 0x04, 0x29, 0x05, 0x45, 0x4a, 0x45, 0x64, 0xb5,
+	0x07, 0x38, 0x60, 0x8d, 0xed, 0xc9, 0x76, 0xc8, 0x7a, 0x76, 0xd9, 0x1d, 0x47, 0x44, 0x88, 0x0b,
+	0x42, 0x1c, 0x90, 0xe0, 0x00, 0x47, 0xc4, 0x89, 0x0b, 0x07, 0xfe, 0x09, 0x47, 0x8e, 0x9c, 0x90,
+	0xf8, 0x01, 0xfc, 0x04, 0x66, 0x76, 0x66, 0xd6, 0x5e, 0x67, 0xed, 0xdd, 0x80, 0x90, 0x7a, 0xb1,
+	0x76, 0xdf, 0xcc, 0x7b, 0xf3, 0xcd, 0xf7, 0x7d, 0xfb, 0x5e, 0x02, 0x8f, 0x83, 0x28, 0x0a, 0x42,
+	0xea, 0x07, 0x51, 0x48, 0x78, 0xe0, 0x47, 0x49, 0x80, 0x03, 0xca, 0xe3, 0x24, 0x12, 0x11, 0xd6,
+	0x4b, 0x24, 0x66, 0x29, 0x1e, 0xb0, 0x40, 0x90, 0x41, 0x48, 0x31, 0x19, 0x8d, 0x19, 0xc7, 0xa7,
+	0x9d, 0x3c, 0xd2, 0x67, 0x3c, 0x15, 0x84, 0x0f, 0x69, 0x3f, 0x5b, 0xf2, 0xb3, 0x54, 0xd4, 0x32,
+	0x65, 0xed, 0x2e, 0x5f, 0x2f, 0x9e, 0x76, 0xdc, 0x83, 0x7a, 0x07, 0xca, 0x1f, 0x9c, 0xd2, 0xe4,
+	0x94, 0x0d, 0xe9, 0x30, 0xe2, 0xc7, 0x2c, 0xc0, 0x84, 0xf3, 0x48, 0x10, 0xc1, 0x22, 0x9e, 0xea,
+	0x43, 0xdc, 0xf7, 0xfe, 0x2d, 0x76, 0x0b, 0xd9, 0xd4, 0xd9, 0xaf, 0x57, 0x27, 0x8c, 0x78, 0x90,
+	0x4c, 0x38, 0x67, 0x3c, 0xc0, 0x51, 0x4c, 0x93, 0x02, 0x96, 0xbb, 0x01, 0x13, 0x4f, 0x26, 0x03,
+	0x7f, 0x18, 0x8d, 0xb1, 0xae, 0x83, 0xb3, 0x85, 0xc1, 0xe4, 0x18, 0xc7, 0xe2, 0x2c, 0xa6, 0x29,
+	0xa6, 0x63, 0xf9, 0xa0, 0x7f, 0x4d, 0xd2, 0xbd, 0xea, 0x24, 0xc1, 0xc6, 0x54, 0x82, 0x1d, 0xc7,
+	0xd3, 0x27, 0x9d, 0xec, 0xfd, 0xb6, 0x02, 0x5b, 0xf7, 0x13, 0x4a, 0x04, 0x3d, 0x30, 0xd7, 0xe9,
+	0xd1, 0x4f, 0x27, 0x72, 0x0b, 0xda, 0x86, 0xcb, 0x31, 0x49, 0x28, 0x17, 0x2d, 0xe7, 0xba, 0x73,
+	0x6b, 0xb5, 0x67, 0xde, 0xd0, 0x4b, 0xd0, 0xcc, 0xc5, 0x62, 0xa3, 0xd6, 0x4a, 0xb6, 0x08, 0x36,
+	0x74, 0x30, 0x42, 0x6f, 0xc1, 0x15, 0xfb, 0xd6, 0x6a, 0xc8, 0xd5, 0x66, 0xc7, 0xf3, 0x17, 0x09,
+	0xe9, 0xe7, 0xa7, 0xe6, 0x39, 0xe8, 0x43, 0xb8, 0x32, 0x0c, 0x27, 0xa9, 0xa0, 0x49, 0xda, 0xba,
+	0x74, 0xbd, 0x21, 0xf3, 0xbb, 0x8b, 0xf3, 0x4b, 0xb1, 0xfb, 0xf7, 0x4d, 0xfe, 0x03, 0x2e, 0x92,
+	0xb3, 0x5e, 0x5e, 0xce, 0xfd, 0x18, 0xd6, 0x0a, 0x4b, 0x68, 0x03, 0x1a, 0x27, 0xf4, 0xcc, 0xdc,
+	0x50, 0x3d, 0xa2, 0x5d, 0x78, 0xe6, 0x94, 0x84, 0x13, 0x9a, 0x5d, 0xac, 0xd9, 0xb9, 0xb1, 0xe4,
+	0x68, 0x5d, 0xa9, 0xa7, 0xf7, 0xef, 0xad, 0xbc, 0xe1, 0x78, 0xb7, 0x00, 0xbd, 0x4f, 0xc5, 0x3c,
+	0x93, 0x08, 0x2e, 0x71, 0x32, 0xa6, 0xe6, 0x94, 0xec, 0xd9, 0x7b, 0x08, 0x9b, 0x87, 0x2c, 0xcd,
+	0xb7, 0xa6, 0x55, 0xac, 0x5f, 0x03, 0x88, 0x49, 0x40, 0xfb, 0x22, 0x3a, 0xa1, 0xdc, 0x90, 0xbe,
+	0xaa, 0x22, 0x8f, 0x54, 0xc0, 0xfb, 0xd5, 0x81, 0xad, 0xb9, 0x7a, 0x69, 0x2c, 0x7d, 0x45, 0xd1,
+	0xdb, 0xb0, 0x6a, 0x99, 0x4d, 0x65, 0xcd, 0x46, 0x4d, 0x39, 0xa6, 0x49, 0xe8, 0x36, 0x6c, 0x1c,
+	0x13, 0x16, 0xd2, 0x51, 0x3f, 0x8c, 0x86, 0xda, 0xae, 0x12, 0x40, 0x43, 0x02, 0x58, 0xd7, 0xf1,
+	0x43, 0x1b, 0x46, 0x37, 0x61, 0x9d, 0xd3, 0xcf, 0x44, 0x7f, 0x06, 0x6a, 0x23, 0x83, 0xba, 0xa6,
+	0xc2, 0x47, 0x39, 0xdc, 0x3b, 0xb0, 0xf5, 0x2e, 0x0d, 0xe9, 0x79, 0xd3, 0x95, 0x51, 0xf5, 0x8d,
+	0x03, 0x9b, 0x5a, 0x66, 0xcb, 0x78, 0x35, 0x57, 0x46, 0xf1, 0xa9, 0x41, 0x57, 0x4d, 0x44, 0xfa,
+	0xf3, 0x1e, 0x3c, 0x6b, 0x5e, 0x8c, 0x3d, 0x6b, 0x68, 0x6c, 0x33, 0xbc, 0x57, 0xe0, 0x79, 0xa9,
+	0xf0, 0x1c, 0x90, 0x32, 0xd4, 0x87, 0xf0, 0x82, 0x12, 0xc4, 0xda, 0xed, 0x3f, 0xea, 0xfb, 0x8b,
+	0xa3, 0xfd, 0x32, 0x2d, 0x67, 0xe4, 0xed, 0xce, 0x7c, 0x2c, 0x5a, 0xdd, 0x1a, 0xb7, 0xc9, 0x53,
+	0xfe, 0x0f, 0x6d, 0xdb, 0xb0, 0xa9, 0xb5, 0xad, 0x41, 0xd2, 0xdf, 0x0e, 0x6c, 0x17, 0xbf, 0xe0,
+	0x87, 0x54, 0x90, 0x11, 0x11, 0x04, 0x7d, 0x04, 0x1b, 0x51, 0xc2, 0x02, 0xc6, 0x49, 0xd8, 0x4f,
+	0x74, 0x89, 0x2c, 0xb5, 0xd9, 0xc1, 0x17, 0xec, 0x06, 0xbd, 0x75, 0x5b, 0xc8, 0x42, 0xe9, 0xc2,
+	0x55, 0x53, 0xb2, 0xaf, 0xfa, 0xa1, 0xf9, 0xd4, 0x5d, 0x5b, 0xd7, 0x76, 0x4f, 0xff, 0x91, 0x6d,
+	0x96, 0xbd, 0xa6, 0xd9, 0xaf, 0x22, 0xd2, 0x40, 0xcd, 0x63, 0xc6, 0x59, 0xfa, 0x44, 0x67, 0x37,
+	0x2a, 0xb3, 0x41, 0x6f, 0x57, 0x01, 0xef, 0x4f, 0xf9, 0xa5, 0x3e, 0x8e, 0x47, 0x53, 0x37, 0xe7,
+	0x37, 0x3e, 0x5c, 0x78, 0xe3, 0x1a, 0x92, 0x3e, 0x4d, 0x77, 0xec, 0xfc, 0xd1, 0x84, 0xad, 0x7d,
+	0x03, 0xd5, 0x8a, 0xf1, 0x8e, 0x42, 0x8c, 0xbe, 0x73, 0xe0, 0xb9, 0xa2, 0x48, 0xe8, 0xa2, 0x72,
+	0xba, 0xd7, 0x6c, 0xc2, 0xcc, 0x28, 0xf5, 0x3f, 0xb0, 0xa3, 0xd4, 0xdb, 0xf9, 0xf2, 0xf7, 0xbf,
+	0x7e, 0x58, 0xb9, 0xe9, 0xdd, 0x50, 0x33, 0xfa, 0x73, 0xfd, 0x79, 0x75, 0x25, 0xe0, 0x4f, 0xe8,
+	0x50, 0xa4, 0xb8, 0xfd, 0x45, 0x3e, 0xb7, 0xd3, 0x3d, 0xa7, 0x8d, 0x64, 0x73, 0x69, 0xce, 0xb4,
+	0x6c, 0xb4, 0xb3, 0x18, 0xcd, 0xf9, 0xce, 0xee, 0xd6, 0xe8, 0xa4, 0xde, 0xed, 0x0c, 0xcf, 0xcb,
+	0x48, 0xe3, 0x51, 0xb6, 0x9f, 0x41, 0x33, 0x05, 0x23, 0x91, 0xa1, 0x1f, 0x1d, 0x58, 0x2b, 0x74,
+	0x71, 0xe4, 0x2f, 0x3e, 0xa0, 0x6c, 0x7c, 0xb8, 0xb8, 0xf6, 0x7e, 0xdd, 0x3f, 0xe6, 0xd0, 0x2d,
+	0x63, 0x0b, 0x7d, 0x2d, 0xb5, 0xd3, 0xce, 0xcd, 0xd9, 0xaa, 0x71, 0xff, 0x5a, 0x1c, 0x19, 0xcd,
+	0xdc, 0x6a, 0x8e, 0x94, 0x66, 0x5f, 0x49, 0x20, 0xc5, 0xf1, 0xb1, 0xcc, 0x44, 0xa5, 0x83, 0xc6,
+	0xdd, 0x3e, 0x67, 0xe5, 0x07, 0xea, 0x4f, 0x2a, 0xcb, 0x47, 0xbb, 0x86, 0x5a, 0x3f, 0x49, 0xb5,
+	0x0a, 0x73, 0x69, 0x99, 0x5a, 0x65, 0x03, 0xac, 0xca, 0xc9, 0xdd, 0x0c, 0xcb, 0xae, 0xb7, 0x53,
+	0xae, 0x4d, 0x01, 0x0d, 0xb6, 0x2d, 0x7d, 0xcf, 0x8e, 0x2a, 0xf4, 0xbd, 0x03, 0x30, 0x9d, 0x55,
+	0xe8, 0xce, 0x52, 0x67, 0xcf, 0x21, 0xab, 0xee, 0x38, 0xde, 0xeb, 0x19, 0x3a, 0x1f, 0xed, 0x54,
+	0x31, 0x95, 0x43, 0x53, 0xa4, 0xfd, 0xec, 0xc0, 0xd5, 0xd9, 0x41, 0x86, 0x5e, 0x5d, 0xee, 0xd8,
+	0xb9, 0xf9, 0xe9, 0xfa, 0x75, 0xb7, 0x1b, 0x7f, 0x17, 0x51, 0xd6, 0xe4, 0x50, 0x75, 0x85, 0xb5,
+	0x42, 0x93, 0x46, 0xd5, 0x84, 0x54, 0xa9, 0xb9, 0x9b, 0x21, 0x79, 0xcd, 0xbd, 0x10, 0x5f, 0xca,
+	0xee, 0xdf, 0x4a, 0x30, 0x85, 0x89, 0xba, 0xcc, 0x67, 0x65, 0xa3, 0x77, 0xa1, 0xd9, 0x0d, 0x39,
+	0xed, 0x0b, 0x41, 0xda, 0x7f, 0x13, 0x5e, 0x94, 0xff, 0x6a, 0x2c, 0x84, 0xb0, 0xef, 0x96, 0xb6,
+	0xfe, 0x23, 0x75, 0xf4, 0x91, 0x33, 0xb8, 0x9c, 0x61, 0xb8, 0xfb, 0x4f, 0x00, 0x00, 0x00, 0xff,
+	0xff, 0xb4, 0xae, 0x02, 0xb9, 0x33, 0x0e, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
index 94c6fa34..2628e79c 100644
--- a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
@@ -725,61 +725,60 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 883 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xdd, 0x6e, 0x23, 0x35,
-	0x14, 0xae, 0x93, 0xb4, 0xdb, 0x9e, 0xa4, 0x5d, 0x30, 0xab, 0x92, 0x0d, 0x20, 0xaa, 0x11, 0xaa,
-	0x4a, 0x28, 0x63, 0x69, 0x56, 0xd5, 0x42, 0xb5, 0x08, 0x36, 0x2d, 0x4b, 0x97, 0x1f, 0xa9, 0x1a,
-	0x56, 0x48, 0x5c, 0x8d, 0x9c, 0x8c, 0x33, 0x6b, 0x3a, 0x63, 0x0f, 0x63, 0xa7, 0xd9, 0x08, 0xed,
-	0x0d, 0x42, 0x42, 0xe2, 0x76, 0xaf, 0x56, 0xbc, 0x08, 0xe2, 0x86, 0x87, 0xe0, 0x9a, 0x3b, 0x1e,
-	0x81, 0x07, 0x40, 0xb6, 0x27, 0x6d, 0xba, 0x69, 0x9a, 0xa6, 0x37, 0x23, 0xfb, 0xd8, 0xe7, 0x3b,
-	0xdf, 0xf9, 0xf9, 0xc6, 0x10, 0x26, 0x52, 0x26, 0x29, 0xf3, 0x13, 0x99, 0x52, 0x91, 0xf8, 0xb2,
-	0x48, 0x48, 0xc2, 0x44, 0x5e, 0x48, 0x2d, 0x89, 0x3b, 0xa2, 0x39, 0x57, 0xa4, 0xcb, 0x13, 0x4d,
-	0xbb, 0x29, 0x23, 0x34, 0xce, 0xb8, 0x20, 0xa7, 0xc1, 0x99, 0x25, 0x72, 0x5f, 0x6b, 0xf7, 0xad,
-	0x1f, 0x6e, 0x96, 0x98, 0xe3, 0x2b, 0xbe, 0x3b, 0x3c, 0x0d, 0x5a, 0x8f, 0xaf, 0x17, 0x8d, 0xe6,
-	0x9c, 0x28, 0x56, 0x9c, 0xf2, 0x1e, 0xeb, 0x49, 0xd1, 0xe7, 0x09, 0xa1, 0x42, 0x48, 0x4d, 0x35,
-	0x97, 0x42, 0xb9, 0x20, 0xad, 0x83, 0x9b, 0x12, 0x77, 0x94, 0x1c, 0xc8, 0xbd, 0x84, 0xeb, 0xa7,
-	0x83, 0xae, 0xdf, 0x93, 0x19, 0x71, 0x40, 0xc4, 0x1e, 0x74, 0x07, 0x7d, 0x92, 0xeb, 0x51, 0xce,
-	0x14, 0x61, 0x59, 0xae, 0x47, 0xee, 0xeb, 0x9c, 0xbc, 0xff, 0x10, 0xe0, 0x83, 0x82, 0x51, 0xcd,
-	0x9e, 0x18, 0xa8, 0x90, 0xfd, 0x38, 0x60, 0x4a, 0xe3, 0x4d, 0x58, 0xc9, 0x69, 0xc1, 0x84, 0x6e,
-	0xa2, 0x2d, 0xb4, 0xb3, 0x16, 0x96, 0x3b, 0x7c, 0x17, 0x56, 0x5d, 0x89, 0x78, 0xdc, 0xac, 0xd8,
-	0x93, 0x5b, 0x76, 0xff, 0x38, 0xc6, 0x7b, 0xb0, 0x6c, 0x97, 0xcd, 0xea, 0x16, 0xda, 0xa9, 0x07,
-	0xef, 0xfa, 0xb3, 0x0a, 0xe7, 0xbb, 0x48, 0xee, 0x36, 0xfe, 0x1e, 0x36, 0xb8, 0xe0, 0x9a, 0xd3,
-	0x34, 0x52, 0x79, 0xca, 0xb5, 0x6a, 0xd6, 0xb6, 0xaa, 0x3b, 0xf5, 0x20, 0x98, 0xed, 0x3f, 0xcd,
-	0xd7, 0xff, 0xd6, 0xb8, 0x86, 0xeb, 0x25, 0x92, 0xdd, 0xa9, 0xd6, 0x5d, 0x58, 0xb6, 0x2b, 0xfc,
-	0x1a, 0x54, 0x4f, 0xd8, 0xc8, 0xa6, 0xd2, 0x08, 0xcd, 0xd2, 0x7b, 0x89, 0xe0, 0x8d, 0xc3, 0x42,
-	0xe6, 0xa1, 0x1c, 0x86, 0x54, 0x24, 0x67, 0x79, 0x63, 0xa8, 0x09, 0x9a, 0xb1, 0x32, 0x6b, 0xbb,
-	0xc6, 0xdb, 0xb0, 0x51, 0xc8, 0x61, 0x74, 0xc2, 0x46, 0x51, 0x5e, 0xb0, 0x3e, 0x7f, 0x66, 0x33,
-	0x6f, 0x1c, 0x2d, 0x85, 0x8d, 0x42, 0x0e, 0xbf, 0x62, 0xa3, 0x63, 0x6b, 0xc5, 0x0f, 0xa0, 0x15,
-	0xb3, 0x94, 0x69, 0x16, 0xd1, 0x34, 0x8d, 0x62, 0xaa, 0x69, 0xd4, 0x2f, 0x64, 0x16, 0x9d, 0x57,
-	0x65, 0xf5, 0x68, 0x29, 0xdc, 0x74, 0x77, 0x1e, 0xa6, 0xe9, 0x21, 0xd5, 0xf4, 0x51, 0x21, 0x33,
-	0x9b, 0x48, 0x67, 0x15, 0x56, 0x34, 0x2d, 0x12, 0xa6, 0xbd, 0x5f, 0x10, 0xbc, 0xfe, 0x35, 0x57,
-	0xda, 0xda, 0xd5, 0xbc, 0x8e, 0x7c, 0x04, 0xb5, 0x53, 0xce, 0x86, 0x96, 0xd3, 0x46, 0xf0, 0xde,
-	0x9c, 0xaa, 0xfb, 0xdf, 0x71, 0x36, 0x0c, 0xad, 0x07, 0x7e, 0x07, 0x20, 0xa7, 0x09, 0x8b, 0xb4,
-	0x3c, 0x61, 0xc2, 0xf2, 0x5b, 0x0b, 0xd7, 0x8c, 0xe5, 0x89, 0x31, 0x78, 0x03, 0xc0, 0x93, 0x2c,
-	0x54, 0x2e, 0x85, 0x62, 0xf8, 0xbe, 0xa1, 0x69, 0x2c, 0x4d, 0x64, 0xdb, 0x34, 0xb7, 0xcd, 0xe5,
-	0x75, 0xbc, 0x0d, 0xb7, 0x05, 0x7b, 0xa6, 0xa3, 0x89, 0x90, 0x6e, 0x80, 0xd6, 0x8d, 0xf9, 0xf8,
-	0x2c, 0x6c, 0x04, 0xb7, 0xbf, 0x60, 0xfa, 0xc2, 0x30, 0x5e, 0xd6, 0x94, 0x1b, 0xa7, 0xed, 0xed,
-	0x00, 0x3e, 0xb4, 0x2d, 0x98, 0x17, 0xc3, 0xfb, 0xa7, 0x02, 0x6f, 0x7d, 0x23, 0x63, 0xde, 0x1f,
-	0x1d, 0xc8, 0x74, 0x90, 0x89, 0x47, 0x34, 0xe3, 0x29, 0x3f, 0x6f, 0xc9, 0x65, 0xbc, 0x9e, 0xc2,
-	0x7a, 0x66, 0x5c, 0x78, 0xcf, 0x09, 0xbc, 0x59, 0xb1, 0x65, 0xea, 0xcc, 0x26, 0x78, 0x45, 0x04,
-	0x77, 0x56, 0x42, 0x85, 0x17, 0x81, 0x5b, 0x7f, 0x21, 0x68, 0x4c, 0x9e, 0xe3, 0x0d, 0xa8, 0xf0,
-	0xb8, 0x24, 0x53, 0xe1, 0x31, 0xfe, 0x0c, 0x56, 0x7a, 0x56, 0x29, 0xb6, 0x48, 0xf5, 0x60, 0xfb,
-	0x0a, 0x45, 0x9d, 0x47, 0x1f, 0x1d, 0x2d, 0x85, 0xa5, 0x9f, 0x41, 0x18, 0xe4, 0xb1, 0x41, 0xa8,
-	0x2e, 0x8a, 0xe0, 0xfc, 0xf0, 0x1d, 0xa8, 0xc5, 0x85, 0xcc, 0x9b, 0xb5, 0x72, 0xfa, 0xed, 0xae,
-	0xb3, 0x0c, 0xd5, 0x4c, 0xc6, 0xc1, 0x1f, 0xb7, 0x00, 0x77, 0x4a, 0x24, 0xdb, 0x8c, 0x87, 0x06,
-	0x0d, 0xbf, 0x40, 0x50, 0x9f, 0x90, 0x38, 0xde, 0x5d, 0xe4, 0x4f, 0xd0, 0x9a, 0x37, 0x90, 0xde,
-	0xde, 0xcf, 0x7f, 0xff, 0xfb, 0xa2, 0x42, 0xbc, 0xb6, 0xf9, 0x7f, 0xfe, 0xe4, 0x54, 0xf4, 0x49,
-	0x5e, 0xc8, 0x1f, 0x58, 0x4f, 0x2b, 0xd2, 0x26, 0x5c, 0x28, 0x4d, 0x45, 0x8f, 0x29, 0xd2, 0x7e,
-	0xee, 0xfe, 0xaf, 0x6a, 0x1f, 0xb5, 0xf1, 0xef, 0x08, 0xe0, 0x5c, 0x0f, 0xf8, 0x83, 0xd9, 0x61,
-	0xa6, 0xb4, 0xdb, 0xda, 0xbd, 0xde, 0x65, 0x27, 0x31, 0x2f, 0xb0, 0x04, 0x77, 0xf1, 0x02, 0x04,
-	0xf1, 0x6f, 0x08, 0x56, 0xc7, 0xb2, 0xc1, 0xef, 0xcf, 0x0e, 0xf7, 0x8a, 0xb4, 0xe6, 0x57, 0xeb,
-	0x22, 0x19, 0x33, 0xe2, 0x33, 0xa8, 0x94, 0x4c, 0x48, 0xfb, 0x39, 0xfe, 0x15, 0x41, 0x7d, 0x42,
-	0x62, 0x57, 0x35, 0x70, 0x5a, 0x89, 0xad, 0xcd, 0xf1, 0xed, 0xf1, 0xe3, 0xe5, 0x7f, 0x6e, 0xde,
-	0xab, 0x31, 0x93, 0xf6, 0x22, 0x4c, 0xfe, 0x44, 0x70, 0xe7, 0x32, 0x7d, 0xe1, 0xbd, 0x1b, 0xe9,
-	0x71, 0x7e, 0xb9, 0xbe, 0xb4, 0x24, 0x0f, 0xbd, 0x4f, 0xaf, 0x4f, 0x72, 0x3f, 0xbb, 0x24, 0xa0,
-	0x99, 0xb8, 0x97, 0x08, 0x1a, 0x93, 0x6f, 0x14, 0xfe, 0xf0, 0x8a, 0x3a, 0x4e, 0xbf, 0x65, 0x33,
-	0x0b, 0xd9, 0xb1, 0x1c, 0x1f, 0x78, 0xf7, 0x17, 0xe0, 0x18, 0x4f, 0xe0, 0xef, 0xa3, 0x76, 0xe7,
-	0x63, 0x78, 0xbb, 0x27, 0xb3, 0x99, 0x7c, 0x3a, 0x6f, 0x4e, 0xeb, 0xfa, 0xd8, 0xb0, 0x38, 0x46,
-	0xdd, 0x15, 0x4b, 0xe7, 0xde, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x72, 0x99, 0xef, 0xc8, 0xad,
-	0x09, 0x00, 0x00,
+	// 875 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x56, 0xdb, 0x8e, 0xdb, 0x44,
+	0x18, 0xc6, 0x49, 0x36, 0xcd, 0xfe, 0x9b, 0x4d, 0x61, 0xa8, 0x96, 0xd4, 0x80, 0xa8, 0x2c, 0x54,
+	0x95, 0xb0, 0xd8, 0x92, 0xab, 0x55, 0xa1, 0x2a, 0x82, 0x66, 0x43, 0xa1, 0x1c, 0xa4, 0xc8, 0x54,
+	0x48, 0x5c, 0x59, 0x93, 0x78, 0xe2, 0x0e, 0xb5, 0x3d, 0xc6, 0x9e, 0x64, 0x1b, 0x21, 0x6e, 0x10,
+	0x12, 0x12, 0xb7, 0x7b, 0x85, 0x78, 0x11, 0xc4, 0x0d, 0x0f, 0xc1, 0x35, 0x77, 0x3c, 0x02, 0x0f,
+	0xc0, 0x1c, 0x9c, 0x4d, 0xb6, 0x89, 0x73, 0xd8, 0x1b, 0x6b, 0xe6, 0x9f, 0xff, 0xf0, 0xfd, 0x87,
+	0x6f, 0xc6, 0xe0, 0x85, 0x8c, 0x85, 0x11, 0xb1, 0x43, 0x16, 0xe1, 0x24, 0xb4, 0x59, 0x16, 0x3a,
+	0x21, 0x49, 0xd2, 0x8c, 0x71, 0xe6, 0xe8, 0x23, 0x9c, 0xd2, 0xdc, 0x19, 0xd0, 0x90, 0xe3, 0x41,
+	0x44, 0x1c, 0x1c, 0xc4, 0x34, 0x71, 0x26, 0xee, 0x85, 0xc4, 0xd7, 0x5f, 0x25, 0xb7, 0x95, 0x1d,
+	0x6a, 0x17, 0x3e, 0x67, 0x2a, 0xb6, 0x3e, 0x9c, 0xb8, 0xe6, 0xe3, 0xed, 0xa2, 0x89, 0x8f, 0x93,
+	0x93, 0x6c, 0x42, 0x87, 0x64, 0xc8, 0x92, 0x11, 0x0d, 0x1d, 0x9c, 0x24, 0x8c, 0x63, 0x4e, 0x59,
+	0x92, 0xeb, 0x20, 0xe6, 0xe9, 0x55, 0x81, 0x6b, 0x48, 0xda, 0xc9, 0xdd, 0x90, 0xf2, 0xa7, 0xe3,
+	0x81, 0x3d, 0x64, 0xb1, 0xa3, 0x1d, 0x39, 0xea, 0x60, 0x30, 0x1e, 0x39, 0x29, 0x9f, 0xa6, 0x24,
+	0x77, 0x48, 0x2c, 0x16, 0xfa, 0xab, 0x8d, 0xac, 0xff, 0x0c, 0x40, 0xa7, 0x19, 0xc1, 0x9c, 0x3c,
+	0x91, 0xae, 0x3c, 0xf2, 0xfd, 0x98, 0xe4, 0x1c, 0x1d, 0x41, 0x3d, 0xc5, 0x19, 0x49, 0x78, 0xdb,
+	0xb8, 0x65, 0xdc, 0xd9, 0xf7, 0x8a, 0x1d, 0xba, 0x09, 0x0d, 0x5d, 0x22, 0x1a, 0xb4, 0x2b, 0xea,
+	0xe4, 0x9a, 0xda, 0x3f, 0x0e, 0xd0, 0x09, 0xec, 0xa9, 0x65, 0xbb, 0x2a, 0xe4, 0x07, 0xee, 0x5b,
+	0x76, 0x59, 0xe1, 0x6c, 0x1d, 0x49, 0x6b, 0xa3, 0x6f, 0xa1, 0x45, 0x13, 0xca, 0x29, 0x8e, 0xfc,
+	0x3c, 0x8d, 0x28, 0xcf, 0xdb, 0xb5, 0x5b, 0x55, 0x61, 0xef, 0x96, 0xdb, 0x2f, 0xe3, 0xb5, 0xbf,
+	0x96, 0xa6, 0xde, 0x61, 0xe1, 0x49, 0xed, 0x72, 0xf3, 0x26, 0xec, 0xa9, 0x15, 0x7a, 0x19, 0xaa,
+	0xcf, 0xc8, 0x54, 0xa5, 0xd2, 0xf4, 0xe4, 0xd2, 0xfa, 0xcd, 0x80, 0x57, 0x7b, 0x19, 0x4b, 0x3d,
+	0x76, 0xe6, 0x89, 0x42, 0x5d, 0xe4, 0x8d, 0xa0, 0x96, 0xe0, 0x98, 0x14, 0x59, 0xab, 0x35, 0xba,
+	0x0d, 0xad, 0x8c, 0x9d, 0xf9, 0xc2, 0xcc, 0x4f, 0x33, 0x32, 0xa2, 0xcf, 0x55, 0xe6, 0xcd, 0xcf,
+	0x5e, 0xf2, 0x9a, 0x42, 0xfe, 0x05, 0x99, 0xf6, 0x95, 0x14, 0x3d, 0x00, 0x33, 0x20, 0x11, 0xe1,
+	0x62, 0x7e, 0xa2, 0xc8, 0x0f, 0x30, 0xc7, 0xfe, 0x28, 0x63, 0xb1, 0x3f, 0xaf, 0x4a, 0x43, 0xd8,
+	0x1c, 0x69, 0x9d, 0x87, 0x51, 0xd4, 0x13, 0x1a, 0x8f, 0x84, 0x82, 0x4a, 0xa4, 0xdb, 0x80, 0x3a,
+	0xc7, 0x59, 0x48, 0xb8, 0xf5, 0xb3, 0x01, 0xaf, 0x7c, 0x49, 0x73, 0xae, 0xe4, 0xf9, 0xa6, 0x8e,
+	0xbc, 0x0f, 0xb5, 0x09, 0x25, 0x67, 0x0a, 0x53, 0xcb, 0x7d, 0x7b, 0x43, 0xd5, 0xed, 0x6f, 0x84,
+	0xae, 0xa7, 0x2c, 0xd0, 0x9b, 0x00, 0x29, 0x0e, 0xc5, 0xcc, 0xb3, 0x67, 0x24, 0x51, 0xf8, 0xf6,
+	0xbd, 0x7d, 0x29, 0x79, 0x22, 0x05, 0xd6, 0x18, 0xd0, 0x22, 0x8a, 0x3c, 0x15, 0xe3, 0x4a, 0xd0,
+	0x3d, 0x09, 0x53, 0x4a, 0x04, 0x8c, 0xea, 0x36, 0x6d, 0x2e, 0xd4, 0x45, 0x15, 0xaf, 0x27, 0xe4,
+	0x39, 0xf7, 0x17, 0x42, 0xea, 0x01, 0x3a, 0x94, 0xe2, 0xfe, 0x45, 0x58, 0x1f, 0xae, 0x7f, 0x4a,
+	0xf8, 0xa5, 0x61, 0x5c, 0xd5, 0x94, 0x2b, 0xa7, 0x6d, 0xdd, 0x01, 0xd4, 0x53, 0x2d, 0xd8, 0x14,
+	0xc3, 0xfa, 0xa7, 0x02, 0xaf, 0x7f, 0xc5, 0x02, 0x3a, 0x9a, 0x9e, 0xb2, 0x68, 0x1c, 0x27, 0x8f,
+	0x70, 0x4c, 0x23, 0x3a, 0x6f, 0xc9, 0x2a, 0x5c, 0x4f, 0xe1, 0x30, 0x96, 0x26, 0x74, 0xa8, 0x09,
+	0x2e, 0x00, 0xca, 0x32, 0x75, 0xcb, 0x01, 0xae, 0x89, 0xa0, 0xcf, 0x0a, 0x57, 0xde, 0x65, 0xc7,
+	0xe6, 0x5f, 0x06, 0x34, 0x17, 0xcf, 0x51, 0x0b, 0x2a, 0x82, 0x95, 0x1a, 0x8c, 0x58, 0xa1, 0x8f,
+	0xa1, 0x3e, 0x54, 0x4c, 0x51, 0x45, 0x3a, 0x70, 0x6f, 0xaf, 0x61, 0xd4, 0x3c, 0xfa, 0x54, 0xcc,
+	0x68, 0x61, 0x27, 0x3d, 0x8c, 0xd3, 0x40, 0x7a, 0xa8, 0xee, 0xea, 0x41, 0xdb, 0xa1, 0x1b, 0x50,
+	0x0b, 0x04, 0xcd, 0x04, 0xa7, 0xf5, 0xf4, 0xab, 0x5d, 0x77, 0x0f, 0xaa, 0x22, 0x17, 0xf7, 0x8f,
+	0x6b, 0x80, 0xba, 0x85, 0x27, 0xd5, 0x8c, 0x87, 0xd2, 0x1b, 0x3a, 0x37, 0xe0, 0x60, 0x81, 0xe2,
+	0xe8, 0x78, 0x97, 0x9b, 0xc0, 0xdc, 0x34, 0x90, 0xd6, 0xc9, 0x4f, 0x7f, 0xff, 0x7b, 0x5e, 0x71,
+	0xac, 0x8e, 0xbc, 0x3f, 0x7f, 0xd0, 0x2c, 0xfa, 0x50, 0x5c, 0x86, 0xdf, 0x91, 0x21, 0xcf, 0x9d,
+	0x8e, 0x43, 0x93, 0x9c, 0xe3, 0x64, 0x28, 0x6e, 0xcb, 0xce, 0x8f, 0xfa, 0x7e, 0xcd, 0xef, 0x1b,
+	0x1d, 0xf4, 0xbb, 0x01, 0x30, 0xe7, 0x03, 0x7a, 0xb7, 0x3c, 0xcc, 0x12, 0x77, 0xcd, 0xe3, 0xed,
+	0x94, 0x35, 0xc5, 0x2c, 0x57, 0x01, 0x3c, 0x46, 0x3b, 0x00, 0x44, 0xbf, 0x1a, 0xd0, 0x98, 0xd1,
+	0x06, 0xbd, 0x53, 0x1e, 0xee, 0x05, 0x6a, 0x6d, 0xae, 0xd6, 0x65, 0x30, 0x72, 0xc4, 0x4b, 0xa0,
+	0x14, 0x48, 0x04, 0x26, 0xf4, 0x8b, 0x68, 0xe0, 0x02, 0xc5, 0xd6, 0x35, 0x70, 0x99, 0x89, 0xe6,
+	0xd1, 0x4c, 0x7b, 0xf6, 0x78, 0xd9, 0x9f, 0xc8, 0xf7, 0x6a, 0x86, 0xa4, 0xb3, 0x0b, 0x92, 0x3f,
+	0x0d, 0xb8, 0xb1, 0x8a, 0x5f, 0xe8, 0xe4, 0x4a, 0x7c, 0xdc, 0x5c, 0xae, 0xcf, 0x15, 0xc8, 0x9e,
+	0xf5, 0xd1, 0xf6, 0x20, 0xef, 0xc7, 0x2b, 0x02, 0xca, 0x89, 0x13, 0x6f, 0x54, 0x73, 0xf1, 0x8d,
+	0x42, 0xef, 0xad, 0xa9, 0xe3, 0xf2, 0x5b, 0x56, 0x5a, 0xc8, 0xae, 0xc2, 0xf8, 0xc0, 0xba, 0xb7,
+	0x03, 0xc6, 0x60, 0xc1, 0xbf, 0xc0, 0xd6, 0xfd, 0x00, 0xde, 0x10, 0xbf, 0x19, 0xa5, 0x78, 0xba,
+	0xaf, 0x2d, 0xf3, 0xba, 0x2f, 0x51, 0xf4, 0x8d, 0x41, 0x5d, 0xc1, 0xb9, 0xfb, 0x7f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0x72, 0x99, 0xef, 0xc8, 0xad, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/common.pb.go b/googleapis/bigtable/admin/v2/common.pb.go
index 61220ec9..ffb3ee32 100644
--- a/googleapis/bigtable/admin/v2/common.pb.go
+++ b/googleapis/bigtable/admin/v2/common.pb.go
@@ -52,21 +52,21 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 250 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0xc1, 0x4a, 0x33, 0x31,
-	0x14, 0x85, 0xff, 0xfe, 0x82, 0xc2, 0x74, 0x33, 0xcc, 0xaa, 0x94, 0x3e, 0x81, 0x60, 0x2e, 0xd4,
-	0xa5, 0xb8, 0xb0, 0xcd, 0xa8, 0xb3, 0xd1, 0xc1, 0x8c, 0x0b, 0x57, 0x25, 0x89, 0xe9, 0x35, 0x30,
-	0xc9, 0x0d, 0x93, 0x74, 0xa0, 0x6f, 0x2f, 0xcd, 0x28, 0xae, 0x04, 0x77, 0x07, 0xce, 0xc9, 0xf7,
-	0x91, 0x5b, 0x70, 0x24, 0xc2, 0xde, 0x30, 0xa4, 0x5e, 0x7a, 0x64, 0x34, 0x20, 0xa0, 0xf1, 0x61,
-	0xa0, 0x44, 0x30, 0x55, 0x32, 0xd8, 0x08, 0xca, 0x62, 0x92, 0xaa, 0x37, 0x20, 0xdf, 0x9d, 0xf5,
-	0x30, 0xae, 0x41, 0x93, 0x73, 0xe4, 0x59, 0x5e, 0x56, 0x8b, 0x2f, 0xca, 0xf7, 0x8c, 0xe5, 0x19,
-	0x1b, 0xd7, 0xcb, 0xe6, 0x6f, 0x7c, 0x19, 0x2c, 0x44, 0x33, 0x8c, 0x56, 0x1b, 0x4d, 0x7e, 0x6f,
-	0x11, 0xa4, 0xf7, 0x94, 0x64, 0xb2, 0xe4, 0xe3, 0x24, 0x59, 0xde, 0xa0, 0x4d, 0x1f, 0x07, 0xc5,
-	0x34, 0x39, 0x98, 0x70, 0x90, 0x0b, 0x75, 0xd8, 0x43, 0x48, 0xc7, 0x60, 0x22, 0x24, 0xeb, 0x4c,
-	0x4c, 0xd2, 0x85, 0x9f, 0x34, 0x3d, 0xbe, 0xbc, 0x2d, 0xe6, 0x22, 0xd1, 0x20, 0xd1, 0x74, 0xc7,
-	0x60, 0xaa, 0x55, 0xb1, 0x10, 0xdd, 0xf3, 0xcb, 0xdd, 0x43, 0xbd, 0xeb, 0xde, 0xda, 0x7a, 0xf7,
-	0xfa, 0x24, 0xda, 0x7a, 0xdb, 0xdc, 0x37, 0x35, 0x2f, 0xff, 0x55, 0x17, 0xc5, 0x99, 0x10, 0xbc,
-	0x9c, 0x9d, 0xc2, 0x23, 0xe7, 0xe5, 0xff, 0xcd, 0x55, 0xb1, 0xd2, 0xe4, 0xd8, 0x6f, 0xdf, 0xdc,
-	0xcc, 0xb7, 0xf9, 0x1c, 0xed, 0xc9, 0xd5, 0xce, 0xd4, 0x79, 0x96, 0x5e, 0x7f, 0x06, 0x00, 0x00,
-	0xff, 0xff, 0x7f, 0xfd, 0xc6, 0x6a, 0x5e, 0x01, 0x00, 0x00,
+	// 248 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x90, 0x41, 0x4b, 0xc3, 0x30,
+	0x18, 0x86, 0x9d, 0x82, 0x42, 0x77, 0x29, 0x3d, 0x8d, 0xb1, 0x5f, 0x20, 0x98, 0x0f, 0xe6, 0x51,
+	0x3c, 0xb8, 0xa5, 0x6a, 0x2f, 0x5a, 0x4c, 0x3d, 0x78, 0x1a, 0x49, 0xcd, 0x3e, 0x03, 0x4d, 0xbe,
+	0xd0, 0x64, 0x05, 0xff, 0xbd, 0x5d, 0xaa, 0x78, 0x12, 0xbc, 0x84, 0x17, 0xde, 0x27, 0xef, 0x43,
+	0x92, 0x71, 0x24, 0xc2, 0x4e, 0x33, 0xa4, 0x4e, 0x3a, 0x64, 0xd4, 0x23, 0xa0, 0x76, 0xbe, 0xa7,
+	0x48, 0x30, 0x55, 0xd2, 0x9b, 0x00, 0xca, 0x60, 0x94, 0xaa, 0xd3, 0x20, 0xdf, 0xad, 0x71, 0x30,
+	0xac, 0xa1, 0x25, 0x6b, 0xc9, 0xb1, 0x44, 0x16, 0x8b, 0xef, 0x95, 0x1f, 0x8c, 0x25, 0x8c, 0x0d,
+	0xeb, 0x65, 0xf5, 0xbf, 0xfd, 0xf1, 0x80, 0xa0, 0xfb, 0xc1, 0xb4, 0xba, 0x25, 0xb7, 0x37, 0x08,
+	0xd2, 0x39, 0x8a, 0x32, 0x1a, 0x72, 0x61, 0x92, 0x2c, 0x6f, 0xd0, 0xc4, 0x8f, 0x83, 0x62, 0xa3,
+	0x19, 0xa6, 0x39, 0x48, 0x85, 0x3a, 0xec, 0xc1, 0xc7, 0x4f, 0xaf, 0x03, 0x44, 0x63, 0x75, 0x88,
+	0xd2, 0xfa, 0xdf, 0x34, 0x5d, 0xbe, 0xbc, 0xcd, 0xe6, 0x22, 0x52, 0x2f, 0x51, 0x37, 0x23, 0x59,
+	0xac, 0xb2, 0x85, 0x68, 0x9e, 0x5f, 0xee, 0x1e, 0xca, 0x5d, 0xf3, 0x56, 0x97, 0xbb, 0xd7, 0x27,
+	0x51, 0x97, 0xdb, 0xea, 0xbe, 0x2a, 0x79, 0x7e, 0x52, 0x5c, 0x64, 0x67, 0x42, 0xf0, 0x7c, 0x76,
+	0x0c, 0x8f, 0x9c, 0xe7, 0xa7, 0x9b, 0xab, 0x6c, 0x35, 0x6a, 0xd9, 0x5f, 0xcf, 0xdc, 0xcc, 0xb7,
+	0xe9, 0x3b, 0xea, 0xa3, 0xab, 0x9e, 0xa9, 0xf3, 0x24, 0xbd, 0xfe, 0x0a, 0x00, 0x00, 0xff, 0xff,
+	0x7f, 0xfd, 0xc6, 0x6a, 0x5e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/instance.pb.go b/googleapis/bigtable/admin/v2/instance.pb.go
index f00fb880..f0172176 100644
--- a/googleapis/bigtable/admin/v2/instance.pb.go
+++ b/googleapis/bigtable/admin/v2/instance.pb.go
@@ -152,31 +152,31 @@ func init() {
 }
 
 var fileDescriptor3 = []byte{
-	// 415 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xd1, 0x8a, 0xd4, 0x30,
-	0x14, 0x86, 0xed, 0xec, 0x54, 0x67, 0xb3, 0xab, 0x0e, 0xd1, 0x8b, 0x32, 0x08, 0x8e, 0x05, 0xb1,
-	0x57, 0x09, 0x8c, 0x78, 0xa9, 0xd0, 0xd9, 0x56, 0x29, 0x4a, 0x77, 0x6d, 0x0b, 0x8b, 0xde, 0x94,
-	0x4c, 0x9b, 0x0d, 0x81, 0x36, 0x29, 0x4d, 0x76, 0x60, 0xde, 0xcc, 0x17, 0xf0, 0xbd, 0x24, 0x69,
-	0x47, 0x5c, 0xb0, 0xb0, 0xec, 0x5d, 0xff, 0x73, 0xfe, 0x9e, 0xff, 0x4b, 0x72, 0xc0, 0x67, 0x26,
-	0x25, 0x6b, 0x28, 0x62, 0xb2, 0x21, 0x82, 0x21, 0xd9, 0x33, 0xcc, 0xa8, 0xe8, 0x7a, 0xa9, 0x25,
-	0x1e, 0x5a, 0xa4, 0xe3, 0x0a, 0xef, 0x38, 0xd3, 0x64, 0xd7, 0x50, 0x4c, 0xea, 0x96, 0x0b, 0xbc,
-	0xdf, 0x60, 0x2e, 0x94, 0x26, 0xa2, 0xa2, 0xc8, 0x7a, 0xa1, 0x37, 0xce, 0x39, 0x1a, 0x91, 0x35,
-	0xa2, 0xfd, 0x66, 0x95, 0xdc, 0x2f, 0x81, 0x74, 0x1c, 0x2b, 0xda, 0xef, 0x79, 0x45, 0x2b, 0x29,
-	0x6e, 0x38, 0xc3, 0x44, 0x08, 0xa9, 0x89, 0xe6, 0x52, 0xa8, 0x21, 0x64, 0x15, 0x3d, 0x14, 0xb6,
-	0x92, 0x6d, 0x2b, 0xc5, 0x30, 0xc5, 0xff, 0xe5, 0x80, 0x45, 0x32, 0xd2, 0x43, 0x08, 0xe6, 0x82,
-	0xb4, 0xd4, 0x73, 0xd6, 0x4e, 0x70, 0x9a, 0xd9, 0x6f, 0xf8, 0x06, 0x9c, 0xd7, 0x5c, 0x75, 0x0d,
-	0x39, 0x94, 0xb6, 0x37, 0xb3, 0xbd, 0xb3, 0xb1, 0x96, 0x1a, 0xcb, 0x27, 0xe0, 0x2a, 0x4d, 0x34,
-	0xf5, 0x4e, 0xd6, 0x4e, 0xf0, 0x6c, 0x13, 0xa0, 0xa9, 0xe3, 0xa3, 0x63, 0x12, 0xca, 0x8d, 0x3f,
-	0x1b, 0x7e, 0xf3, 0x3f, 0x00, 0xd7, 0x6a, 0xf8, 0x02, 0x3c, 0xcf, 0x8b, 0xb0, 0x88, 0xcb, 0xf4,
-	0xb2, 0x28, 0xbf, 0xa6, 0x97, 0xd7, 0xe9, 0xf2, 0x11, 0x3c, 0x05, 0x6e, 0x16, 0x87, 0xd1, 0x8f,
-	0xa5, 0x03, 0xcf, 0xc1, 0xe2, 0x22, 0x8b, 0xc3, 0x22, 0x49, 0xbf, 0x2c, 0x67, 0xfe, 0xef, 0x19,
-	0x78, 0x72, 0xd1, 0xdc, 0x2a, 0x4d, 0xfb, 0xff, 0x92, 0xaf, 0xc0, 0xa2, 0x91, 0x95, 0xbd, 0xb3,
-	0x91, 0xfa, 0xaf, 0x86, 0x1f, 0xef, 0x22, 0xbf, 0x9b, 0x46, 0x1e, 0x13, 0xee, 0x10, 0xc3, 0xd7,
-	0xe0, 0xcc, 0x3c, 0x0f, 0x2d, 0x85, 0xac, 0xa9, 0xf2, 0xe6, 0x6b, 0x27, 0x70, 0x33, 0x60, 0x4b,
-	0xa9, 0xa9, 0xc0, 0x6b, 0xf0, 0xb2, 0xa6, 0x37, 0xe4, 0xb6, 0xd1, 0xa5, 0xd2, 0xb2, 0x27, 0x8c,
-	0x96, 0xfa, 0xd0, 0x51, 0xcf, 0xb5, 0x71, 0x6f, 0xa7, 0xe3, 0xf2, 0xc1, 0x5d, 0x1c, 0x3a, 0x9a,
-	0xc1, 0x71, 0xc4, 0x3f, 0x35, 0xff, 0xfb, 0x83, 0xee, 0xca, 0xa8, 0x2c, 0xce, 0x93, 0x9f, 0x46,
-	0x9d, 0x18, 0x15, 0x25, 0x79, 0xb8, 0xfd, 0x16, 0x47, 0xcb, 0xf9, 0x16, 0x83, 0x57, 0x95, 0x6c,
-	0x27, 0x91, 0xb6, 0x4f, 0x8f, 0xaf, 0x76, 0x65, 0x36, 0xe6, 0xca, 0xd9, 0x3d, 0xb6, 0xab, 0xf3,
-	0xfe, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x78, 0x6c, 0xbc, 0xfe, 0x2f, 0x03, 0x00, 0x00,
+	// 412 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xd1, 0x8a, 0xd4, 0x30,
+	0x14, 0xb5, 0xb3, 0x53, 0x9d, 0xcd, 0xae, 0x5a, 0xa2, 0x0f, 0x65, 0x10, 0xd4, 0x82, 0xb8, 0x4f,
+	0x09, 0x8c, 0xf8, 0xa8, 0x30, 0xb3, 0xad, 0x52, 0x94, 0xee, 0xda, 0x16, 0x16, 0x7d, 0x29, 0x99,
+	0x36, 0x1b, 0x02, 0x6d, 0x52, 0x9a, 0xec, 0xc0, 0xfe, 0x99, 0x3f, 0xe0, 0x7f, 0xd9, 0xa4, 0x1d,
+	0x71, 0xc0, 0x82, 0xcc, 0x4b, 0xc9, 0xb9, 0xf7, 0xf4, 0x9c, 0x93, 0xdc, 0x0b, 0x3e, 0x31, 0x29,
+	0x59, 0x4d, 0x11, 0x93, 0x35, 0x11, 0x0c, 0xc9, 0x8e, 0x61, 0x46, 0x45, 0xdb, 0x49, 0x2d, 0xf1,
+	0xd0, 0x22, 0x2d, 0x57, 0x78, 0xcb, 0x99, 0x26, 0xdb, 0x9a, 0x62, 0x52, 0x35, 0x5c, 0xe0, 0xdd,
+	0x0a, 0x73, 0xa1, 0x34, 0x11, 0x25, 0x45, 0x96, 0x0b, 0xfd, 0x51, 0x67, 0x4f, 0x44, 0x96, 0x88,
+	0x76, 0xab, 0x65, 0xfc, 0x7f, 0x0e, 0xfd, 0x07, 0x2b, 0xda, 0xed, 0x78, 0x49, 0x4b, 0x29, 0x6e,
+	0x39, 0xc3, 0x44, 0x08, 0xa9, 0x89, 0xe6, 0x52, 0xa8, 0xc1, 0x64, 0x19, 0x1e, 0x1b, 0xb6, 0x94,
+	0x4d, 0x23, 0xc5, 0xa0, 0x12, 0xfc, 0x74, 0xc0, 0x22, 0x1e, 0xd3, 0x43, 0x08, 0xe6, 0x82, 0x34,
+	0xd4, 0x77, 0x5e, 0x39, 0x17, 0xa7, 0xa9, 0x3d, 0xc3, 0xd7, 0xe0, 0xbc, 0xe2, 0xaa, 0xad, 0xc9,
+	0x7d, 0x61, 0x7b, 0x33, 0xdb, 0x3b, 0x1b, 0x6b, 0x89, 0xa1, 0x7c, 0x04, 0x6e, 0x2f, 0xa0, 0xa9,
+	0x7f, 0xd2, 0xf7, 0x9e, 0xac, 0x2e, 0xd0, 0xd4, 0xf5, 0xd1, 0xde, 0x09, 0x65, 0x86, 0x9f, 0x0e,
+	0xbf, 0x05, 0xef, 0x81, 0x6b, 0x31, 0x7c, 0x06, 0x9e, 0x66, 0xf9, 0x3a, 0x8f, 0x8a, 0xe4, 0x2a,
+	0x2f, 0xbe, 0x24, 0x57, 0x37, 0x89, 0xf7, 0x00, 0x9e, 0x02, 0x37, 0x8d, 0xd6, 0xe1, 0x77, 0xcf,
+	0x81, 0xe7, 0x60, 0x71, 0xd9, 0x9f, 0xf3, 0x38, 0xf9, 0xec, 0xcd, 0x82, 0x5f, 0x33, 0xf0, 0xe8,
+	0xb2, 0xbe, 0x53, 0x9a, 0x76, 0xff, 0x4c, 0xbe, 0x04, 0x8b, 0x5a, 0x96, 0xf6, 0xcd, 0xc6, 0xd4,
+	0x7f, 0x30, 0xfc, 0x70, 0x18, 0xf9, 0xed, 0x74, 0xe4, 0xd1, 0xe1, 0x20, 0x31, 0x7c, 0x09, 0xce,
+	0xcc, 0x78, 0x68, 0x21, 0x64, 0x45, 0x95, 0x3f, 0xef, 0x45, 0xdc, 0x14, 0xd8, 0x52, 0x62, 0x2a,
+	0xf0, 0x06, 0x3c, 0xaf, 0xe8, 0x2d, 0xb9, 0xab, 0x75, 0xa1, 0xb4, 0xec, 0x08, 0xa3, 0x85, 0xbe,
+	0x6f, 0xa9, 0xef, 0x5a, 0xbb, 0x37, 0xd3, 0x76, 0xd9, 0xc0, 0xce, 0x7b, 0x72, 0x0a, 0x47, 0x89,
+	0xbf, 0x6a, 0xc1, 0xb7, 0xa3, 0xde, 0xca, 0xa0, 0x34, 0xca, 0xe2, 0x1f, 0x06, 0x9d, 0x18, 0x14,
+	0xc6, 0xd9, 0x7a, 0xf3, 0x35, 0x0a, 0xbd, 0xf9, 0x06, 0x83, 0x17, 0xfd, 0x4a, 0x4c, 0x46, 0xda,
+	0x3c, 0xde, 0x4f, 0xed, 0xda, 0x6c, 0xcc, 0xb5, 0xb3, 0x7d, 0x68, 0x57, 0xe7, 0xdd, 0xef, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x78, 0x6c, 0xbc, 0xfe, 0x2f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/table.pb.go b/googleapis/bigtable/admin/v2/table.pb.go
index cf62c3ba..9a83ad2e 100644
--- a/googleapis/bigtable/admin/v2/table.pb.go
+++ b/googleapis/bigtable/admin/v2/table.pb.go
@@ -360,43 +360,43 @@ func init() {
 }
 
 var fileDescriptor4 = []byte{
-	// 608 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0x7f, 0x6f, 0xd2, 0x40,
-	0x18, 0xc7, 0xe9, 0x5a, 0x98, 0x7b, 0x98, 0x5b, 0x73, 0xee, 0x0f, 0x24, 0xfe, 0x81, 0x24, 0x1a,
-	0x62, 0xb4, 0x4d, 0xd8, 0x62, 0x9c, 0x31, 0x1a, 0xc6, 0xca, 0x68, 0x02, 0x48, 0xca, 0x0f, 0xb3,
-	0xc4, 0xa4, 0x39, 0xba, 0xdb, 0x79, 0xb1, 0x77, 0x47, 0xfa, 0x03, 0xc7, 0xbb, 0xf0, 0x9d, 0xf9,
-	0x96, 0x4c, 0xaf, 0xa0, 0xcc, 0x8c, 0x6c, 0xf1, 0x2f, 0x1e, 0xee, 0xbe, 0xdf, 0xcf, 0xf3, 0xe3,
-	0x9e, 0x42, 0x9b, 0x4a, 0x49, 0x43, 0x62, 0x51, 0x19, 0x62, 0x41, 0x2d, 0x19, 0x51, 0x9b, 0x12,
-	0x31, 0x8f, 0x64, 0x22, 0xed, 0xfc, 0x0a, 0xcf, 0x59, 0x6c, 0xcf, 0x18, 0x4d, 0xf0, 0x2c, 0x24,
-	0x36, 0xbe, 0xe2, 0x4c, 0xd8, 0x8b, 0xa6, 0xad, 0xfe, 0x5a, 0x4a, 0x88, 0x2a, 0x2b, 0xc8, 0x5a,
-	0x65, 0x29, 0x95, 0xb5, 0x68, 0x56, 0xdd, 0x87, 0xe1, 0xf1, 0x9c, 0xd9, 0x31, 0x89, 0x16, 0x2c,
-	0x20, 0x81, 0x14, 0xd7, 0x8c, 0xda, 0x58, 0x08, 0x99, 0xe0, 0x84, 0x49, 0x11, 0xe7, 0x49, 0xaa,
-	0xa7, 0x94, 0x25, 0xdf, 0xd2, 0x99, 0x15, 0x48, 0x6e, 0xe7, 0x38, 0x5b, 0x5d, 0xcc, 0xd2, 0x6b,
-	0x7b, 0x9e, 0x2c, 0xe7, 0x24, 0xb6, 0xaf, 0xd2, 0x48, 0x59, 0xfe, 0x04, 0xb9, 0xb5, 0xfe, 0x4b,
-	0x87, 0xe2, 0x38, 0x2b, 0x0c, 0x21, 0x30, 0x04, 0xe6, 0xa4, 0xa2, 0xd5, 0xb4, 0xc6, 0x9e, 0xa7,
-	0x62, 0xf4, 0x15, 0x0e, 0x03, 0x19, 0xa6, 0x5c, 0xf8, 0xd7, 0x98, 0xb3, 0x90, 0x91, 0xb8, 0xa2,
-	0xd7, 0xf4, 0x46, 0xb9, 0x79, 0x6c, 0x6d, 0xeb, 0xcb, 0x52, 0x34, 0xab, 0xad, 0x6c, 0x9d, 0x95,
-	0xcb, 0x11, 0x49, 0xb4, 0xf4, 0x0e, 0x82, 0x5b, 0x87, 0x68, 0x0a, 0x65, 0x1a, 0x61, 0x91, 0x86,
-	0x38, 0x62, 0xc9, 0xb2, 0x62, 0xd4, 0xb4, 0xc6, 0x41, 0xf3, 0xe4, 0x3e, 0xf2, 0x98, 0x71, 0x12,
-	0x27, 0x98, 0xcf, 0x2f, 0xfe, 0x7a, 0xbd, 0x4d, 0x50, 0x95, 0xc1, 0x93, 0x3b, 0xd2, 0x23, 0x13,
-	0xf4, 0xef, 0x64, 0xb9, 0xea, 0x2f, 0x0b, 0xd1, 0x07, 0x28, 0x2e, 0x70, 0x98, 0x92, 0xca, 0x4e,
-	0x4d, 0x6b, 0x94, 0x9b, 0x2f, 0xb7, 0xa7, 0xde, 0xe0, 0x2d, 0xbd, 0xdc, 0xf4, 0x7e, 0xe7, 0x9d,
-	0x56, 0x77, 0xe1, 0xe8, 0xae, 0x7a, 0xd0, 0x0b, 0x78, 0x3e, 0x76, 0xfb, 0xce, 0x68, 0xdc, 0xea,
-	0x0f, 0xfd, 0x0b, 0xaf, 0x35, 0x98, 0xf4, 0x5a, 0x9e, 0x3b, 0xbe, 0xf4, 0x27, 0x83, 0xd1, 0xd0,
-	0x69, 0xbb, 0x1d, 0xd7, 0x39, 0x37, 0x0b, 0x08, 0xa0, 0xd4, 0x77, 0x7b, 0x3d, 0x77, 0x64, 0x6a,
-	0xf5, 0x0e, 0x18, 0x53, 0x46, 0x7e, 0xa0, 0x23, 0x30, 0xa7, 0xae, 0xf3, 0xe5, 0x1f, 0xe5, 0x63,
-	0xd8, 0x1b, 0xb4, 0xfa, 0x8e, 0xff, 0x79, 0xd0, 0xbb, 0x34, 0x35, 0x74, 0x08, 0xe5, 0x51, 0xbb,
-	0xeb, 0xf4, 0x5b, 0x7e, 0xa6, 0x35, 0x77, 0xd0, 0x23, 0x30, 0x3a, 0x93, 0x5e, 0xcf, 0x34, 0xea,
-	0x2e, 0xec, 0x6f, 0x56, 0x8b, 0x4e, 0x61, 0x97, 0x06, 0x7e, 0x94, 0x86, 0xf9, 0xd3, 0x96, 0x9b,
-	0xb5, 0xed, 0x6d, 0x5e, 0x04, 0x5e, 0x1a, 0x12, 0xaf, 0x44, 0xd5, 0x6f, 0xfd, 0xa7, 0x0e, 0xa5,
-	0xfc, 0x08, 0xbd, 0x02, 0x93, 0xe3, 0x1b, 0x5f, 0xa4, 0xdc, 0x5f, 0x90, 0x28, 0xce, 0x96, 0x4f,
-	0xe1, 0x8a, 0xdd, 0x82, 0x77, 0xc0, 0xf1, 0xcd, 0x20, 0xe5, 0xd3, 0xd5, 0x39, 0x3a, 0x81, 0xdd,
-	0x4c, 0x8b, 0xe9, 0x7a, 0xb0, 0x4f, 0xd7, 0x19, 0xd7, 0x5b, 0x69, 0x9d, 0xaf, 0xb6, 0xb0, 0x5b,
-	0xf0, 0x4a, 0x1c, 0xdf, 0xb4, 0x28, 0x41, 0x23, 0xd8, 0x67, 0x22, 0x21, 0x51, 0x4c, 0x82, 0xec,
-	0xa6, 0xa2, 0x2b, 0xeb, 0x9b, 0xfb, 0x8a, 0xb5, 0xdc, 0x0d, 0x53, 0xb7, 0xe0, 0xdd, 0x82, 0xa0,
-	0x8f, 0x50, 0x4c, 0x45, 0x46, 0x33, 0xee, 0x7b, 0xe1, 0x15, 0x6d, 0x22, 0x72, 0x4c, 0x6e, 0xab,
-	0x76, 0x60, 0x7f, 0x93, 0x8f, 0xde, 0x42, 0x31, 0x9b, 0x64, 0xd6, 0xbb, 0xfe, 0xa0, 0x51, 0xe6,
-	0xf2, 0xea, 0x27, 0x28, 0x2a, 0xf2, 0xff, 0x02, 0xce, 0x4a, 0x60, 0x64, 0xc1, 0xd9, 0x6b, 0x78,
-	0x16, 0x48, 0xbe, 0xd5, 0x75, 0x06, 0xea, 0x23, 0x19, 0x66, 0x73, 0x1e, 0x6a, 0xb3, 0x92, 0x1a,
-	0xf8, 0xf1, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x0f, 0xf7, 0x8b, 0xcb, 0x04, 0x00, 0x00,
+	// 606 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xed, 0x6e, 0x12, 0x4d,
+	0x14, 0xc7, 0x4b, 0x59, 0xe8, 0xd3, 0x43, 0x9f, 0x76, 0x33, 0xf6, 0x03, 0x12, 0x3f, 0x54, 0x12,
+	0x4d, 0x63, 0x74, 0x27, 0xa1, 0x8d, 0xb1, 0xc6, 0x68, 0x28, 0x5d, 0xda, 0x4d, 0x00, 0xc9, 0xf2,
+	0x62, 0x9a, 0x98, 0x6c, 0x86, 0xed, 0x74, 0x9c, 0xb8, 0x3b, 0x4b, 0xf6, 0x05, 0xe5, 0x2e, 0xbc,
+	0x33, 0x6f, 0xc9, 0x99, 0x59, 0x50, 0x6a, 0x4a, 0x68, 0xfc, 0x02, 0xb3, 0x73, 0xfe, 0xff, 0xdf,
+	0x79, 0xd9, 0xb3, 0xd0, 0x62, 0x51, 0xc4, 0x02, 0x6a, 0xb1, 0x28, 0x20, 0x82, 0x59, 0x51, 0xcc,
+	0x30, 0xa3, 0x62, 0x1a, 0x47, 0x69, 0x84, 0xf3, 0x10, 0x99, 0xf2, 0x04, 0x4f, 0x38, 0x4b, 0xc9,
+	0x24, 0xa0, 0x98, 0xdc, 0x84, 0x5c, 0xe0, 0x59, 0x03, 0xeb, 0x47, 0x4b, 0x0b, 0x51, 0x75, 0x01,
+	0x59, 0xaa, 0x2c, 0xad, 0xb2, 0x66, 0x8d, 0x9a, 0xf3, 0x30, 0xbc, 0xfc, 0xc1, 0x09, 0x8d, 0x67,
+	0xdc, 0xa7, 0x7e, 0x24, 0x6e, 0x39, 0xc3, 0x44, 0x88, 0x28, 0x25, 0x29, 0x8f, 0x44, 0x92, 0x27,
+	0xa9, 0x9d, 0x31, 0x9e, 0x7e, 0xc9, 0x26, 0x96, 0x1f, 0x85, 0x38, 0xc7, 0x61, 0x1d, 0x98, 0x64,
+	0xb7, 0x78, 0x9a, 0xce, 0xa7, 0x34, 0xc1, 0x37, 0x59, 0xac, 0x2d, 0xbf, 0x0f, 0xb9, 0xb5, 0xfe,
+	0xb3, 0x08, 0xa5, 0xa1, 0x2a, 0x0c, 0x21, 0x30, 0x04, 0x09, 0x69, 0xb5, 0x70, 0x54, 0x38, 0xde,
+	0x75, 0xf5, 0x19, 0x7d, 0x86, 0x03, 0x3f, 0x0a, 0xb2, 0x50, 0x78, 0xb7, 0x24, 0xe4, 0x01, 0xa7,
+	0x49, 0xb5, 0x78, 0x54, 0x3c, 0xae, 0x34, 0x4e, 0xac, 0x75, 0x7d, 0x59, 0x9a, 0x66, 0xb5, 0xb4,
+	0xad, 0xbd, 0x70, 0xd9, 0x22, 0x8d, 0xe7, 0xee, 0xbe, 0x7f, 0xe7, 0x12, 0x8d, 0xa1, 0xc2, 0x62,
+	0x22, 0xb2, 0x80, 0xc4, 0x3c, 0x9d, 0x57, 0x0d, 0x99, 0x78, 0xbf, 0x71, 0xba, 0x89, 0x3c, 0xe4,
+	0x21, 0x4d, 0x52, 0x12, 0x4e, 0x2f, 0xff, 0x78, 0xdd, 0x55, 0x50, 0x8d, 0xc3, 0xa3, 0x7b, 0xd2,
+	0x23, 0x13, 0x8a, 0x5f, 0xe9, 0x7c, 0xd1, 0x9f, 0x3a, 0xa2, 0x77, 0x50, 0x9a, 0x91, 0x20, 0xa3,
+	0xd5, 0x6d, 0x79, 0x57, 0x69, 0x3c, 0x5f, 0x9f, 0x7a, 0x85, 0x37, 0x77, 0x73, 0xd3, 0xdb, 0xed,
+	0x37, 0x85, 0xba, 0x03, 0x87, 0xf7, 0xd5, 0x83, 0x9e, 0xc1, 0xd3, 0xa1, 0xd3, 0xb5, 0x07, 0xc3,
+	0x66, 0xb7, 0xef, 0x5d, 0xba, 0xcd, 0xde, 0xa8, 0xd3, 0x74, 0x9d, 0xe1, 0xb5, 0x37, 0xea, 0x0d,
+	0xfa, 0x76, 0xcb, 0x69, 0x3b, 0xf6, 0x85, 0xb9, 0x85, 0x00, 0xca, 0x5d, 0xa7, 0xd3, 0x71, 0x06,
+	0x66, 0xa1, 0xde, 0x06, 0x63, 0xcc, 0xe9, 0x37, 0x74, 0x08, 0xe6, 0xd8, 0xb1, 0x3f, 0xfd, 0xa5,
+	0xfc, 0x1f, 0x76, 0x7b, 0xcd, 0xae, 0xed, 0x7d, 0xec, 0x75, 0xae, 0xcd, 0x02, 0x3a, 0x80, 0xca,
+	0xa0, 0x75, 0x65, 0x77, 0x9b, 0x9e, 0xd2, 0x9a, 0xdb, 0xe8, 0x3f, 0x30, 0xda, 0xa3, 0x4e, 0xc7,
+	0x34, 0x64, 0x49, 0x7b, 0xab, 0xd5, 0xa2, 0x33, 0xd8, 0x61, 0xbe, 0x17, 0x67, 0x41, 0xfe, 0x6a,
+	0x2b, 0x8d, 0xa3, 0xf5, 0x6d, 0x5e, 0xfa, 0xae, 0xd4, 0xb9, 0x65, 0xa6, 0xff, 0xeb, 0x3f, 0x8a,
+	0x50, 0xce, 0xaf, 0xd0, 0x0b, 0x30, 0x43, 0xf2, 0xdd, 0x13, 0x59, 0xe8, 0xcd, 0x68, 0x9c, 0xa8,
+	0xe5, 0xd3, 0xb8, 0xd2, 0xd5, 0x96, 0xbb, 0x2f, 0x23, 0xbd, 0x2c, 0x1c, 0x2f, 0xee, 0xd1, 0x29,
+	0xec, 0x28, 0x2d, 0x61, 0xcb, 0xc1, 0x3e, 0x5e, 0x66, 0x5c, 0x6e, 0xa5, 0x75, 0xb1, 0xd8, 0x42,
+	0xe9, 0x2e, 0x4b, 0x6d, 0x93, 0x51, 0x34, 0x80, 0x3d, 0x2e, 0x52, 0xc9, 0xa0, 0xbe, 0x8a, 0xc8,
+	0x45, 0x53, 0xd6, 0x57, 0x9b, 0x8a, 0xb5, 0x9c, 0x15, 0x93, 0xc4, 0xdd, 0x81, 0xa0, 0xf7, 0x50,
+	0xca, 0x84, 0xa2, 0x19, 0x9b, 0xde, 0xf0, 0x82, 0x36, 0x12, 0x39, 0x26, 0xb7, 0xd5, 0xda, 0xb0,
+	0xb7, 0xca, 0x47, 0xaf, 0xa1, 0xa4, 0x26, 0xa9, 0x7a, 0x2f, 0x3e, 0x68, 0x94, 0xb9, 0xbc, 0xf6,
+	0x01, 0x4a, 0x9a, 0xfc, 0xaf, 0x80, 0xf3, 0x32, 0x18, 0xea, 0x70, 0xfe, 0x12, 0x9e, 0xc8, 0xaf,
+	0x7c, 0xad, 0xeb, 0x1c, 0xf4, 0x47, 0xd2, 0x57, 0x73, 0xee, 0x17, 0x26, 0x65, 0x3d, 0xf0, 0x93,
+	0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x0f, 0xf7, 0x8b, 0xcb, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_data.pb.go b/googleapis/bigtable/v1/bigtable_data.pb.go
index a2936d59..79eb2b59 100644
--- a/googleapis/bigtable/v1/bigtable_data.pb.go
+++ b/googleapis/bigtable/v1/bigtable_data.pb.go
@@ -7,8 +7,8 @@ Package google_bigtable_v1 is a generated protocol buffer package.
 
 It is generated from these files:
 	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto
-	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto
 	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto
+	google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto
 
 It has these top-level messages:
 	Row
@@ -1745,91 +1745,90 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1368 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x5b, 0x6f, 0x1b, 0xb7,
-	0x12, 0xd6, 0x5a, 0xf7, 0x59, 0x3b, 0x92, 0xe9, 0x9b, 0xa2, 0x24, 0x27, 0x86, 0x72, 0x80, 0xa3,
-	0xe4, 0x9c, 0xc8, 0x89, 0x13, 0x9c, 0xa6, 0x48, 0x50, 0xc4, 0xca, 0xa5, 0x4a, 0x73, 0x67, 0x8c,
-	0x14, 0x28, 0x50, 0x6c, 0x69, 0x2d, 0xa5, 0x2e, 0xc2, 0x5d, 0xaa, 0xdc, 0x95, 0x15, 0xfd, 0x91,
-	0xbe, 0xf7, 0x77, 0xf4, 0xad, 0x7f, 0xa2, 0x7f, 0xa3, 0x8f, 0x7d, 0xe8, 0x43, 0xc1, 0xcb, 0xde,
-	0x64, 0xc5, 0x36, 0x8a, 0xbc, 0x2d, 0x39, 0xdf, 0xf7, 0xcd, 0x70, 0x38, 0x1c, 0x72, 0xe1, 0xc9,
-	0x98, 0xf3, 0x31, 0xa3, 0xbd, 0x31, 0x67, 0x24, 0x18, 0xf7, 0xb8, 0x18, 0xef, 0x8d, 0x69, 0x30,
-	0x11, 0x3c, 0xe2, 0x7b, 0xda, 0x44, 0x26, 0x5e, 0xb8, 0x77, 0xe4, 0x8d, 0x23, 0x72, 0xc4, 0xe8,
-	0xde, 0xf1, 0xed, 0xe4, 0xdb, 0x71, 0x49, 0x44, 0x7a, 0x0a, 0x8a, 0x90, 0x91, 0x89, 0x6d, 0xbd,
-	0xe3, 0xdb, 0x9d, 0xd7, 0x50, 0xc4, 0x7c, 0x86, 0x9a, 0x50, 0xfc, 0x40, 0xe7, 0x2d, 0x6b, 0xd7,
-	0xea, 0xae, 0x62, 0xf9, 0x89, 0xfe, 0x0f, 0xb5, 0x11, 0xf1, 0x3d, 0xe6, 0xd1, 0xb0, 0xb5, 0xb2,
-	0x5b, 0xec, 0xda, 0xfb, 0xed, 0xde, 0x49, 0x7e, 0xef, 0xa9, 0xc4, 0xcc, 0x71, 0x82, 0xed, 0x60,
-	0xa8, 0xe8, 0x39, 0x84, 0xa0, 0x14, 0x10, 0x9f, 0x2a, 0xd1, 0x3a, 0x56, 0xdf, 0xe8, 0x2e, 0x54,
-	0x87, 0x9c, 0x4d, 0xfd, 0xe0, 0x54, 0xd1, 0x47, 0x0a, 0x82, 0x63, 0x68, 0xe7, 0x3d, 0x54, 0xf4,
-	0x14, 0xba, 0x0c, 0xf5, 0x9f, 0xa6, 0x84, 0x79, 0x23, 0x8f, 0x0a, 0x13, 0x6d, 0x3a, 0x81, 0x7a,
-	0x50, 0x1e, 0x52, 0xc6, 0x62, 0xed, 0xd6, 0x52, 0x6d, 0xca, 0x18, 0xd6, 0xb0, 0x8e, 0x03, 0x25,
-	0x39, 0x44, 0xd7, 0xa1, 0x19, 0x79, 0x3e, 0x0d, 0x23, 0xe2, 0x4f, 0x1c, 0xdf, 0x1b, 0x0a, 0x1e,
-	0x2a, 0xf1, 0x22, 0x6e, 0x24, 0xf3, 0x2f, 0xd5, 0x34, 0xda, 0x84, 0xf2, 0x31, 0x61, 0x53, 0xda,
-	0x5a, 0x51, 0xce, 0xf5, 0x00, 0x6d, 0x43, 0x85, 0x91, 0x23, 0xca, 0xc2, 0x56, 0x71, 0xb7, 0xd8,
-	0xad, 0x63, 0x33, 0xea, 0x3c, 0x84, 0x1a, 0xe6, 0x33, 0x4c, 0x82, 0x31, 0x45, 0x97, 0xa0, 0x1e,
-	0x46, 0x44, 0x44, 0x8e, 0x4c, 0xb4, 0x66, 0xd7, 0xd4, 0xc4, 0x73, 0x3a, 0x47, 0x3b, 0x50, 0xa5,
-	0x81, 0xab, 0x4c, 0x45, 0x65, 0xaa, 0xd0, 0xc0, 0x7d, 0x4e, 0xe7, 0x9d, 0x1f, 0xa0, 0x82, 0xf9,
-	0xec, 0x1d, 0x8d, 0xd0, 0x45, 0xa8, 0x09, 0x3e, 0x93, 0x10, 0x19, 0x5c, 0xb1, 0xbb, 0x8a, 0xab,
-	0x82, 0xcf, 0x9e, 0xd3, 0x79, 0x88, 0xee, 0x03, 0x48, 0x93, 0x90, 0x7e, 0xe2, 0xc5, 0x5f, 0x5e,
-	0xb6, 0xf8, 0x38, 0x18, 0x5c, 0x17, 0xe6, 0x2b, 0xec, 0xfc, 0xb6, 0x02, 0xb6, 0x49, 0xb8, 0x8a,
-	0xf3, 0x2a, 0xd8, 0x6a, 0x33, 0xe7, 0x4e, 0x66, 0xf7, 0x40, 0x4f, 0xbd, 0x92, 0x7b, 0xf8, 0x00,
-	0x2e, 0xea, 0x85, 0x24, 0x89, 0x77, 0xbc, 0x60, 0xc8, 0xa6, 0xa1, 0x77, 0x6c, 0xd2, 0x32, 0x28,
-	0xe0, 0x1d, 0x05, 0x79, 0x1b, 0x23, 0x9e, 0xc5, 0x80, 0x65, 0x6c, 0xfa, 0x31, 0x66, 0x17, 0x97,
-	0xb3, 0x9f, 0xc4, 0x00, 0x74, 0x0f, 0x76, 0x64, 0x9e, 0x96, 0x79, 0x2e, 0x29, 0xae, 0x85, 0xb7,
-	0x68, 0xe0, 0x2e, 0xf1, 0x7b, 0x82, 0x99, 0x7a, 0x2d, 0x2f, 0x63, 0x26, 0x3e, 0xfb, 0xeb, 0xd0,
-	0x58, 0x88, 0xb8, 0xdf, 0x80, 0xb5, 0x9c, 0x58, 0xe7, 0x23, 0x5c, 0x38, 0x8c, 0x2b, 0x45, 0xa7,
-	0xf1, 0x2e, 0x6c, 0x6b, 0xd6, 0x27, 0x2a, 0x6b, 0x53, 0x59, 0x0f, 0x17, 0xca, 0xeb, 0x16, 0x6c,
-	0x4a, 0xe1, 0x13, 0x9c, 0x15, 0xc5, 0x41, 0x34, 0x70, 0x17, 0x18, 0x9d, 0x3f, 0x2d, 0x80, 0xf7,
-	0xb2, 0x08, 0x63, 0xb7, 0x5b, 0xda, 0xad, 0x2a, 0xcc, 0x4c, 0x7a, 0x2c, 0x93, 0xda, 0x0d, 0x65,
-	0x56, 0x8c, 0x34, 0x39, 0x0b, 0xac, 0x34, 0x35, 0x2b, 0x27, 0x59, 0xe9, 0x66, 0xdc, 0x82, 0x0d,
-	0x19, 0xec, 0xa2, 0xa7, 0xa2, 0x49, 0xe7, 0x3a, 0x0d, 0xdc, 0x05, 0x3f, 0x39, 0x46, 0xea, 0xa5,
-	0xb4, 0xc8, 0x48, 0x93, 0xbf, 0x06, 0x76, 0x26, 0xb2, 0xbe, 0x0d, 0xf5, 0x44, 0xa0, 0xf3, 0x97,
-	0x0d, 0x75, 0xcc, 0x67, 0x4f, 0x3d, 0x16, 0x51, 0x81, 0xee, 0x43, 0x79, 0xf8, 0x23, 0xf1, 0x02,
-	0xb5, 0x52, 0x7b, 0xff, 0xda, 0x27, 0xea, 0x5f, 0xa3, 0x7b, 0x8f, 0x24, 0x74, 0x50, 0xc0, 0x9a,
-	0x83, 0xbe, 0x01, 0xf0, 0x82, 0x88, 0x0a, 0x46, 0x89, 0x59, 0xb5, 0xbd, 0xdf, 0x3d, 0x5d, 0xe1,
-	0x59, 0x82, 0x1f, 0x14, 0x70, 0x86, 0x8d, 0xbe, 0x86, 0xfa, 0x90, 0x07, 0xae, 0x17, 0x79, 0x3c,
-	0x50, 0xc9, 0xb0, 0xf7, 0xff, 0x73, 0x46, 0x30, 0x31, 0x7c, 0x50, 0xc0, 0x29, 0x17, 0x6d, 0x42,
-	0x29, 0xf4, 0x82, 0x0f, 0xad, 0xe6, 0xae, 0xd5, 0xad, 0x0d, 0x0a, 0x58, 0x8d, 0x50, 0x17, 0x1a,
-	0x13, 0x12, 0x86, 0x0e, 0x61, 0xcc, 0x19, 0x29, 0x7e, 0x6b, 0xdd, 0x00, 0xd6, 0xa4, 0xe1, 0x80,
-	0x31, 0x93, 0x91, 0x1b, 0xd0, 0x3c, 0x62, 0x7c, 0xf8, 0x21, 0x0b, 0x45, 0x06, 0x7a, 0x41, 0x59,
-	0x52, 0xec, 0x6d, 0xd8, 0x34, 0xdd, 0xc5, 0x11, 0x74, 0x4c, 0x3f, 0xc6, 0xf8, 0x92, 0x29, 0x80,
-	0x75, 0xdd, 0x6b, 0xb0, 0xb4, 0x19, 0xca, 0xff, 0x40, 0x4e, 0x3a, 0x21, 0xf1, 0x27, 0x8c, 0xc6,
-	0xf8, 0x0b, 0xbb, 0x56, 0xd7, 0x1a, 0x14, 0x70, 0x43, 0xf0, 0xd9, 0x3b, 0x65, 0x31, 0xe8, 0x2f,
-	0xa1, 0x95, 0x69, 0x2b, 0x79, 0x27, 0xf2, 0x00, 0xd6, 0x07, 0x05, 0xbc, 0x95, 0x76, 0x99, 0xac,
-	0xa3, 0x47, 0x70, 0x45, 0xdf, 0x04, 0x99, 0xd3, 0x9b, 0xe3, 0x57, 0x4c, 0x90, 0x6d, 0x0d, 0x4b,
-	0xce, 0x70, 0x56, 0xe4, 0x2d, 0x6c, 0x18, 0x11, 0xd5, 0x26, 0x63, 0x6a, 0x55, 0xed, 0xcf, 0xd5,
-	0x53, 0x6e, 0x21, 0x89, 0x96, 0x09, 0x18, 0xa6, 0x43, 0x23, 0xf9, 0x1d, 0x6c, 0xa7, 0x07, 0x35,
-	0xa7, 0x5a, 0x53, 0xaa, 0x9d, 0x65, 0xaa, 0xf9, 0x36, 0x31, 0x28, 0xe0, 0xcd, 0x28, 0x37, 0x63,
-	0xb4, 0x7b, 0x80, 0xf4, 0x29, 0xc9, 0x2d, 0xb4, 0x6e, 0x16, 0xda, 0x54, 0xb6, 0xec, 0xf2, 0x5e,
-	0x25, 0xf8, 0x6c, 0x1c, 0x0d, 0x15, 0xc7, 0xbf, 0x96, 0xc5, 0x91, 0xf6, 0x8c, 0x54, 0x2f, 0xe3,
-	0xff, 0x2b, 0xb8, 0xa4, 0xee, 0x48, 0x67, 0x22, 0x93, 0xcd, 0x67, 0x0e, 0x1f, 0x8d, 0x42, 0x1a,
-	0xc5, 0xc2, 0xb0, 0x6b, 0x75, 0xcb, 0xb2, 0x51, 0x2b, 0xd0, 0x1b, 0x2a, 0x30, 0x9f, 0xbd, 0x56,
-	0x08, 0xc3, 0x7f, 0x00, 0xed, 0x3c, 0x9f, 0x79, 0xbe, 0x97, 0xd0, 0x6d, 0x43, 0xdf, 0xce, 0xd0,
-	0x5f, 0x48, 0x80, 0x61, 0xf7, 0xe1, 0x4a, 0xca, 0x36, 0xdb, 0x96, 0x13, 0x58, 0x35, 0x02, 0x17,
-	0x63, 0x01, 0xbd, 0x59, 0x59, 0x8d, 0x7b, 0xb0, 0x13, 0x46, 0xc2, 0x9b, 0x98, 0x6e, 0x13, 0x09,
-	0x12, 0x84, 0x23, 0x2e, 0x7c, 0x2a, 0x5a, 0x6b, 0xe6, 0x10, 0x6c, 0x29, 0x80, 0xca, 0xc4, 0x61,
-	0x6a, 0x96, 0x4c, 0x32, 0x99, 0xb0, 0xb9, 0xa3, 0x6e, 0xf1, 0x1c, 0x73, 0x23, 0xae, 0x54, 0x05,
-	0x78, 0x21, 0xed, 0x19, 0x66, 0xfb, 0x21, 0x94, 0x55, 0x63, 0x41, 0x5f, 0x40, 0x55, 0x47, 0xaa,
-	0xef, 0x6a, 0x7b, 0xff, 0xca, 0xa9, 0x1d, 0x00, 0xc7, 0xe8, 0xf6, 0x13, 0x80, 0xb4, 0xb1, 0xfc,
-	0x73, 0x99, 0xdf, 0x2d, 0xa8, 0x27, 0x5d, 0x05, 0x0d, 0xa0, 0x39, 0x11, 0xd4, 0xf5, 0x86, 0x24,
-	0x4a, 0x4a, 0x43, 0x77, 0xc9, 0x33, 0xf4, 0x1a, 0x09, 0x2d, 0x29, 0x0b, 0x3b, 0x12, 0xd3, 0x44,
-	0x64, 0xe5, 0x3c, 0x22, 0x20, 0x19, 0x86, 0xff, 0x10, 0x56, 0x47, 0x84, 0x85, 0x89, 0x40, 0xf1,
-	0x3c, 0x02, 0xb6, 0xa2, 0xe8, 0x41, 0xbf, 0x06, 0x15, 0xcd, 0xed, 0xfc, 0x51, 0x86, 0xda, 0xcb,
-	0x69, 0x44, 0xd4, 0x12, 0x0f, 0xa0, 0x26, 0xcb, 0x53, 0x96, 0x83, 0x59, 0xda, 0xbf, 0x97, 0x89,
-	0xc6, 0xf8, 0xde, 0x3b, 0x1a, 0xc9, 0xa7, 0xdf, 0xa0, 0x80, 0xab, 0xa1, 0xfe, 0x44, 0xdf, 0x03,
-	0x72, 0x29, 0xa3, 0x32, 0x45, 0x82, 0xfb, 0xa6, 0xec, 0xcc, 0x12, 0x6f, 0x9e, 0x2a, 0xf6, 0x58,
-	0xd1, 0x9e, 0x0a, 0xee, 0xeb, 0x32, 0x94, 0x27, 0xca, 0x5d, 0x98, 0x5b, 0x94, 0xd7, 0xad, 0xce,
-	0x24, 0xe0, 0xbc, 0xf2, 0xfa, 0x65, 0x9d, 0x97, 0x37, 0xaf, 0xed, 0x43, 0x68, 0x64, 0xe5, 0x05,
-	0x9f, 0xa9, 0xde, 0x6d, 0xef, 0xdf, 0x38, 0xa7, 0x36, 0xe6, 0x33, 0x79, 0x85, 0xb8, 0xd9, 0x89,
-	0xf6, 0xcf, 0x16, 0x54, 0x4d, 0xaa, 0xce, 0x7e, 0x18, 0x5e, 0x87, 0xe6, 0x62, 0x9f, 0x36, 0x0f,
-	0xdd, 0xc6, 0x42, 0x63, 0x5e, 0xfa, 0xe2, 0x2e, 0x9e, 0xf1, 0xe2, 0x2e, 0x65, 0x5e, 0xdc, 0xed,
-	0x5f, 0x2c, 0x68, 0x2e, 0xa6, 0xfd, 0xb3, 0x46, 0x78, 0x00, 0x20, 0x23, 0xd1, 0xfd, 0xd4, 0x6c,
-	0xd3, 0x39, 0x1a, 0x3a, 0xae, 0x4b, 0x96, 0xfa, 0x6c, 0xdf, 0xc9, 0x86, 0x68, 0xb6, 0xe9, 0xac,
-	0x10, 0xdb, 0x0d, 0x58, 0xcb, 0xed, 0x49, 0x1f, 0xa0, 0xe6, 0x9b, 0xdd, 0xea, 0xfc, 0x6a, 0xc1,
-	0x06, 0xa6, 0xc4, 0x7d, 0xc9, 0x5d, 0x6f, 0x34, 0xff, 0x56, 0x78, 0x11, 0xc5, 0x53, 0x46, 0x3f,
-	0xeb, 0xc2, 0xaf, 0xc1, 0x2a, 0x99, 0x4c, 0x92, 0x57, 0x56, 0xf2, 0x26, 0xb7, 0xf5, 0xac, 0xea,
-	0x96, 0xe8, 0xbf, 0xd0, 0xf4, 0x82, 0xa1, 0xa0, 0x3e, 0x0d, 0x22, 0x87, 0xf8, 0x7c, 0x1a, 0x44,
-	0x6a, 0x7f, 0x8a, 0xf2, 0xea, 0x4f, 0x2c, 0x07, 0xca, 0xd0, 0xaf, 0x40, 0x49, 0x4c, 0x19, 0xed,
-	0xdf, 0x84, 0xed, 0x21, 0xf7, 0x97, 0xe4, 0xb0, 0xbf, 0xde, 0x37, 0x83, 0xc7, 0x24, 0x22, 0x6f,
-	0xe4, 0xcf, 0xea, 0x1b, 0xeb, 0xa8, 0xa2, 0xfe, 0x5a, 0xef, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff,
-	0x07, 0x78, 0x0a, 0xae, 0xfe, 0x0e, 0x00, 0x00,
+	// 1346 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x59, 0x6f, 0xdb, 0x46,
+	0x10, 0xae, 0x4c, 0x9d, 0x43, 0xdb, 0x92, 0xd7, 0x97, 0xac, 0x24, 0x4d, 0xc0, 0x14, 0xa8, 0x9b,
+	0x36, 0x72, 0xac, 0x04, 0x3d, 0x90, 0xa0, 0xb0, 0xe5, 0xd8, 0x4d, 0xda, 0x38, 0x71, 0x18, 0x23,
+	0x05, 0x0a, 0x14, 0x2c, 0x2d, 0xad, 0x54, 0xc2, 0x3c, 0x54, 0x92, 0xf2, 0xf1, 0x47, 0xfa, 0xde,
+	0xdf, 0xd1, 0xb7, 0xfe, 0x89, 0xfe, 0x8d, 0x3e, 0xf6, 0xa1, 0x0f, 0x9d, 0x3d, 0x78, 0x9a, 0xb1,
+	0x8d, 0x20, 0x6f, 0xdc, 0x9d, 0xef, 0xfb, 0x66, 0x76, 0x76, 0x76, 0x76, 0x09, 0xbb, 0x63, 0xcf,
+	0x1b, 0xdb, 0xb4, 0x3b, 0xf6, 0x6c, 0xd3, 0x1d, 0x77, 0x3d, 0x7f, 0xbc, 0x31, 0xa6, 0xee, 0xc4,
+	0xf7, 0x42, 0x6f, 0x43, 0x98, 0xcc, 0x89, 0x15, 0x6c, 0x1c, 0x59, 0xe3, 0xd0, 0x3c, 0xb2, 0xe9,
+	0xc6, 0xc9, 0x66, 0xfc, 0x6d, 0x0c, 0xcd, 0xd0, 0xec, 0x72, 0x28, 0x21, 0x52, 0x26, 0xb2, 0x75,
+	0x4f, 0x36, 0xb5, 0x57, 0xa0, 0xe8, 0xde, 0x29, 0x69, 0x81, 0x72, 0x4c, 0xcf, 0xdb, 0xa5, 0x3b,
+	0xa5, 0xf5, 0x59, 0x9d, 0x7d, 0x92, 0x2f, 0xa1, 0x3e, 0x32, 0x1d, 0xcb, 0xb6, 0x68, 0xd0, 0x9e,
+	0xb9, 0xa3, 0xac, 0xab, 0xbd, 0x4e, 0xf7, 0x22, 0xbf, 0xbb, 0xc7, 0x30, 0xe7, 0x7a, 0x8c, 0xd5,
+	0x74, 0xa8, 0x8a, 0x39, 0x42, 0xa0, 0xec, 0x9a, 0x0e, 0xe5, 0xa2, 0x0d, 0x9d, 0x7f, 0x93, 0x47,
+	0x50, 0x1b, 0x78, 0xf6, 0xd4, 0x71, 0x2f, 0x15, 0xdd, 0xe1, 0x10, 0x3d, 0x82, 0x6a, 0x6f, 0xa1,
+	0x2a, 0xa6, 0xc8, 0x4d, 0x68, 0xfc, 0x36, 0x35, 0x6d, 0x6b, 0x64, 0x51, 0x5f, 0x46, 0x9b, 0x4c,
+	0x90, 0x2e, 0x54, 0x06, 0xd4, 0xb6, 0x23, 0xed, 0x76, 0xa1, 0x36, 0x02, 0x74, 0x01, 0xd3, 0x0c,
+	0x28, 0xb3, 0x21, 0xf9, 0x0c, 0x5a, 0xa1, 0xe5, 0xd0, 0x20, 0x34, 0x9d, 0x89, 0xe1, 0x58, 0x03,
+	0xdf, 0x0b, 0xb8, 0xb8, 0xa2, 0x37, 0xe3, 0xf9, 0x7d, 0x3e, 0x4d, 0x96, 0xa0, 0x72, 0x62, 0xda,
+	0x53, 0x8a, 0x2e, 0x98, 0x73, 0x31, 0x20, 0x2b, 0x50, 0xb5, 0xcd, 0x23, 0x8a, 0x9e, 0x15, 0xf4,
+	0xdc, 0xd0, 0xe5, 0x48, 0xdb, 0x82, 0x3a, 0x66, 0x57, 0xc7, 0x4d, 0xa3, 0xe4, 0x06, 0x34, 0x50,
+	0xc8, 0x0f, 0x0d, 0x96, 0x68, 0xc1, 0xae, 0xf3, 0x89, 0x1f, 0x30, 0xdb, 0xab, 0x50, 0xa3, 0xee,
+	0x90, 0x9b, 0x14, 0x6e, 0xaa, 0xe2, 0x10, 0x0d, 0xda, 0x2f, 0x50, 0x45, 0x85, 0x37, 0x34, 0x24,
+	0x6b, 0x50, 0xf7, 0xbd, 0x53, 0x06, 0x61, 0xc1, 0x29, 0x88, 0xa9, 0xe1, 0x18, 0x31, 0x01, 0x79,
+	0x0c, 0xc0, 0x4c, 0x3e, 0xf3, 0x13, 0x2d, 0xfe, 0x66, 0xd1, 0xe2, 0xa3, 0x60, 0xf4, 0x86, 0x2f,
+	0xbf, 0x02, 0xed, 0xaf, 0x19, 0x50, 0x65, 0xc2, 0x79, 0x9c, 0xb7, 0x41, 0xe5, 0x9b, 0x79, 0x6e,
+	0xa4, 0x76, 0x0f, 0xc4, 0xd4, 0x4b, 0xb6, 0x87, 0x4f, 0x60, 0x4d, 0x2c, 0x24, 0x4e, 0xbc, 0x61,
+	0xb9, 0x03, 0x7b, 0x1a, 0x58, 0x27, 0x32, 0x2d, 0xcf, 0x3e, 0xd2, 0x57, 0x39, 0xe4, 0x75, 0x84,
+	0x78, 0x1e, 0x01, 0x8a, 0xd8, 0xf4, 0x2c, 0x62, 0x2b, 0xc5, 0xec, 0xdd, 0x08, 0x40, 0xbe, 0x86,
+	0x55, 0x96, 0xa7, 0x22, 0xcf, 0x65, 0xce, 0x2d, 0xe9, 0xcb, 0x08, 0x28, 0xf0, 0x7b, 0x81, 0x99,
+	0x78, 0xad, 0x14, 0x31, 0x63, 0x9f, 0xfd, 0x05, 0x68, 0xe6, 0x22, 0xee, 0x37, 0x61, 0x2e, 0x23,
+	0xa6, 0x9d, 0xc1, 0xfc, 0x61, 0x54, 0x29, 0x22, 0x8d, 0x8f, 0x60, 0x45, 0xb0, 0xde, 0x51, 0x59,
+	0x4b, 0xdc, 0x7a, 0x98, 0x2b, 0xaf, 0x07, 0xb0, 0xc4, 0x84, 0x2f, 0x70, 0x66, 0x38, 0x87, 0xa0,
+	0x2d, 0xc7, 0xd0, 0xfe, 0x2d, 0x01, 0xbc, 0x65, 0x45, 0x18, 0xb9, 0x5d, 0x16, 0x6e, 0x79, 0x61,
+	0xa6, 0xd2, 0x53, 0x92, 0xa9, 0x5d, 0xe4, 0x66, 0xce, 0x48, 0x92, 0x93, 0x63, 0x25, 0xa9, 0x99,
+	0xb9, 0xc8, 0x4a, 0x36, 0xe3, 0x01, 0x2c, 0xb2, 0x60, 0xf3, 0x9e, 0x14, 0x99, 0xce, 0x05, 0x34,
+	0xe6, 0xfc, 0x64, 0x18, 0x89, 0x97, 0x72, 0x9e, 0x91, 0x24, 0x7f, 0x0e, 0xd4, 0x54, 0x64, 0x7d,
+	0x15, 0x1a, 0xb1, 0x80, 0xf6, 0x1f, 0x8e, 0xb0, 0xa2, 0xf7, 0x2c, 0x3b, 0xc4, 0xc3, 0xff, 0x18,
+	0x0f, 0xff, 0xaf, 0xa6, 0xe5, 0xf2, 0x95, 0xaa, 0xbd, 0xbb, 0xef, 0xa8, 0x7f, 0x81, 0xee, 0xee,
+	0x30, 0x28, 0x2e, 0x4c, 0x70, 0xc8, 0xf7, 0x00, 0x96, 0x8b, 0xf3, 0xd8, 0x49, 0xe5, 0xaa, 0xd5,
+	0xde, 0xfa, 0xe5, 0x0a, 0xcf, 0x63, 0x3c, 0xca, 0xa4, 0xd8, 0xe4, 0x3b, 0x68, 0x0c, 0x3c, 0x77,
+	0x68, 0x85, 0x96, 0xe7, 0xf2, 0x64, 0xa8, 0xbd, 0x4f, 0xaf, 0x08, 0x26, 0x82, 0xa3, 0x52, 0xc2,
+	0xc5, 0x5e, 0x53, 0x0e, 0x2c, 0xf7, 0xb8, 0xdd, 0x42, 0x8d, 0x3a, 0x9a, 0xf8, 0x88, 0xac, 0x43,
+	0x73, 0x62, 0x06, 0x81, 0x61, 0xda, 0xb6, 0x31, 0xe2, 0xfc, 0xf6, 0x82, 0x04, 0xcc, 0x31, 0xc3,
+	0xb6, 0x6d, 0xcb, 0x8c, 0xdc, 0x83, 0xd6, 0x91, 0xed, 0x0d, 0x8e, 0xd3, 0x50, 0x22, 0xa1, 0xf3,
+	0xdc, 0x92, 0x60, 0x37, 0x61, 0x49, 0x76, 0x17, 0xc3, 0xa7, 0x63, 0x7a, 0x16, 0xe1, 0xcb, 0xb2,
+	0x00, 0x16, 0x44, 0xaf, 0xd1, 0x99, 0x4d, 0x52, 0xbe, 0x00, 0x36, 0x69, 0x04, 0x58, 0x8b, 0x78,
+	0xcf, 0x48, 0xfc, 0x3c, 0xe2, 0x4b, 0x88, 0x6f, 0xa2, 0xe9, 0x0d, 0xb7, 0x48, 0xf4, 0x37, 0xd0,
+	0x4e, 0xb5, 0x95, 0xac, 0x13, 0x76, 0x00, 0x1b, 0x48, 0x5a, 0x4e, 0xba, 0x4c, 0xda, 0xd1, 0x0e,
+	0xdc, 0x12, 0x37, 0x41, 0xea, 0xf4, 0x66, 0xf8, 0x55, 0x19, 0x64, 0x47, 0xc0, 0xe2, 0x33, 0x9c,
+	0x16, 0x79, 0x0d, 0x8b, 0x52, 0x84, 0xb7, 0xc9, 0x88, 0x5a, 0xe3, 0xfb, 0x73, 0xfb, 0x92, 0x5b,
+	0x88, 0xa1, 0x59, 0x02, 0x06, 0xc9, 0x50, 0x4a, 0xfe, 0x04, 0x2b, 0xc9, 0x41, 0xcd, 0xa8, 0xd6,
+	0xb9, 0xaa, 0x56, 0xa4, 0x9a, 0x6d, 0x13, 0x28, 0xbc, 0x14, 0x66, 0x66, 0xa4, 0x76, 0x17, 0x88,
+	0x38, 0x25, 0x99, 0x85, 0x36, 0xe4, 0x42, 0x5b, 0xdc, 0x96, 0x5e, 0xde, 0xcb, 0x18, 0x9f, 0x8e,
+	0xa3, 0xc9, 0xe3, 0xf8, 0xb8, 0x28, 0x8e, 0xa4, 0x67, 0x24, 0x7a, 0x29, 0xff, 0xdf, 0xc2, 0x0d,
+	0x7e, 0x47, 0x1a, 0x13, 0x96, 0x6c, 0xdc, 0x66, 0x6f, 0x34, 0x0a, 0x68, 0x18, 0x09, 0x03, 0x0a,
+	0x57, 0x58, 0xa3, 0xe6, 0xa0, 0x03, 0x4c, 0xb5, 0x77, 0xfa, 0x8a, 0x23, 0x24, 0xff, 0x09, 0x74,
+	0xb2, 0x7c, 0xdb, 0x72, 0xac, 0x98, 0xae, 0x4a, 0xfa, 0x4a, 0x8a, 0xfe, 0x82, 0x01, 0x24, 0xbb,
+	0x8f, 0x3b, 0x1e, 0xb3, 0xe5, 0xb6, 0x65, 0x04, 0x66, 0xa5, 0xc0, 0x5a, 0x24, 0x20, 0x36, 0x2b,
+	0xad, 0x81, 0x0d, 0x3f, 0x08, 0x7d, 0x6b, 0x22, 0xbb, 0x4d, 0x88, 0x89, 0x09, 0x46, 0x9e, 0xef,
+	0x20, 0x7b, 0x4e, 0x1e, 0x82, 0x65, 0x0e, 0xe0, 0x99, 0x38, 0x4c, 0xcc, 0x8c, 0x69, 0x4e, 0x26,
+	0x58, 0xa9, 0xfc, 0x16, 0xcf, 0x30, 0x17, 0xa3, 0x4a, 0xe5, 0x80, 0x17, 0xcc, 0x9e, 0x62, 0x76,
+	0xb6, 0xa0, 0xc2, 0x1b, 0x0b, 0xf9, 0x0a, 0x6a, 0x22, 0x52, 0x71, 0x57, 0xab, 0xbd, 0x5b, 0x97,
+	0x76, 0x00, 0x3d, 0x42, 0x77, 0x76, 0x01, 0x92, 0xc6, 0xf2, 0xfe, 0x32, 0x7f, 0x97, 0xa0, 0x11,
+	0x77, 0x15, 0xf2, 0x0c, 0x5a, 0x13, 0x9f, 0x0e, 0xad, 0x81, 0x19, 0xc6, 0xa5, 0x21, 0xba, 0xe4,
+	0x15, 0x7a, 0xcd, 0x98, 0x16, 0x97, 0x85, 0x1a, 0xfa, 0xd3, 0x58, 0x64, 0xe6, 0x3a, 0x22, 0xc0,
+	0x18, 0x92, 0xbf, 0x05, 0xb3, 0x23, 0xd3, 0x0e, 0x62, 0x01, 0xe5, 0x3a, 0x02, 0x2a, 0xa7, 0x88,
+	0x41, 0xbf, 0x0e, 0x55, 0xc1, 0xd5, 0xfe, 0xa9, 0x40, 0x7d, 0x7f, 0x1a, 0x9a, 0x7c, 0x89, 0xdb,
+	0x50, 0x67, 0xe5, 0xc9, 0xca, 0x41, 0x2e, 0xed, 0x93, 0x22, 0xd1, 0x08, 0xdf, 0xc5, 0x17, 0x15,
+	0x7b, 0xfa, 0xe1, 0x56, 0xd6, 0x02, 0xf1, 0x49, 0x7e, 0x06, 0x32, 0xa4, 0x36, 0x65, 0x29, 0xf2,
+	0x3d, 0x47, 0x96, 0x9d, 0x5c, 0xe2, 0xfd, 0x4b, 0xc5, 0x9e, 0x72, 0xda, 0x1e, 0xb2, 0x44, 0x19,
+	0xb2, 0x13, 0x35, 0xcc, 0xcd, 0xe5, 0xe5, 0x45, 0xab, 0x93, 0x09, 0xb8, 0xae, 0xbc, 0x78, 0x59,
+	0x67, 0xe5, 0xe5, 0x6b, 0xfb, 0x10, 0x9a, 0x69, 0x79, 0x3c, 0x72, 0xbc, 0x77, 0xab, 0xbd, 0x7b,
+	0xd7, 0xd4, 0xc6, 0x7c, 0xb3, 0x2b, 0x64, 0x98, 0x9e, 0xe8, 0xfc, 0x5e, 0x82, 0x9a, 0x4c, 0xd5,
+	0xd5, 0x0f, 0x43, 0x7c, 0x46, 0xe7, 0xfb, 0xb4, 0x7c, 0xe8, 0x36, 0x73, 0x8d, 0xb9, 0xf0, 0xc5,
+	0xad, 0x5c, 0xf1, 0xe2, 0x2e, 0xa7, 0x5e, 0xdc, 0x9d, 0x3f, 0x4a, 0xd0, 0xca, 0xa7, 0xfd, 0x83,
+	0x46, 0xb8, 0x0d, 0xc0, 0x22, 0x11, 0xfd, 0x54, 0x6e, 0xd3, 0x35, 0x1a, 0xba, 0xde, 0x60, 0x2c,
+	0xfe, 0xd9, 0x79, 0x98, 0x0e, 0x51, 0x6e, 0xd3, 0x55, 0x21, 0x76, 0xf0, 0x69, 0x99, 0xd9, 0x93,
+	0x3e, 0x40, 0xdd, 0x91, 0xbb, 0xa5, 0xfd, 0x59, 0x82, 0x45, 0x9d, 0x9a, 0xc3, 0x7d, 0x6f, 0x68,
+	0x8d, 0xce, 0x7f, 0xf4, 0xad, 0x90, 0xea, 0x53, 0x9b, 0x7e, 0xd0, 0x85, 0xdf, 0x85, 0x59, 0x6c,
+	0x6e, 0xf1, 0x2b, 0x2b, 0x7e, 0x93, 0xab, 0x62, 0x96, 0x77, 0x4b, 0xf2, 0x39, 0xb4, 0xf0, 0xc1,
+	0xe7, 0x53, 0x87, 0xba, 0xa1, 0x61, 0x3a, 0xde, 0xd4, 0x0d, 0xf9, 0xfe, 0x28, 0xec, 0xea, 0x8f,
+	0x2d, 0xdb, 0xdc, 0xd0, 0xaf, 0x42, 0xd9, 0xc7, 0x28, 0xfb, 0xf7, 0x61, 0x65, 0xe0, 0x39, 0x05,
+	0x39, 0xec, 0x2f, 0xf4, 0xe5, 0xe0, 0x29, 0xfe, 0xad, 0x1e, 0xb0, 0x9f, 0xd5, 0x83, 0xd2, 0x51,
+	0x95, 0xff, 0xb5, 0x3e, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x07, 0x78, 0x0a, 0xae, 0xfe, 0x0e,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service.pb.go b/googleapis/bigtable/v1/bigtable_service.pb.go
index 25f355df..700007dc 100644
--- a/googleapis/bigtable/v1/bigtable_service.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service.pb.go
@@ -345,47 +345,47 @@ var _BigtableService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: fileDescriptor2,
+	Metadata: fileDescriptor1,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 536 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x94, 0x4f, 0x6f, 0xd3, 0x30,
-	0x18, 0xc6, 0x65, 0x0e, 0x68, 0x58, 0x42, 0x08, 0x4b, 0x0c, 0xa9, 0xc7, 0xf0, 0x47, 0x50, 0xb1,
-	0x78, 0x63, 0x9c, 0x2a, 0x71, 0x58, 0xd1, 0x18, 0x13, 0x54, 0x8c, 0x4e, 0xfc, 0x11, 0x1c, 0x8a,
-	0x9b, 0xbe, 0xf5, 0xc2, 0x1a, 0xbf, 0xc1, 0x76, 0x1b, 0x85, 0x69, 0x17, 0x4e, 0xdc, 0xf9, 0x08,
-	0x88, 0x0b, 0x5f, 0x80, 0x23, 0xdf, 0x01, 0xce, 0xdc, 0xf8, 0x20, 0xc8, 0x4e, 0x52, 0x54, 0x16,
-	0x46, 0xb5, 0xee, 0x92, 0x58, 0x7a, 0x9f, 0x3c, 0xef, 0xef, 0x79, 0x6d, 0x87, 0x3e, 0x90, 0x88,
-	0x72, 0x04, 0xa1, 0xc4, 0x91, 0x50, 0x32, 0x44, 0x2d, 0xb9, 0x04, 0x95, 0x6a, 0xb4, 0xc8, 0x8b,
-	0x92, 0x48, 0x63, 0xc3, 0xfb, 0xb1, 0xb4, 0xa2, 0x3f, 0x02, 0x3e, 0x59, 0x9b, 0xae, 0x7b, 0x06,
-	0xf4, 0x24, 0x8e, 0x20, 0xf4, 0x6a, 0xc6, 0x4a, 0xa7, 0xaa, 0x1c, 0x4e, 0xd6, 0x1a, 0xdb, 0xf3,
-	0xb9, 0x8b, 0x34, 0xe6, 0xa5, 0x59, 0x84, 0x6a, 0x18, 0x4b, 0x2e, 0x94, 0x42, 0x2b, 0x6c, 0x8c,
-	0xca, 0x14, 0xf6, 0x8d, 0xcd, 0x05, 0x40, 0x07, 0xc2, 0x8a, 0xd2, 0xe6, 0xc9, 0xe2, 0x79, 0x7b,
-	0x09, 0x18, 0x23, 0x24, 0x54, 0x64, 0xeb, 0x32, 0xb6, 0x7b, 0xe3, 0x7e, 0x18, 0x61, 0xc2, 0x0b,
-	0x5b, 0xee, 0x0b, 0xfd, 0xf1, 0x90, 0xa7, 0x36, 0x4f, 0xc1, 0x70, 0x48, 0x52, 0x9b, 0x17, 0xcf,
-	0xe2, 0xa3, 0xdb, 0x3f, 0x97, 0xe8, 0x85, 0x76, 0x69, 0xbc, 0x5b, 0xf8, 0xb2, 0xcf, 0x84, 0x2e,
-	0x75, 0x41, 0x0c, 0xba, 0x98, 0x19, 0x76, 0x25, 0x3c, 0x3a, 0xcf, 0xb0, 0xaa, 0x76, 0xe1, 0xed,
-	0x18, 0x8c, 0x6d, 0x5c, 0x3d, 0x5e, 0x64, 0x52, 0x54, 0x06, 0x82, 0x47, 0xef, 0x7f, 0xfc, 0xfa,
-	0x78, 0xe6, 0x7e, 0xb0, 0xe1, 0xd2, 0x1c, 0x14, 0x59, 0x94, 0x48, 0xe0, 0x6e, 0xaa, 0xf1, 0x0d,
-	0x44, 0xd6, 0xf0, 0x26, 0x7f, 0x87, 0x0a, 0xdc, 0x3b, 0x1a, 0x8d, 0x8d, 0x05, 0xed, 0x96, 0x5e,
-	0x68, 0x78, 0xf3, 0x90, 0x6b, 0xcc, 0x4c, 0x4b, 0x83, 0x18, 0xb4, 0x48, 0x73, 0x95, 0xb0, 0xaf,
-	0x84, 0x9e, 0xdf, 0x15, 0x49, 0x3a, 0x82, 0x2e, 0x66, 0x0f, 0x21, 0x37, 0xec, 0x46, 0x1d, 0xc7,
-	0x8c, 0xa4, 0x22, 0xbe, 0x39, 0x87, 0xb2, 0xc4, 0x7e, 0xec, 0xb1, 0xb7, 0xd9, 0xd6, 0x42, 0xd8,
-	0xc6, 0x7b, 0x3b, 0xe3, 0x55, 0xc2, 0x3e, 0x11, 0x7a, 0xae, 0x33, 0xb6, 0xc2, 0xba, 0x66, 0xac,
-	0x76, 0x7a, 0xd3, 0x72, 0x45, 0xbc, 0x5c, 0xa9, 0xaa, 0x4d, 0x0d, 0x37, 0xdd, 0x3e, 0x06, 0x2f,
-	0x3c, 0x5e, 0x37, 0xe8, 0x2c, 0x82, 0xc7, 0x0f, 0x34, 0x66, 0xbd, 0x7d, 0xc8, 0x0f, 0x5b, 0x89,
-	0x6f, 0xdc, 0x22, 0x4d, 0xf6, 0x85, 0x50, 0x3a, 0xc5, 0x30, 0xec, 0xda, 0xb1, 0x98, 0xd3, 0xc9,
-	0x5e, 0xff, 0x9f, 0xac, 0x1c, 0x6b, 0xc7, 0x73, 0x6f, 0x05, 0xed, 0x13, 0x72, 0x97, 0xa0, 0xce,
-	0xd3, 0xc1, 0x7e, 0x27, 0xf4, 0xe2, 0xbd, 0x3d, 0x88, 0xf6, 0x37, 0xd4, 0xe0, 0xcf, 0x68, 0x6f,
-	0xd5, 0xc1, 0x1c, 0x91, 0x55, 0xe8, 0x2b, 0x73, 0xaa, 0xcb, 0x04, 0xaf, 0x7d, 0x82, 0x97, 0xc1,
-	0xd3, 0x53, 0x9a, 0x7c, 0x34, 0xd3, 0xc9, 0x85, 0xfa, 0x46, 0x28, 0x73, 0xd7, 0xa8, 0x83, 0x83,
-	0x78, 0x98, 0x3f, 0xd7, 0x71, 0x91, 0x6a, 0xe5, 0x5f, 0xd7, 0x6d, 0x56, 0x57, 0xc5, 0xba, 0x5c,
-	0x2b, 0xc7, 0x2c, 0x10, 0x3e, 0xc0, 0xab, 0xe0, 0xd9, 0x29, 0x05, 0xd0, 0xb3, 0x08, 0x2d, 0xd2,
-	0x6c, 0xdf, 0xa1, 0xcb, 0x11, 0x26, 0x35, 0x00, 0xed, 0x4b, 0x7f, 0xfd, 0x76, 0xcc, 0x8e, 0x3b,
-	0xd7, 0x3b, 0xe4, 0x03, 0x21, 0xfd, 0xb3, 0xfe, 0x8c, 0xaf, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff,
-	0x7a, 0xad, 0xef, 0xcd, 0x16, 0x06, 0x00, 0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 532 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x94, 0x4d, 0x6f, 0xd3, 0x30,
+	0x1c, 0xc6, 0x65, 0x0e, 0x68, 0x58, 0x42, 0x08, 0x4b, 0x0c, 0xa9, 0xc7, 0xf0, 0x22, 0x98, 0x58,
+	0xcc, 0x18, 0xa7, 0x4a, 0x1c, 0x56, 0x34, 0xc6, 0x04, 0x15, 0xa3, 0x13, 0x2f, 0x82, 0x43, 0x71,
+	0xd2, 0x7f, 0xbd, 0xb0, 0xc4, 0x0e, 0xb1, 0xd3, 0xa9, 0x4c, 0xbb, 0x70, 0xe2, 0xce, 0x47, 0x40,
+	0x5c, 0xf8, 0x02, 0x1c, 0xf9, 0x0e, 0x70, 0xe6, 0xc6, 0x07, 0xc1, 0x76, 0xe2, 0xa2, 0xb2, 0x30,
+	0x2a, 0xda, 0x8b, 0x6b, 0xe9, 0xff, 0xf4, 0xf1, 0xef, 0x79, 0xe2, 0x04, 0xdf, 0xe7, 0x52, 0xf2,
+	0x14, 0x42, 0x2e, 0x53, 0x26, 0x78, 0x28, 0x0b, 0x4e, 0x39, 0x88, 0xbc, 0x90, 0x5a, 0xd2, 0x6a,
+	0xc4, 0xf2, 0x44, 0xd1, 0x28, 0xe1, 0x9a, 0x45, 0x29, 0xd0, 0xd1, 0xda, 0x64, 0xdf, 0x57, 0x50,
+	0x8c, 0x92, 0x18, 0x42, 0xa7, 0x26, 0xa4, 0x76, 0xf2, 0xe3, 0x70, 0xb4, 0xd6, 0xda, 0x9e, 0xcd,
+	0xdd, 0x2c, 0xb4, 0x36, 0x8b, 0xa5, 0x18, 0x26, 0x9c, 0x32, 0x21, 0xa4, 0x66, 0x3a, 0x91, 0x42,
+	0x55, 0xf6, 0xad, 0xcd, 0x39, 0x40, 0x07, 0x4c, 0xb3, 0xda, 0xe6, 0xf1, 0xfc, 0x79, 0xfb, 0x19,
+	0x28, 0xc5, 0x38, 0x78, 0xb2, 0x75, 0x9e, 0xe8, 0xbd, 0x32, 0x0a, 0x63, 0x99, 0xd1, 0xca, 0x96,
+	0xba, 0x41, 0x54, 0x0e, 0x69, 0xae, 0xc7, 0x39, 0x28, 0x0a, 0x99, 0xd9, 0x54, 0x6b, 0xf5, 0xa7,
+	0x5b, 0x3f, 0x96, 0xf0, 0xb9, 0x4e, 0x6d, 0xbc, 0x5b, 0xf9, 0x92, 0x4f, 0x08, 0x2f, 0xf5, 0x80,
+	0x0d, 0x7a, 0xf2, 0x40, 0x91, 0x4b, 0xe1, 0xf1, 0x3e, 0x43, 0x3f, 0xed, 0xc1, 0x9b, 0x12, 0x94,
+	0x6e, 0x5d, 0x3e, 0x59, 0xa4, 0x72, 0xd3, 0x1f, 0x04, 0x0f, 0xdf, 0x7d, 0xff, 0xf9, 0xe1, 0xd4,
+	0xbd, 0x60, 0xc3, 0xa6, 0x39, 0xac, 0xb2, 0x08, 0x96, 0xc1, 0x1d, 0x83, 0xf2, 0x1a, 0x62, 0xad,
+	0xe8, 0x0a, 0x7d, 0x2b, 0x05, 0xd8, 0xdf, 0x38, 0x2d, 0x95, 0x86, 0xc2, 0x6e, 0x9d, 0xd0, 0x6c,
+	0x8e, 0x68, 0x61, 0xdc, 0xda, 0x85, 0xb1, 0x6d, 0xa3, 0x95, 0x9b, 0x88, 0x7c, 0x41, 0xf8, 0xec,
+	0x2e, 0xcb, 0xf2, 0x14, 0xcc, 0x31, 0x0f, 0x60, 0xac, 0xc8, 0xb5, 0x26, 0x8e, 0x29, 0x89, 0x27,
+	0xbe, 0x3e, 0x83, 0xb2, 0xc6, 0x7e, 0xe4, 0xb0, 0xb7, 0xc9, 0xd6, 0x5c, 0xd8, 0xca, 0x79, 0x5b,
+	0x63, 0x43, 0xfe, 0x11, 0xe1, 0x33, 0xdd, 0xd2, 0x5c, 0x2c, 0x7b, 0x18, 0x69, 0x6c, 0x6f, 0x32,
+	0xf6, 0xc4, 0xcb, 0x5e, 0xe5, 0x1f, 0x6a, 0xb8, 0x69, 0x9f, 0x63, 0xf0, 0xdc, 0xe1, 0xf5, 0x82,
+	0xee, 0x3c, 0x78, 0xf4, 0xd0, 0xac, 0xfd, 0x7d, 0x18, 0x1f, 0xb5, 0x33, 0x77, 0xb0, 0x69, 0x98,
+	0x7c, 0x46, 0x18, 0x4f, 0x30, 0x14, 0xb9, 0x72, 0x22, 0xe6, 0xa4, 0xd9, 0xab, 0xff, 0x92, 0xd5,
+	0xb5, 0x76, 0x1d, 0xf7, 0x56, 0xd0, 0xf9, 0x4f, 0xee, 0x1a, 0xd4, 0x7a, 0x5a, 0xd8, 0x6f, 0x08,
+	0x9f, 0xbf, 0xbb, 0x07, 0xf1, 0xfe, 0x86, 0x18, 0xfc, 0xae, 0xf6, 0x46, 0x13, 0xcc, 0x31, 0x99,
+	0x47, 0x5f, 0x9d, 0x51, 0x5d, 0x27, 0x78, 0xe5, 0x12, 0xbc, 0x08, 0x9e, 0x2c, 0xa8, 0xf9, 0x78,
+	0xea, 0x24, 0x1b, 0xea, 0x2b, 0xc2, 0xc4, 0xbe, 0x46, 0x5d, 0x39, 0x48, 0x86, 0xe3, 0x67, 0x45,
+	0x52, 0xa5, 0x5a, 0xfd, 0xdb, 0xeb, 0x36, 0xad, 0xf3, 0xb1, 0x2e, 0x36, 0xca, 0xe5, 0x41, 0xc0,
+	0x5c, 0x80, 0x97, 0xc1, 0xd3, 0x05, 0x05, 0x28, 0xa6, 0x11, 0x4c, 0x82, 0xce, 0x6d, 0xbc, 0x6c,
+	0xbe, 0x47, 0x0d, 0x00, 0x9d, 0x0b, 0x7f, 0x7c, 0x76, 0xd4, 0x8e, 0xbd, 0xd7, 0x3b, 0xe8, 0x3d,
+	0x42, 0xd1, 0x69, 0x77, 0xc7, 0xd7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x7a, 0xad, 0xef, 0xcd,
+	0x16, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service_messages.pb.go b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
index 8166407e..7dccd5bf 100644
--- a/googleapis/bigtable/v1/bigtable_service_messages.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
@@ -44,7 +44,7 @@ type ReadRowsRequest struct {
 func (m *ReadRowsRequest) Reset()                    { *m = ReadRowsRequest{} }
 func (m *ReadRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsRequest) ProtoMessage()               {}
-func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 type isReadRowsRequest_Target interface {
 	isReadRowsRequest_Target()
@@ -201,7 +201,7 @@ type ReadRowsResponse struct {
 func (m *ReadRowsResponse) Reset()                    { *m = ReadRowsResponse{} }
 func (m *ReadRowsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsResponse) ProtoMessage()               {}
-func (*ReadRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ReadRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_Chunk {
 	if m != nil {
@@ -223,7 +223,7 @@ type ReadRowsResponse_Chunk struct {
 func (m *ReadRowsResponse_Chunk) Reset()                    { *m = ReadRowsResponse_Chunk{} }
 func (m *ReadRowsResponse_Chunk) String() string            { return proto.CompactTextString(m) }
 func (*ReadRowsResponse_Chunk) ProtoMessage()               {}
-func (*ReadRowsResponse_Chunk) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1, 0} }
+func (*ReadRowsResponse_Chunk) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1, 0} }
 
 type isReadRowsResponse_Chunk_Chunk interface {
 	isReadRowsResponse_Chunk_Chunk()
@@ -371,7 +371,7 @@ type SampleRowKeysRequest struct {
 func (m *SampleRowKeysRequest) Reset()                    { *m = SampleRowKeysRequest{} }
 func (m *SampleRowKeysRequest) String() string            { return proto.CompactTextString(m) }
 func (*SampleRowKeysRequest) ProtoMessage()               {}
-func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
 // Response message for BigtableService.SampleRowKeys.
 type SampleRowKeysResponse struct {
@@ -393,7 +393,7 @@ type SampleRowKeysResponse struct {
 func (m *SampleRowKeysResponse) Reset()                    { *m = SampleRowKeysResponse{} }
 func (m *SampleRowKeysResponse) String() string            { return proto.CompactTextString(m) }
 func (*SampleRowKeysResponse) ProtoMessage()               {}
-func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
 // Request message for BigtableService.MutateRow.
 type MutateRowRequest struct {
@@ -410,7 +410,7 @@ type MutateRowRequest struct {
 func (m *MutateRowRequest) Reset()                    { *m = MutateRowRequest{} }
 func (m *MutateRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowRequest) ProtoMessage()               {}
-func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
 func (m *MutateRowRequest) GetMutations() []*Mutation {
 	if m != nil {
@@ -434,7 +434,7 @@ type MutateRowsRequest struct {
 func (m *MutateRowsRequest) Reset()                    { *m = MutateRowsRequest{} }
 func (m *MutateRowsRequest) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsRequest) ProtoMessage()               {}
-func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
 	if m != nil {
@@ -456,7 +456,7 @@ type MutateRowsRequest_Entry struct {
 func (m *MutateRowsRequest_Entry) Reset()                    { *m = MutateRowsRequest_Entry{} }
 func (m *MutateRowsRequest_Entry) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsRequest_Entry) ProtoMessage()               {}
-func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5, 0} }
+func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5, 0} }
 
 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
 	if m != nil {
@@ -478,7 +478,7 @@ type MutateRowsResponse struct {
 func (m *MutateRowsResponse) Reset()                    { *m = MutateRowsResponse{} }
 func (m *MutateRowsResponse) String() string            { return proto.CompactTextString(m) }
 func (*MutateRowsResponse) ProtoMessage()               {}
-func (*MutateRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*MutateRowsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
 func (m *MutateRowsResponse) GetStatuses() []*google_rpc.Status {
 	if m != nil {
@@ -516,7 +516,7 @@ type CheckAndMutateRowRequest struct {
 func (m *CheckAndMutateRowRequest) Reset()                    { *m = CheckAndMutateRowRequest{} }
 func (m *CheckAndMutateRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*CheckAndMutateRowRequest) ProtoMessage()               {}
-func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
 	if m != nil {
@@ -549,7 +549,7 @@ type CheckAndMutateRowResponse struct {
 func (m *CheckAndMutateRowResponse) Reset()                    { *m = CheckAndMutateRowResponse{} }
 func (m *CheckAndMutateRowResponse) String() string            { return proto.CompactTextString(m) }
 func (*CheckAndMutateRowResponse) ProtoMessage()               {}
-func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
 
 // Request message for BigtableService.ReadModifyWriteRowRequest.
 type ReadModifyWriteRowRequest struct {
@@ -567,7 +567,7 @@ type ReadModifyWriteRowRequest struct {
 func (m *ReadModifyWriteRowRequest) Reset()                    { *m = ReadModifyWriteRowRequest{} }
 func (m *ReadModifyWriteRowRequest) String() string            { return proto.CompactTextString(m) }
 func (*ReadModifyWriteRowRequest) ProtoMessage()               {}
-func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
 
 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
 	if m != nil {
@@ -592,58 +592,58 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 783 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xcd, 0x8e, 0xe3, 0x44,
-	0x10, 0x1e, 0x27, 0xe4, 0xaf, 0x12, 0x66, 0x66, 0x5b, 0xcb, 0xae, 0x27, 0xda, 0x11, 0xc1, 0x42,
-	0x22, 0x62, 0x25, 0x47, 0xbb, 0x30, 0x12, 0x02, 0xad, 0x10, 0x09, 0x59, 0x05, 0x41, 0xd0, 0xd2,
-	0x39, 0x70, 0x41, 0x8a, 0x3a, 0x4e, 0xc5, 0x63, 0x8d, 0xdd, 0x1d, 0xba, 0xdb, 0xb1, 0x72, 0x46,
-	0xe2, 0x0e, 0x4f, 0xc1, 0x1b, 0x71, 0xe1, 0x61, 0x50, 0xb7, 0x9d, 0x1f, 0x86, 0x44, 0x04, 0xed,
-	0x9c, 0x6c, 0x57, 0xd5, 0xf7, 0x55, 0xd5, 0xd7, 0xe5, 0x6a, 0xf8, 0x21, 0x14, 0x22, 0x8c, 0xd1,
-	0x0f, 0x45, 0xcc, 0x78, 0xe8, 0x0b, 0x19, 0xf6, 0x42, 0xe4, 0x4b, 0x29, 0xb4, 0xe8, 0xe5, 0x2e,
-	0xb6, 0x8c, 0x54, 0x6f, 0x16, 0x85, 0x9a, 0xcd, 0x62, 0xec, 0xad, 0x5e, 0x6c, 0xdf, 0xa7, 0x0a,
-	0xe5, 0x2a, 0x0a, 0x70, 0x9a, 0xa0, 0x52, 0x2c, 0x44, 0xe5, 0x5b, 0x18, 0x21, 0x05, 0xe5, 0x26,
-	0xce, 0x5f, 0xbd, 0x68, 0x0f, 0xdf, 0x22, 0xcd, 0x9c, 0x69, 0x96, 0x53, 0xb7, 0x5f, 0x9d, 0x46,
-	0x23, 0x97, 0x41, 0x4f, 0x69, 0xa6, 0x53, 0x55, 0x3c, 0x72, 0xb8, 0xf7, 0x57, 0x09, 0x2e, 0x28,
-	0xb2, 0x39, 0x15, 0x99, 0xa2, 0xf8, 0x73, 0x8a, 0x4a, 0x93, 0x6b, 0x80, 0x3c, 0x0d, 0x67, 0x09,
-	0xba, 0x4e, 0xc7, 0xe9, 0x36, 0x68, 0xc3, 0x5a, 0xbe, 0x67, 0x09, 0x92, 0x2b, 0xa8, 0x49, 0x91,
-	0x4d, 0xef, 0x70, 0xed, 0x96, 0x3a, 0x4e, 0xb7, 0x35, 0x3a, 0xa3, 0x55, 0x29, 0xb2, 0x6f, 0x71,
-	0x4d, 0xbe, 0x80, 0x86, 0x71, 0x49, 0xc6, 0x43, 0x74, 0xcb, 0x1d, 0xa7, 0xdb, 0x7c, 0xf9, 0xcc,
-	0xff, 0x77, 0xef, 0x3e, 0x15, 0x19, 0x35, 0x31, 0xa3, 0x33, 0x5a, 0x97, 0xc5, 0x3b, 0xb9, 0xc9,
-	0x79, 0x15, 0x6a, 0xb7, 0x6e, 0xa1, 0xed, 0x23, 0xd0, 0x09, 0xea, 0x22, 0xe7, 0x04, 0x35, 0xb9,
-	0x81, 0xea, 0x22, 0x8a, 0x35, 0x4a, 0xb7, 0x62, 0x51, 0xd7, 0x47, 0x50, 0xaf, 0x6d, 0x10, 0x2d,
-	0x82, 0xc9, 0xa7, 0xf0, 0x84, 0xc5, 0xb1, 0x29, 0x56, 0x64, 0xd3, 0x88, 0x6b, 0x94, 0x31, 0xb2,
-	0x55, 0xc4, 0x43, 0xb7, 0xda, 0x71, 0xba, 0x75, 0xfa, 0xd8, 0x7a, 0xa9, 0xc8, 0xbe, 0xd9, 0xf3,
-	0x91, 0x0f, 0xe1, 0x9c, 0xa7, 0x89, 0xc1, 0xa8, 0x69, 0x1c, 0x25, 0x91, 0x76, 0x6b, 0x1d, 0xa7,
-	0x5b, 0xa6, 0x2d, 0x9e, 0x26, 0x46, 0xc2, 0xef, 0x8c, 0xad, 0x5f, 0x87, 0xaa, 0x66, 0x32, 0x44,
-	0xed, 0xfd, 0x52, 0x82, 0xcb, 0x9d, 0xbc, 0x6a, 0x29, 0xb8, 0x42, 0xf2, 0x74, 0x27, 0xa0, 0x11,
-	0xb7, 0xb5, 0x95, 0xaf, 0x0f, 0xd5, 0xe0, 0x36, 0xe5, 0x77, 0xca, 0x2d, 0x75, 0xca, 0xdd, 0xe6,
-	0xcb, 0x8f, 0x0f, 0xb6, 0x72, 0x8f, 0xce, 0x1f, 0x18, 0x08, 0x2d, 0x90, 0xed, 0xdf, 0x1c, 0xa8,
-	0x58, 0x0b, 0xf9, 0x12, 0x5a, 0x26, 0x4d, 0x20, 0xb8, 0x46, 0xae, 0x95, 0xcd, 0x75, 0x44, 0xd4,
-	0xd7, 0x2c, 0x89, 0xe2, 0xf5, 0xe8, 0x8c, 0x36, 0xa5, 0xc8, 0x06, 0x05, 0x80, 0x5c, 0x43, 0x43,
-	0xa2, 0x42, 0x6d, 0xda, 0xb5, 0x47, 0x5d, 0xb7, 0xe7, 0x65, 0x4c, 0x54, 0x64, 0xe4, 0x7d, 0x80,
-	0x40, 0x24, 0x49, 0x94, 0xfb, 0xcb, 0x85, 0xbf, 0x91, 0xdb, 0xa8, 0xc8, 0xfa, 0x35, 0xa8, 0xd8,
-	0xa2, 0xbc, 0x1b, 0x78, 0x3c, 0x61, 0xc9, 0x32, 0x46, 0x6a, 0xfb, 0x3c, 0x71, 0xd0, 0xbc, 0x09,
-	0xbc, 0x77, 0x0f, 0xf6, 0x5f, 0x02, 0x7e, 0x00, 0x2d, 0xb1, 0x58, 0x98, 0x92, 0x67, 0x6b, 0x8d,
-	0xca, 0x16, 0x5d, 0xa6, 0xcd, 0xdc, 0xd6, 0x37, 0x26, 0xef, 0x57, 0x07, 0x2e, 0xc7, 0xa9, 0x66,
-	0xda, 0xb0, 0x9e, 0x38, 0xf1, 0x4f, 0xef, 0x4d, 0xfc, 0x36, 0xdf, 0xe7, 0xd0, 0x48, 0x0c, 0x57,
-	0x24, 0xb8, 0x72, 0xcb, 0xf6, 0xcc, 0x0e, 0xce, 0xfb, 0xb8, 0x08, 0xa2, 0xbb, 0x70, 0xef, 0x4f,
-	0x07, 0x1e, 0x6d, 0x0b, 0x39, 0xf5, 0xdf, 0x1b, 0x42, 0x0d, 0xb9, 0x96, 0x11, 0x6e, 0x46, 0xe4,
-	0xf9, 0xd1, 0x74, 0xfb, 0xb4, 0xfe, 0x90, 0x6b, 0xb9, 0xa6, 0x1b, 0x6c, 0xfb, 0x27, 0xa8, 0x58,
-	0xcb, 0x71, 0x25, 0xff, 0xd1, 0x59, 0xe9, 0xff, 0x75, 0xf6, 0x35, 0x90, 0xfd, 0x0a, 0x8a, 0x43,
-	0xf3, 0xa1, 0x9e, 0x6f, 0x1e, 0x34, 0xa3, 0x68, 0x08, 0xc9, 0x86, 0x50, 0x2e, 0x03, 0x7f, 0x62,
-	0x7d, 0x74, 0x1b, 0xe3, 0xfd, 0x51, 0x02, 0x77, 0x70, 0x8b, 0xc1, 0xdd, 0x57, 0x7c, 0xfe, 0x60,
-	0x07, 0x36, 0x82, 0xcb, 0xa5, 0xc4, 0x79, 0x14, 0x30, 0x8d, 0xd3, 0x62, 0x6d, 0x54, 0x4f, 0x59,
-	0x1b, 0x17, 0x5b, 0x58, 0x6e, 0x20, 0x03, 0x38, 0xd7, 0x32, 0xc5, 0xe9, 0x4e, 0xa5, 0x77, 0x4e,
-	0x50, 0xe9, 0x5d, 0x83, 0xd9, 0x7c, 0x29, 0x32, 0x84, 0x8b, 0x05, 0x8b, 0xd5, 0x3e, 0x4b, 0xe5,
-	0x04, 0x96, 0x73, 0x0b, 0xda, 0xd2, 0x78, 0x23, 0xb8, 0x3a, 0xa0, 0x54, 0xa1, 0xfb, 0x73, 0x78,
-	0xb4, 0x6b, 0x39, 0x61, 0x3a, 0xb8, 0xc5, 0xb9, 0x55, 0xac, 0x4e, 0x77, 0x5a, 0x8c, 0x73, 0xbb,
-	0xf7, 0xbb, 0x03, 0x57, 0x66, 0xc1, 0x8c, 0xc5, 0x3c, 0x5a, 0xac, 0x7f, 0x94, 0xd1, 0x83, 0xa8,
-	0xfe, 0x0a, 0x2a, 0x32, 0x8d, 0x71, 0xf3, 0x8b, 0x7c, 0x74, 0x6c, 0xad, 0xed, 0x67, 0x4d, 0x63,
-	0xa4, 0x39, 0xaa, 0xff, 0x19, 0x3c, 0x09, 0x44, 0x72, 0x00, 0xd4, 0x7f, 0xd6, 0x2f, 0x3e, 0x26,
-	0xf9, 0xbd, 0x3b, 0x2e, 0xae, 0xdd, 0x37, 0xe6, 0x6e, 0x7b, 0xe3, 0xcc, 0xaa, 0xf6, 0x92, 0xfb,
-	0xe4, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x88, 0x02, 0xc9, 0xd3, 0x07, 0x00, 0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 770 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x6e, 0xd3, 0x4a,
+	0x10, 0x3e, 0x49, 0x4e, 0xfe, 0xa6, 0x39, 0xfd, 0xb1, 0x7a, 0x5a, 0x37, 0x6a, 0x75, 0x0e, 0x16,
+	0x12, 0x88, 0x4a, 0x8e, 0x0a, 0x54, 0x42, 0xa0, 0x0a, 0x91, 0xd0, 0xaa, 0x08, 0x82, 0xca, 0xe6,
+	0x82, 0x1b, 0xa4, 0x68, 0xe3, 0x6c, 0x5c, 0xab, 0xfe, 0x09, 0xbb, 0x9b, 0x54, 0xb9, 0x46, 0xe2,
+	0x1e, 0x9e, 0x82, 0x37, 0xe2, 0x86, 0x87, 0x61, 0x76, 0xbd, 0x71, 0x42, 0x69, 0x44, 0x10, 0xbd,
+	0x88, 0x62, 0xcf, 0xcc, 0xf7, 0xcd, 0xcc, 0xb7, 0xe3, 0x59, 0x78, 0xe3, 0x27, 0x89, 0x1f, 0x32,
+	0xd7, 0x4f, 0x42, 0x1a, 0xfb, 0x6e, 0xc2, 0xfd, 0x86, 0xcf, 0xe2, 0x21, 0x4f, 0x64, 0xd2, 0x48,
+	0x5d, 0x74, 0x18, 0x88, 0x46, 0x2f, 0xf0, 0x25, 0xed, 0x85, 0xac, 0x31, 0x3e, 0xc8, 0x9e, 0xbb,
+	0x82, 0xf1, 0x71, 0xe0, 0xb1, 0x6e, 0xc4, 0x84, 0xa0, 0x3e, 0x13, 0xae, 0x86, 0x59, 0x96, 0xa1,
+	0x9c, 0xc6, 0xb9, 0xe3, 0x83, 0xfa, 0xf1, 0x1f, 0xa4, 0xe9, 0x53, 0x49, 0x53, 0xea, 0xfa, 0xd1,
+	0x72, 0x34, 0x7c, 0xe8, 0x35, 0x84, 0xa4, 0x72, 0x24, 0xcc, 0x5f, 0x0a, 0x77, 0xbe, 0xe5, 0x61,
+	0x8d, 0x30, 0xda, 0x27, 0xc9, 0xa5, 0x20, 0xec, 0xfd, 0x88, 0x09, 0x69, 0xed, 0x01, 0xa4, 0x69,
+	0x62, 0x1a, 0x31, 0x3b, 0xf7, 0x7f, 0xee, 0x6e, 0x95, 0x54, 0xb5, 0xe5, 0x35, 0x1a, 0xac, 0x1d,
+	0x28, 0xf3, 0xe4, 0xb2, 0x7b, 0xc1, 0x26, 0x76, 0x1e, 0x7d, 0xb5, 0xd3, 0xbf, 0x48, 0x09, 0x0d,
+	0x2f, 0xd9, 0xc4, 0x7a, 0x02, 0x55, 0xe5, 0xe2, 0x58, 0x09, 0xb3, 0x0b, 0xe8, 0x5c, 0xb9, 0xbf,
+	0xeb, 0xfe, 0xdc, 0xbb, 0x8b, 0xd9, 0x88, 0x8a, 0x41, 0x68, 0x85, 0x9b, 0x67, 0xeb, 0x30, 0xe5,
+	0x15, 0x4c, 0xda, 0x15, 0x0d, 0xad, 0x2f, 0x80, 0x76, 0x98, 0x34, 0x39, 0xf1, 0x09, 0x61, 0xa5,
+	0x41, 0x10, 0x4a, 0xc6, 0xed, 0xa2, 0x46, 0xed, 0x2d, 0x40, 0x9d, 0xe8, 0x20, 0x62, 0x82, 0xad,
+	0x87, 0xb0, 0x45, 0xc3, 0x50, 0x15, 0x8b, 0xbf, 0x20, 0x46, 0x13, 0x2a, 0x35, 0x0e, 0x62, 0xdf,
+	0x2e, 0x21, 0x4d, 0x85, 0x6c, 0x6a, 0x2f, 0xe2, 0x5e, 0xcc, 0xf9, 0xac, 0xdb, 0xb0, 0x1a, 0x8f,
+	0x22, 0x85, 0x11, 0xdd, 0x30, 0x88, 0x02, 0x69, 0x97, 0x31, 0xba, 0x40, 0x6a, 0x68, 0x55, 0x12,
+	0xbe, 0x52, 0xb6, 0x66, 0x05, 0x4a, 0x92, 0x72, 0x9f, 0x49, 0xe7, 0x43, 0x1e, 0xd6, 0x67, 0xf2,
+	0x8a, 0x61, 0x12, 0x0b, 0x66, 0x6d, 0xcf, 0x04, 0x54, 0xe2, 0xd6, 0x32, 0xf9, 0x9a, 0x50, 0xf2,
+	0xce, 0x47, 0xf1, 0x85, 0x40, 0x61, 0x0b, 0xd8, 0xca, 0xbd, 0x6b, 0x5b, 0xb9, 0x42, 0xe7, 0xb6,
+	0x14, 0x84, 0x18, 0x64, 0xfd, 0x53, 0x0e, 0x8a, 0xda, 0x62, 0x3d, 0x85, 0x9a, 0x4a, 0xe3, 0x25,
+	0xd8, 0x40, 0x2c, 0x85, 0xce, 0xb5, 0x40, 0xd4, 0x13, 0x1a, 0x05, 0xe1, 0x04, 0x45, 0x5d, 0x41,
+	0x44, 0xcb, 0x00, 0x70, 0x0e, 0xaa, 0x9c, 0xe1, 0x71, 0xa8, 0x76, 0xf5, 0x51, 0x57, 0xf4, 0x79,
+	0x29, 0x13, 0x16, 0x60, 0xfd, 0x07, 0xe0, 0x25, 0x11, 0xf6, 0xab, 0xfd, 0x05, 0xe3, 0xaf, 0xa6,
+	0x36, 0x0c, 0x68, 0x96, 0xa1, 0xa8, 0x8b, 0x72, 0x0e, 0x61, 0xb3, 0x43, 0xa3, 0x61, 0xc8, 0x88,
+	0xee, 0x73, 0xc9, 0x41, 0x73, 0x3a, 0xf0, 0xef, 0x15, 0xd8, 0xaf, 0x04, 0xbc, 0x05, 0xb5, 0x64,
+	0x30, 0x50, 0x25, 0xf7, 0x26, 0x92, 0x09, 0x5d, 0x74, 0x81, 0xac, 0xa4, 0xb6, 0xa6, 0x32, 0x39,
+	0x1f, 0x73, 0xb0, 0xde, 0x1e, 0xe1, 0x27, 0xa0, 0x58, 0x97, 0x9c, 0xf8, 0xed, 0x2b, 0x13, 0x9f,
+	0xe5, 0x7b, 0x0c, 0xd5, 0x48, 0x71, 0x05, 0x58, 0x16, 0x2a, 0x50, 0x58, 0x34, 0xef, 0x6d, 0x13,
+	0x44, 0x66, 0xe1, 0xce, 0xd7, 0x1c, 0x6c, 0x64, 0x85, 0x2c, 0xfb, 0xed, 0x1d, 0x43, 0x19, 0x8f,
+	0x86, 0x07, 0x6c, 0x3a, 0x22, 0xfb, 0x0b, 0xd3, 0xcd, 0xd3, 0xba, 0xc7, 0x08, 0x9a, 0x90, 0x29,
+	0xb6, 0xfe, 0x0e, 0x8a, 0xda, 0xb2, 0x58, 0xc9, 0x1f, 0x3a, 0xcb, 0xff, 0x5e, 0x67, 0xcf, 0xc1,
+	0x9a, 0xaf, 0xc0, 0x1c, 0x9a, 0x0b, 0x95, 0x74, 0xf3, 0x30, 0x35, 0x8a, 0x8a, 0xd0, 0x9a, 0x12,
+	0xe2, 0x72, 0x72, 0x3b, 0xda, 0x47, 0xb2, 0x18, 0xe7, 0x4b, 0x1e, 0xec, 0xd6, 0x39, 0xf3, 0x2e,
+	0x9e, 0xc5, 0xfd, 0x1b, 0x3b, 0xb0, 0x53, 0x58, 0x1f, 0x72, 0xd6, 0x0f, 0x3c, 0xa4, 0xeb, 0x9a,
+	0xb5, 0x51, 0x5a, 0x66, 0x6d, 0xac, 0x65, 0xb0, 0xd4, 0x60, 0xb5, 0x60, 0x55, 0xf2, 0x11, 0x6e,
+	0xfa, 0x4c, 0xa5, 0xbf, 0x97, 0x50, 0xe9, 0x1f, 0x85, 0x99, 0xbe, 0x09, 0x3c, 0xce, 0xb5, 0x01,
+	0x0d, 0xc5, 0x3c, 0x4b, 0x71, 0x09, 0x96, 0x55, 0x0d, 0xca, 0x68, 0x9c, 0x53, 0xd8, 0xb9, 0x46,
+	0x29, 0xa3, 0xfb, 0x3e, 0x6c, 0xcc, 0x5a, 0x8e, 0xa8, 0xf4, 0xce, 0x59, 0x5f, 0x2b, 0x56, 0x21,
+	0x33, 0x2d, 0xda, 0xa9, 0xdd, 0xf9, 0x9c, 0x83, 0x1d, 0xb5, 0x60, 0xda, 0x49, 0x3f, 0x18, 0x4c,
+	0xde, 0xf2, 0xe0, 0x46, 0x54, 0x3f, 0x82, 0x22, 0x1f, 0x85, 0x6c, 0xfa, 0x89, 0xdc, 0x59, 0xb4,
+	0xd6, 0xe6, 0xb3, 0x62, 0x3c, 0x49, 0x51, 0xcd, 0x47, 0xb0, 0x85, 0x4b, 0xe5, 0x1a, 0x50, 0x73,
+	0xb7, 0x69, 0x5e, 0x3a, 0xe9, 0xbd, 0xdb, 0x36, 0xd7, 0xee, 0x99, 0xba, 0xdb, 0xce, 0x72, 0xbd,
+	0x92, 0xbe, 0xe4, 0x1e, 0x7c, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xfd, 0x88, 0x02, 0xc9, 0xd3, 0x07,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/bigtable.pb.go b/googleapis/bigtable/v2/bigtable.pb.go
index f7ea96b2..e4d775cf 100644
--- a/googleapis/bigtable/v2/bigtable.pb.go
+++ b/googleapis/bigtable/v2/bigtable.pb.go
@@ -64,7 +64,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 type ReadRowsRequest struct {
 	// The unique name of the table from which to read.
 	// Values are of the form
-	// projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+	// `projects/<project>/instances/<instance>/tables/<table>`.
 	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
 	// The row keys and/or ranges to read. If not specified, reads from all rows.
 	Rows *RowSet `protobuf:"bytes,2,opt,name=rows" json:"rows,omitempty"`
@@ -301,7 +301,7 @@ func _ReadRowsResponse_CellChunk_OneofSizer(msg proto.Message) (n int) {
 type SampleRowKeysRequest struct {
 	// The unique name of the table from which to sample row keys.
 	// Values are of the form
-	// projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+	// `projects/<project>/instances/<instance>/tables/<table>`.
 	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
 }
 
@@ -336,7 +336,7 @@ func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescript
 type MutateRowRequest struct {
 	// The unique name of the table to which the mutation should be applied.
 	// Values are of the form
-	// projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+	// `projects/<project>/instances/<instance>/tables/<table>`.
 	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
 	// The key of the row to which the mutation should be applied.
 	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
@@ -459,7 +459,7 @@ type CheckAndMutateRowRequest struct {
 	// The unique name of the table to which the conditional mutation should be
 	// applied.
 	// Values are of the form
-	// projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+	// `projects/<project>/instances/<instance>/tables/<table>`.
 	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
 	// The key of the row to which the conditional mutation should be applied.
 	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
@@ -525,7 +525,7 @@ type ReadModifyWriteRowRequest struct {
 	// The unique name of the table to which the read/modify/write rules should be
 	// applied.
 	// Values are of the form
-	// projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+	// `projects/<project>/instances/<instance>/tables/<table>`.
 	TableName string `protobuf:"bytes,1,opt,name=table_name,json=tableName" json:"table_name,omitempty"`
 	// The key of the row to which the read/modify/write rules should be applied.
 	RowKey []byte `protobuf:"bytes,2,opt,name=row_key,json=rowKey,proto3" json:"row_key,omitempty"`
@@ -947,78 +947,77 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1161 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x73, 0xdb, 0xc4,
-	0x1b, 0xfe, 0x6d, 0x5c, 0xbb, 0xd6, 0x9b, 0xb6, 0x49, 0xf6, 0x17, 0x5a, 0xd7, 0xb4, 0x83, 0x11,
-	0x2d, 0x38, 0x29, 0x95, 0x3a, 0x61, 0x7a, 0x68, 0x20, 0xa5, 0x24, 0xa4, 0x4d, 0x07, 0xdc, 0xe9,
-	0xac, 0x67, 0xe0, 0xc2, 0x8c, 0x67, 0x2d, 0xaf, 0x9d, 0x25, 0x92, 0x56, 0xd5, 0xae, 0x62, 0x5c,
-	0x86, 0x0b, 0x07, 0x3e, 0x00, 0x9c, 0x19, 0x4e, 0x0c, 0x5c, 0xe0, 0xc8, 0x95, 0x03, 0x1f, 0x81,
-	0x03, 0x5f, 0xa0, 0x9f, 0x80, 0x4f, 0xc0, 0x68, 0xb5, 0xb2, 0x9d, 0xc4, 0x6e, 0x95, 0x4e, 0x4f,
-	0x96, 0xde, 0x7d, 0x9f, 0x77, 0x9f, 0xf7, 0x79, 0xff, 0xc8, 0x70, 0x6f, 0x20, 0xc4, 0xc0, 0x67,
-	0xce, 0x40, 0xf8, 0x34, 0x1c, 0x38, 0x22, 0x1e, 0xb8, 0x03, 0x16, 0x46, 0xb1, 0x50, 0xc2, 0xcd,
-	0x8e, 0x68, 0xc4, 0xa5, 0xdb, 0xe5, 0x03, 0x45, 0xbb, 0x3e, 0x73, 0x0f, 0x37, 0xc6, 0xcf, 0x8e,
-	0xf6, 0xc2, 0xd8, 0x44, 0x18, 0x9b, 0x0f, 0x37, 0xea, 0x0f, 0x8b, 0x45, 0xa5, 0x11, 0x77, 0x25,
-	0x8b, 0x0f, 0xb9, 0xc7, 0x3c, 0x11, 0xf6, 0xf9, 0xc0, 0xa5, 0x61, 0x28, 0x14, 0x55, 0x5c, 0x84,
-	0x32, 0x0b, 0x5f, 0xff, 0xe0, 0xf4, 0x04, 0x7b, 0x54, 0x51, 0x83, 0xbe, 0x33, 0xe0, 0x6a, 0x3f,
-	0xe9, 0x3a, 0x9e, 0x08, 0xdc, 0x2c, 0x82, 0xab, 0x0f, 0xba, 0x49, 0xdf, 0x8d, 0xd4, 0x28, 0x62,
-	0xd2, 0x1d, 0xc6, 0x34, 0x8a, 0x58, 0x3c, 0x79, 0x30, 0xd0, 0xad, 0x62, 0x17, 0xc7, 0x91, 0xe7,
-	0x4a, 0x45, 0x55, 0x22, 0xcd, 0x4f, 0x06, 0xb7, 0xff, 0x40, 0xb0, 0x44, 0x18, 0xed, 0x11, 0x31,
-	0x94, 0x84, 0x3d, 0x49, 0x98, 0x54, 0xf8, 0x2a, 0x80, 0x26, 0xd9, 0x09, 0x69, 0xc0, 0x6a, 0xa8,
-	0x81, 0x9a, 0x16, 0xb1, 0xb4, 0xe5, 0x11, 0x0d, 0x18, 0x76, 0xe0, 0x4c, 0x2c, 0x86, 0xb2, 0xb6,
-	0xd0, 0x40, 0xcd, 0xc5, 0x8d, 0xba, 0x73, 0x52, 0x58, 0x87, 0x88, 0x61, 0x9b, 0x29, 0xa2, 0xfd,
-	0xf0, 0x6d, 0xa8, 0xf4, 0xb9, 0xaf, 0x58, 0x5c, 0x2b, 0x69, 0xc4, 0xd5, 0x39, 0x88, 0xfb, 0xda,
-	0x89, 0x18, 0xe7, 0x94, 0x45, 0x0a, 0xef, 0xf8, 0x3c, 0xe0, 0xaa, 0x76, 0xa6, 0x81, 0x9a, 0x25,
-	0x62, 0xa5, 0x96, 0x4f, 0x53, 0x83, 0xfd, 0x6f, 0x09, 0x96, 0x27, 0xc4, 0x65, 0x24, 0x42, 0xc9,
-	0xf0, 0x7d, 0xa8, 0x78, 0xfb, 0x49, 0x78, 0x20, 0x6b, 0xa8, 0x51, 0x6a, 0x2e, 0x6e, 0x38, 0x33,
-	0xaf, 0x3a, 0x86, 0x72, 0x76, 0x98, 0xef, 0xef, 0xa4, 0x30, 0x62, 0xd0, 0xd8, 0x85, 0x55, 0x9f,
-	0x4a, 0xd5, 0x91, 0x1e, 0x0d, 0x43, 0xd6, 0xeb, 0xc4, 0x62, 0xd8, 0x39, 0x60, 0x23, 0x9d, 0xf2,
-	0x39, 0xb2, 0x92, 0x9e, 0xb5, 0xb3, 0x23, 0x22, 0x86, 0x9f, 0xb0, 0x51, 0xfd, 0xd9, 0x02, 0x58,
-	0xe3, 0x30, 0xf8, 0x12, 0x9c, 0xcd, 0x11, 0x48, 0x23, 0x2a, 0xb1, 0x76, 0xc3, 0x5b, 0xb0, 0xd8,
-	0xa7, 0x01, 0xf7, 0x47, 0x99, 0xb4, 0x99, 0x82, 0x57, 0x72, 0x92, 0x79, 0xc9, 0x9d, 0xb6, 0x8a,
-	0x79, 0x38, 0xf8, 0x8c, 0xfa, 0x09, 0x23, 0x90, 0x01, 0xb4, 0xf2, 0x77, 0xc0, 0x7a, 0x92, 0x50,
-	0x9f, 0xf7, 0xf9, 0x58, 0xcc, 0xd7, 0x4f, 0x80, 0xb7, 0x47, 0x8a, 0xc9, 0x0c, 0x3b, 0xf1, 0xc6,
-	0x6b, 0xb0, 0xac, 0x78, 0xc0, 0xa4, 0xa2, 0x41, 0xd4, 0x09, 0xb8, 0x17, 0x0b, 0x69, 0x34, 0x5d,
-	0x1a, 0xdb, 0x5b, 0xda, 0x8c, 0x2f, 0x42, 0xc5, 0xa7, 0x5d, 0xe6, 0xcb, 0x5a, 0xb9, 0x51, 0x6a,
-	0x5a, 0xc4, 0xbc, 0xe1, 0x55, 0x28, 0x1f, 0xa6, 0x61, 0x6b, 0x15, 0x9d, 0x53, 0xf6, 0x92, 0x96,
-	0x49, 0x3f, 0x74, 0x24, 0x7f, 0xca, 0x6a, 0x67, 0x1b, 0xa8, 0x59, 0x26, 0x96, 0xb6, 0xb4, 0xf9,
-	0xd3, 0xf4, 0xd8, 0x8a, 0x99, 0x64, 0x2a, 0x95, 0xb0, 0x56, 0x6d, 0xa0, 0x66, 0x75, 0xef, 0x7f,
-	0xa4, 0xaa, 0x4d, 0x44, 0x0c, 0xf1, 0x1b, 0x00, 0x9e, 0x08, 0x02, 0x9e, 0x9d, 0x5b, 0xe6, 0xdc,
-	0xca, 0x6c, 0x44, 0x0c, 0xb7, 0xcf, 0xe9, 0x2e, 0xe8, 0x64, 0x3d, 0x6b, 0xdf, 0x86, 0xd5, 0x36,
-	0x0d, 0x22, 0x9f, 0x65, 0xb2, 0x17, 0xec, 0x58, 0xbb, 0x0d, 0xaf, 0x1d, 0x83, 0x99, 0x7e, 0x99,
-	0x5b, 0xa8, 0x37, 0xe1, 0x9c, 0xe8, 0xf7, 0x53, 0xde, 0xdd, 0x54, 0x4e, 0x5d, 0xa9, 0x12, 0x59,
-	0xcc, 0x6c, 0x5a, 0x61, 0xfb, 0x3b, 0x04, 0xcb, 0xad, 0x44, 0x51, 0x95, 0x46, 0x2d, 0x38, 0x3a,
-	0x53, 0xf7, 0x2d, 0x1c, 0xb9, 0x6f, 0x13, 0xac, 0x20, 0x31, 0x1b, 0xa5, 0x56, 0xd2, 0xbd, 0x7b,
-	0x65, 0x56, 0xef, 0xb6, 0x8c, 0x13, 0x99, 0xb8, 0xdb, 0xff, 0x87, 0x95, 0x29, 0x1e, 0x59, 0x66,
-	0xf6, 0x3f, 0x68, 0xca, 0x5a, 0x74, 0xb2, 0x77, 0xe1, 0x2c, 0x0b, 0x55, 0xcc, 0x75, 0xc2, 0x29,
-	0x87, 0x1b, 0x73, 0x39, 0x4c, 0x87, 0x75, 0x76, 0x43, 0x15, 0x8f, 0x48, 0x8e, 0xad, 0x7f, 0x01,
-	0x65, 0x6d, 0x99, 0x2f, 0xef, 0x91, 0x74, 0x17, 0x4e, 0x97, 0xee, 0x2f, 0x08, 0xf0, 0x34, 0x85,
-	0xf1, 0xe8, 0x8f, 0xb9, 0x67, 0xb3, 0xff, 0xee, 0x8b, 0xb8, 0x9b, 0xe9, 0x3f, 0x46, 0xfe, 0x61,
-	0x4e, 0x7e, 0x15, 0xca, 0x3c, 0xec, 0xb1, 0xaf, 0x34, 0xf5, 0x12, 0xc9, 0x5e, 0xf0, 0x3a, 0x54,
-	0xb2, 0x5e, 0x34, 0xc3, 0x8b, 0xf3, 0x5b, 0xe2, 0xc8, 0x73, 0xda, 0xfa, 0x84, 0x18, 0x0f, 0xfb,
-	0xd7, 0x05, 0xa8, 0xed, 0xec, 0x33, 0xef, 0xe0, 0xa3, 0xb0, 0xf7, 0xca, 0x3a, 0x65, 0x0f, 0x96,
-	0xa3, 0x98, 0xf5, 0xb8, 0x47, 0x15, 0xeb, 0x98, 0xbd, 0x5a, 0x29, 0xb2, 0x57, 0x97, 0xc6, 0xb0,
-	0xcc, 0x80, 0x77, 0xe0, 0x82, 0x8a, 0x13, 0xd6, 0x99, 0x54, 0xe2, 0x4c, 0x81, 0x4a, 0x9c, 0x4f,
-	0x31, 0xf9, 0x9b, 0xc4, 0xbb, 0xb0, 0xd4, 0xa7, 0xbe, 0x9c, 0x8e, 0x52, 0x2e, 0x10, 0xe5, 0x82,
-	0x06, 0x8d, 0xc3, 0xd8, 0x7b, 0x70, 0x79, 0x86, 0x52, 0xa6, 0xb4, 0x37, 0x60, 0x65, 0x92, 0x72,
-	0x40, 0x95, 0xb7, 0xcf, 0x7a, 0x5a, 0xb1, 0x2a, 0x99, 0x68, 0xd1, 0xca, 0xec, 0xf6, 0xf7, 0x08,
-	0x2e, 0xa7, 0x1b, 0xbe, 0x25, 0x7a, 0xbc, 0x3f, 0xfa, 0x3c, 0xe6, 0xaf, 0x44, 0xf5, 0x2d, 0x28,
-	0xc7, 0x89, 0xcf, 0xf2, 0xd9, 0x7c, 0x67, 0xde, 0x77, 0x65, 0xfa, 0xd6, 0xc4, 0x67, 0x24, 0x43,
-	0xd9, 0x0f, 0xa0, 0x3e, 0x8b, 0x93, 0xc9, 0x6f, 0x0d, 0x4a, 0xe9, 0xf6, 0x43, 0xba, 0x8a, 0x97,
-	0xe6, 0x54, 0x91, 0xa4, 0x3e, 0x1b, 0xbf, 0x55, 0xa1, 0xba, 0x6d, 0x0e, 0xf0, 0x8f, 0x08, 0xaa,
-	0xf9, 0xc7, 0x0c, 0xbf, 0xf5, 0xfc, 0x4f, 0x9d, 0x4e, 0xbf, 0x7e, 0xad, 0xc8, 0xf7, 0xd0, 0xfe,
-	0xf8, 0xdb, 0xbf, 0x9f, 0xfd, 0xb0, 0x70, 0xd7, 0xbe, 0x93, 0xfe, 0x4b, 0xf9, 0x7a, 0xa2, 0xd7,
-	0x56, 0x14, 0x8b, 0x2f, 0x99, 0xa7, 0xa4, 0xbb, 0xee, 0xf2, 0x50, 0x2a, 0x1a, 0x7a, 0x2c, 0x7d,
-	0xd6, 0x1e, 0xd2, 0x5d, 0xff, 0x66, 0x33, 0x36, 0xa1, 0x36, 0xd1, 0xfa, 0x2d, 0x84, 0x7f, 0x47,
-	0x70, 0xfe, 0xc8, 0xde, 0xc5, 0xcd, 0x59, 0xf7, 0xcf, 0xda, 0xe8, 0xf5, 0xb5, 0x02, 0x9e, 0x86,
-	0xee, 0x7d, 0x4d, 0xf7, 0x1e, 0xbe, 0x7b, 0x6a, 0xba, 0x72, 0x3a, 0xde, 0x2d, 0x84, 0x7f, 0x42,
-	0x60, 0x8d, 0xdb, 0x0f, 0x5f, 0x7b, 0xee, 0x02, 0xc9, 0x89, 0x5e, 0x7f, 0x81, 0x97, 0x21, 0xb9,
-	0xab, 0x49, 0x7e, 0x68, 0x6f, 0x9e, 0x9a, 0x64, 0x90, 0xc7, 0xda, 0x44, 0xeb, 0xf8, 0x67, 0x04,
-	0x30, 0xd9, 0x61, 0xf8, 0x7a, 0xa1, 0xfd, 0x5c, 0x7f, 0xbb, 0xd8, 0x2a, 0xcc, 0x95, 0xb4, 0xdf,
-	0x7f, 0x79, 0x92, 0xa6, 0xf4, 0x7f, 0x22, 0x58, 0x39, 0x31, 0xd0, 0x78, 0xe6, 0x4a, 0x9e, 0xb7,
-	0x21, 0xeb, 0x37, 0x0b, 0x7a, 0x1b, 0xf2, 0x2d, 0x4d, 0xfe, 0x81, 0xbd, 0x7d, 0x6a, 0xf2, 0xde,
-	0xf1, 0x98, 0xa9, 0xd2, 0x7f, 0x21, 0xc0, 0x27, 0x67, 0x16, 0xdf, 0x2c, 0x32, 0xf9, 0x93, 0x1c,
-	0x9c, 0xa2, 0xee, 0x26, 0x89, 0x47, 0x3a, 0x89, 0x3d, 0x7b, 0xe7, 0xa5, 0x46, 0xef, 0x68, 0xd0,
-	0x4d, 0xb4, 0xbe, 0xbd, 0x06, 0x17, 0x3d, 0x11, 0xcc, 0x20, 0xb1, 0x7d, 0x3e, 0x5f, 0x23, 0x8f,
-	0xd3, 0x3f, 0x8e, 0x8f, 0x51, 0xb7, 0xa2, 0xff, 0x41, 0xbe, 0xf7, 0x5f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x2c, 0xaa, 0xd8, 0x79, 0x6b, 0x0d, 0x00, 0x00,
+	// 1146 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xcd, 0x72, 0xdb, 0x54,
+	0x14, 0x46, 0x76, 0xec, 0x58, 0x27, 0x49, 0x93, 0x5c, 0x42, 0xeb, 0x1a, 0x3a, 0x80, 0x68, 0xa1,
+	0x49, 0xa9, 0xc4, 0x84, 0xe9, 0x22, 0x81, 0x94, 0xe2, 0x90, 0x34, 0x1d, 0x70, 0xa7, 0x23, 0xcf,
+	0xc0, 0x86, 0x19, 0x8f, 0x2c, 0x5f, 0x3b, 0x97, 0xc8, 0x92, 0xab, 0x2b, 0xa7, 0x18, 0x86, 0x0d,
+	0x0b, 0x1e, 0x00, 0xd6, 0x0c, 0x2b, 0x06, 0x36, 0xb0, 0x64, 0xcb, 0x82, 0x47, 0x60, 0xc1, 0x0b,
+	0xf4, 0x09, 0x78, 0x82, 0x9e, 0xfb, 0x23, 0x5b, 0x49, 0xec, 0x56, 0xe9, 0x74, 0x63, 0x4b, 0xe7,
+	0x9c, 0xef, 0xdc, 0xef, 0xfc, 0x5e, 0xc1, 0x9d, 0x5e, 0x14, 0xf5, 0x02, 0x6a, 0xf7, 0xa2, 0xc0,
+	0x0b, 0x7b, 0x76, 0x14, 0xf7, 0x9c, 0x1e, 0x0d, 0x07, 0x71, 0x94, 0x44, 0x8e, 0x52, 0x79, 0x03,
+	0xc6, 0x9d, 0x36, 0xeb, 0x25, 0x5e, 0x3b, 0xa0, 0xce, 0xf1, 0xe6, 0xf8, 0xd9, 0x96, 0x56, 0x84,
+	0x68, 0x0f, 0x63, 0xf1, 0xf1, 0x66, 0xed, 0x5e, 0x3e, 0xaf, 0xf8, 0xe3, 0x70, 0x1a, 0x1f, 0x33,
+	0x9f, 0xfa, 0x51, 0xd8, 0x65, 0x3d, 0xc7, 0x0b, 0xc3, 0x28, 0xf1, 0x12, 0x16, 0x85, 0x5c, 0xb9,
+	0xaf, 0x7d, 0x78, 0x7e, 0x82, 0x1d, 0x2f, 0xf1, 0x34, 0x7a, 0xab, 0xc7, 0x92, 0xc3, 0x61, 0xdb,
+	0xf6, 0xa3, 0xbe, 0xa3, 0x3c, 0x38, 0x52, 0xd1, 0x1e, 0x76, 0x9d, 0x41, 0x32, 0x1a, 0x50, 0xee,
+	0x3c, 0x8a, 0xbd, 0xc1, 0x80, 0xc6, 0x93, 0x07, 0x0d, 0xdd, 0xc9, 0x77, 0x70, 0x3c, 0xf0, 0x1d,
+	0x8e, 0x94, 0x87, 0x5c, 0xff, 0x29, 0xb8, 0xf5, 0x97, 0x01, 0xcb, 0x2e, 0xf5, 0x3a, 0x6e, 0xf4,
+	0x88, 0xbb, 0xf4, 0xe1, 0x90, 0xf2, 0x84, 0x5c, 0x01, 0x90, 0x24, 0x5b, 0xa1, 0xd7, 0xa7, 0x55,
+	0xe3, 0x0d, 0xe3, 0xba, 0xe9, 0x9a, 0x52, 0x72, 0x1f, 0x05, 0xc4, 0x86, 0xb9, 0x18, 0xad, 0xab,
+	0x05, 0x54, 0x2c, 0x6c, 0xd6, 0xec, 0xb3, 0x89, 0xb5, 0xd1, 0x5b, 0x93, 0x26, 0xae, 0xb4, 0x23,
+	0xb7, 0xa0, 0xdc, 0x65, 0x41, 0x42, 0xe3, 0x6a, 0x51, 0x22, 0xae, 0xcc, 0x40, 0xec, 0x4b, 0x23,
+	0x57, 0x1b, 0x0b, 0x16, 0x02, 0xde, 0x0a, 0x58, 0x9f, 0x25, 0xd5, 0x39, 0x84, 0x16, 0x5d, 0x53,
+	0x48, 0x3e, 0x13, 0x02, 0xeb, 0xff, 0x22, 0xac, 0x4c, 0x88, 0xf3, 0x01, 0x96, 0x82, 0x92, 0x7d,
+	0x28, 0xfb, 0x87, 0xc3, 0xf0, 0x88, 0x23, 0xeb, 0x22, 0x1e, 0x65, 0x4f, 0x3d, 0xea, 0x14, 0xca,
+	0xde, 0xa5, 0x41, 0xb0, 0x2b, 0x60, 0xae, 0x46, 0x13, 0x07, 0xd6, 0x02, 0x8f, 0x27, 0x2d, 0xee,
+	0x63, 0xa5, 0x69, 0xa7, 0x85, 0xc7, 0xb6, 0x8e, 0xe8, 0x48, 0x86, 0xbc, 0xe8, 0xae, 0x0a, 0x5d,
+	0x53, 0xa9, 0xd0, 0xd1, 0xa7, 0x74, 0x54, 0x7b, 0x5c, 0x00, 0x73, 0xec, 0x86, 0x5c, 0x82, 0xf9,
+	0x14, 0x61, 0x48, 0x44, 0x39, 0x96, 0x66, 0x64, 0x07, 0x16, 0xba, 0x5e, 0x9f, 0x05, 0x23, 0x95,
+	0x5a, 0x95, 0xc1, 0xd7, 0x52, 0x92, 0x69, 0xc9, 0xed, 0x66, 0x12, 0xb3, 0xb0, 0xf7, 0xb9, 0x17,
+	0x0c, 0xa9, 0x0b, 0x0a, 0x20, 0x33, 0xbf, 0x05, 0xe6, 0xc3, 0xa1, 0x17, 0xb0, 0x2e, 0x1b, 0x27,
+	0xf3, 0xd5, 0x33, 0xe0, 0xfa, 0x28, 0xa1, 0x5c, 0x61, 0x27, 0xd6, 0x64, 0x1d, 0x56, 0x12, 0xd6,
+	0xc7, 0xea, 0x7a, 0xfd, 0x41, 0xab, 0xcf, 0xfc, 0x38, 0xe2, 0x3a, 0xa7, 0xcb, 0x63, 0x79, 0x43,
+	0x8a, 0xc9, 0x45, 0x28, 0x07, 0x5e, 0x9b, 0x06, 0xbc, 0x5a, 0xc2, 0x24, 0x9a, 0xae, 0x7e, 0x23,
+	0x6b, 0x50, 0x3a, 0x16, 0x6e, 0xab, 0x65, 0x19, 0x93, 0x7a, 0x11, 0x65, 0x92, 0x0f, 0x2d, 0xce,
+	0xbe, 0xa1, 0xd5, 0x79, 0x54, 0x95, 0x5c, 0x53, 0x4a, 0x9a, 0x28, 0x40, 0xb5, 0x19, 0x53, 0x4e,
+	0x13, 0x91, 0xc2, 0x6a, 0x05, 0xb5, 0x95, 0x83, 0x97, 0xdc, 0x8a, 0x14, 0x61, 0xea, 0xc8, 0xeb,
+	0x00, 0xd8, 0xf3, 0x58, 0x4f, 0xa9, 0x37, 0xb5, 0xde, 0x54, 0x32, 0x34, 0xa8, 0x2f, 0xca, 0x2e,
+	0x68, 0xa9, 0x9e, 0xb5, 0x6e, 0xc1, 0x5a, 0x13, 0x89, 0x06, 0x54, 0xa5, 0x3d, 0x67, 0xc7, 0x5a,
+	0x4d, 0x78, 0xe5, 0x14, 0x4c, 0xf7, 0xcb, 0xcc, 0x42, 0xbd, 0x09, 0x8b, 0x51, 0xb7, 0x2b, 0x78,
+	0xb7, 0x45, 0x3a, 0x65, 0xa5, 0x8a, 0xee, 0x82, 0x92, 0xc9, 0x0c, 0x5b, 0x3f, 0x18, 0xb0, 0xd2,
+	0x18, 0x22, 0x2f, 0xe1, 0x35, 0xe7, 0xe8, 0x64, 0xce, 0x2b, 0x9c, 0x38, 0x6f, 0x1b, 0xcc, 0xfe,
+	0x50, 0x6f, 0x14, 0xac, 0x6c, 0x31, 0xdb, 0x16, 0xd9, 0xde, 0x6d, 0x68, 0x23, 0x77, 0x62, 0x6e,
+	0xbd, 0x0c, 0xab, 0x19, 0x1e, 0x2a, 0x32, 0xeb, 0x3f, 0x23, 0x23, 0xcd, 0x3b, 0xd9, 0x7b, 0x30,
+	0x4f, 0x43, 0xec, 0x3d, 0x19, 0xb0, 0xe0, 0x70, 0x63, 0x26, 0x87, 0xac, 0x5b, 0x7b, 0x0f, 0x41,
+	0x23, 0x37, 0xc5, 0xd6, 0xbe, 0x84, 0x92, 0x94, 0xcc, 0x4e, 0xef, 0x89, 0x70, 0x0b, 0xe7, 0x0b,
+	0xf7, 0x37, 0x03, 0x48, 0x96, 0xc2, 0x78, 0xf4, 0xc7, 0xdc, 0xd5, 0xec, 0xbf, 0xfb, 0x2c, 0xee,
+	0x7a, 0xfa, 0x4f, 0x91, 0xbf, 0x97, 0x92, 0xc7, 0x76, 0x67, 0x61, 0x87, 0x7e, 0x2d, 0xa9, 0x17,
+	0x5d, 0xf5, 0x42, 0x36, 0xa0, 0xac, 0x7a, 0x51, 0x0f, 0x2f, 0x49, 0x4f, 0xc1, 0x05, 0x8b, 0x73,
+	0x2b, 0x34, 0xae, 0xb6, 0xb0, 0x7e, 0x2f, 0x40, 0x75, 0xf7, 0x90, 0xfa, 0x47, 0x1f, 0x87, 0x9d,
+	0x17, 0xd6, 0x29, 0x07, 0xb0, 0x32, 0x88, 0x69, 0x87, 0xf9, 0xe8, 0xae, 0xa5, 0xf7, 0x6a, 0x39,
+	0xcf, 0x5e, 0x5d, 0x1e, 0xc3, 0x94, 0x80, 0xec, 0xc2, 0x85, 0x24, 0xc6, 0xc1, 0x9d, 0x54, 0x62,
+	0x2e, 0x47, 0x25, 0x96, 0x04, 0x26, 0x7d, 0xe3, 0xd8, 0x32, 0xcb, 0x5d, 0x2f, 0xe0, 0x59, 0x2f,
+	0xa5, 0x1c, 0x5e, 0x2e, 0x48, 0xd0, 0xd8, 0x8d, 0x75, 0x00, 0x97, 0xa7, 0x64, 0x4a, 0x97, 0xf6,
+	0x06, 0xac, 0x4e, 0x42, 0xee, 0x7b, 0x89, 0x7f, 0x48, 0x3b, 0x32, 0x63, 0x15, 0x77, 0x92, 0x8b,
+	0x86, 0x92, 0x5b, 0x3f, 0x1a, 0x70, 0x59, 0x6c, 0xf8, 0x46, 0xd4, 0x61, 0xdd, 0xd1, 0x17, 0x31,
+	0x7b, 0x21, 0x59, 0xdf, 0x81, 0x52, 0x3c, 0x0c, 0x68, 0x3a, 0x9b, 0xef, 0xcc, 0xba, 0x57, 0xb2,
+	0xa7, 0xa2, 0xbd, 0xab, 0x50, 0xd6, 0x5d, 0xa8, 0x4d, 0xe3, 0xa4, 0xe3, 0x5b, 0x87, 0xa2, 0xd8,
+	0x7e, 0x86, 0xac, 0xe2, 0xa5, 0x19, 0x55, 0x74, 0x85, 0xcd, 0xe6, 0x1f, 0x15, 0xa8, 0xd4, 0xb5,
+	0x82, 0xfc, 0x6c, 0x40, 0x25, 0xbd, 0xcc, 0xc8, 0x5b, 0x4f, 0xbf, 0xea, 0x64, 0xf8, 0xb5, 0xab,
+	0x79, 0xee, 0x43, 0xeb, 0x93, 0xef, 0xff, 0x7d, 0xfc, 0x53, 0xe1, 0xb6, 0xb5, 0x25, 0xbe, 0x52,
+	0xbe, 0x9d, 0xe4, 0x6b, 0x07, 0xef, 0x98, 0xaf, 0xa8, 0x9f, 0x70, 0x67, 0xc3, 0x61, 0x21, 0x36,
+	0x79, 0xe8, 0x53, 0xf1, 0x2c, 0x2d, 0xf0, 0xe1, 0xbb, 0xed, 0x58, 0xbb, 0xda, 0x36, 0x36, 0xde,
+	0x33, 0xc8, 0x9f, 0x06, 0x2c, 0x9d, 0xd8, 0xbb, 0xe4, 0xfa, 0xb4, 0xf3, 0xa7, 0x6d, 0xf4, 0xda,
+	0x7a, 0x0e, 0x4b, 0x4d, 0x77, 0x5f, 0xd2, 0xbd, 0x43, 0x6e, 0x9f, 0x9b, 0x2e, 0xcf, 0xfa, 0x43,
+	0xc2, 0xbf, 0x18, 0x60, 0x8e, 0xdb, 0x8f, 0x5c, 0x7d, 0xea, 0x02, 0x49, 0x89, 0x5e, 0x7b, 0x86,
+	0x95, 0x26, 0xb9, 0x27, 0x49, 0x7e, 0x64, 0x6d, 0x9f, 0x9b, 0x64, 0x3f, 0xf5, 0x85, 0x49, 0x25,
+	0xbf, 0x1a, 0x00, 0x93, 0x1d, 0x46, 0xae, 0xe5, 0xda, 0xcf, 0xb5, 0xb7, 0xf3, 0xad, 0xc2, 0x34,
+	0x93, 0xd6, 0x07, 0xcf, 0x4f, 0x52, 0x97, 0xfe, 0x6f, 0xbc, 0x7e, 0xce, 0x0c, 0x34, 0x99, 0xba,
+	0x92, 0x67, 0x6d, 0xc8, 0xda, 0xcd, 0x9c, 0xd6, 0x9a, 0x7c, 0x43, 0x92, 0xbf, 0x6b, 0xd5, 0xcf,
+	0x4d, 0xde, 0x3f, 0xed, 0x53, 0x64, 0xfa, 0x1f, 0xbc, 0x66, 0xce, 0xce, 0x2c, 0xb9, 0x99, 0x67,
+	0xf2, 0x27, 0x31, 0xd8, 0x79, 0xcd, 0x75, 0x10, 0xf7, 0x65, 0x10, 0x07, 0xd6, 0xee, 0x73, 0x8d,
+	0xde, 0x49, 0xa7, 0x18, 0x45, 0x7d, 0x1d, 0x2e, 0xe2, 0xb7, 0xd4, 0x14, 0x12, 0xf5, 0xa5, 0x74,
+	0x8d, 0x3c, 0x10, 0x1f, 0x8e, 0x0f, 0x8c, 0x76, 0x59, 0x7e, 0x41, 0xbe, 0xff, 0x24, 0x00, 0x00,
+	0xff, 0xff, 0x2c, 0xaa, 0xd8, 0x79, 0x6b, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/bigtable.proto b/googleapis/bigtable/v2/bigtable.proto
index e89860fd..866ca563 100644
--- a/googleapis/bigtable/v2/bigtable.proto
+++ b/googleapis/bigtable/v2/bigtable.proto
@@ -77,7 +77,7 @@ service Bigtable {
 message ReadRowsRequest {
   // The unique name of the table from which to read.
   // Values are of the form
-  // projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+  // `projects/<project>/instances/<instance>/tables/<table>`.
   string table_name = 1;
 
   // The row keys and/or ranges to read. If not specified, reads from all rows.
@@ -173,7 +173,7 @@ message ReadRowsResponse {
 message SampleRowKeysRequest {
   // The unique name of the table from which to sample row keys.
   // Values are of the form
-  // projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+  // `projects/<project>/instances/<instance>/tables/<table>`.
   string table_name = 1;
 }
 
@@ -199,7 +199,7 @@ message SampleRowKeysResponse {
 message MutateRowRequest {
   // The unique name of the table to which the mutation should be applied.
   // Values are of the form
-  // projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+  // `projects/<project>/instances/<instance>/tables/<table>`.
   string table_name = 1;
 
   // The key of the row to which the mutation should be applied.
@@ -263,7 +263,7 @@ message CheckAndMutateRowRequest {
   // The unique name of the table to which the conditional mutation should be
   // applied.
   // Values are of the form
-  // projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+  // `projects/<project>/instances/<instance>/tables/<table>`.
   string table_name = 1;
 
   // The key of the row to which the conditional mutation should be applied.
@@ -302,7 +302,7 @@ message ReadModifyWriteRowRequest {
   // The unique name of the table to which the read/modify/write rules should be
   // applied.
   // Values are of the form
-  // projects/&lt;project&gt;/instances/&lt;instance&gt;/tables/&lt;table&gt;
+  // `projects/<project>/instances/<instance>/tables/<table>`.
   string table_name = 1;
 
   // The key of the row to which the read/modify/write rules should be applied.
diff --git a/googleapis/bigtable/v2/data.pb.go b/googleapis/bigtable/v2/data.pb.go
index 42871d51..70f062fd 100644
--- a/googleapis/bigtable/v2/data.pb.go
+++ b/googleapis/bigtable/v2/data.pb.go
@@ -1894,93 +1894,92 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 1404 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0xdd, 0x6e, 0xdb, 0xc6,
-	0x12, 0x16, 0xad, 0xff, 0xa1, 0x2c, 0x29, 0x1b, 0xc7, 0x51, 0x74, 0x92, 0x13, 0x83, 0x39, 0x27,
-	0x47, 0xf1, 0x69, 0xe5, 0x56, 0x09, 0xd2, 0x16, 0x09, 0x8a, 0x58, 0x4e, 0x53, 0xb5, 0xf9, 0xdf,
-	0x18, 0x29, 0x50, 0xa0, 0x60, 0xd7, 0xd2, 0x4a, 0x25, 0xbc, 0xe4, 0xb2, 0x24, 0x65, 0x45, 0x2f,
-	0xd2, 0xfb, 0xf6, 0x35, 0x7a, 0xd7, 0x97, 0x68, 0x1f, 0xa3, 0x0f, 0xd0, 0x8b, 0x62, 0x7f, 0xf8,
-	0xa7, 0x28, 0xb6, 0x51, 0xe4, 0x8e, 0x9c, 0xf9, 0xbe, 0x6f, 0x66, 0x67, 0x67, 0x87, 0x4b, 0xb8,
-	0x3f, 0xe3, 0x7c, 0xc6, 0x68, 0x7f, 0xc6, 0x19, 0xf1, 0x66, 0x7d, 0x1e, 0xcc, 0xf6, 0x66, 0xd4,
-	0xf3, 0x03, 0x1e, 0xf1, 0x3d, 0xe5, 0x22, 0xbe, 0x13, 0xee, 0x1d, 0x39, 0xb3, 0x88, 0x1c, 0x31,
-	0xba, 0x77, 0x32, 0xd8, 0x9b, 0x90, 0x88, 0xf4, 0x25, 0x02, 0x21, 0xcd, 0x8e, 0xdd, 0xfd, 0x93,
-	0x81, 0xf5, 0x1c, 0x8a, 0x98, 0x2f, 0x50, 0x1b, 0x8a, 0xc7, 0x74, 0xd9, 0x31, 0x76, 0x8c, 0x5e,
-	0x03, 0x8b, 0x47, 0x74, 0x17, 0x6a, 0x53, 0xe2, 0x3a, 0xcc, 0xa1, 0x61, 0x67, 0x63, 0xa7, 0xd8,
-	0x33, 0x07, 0xdd, 0xfe, 0xdb, 0xfc, 0xfe, 0x23, 0x81, 0x59, 0xe2, 0x04, 0x6b, 0x61, 0xa8, 0x28,
-	0x1b, 0x42, 0x50, 0xf2, 0x88, 0x4b, 0xa5, 0x68, 0x1d, 0xcb, 0x67, 0x74, 0x07, 0xaa, 0x63, 0xce,
-	0xe6, 0xae, 0x77, 0xaa, 0xe8, 0x81, 0x84, 0xe0, 0x18, 0x6a, 0xbd, 0x86, 0x8a, 0x32, 0xa1, 0xab,
-	0x50, 0xff, 0x71, 0x4e, 0x98, 0x33, 0x75, 0x68, 0xa0, 0xb3, 0x4d, 0x0d, 0xa8, 0x0f, 0xe5, 0x31,
-	0x65, 0x2c, 0xd6, 0xee, 0xac, 0xd5, 0xa6, 0x8c, 0x61, 0x05, 0xb3, 0x6c, 0x28, 0x89, 0x57, 0x74,
-	0x0b, 0xda, 0x91, 0xe3, 0xd2, 0x30, 0x22, 0xae, 0x6f, 0xbb, 0xce, 0x38, 0xe0, 0xa1, 0x14, 0x2f,
-	0xe2, 0x56, 0x62, 0x7f, 0x2a, 0xcd, 0x68, 0x0b, 0xca, 0x27, 0x84, 0xcd, 0x69, 0x67, 0x43, 0x06,
-	0x57, 0x2f, 0x68, 0x1b, 0x2a, 0x8c, 0x1c, 0x51, 0x16, 0x76, 0x8a, 0x3b, 0xc5, 0x5e, 0x1d, 0xeb,
-	0x37, 0xeb, 0x37, 0x03, 0x6a, 0x98, 0x2f, 0x30, 0xf1, 0x66, 0x14, 0xed, 0x42, 0x3b, 0x8c, 0x48,
-	0x10, 0xd9, 0xc7, 0x74, 0x69, 0x8f, 0x19, 0x0f, 0xe9, 0x44, 0x2d, 0x61, 0x54, 0xc0, 0x4d, 0xe9,
-	0x79, 0x4c, 0x97, 0x07, 0xd2, 0x8e, 0x6e, 0x42, 0x33, 0xc5, 0x72, 0x9f, 0x7a, 0x2a, 0xde, 0xa8,
-	0x80, 0x1b, 0x31, 0xf2, 0xb9, 0x4f, 0x3d, 0x64, 0x41, 0x83, 0x7a, 0x93, 0x14, 0x55, 0x94, 0x28,
-	0x03, 0x03, 0xf5, 0x26, 0x31, 0xe6, 0x26, 0x34, 0x63, 0x8c, 0x8e, 0x5a, 0xd2, 0xa8, 0x86, 0x42,
-	0xa9, 0x98, 0x43, 0x13, 0xea, 0x49, 0xcc, 0x61, 0x1d, 0xaa, 0x9a, 0x64, 0x7d, 0x0f, 0x15, 0xcc,
-	0x17, 0xaf, 0x68, 0x84, 0xae, 0x40, 0x2d, 0xe0, 0x0b, 0x61, 0x14, 0xf5, 0x29, 0xf6, 0x1a, 0xb8,
-	0x1a, 0xf0, 0xc5, 0x63, 0xba, 0x0c, 0xd1, 0x3d, 0x00, 0xe1, 0x0a, 0xc4, 0x4a, 0xe3, 0xfa, 0x5f,
-	0x5d, 0x57, 0xff, 0xb8, 0x1c, 0xb8, 0x1e, 0xe8, 0xa7, 0xd0, 0xfa, 0x65, 0x03, 0x4c, 0xbd, 0xe7,
-	0xb2, 0x52, 0xd7, 0xc1, 0x94, 0xfd, 0xb4, 0xb4, 0x33, 0x0d, 0x04, 0xca, 0xf4, 0x4c, 0xb4, 0xd1,
-	0x5d, 0xd8, 0x56, 0xa9, 0x26, 0x7b, 0x1f, 0x2f, 0x2d, 0x2e, 0xd3, 0x96, 0xf4, 0xbf, 0x8c, 0xdd,
-	0xba, 0xac, 0x03, 0xd8, 0x5a, 0xe5, 0x65, 0xca, 0x56, 0xc0, 0x28, 0xcf, 0x92, 0xe5, 0x1b, 0xc0,
-	0x96, 0xa8, 0xc4, 0x5b, 0x91, 0xe2, 0x22, 0x22, 0xea, 0x4d, 0x56, 0xe3, 0xf4, 0x01, 0xe5, 0x39,
-	0x32, 0x4a, 0x59, 0x33, 0xda, 0x59, 0x86, 0x88, 0x31, 0xbc, 0x00, 0xad, 0x95, 0xbc, 0x86, 0x2d,
-	0xd8, 0xcc, 0x49, 0x58, 0x6f, 0xa0, 0x79, 0x18, 0x37, 0xa3, 0x2a, 0xd3, 0x9d, 0xb8, 0x0a, 0xef,
-	0x68, 0x5e, 0xb5, 0xd6, 0xc3, 0x95, 0x0e, 0xfe, 0x48, 0xad, 0xe7, 0x2d, 0xce, 0x86, 0xe4, 0x88,
-	0xbc, 0x57, 0x18, 0xd6, 0x1f, 0x06, 0xc0, 0x6b, 0xd1, 0xe7, 0x2a, 0x6c, 0x1f, 0x54, 0x99, 0x6c,
-	0xd9, 0xfb, 0xab, 0x9d, 0xac, 0x7a, 0x5c, 0xc2, 0x75, 0x31, 0x92, 0xbe, 0x57, 0xf8, 0x5c, 0x37,
-	0x37, 0x53, 0xb4, 0x2c, 0xf6, 0x2e, 0x88, 0xe2, 0xe4, 0x95, 0xe3, 0x9e, 0x16, 0x5d, 0x9c, 0xd5,
-	0xd5, 0x7d, 0x9d, 0x51, 0xcd, 0xf6, 0x75, 0xa2, 0x39, 0xdc, 0x04, 0x33, 0x13, 0x5f, 0xb4, 0x79,
-	0x42, 0xb3, 0xfe, 0x32, 0xa1, 0x8e, 0xf9, 0xe2, 0x91, 0xc3, 0x22, 0x1a, 0xa0, 0x7b, 0x50, 0x1e,
-	0xff, 0x40, 0x1c, 0x4f, 0x2e, 0xc6, 0x1c, 0xdc, 0x78, 0x47, 0xff, 0x2a, 0x74, 0xff, 0x40, 0x40,
-	0x47, 0x05, 0xac, 0x38, 0xe8, 0x6b, 0x00, 0xc7, 0x8b, 0x68, 0xc0, 0x28, 0x39, 0x51, 0xe3, 0xc1,
-	0x1c, 0xf4, 0x4e, 0x57, 0xf8, 0x2a, 0xc1, 0x8f, 0x0a, 0x38, 0xc3, 0x46, 0x5f, 0x42, 0x7d, 0xcc,
-	0xbd, 0x89, 0x13, 0x39, 0x5c, 0x35, 0xa7, 0x39, 0xf8, 0xdf, 0x19, 0xc9, 0xc4, 0xf0, 0x51, 0x01,
-	0xa7, 0x5c, 0xb4, 0x05, 0xa5, 0xd0, 0xf1, 0x8e, 0x3b, 0xed, 0x1d, 0xa3, 0x57, 0x1b, 0x15, 0xb0,
-	0x7c, 0x43, 0x3d, 0x68, 0xf9, 0x24, 0x0c, 0x6d, 0xc2, 0x98, 0x3d, 0x95, 0xfc, 0xce, 0x05, 0x0d,
-	0xd8, 0x14, 0x8e, 0x7d, 0xc6, 0x74, 0x45, 0x76, 0xa1, 0x7d, 0xc4, 0xf8, 0xf8, 0x38, 0x0b, 0x45,
-	0x1a, 0xda, 0x94, 0x9e, 0x14, 0xfb, 0x31, 0x6c, 0xe9, 0xe9, 0x60, 0x07, 0x74, 0x46, 0xdf, 0xc4,
-	0xf8, 0x92, 0xde, 0xeb, 0x0b, 0x6a, 0x56, 0x60, 0xe1, 0xd3, 0x94, 0x0f, 0x40, 0x18, 0xed, 0x90,
-	0xb8, 0x3e, 0xa3, 0x31, 0xbe, 0xb9, 0x63, 0xf4, 0x8c, 0x51, 0x01, 0xb7, 0x02, 0xbe, 0x78, 0x25,
-	0x3d, 0x1a, 0xfd, 0x19, 0x74, 0x32, 0x63, 0x21, 0x1f, 0x44, 0x9c, 0xad, 0xfa, 0xa8, 0x80, 0x2f,
-	0xa5, 0x53, 0x22, 0x1b, 0xe8, 0x00, 0xae, 0xa9, 0x8f, 0x49, 0xe6, 0x4c, 0xe6, 0xf8, 0x15, 0x9d,
-	0x64, 0x57, 0xc1, 0x92, 0xe3, 0x99, 0x15, 0x79, 0x09, 0x17, 0xb5, 0x88, 0x1c, 0x73, 0x31, 0xb5,
-	0x2a, 0xf7, 0xe7, 0xfa, 0x29, 0x1f, 0x32, 0x81, 0x16, 0x05, 0x18, 0xa7, 0xaf, 0x5a, 0xf2, 0x5b,
-	0xd8, 0x4e, 0x0f, 0x62, 0x4e, 0xb5, 0x26, 0x55, 0xad, 0x75, 0xaa, 0xf9, 0x31, 0x20, 0x86, 0x5d,
-	0x94, 0xb3, 0x68, 0xed, 0x3e, 0x20, 0x75, 0x36, 0x72, 0x0b, 0xad, 0xc7, 0xe7, 0x54, 0xfa, 0xb2,
-	0xcb, 0x7b, 0x96, 0xe0, 0xb3, 0x79, 0xb4, 0x64, 0x1e, 0xff, 0x5e, 0x97, 0x47, 0x3a, 0x13, 0x52,
-	0xbd, 0x4c, 0xfc, 0xcf, 0xe1, 0x5f, 0xf2, 0x33, 0x6b, 0xfb, 0xa2, 0xd8, 0x7c, 0x61, 0xf3, 0xe9,
-	0x34, 0xa4, 0x51, 0x2c, 0x0c, 0x3b, 0x46, 0xaf, 0x3c, 0x2a, 0xe0, 0xcb, 0x12, 0xf4, 0x82, 0x06,
-	0x98, 0x2f, 0x9e, 0x4b, 0x84, 0xe6, 0xdf, 0x87, 0x6e, 0x9e, 0xcf, 0x1c, 0xd7, 0x49, 0xe8, 0xa6,
-	0xa6, 0x6f, 0x67, 0xe8, 0x4f, 0x04, 0x40, 0xb3, 0x87, 0x70, 0x2d, 0x65, 0xeb, 0x6d, 0xcb, 0x09,
-	0x34, 0xb4, 0xc0, 0x95, 0x58, 0x40, 0x6d, 0x56, 0x56, 0xe3, 0x53, 0xb8, 0x1c, 0x46, 0x81, 0xe3,
-	0xeb, 0x19, 0x13, 0x05, 0xc4, 0x0b, 0xa7, 0x3c, 0x70, 0x69, 0xd0, 0xd9, 0xd4, 0x87, 0xe0, 0x92,
-	0x04, 0xc8, 0x4a, 0x1c, 0xa6, 0x6e, 0xc1, 0x24, 0xbe, 0xcf, 0x96, 0xb6, 0xbc, 0x08, 0xe4, 0x98,
-	0x17, 0xe3, 0x4e, 0x95, 0x80, 0x27, 0xc2, 0x9f, 0x61, 0x76, 0x1f, 0x40, 0x59, 0x0e, 0x16, 0xf4,
-	0x09, 0x54, 0x55, 0xa6, 0xea, 0x5b, 0x6b, 0x0e, 0xae, 0x9d, 0x3a, 0x01, 0x70, 0x8c, 0xee, 0x7e,
-	0x01, 0x90, 0x0e, 0x96, 0x7f, 0x2e, 0xf3, 0xbb, 0x01, 0xf5, 0x64, 0xaa, 0xa0, 0x11, 0xb4, 0xfd,
-	0x80, 0x4e, 0x9c, 0x31, 0x89, 0x92, 0xd6, 0x50, 0x53, 0xf2, 0x0c, 0xbd, 0x56, 0x42, 0x4b, 0xda,
-	0xc2, 0x8c, 0x82, 0x79, 0x22, 0xb2, 0x71, 0x1e, 0x11, 0x10, 0x0c, 0xcd, 0x7f, 0x00, 0x8d, 0x29,
-	0x61, 0x61, 0x22, 0x50, 0x3c, 0x8f, 0x80, 0x29, 0x29, 0xea, 0x65, 0x58, 0x83, 0x8a, 0xe2, 0x5a,
-	0x7f, 0x96, 0xa1, 0xf6, 0x74, 0x1e, 0x11, 0xb9, 0xc4, 0x7d, 0xa8, 0x89, 0xf6, 0x14, 0xed, 0xa0,
-	0x97, 0xf6, 0x9f, 0x75, 0xa2, 0x31, 0xbe, 0xff, 0x8a, 0x46, 0xe2, 0xf6, 0x38, 0x2a, 0xe0, 0x6a,
-	0xa8, 0x1e, 0xd1, 0x77, 0x80, 0x26, 0x94, 0x51, 0x51, 0xa2, 0x80, 0xbb, 0xba, 0xed, 0xf4, 0x12,
-	0x3f, 0x3c, 0x55, 0xec, 0xa1, 0xa4, 0x3d, 0x0a, 0xb8, 0xab, 0xda, 0x50, 0x9c, 0xa8, 0xc9, 0x8a,
-	0x6d, 0x55, 0x5e, 0x8d, 0x3a, 0x5d, 0x80, 0xf3, 0xca, 0xab, 0xcb, 0x79, 0x5e, 0x5e, 0x5f, 0xd8,
-	0x0f, 0xa1, 0x95, 0x95, 0x0f, 0xf8, 0x42, 0xce, 0x6e, 0x73, 0xb0, 0x7b, 0x4e, 0x6d, 0xcc, 0x17,
-	0xe2, 0x13, 0x32, 0xc9, 0x1a, 0xba, 0x3f, 0x19, 0x50, 0xd5, 0xa5, 0x3a, 0xfb, 0x62, 0x77, 0x0b,
-	0xda, 0xab, 0x73, 0x5a, 0xdf, 0xb4, 0x5b, 0x2b, 0x83, 0x79, 0xed, 0xa5, 0xbd, 0x78, 0xc6, 0xa5,
-	0xbd, 0x94, 0xb9, 0xb4, 0x77, 0x7f, 0x36, 0xa0, 0xbd, 0x5a, 0xf6, 0xf7, 0x9a, 0xe1, 0x3e, 0x80,
-	0xc8, 0x44, 0xcd, 0x53, 0xbd, 0x4d, 0xe7, 0x18, 0xe8, 0xb8, 0x2e, 0x58, 0xf2, 0xb1, 0x7b, 0x3b,
-	0x9b, 0xa2, 0xde, 0xa6, 0xb3, 0x52, 0xec, 0xb6, 0x60, 0x33, 0xb7, 0x27, 0x43, 0x80, 0x9a, 0xab,
-	0x77, 0xcb, 0xfa, 0xd5, 0x80, 0x8b, 0x98, 0x92, 0xc9, 0x53, 0x3e, 0x71, 0xa6, 0xcb, 0x6f, 0x02,
-	0x27, 0xa2, 0x78, 0xce, 0xe8, 0x7b, 0x5d, 0xf8, 0x0d, 0x68, 0x10, 0xdf, 0x4f, 0x6e, 0x59, 0xc9,
-	0xf5, 0xda, 0x54, 0x56, 0x39, 0x2d, 0xd1, 0xff, 0xa1, 0xed, 0x78, 0xe3, 0x80, 0xba, 0xd4, 0x8b,
-	0x6c, 0xe2, 0xf2, 0xb9, 0x17, 0xc9, 0xfd, 0x29, 0x8a, 0x4f, 0x7f, 0xe2, 0xd9, 0x97, 0x8e, 0x61,
-	0x05, 0x4a, 0xc1, 0x9c, 0xd1, 0xe1, 0x7f, 0x61, 0x7b, 0xcc, 0xdd, 0x35, 0x35, 0x1c, 0xd6, 0x1f,
-	0x92, 0x88, 0xbc, 0x10, 0xff, 0xb9, 0x2f, 0x8c, 0xa3, 0x8a, 0xfc, 0xe1, 0xbd, 0xfd, 0x77, 0x00,
-	0x00, 0x00, 0xff, 0xff, 0x13, 0xb7, 0x89, 0x55, 0x30, 0x0f, 0x00, 0x00,
+	// 1380 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0xeb, 0x72, 0xdb, 0x44,
+	0x14, 0xae, 0xe3, 0xab, 0x8e, 0x1c, 0xdb, 0xdd, 0xa4, 0xa9, 0x6b, 0x5a, 0xda, 0x51, 0xb9, 0x84,
+	0x02, 0x0e, 0xb8, 0x9d, 0x02, 0xd3, 0x0e, 0xd3, 0x38, 0x25, 0x14, 0x68, 0x9a, 0x54, 0xcd, 0x94,
+	0x19, 0x66, 0x18, 0xa3, 0xd8, 0x6b, 0xa3, 0x89, 0x2e, 0x46, 0x92, 0x93, 0xe6, 0x45, 0xf8, 0x0f,
+	0xaf, 0xc1, 0x3f, 0x5e, 0x02, 0x1e, 0x83, 0x07, 0xe0, 0x07, 0x67, 0x6f, 0xd2, 0xca, 0x71, 0x93,
+	0x0c, 0xd3, 0x7f, 0xde, 0x3d, 0xdf, 0xf7, 0x9d, 0x3d, 0x97, 0x3d, 0x5a, 0xc3, 0xc3, 0x49, 0x18,
+	0x4e, 0x3c, 0xda, 0x9d, 0x84, 0x9e, 0x13, 0x4c, 0xba, 0x61, 0x34, 0xd9, 0x98, 0xd0, 0x60, 0x1a,
+	0x85, 0x49, 0xb8, 0x21, 0x4c, 0xce, 0xd4, 0x8d, 0x37, 0x0e, 0xdc, 0x49, 0xe2, 0x1c, 0x78, 0x74,
+	0xe3, 0xa8, 0xb7, 0x31, 0x72, 0x12, 0xa7, 0xcb, 0x11, 0x84, 0x48, 0xb6, 0x32, 0x77, 0x8f, 0x7a,
+	0xd6, 0x2e, 0x14, 0xed, 0xf0, 0x98, 0xb4, 0xa0, 0x78, 0x48, 0x4f, 0xda, 0x85, 0x5b, 0x85, 0xf5,
+	0xba, 0xcd, 0x7e, 0x92, 0xfb, 0x50, 0x1b, 0x3b, 0xbe, 0xeb, 0xb9, 0x34, 0x6e, 0x2f, 0xdd, 0x2a,
+	0xae, 0x9b, 0xbd, 0x4e, 0xf7, 0x34, 0xbf, 0xbb, 0xcd, 0x30, 0x27, 0x76, 0x8a, 0xb5, 0x6c, 0xa8,
+	0x88, 0x3d, 0x42, 0xa0, 0x14, 0x38, 0x3e, 0xe5, 0xa2, 0x86, 0xcd, 0x7f, 0x93, 0x7b, 0x50, 0x1d,
+	0x86, 0xde, 0xcc, 0x0f, 0xce, 0x14, 0xdd, 0xe2, 0x10, 0x5b, 0x41, 0xad, 0x97, 0x50, 0x11, 0x5b,
+	0xe4, 0x3a, 0x18, 0xbf, 0xcc, 0x1c, 0xcf, 0x1d, 0xbb, 0x34, 0x92, 0xa7, 0xcd, 0x36, 0x48, 0x17,
+	0xca, 0x43, 0xea, 0x79, 0x4a, 0xbb, 0xbd, 0x50, 0x1b, 0x01, 0xb6, 0x80, 0x59, 0x03, 0x28, 0xb1,
+	0x25, 0xf9, 0x00, 0x5a, 0x89, 0xeb, 0xd3, 0x38, 0x71, 0xfc, 0xe9, 0xc0, 0x77, 0x87, 0x51, 0x18,
+	0x73, 0xf1, 0xa2, 0xdd, 0x4c, 0xf7, 0x77, 0xf8, 0x36, 0x59, 0x85, 0xf2, 0x91, 0xe3, 0xcd, 0x28,
+	0xba, 0x60, 0xce, 0xc5, 0x82, 0xac, 0x41, 0xc5, 0x73, 0x0e, 0x28, 0x7a, 0x2e, 0xa2, 0x67, 0xc3,
+	0x96, 0x2b, 0xeb, 0xcf, 0x02, 0xd4, 0x30, 0xbd, 0x36, 0x16, 0x8b, 0x92, 0x3b, 0xd0, 0x42, 0xa5,
+	0x28, 0x19, 0x60, 0x7a, 0x07, 0x43, 0x2f, 0x8c, 0xe9, 0x48, 0x84, 0xf0, 0xe4, 0x92, 0xdd, 0xe0,
+	0x96, 0xef, 0xe8, 0xc9, 0x16, 0xdf, 0x27, 0xef, 0x41, 0x23, 0xc3, 0x86, 0x53, 0x1a, 0x08, 0x7f,
+	0x88, 0xac, 0x2b, 0xe4, 0x2e, 0xee, 0x12, 0x0b, 0xea, 0x34, 0x18, 0x65, 0xa8, 0x22, 0x47, 0x15,
+	0x6c, 0xc0, 0x5d, 0x85, 0x41, 0x2d, 0x85, 0x91, 0x5e, 0x4b, 0x12, 0x55, 0x17, 0x28, 0xe1, 0xb3,
+	0x6f, 0x82, 0x91, 0xfa, 0xec, 0x1b, 0x50, 0x95, 0x24, 0xeb, 0x27, 0xa8, 0x60, 0x0c, 0x2f, 0x68,
+	0x42, 0xae, 0x41, 0x2d, 0x0a, 0x8f, 0xd9, 0x26, 0xcb, 0x4f, 0x11, 0xe3, 0xaf, 0xe2, 0x1a, 0x15,
+	0x62, 0xf2, 0x00, 0x80, 0x99, 0x22, 0x16, 0xa9, 0xca, 0xff, 0xf5, 0x45, 0xf9, 0x57, 0xe9, 0xb0,
+	0x8d, 0x48, 0xfe, 0x8a, 0xad, 0xdf, 0x97, 0xc0, 0x94, 0x35, 0xe7, 0x99, 0xba, 0x09, 0x26, 0xef,
+	0xa7, 0x93, 0x81, 0xd6, 0x40, 0x20, 0xb6, 0x9e, 0xb1, 0x36, 0xba, 0x0f, 0x6b, 0xe2, 0xa8, 0x69,
+	0xed, 0x55, 0x68, 0x2a, 0x4d, 0xab, 0xdc, 0xfe, 0x5c, 0x99, 0x65, 0x5a, 0x7b, 0xb0, 0x3a, 0xcf,
+	0xd3, 0xd2, 0x76, 0xc9, 0x26, 0x79, 0x16, 0x4f, 0x1f, 0x72, 0x58, 0x26, 0x4e, 0x79, 0x52, 0x49,
+	0x24, 0x68, 0x9d, 0xf7, 0xd3, 0x05, 0x92, 0xe7, 0x70, 0x2f, 0x65, 0xc9, 0x68, 0xe9, 0x0c, 0xe6,
+	0xa3, 0x7f, 0x19, 0x9a, 0x73, 0xe7, 0xea, 0x37, 0x61, 0x39, 0x27, 0x61, 0xbd, 0x82, 0xc6, 0xbe,
+	0x6a, 0x46, 0x91, 0xa6, 0x7b, 0x2a, 0x0b, 0xaf, 0x69, 0x5e, 0x11, 0xeb, 0xfe, 0x5c, 0x07, 0x7f,
+	0x22, 0xe2, 0x39, 0xc5, 0x59, 0xe2, 0x1c, 0x76, 0xee, 0x39, 0x86, 0xf5, 0x77, 0x01, 0xe0, 0x25,
+	0xeb, 0x73, 0xe1, 0x16, 0x83, 0x13, 0x6e, 0x79, 0xef, 0xcf, 0x77, 0xb2, 0xe8, 0x71, 0x0e, 0x97,
+	0xc9, 0x48, 0xfb, 0x5e, 0xe0, 0x73, 0xdd, 0xdc, 0xc8, 0xd0, 0x3c, 0xd9, 0x88, 0x65, 0x87, 0xcb,
+	0x29, 0xab, 0x9e, 0x66, 0x5d, 0xac, 0xeb, 0xca, 0xbe, 0xd6, 0x54, 0xf5, 0xbe, 0x4e, 0x35, 0xfb,
+	0xcb, 0x60, 0x6a, 0xfe, 0x59, 0x9b, 0xa7, 0x34, 0xeb, 0x5f, 0x5c, 0x61, 0x47, 0x6e, 0xbb, 0x5e,
+	0x82, 0xf3, 0xe3, 0x01, 0xce, 0x8f, 0x9f, 0x1d, 0x37, 0xe0, 0xc1, 0x98, 0xbd, 0xdb, 0xaf, 0xe9,
+	0x5f, 0x81, 0xee, 0x6e, 0x31, 0x28, 0xc6, 0x20, 0x38, 0xe4, 0x5b, 0x00, 0x37, 0xc0, 0x7d, 0x9c,
+	0xc1, 0x47, 0x62, 0x3c, 0x98, 0xbd, 0xf5, 0xb3, 0x15, 0xbe, 0x49, 0xf1, 0x28, 0xa3, 0xb1, 0xc9,
+	0xd7, 0x60, 0x0c, 0xc3, 0x60, 0xe4, 0x26, 0x6e, 0x28, 0x9a, 0xd3, 0xec, 0xbd, 0x7f, 0xce, 0x61,
+	0x14, 0x1c, 0x95, 0x32, 0x2e, 0x8e, 0xab, 0x52, 0xec, 0x06, 0x87, 0xed, 0x16, 0x6a, 0xd4, 0xd0,
+	0xc4, 0x57, 0x64, 0x1d, 0x9a, 0x53, 0x27, 0x8e, 0x07, 0x8e, 0xe7, 0x0d, 0xc6, 0x9c, 0xdf, 0xbe,
+	0x2c, 0x01, 0xcb, 0xcc, 0xb0, 0xe9, 0x79, 0x32, 0x23, 0x58, 0x8f, 0x03, 0x2f, 0x1c, 0x1e, 0xea,
+	0x50, 0x22, 0xa1, 0x0d, 0x6e, 0xc9, 0xb0, 0x9f, 0xc2, 0xaa, 0x9c, 0x0e, 0x83, 0x88, 0x4e, 0xe8,
+	0x2b, 0x85, 0x2f, 0xc9, 0x5a, 0x5f, 0x16, 0xb3, 0xc2, 0x66, 0x36, 0x49, 0xf9, 0x08, 0xd8, 0xe6,
+	0x20, 0xc6, 0x5e, 0xf3, 0xa8, 0xc2, 0x37, 0x10, 0x5f, 0x40, 0x7c, 0x13, 0x4d, 0x2f, 0xb8, 0x45,
+	0xa2, 0xbf, 0x80, 0xb6, 0x36, 0x16, 0xf2, 0x4e, 0xd8, 0xdd, 0x32, 0x90, 0x74, 0x25, 0x9b, 0x12,
+	0xba, 0xa3, 0x2d, 0xb8, 0x21, 0x3e, 0x26, 0xda, 0x9d, 0xcc, 0xf1, 0x2b, 0xf2, 0x90, 0x1d, 0x01,
+	0x4b, 0xaf, 0xa7, 0x2e, 0xf2, 0x1c, 0x56, 0xa4, 0x08, 0x1f, 0x73, 0x8a, 0x5a, 0xe5, 0xf5, 0xb9,
+	0x79, 0xc6, 0x87, 0x8c, 0xa1, 0x59, 0x02, 0x86, 0xd9, 0x52, 0x4a, 0xfe, 0x00, 0x6b, 0xd9, 0x45,
+	0xcc, 0xa9, 0xd6, 0xb8, 0xaa, 0xb5, 0x48, 0x35, 0x3f, 0x06, 0xd8, 0xb0, 0x4b, 0x72, 0x3b, 0x52,
+	0x1b, 0xef, 0xa9, 0xb8, 0x1b, 0xb9, 0x40, 0x0d, 0x75, 0x4f, 0xb9, 0x4d, 0x0f, 0xef, 0x59, 0x8a,
+	0xd7, 0xcf, 0xd1, 0xe4, 0xe7, 0x78, 0x7b, 0xd1, 0x39, 0xb2, 0x99, 0x90, 0xe9, 0x69, 0xfe, 0xbf,
+	0x84, 0xb7, 0xf8, 0x67, 0x76, 0x30, 0x65, 0xc9, 0xc6, 0x32, 0x87, 0xe3, 0x71, 0x4c, 0x13, 0x25,
+	0x0c, 0x28, 0x5c, 0x46, 0xe2, 0x55, 0x0e, 0xda, 0xc3, 0x54, 0x87, 0xc7, 0xbb, 0x1c, 0x21, 0xf9,
+	0x0f, 0xa1, 0x93, 0xe7, 0x7b, 0xae, 0xef, 0xa6, 0x74, 0x53, 0xd2, 0xd7, 0x34, 0xfa, 0x53, 0x06,
+	0x90, 0xec, 0x3e, 0x56, 0x3c, 0x65, 0xcb, 0xb2, 0xe5, 0x04, 0xea, 0x52, 0xe0, 0x9a, 0x12, 0x10,
+	0xc5, 0xd2, 0x35, 0x3e, 0x87, 0xab, 0x71, 0x12, 0xb9, 0x53, 0x39, 0x63, 0x12, 0x4c, 0x4c, 0x3c,
+	0x0e, 0x23, 0x1f, 0xd9, 0xcb, 0xf2, 0x12, 0x5c, 0xe1, 0x00, 0x9e, 0x89, 0xfd, 0xcc, 0xcc, 0x98,
+	0xce, 0x74, 0x8a, 0x9d, 0xca, 0x1f, 0x02, 0x39, 0xe6, 0x8a, 0xea, 0x54, 0x0e, 0x78, 0xca, 0xec,
+	0x1a, 0xb3, 0xf3, 0x08, 0xca, 0x7c, 0xb0, 0x90, 0xcf, 0xa0, 0x2a, 0x4e, 0x2a, 0xbe, 0xb5, 0x66,
+	0xef, 0xc6, 0x99, 0x13, 0xc0, 0x56, 0xe8, 0xce, 0x57, 0x00, 0xd9, 0x60, 0xf9, 0xff, 0x32, 0x7f,
+	0x15, 0xc0, 0x48, 0xa7, 0x0a, 0x79, 0x02, 0xad, 0x69, 0x44, 0x47, 0xee, 0xd0, 0x49, 0xd2, 0xd6,
+	0x10, 0x53, 0xf2, 0x1c, 0xbd, 0x66, 0x4a, 0x4b, 0xdb, 0xc2, 0x4c, 0xa2, 0x59, 0x2a, 0xb2, 0x74,
+	0x11, 0x11, 0x60, 0x0c, 0xc9, 0x7f, 0x04, 0xf5, 0xb1, 0xe3, 0xc5, 0xa9, 0x40, 0xf1, 0x22, 0x02,
+	0x26, 0xa7, 0x88, 0x45, 0xbf, 0x06, 0x15, 0xc1, 0xb5, 0xfe, 0x29, 0x43, 0x6d, 0x67, 0x96, 0x38,
+	0x3c, 0xc4, 0x4d, 0xa8, 0xb1, 0xf6, 0x64, 0xed, 0x20, 0x43, 0x7b, 0x67, 0x91, 0xa8, 0xc2, 0x77,
+	0xf1, 0x45, 0xc4, 0x5e, 0x8f, 0x58, 0xca, 0x6a, 0x2c, 0x7e, 0x92, 0x1f, 0x81, 0x8c, 0xa8, 0x47,
+	0x59, 0x8a, 0xa2, 0xd0, 0x97, 0x6d, 0x27, 0x43, 0xfc, 0xf8, 0x4c, 0xb1, 0xc7, 0x9c, 0xb6, 0x8d,
+	0x2c, 0xd1, 0x86, 0xec, 0x46, 0x8d, 0xe6, 0xf6, 0xe6, 0xe5, 0xc5, 0xa8, 0x93, 0x09, 0xb8, 0xa8,
+	0xbc, 0x78, 0x9c, 0xe7, 0xe5, 0xe5, 0x83, 0x7d, 0x1f, 0x9a, 0xba, 0x3c, 0x5e, 0x39, 0x3e, 0xbb,
+	0xcd, 0xde, 0x9d, 0x0b, 0x6a, 0x63, 0xbe, 0xd9, 0x27, 0x64, 0xa4, 0x6f, 0x74, 0x7e, 0x2d, 0x40,
+	0x55, 0xa6, 0xea, 0xfc, 0x87, 0x1d, 0xbe, 0xc4, 0xe7, 0xe7, 0xb4, 0x7c, 0x69, 0x37, 0xe7, 0x06,
+	0xf3, 0xc2, 0x47, 0x7b, 0xf1, 0x9c, 0x47, 0x7b, 0x49, 0x7b, 0xb4, 0x77, 0x7e, 0x2b, 0x40, 0x6b,
+	0x3e, 0xed, 0x6f, 0xf4, 0x84, 0x9b, 0x00, 0xec, 0x24, 0x62, 0x9e, 0xca, 0x32, 0x5d, 0x60, 0xa0,
+	0xdb, 0x06, 0x63, 0xf1, 0x9f, 0x9d, 0xbb, 0xfa, 0x11, 0x65, 0x99, 0xce, 0x3b, 0x62, 0x07, 0x9f,
+	0x8e, 0xb9, 0x9a, 0xf4, 0x01, 0x6a, 0xbe, 0xac, 0x96, 0xf5, 0x47, 0x01, 0x56, 0x6c, 0xea, 0x8c,
+	0x76, 0xc2, 0x91, 0x3b, 0x3e, 0xf9, 0x3e, 0x72, 0x13, 0x6a, 0xcf, 0x3c, 0xfa, 0x46, 0x03, 0xbf,
+	0x0d, 0x75, 0x1c, 0x6e, 0xe9, 0x2b, 0x2b, 0x7d, 0x5e, 0x9b, 0x62, 0x97, 0x4f, 0x4b, 0xf2, 0x21,
+	0xb4, 0xdc, 0x60, 0x18, 0x51, 0x9f, 0x06, 0xc9, 0xc0, 0xf1, 0xc3, 0x59, 0x90, 0xf0, 0xfa, 0x14,
+	0xd9, 0xa7, 0x3f, 0xb5, 0x6c, 0x72, 0x43, 0xbf, 0x02, 0xa5, 0x08, 0x4f, 0xd9, 0x7f, 0x17, 0xd6,
+	0x86, 0xa1, 0xbf, 0x20, 0x87, 0x7d, 0xe3, 0x31, 0xfe, 0xd1, 0xdd, 0x63, 0xff, 0x73, 0xf7, 0x0a,
+	0x07, 0x15, 0xfe, 0x87, 0xf7, 0xee, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x13, 0xb7, 0x89, 0x55,
+	0x30, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/data.proto b/googleapis/bigtable/v2/data.proto
index 720f4827..f98f436d 100644
--- a/googleapis/bigtable/v2/data.proto
+++ b/googleapis/bigtable/v2/data.proto
@@ -97,10 +97,10 @@ message RowRange {
   // The row key at which to end the range.
   // If neither field is set, interpreted as the infinite row key, exclusive.
   oneof end_key {
-    // Used when giving an inclusive upper bound for the range.
+    // Used when giving an exclusive upper bound for the range.
     bytes end_key_open = 3;
 
-    // Used when giving an exclusive upper bound for the range.
+    // Used when giving an inclusive upper bound for the range.
     bytes end_key_closed = 4;
   }
 }
diff --git a/googleapis/bytestream/bytestream.pb.go b/googleapis/bytestream/bytestream.pb.go
index 41fdf68e..09b273f9 100644
--- a/googleapis/bytestream/bytestream.pb.go
+++ b/googleapis/bytestream/bytestream.pb.go
@@ -442,34 +442,34 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 464 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x53, 0x5d, 0x6b, 0x13, 0x41,
-	0x14, 0x65, 0xdb, 0x2a, 0xe9, 0xcd, 0xc6, 0x8f, 0x01, 0x71, 0x59, 0xd0, 0xa6, 0x2b, 0xc2, 0xa2,
-	0xb0, 0x23, 0x0a, 0x82, 0x2f, 0x82, 0x79, 0x2b, 0x14, 0x3f, 0xb6, 0x0f, 0x3e, 0xc9, 0x32, 0xd9,
-	0xdc, 0xdd, 0x0e, 0x66, 0x3e, 0x9c, 0x99, 0xb5, 0xa4, 0xff, 0xc1, 0x17, 0x7f, 0xb1, 0xec, 0x4c,
-	0x6c, 0xa2, 0x49, 0xa0, 0x79, 0xbb, 0x73, 0xee, 0x3d, 0xe7, 0x9e, 0xb9, 0x73, 0x07, 0x3e, 0xb4,
-	0x4a, 0xb5, 0x73, 0x2c, 0x5a, 0x35, 0x67, 0xb2, 0x2d, 0x94, 0x69, 0x69, 0x8b, 0x52, 0x1b, 0xe5,
-	0x14, 0x0d, 0x29, 0xa6, 0xb9, 0xa5, 0xd3, 0x85, 0x43, 0xeb, 0x0c, 0x32, 0xb1, 0x16, 0x16, 0xbe,
-	0x8c, 0x3c, 0x5c, 0x4a, 0xac, 0x12, 0xe9, 0xd9, 0xed, 0x54, 0x99, 0xe6, 0xd4, 0xa2, 0xf9, 0xc9,
-	0x6b, 0xac, 0x95, 0x6c, 0x78, 0x4b, 0x99, 0x94, 0xca, 0x31, 0xc7, 0x95, 0xb4, 0x41, 0x3d, 0x7d,
-	0xd7, 0x72, 0x77, 0xd9, 0x4d, 0x8b, 0x5a, 0x09, 0x1a, 0xe4, 0xa8, 0x4f, 0x4c, 0xbb, 0x86, 0x6a,
-	0xb7, 0xd0, 0x68, 0xe9, 0x95, 0x61, 0x5a, 0xa3, 0x59, 0x05, 0x81, 0x9a, 0x19, 0x18, 0x96, 0xc8,
-	0x66, 0x25, 0xfe, 0xe8, 0xd0, 0x3a, 0xf2, 0x0c, 0x46, 0x06, 0xad, 0xea, 0x4c, 0x8d, 0x95, 0x64,
-	0x02, 0x93, 0x68, 0x1c, 0xe5, 0xc7, 0x65, 0xfc, 0x17, 0xfc, 0xc8, 0x04, 0x92, 0x13, 0x18, 0x1a,
-	0x64, 0xb3, 0x4a, 0x35, 0x8d, 0x45, 0x97, 0x1c, 0x8c, 0xa3, 0xfc, 0xb0, 0x84, 0x1e, 0xfa, 0xe4,
-	0x11, 0xf2, 0x04, 0xfc, 0xa9, 0x9a, 0x73, 0xc1, 0x5d, 0x72, 0xe8, 0xf3, 0xc7, 0x3d, 0x72, 0xde,
-	0x03, 0x59, 0x06, 0x71, 0xe8, 0x69, 0xb5, 0x92, 0x16, 0x09, 0x81, 0xa3, 0x19, 0x73, 0x2c, 0x81,
-	0x71, 0x94, 0xc7, 0xa5, 0x8f, 0xb3, 0x5f, 0x11, 0xc4, 0x5f, 0x0d, 0x77, 0xb8, 0x97, 0xb3, 0x53,
-	0x88, 0xaf, 0x7a, 0xd2, 0xbf, 0xd6, 0x86, 0x1e, 0x5b, 0x7a, 0x3b, 0x85, 0xb8, 0xe1, 0x92, 0xdb,
-	0xcb, 0xca, 0xa3, 0xde, 0xdd, 0xa0, 0x1c, 0x06, 0xcc, 0x77, 0xdc, 0xea, 0xe7, 0x2d, 0x8c, 0x96,
-	0x76, 0x96, 0xa6, 0x9f, 0xc3, 0xbd, 0x5a, 0x09, 0xc1, 0x9d, 0xc3, 0x59, 0x65, 0xf9, 0x75, 0x30,
-	0x74, 0x58, 0x8e, 0x6e, 0xd0, 0x0b, 0x7e, 0x8d, 0xd9, 0x7b, 0x78, 0xfc, 0xa5, 0x43, 0xb3, 0xf0,
-	0xe4, 0x0b, 0xc7, 0x5c, 0x67, 0xf7, 0xb9, 0x51, 0xf6, 0x0d, 0x92, 0x4d, 0xfe, 0x5e, 0x16, 0x48,
-	0x0a, 0x83, 0x5a, 0x09, 0x3d, 0x47, 0x87, 0x7e, 0x20, 0x83, 0xf2, 0xe6, 0xfc, 0xfa, 0xf7, 0x01,
-	0xc0, 0x64, 0xd1, 0x2b, 0xf7, 0x3b, 0x49, 0xce, 0xe0, 0xa8, 0x7f, 0x19, 0xf2, 0xb4, 0xd8, 0xd8,
-	0xd7, 0x62, 0x6d, 0x4d, 0xd2, 0x93, 0x9d, 0xf9, 0x60, 0xed, 0x55, 0x44, 0xce, 0xe1, 0x4e, 0x98,
-	0xe6, 0xb6, 0xda, 0xf5, 0x97, 0x4d, 0xc7, 0xbb, 0x0b, 0x82, 0x5a, 0x1e, 0x91, 0xef, 0xf0, 0xe0,
-	0xff, 0x31, 0x90, 0x17, 0x5b, 0x78, 0x3b, 0x66, 0x9d, 0xbe, 0xbc, 0x55, 0x6d, 0x68, 0x37, 0xc9,
-	0xe1, 0x51, 0xad, 0xc4, 0x26, 0x63, 0x72, 0x7f, 0x35, 0xaa, 0xcf, 0xfe, 0x7f, 0xdd, 0xf5, 0x9f,
-	0xe8, 0xcd, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x2d, 0x1b, 0x69, 0x22, 0x04, 0x00, 0x00,
+	// 462 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0xdf, 0x8b, 0x13, 0x31,
+	0x10, 0xc7, 0xd9, 0xf6, 0x94, 0xbb, 0xe9, 0xd6, 0x1f, 0x01, 0x71, 0x59, 0xd0, 0x3b, 0x57, 0x84,
+	0xa2, 0xb0, 0x11, 0x05, 0xc1, 0x17, 0xc1, 0xbe, 0x1d, 0x1c, 0xfe, 0xd8, 0x7b, 0xf0, 0x49, 0x96,
+	0xb4, 0x9d, 0xdd, 0x0b, 0xb6, 0x49, 0x4c, 0xb2, 0x1e, 0xf5, 0x7f, 0xf0, 0xc5, 0xbf, 0xd8, 0x6c,
+	0xb2, 0x5e, 0xab, 0x6d, 0xa1, 0x7d, 0x59, 0xb2, 0x9f, 0xf9, 0xce, 0xe4, 0x3b, 0x93, 0x04, 0xde,
+	0xd7, 0x52, 0xd6, 0x73, 0xcc, 0x6b, 0x39, 0x67, 0xa2, 0xce, 0xa5, 0xae, 0x69, 0x8d, 0x42, 0x69,
+	0x69, 0x25, 0x0d, 0x21, 0xa6, 0xb8, 0xa1, 0x93, 0xa5, 0x45, 0x63, 0x35, 0xb2, 0xc5, 0xda, 0x32,
+	0xf7, 0x32, 0x72, 0xbf, 0x2b, 0xb1, 0x0a, 0xa4, 0xe7, 0xfb, 0x55, 0x75, 0x1f, 0x6a, 0x50, 0xff,
+	0xe0, 0x53, 0x9c, 0x4a, 0x51, 0xf1, 0x9a, 0x32, 0x21, 0xa4, 0x65, 0x96, 0x4b, 0x61, 0x42, 0xf5,
+	0xf4, 0x6d, 0xcd, 0xed, 0x55, 0x33, 0xc9, 0xa7, 0x72, 0x41, 0x43, 0x39, 0xea, 0x03, 0x93, 0xa6,
+	0xa2, 0xca, 0x2e, 0x15, 0x1a, 0x7a, 0xad, 0x99, 0x52, 0xa8, 0x57, 0x8b, 0x90, 0x9a, 0x69, 0x18,
+	0x14, 0xc8, 0x66, 0x05, 0x7e, 0x6f, 0x9c, 0x31, 0xf2, 0x14, 0x86, 0x1a, 0x8d, 0x6c, 0xf4, 0x14,
+	0x4b, 0xc1, 0x16, 0x98, 0x44, 0x67, 0xd1, 0xe8, 0xa4, 0x88, 0xff, 0xc2, 0x0f, 0x8e, 0x91, 0x53,
+	0x18, 0xb8, 0x0e, 0x66, 0xa5, 0xac, 0x2a, 0x83, 0x36, 0xe9, 0x39, 0x49, 0xbf, 0x80, 0x16, 0x7d,
+	0xf4, 0x84, 0x3c, 0x02, 0xff, 0x57, 0xce, 0xf9, 0x82, 0xdb, 0xa4, 0xef, 0xe3, 0x27, 0x2d, 0xb9,
+	0x68, 0x41, 0x96, 0x41, 0x1c, 0xf6, 0x34, 0xca, 0xf5, 0x80, 0x84, 0xc0, 0xd1, 0x8c, 0x59, 0x96,
+	0x80, 0x13, 0xc6, 0x85, 0x5f, 0x67, 0xbf, 0x22, 0x88, 0xbf, 0x68, 0x6e, 0xf1, 0x20, 0x67, 0x4f,
+	0x20, 0xbe, 0x6e, 0x93, 0xfe, 0xb5, 0x36, 0xf0, 0xac, 0xf3, 0xe6, 0x24, 0x15, 0x17, 0xdc, 0x5c,
+	0x95, 0x9e, 0x7a, 0x77, 0xc7, 0xc5, 0x20, 0x30, 0xbf, 0xe3, 0x56, 0x3f, 0x6f, 0x60, 0xd8, 0xd9,
+	0xe9, 0x4c, 0x3f, 0x83, 0x3b, 0x6e, 0xdc, 0xae, 0x1d, 0x8b, 0xb3, 0xd2, 0xf0, 0x9f, 0xc1, 0x50,
+	0xbf, 0x18, 0xde, 0xd0, 0x4b, 0x07, 0xb3, 0x77, 0xf0, 0xf0, 0x73, 0x83, 0x7a, 0xe9, 0x93, 0x2f,
+	0xdd, 0xb1, 0x35, 0xe6, 0x90, 0x8e, 0xb2, 0xaf, 0x90, 0x6c, 0xe6, 0x1f, 0x64, 0x81, 0xa4, 0x70,
+	0xec, 0x80, 0x9a, 0xa3, 0xeb, 0xb6, 0xe7, 0xbb, 0xbd, 0xf9, 0x7f, 0xf5, 0xbb, 0x07, 0x30, 0x5e,
+	0xb6, 0x95, 0xdb, 0x3b, 0x49, 0xce, 0xe1, 0xa8, 0x3d, 0x19, 0xf2, 0x38, 0xdf, 0xb8, 0xaf, 0xf9,
+	0xda, 0x35, 0x49, 0x4f, 0x77, 0xc6, 0x83, 0xb5, 0x97, 0x11, 0xb9, 0x80, 0x5b, 0x61, 0x9a, 0xdb,
+	0xb4, 0xeb, 0x27, 0x9b, 0x9e, 0xed, 0x16, 0x84, 0x6a, 0xa3, 0x88, 0x7c, 0x83, 0x7b, 0xff, 0x8f,
+	0x81, 0x3c, 0xdf, 0x92, 0xb7, 0x63, 0xd6, 0xe9, 0x8b, 0xbd, 0xb4, 0x61, 0xbb, 0xf1, 0x08, 0x1e,
+	0xb8, 0x01, 0x6d, 0x66, 0x8c, 0xef, 0xae, 0x46, 0xf5, 0xc9, 0xbf, 0xaf, 0xdb, 0xfe, 0x11, 0xbd,
+	0xfe, 0x13, 0x00, 0x00, 0xff, 0xff, 0xc3, 0x2d, 0x1b, 0x69, 0x22, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/audit/audit_log.pb.go b/googleapis/cloud/audit/audit_log.pb.go
new file mode 100644
index 00000000..15dae1f5
--- /dev/null
+++ b/googleapis/cloud/audit/audit_log.pb.go
@@ -0,0 +1,244 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+// DO NOT EDIT!
+
+/*
+Package google_cloud_audit is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+
+It has these top-level messages:
+	AuditLog
+	AuthenticationInfo
+	AuthorizationInfo
+	RequestMetadata
+*/
+package google_cloud_audit // import "google.golang.org/genproto/googleapis/cloud/audit"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/struct"
+import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Common audit log format for Google Cloud Platform API operations.
+type AuditLog struct {
+	// The name of the API service performing the operation. For example,
+	// `"datastore.googleapis.com"`.
+	ServiceName string `protobuf:"bytes,7,opt,name=service_name,json=serviceName" json:"service_name,omitempty"`
+	// The name of the service method or operation.
+	// For API calls, this should be the name of the API method.
+	// For example,
+	//
+	//     "google.datastore.v1.Datastore.RunQuery"
+	//     "google.logging.v1.LoggingService.DeleteLog"
+	MethodName string `protobuf:"bytes,8,opt,name=method_name,json=methodName" json:"method_name,omitempty"`
+	// The resource or collection that is the target of the operation.
+	// The name is a scheme-less URI, not including the API service name.
+	// For example:
+	//
+	//     "shelves/SHELF_ID/books"
+	//     "shelves/SHELF_ID/books/BOOK_ID"
+	ResourceName string `protobuf:"bytes,11,opt,name=resource_name,json=resourceName" json:"resource_name,omitempty"`
+	// The number of items returned from a List or Query API method,
+	// if applicable.
+	NumResponseItems int64 `protobuf:"varint,12,opt,name=num_response_items,json=numResponseItems" json:"num_response_items,omitempty"`
+	// The status of the overall operation.
+	Status *google_rpc.Status `protobuf:"bytes,2,opt,name=status" json:"status,omitempty"`
+	// Authentication information.
+	AuthenticationInfo *AuthenticationInfo `protobuf:"bytes,3,opt,name=authentication_info,json=authenticationInfo" json:"authentication_info,omitempty"`
+	// Authorization information. If there are multiple
+	// resources or permissions involved, then there is
+	// one AuthorizationInfo element for each {resource, permission} tuple.
+	AuthorizationInfo []*AuthorizationInfo `protobuf:"bytes,9,rep,name=authorization_info,json=authorizationInfo" json:"authorization_info,omitempty"`
+	// Metadata about the operation.
+	RequestMetadata *RequestMetadata `protobuf:"bytes,4,opt,name=request_metadata,json=requestMetadata" json:"request_metadata,omitempty"`
+	// The operation request. This may not include all request parameters,
+	// such as those that are too large, privacy-sensitive, or duplicated
+	// elsewhere in the log record.
+	// It should never include user-generated data, such as file contents.
+	// When the JSON object represented here has a proto equivalent, the proto
+	// name will be indicated in the `@type` property.
+	Request *google_protobuf2.Struct `protobuf:"bytes,16,opt,name=request" json:"request,omitempty"`
+	// The operation response. This may not include all response elements,
+	// such as those that are too large, privacy-sensitive, or duplicated
+	// elsewhere in the log record.
+	// It should never include user-generated data, such as file contents.
+	// When the JSON object represented here has a proto equivalent, the proto
+	// name will be indicated in the `@type` property.
+	Response *google_protobuf2.Struct `protobuf:"bytes,17,opt,name=response" json:"response,omitempty"`
+	// Other service-specific data about the request, response, and other
+	// activities.
+	ServiceData *google_protobuf1.Any `protobuf:"bytes,15,opt,name=service_data,json=serviceData" json:"service_data,omitempty"`
+}
+
+func (m *AuditLog) Reset()                    { *m = AuditLog{} }
+func (m *AuditLog) String() string            { return proto.CompactTextString(m) }
+func (*AuditLog) ProtoMessage()               {}
+func (*AuditLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *AuditLog) GetStatus() *google_rpc.Status {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+func (m *AuditLog) GetAuthenticationInfo() *AuthenticationInfo {
+	if m != nil {
+		return m.AuthenticationInfo
+	}
+	return nil
+}
+
+func (m *AuditLog) GetAuthorizationInfo() []*AuthorizationInfo {
+	if m != nil {
+		return m.AuthorizationInfo
+	}
+	return nil
+}
+
+func (m *AuditLog) GetRequestMetadata() *RequestMetadata {
+	if m != nil {
+		return m.RequestMetadata
+	}
+	return nil
+}
+
+func (m *AuditLog) GetRequest() *google_protobuf2.Struct {
+	if m != nil {
+		return m.Request
+	}
+	return nil
+}
+
+func (m *AuditLog) GetResponse() *google_protobuf2.Struct {
+	if m != nil {
+		return m.Response
+	}
+	return nil
+}
+
+func (m *AuditLog) GetServiceData() *google_protobuf1.Any {
+	if m != nil {
+		return m.ServiceData
+	}
+	return nil
+}
+
+// Authentication information for the operation.
+type AuthenticationInfo struct {
+	// The email address of the authenticated user making the request.
+	PrincipalEmail string `protobuf:"bytes,1,opt,name=principal_email,json=principalEmail" json:"principal_email,omitempty"`
+}
+
+func (m *AuthenticationInfo) Reset()                    { *m = AuthenticationInfo{} }
+func (m *AuthenticationInfo) String() string            { return proto.CompactTextString(m) }
+func (*AuthenticationInfo) ProtoMessage()               {}
+func (*AuthenticationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+// Authorization information for the operation.
+type AuthorizationInfo struct {
+	// The resource being accessed, as a REST-style string. For example:
+	//
+	//     bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID
+	Resource string `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
+	// The required IAM permission.
+	Permission string `protobuf:"bytes,2,opt,name=permission" json:"permission,omitempty"`
+	// Whether or not authorization for `resource` and `permission`
+	// was granted.
+	Granted bool `protobuf:"varint,3,opt,name=granted" json:"granted,omitempty"`
+}
+
+func (m *AuthorizationInfo) Reset()                    { *m = AuthorizationInfo{} }
+func (m *AuthorizationInfo) String() string            { return proto.CompactTextString(m) }
+func (*AuthorizationInfo) ProtoMessage()               {}
+func (*AuthorizationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// Metadata about the request.
+type RequestMetadata struct {
+	// The IP address of the caller.
+	CallerIp string `protobuf:"bytes,1,opt,name=caller_ip,json=callerIp" json:"caller_ip,omitempty"`
+	// The user agent of the caller.
+	// This information is not authenticated and should be treated accordingly.
+	// For example:
+	//
+	// +   `google-api-python-client/1.4.0`:
+	//     The request was made by the Google API client for Python.
+	// +   `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
+	//     The request was made by the Google Cloud SDK CLI (gcloud).
+	// +   `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:
+	//     The request was made from the `my-project` App Engine app.
+	CallerSuppliedUserAgent string `protobuf:"bytes,2,opt,name=caller_supplied_user_agent,json=callerSuppliedUserAgent" json:"caller_supplied_user_agent,omitempty"`
+}
+
+func (m *RequestMetadata) Reset()                    { *m = RequestMetadata{} }
+func (m *RequestMetadata) String() string            { return proto.CompactTextString(m) }
+func (*RequestMetadata) ProtoMessage()               {}
+func (*RequestMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func init() {
+	proto.RegisterType((*AuditLog)(nil), "google.cloud.audit.AuditLog")
+	proto.RegisterType((*AuthenticationInfo)(nil), "google.cloud.audit.AuthenticationInfo")
+	proto.RegisterType((*AuthorizationInfo)(nil), "google.cloud.audit.AuthorizationInfo")
+	proto.RegisterType((*RequestMetadata)(nil), "google.cloud.audit.RequestMetadata")
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 592 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0xdf, 0x6f, 0xd3, 0x30,
+	0x10, 0xc7, 0x35, 0x36, 0x6d, 0xdd, 0xb5, 0xa3, 0xad, 0x41, 0x2c, 0x2a, 0x12, 0x8c, 0x4e, 0xfc,
+	0x14, 0x4a, 0x04, 0x13, 0xe2, 0x01, 0xed, 0xa1, 0x13, 0x3c, 0x54, 0x82, 0x69, 0xca, 0x40, 0x3c,
+	0x46, 0x6e, 0xe2, 0xa6, 0x16, 0x89, 0x6d, 0x1c, 0x1b, 0xa9, 0xfc, 0xcf, 0xfc, 0x0f, 0x38, 0x17,
+	0xa7, 0x63, 0xeb, 0x80, 0x3d, 0x24, 0x51, 0xbe, 0xf7, 0xb9, 0xaf, 0x7d, 0xe7, 0x33, 0x4c, 0x72,
+	0x29, 0xf3, 0x82, 0x85, 0xb9, 0x2c, 0xa8, 0xc8, 0x43, 0xa9, 0xf3, 0x28, 0x67, 0x42, 0x69, 0x69,
+	0x64, 0xd4, 0x84, 0xa8, 0xe2, 0x55, 0x94, 0x16, 0xd2, 0x66, 0x11, 0xb5, 0x19, 0x37, 0xcd, 0x3b,
+	0x29, 0x64, 0x1e, 0x22, 0x46, 0x88, 0xb7, 0x40, 0x26, 0xc4, 0xe8, 0x68, 0x7a, 0x33, 0x5b, 0xf7,
+	0x8a, 0x2a, 0xa6, 0x7f, 0xf0, 0x94, 0xa5, 0x52, 0xcc, 0x79, 0x1e, 0x51, 0x21, 0xa4, 0xa1, 0x86,
+	0x4b, 0x51, 0x35, 0xf6, 0xa3, 0x28, 0xe7, 0x66, 0x61, 0x67, 0x61, 0x2a, 0xcb, 0xa8, 0xb1, 0x8b,
+	0x30, 0x30, 0xb3, 0xf3, 0x48, 0x99, 0xa5, 0x62, 0xce, 0x46, 0x2c, 0xeb, 0xc7, 0x27, 0xbc, 0xf9,
+	0x7f, 0x42, 0x65, 0xb4, 0x4d, 0x8d, 0xff, 0xf8, 0xb4, 0xe3, 0x9b, 0x6d, 0x59, 0xab, 0xd4, 0xe5,
+	0x51, 0x63, 0x2b, 0xff, 0x69, 0xd2, 0xc7, 0xbf, 0xb6, 0xa0, 0x33, 0xa9, 0x6b, 0xff, 0x28, 0x73,
+	0xf2, 0x08, 0x7a, 0xbe, 0xac, 0x44, 0xd0, 0x92, 0x05, 0x3b, 0x07, 0x1b, 0xcf, 0x76, 0xe3, 0xae,
+	0xd7, 0x4e, 0x9d, 0x44, 0x1e, 0x42, 0xb7, 0x64, 0x66, 0x21, 0xb3, 0x86, 0xe8, 0x20, 0x01, 0x8d,
+	0x84, 0xc0, 0x21, 0xec, 0x69, 0x56, 0x49, 0xab, 0x5b, 0x93, 0x2e, 0x22, 0xbd, 0x56, 0x44, 0xe8,
+	0x25, 0x10, 0x61, 0xcb, 0xc4, 0x69, 0xca, 0x75, 0x8c, 0x25, 0xdc, 0xb0, 0xb2, 0x0a, 0x7a, 0x8e,
+	0xdc, 0x8c, 0x07, 0x2e, 0x12, 0xfb, 0xc0, 0xb4, 0xd6, 0xc9, 0x0b, 0xd8, 0x6e, 0xf6, 0x1c, 0xdc,
+	0x72, 0x44, 0xf7, 0x35, 0x09, 0x7d, 0xcd, 0xae, 0xa8, 0xf0, 0x1c, 0x23, 0xb1, 0x27, 0xc8, 0x57,
+	0xb8, 0x43, 0xad, 0x59, 0x30, 0x61, 0x78, 0x8a, 0xe7, 0x91, 0x70, 0x31, 0x97, 0xc1, 0x26, 0x26,
+	0x3e, 0x09, 0xd7, 0xcf, 0x3c, 0x9c, 0x5c, 0xc2, 0xa7, 0x8e, 0x8e, 0x09, 0x5d, 0xd3, 0xc8, 0x67,
+	0x40, 0x55, 0x6a, 0xfe, 0xf3, 0x0f, 0xdf, 0xdd, 0x83, 0x4d, 0xe7, 0xfb, 0xf8, 0x6f, 0xbe, 0x2b,
+	0x1a, 0x6d, 0x87, 0xf4, 0xaa, 0x44, 0x4e, 0x61, 0xa0, 0xd9, 0x77, 0xcb, 0x2a, 0x93, 0xb8, 0x1e,
+	0xd2, 0x8c, 0x1a, 0x1a, 0x6c, 0xe1, 0x5e, 0x0f, 0xaf, 0xf3, 0x8c, 0x1b, 0xf6, 0x93, 0x47, 0xe3,
+	0xbe, 0xbe, 0x2c, 0x90, 0x57, 0xb0, 0xe3, 0xa5, 0x60, 0x80, 0x36, 0xfb, 0xad, 0x4d, 0x3b, 0x4b,
+	0xae, 0x61, 0xf5, 0xf4, 0xc4, 0x2d, 0x47, 0x8e, 0xa0, 0xd3, 0x9e, 0x43, 0x30, 0xfc, 0x77, 0xce,
+	0x0a, 0x24, 0x6f, 0x2f, 0x26, 0x05, 0xf7, 0xdc, 0xc7, 0xc4, 0xbb, 0x6b, 0x89, 0x13, 0xb1, 0x5c,
+	0xcd, 0xcf, 0x7b, 0x07, 0x8e, 0x8f, 0x81, 0xac, 0x37, 0x9c, 0x3c, 0x85, 0xbe, 0xd2, 0x5c, 0xa4,
+	0x5c, 0xd1, 0x22, 0x61, 0x25, 0xe5, 0x45, 0xb0, 0x81, 0x63, 0x73, 0x7b, 0x25, 0x7f, 0xa8, 0xd5,
+	0x31, 0x87, 0xe1, 0x5a, 0x5f, 0xc9, 0x08, 0x2b, 0xc0, 0xe9, 0xf2, 0x69, 0xab, 0x7f, 0xf2, 0x00,
+	0x40, 0x31, 0x5d, 0xf2, 0xaa, 0x72, 0x34, 0xce, 0x8f, 0x1b, 0xd7, 0x0b, 0x85, 0x04, 0xb0, 0x93,
+	0x6b, 0x2a, 0x0c, 0xcb, 0x70, 0x46, 0x3a, 0x71, 0xfb, 0x3b, 0xfe, 0x06, 0xfd, 0x2b, 0xed, 0x26,
+	0xf7, 0x61, 0x37, 0xa5, 0x45, 0xc1, 0x74, 0xc2, 0x55, 0xbb, 0x52, 0x23, 0x4c, 0x15, 0x79, 0x07,
+	0x23, 0x1f, 0xac, 0xac, 0x52, 0x05, 0x67, 0x59, 0x62, 0x5d, 0xe5, 0x09, 0x75, 0xd7, 0xd1, 0xf8,
+	0x95, 0xf7, 0x1b, 0xe2, 0xdc, 0x03, 0x5f, 0x5c, 0x7c, 0x52, 0x87, 0x4f, 0x9e, 0xc3, 0x3d, 0x77,
+	0xef, 0xaf, 0x39, 0xf2, 0x93, 0xbd, 0xf6, 0x76, 0x9e, 0xd5, 0x3d, 0x3d, 0xdb, 0x98, 0x6d, 0x63,
+	0x73, 0x8f, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x93, 0xa1, 0x4a, 0x9b, 0x03, 0x05, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/audit/audit_log.proto b/googleapis/cloud/audit/audit_log.proto
new file mode 100644
index 00000000..e801a75c
--- /dev/null
+++ b/googleapis/cloud/audit/audit_log.proto
@@ -0,0 +1,127 @@
+// Copyright 2016 Google Inc.
+//
+// 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.audit;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
+import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
+import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "AuditLogProto";
+option java_package = "com.google.cloud.audit";
+
+
+// Common audit log format for Google Cloud Platform API operations.
+message AuditLog {
+  // The name of the API service performing the operation. For example,
+  // `"datastore.googleapis.com"`.
+  string service_name = 7;
+
+  // The name of the service method or operation.
+  // For API calls, this should be the name of the API method.
+  // For example,
+  //
+  //     "google.datastore.v1.Datastore.RunQuery"
+  //     "google.logging.v1.LoggingService.DeleteLog"
+  string method_name = 8;
+
+  // The resource or collection that is the target of the operation.
+  // The name is a scheme-less URI, not including the API service name.
+  // For example:
+  //
+  //     "shelves/SHELF_ID/books"
+  //     "shelves/SHELF_ID/books/BOOK_ID"
+  string resource_name = 11;
+
+  // The number of items returned from a List or Query API method,
+  // if applicable.
+  int64 num_response_items = 12;
+
+  // The status of the overall operation.
+  google.rpc.Status status = 2;
+
+  // Authentication information.
+  AuthenticationInfo authentication_info = 3;
+
+  // Authorization information. If there are multiple
+  // resources or permissions involved, then there is
+  // one AuthorizationInfo element for each {resource, permission} tuple.
+  repeated AuthorizationInfo authorization_info = 9;
+
+  // Metadata about the operation.
+  RequestMetadata request_metadata = 4;
+
+  // The operation request. This may not include all request parameters,
+  // such as those that are too large, privacy-sensitive, or duplicated
+  // elsewhere in the log record.
+  // It should never include user-generated data, such as file contents.
+  // When the JSON object represented here has a proto equivalent, the proto
+  // name will be indicated in the `@type` property.
+  google.protobuf.Struct request = 16;
+
+  // The operation response. This may not include all response elements,
+  // such as those that are too large, privacy-sensitive, or duplicated
+  // elsewhere in the log record.
+  // It should never include user-generated data, such as file contents.
+  // When the JSON object represented here has a proto equivalent, the proto
+  // name will be indicated in the `@type` property.
+  google.protobuf.Struct response = 17;
+
+  // Other service-specific data about the request, response, and other
+  // activities.
+  google.protobuf.Any service_data = 15;
+}
+
+// Authentication information for the operation.
+message AuthenticationInfo {
+  // The email address of the authenticated user making the request.
+  string principal_email = 1;
+}
+
+// Authorization information for the operation.
+message AuthorizationInfo {
+  // The resource being accessed, as a REST-style string. For example:
+  //
+  //     bigquery.googlapis.com/projects/PROJECTID/datasets/DATASETID
+  string resource = 1;
+
+  // The required IAM permission.
+  string permission = 2;
+
+  // Whether or not authorization for `resource` and `permission`
+  // was granted.
+  bool granted = 3;
+}
+
+// Metadata about the request.
+message RequestMetadata {
+  // The IP address of the caller.
+  string caller_ip = 1;
+
+  // The user agent of the caller.
+  // This information is not authenticated and should be treated accordingly.
+  // For example:
+  //
+  // +   `google-api-python-client/1.4.0`:
+  //     The request was made by the Google API client for Python.
+  // +   `Cloud SDK Command Line Tool apitools-client/1.0 gcloud/0.9.62`:
+  //     The request was made by the Google Cloud SDK CLI (gcloud).
+  // +   `AppEngine-Google; (+http://code.google.com/appengine; appid: s~my-project`:
+  //     The request was made from the `my-project` App Engine app.
+  string caller_supplied_user_agent = 2;
+}
diff --git a/googleapis/cloud/billing/v1/cloud_billing.pb.go b/googleapis/cloud/billing/v1/cloud_billing.pb.go
new file mode 100644
index 00000000..0df09839
--- /dev/null
+++ b/googleapis/cloud/billing/v1/cloud_billing.pb.go
@@ -0,0 +1,572 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+// DO NOT EDIT!
+
+/*
+Package google_cloud_billing_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+
+It has these top-level messages:
+	BillingAccount
+	ProjectBillingInfo
+	GetBillingAccountRequest
+	ListBillingAccountsRequest
+	ListBillingAccountsResponse
+	ListProjectBillingInfoRequest
+	ListProjectBillingInfoResponse
+	GetProjectBillingInfoRequest
+	UpdateProjectBillingInfoRequest
+*/
+package google_cloud_billing_v1 // import "google.golang.org/genproto/googleapis/cloud/billing/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// A billing account in [Google Cloud
+// Console](https://console.cloud.google.com/). You can assign a billing account
+// to one or more projects.
+type BillingAccount struct {
+	// The resource name of the billing account. The resource name has the form
+	// `billingAccounts/{billing_account_id}`. For example,
+	// `billingAccounts/012345-567890-ABCDEF` would be the resource name for
+	// billing account `012345-567890-ABCDEF`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// True if the billing account is open, and will therefore be charged for any
+	// usage on associated projects. False if the billing account is closed, and
+	// therefore projects associated with it will be unable to use paid services.
+	Open bool `protobuf:"varint,2,opt,name=open" json:"open,omitempty"`
+	// The display name given to the billing account, such as `My Billing
+	// Account`. This name is displayed in the Google Cloud Console.
+	DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
+}
+
+func (m *BillingAccount) Reset()                    { *m = BillingAccount{} }
+func (m *BillingAccount) String() string            { return proto.CompactTextString(m) }
+func (*BillingAccount) ProtoMessage()               {}
+func (*BillingAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+// Encapsulation of billing information for a Cloud Console project. A project
+// has at most one associated billing account at a time (but a billing account
+// can be assigned to multiple projects).
+type ProjectBillingInfo struct {
+	// The resource name for the `ProjectBillingInfo`; has the form
+	// `projects/{project_id}/billingInfo`. For example, the resource name for the
+	// billing information for project `tokyo-rain-123` would be
+	// `projects/tokyo-rain-123/billingInfo`. This field is read-only.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The ID of the project that this `ProjectBillingInfo` represents, such as
+	// `tokyo-rain-123`. This is a convenience field so that you don't need to
+	// parse the `name` field to obtain a project ID. This field is read-only.
+	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// The resource name of the billing account associated with the project, if
+	// any. For example, `billingAccounts/012345-567890-ABCDEF`.
+	BillingAccountName string `protobuf:"bytes,3,opt,name=billing_account_name,json=billingAccountName" json:"billing_account_name,omitempty"`
+	// True if the project is associated with an open billing account, to which
+	// usage on the project is charged. False if the project is associated with a
+	// closed billing account, or no billing account at all, and therefore cannot
+	// use paid services. This field is read-only.
+	BillingEnabled bool `protobuf:"varint,4,opt,name=billing_enabled,json=billingEnabled" json:"billing_enabled,omitempty"`
+}
+
+func (m *ProjectBillingInfo) Reset()                    { *m = ProjectBillingInfo{} }
+func (m *ProjectBillingInfo) String() string            { return proto.CompactTextString(m) }
+func (*ProjectBillingInfo) ProtoMessage()               {}
+func (*ProjectBillingInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+// Request message for `GetBillingAccount`.
+type GetBillingAccountRequest struct {
+	// The resource name of the billing account to retrieve. For example,
+	// `billingAccounts/012345-567890-ABCDEF`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetBillingAccountRequest) Reset()                    { *m = GetBillingAccountRequest{} }
+func (m *GetBillingAccountRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetBillingAccountRequest) ProtoMessage()               {}
+func (*GetBillingAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// Request message for `ListBillingAccounts`.
+type ListBillingAccountsRequest struct {
+	// Requested page size. The maximum page size is 100; this is also the
+	// default.
+	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// A token identifying a page of results to return. This should be a
+	// `next_page_token` value returned from a previous `ListBillingAccounts`
+	// call. If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListBillingAccountsRequest) Reset()                    { *m = ListBillingAccountsRequest{} }
+func (m *ListBillingAccountsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListBillingAccountsRequest) ProtoMessage()               {}
+func (*ListBillingAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+// Response message for `ListBillingAccounts`.
+type ListBillingAccountsResponse struct {
+	// A list of billing accounts.
+	BillingAccounts []*BillingAccount `protobuf:"bytes,1,rep,name=billing_accounts,json=billingAccounts" json:"billing_accounts,omitempty"`
+	// A token to retrieve the next page of results. To retrieve the next page,
+	// call `ListBillingAccounts` again with the `page_token` field set to this
+	// value. This field is empty if there are no more results to retrieve.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListBillingAccountsResponse) Reset()                    { *m = ListBillingAccountsResponse{} }
+func (m *ListBillingAccountsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListBillingAccountsResponse) ProtoMessage()               {}
+func (*ListBillingAccountsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *ListBillingAccountsResponse) GetBillingAccounts() []*BillingAccount {
+	if m != nil {
+		return m.BillingAccounts
+	}
+	return nil
+}
+
+// Request message for `ListProjectBillingInfo`.
+type ListProjectBillingInfoRequest struct {
+	// The resource name of the billing account associated with the projects that
+	// you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Requested page size. The maximum page size is 100; this is also the
+	// default.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// A token identifying a page of results to be returned. This should be a
+	// `next_page_token` value returned from a previous `ListProjectBillingInfo`
+	// call. If unspecified, the first page of results is returned.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListProjectBillingInfoRequest) Reset()                    { *m = ListProjectBillingInfoRequest{} }
+func (m *ListProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListProjectBillingInfoRequest) ProtoMessage()               {}
+func (*ListProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+// Request message for `ListProjectBillingInfoResponse`.
+type ListProjectBillingInfoResponse struct {
+	// A list of `ProjectBillingInfo` resources representing the projects
+	// associated with the billing account.
+	ProjectBillingInfo []*ProjectBillingInfo `protobuf:"bytes,1,rep,name=project_billing_info,json=projectBillingInfo" json:"project_billing_info,omitempty"`
+	// A token to retrieve the next page of results. To retrieve the next page,
+	// call `ListProjectBillingInfo` again with the `page_token` field set to this
+	// value. This field is empty if there are no more results to retrieve.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListProjectBillingInfoResponse) Reset()                    { *m = ListProjectBillingInfoResponse{} }
+func (m *ListProjectBillingInfoResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListProjectBillingInfoResponse) ProtoMessage()               {}
+func (*ListProjectBillingInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *ListProjectBillingInfoResponse) GetProjectBillingInfo() []*ProjectBillingInfo {
+	if m != nil {
+		return m.ProjectBillingInfo
+	}
+	return nil
+}
+
+// Request message for `GetProjectBillingInfo`.
+type GetProjectBillingInfoRequest struct {
+	// The resource name of the project for which billing information is
+	// retrieved. For example, `projects/tokyo-rain-123`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetProjectBillingInfoRequest) Reset()                    { *m = GetProjectBillingInfoRequest{} }
+func (m *GetProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetProjectBillingInfoRequest) ProtoMessage()               {}
+func (*GetProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+// Request message for `UpdateProjectBillingInfo`.
+type UpdateProjectBillingInfoRequest struct {
+	// The resource name of the project associated with the billing information
+	// that you want to update. For example, `projects/tokyo-rain-123`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The new billing information for the project. Read-only fields are ignored;
+	// thus, you may leave empty all fields except `billing_account_name`.
+	ProjectBillingInfo *ProjectBillingInfo `protobuf:"bytes,2,opt,name=project_billing_info,json=projectBillingInfo" json:"project_billing_info,omitempty"`
+}
+
+func (m *UpdateProjectBillingInfoRequest) Reset()                    { *m = UpdateProjectBillingInfoRequest{} }
+func (m *UpdateProjectBillingInfoRequest) String() string            { return proto.CompactTextString(m) }
+func (*UpdateProjectBillingInfoRequest) ProtoMessage()               {}
+func (*UpdateProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *UpdateProjectBillingInfoRequest) GetProjectBillingInfo() *ProjectBillingInfo {
+	if m != nil {
+		return m.ProjectBillingInfo
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*BillingAccount)(nil), "google.cloud.billing.v1.BillingAccount")
+	proto.RegisterType((*ProjectBillingInfo)(nil), "google.cloud.billing.v1.ProjectBillingInfo")
+	proto.RegisterType((*GetBillingAccountRequest)(nil), "google.cloud.billing.v1.GetBillingAccountRequest")
+	proto.RegisterType((*ListBillingAccountsRequest)(nil), "google.cloud.billing.v1.ListBillingAccountsRequest")
+	proto.RegisterType((*ListBillingAccountsResponse)(nil), "google.cloud.billing.v1.ListBillingAccountsResponse")
+	proto.RegisterType((*ListProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.ListProjectBillingInfoRequest")
+	proto.RegisterType((*ListProjectBillingInfoResponse)(nil), "google.cloud.billing.v1.ListProjectBillingInfoResponse")
+	proto.RegisterType((*GetProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.GetProjectBillingInfoRequest")
+	proto.RegisterType((*UpdateProjectBillingInfoRequest)(nil), "google.cloud.billing.v1.UpdateProjectBillingInfoRequest")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for CloudBilling service
+
+type CloudBillingClient interface {
+	// Gets information about a billing account. The current authenticated user
+	// must be an [owner of the billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	GetBillingAccount(ctx context.Context, in *GetBillingAccountRequest, opts ...grpc.CallOption) (*BillingAccount, error)
+	// Lists the billing accounts that the current authenticated user
+	// [owns](https://support.google.com/cloud/answer/4430947).
+	ListBillingAccounts(ctx context.Context, in *ListBillingAccountsRequest, opts ...grpc.CallOption) (*ListBillingAccountsResponse, error)
+	// Lists the projects associated with a billing account. The current
+	// authenticated user must be an [owner of the billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	ListProjectBillingInfo(ctx context.Context, in *ListProjectBillingInfoRequest, opts ...grpc.CallOption) (*ListProjectBillingInfoResponse, error)
+	// Gets the billing information for a project. The current authenticated user
+	// must have [permission to view the
+	// project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+	// ).
+	GetProjectBillingInfo(ctx context.Context, in *GetProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error)
+	// Sets or updates the billing account associated with a project. You specify
+	// the new billing account by setting the `billing_account_name` in the
+	// `ProjectBillingInfo` resource to the resource name of a billing account.
+	// Associating a project with an open billing account enables billing on the
+	// project and allows charges for resource usage. If the project already had a
+	// billing account, this method changes the billing account used for resource
+	// usage charges.
+	//
+	// *Note:* Incurred charges that have not yet been reported in the transaction
+	// history of the Google Cloud Console may be billed to the new billing
+	// account, even if the charge occurred before the new billing account was
+	// assigned to the project.
+	//
+	// The current authenticated user must have ownership privileges for both the
+	// [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+	// ) and the [billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	//
+	// You can disable billing on the project by setting the
+	// `billing_account_name` field to empty. This action disassociates the
+	// current billing account from the project. Any billable activity of your
+	// in-use services will stop, and your application could stop functioning as
+	// expected. Any unbilled charges to date will be billed to the previously
+	// associated account. The current authenticated user must be either an owner
+	// of the project or an owner of the billing account for the project.
+	//
+	// Note that associating a project with a *closed* billing account will have
+	// much the same effect as disabling billing on the project: any paid
+	// resources used by the project will be shut down. Thus, unless you wish to
+	// disable billing, you should always call this method with the name of an
+	// *open* billing account.
+	UpdateProjectBillingInfo(ctx context.Context, in *UpdateProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error)
+}
+
+type cloudBillingClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewCloudBillingClient(cc *grpc.ClientConn) CloudBillingClient {
+	return &cloudBillingClient{cc}
+}
+
+func (c *cloudBillingClient) GetBillingAccount(ctx context.Context, in *GetBillingAccountRequest, opts ...grpc.CallOption) (*BillingAccount, error) {
+	out := new(BillingAccount)
+	err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/GetBillingAccount", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBillingClient) ListBillingAccounts(ctx context.Context, in *ListBillingAccountsRequest, opts ...grpc.CallOption) (*ListBillingAccountsResponse, error) {
+	out := new(ListBillingAccountsResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/ListBillingAccounts", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBillingClient) ListProjectBillingInfo(ctx context.Context, in *ListProjectBillingInfoRequest, opts ...grpc.CallOption) (*ListProjectBillingInfoResponse, error) {
+	out := new(ListProjectBillingInfoResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/ListProjectBillingInfo", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBillingClient) GetProjectBillingInfo(ctx context.Context, in *GetProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error) {
+	out := new(ProjectBillingInfo)
+	err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/GetProjectBillingInfo", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBillingClient) UpdateProjectBillingInfo(ctx context.Context, in *UpdateProjectBillingInfoRequest, opts ...grpc.CallOption) (*ProjectBillingInfo, error) {
+	out := new(ProjectBillingInfo)
+	err := grpc.Invoke(ctx, "/google.cloud.billing.v1.CloudBilling/UpdateProjectBillingInfo", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for CloudBilling service
+
+type CloudBillingServer interface {
+	// Gets information about a billing account. The current authenticated user
+	// must be an [owner of the billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	GetBillingAccount(context.Context, *GetBillingAccountRequest) (*BillingAccount, error)
+	// Lists the billing accounts that the current authenticated user
+	// [owns](https://support.google.com/cloud/answer/4430947).
+	ListBillingAccounts(context.Context, *ListBillingAccountsRequest) (*ListBillingAccountsResponse, error)
+	// Lists the projects associated with a billing account. The current
+	// authenticated user must be an [owner of the billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	ListProjectBillingInfo(context.Context, *ListProjectBillingInfoRequest) (*ListProjectBillingInfoResponse, error)
+	// Gets the billing information for a project. The current authenticated user
+	// must have [permission to view the
+	// project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+	// ).
+	GetProjectBillingInfo(context.Context, *GetProjectBillingInfoRequest) (*ProjectBillingInfo, error)
+	// Sets or updates the billing account associated with a project. You specify
+	// the new billing account by setting the `billing_account_name` in the
+	// `ProjectBillingInfo` resource to the resource name of a billing account.
+	// Associating a project with an open billing account enables billing on the
+	// project and allows charges for resource usage. If the project already had a
+	// billing account, this method changes the billing account used for resource
+	// usage charges.
+	//
+	// *Note:* Incurred charges that have not yet been reported in the transaction
+	// history of the Google Cloud Console may be billed to the new billing
+	// account, even if the charge occurred before the new billing account was
+	// assigned to the project.
+	//
+	// The current authenticated user must have ownership privileges for both the
+	// [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+	// ) and the [billing
+	// account](https://support.google.com/cloud/answer/4430947).
+	//
+	// You can disable billing on the project by setting the
+	// `billing_account_name` field to empty. This action disassociates the
+	// current billing account from the project. Any billable activity of your
+	// in-use services will stop, and your application could stop functioning as
+	// expected. Any unbilled charges to date will be billed to the previously
+	// associated account. The current authenticated user must be either an owner
+	// of the project or an owner of the billing account for the project.
+	//
+	// Note that associating a project with a *closed* billing account will have
+	// much the same effect as disabling billing on the project: any paid
+	// resources used by the project will be shut down. Thus, unless you wish to
+	// disable billing, you should always call this method with the name of an
+	// *open* billing account.
+	UpdateProjectBillingInfo(context.Context, *UpdateProjectBillingInfoRequest) (*ProjectBillingInfo, error)
+}
+
+func RegisterCloudBillingServer(s *grpc.Server, srv CloudBillingServer) {
+	s.RegisterService(&_CloudBilling_serviceDesc, srv)
+}
+
+func _CloudBilling_GetBillingAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetBillingAccountRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBillingServer).GetBillingAccount(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.billing.v1.CloudBilling/GetBillingAccount",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBillingServer).GetBillingAccount(ctx, req.(*GetBillingAccountRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_ListBillingAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListBillingAccountsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBillingServer).ListBillingAccounts(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.billing.v1.CloudBilling/ListBillingAccounts",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBillingServer).ListBillingAccounts(ctx, req.(*ListBillingAccountsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_ListProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListProjectBillingInfoRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBillingServer).ListProjectBillingInfo(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.billing.v1.CloudBilling/ListProjectBillingInfo",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBillingServer).ListProjectBillingInfo(ctx, req.(*ListProjectBillingInfoRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_GetProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetProjectBillingInfoRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBillingServer).GetProjectBillingInfo(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.billing.v1.CloudBilling/GetProjectBillingInfo",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBillingServer).GetProjectBillingInfo(ctx, req.(*GetProjectBillingInfoRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBilling_UpdateProjectBillingInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateProjectBillingInfoRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBillingServer).UpdateProjectBillingInfo(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.billing.v1.CloudBilling/UpdateProjectBillingInfo",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBillingServer).UpdateProjectBillingInfo(ctx, req.(*UpdateProjectBillingInfoRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _CloudBilling_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.billing.v1.CloudBilling",
+	HandlerType: (*CloudBillingServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "GetBillingAccount",
+			Handler:    _CloudBilling_GetBillingAccount_Handler,
+		},
+		{
+			MethodName: "ListBillingAccounts",
+			Handler:    _CloudBilling_ListBillingAccounts_Handler,
+		},
+		{
+			MethodName: "ListProjectBillingInfo",
+			Handler:    _CloudBilling_ListProjectBillingInfo_Handler,
+		},
+		{
+			MethodName: "GetProjectBillingInfo",
+			Handler:    _CloudBilling_GetProjectBillingInfo_Handler,
+		},
+		{
+			MethodName: "UpdateProjectBillingInfo",
+			Handler:    _CloudBilling_UpdateProjectBillingInfo_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor0,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x4e, 0xd4, 0x40,
+	0x18, 0xcd, 0x00, 0x12, 0xf6, 0x03, 0x41, 0x06, 0xd0, 0xcd, 0x2e, 0xa0, 0xd4, 0x1f, 0x50, 0x63,
+	0x2b, 0x8b, 0xff, 0x89, 0x31, 0x62, 0x8c, 0xc1, 0x18, 0xb3, 0xa9, 0x9a, 0x98, 0x18, 0xd3, 0x74,
+	0xdb, 0xa1, 0xa9, 0x96, 0x99, 0xba, 0x53, 0x88, 0x3f, 0xf1, 0xc6, 0x57, 0x50, 0x2f, 0xbc, 0xf0,
+	0xc6, 0x0b, 0x7d, 0x05, 0xaf, 0x7d, 0x05, 0x5f, 0xc1, 0x7b, 0x5f, 0xc1, 0xce, 0x74, 0xaa, 0x6c,
+	0xb7, 0xb3, 0xd0, 0x78, 0xb3, 0xe9, 0x9e, 0x99, 0x6f, 0xce, 0xf9, 0xce, 0x9c, 0xaf, 0x85, 0xbb,
+	0x01, 0x63, 0x41, 0x44, 0xcc, 0x80, 0x45, 0x2e, 0x0d, 0x4c, 0xd6, 0x0d, 0xac, 0x80, 0xd0, 0xb8,
+	0xcb, 0x12, 0x66, 0x65, 0x4b, 0x6e, 0x1c, 0x72, 0xcb, 0x8b, 0xd8, 0xb6, 0x6f, 0x75, 0xc2, 0x28,
+	0x0a, 0x69, 0x60, 0xed, 0xac, 0x66, 0x80, 0xa3, 0x00, 0x53, 0xee, 0xc7, 0x47, 0xd4, 0x59, 0x72,
+	0xcd, 0xcc, 0xd7, 0x76, 0x56, 0x1b, 0x1b, 0xfb, 0x23, 0x49, 0x7f, 0x2c, 0x4e, 0xba, 0x3b, 0xa1,
+	0x47, 0x3c, 0x46, 0x37, 0xc3, 0xc0, 0x72, 0x29, 0x65, 0x89, 0x9b, 0x84, 0x8c, 0xf2, 0x8c, 0xc3,
+	0x78, 0x02, 0x93, 0xeb, 0xd9, 0xc1, 0x37, 0x3d, 0x8f, 0x6d, 0xd3, 0x04, 0x63, 0x18, 0xa1, 0xee,
+	0x16, 0xa9, 0xa3, 0x63, 0x68, 0xa5, 0x66, 0xcb, 0x67, 0x81, 0xb1, 0x98, 0xd0, 0xfa, 0x50, 0x8a,
+	0x8d, 0xd9, 0xf2, 0x19, 0x2f, 0xc1, 0x84, 0x1f, 0xf2, 0x38, 0x72, 0x5f, 0x39, 0x72, 0xff, 0xb0,
+	0xdc, 0x3f, 0xae, 0xb0, 0xfb, 0x29, 0x64, 0x7c, 0x41, 0x80, 0xdb, 0x5d, 0xf6, 0x8c, 0x78, 0x89,
+	0x22, 0xd9, 0xa0, 0x9b, 0xac, 0x94, 0x61, 0x01, 0x20, 0xce, 0x76, 0x3a, 0xa1, 0x2f, 0x79, 0x6a,
+	0x76, 0x4d, 0x21, 0x1b, 0x3e, 0x3e, 0x0f, 0xb3, 0xaa, 0x7f, 0xc7, 0xcd, 0x74, 0xee, 0x26, 0xc5,
+	0x9d, 0x9e, 0x16, 0x04, 0x37, 0x5e, 0x86, 0xa9, 0xbc, 0x82, 0x50, 0xb7, 0x13, 0x11, 0xbf, 0x3e,
+	0x22, 0xd5, 0x4f, 0x2a, 0xf8, 0x76, 0x86, 0x1a, 0x26, 0xd4, 0xef, 0x90, 0xa4, 0xd7, 0x04, 0x9b,
+	0xbc, 0xd8, 0x26, 0xbc, 0xd4, 0x0b, 0xe3, 0x31, 0x34, 0xee, 0x85, 0xbc, 0x50, 0xc0, 0xf3, 0x8a,
+	0x26, 0xd4, 0x62, 0x37, 0x20, 0x0e, 0x0f, 0x5f, 0x67, 0x65, 0x07, 0xec, 0x31, 0x01, 0x3c, 0x48,
+	0xff, 0xcb, 0x26, 0xc5, 0x62, 0xc2, 0x9e, 0x2b, 0x33, 0x45, 0x93, 0x29, 0xf2, 0x50, 0x00, 0xc6,
+	0x27, 0x04, 0xcd, 0xd2, 0xa3, 0x79, 0x9c, 0x5e, 0x18, 0xc1, 0x36, 0x1c, 0x2a, 0x98, 0xc0, 0x53,
+	0x8a, 0xe1, 0x95, 0xf1, 0xd6, 0xb2, 0xa9, 0x89, 0x8a, 0x59, 0xe8, 0x6b, 0xaa, 0xd7, 0x29, 0x8e,
+	0x4f, 0xc1, 0x14, 0x25, 0x2f, 0x13, 0xa7, 0x4f, 0xd7, 0x41, 0x01, 0xb7, 0xff, 0x6a, 0x63, 0xb0,
+	0x20, 0xa4, 0xf5, 0xdf, 0xe6, 0x00, 0xab, 0x7a, 0xcd, 0x18, 0x1a, 0x68, 0xc6, 0x70, 0xd1, 0x8c,
+	0x6f, 0x08, 0x16, 0x75, 0x8c, 0xca, 0x8f, 0xa7, 0x30, 0x9b, 0x67, 0x26, 0xf7, 0x25, 0x4c, 0xd7,
+	0x95, 0x27, 0x67, 0xb5, 0x9e, 0x94, 0x1c, 0x89, 0xe3, 0xfe, 0x98, 0xee, 0xd7, 0x9a, 0x16, 0xcc,
+	0xa7, 0x01, 0xaa, 0xe4, 0x8c, 0xf1, 0x01, 0xc1, 0xd1, 0x47, 0xb1, 0xef, 0x26, 0xa4, 0x9a, 0xa3,
+	0xba, 0x96, 0x85, 0xb0, 0xff, 0x6f, 0xb9, 0xf5, 0x7b, 0x14, 0x26, 0x6e, 0x89, 0x5a, 0x05, 0xe2,
+	0x8f, 0x08, 0xa6, 0xfb, 0xa6, 0x03, 0xaf, 0x6a, 0x79, 0x74, 0x93, 0xd4, 0xd8, 0x6f, 0x42, 0x8d,
+	0x13, 0xef, 0x7e, 0xfe, 0x7a, 0x3f, 0xb4, 0x88, 0xe7, 0xc5, 0x5b, 0xf1, 0x8d, 0x68, 0xfa, 0x7a,
+	0x21, 0xb3, 0xd6, 0x99, 0xb7, 0xf8, 0x33, 0x82, 0x99, 0x92, 0x51, 0xc1, 0x6b, 0x5a, 0x1a, 0xfd,
+	0xcc, 0x36, 0x2e, 0x54, 0x2b, 0xca, 0xd2, 0x67, 0x34, 0xa5, 0xd0, 0x39, 0x3c, 0x23, 0x84, 0x16,
+	0xc7, 0xea, 0x3b, 0x82, 0xc3, 0xe5, 0xe9, 0xc5, 0x97, 0x06, 0xb2, 0x69, 0xe3, 0xd0, 0xb8, 0x5c,
+	0xb9, 0x4e, 0x09, 0x3d, 0x27, 0x85, 0x2e, 0xe3, 0x93, 0x83, 0x1c, 0xb5, 0x54, 0x1a, 0x38, 0xfe,
+	0x8a, 0x60, 0xae, 0x34, 0xcf, 0xf8, 0xe2, 0xa0, 0x6b, 0xd7, 0x0b, 0xaf, 0x92, 0x4a, 0xe3, 0xb4,
+	0x14, 0x7b, 0x1c, 0x2f, 0xfd, 0x13, 0x9b, 0x2b, 0x13, 0x2a, 0x3b, 0xbb, 0xe4, 0xfc, 0x40, 0x50,
+	0xd7, 0xcd, 0x10, 0xbe, 0xa2, 0x25, 0xdd, 0x63, 0xec, 0xaa, 0xc9, 0xbd, 0x21, 0xe5, 0x5e, 0x6d,
+	0xec, 0x2d, 0xf7, 0x5a, 0xe9, 0xe0, 0xae, 0xb7, 0xa0, 0xe9, 0xb1, 0x2d, 0x1d, 0xe5, 0xfa, 0xf4,
+	0xee, 0x69, 0x6c, 0x8b, 0x2f, 0x76, 0x1b, 0x75, 0x46, 0xe5, 0xa7, 0x7b, 0xed, 0x4f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xa6, 0xd6, 0xd7, 0x61, 0x6c, 0x08, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/billing/v1/cloud_billing.proto b/googleapis/cloud/billing/v1/cloud_billing.proto
new file mode 100644
index 00000000..696fb7a6
--- /dev/null
+++ b/googleapis/cloud/billing/v1/cloud_billing.proto
@@ -0,0 +1,213 @@
+// Copyright 2016 Google Inc.
+//
+// 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.billing.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "CloudBillingProto";
+option java_package = "com.google.cloud.billing.v1";
+
+
+// Retrieves Google Cloud Console billing accounts and associates them with
+// projects.
+service CloudBilling {
+  // Gets information about a billing account. The current authenticated user
+  // must be an [owner of the billing
+  // account](https://support.google.com/cloud/answer/4430947).
+  rpc GetBillingAccount(GetBillingAccountRequest) returns (BillingAccount) {
+    option (google.api.http) = { get: "/v1/{name=billingAccounts/*}" };
+  }
+
+  // Lists the billing accounts that the current authenticated user
+  // [owns](https://support.google.com/cloud/answer/4430947).
+  rpc ListBillingAccounts(ListBillingAccountsRequest) returns (ListBillingAccountsResponse) {
+    option (google.api.http) = { get: "/v1/billingAccounts" };
+  }
+
+  // Lists the projects associated with a billing account. The current
+  // authenticated user must be an [owner of the billing
+  // account](https://support.google.com/cloud/answer/4430947).
+  rpc ListProjectBillingInfo(ListProjectBillingInfoRequest) returns (ListProjectBillingInfoResponse) {
+    option (google.api.http) = { get: "/v1/{name=billingAccounts/*}/projects" };
+  }
+
+  // Gets the billing information for a project. The current authenticated user
+  // must have [permission to view the
+  // project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+  // ).
+  rpc GetProjectBillingInfo(GetProjectBillingInfoRequest) returns (ProjectBillingInfo) {
+    option (google.api.http) = { get: "/v1/{name=projects/*}/billingInfo" };
+  }
+
+  // Sets or updates the billing account associated with a project. You specify
+  // the new billing account by setting the `billing_account_name` in the
+  // `ProjectBillingInfo` resource to the resource name of a billing account.
+  // Associating a project with an open billing account enables billing on the
+  // project and allows charges for resource usage. If the project already had a
+  // billing account, this method changes the billing account used for resource
+  // usage charges.
+  //
+  // *Note:* Incurred charges that have not yet been reported in the transaction
+  // history of the Google Cloud Console may be billed to the new billing
+  // account, even if the charge occurred before the new billing account was
+  // assigned to the project.
+  //
+  // The current authenticated user must have ownership privileges for both the
+  // [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo
+  // ) and the [billing
+  // account](https://support.google.com/cloud/answer/4430947).
+  //
+  // You can disable billing on the project by setting the
+  // `billing_account_name` field to empty. This action disassociates the
+  // current billing account from the project. Any billable activity of your
+  // in-use services will stop, and your application could stop functioning as
+  // expected. Any unbilled charges to date will be billed to the previously
+  // associated account. The current authenticated user must be either an owner
+  // of the project or an owner of the billing account for the project.
+  //
+  // Note that associating a project with a *closed* billing account will have
+  // much the same effect as disabling billing on the project: any paid
+  // resources used by the project will be shut down. Thus, unless you wish to
+  // disable billing, you should always call this method with the name of an
+  // *open* billing account.
+  rpc UpdateProjectBillingInfo(UpdateProjectBillingInfoRequest) returns (ProjectBillingInfo) {
+    option (google.api.http) = { put: "/v1/{name=projects/*}/billingInfo" body: "project_billing_info" };
+  }
+}
+
+// A billing account in [Google Cloud
+// Console](https://console.cloud.google.com/). You can assign a billing account
+// to one or more projects.
+message BillingAccount {
+  // The resource name of the billing account. The resource name has the form
+  // `billingAccounts/{billing_account_id}`. For example,
+  // `billingAccounts/012345-567890-ABCDEF` would be the resource name for
+  // billing account `012345-567890-ABCDEF`.
+  string name = 1;
+
+  // True if the billing account is open, and will therefore be charged for any
+  // usage on associated projects. False if the billing account is closed, and
+  // therefore projects associated with it will be unable to use paid services.
+  bool open = 2;
+
+  // The display name given to the billing account, such as `My Billing
+  // Account`. This name is displayed in the Google Cloud Console.
+  string display_name = 3;
+}
+
+// Encapsulation of billing information for a Cloud Console project. A project
+// has at most one associated billing account at a time (but a billing account
+// can be assigned to multiple projects).
+message ProjectBillingInfo {
+  // The resource name for the `ProjectBillingInfo`; has the form
+  // `projects/{project_id}/billingInfo`. For example, the resource name for the
+  // billing information for project `tokyo-rain-123` would be
+  // `projects/tokyo-rain-123/billingInfo`. This field is read-only.
+  string name = 1;
+
+  // The ID of the project that this `ProjectBillingInfo` represents, such as
+  // `tokyo-rain-123`. This is a convenience field so that you don't need to
+  // parse the `name` field to obtain a project ID. This field is read-only.
+  string project_id = 2;
+
+  // The resource name of the billing account associated with the project, if
+  // any. For example, `billingAccounts/012345-567890-ABCDEF`.
+  string billing_account_name = 3;
+
+  // True if the project is associated with an open billing account, to which
+  // usage on the project is charged. False if the project is associated with a
+  // closed billing account, or no billing account at all, and therefore cannot
+  // use paid services. This field is read-only.
+  bool billing_enabled = 4;
+}
+
+// Request message for `GetBillingAccount`.
+message GetBillingAccountRequest {
+  // The resource name of the billing account to retrieve. For example,
+  // `billingAccounts/012345-567890-ABCDEF`.
+  string name = 1;
+}
+
+// Request message for `ListBillingAccounts`.
+message ListBillingAccountsRequest {
+  // Requested page size. The maximum page size is 100; this is also the
+  // default.
+  int32 page_size = 1;
+
+  // A token identifying a page of results to return. This should be a
+  // `next_page_token` value returned from a previous `ListBillingAccounts`
+  // call. If unspecified, the first page of results is returned.
+  string page_token = 2;
+}
+
+// Response message for `ListBillingAccounts`.
+message ListBillingAccountsResponse {
+  // A list of billing accounts.
+  repeated BillingAccount billing_accounts = 1;
+
+  // A token to retrieve the next page of results. To retrieve the next page,
+  // call `ListBillingAccounts` again with the `page_token` field set to this
+  // value. This field is empty if there are no more results to retrieve.
+  string next_page_token = 2;
+}
+
+// Request message for `ListProjectBillingInfo`.
+message ListProjectBillingInfoRequest {
+  // The resource name of the billing account associated with the projects that
+  // you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.
+  string name = 1;
+
+  // Requested page size. The maximum page size is 100; this is also the
+  // default.
+  int32 page_size = 2;
+
+  // A token identifying a page of results to be returned. This should be a
+  // `next_page_token` value returned from a previous `ListProjectBillingInfo`
+  // call. If unspecified, the first page of results is returned.
+  string page_token = 3;
+}
+
+// Request message for `ListProjectBillingInfoResponse`.
+message ListProjectBillingInfoResponse {
+  // A list of `ProjectBillingInfo` resources representing the projects
+  // associated with the billing account.
+  repeated ProjectBillingInfo project_billing_info = 1;
+
+  // A token to retrieve the next page of results. To retrieve the next page,
+  // call `ListProjectBillingInfo` again with the `page_token` field set to this
+  // value. This field is empty if there are no more results to retrieve.
+  string next_page_token = 2;
+}
+
+// Request message for `GetProjectBillingInfo`.
+message GetProjectBillingInfoRequest {
+  // The resource name of the project for which billing information is
+  // retrieved. For example, `projects/tokyo-rain-123`.
+  string name = 1;
+}
+
+// Request message for `UpdateProjectBillingInfo`.
+message UpdateProjectBillingInfoRequest {
+  // The resource name of the project associated with the billing information
+  // that you want to update. For example, `projects/tokyo-rain-123`.
+  string name = 1;
+
+  // The new billing information for the project. Read-only fields are ignored;
+  // thus, you may leave empty all fields except `billing_account_name`.
+  ProjectBillingInfo project_billing_info = 2;
+}
diff --git a/googleapis/cloud/dataproc/v1/clusters.pb.go b/googleapis/cloud/dataproc/v1/clusters.pb.go
new file mode 100644
index 00000000..5c7a221f
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/clusters.pb.go
@@ -0,0 +1,1034 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto
+// DO NOT EDIT!
+
+/*
+Package google_cloud_dataproc_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto
+	google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto
+	google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto
+
+It has these top-level messages:
+	Cluster
+	ClusterConfig
+	GceClusterConfig
+	InstanceGroupConfig
+	ManagedGroupConfig
+	DiskConfig
+	NodeInitializationAction
+	ClusterStatus
+	SoftwareConfig
+	CreateClusterRequest
+	UpdateClusterRequest
+	DeleteClusterRequest
+	GetClusterRequest
+	ListClustersRequest
+	ListClustersResponse
+	DiagnoseClusterRequest
+	DiagnoseClusterResults
+	LoggingConfig
+	HadoopJob
+	SparkJob
+	PySparkJob
+	QueryList
+	HiveJob
+	SparkSqlJob
+	PigJob
+	JobPlacement
+	JobStatus
+	JobReference
+	Job
+	SubmitJobRequest
+	GetJobRequest
+	ListJobsRequest
+	ListJobsResponse
+	CancelJobRequest
+	DeleteJobRequest
+	ClusterOperationStatus
+	ClusterOperationMetadata
+*/
+package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
+import google_protobuf4 "github.com/golang/protobuf/ptypes/duration"
+import google_protobuf5 "google.golang.org/genproto/protobuf"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// The cluster state.
+type ClusterStatus_State int32
+
+const (
+	// The cluster state is unknown.
+	ClusterStatus_UNKNOWN ClusterStatus_State = 0
+	// The cluster is being created and set up. It is not ready for use.
+	ClusterStatus_CREATING ClusterStatus_State = 1
+	// The cluster is currently running and healthy. It is ready for use.
+	ClusterStatus_RUNNING ClusterStatus_State = 2
+	// The cluster encountered an error. It is not ready for use.
+	ClusterStatus_ERROR ClusterStatus_State = 3
+	// The cluster is being deleted. It cannot be used.
+	ClusterStatus_DELETING ClusterStatus_State = 4
+	// The cluster is being updated. It continues to accept and process jobs.
+	ClusterStatus_UPDATING ClusterStatus_State = 5
+)
+
+var ClusterStatus_State_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "CREATING",
+	2: "RUNNING",
+	3: "ERROR",
+	4: "DELETING",
+	5: "UPDATING",
+}
+var ClusterStatus_State_value = map[string]int32{
+	"UNKNOWN":  0,
+	"CREATING": 1,
+	"RUNNING":  2,
+	"ERROR":    3,
+	"DELETING": 4,
+	"UPDATING": 5,
+}
+
+func (x ClusterStatus_State) String() string {
+	return proto.EnumName(ClusterStatus_State_name, int32(x))
+}
+func (ClusterStatus_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
+
+// Describes the identifying information, config, and status of
+// a cluster of Google Compute Engine instances.
+type Cluster struct {
+	// [Required] The Google Cloud Platform project ID that the cluster belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The cluster name. Cluster names within a project must be
+	// unique. Names of deleted clusters can be reused.
+	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+	// [Required] The cluster config. Note that Cloud Dataproc may set
+	// default values, and values may change when clusters are updated.
+	Config *ClusterConfig `protobuf:"bytes,3,opt,name=config" json:"config,omitempty"`
+	// [Output-only] Cluster status.
+	Status *ClusterStatus `protobuf:"bytes,4,opt,name=status" json:"status,omitempty"`
+	// [Output-only] The previous cluster status.
+	StatusHistory []*ClusterStatus `protobuf:"bytes,7,rep,name=status_history,json=statusHistory" json:"status_history,omitempty"`
+	// [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc
+	// generates this value when it creates the cluster.
+	ClusterUuid string `protobuf:"bytes,6,opt,name=cluster_uuid,json=clusterUuid" json:"cluster_uuid,omitempty"`
+}
+
+func (m *Cluster) Reset()                    { *m = Cluster{} }
+func (m *Cluster) String() string            { return proto.CompactTextString(m) }
+func (*Cluster) ProtoMessage()               {}
+func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *Cluster) GetConfig() *ClusterConfig {
+	if m != nil {
+		return m.Config
+	}
+	return nil
+}
+
+func (m *Cluster) GetStatus() *ClusterStatus {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+func (m *Cluster) GetStatusHistory() []*ClusterStatus {
+	if m != nil {
+		return m.StatusHistory
+	}
+	return nil
+}
+
+// The cluster config.
+type ClusterConfig struct {
+	// [Optional] A Google Cloud Storage staging bucket used for sharing generated
+	// SSH keys and config. If you do not specify a staging bucket, Cloud
+	// Dataproc will determine an appropriate Cloud Storage location (US,
+	// ASIA, or EU) for your cluster's staging bucket according to the Google
+	// Compute Engine zone where your cluster is deployed, and then it will create
+	// and manage this project-level, per-location bucket for you.
+	ConfigBucket string `protobuf:"bytes,1,opt,name=config_bucket,json=configBucket" json:"config_bucket,omitempty"`
+	// [Required] The shared Google Compute Engine config settings for
+	// all instances in a cluster.
+	GceClusterConfig *GceClusterConfig `protobuf:"bytes,8,opt,name=gce_cluster_config,json=gceClusterConfig" json:"gce_cluster_config,omitempty"`
+	// [Optional] The Google Compute Engine config settings for
+	// the master instance in a cluster.
+	MasterConfig *InstanceGroupConfig `protobuf:"bytes,9,opt,name=master_config,json=masterConfig" json:"master_config,omitempty"`
+	// [Optional] The Google Compute Engine config settings for
+	// worker instances in a cluster.
+	WorkerConfig *InstanceGroupConfig `protobuf:"bytes,10,opt,name=worker_config,json=workerConfig" json:"worker_config,omitempty"`
+	// [Optional] The Google Compute Engine config settings for
+	// additional worker instances in a cluster.
+	SecondaryWorkerConfig *InstanceGroupConfig `protobuf:"bytes,12,opt,name=secondary_worker_config,json=secondaryWorkerConfig" json:"secondary_worker_config,omitempty"`
+	// [Optional] The config settings for software inside the cluster.
+	SoftwareConfig *SoftwareConfig `protobuf:"bytes,13,opt,name=software_config,json=softwareConfig" json:"software_config,omitempty"`
+	// [Optional] Commands to execute on each node after config is
+	// completed. By default, executables are run on master and all worker nodes.
+	// You can test a node's <code>role</code> metadata to run an executable on
+	// a master or worker node, as shown below using `curl` (you can also use `wget`):
+	//
+	//     ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
+	//     if [[ "${ROLE}" == 'Master' ]]; then
+	//       ... master specific actions ...
+	//     else
+	//       ... worker specific actions ...
+	//     fi
+	InitializationActions []*NodeInitializationAction `protobuf:"bytes,11,rep,name=initialization_actions,json=initializationActions" json:"initialization_actions,omitempty"`
+}
+
+func (m *ClusterConfig) Reset()                    { *m = ClusterConfig{} }
+func (m *ClusterConfig) String() string            { return proto.CompactTextString(m) }
+func (*ClusterConfig) ProtoMessage()               {}
+func (*ClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *ClusterConfig) GetGceClusterConfig() *GceClusterConfig {
+	if m != nil {
+		return m.GceClusterConfig
+	}
+	return nil
+}
+
+func (m *ClusterConfig) GetMasterConfig() *InstanceGroupConfig {
+	if m != nil {
+		return m.MasterConfig
+	}
+	return nil
+}
+
+func (m *ClusterConfig) GetWorkerConfig() *InstanceGroupConfig {
+	if m != nil {
+		return m.WorkerConfig
+	}
+	return nil
+}
+
+func (m *ClusterConfig) GetSecondaryWorkerConfig() *InstanceGroupConfig {
+	if m != nil {
+		return m.SecondaryWorkerConfig
+	}
+	return nil
+}
+
+func (m *ClusterConfig) GetSoftwareConfig() *SoftwareConfig {
+	if m != nil {
+		return m.SoftwareConfig
+	}
+	return nil
+}
+
+func (m *ClusterConfig) GetInitializationActions() []*NodeInitializationAction {
+	if m != nil {
+		return m.InitializationActions
+	}
+	return nil
+}
+
+// Common config settings for resources of Google Compute Engine cluster
+// instances, applicable to all instances in the cluster.
+type GceClusterConfig struct {
+	// [Required] The zone where the Google Compute Engine cluster will be located.
+	// Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`.
+	ZoneUri string `protobuf:"bytes,1,opt,name=zone_uri,json=zoneUri" json:"zone_uri,omitempty"`
+	// [Optional] The Google Compute Engine network to be used for machine
+	// communications. Cannot be specified with subnetwork_uri. If neither
+	// `network_uri` nor `subnetwork_uri` is specified, the "default" network of
+	// the project is used, if it exists. Cannot be a "Custom Subnet Network" (see
+	// [Using Subnetworks](/compute/docs/subnetworks) for more information).
+	// Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`.
+	NetworkUri string `protobuf:"bytes,2,opt,name=network_uri,json=networkUri" json:"network_uri,omitempty"`
+	// [Optional] The Google Compute Engine subnetwork to be used for machine
+	// communications. Cannot be specified with network_uri.
+	// Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`.
+	SubnetworkUri string `protobuf:"bytes,6,opt,name=subnetwork_uri,json=subnetworkUri" json:"subnetwork_uri,omitempty"`
+	// [Optional] If true, all instances in the cluster will only have internal IP
+	// addresses. By default, clusters are not restricted to internal IP addresses,
+	// and will have ephemeral external IP addresses assigned to each instance.
+	// This `internal_ip_only` restriction can only be enabled for subnetwork
+	// enabled networks, and all off-cluster dependencies must be configured to be
+	// accessible without external IP addresses.
+	InternalIpOnly bool `protobuf:"varint,7,opt,name=internal_ip_only,json=internalIpOnly" json:"internal_ip_only,omitempty"`
+	// [Optional] The URIs of service account scopes to be included in Google
+	// Compute Engine instances. The following base set of scopes is always
+	// included:
+	//
+	// * https://www.googleapis.com/auth/cloud.useraccounts.readonly
+	// * https://www.googleapis.com/auth/devstorage.read_write
+	// * https://www.googleapis.com/auth/logging.write
+	//
+	// If no scopes are specified, the following defaults are also provided:
+	//
+	// * https://www.googleapis.com/auth/bigquery
+	// * https://www.googleapis.com/auth/bigtable.admin.table
+	// * https://www.googleapis.com/auth/bigtable.data
+	// * https://www.googleapis.com/auth/devstorage.full_control
+	ServiceAccountScopes []string `protobuf:"bytes,3,rep,name=service_account_scopes,json=serviceAccountScopes" json:"service_account_scopes,omitempty"`
+	// The Google Compute Engine tags to add to all instances (see
+	// [Labeling instances](/compute/docs/label-or-tag-resources#labeling_instances)).
+	Tags []string `protobuf:"bytes,4,rep,name=tags" json:"tags,omitempty"`
+	// The Google Compute Engine metadata entries to add to all instances (see
+	// [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
+	Metadata map[string]string `protobuf:"bytes,5,rep,name=metadata" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+}
+
+func (m *GceClusterConfig) Reset()                    { *m = GceClusterConfig{} }
+func (m *GceClusterConfig) String() string            { return proto.CompactTextString(m) }
+func (*GceClusterConfig) ProtoMessage()               {}
+func (*GceClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *GceClusterConfig) GetMetadata() map[string]string {
+	if m != nil {
+		return m.Metadata
+	}
+	return nil
+}
+
+// [Optional] The config settings for Google Compute Engine resources in
+// an instance group, such as a master or worker group.
+type InstanceGroupConfig struct {
+	// [Required] The number of VM instances in the instance group.
+	// For master instance groups, must be set to 1.
+	NumInstances int32 `protobuf:"varint,1,opt,name=num_instances,json=numInstances" json:"num_instances,omitempty"`
+	// [Optional] The list of instance names. Cloud Dataproc derives the names from
+	// `cluster_name`, `num_instances`, and the instance group if not set by user
+	// (recommended practice is to let Cloud Dataproc derive the name).
+	InstanceNames []string `protobuf:"bytes,2,rep,name=instance_names,json=instanceNames" json:"instance_names,omitempty"`
+	// [Output-only] The Google Compute Engine image resource used for cluster
+	// instances. Inferred from `SoftwareConfig.image_version`.
+	ImageUri string `protobuf:"bytes,3,opt,name=image_uri,json=imageUri" json:"image_uri,omitempty"`
+	// [Required] The Google Compute Engine machine type used for cluster instances.
+	// Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`.
+	MachineTypeUri string `protobuf:"bytes,4,opt,name=machine_type_uri,json=machineTypeUri" json:"machine_type_uri,omitempty"`
+	// [Optional] Disk option config settings.
+	DiskConfig *DiskConfig `protobuf:"bytes,5,opt,name=disk_config,json=diskConfig" json:"disk_config,omitempty"`
+	// [Optional] Specifies that this instance group contains preemptible instances.
+	IsPreemptible bool `protobuf:"varint,6,opt,name=is_preemptible,json=isPreemptible" json:"is_preemptible,omitempty"`
+	// [Output-only] The config for Google Compute Engine Instance Group
+	// Manager that manages this group.
+	// This is only used for preemptible instance groups.
+	ManagedGroupConfig *ManagedGroupConfig `protobuf:"bytes,7,opt,name=managed_group_config,json=managedGroupConfig" json:"managed_group_config,omitempty"`
+}
+
+func (m *InstanceGroupConfig) Reset()                    { *m = InstanceGroupConfig{} }
+func (m *InstanceGroupConfig) String() string            { return proto.CompactTextString(m) }
+func (*InstanceGroupConfig) ProtoMessage()               {}
+func (*InstanceGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *InstanceGroupConfig) GetDiskConfig() *DiskConfig {
+	if m != nil {
+		return m.DiskConfig
+	}
+	return nil
+}
+
+func (m *InstanceGroupConfig) GetManagedGroupConfig() *ManagedGroupConfig {
+	if m != nil {
+		return m.ManagedGroupConfig
+	}
+	return nil
+}
+
+// Specifies the resources used to actively manage an instance group.
+type ManagedGroupConfig struct {
+	// [Output-only] The name of the Instance Template used for the Managed
+	// Instance Group.
+	InstanceTemplateName string `protobuf:"bytes,1,opt,name=instance_template_name,json=instanceTemplateName" json:"instance_template_name,omitempty"`
+	// [Output-only] The name of the Instance Group Manager for this group.
+	InstanceGroupManagerName string `protobuf:"bytes,2,opt,name=instance_group_manager_name,json=instanceGroupManagerName" json:"instance_group_manager_name,omitempty"`
+}
+
+func (m *ManagedGroupConfig) Reset()                    { *m = ManagedGroupConfig{} }
+func (m *ManagedGroupConfig) String() string            { return proto.CompactTextString(m) }
+func (*ManagedGroupConfig) ProtoMessage()               {}
+func (*ManagedGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+// Specifies the config of disk options for a group of VM instances.
+type DiskConfig struct {
+	// [Optional] Size in GB of the boot disk (default is 500GB).
+	BootDiskSizeGb int32 `protobuf:"varint,1,opt,name=boot_disk_size_gb,json=bootDiskSizeGb" json:"boot_disk_size_gb,omitempty"`
+	// [Optional] Number of attached SSDs, from 0 to 4 (default is 0).
+	// If SSDs are not attached, the boot disk is used to store runtime logs and
+	// [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data.
+	// If one or more SSDs are attached, this runtime bulk
+	// data is spread across them, and the boot disk contains only basic
+	// config and installed binaries.
+	NumLocalSsds int32 `protobuf:"varint,2,opt,name=num_local_ssds,json=numLocalSsds" json:"num_local_ssds,omitempty"`
+}
+
+func (m *DiskConfig) Reset()                    { *m = DiskConfig{} }
+func (m *DiskConfig) String() string            { return proto.CompactTextString(m) }
+func (*DiskConfig) ProtoMessage()               {}
+func (*DiskConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+// Specifies an executable to run on a fully configured node and a
+// timeout period for executable completion.
+type NodeInitializationAction struct {
+	// [Required] Google Cloud Storage URI of executable file.
+	ExecutableFile string `protobuf:"bytes,1,opt,name=executable_file,json=executableFile" json:"executable_file,omitempty"`
+	// [Optional] Amount of time executable has to complete. Default is
+	// 10 minutes. Cluster creation fails with an explanatory error message (the
+	// name of the executable that caused the error and the exceeded timeout
+	// period) if the executable is not completed at end of the timeout period.
+	ExecutionTimeout *google_protobuf4.Duration `protobuf:"bytes,2,opt,name=execution_timeout,json=executionTimeout" json:"execution_timeout,omitempty"`
+}
+
+func (m *NodeInitializationAction) Reset()                    { *m = NodeInitializationAction{} }
+func (m *NodeInitializationAction) String() string            { return proto.CompactTextString(m) }
+func (*NodeInitializationAction) ProtoMessage()               {}
+func (*NodeInitializationAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+func (m *NodeInitializationAction) GetExecutionTimeout() *google_protobuf4.Duration {
+	if m != nil {
+		return m.ExecutionTimeout
+	}
+	return nil
+}
+
+// The status of a cluster and its instances.
+type ClusterStatus struct {
+	// [Output-only] The cluster's state.
+	State ClusterStatus_State `protobuf:"varint,1,opt,name=state,enum=google.cloud.dataproc.v1.ClusterStatus_State" json:"state,omitempty"`
+	// [Output-only] Optional details of cluster's state.
+	Detail string `protobuf:"bytes,2,opt,name=detail" json:"detail,omitempty"`
+	// [Output-only] Time when this state was entered.
+	StateStartTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=state_start_time,json=stateStartTime" json:"state_start_time,omitempty"`
+}
+
+func (m *ClusterStatus) Reset()                    { *m = ClusterStatus{} }
+func (m *ClusterStatus) String() string            { return proto.CompactTextString(m) }
+func (*ClusterStatus) ProtoMessage()               {}
+func (*ClusterStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *ClusterStatus) GetStateStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StateStartTime
+	}
+	return nil
+}
+
+// Specifies the selection and config of software inside the cluster.
+type SoftwareConfig struct {
+	// [Optional] The version of software inside the cluster. It must match the
+	// regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the
+	// latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)).
+	ImageVersion string `protobuf:"bytes,1,opt,name=image_version,json=imageVersion" json:"image_version,omitempty"`
+	// [Optional] The properties to set on daemon config files.
+	//
+	// Property keys are specified in `prefix:property` format, such as
+	// `core:fs.defaultFS`. The following are supported prefixes
+	// and their mappings:
+	//
+	// * core:   `core-site.xml`
+	// * hdfs:   `hdfs-site.xml`
+	// * mapred: `mapred-site.xml`
+	// * yarn:   `yarn-site.xml`
+	// * hive:   `hive-site.xml`
+	// * pig:    `pig.properties`
+	// * spark:  `spark-defaults.conf`
+	Properties map[string]string `protobuf:"bytes,2,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+}
+
+func (m *SoftwareConfig) Reset()                    { *m = SoftwareConfig{} }
+func (m *SoftwareConfig) String() string            { return proto.CompactTextString(m) }
+func (*SoftwareConfig) ProtoMessage()               {}
+func (*SoftwareConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *SoftwareConfig) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+// A request to create a cluster.
+type CreateClusterRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the cluster
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The cluster to create.
+	Cluster *Cluster `protobuf:"bytes,2,opt,name=cluster" json:"cluster,omitempty"`
+}
+
+func (m *CreateClusterRequest) Reset()                    { *m = CreateClusterRequest{} }
+func (m *CreateClusterRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateClusterRequest) ProtoMessage()               {}
+func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+
+func (m *CreateClusterRequest) GetCluster() *Cluster {
+	if m != nil {
+		return m.Cluster
+	}
+	return nil
+}
+
+// A request to update a cluster.
+type UpdateClusterRequest struct {
+	// [Required] The ID of the Google Cloud Platform project the
+	// cluster belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,5,opt,name=region" json:"region,omitempty"`
+	// [Required] The cluster name.
+	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+	// [Required] The changes to the cluster.
+	Cluster *Cluster `protobuf:"bytes,3,opt,name=cluster" json:"cluster,omitempty"`
+	// [Required] Specifies the path, relative to <code>Cluster</code>, of
+	// the field to update. For example, to change the number of workers
+	// in a cluster to 5, the <code>update_mask</code> parameter would be
+	// specified as <code>config.worker_config.num_instances</code>,
+	// and the `PATCH` request body would specify the new value, as follows:
+	//
+	//     {
+	//       "config":{
+	//         "workerConfig":{
+	//           "numInstances":"5"
+	//         }
+	//       }
+	//     }
+	// Similarly, to change the number of preemptible workers in a cluster to 5, the
+	// <code>update_mask</code> parameter would be <code>config.secondary_worker_config.num_instances</code>,
+	// and the `PATCH` request body would be set as follows:
+	//
+	//     {
+	//       "config":{
+	//         "secondaryWorkerConfig":{
+	//           "numInstances":"5"
+	//         }
+	//       }
+	//     }
+	// <strong>Note:</strong> Currently, <code>config.worker_config.num_instances</code>
+	// and <code>config.secondary_worker_config.num_instances</code> are the only
+	// fields that can be updated.
+	UpdateMask *google_protobuf5.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
+}
+
+func (m *UpdateClusterRequest) Reset()                    { *m = UpdateClusterRequest{} }
+func (m *UpdateClusterRequest) String() string            { return proto.CompactTextString(m) }
+func (*UpdateClusterRequest) ProtoMessage()               {}
+func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+
+func (m *UpdateClusterRequest) GetCluster() *Cluster {
+	if m != nil {
+		return m.Cluster
+	}
+	return nil
+}
+
+func (m *UpdateClusterRequest) GetUpdateMask() *google_protobuf5.FieldMask {
+	if m != nil {
+		return m.UpdateMask
+	}
+	return nil
+}
+
+// A request to delete a cluster.
+type DeleteClusterRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the cluster
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The cluster name.
+	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+}
+
+func (m *DeleteClusterRequest) Reset()                    { *m = DeleteClusterRequest{} }
+func (m *DeleteClusterRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteClusterRequest) ProtoMessage()               {}
+func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+
+// Request to get the resource representation for a cluster in a project.
+type GetClusterRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the cluster
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The cluster name.
+	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+}
+
+func (m *GetClusterRequest) Reset()                    { *m = GetClusterRequest{} }
+func (m *GetClusterRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetClusterRequest) ProtoMessage()               {}
+func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+
+// A request to list the clusters in a project.
+type ListClustersRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the cluster
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,4,opt,name=region" json:"region,omitempty"`
+	// [Optional] The standard List page size.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// [Optional] The standard List page token.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListClustersRequest) Reset()                    { *m = ListClustersRequest{} }
+func (m *ListClustersRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListClustersRequest) ProtoMessage()               {}
+func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+
+// The list of all clusters in a project.
+type ListClustersResponse struct {
+	// [Output-only] The clusters in the project.
+	Clusters []*Cluster `protobuf:"bytes,1,rep,name=clusters" json:"clusters,omitempty"`
+	// [Output-only] This token is included in the response if there are more
+	// results to fetch. To fetch additional results, provide this value as the
+	// `page_token` in a subsequent <code>ListClustersRequest</code>.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListClustersResponse) Reset()                    { *m = ListClustersResponse{} }
+func (m *ListClustersResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListClustersResponse) ProtoMessage()               {}
+func (*ListClustersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
+
+func (m *ListClustersResponse) GetClusters() []*Cluster {
+	if m != nil {
+		return m.Clusters
+	}
+	return nil
+}
+
+// A request to collect cluster diagnostic information.
+type DiagnoseClusterRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the cluster
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The cluster name.
+	ClusterName string `protobuf:"bytes,2,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+}
+
+func (m *DiagnoseClusterRequest) Reset()                    { *m = DiagnoseClusterRequest{} }
+func (m *DiagnoseClusterRequest) String() string            { return proto.CompactTextString(m) }
+func (*DiagnoseClusterRequest) ProtoMessage()               {}
+func (*DiagnoseClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+
+// The location of diagnostic output.
+type DiagnoseClusterResults struct {
+	// [Output-only] The Google Cloud Storage URI of the diagnostic output.
+	// The output report is a plain text file with a summary of collected
+	// diagnostics.
+	OutputUri string `protobuf:"bytes,1,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"`
+}
+
+func (m *DiagnoseClusterResults) Reset()                    { *m = DiagnoseClusterResults{} }
+func (m *DiagnoseClusterResults) String() string            { return proto.CompactTextString(m) }
+func (*DiagnoseClusterResults) ProtoMessage()               {}
+func (*DiagnoseClusterResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+
+func init() {
+	proto.RegisterType((*Cluster)(nil), "google.cloud.dataproc.v1.Cluster")
+	proto.RegisterType((*ClusterConfig)(nil), "google.cloud.dataproc.v1.ClusterConfig")
+	proto.RegisterType((*GceClusterConfig)(nil), "google.cloud.dataproc.v1.GceClusterConfig")
+	proto.RegisterType((*InstanceGroupConfig)(nil), "google.cloud.dataproc.v1.InstanceGroupConfig")
+	proto.RegisterType((*ManagedGroupConfig)(nil), "google.cloud.dataproc.v1.ManagedGroupConfig")
+	proto.RegisterType((*DiskConfig)(nil), "google.cloud.dataproc.v1.DiskConfig")
+	proto.RegisterType((*NodeInitializationAction)(nil), "google.cloud.dataproc.v1.NodeInitializationAction")
+	proto.RegisterType((*ClusterStatus)(nil), "google.cloud.dataproc.v1.ClusterStatus")
+	proto.RegisterType((*SoftwareConfig)(nil), "google.cloud.dataproc.v1.SoftwareConfig")
+	proto.RegisterType((*CreateClusterRequest)(nil), "google.cloud.dataproc.v1.CreateClusterRequest")
+	proto.RegisterType((*UpdateClusterRequest)(nil), "google.cloud.dataproc.v1.UpdateClusterRequest")
+	proto.RegisterType((*DeleteClusterRequest)(nil), "google.cloud.dataproc.v1.DeleteClusterRequest")
+	proto.RegisterType((*GetClusterRequest)(nil), "google.cloud.dataproc.v1.GetClusterRequest")
+	proto.RegisterType((*ListClustersRequest)(nil), "google.cloud.dataproc.v1.ListClustersRequest")
+	proto.RegisterType((*ListClustersResponse)(nil), "google.cloud.dataproc.v1.ListClustersResponse")
+	proto.RegisterType((*DiagnoseClusterRequest)(nil), "google.cloud.dataproc.v1.DiagnoseClusterRequest")
+	proto.RegisterType((*DiagnoseClusterResults)(nil), "google.cloud.dataproc.v1.DiagnoseClusterResults")
+	proto.RegisterEnum("google.cloud.dataproc.v1.ClusterStatus_State", ClusterStatus_State_name, ClusterStatus_State_value)
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for ClusterController service
+
+type ClusterControllerClient interface {
+	// Creates a cluster in a project.
+	CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Updates a cluster in a project.
+	UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Deletes a cluster in a project.
+	DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Gets the resource representation for a cluster in a project.
+	GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error)
+	// Lists all regions/{region}/clusters in a project.
+	ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error)
+	// Gets cluster diagnostic information.
+	// After the operation completes, the Operation.response field
+	// contains `DiagnoseClusterOutputLocation`.
+	DiagnoseCluster(ctx context.Context, in *DiagnoseClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+}
+
+type clusterControllerClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewClusterControllerClient(cc *grpc.ClientConn) ClusterControllerClient {
+	return &clusterControllerClient{cc}
+}
+
+func (c *clusterControllerClient) CreateCluster(ctx context.Context, in *CreateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/CreateCluster", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterControllerClient) UpdateCluster(ctx context.Context, in *UpdateClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/UpdateCluster", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterControllerClient) DeleteCluster(ctx context.Context, in *DeleteClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/DeleteCluster", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterControllerClient) GetCluster(ctx context.Context, in *GetClusterRequest, opts ...grpc.CallOption) (*Cluster, error) {
+	out := new(Cluster)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/GetCluster", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterControllerClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) {
+	out := new(ListClustersResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/ListClusters", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *clusterControllerClient) DiagnoseCluster(ctx context.Context, in *DiagnoseClusterRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.ClusterController/DiagnoseCluster", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for ClusterController service
+
+type ClusterControllerServer interface {
+	// Creates a cluster in a project.
+	CreateCluster(context.Context, *CreateClusterRequest) (*google_longrunning.Operation, error)
+	// Updates a cluster in a project.
+	UpdateCluster(context.Context, *UpdateClusterRequest) (*google_longrunning.Operation, error)
+	// Deletes a cluster in a project.
+	DeleteCluster(context.Context, *DeleteClusterRequest) (*google_longrunning.Operation, error)
+	// Gets the resource representation for a cluster in a project.
+	GetCluster(context.Context, *GetClusterRequest) (*Cluster, error)
+	// Lists all regions/{region}/clusters in a project.
+	ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error)
+	// Gets cluster diagnostic information.
+	// After the operation completes, the Operation.response field
+	// contains `DiagnoseClusterOutputLocation`.
+	DiagnoseCluster(context.Context, *DiagnoseClusterRequest) (*google_longrunning.Operation, error)
+}
+
+func RegisterClusterControllerServer(s *grpc.Server, srv ClusterControllerServer) {
+	s.RegisterService(&_ClusterController_serviceDesc, srv)
+}
+
+func _ClusterController_CreateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).CreateCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/CreateCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).CreateCluster(ctx, req.(*CreateClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterController_UpdateCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).UpdateCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/UpdateCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).UpdateCluster(ctx, req.(*UpdateClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterController_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).DeleteCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/DeleteCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).DeleteCluster(ctx, req.(*DeleteClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterController_GetCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).GetCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/GetCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).GetCluster(ctx, req.(*GetClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterController_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListClustersRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).ListClusters(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/ListClusters",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).ListClusters(ctx, req.(*ListClustersRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ClusterController_DiagnoseCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DiagnoseClusterRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ClusterControllerServer).DiagnoseCluster(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.ClusterController/DiagnoseCluster",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ClusterControllerServer).DiagnoseCluster(ctx, req.(*DiagnoseClusterRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ClusterController_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.dataproc.v1.ClusterController",
+	HandlerType: (*ClusterControllerServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateCluster",
+			Handler:    _ClusterController_CreateCluster_Handler,
+		},
+		{
+			MethodName: "UpdateCluster",
+			Handler:    _ClusterController_UpdateCluster_Handler,
+		},
+		{
+			MethodName: "DeleteCluster",
+			Handler:    _ClusterController_DeleteCluster_Handler,
+		},
+		{
+			MethodName: "GetCluster",
+			Handler:    _ClusterController_GetCluster_Handler,
+		},
+		{
+			MethodName: "ListClusters",
+			Handler:    _ClusterController_ListClusters_Handler,
+		},
+		{
+			MethodName: "DiagnoseCluster",
+			Handler:    _ClusterController_DiagnoseCluster_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor0,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 1677 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x57, 0x1b, 0xd7,
+	0x15, 0xaf, 0x24, 0x04, 0xe2, 0x0a, 0x09, 0xf1, 0x8c, 0xa9, 0x2c, 0xd7, 0xa7, 0xf6, 0xd4, 0xad,
+	0xa9, 0xdb, 0x4a, 0x35, 0x76, 0x4f, 0x5d, 0x73, 0xdc, 0x1e, 0x83, 0x00, 0x53, 0x1b, 0x41, 0x07,
+	0xb0, 0xbb, 0x69, 0xe7, 0x8c, 0x46, 0x8f, 0xf1, 0x84, 0xd1, 0xcc, 0x64, 0xde, 0x1b, 0x6c, 0xec,
+	0xc3, 0x26, 0xab, 0xc4, 0x59, 0xe6, 0x2b, 0x64, 0x91, 0x93, 0x65, 0xb2, 0xcb, 0x2a, 0x9f, 0x20,
+	0x9b, 0x2c, 0xb3, 0xcd, 0x2a, 0x1f, 0x20, 0xab, 0x2c, 0xf2, 0xfe, 0x8d, 0xa4, 0x01, 0xfd, 0x01,
+	0xc2, 0xf1, 0x46, 0xcc, 0xdc, 0x77, 0xef, 0xef, 0xfe, 0xde, 0x7d, 0xf7, 0xde, 0x77, 0x07, 0x58,
+	0xb5, 0x7d, 0xdf, 0x76, 0x71, 0xd5, 0xf6, 0x5d, 0xd3, 0xb3, 0xab, 0x7e, 0x68, 0xd7, 0x6c, 0xec,
+	0x05, 0xa1, 0x4f, 0xfd, 0x9a, 0x5c, 0x32, 0x03, 0x87, 0xd4, 0x2c, 0xd7, 0x8f, 0x5a, 0xb5, 0x96,
+	0x49, 0x4d, 0xb6, 0x64, 0xd5, 0x0e, 0xee, 0x30, 0x49, 0x44, 0x28, 0x0e, 0x49, 0x55, 0xe8, 0xa2,
+	0xb2, 0xc2, 0x11, 0x8a, 0xd5, 0x58, 0xb1, 0x7a, 0x70, 0xa7, 0xb2, 0x7e, 0x3a, 0x0f, 0xec, 0xa7,
+	0x46, 0x70, 0x78, 0xe0, 0x58, 0xd8, 0xf2, 0xbd, 0x3d, 0xc7, 0xae, 0x99, 0x9e, 0xe7, 0x53, 0x93,
+	0x3a, 0xbe, 0xa7, 0x9c, 0x54, 0x1e, 0x9f, 0x97, 0xac, 0x1f, 0xe0, 0x30, 0x81, 0xb4, 0x74, 0x3a,
+	0x24, 0xd7, 0xf7, 0xec, 0x30, 0xf2, 0x3c, 0xc7, 0xb3, 0x4f, 0x62, 0xfc, 0xc3, 0x76, 0xe8, 0x8b,
+	0xa8, 0x59, 0xb5, 0xfc, 0x76, 0x4d, 0xe2, 0xd4, 0xc4, 0x42, 0x33, 0xda, 0xab, 0x05, 0xf4, 0x30,
+	0xc0, 0xa4, 0xd6, 0x8a, 0xa4, 0x49, 0xe7, 0x41, 0x99, 0xde, 0x1b, 0xe2, 0xbe, 0x83, 0xb1, 0xe7,
+	0x60, 0xb7, 0x65, 0xb4, 0x4d, 0xb2, 0xaf, 0xac, 0x16, 0x47, 0x3b, 0xa4, 0x4e, 0x1b, 0x13, 0x6a,
+	0xb6, 0x83, 0xee, 0x93, 0x34, 0xd6, 0xbe, 0x4e, 0xc3, 0xc4, 0xb2, 0x3c, 0x33, 0x74, 0x0d, 0x80,
+	0x09, 0xdf, 0xc3, 0x16, 0x35, 0x9c, 0x56, 0x39, 0x75, 0x3d, 0x35, 0x3f, 0xa9, 0x4f, 0x2a, 0xc9,
+	0x7a, 0x0b, 0xdd, 0x80, 0x29, 0x75, 0xba, 0x86, 0x67, 0xb6, 0x71, 0x39, 0x2d, 0x14, 0xf2, 0x4a,
+	0xd6, 0x60, 0x22, 0xf4, 0x2f, 0x18, 0x97, 0xa7, 0x54, 0xce, 0xb0, 0xc5, 0xfc, 0xc2, 0xad, 0xea,
+	0xa0, 0xf3, 0xaf, 0x2a, 0xa7, 0xcb, 0x42, 0x5d, 0x57, 0x66, 0x1c, 0x80, 0xb1, 0xa3, 0x11, 0x29,
+	0x8f, 0x9d, 0x12, 0x60, 0x5b, 0xa8, 0xeb, 0xca, 0x0c, 0x35, 0xa0, 0x28, 0x9f, 0x8c, 0x17, 0x0e,
+	0xa1, 0x7e, 0x78, 0x58, 0x9e, 0xb8, 0x9e, 0x39, 0x0b, 0x50, 0x41, 0x9a, 0x3f, 0x96, 0xd6, 0xbd,
+	0x9b, 0x8e, 0x22, 0x16, 0x95, 0xf1, 0xc4, 0xa6, 0x77, 0x99, 0x48, 0xfb, 0x6e, 0x0c, 0x0a, 0x89,
+	0xdd, 0xa0, 0xdf, 0x41, 0x41, 0xee, 0xc7, 0x68, 0x46, 0xd6, 0x3e, 0xa6, 0x2a, 0x96, 0x53, 0x52,
+	0xb8, 0x24, 0x64, 0xe8, 0xbf, 0x80, 0x6c, 0x0b, 0x1b, 0x31, 0xba, 0x8a, 0x5b, 0x4e, 0x6c, 0xfb,
+	0xf6, 0x60, 0xb6, 0x6b, 0x16, 0x4e, 0x86, 0xae, 0x64, 0x1f, 0x93, 0x20, 0x1d, 0x0a, 0x2c, 0x3d,
+	0x7a, 0x40, 0x27, 0x05, 0xe8, 0x5f, 0x06, 0x83, 0xae, 0x7b, 0x6c, 0xd7, 0x9e, 0x85, 0xd7, 0x42,
+	0x3f, 0x0a, 0x14, 0xee, 0x94, 0xc4, 0xe8, 0x62, 0xbe, 0xf4, 0xc3, 0xfd, 0x2e, 0x26, 0x9c, 0x0b,
+	0x53, 0x62, 0x28, 0x4c, 0x0c, 0xbf, 0x26, 0xbc, 0xaa, 0x5b, 0x66, 0x78, 0x68, 0x24, 0xd1, 0xa7,
+	0xce, 0x83, 0x7e, 0xb9, 0x83, 0xf6, 0xbc, 0xd7, 0xcd, 0x7f, 0x60, 0x9a, 0xf8, 0x7b, 0xf4, 0xa5,
+	0x19, 0xe2, 0x18, 0xbe, 0x20, 0xe0, 0xe7, 0x07, 0xc3, 0x6f, 0x2b, 0x03, 0x85, 0x5c, 0x24, 0x89,
+	0x77, 0xe4, 0xc0, 0x9c, 0xe3, 0x39, 0xd4, 0x31, 0x5d, 0xe7, 0xb5, 0x28, 0x60, 0xc3, 0xb4, 0x44,
+	0x0f, 0x28, 0xe7, 0x45, 0xb6, 0x2d, 0x0c, 0x46, 0x6e, 0xf8, 0x2d, 0xbc, 0x9e, 0xb0, 0x7d, 0x24,
+	0x4c, 0xf5, 0xcb, 0x4e, 0x1f, 0x29, 0xd1, 0x7e, 0x4a, 0x43, 0xe9, 0xf8, 0x99, 0xa3, 0x2b, 0x90,
+	0x7b, 0xed, 0x7b, 0xd8, 0x88, 0x42, 0x47, 0xe5, 0xd6, 0x04, 0x7f, 0xdf, 0x0d, 0x1d, 0xf4, 0x5b,
+	0xc8, 0x7b, 0x98, 0xf2, 0x68, 0x8a, 0x55, 0x59, 0xa4, 0xa0, 0x44, 0x5c, 0xe1, 0xf7, 0xac, 0x42,
+	0xa2, 0x66, 0xaf, 0x8e, 0xcc, 0xe9, 0x42, 0x57, 0xca, 0xd5, 0xe6, 0xa1, 0xe4, 0x78, 0xcc, 0xa3,
+	0x67, 0xba, 0x86, 0x13, 0x18, 0xbe, 0xe7, 0xf2, 0x52, 0x4a, 0xcd, 0xe7, 0xf4, 0x62, 0x2c, 0x5f,
+	0x0f, 0x36, 0x99, 0x14, 0xdd, 0x83, 0x39, 0xd5, 0xa1, 0x59, 0x14, 0x2c, 0x3f, 0xf2, 0xa8, 0x41,
+	0x2c, 0xd6, 0x16, 0x09, 0x6b, 0x02, 0x19, 0x06, 0x3c, 0xab, 0x56, 0x1f, 0xc9, 0xc5, 0x6d, 0xb1,
+	0x86, 0x10, 0x8c, 0x51, 0xd3, 0xe6, 0x75, 0xce, 0x75, 0xc4, 0x33, 0xda, 0x81, 0x5c, 0x1b, 0x53,
+	0x93, 0x87, 0xab, 0x9c, 0x15, 0x81, 0xbc, 0x7f, 0xfa, 0x42, 0xa8, 0x6e, 0x28, 0xd3, 0x15, 0x8f,
+	0x86, 0x87, 0x7a, 0x07, 0xa9, 0xb2, 0x08, 0x85, 0xc4, 0x12, 0x2a, 0x41, 0x66, 0x1f, 0x1f, 0xaa,
+	0xc0, 0xf1, 0x47, 0x34, 0x0b, 0xd9, 0x03, 0xd3, 0x8d, 0xe2, 0x9e, 0x26, 0x5f, 0x1e, 0xa4, 0xef,
+	0xa7, 0xb4, 0x1f, 0xd3, 0x70, 0xa9, 0x4f, 0xae, 0xf1, 0x12, 0xf7, 0xa2, 0xb6, 0xe1, 0xa8, 0x25,
+	0x22, 0xd0, 0xb2, 0xfa, 0x14, 0x13, 0xc6, 0xea, 0x84, 0x87, 0x3a, 0x56, 0x10, 0x2d, 0x93, 0x30,
+	0x7c, 0xbe, 0xdb, 0x42, 0x2c, 0xe5, 0x4d, 0x93, 0xa0, 0xab, 0x30, 0xe9, 0xb4, 0x4d, 0x5b, 0x1e,
+	0x67, 0x46, 0x30, 0xc8, 0x09, 0x81, 0x3a, 0x87, 0xb6, 0x69, 0xbd, 0x70, 0xd8, 0x69, 0xf3, 0x5e,
+	0x2e, 0x74, 0xc6, 0x84, 0x4e, 0x51, 0xc9, 0x77, 0x98, 0x98, 0x6b, 0xae, 0x40, 0xbe, 0xe5, 0x90,
+	0xfd, 0x38, 0xc7, 0xb3, 0x22, 0xc7, 0x6f, 0x0e, 0x0e, 0x60, 0x9d, 0x29, 0xab, 0xfc, 0x86, 0x56,
+	0xe7, 0x59, 0x90, 0x26, 0x46, 0x10, 0x62, 0xdc, 0x0e, 0xa8, 0xd3, 0x74, 0xb1, 0xc8, 0x8f, 0x1c,
+	0x23, 0x4d, 0xb6, 0xba, 0x42, 0xf4, 0x7f, 0x98, 0x6d, 0x9b, 0x1e, 0x23, 0xd9, 0x32, 0x6c, 0x1e,
+	0x97, 0xd8, 0xed, 0x84, 0x70, 0xfb, 0xe7, 0xc1, 0x6e, 0x37, 0xa4, 0x55, 0x6f, 0xe1, 0xa2, 0xf6,
+	0x09, 0x99, 0xf6, 0x51, 0x0a, 0xd0, 0x49, 0x55, 0x9e, 0x6c, 0x9d, 0x90, 0x52, 0x46, 0xc6, 0x35,
+	0xa9, 0x8c, 0xad, 0x3a, 0xce, 0xd9, 0x78, 0x75, 0x47, 0x2d, 0x8a, 0x7b, 0xe9, 0x21, 0x5c, 0xed,
+	0x58, 0x49, 0xb6, 0xd2, 0x63, 0xe2, 0x26, 0x2b, 0x3b, 0xbd, 0xe7, 0x2c, 0x7d, 0x8b, 0x6b, 0x4d,
+	0xfb, 0x1f, 0x40, 0x37, 0x58, 0xe8, 0x8f, 0x30, 0xd3, 0xf4, 0x7d, 0x6a, 0x88, 0x60, 0x13, 0xe7,
+	0x35, 0x83, 0x6c, 0xaa, 0xe3, 0x2f, 0xf2, 0x05, 0xae, 0xba, 0xcd, 0xc4, 0x6b, 0x4d, 0x74, 0x13,
+	0x8a, 0x3c, 0x4b, 0x5c, 0xdf, 0x62, 0x55, 0x44, 0x48, 0x8b, 0x08, 0x57, 0x32, 0x4d, 0x9e, 0x72,
+	0xe1, 0x36, 0x93, 0x69, 0x1f, 0xa7, 0xa0, 0x3c, 0xa8, 0x2d, 0xa0, 0x5b, 0x30, 0x8d, 0x5f, 0x61,
+	0x2b, 0xa2, 0x26, 0x8b, 0xba, 0xb1, 0xe7, 0xb8, 0xf1, 0x4e, 0x8b, 0x5d, 0xf1, 0x2a, 0x93, 0xa2,
+	0x55, 0x98, 0x91, 0x12, 0xde, 0x8e, 0xf8, 0x35, 0xef, 0x47, 0x54, 0xb8, 0xcb, 0x2f, 0x5c, 0x89,
+	0x4f, 0x23, 0x9e, 0x0b, 0xaa, 0x75, 0x35, 0x78, 0xe8, 0xa5, 0x8e, 0xcd, 0x8e, 0x34, 0xd1, 0xde,
+	0xa6, 0x3b, 0xd7, 0x99, 0xbc, 0x12, 0xd1, 0x32, 0x64, 0xf9, 0xa5, 0x28, 0x1d, 0x17, 0x87, 0x75,
+	0xe5, 0x84, 0x5d, 0x95, 0xff, 0xc1, 0xba, 0xb4, 0x45, 0x73, 0x30, 0xde, 0x62, 0x55, 0xe8, 0xb8,
+	0x2a, 0xda, 0xea, 0x0d, 0xd5, 0xa1, 0x24, 0x14, 0x0c, 0xf6, 0x1b, 0x52, 0x41, 0x5c, 0x0d, 0x0f,
+	0x95, 0x13, 0xac, 0x77, 0xe2, 0xe1, 0x45, 0x17, 0x97, 0x3c, 0xde, 0xe6, 0x26, 0x5c, 0xa8, 0x3d,
+	0x83, 0xac, 0xf0, 0x86, 0xf2, 0x30, 0xb1, 0xdb, 0x78, 0xd2, 0xd8, 0x7c, 0xde, 0x28, 0xfd, 0x0a,
+	0x4d, 0x41, 0x6e, 0x59, 0x5f, 0x79, 0xb4, 0xb3, 0xde, 0x58, 0x2b, 0xa5, 0xf8, 0x92, 0xbe, 0xdb,
+	0x68, 0xf0, 0x97, 0x34, 0x9a, 0x84, 0xec, 0x8a, 0xae, 0x6f, 0xea, 0xa5, 0x0c, 0xd7, 0xaa, 0xaf,
+	0x3c, 0x5d, 0x11, 0x5a, 0x63, 0xfc, 0x6d, 0x77, 0xab, 0x2e, 0x6d, 0xb2, 0xda, 0x37, 0x29, 0x28,
+	0x26, 0xef, 0x02, 0x5e, 0xf9, 0xb2, 0x5a, 0x0f, 0xd8, 0x98, 0xcb, 0xe2, 0x16, 0x5f, 0xee, 0x42,
+	0xf8, 0x4c, 0xca, 0xd8, 0xe5, 0xce, 0x47, 0x29, 0x36, 0x1a, 0x52, 0x47, 0x55, 0xfd, 0xd0, 0x5e,
+	0x96, 0x74, 0x51, 0xdd, 0xea, 0x98, 0xca, 0x5e, 0xd6, 0x83, 0x55, 0x79, 0x08, 0xd3, 0xc7, 0x96,
+	0xcf, 0xd4, 0xcf, 0xde, 0xa6, 0x60, 0x76, 0x39, 0xc4, 0x2c, 0x54, 0xea, 0xac, 0x74, 0xfc, 0x7e,
+	0xc4, 0x82, 0x3a, 0x6a, 0xf8, 0x63, 0xc7, 0x17, 0x62, 0x9b, 0x6f, 0x57, 0x36, 0x28, 0xf5, 0x86,
+	0x16, 0x61, 0x42, 0x4d, 0x30, 0x2a, 0xd7, 0x6e, 0x8c, 0xcc, 0x0e, 0x3d, 0xb6, 0xd0, 0x7e, 0x60,
+	0x64, 0x76, 0x83, 0xd6, 0x2f, 0x20, 0x93, 0x4d, 0x90, 0x39, 0xc5, 0x84, 0xda, 0xc3, 0x37, 0x73,
+	0x56, 0xbe, 0xcc, 0x38, 0x1f, 0x09, 0xba, 0x62, 0xfc, 0x56, 0x23, 0xea, 0xc9, 0x34, 0x5d, 0xe5,
+	0x13, 0xfa, 0x06, 0xd3, 0xd0, 0x41, 0xaa, 0xf3, 0x67, 0x2d, 0x80, 0xd9, 0x3a, 0x76, 0xf1, 0x45,
+	0x05, 0x7e, 0xf4, 0x5e, 0xb5, 0x36, 0xcc, 0xac, 0x61, 0xfa, 0xce, 0xdc, 0x7d, 0x98, 0x82, 0x4b,
+	0x4f, 0xd9, 0xd8, 0xac, 0x1c, 0x92, 0x33, 0x7b, 0x1c, 0x4b, 0x78, 0x64, 0xb7, 0x62, 0xc0, 0xcb,
+	0x8c, 0x77, 0x58, 0xd5, 0x36, 0x73, 0x5c, 0xc0, 0x5b, 0xab, 0xc0, 0xe4, 0x8b, 0xd4, 0xdf, 0xc7,
+	0x31, 0x55, 0xa1, 0xbe, 0xc3, 0x05, 0xda, 0x11, 0xcc, 0x26, 0x99, 0x90, 0x80, 0xcd, 0x52, 0xfc,
+	0x1e, 0xc8, 0xc5, 0x1f, 0xa8, 0x8c, 0x48, 0xe6, 0x74, 0xc7, 0xdf, 0x31, 0x41, 0x7f, 0x80, 0x69,
+	0x0f, 0xbf, 0xa2, 0x46, 0x8f, 0x6b, 0x19, 0x87, 0x02, 0x17, 0x6f, 0x75, 0xdc, 0x87, 0x30, 0x57,
+	0x77, 0x4c, 0xdb, 0xf3, 0xc9, 0xbb, 0x3b, 0xec, 0xbf, 0xf7, 0xf1, 0x49, 0x22, 0x97, 0x12, 0xee,
+	0x93, 0xf5, 0xf5, 0x20, 0xa2, 0x3d, 0xe3, 0xe2, 0xa4, 0x94, 0xb0, 0xb1, 0x61, 0xe1, 0x8b, 0x1c,
+	0xcc, 0x74, 0x07, 0x29, 0x1a, 0xfa, 0xae, 0xcb, 0x52, 0xfd, 0xd3, 0x14, 0xbb, 0x05, 0x7a, 0xfb,
+	0x04, 0xaa, 0x0e, 0x89, 0x54, 0x9f, 0x86, 0x52, 0xb9, 0x16, 0xeb, 0xf7, 0x7c, 0x2d, 0x57, 0x37,
+	0xe3, 0xaf, 0x65, 0xad, 0xfe, 0xc1, 0xb7, 0xdf, 0x7f, 0x92, 0xfe, 0xa7, 0x76, 0x97, 0x7f, 0x88,
+	0xab, 0x08, 0x90, 0xda, 0x9b, 0x6e, 0x74, 0x8e, 0x6a, 0x72, 0xf3, 0x4c, 0x28, 0x1f, 0x8e, 0x3a,
+	0xff, 0x5c, 0x78, 0xd0, 0xa9, 0xc8, 0x2f, 0x19, 0xcd, 0x44, 0x07, 0x19, 0x46, 0xb3, 0x5f, 0xab,
+	0x19, 0x45, 0x73, 0x5b, 0xd0, 0xdc, 0x58, 0x58, 0x3a, 0x07, 0xcd, 0xda, 0x9b, 0xde, 0x43, 0x3b,
+	0xea, 0xb2, 0xfe, 0x9c, 0xb1, 0x4e, 0xf4, 0x82, 0x61, 0xac, 0xfb, 0x35, 0x8d, 0x51, 0xac, 0xff,
+	0x2d, 0x58, 0xd7, 0x6f, 0x5f, 0x00, 0x6b, 0xf4, 0x59, 0x0a, 0xa0, 0xdb, 0x46, 0xd0, 0x9f, 0x86,
+	0x4c, 0xe4, 0xc7, 0x9b, 0x4d, 0x65, 0x74, 0x75, 0xc5, 0x54, 0xd1, 0x45, 0x50, 0x65, 0x71, 0x9d,
+	0xea, 0xad, 0x7b, 0x34, 0x64, 0x54, 0xe9, 0xd3, 0xa9, 0x2a, 0xd5, 0xd3, 0xaa, 0xcb, 0x76, 0xa2,
+	0x2d, 0x0a, 0xee, 0x7f, 0x43, 0xe7, 0xc9, 0x61, 0xf4, 0x55, 0x0a, 0xa6, 0x8f, 0x55, 0x2c, 0xfa,
+	0xeb, 0xb0, 0x69, 0xbd, 0x5f, 0x43, 0x19, 0x95, 0x08, 0xcf, 0x04, 0xc3, 0x2d, 0xed, 0xc9, 0x05,
+	0xa4, 0x6f, 0x4b, 0x31, 0x78, 0x90, 0x62, 0x79, 0x05, 0xbf, 0xb1, 0xfc, 0xf6, 0x40, 0xb6, 0x4b,
+	0xf1, 0x04, 0xc9, 0x3e, 0x19, 0xd8, 0xa5, 0xb8, 0x95, 0x6a, 0x8e, 0x8b, 0xdb, 0xf1, 0xee, 0xcf,
+	0x01, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x0b, 0x0f, 0xab, 0x59, 0x14, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/dataproc/v1/clusters.proto b/googleapis/cloud/dataproc/v1/clusters.proto
new file mode 100644
index 00000000..a17ca466
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/clusters.proto
@@ -0,0 +1,443 @@
+// Copyright 2016 Google Inc.
+//
+// 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.dataproc.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto"; // from google/cloud/dataproc/v1/operations.proto
+import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
+import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "ClustersProto";
+option java_package = "com.google.cloud.dataproc.v1";
+
+
+// The ClusterControllerService provides methods to manage clusters
+// of Google Compute Engine instances.
+service ClusterController {
+  // Creates a cluster in a project.
+  rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/clusters" body: "cluster" };
+  }
+
+  // Updates a cluster in a project.
+  rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { patch: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" body: "cluster" };
+  }
+
+  // Deletes a cluster in a project.
+  rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { delete: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" };
+  }
+
+  // Gets the resource representation for a cluster in a project.
+  rpc GetCluster(GetClusterRequest) returns (Cluster) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}" };
+  }
+
+  // Lists all regions/{region}/clusters in a project.
+  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/clusters" };
+  }
+
+  // Gets cluster diagnostic information.
+  // After the operation completes, the Operation.response field
+  // contains `DiagnoseClusterOutputLocation`.
+  rpc DiagnoseCluster(DiagnoseClusterRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/clusters/{cluster_name}:diagnose" body: "*" };
+  }
+}
+
+// Describes the identifying information, config, and status of
+// a cluster of Google Compute Engine instances.
+message Cluster {
+  // [Required] The Google Cloud Platform project ID that the cluster belongs to.
+  string project_id = 1;
+
+  // [Required] The cluster name. Cluster names within a project must be
+  // unique. Names of deleted clusters can be reused.
+  string cluster_name = 2;
+
+  // [Required] The cluster config. Note that Cloud Dataproc may set
+  // default values, and values may change when clusters are updated.
+  ClusterConfig config = 3;
+
+  // [Output-only] Cluster status.
+  ClusterStatus status = 4;
+
+  // [Output-only] The previous cluster status.
+  repeated ClusterStatus status_history = 7;
+
+  // [Output-only] A cluster UUID (Unique Universal Identifier). Cloud Dataproc
+  // generates this value when it creates the cluster.
+  string cluster_uuid = 6;
+}
+
+// The cluster config.
+message ClusterConfig {
+  // [Optional] A Google Cloud Storage staging bucket used for sharing generated
+  // SSH keys and config. If you do not specify a staging bucket, Cloud
+  // Dataproc will determine an appropriate Cloud Storage location (US,
+  // ASIA, or EU) for your cluster's staging bucket according to the Google
+  // Compute Engine zone where your cluster is deployed, and then it will create
+  // and manage this project-level, per-location bucket for you.
+  string config_bucket = 1;
+
+  // [Required] The shared Google Compute Engine config settings for
+  // all instances in a cluster.
+  GceClusterConfig gce_cluster_config = 8;
+
+  // [Optional] The Google Compute Engine config settings for
+  // the master instance in a cluster.
+  InstanceGroupConfig master_config = 9;
+
+  // [Optional] The Google Compute Engine config settings for
+  // worker instances in a cluster.
+  InstanceGroupConfig worker_config = 10;
+
+  // [Optional] The Google Compute Engine config settings for
+  // additional worker instances in a cluster.
+  InstanceGroupConfig secondary_worker_config = 12;
+
+  // [Optional] The config settings for software inside the cluster.
+  SoftwareConfig software_config = 13;
+
+  // [Optional] Commands to execute on each node after config is
+  // completed. By default, executables are run on master and all worker nodes.
+  // You can test a node's <code>role</code> metadata to run an executable on
+  // a master or worker node, as shown below using `curl` (you can also use `wget`):
+  //
+  //     ROLE=$(curl -H Metadata-Flavor:Google http://metadata/computeMetadata/v1/instance/attributes/dataproc-role)
+  //     if [[ "${ROLE}" == 'Master' ]]; then
+  //       ... master specific actions ...
+  //     else
+  //       ... worker specific actions ...
+  //     fi
+  repeated NodeInitializationAction initialization_actions = 11;
+}
+
+// Common config settings for resources of Google Compute Engine cluster
+// instances, applicable to all instances in the cluster.
+message GceClusterConfig {
+  // [Required] The zone where the Google Compute Engine cluster will be located.
+  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/[zone]`.
+  string zone_uri = 1;
+
+  // [Optional] The Google Compute Engine network to be used for machine
+  // communications. Cannot be specified with subnetwork_uri. If neither
+  // `network_uri` nor `subnetwork_uri` is specified, the "default" network of
+  // the project is used, if it exists. Cannot be a "Custom Subnet Network" (see
+  // [Using Subnetworks](/compute/docs/subnetworks) for more information).
+  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/global/default`.
+  string network_uri = 2;
+
+  // [Optional] The Google Compute Engine subnetwork to be used for machine
+  // communications. Cannot be specified with network_uri.
+  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/regions/us-east1/sub0`.
+  string subnetwork_uri = 6;
+
+  // [Optional] If true, all instances in the cluster will only have internal IP
+  // addresses. By default, clusters are not restricted to internal IP addresses,
+  // and will have ephemeral external IP addresses assigned to each instance.
+  // This `internal_ip_only` restriction can only be enabled for subnetwork
+  // enabled networks, and all off-cluster dependencies must be configured to be
+  // accessible without external IP addresses.
+  bool internal_ip_only = 7;
+
+  // [Optional] The URIs of service account scopes to be included in Google
+  // Compute Engine instances. The following base set of scopes is always
+  // included:
+  //
+  // * https://www.googleapis.com/auth/cloud.useraccounts.readonly
+  // * https://www.googleapis.com/auth/devstorage.read_write
+  // * https://www.googleapis.com/auth/logging.write
+  //
+  // If no scopes are specified, the following defaults are also provided:
+  //
+  // * https://www.googleapis.com/auth/bigquery
+  // * https://www.googleapis.com/auth/bigtable.admin.table
+  // * https://www.googleapis.com/auth/bigtable.data
+  // * https://www.googleapis.com/auth/devstorage.full_control
+  repeated string service_account_scopes = 3;
+
+  // The Google Compute Engine tags to add to all instances (see
+  // [Labeling instances](/compute/docs/label-or-tag-resources#labeling_instances)).
+  repeated string tags = 4;
+
+  // The Google Compute Engine metadata entries to add to all instances (see
+  // [Project and instance metadata](https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
+  map<string, string> metadata = 5;
+}
+
+// [Optional] The config settings for Google Compute Engine resources in
+// an instance group, such as a master or worker group.
+message InstanceGroupConfig {
+  // [Required] The number of VM instances in the instance group.
+  // For master instance groups, must be set to 1.
+  int32 num_instances = 1;
+
+  // [Optional] The list of instance names. Cloud Dataproc derives the names from
+  // `cluster_name`, `num_instances`, and the instance group if not set by user
+  // (recommended practice is to let Cloud Dataproc derive the name).
+  repeated string instance_names = 2;
+
+  // [Output-only] The Google Compute Engine image resource used for cluster
+  // instances. Inferred from `SoftwareConfig.image_version`.
+  string image_uri = 3;
+
+  // [Required] The Google Compute Engine machine type used for cluster instances.
+  // Example: `https://www.googleapis.com/compute/v1/projects/[project_id]/zones/us-east1-a/machineTypes/n1-standard-2`.
+  string machine_type_uri = 4;
+
+  // [Optional] Disk option config settings.
+  DiskConfig disk_config = 5;
+
+  // [Optional] Specifies that this instance group contains preemptible instances.
+  bool is_preemptible = 6;
+
+  // [Output-only] The config for Google Compute Engine Instance Group
+  // Manager that manages this group.
+  // This is only used for preemptible instance groups.
+  ManagedGroupConfig managed_group_config = 7;
+}
+
+// Specifies the resources used to actively manage an instance group.
+message ManagedGroupConfig {
+  // [Output-only] The name of the Instance Template used for the Managed
+  // Instance Group.
+  string instance_template_name = 1;
+
+  // [Output-only] The name of the Instance Group Manager for this group.
+  string instance_group_manager_name = 2;
+}
+
+// Specifies the config of disk options for a group of VM instances.
+message DiskConfig {
+  // [Optional] Size in GB of the boot disk (default is 500GB).
+  int32 boot_disk_size_gb = 1;
+
+  // [Optional] Number of attached SSDs, from 0 to 4 (default is 0).
+  // If SSDs are not attached, the boot disk is used to store runtime logs and
+  // [HDFS](https://hadoop.apache.org/docs/r1.2.1/hdfs_user_guide.html) data.
+  // If one or more SSDs are attached, this runtime bulk
+  // data is spread across them, and the boot disk contains only basic
+  // config and installed binaries.
+  int32 num_local_ssds = 2;
+}
+
+// Specifies an executable to run on a fully configured node and a
+// timeout period for executable completion.
+message NodeInitializationAction {
+  // [Required] Google Cloud Storage URI of executable file.
+  string executable_file = 1;
+
+  // [Optional] Amount of time executable has to complete. Default is
+  // 10 minutes. Cluster creation fails with an explanatory error message (the
+  // name of the executable that caused the error and the exceeded timeout
+  // period) if the executable is not completed at end of the timeout period.
+  google.protobuf.Duration execution_timeout = 2;
+}
+
+// The status of a cluster and its instances.
+message ClusterStatus {
+  // The cluster state.
+  enum State {
+    // The cluster state is unknown.
+    UNKNOWN = 0;
+
+    // The cluster is being created and set up. It is not ready for use.
+    CREATING = 1;
+
+    // The cluster is currently running and healthy. It is ready for use.
+    RUNNING = 2;
+
+    // The cluster encountered an error. It is not ready for use.
+    ERROR = 3;
+
+    // The cluster is being deleted. It cannot be used.
+    DELETING = 4;
+
+    // The cluster is being updated. It continues to accept and process jobs.
+    UPDATING = 5;
+  }
+
+  // [Output-only] The cluster's state.
+  State state = 1;
+
+  // [Output-only] Optional details of cluster's state.
+  string detail = 2;
+
+  // [Output-only] Time when this state was entered.
+  google.protobuf.Timestamp state_start_time = 3;
+}
+
+// Specifies the selection and config of software inside the cluster.
+message SoftwareConfig {
+  // [Optional] The version of software inside the cluster. It must match the
+  // regular expression `[0-9]+\.[0-9]+`. If unspecified, it defaults to the
+  // latest version (see [Cloud Dataproc Versioning](/dataproc/versioning)).
+  string image_version = 1;
+
+  // [Optional] The properties to set on daemon config files.
+  //
+  // Property keys are specified in `prefix:property` format, such as
+  // `core:fs.defaultFS`. The following are supported prefixes
+  // and their mappings:
+  //
+  // * core:   `core-site.xml`
+  // * hdfs:   `hdfs-site.xml`
+  // * mapred: `mapred-site.xml`
+  // * yarn:   `yarn-site.xml`
+  // * hive:   `hive-site.xml`
+  // * pig:    `pig.properties`
+  // * spark:  `spark-defaults.conf`
+  map<string, string> properties = 2;
+}
+
+// A request to create a cluster.
+message CreateClusterRequest {
+  // [Required] The ID of the Google Cloud Platform project that the cluster
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The cluster to create.
+  Cluster cluster = 2;
+}
+
+// A request to update a cluster.
+message UpdateClusterRequest {
+  // [Required] The ID of the Google Cloud Platform project the
+  // cluster belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 5;
+
+  // [Required] The cluster name.
+  string cluster_name = 2;
+
+  // [Required] The changes to the cluster.
+  Cluster cluster = 3;
+
+  // [Required] Specifies the path, relative to <code>Cluster</code>, of
+  // the field to update. For example, to change the number of workers
+  // in a cluster to 5, the <code>update_mask</code> parameter would be
+  // specified as <code>config.worker_config.num_instances</code>,
+  // and the `PATCH` request body would specify the new value, as follows:
+  //
+  //     {
+  //       "config":{
+  //         "workerConfig":{
+  //           "numInstances":"5"
+  //         }
+  //       }
+  //     }
+  // Similarly, to change the number of preemptible workers in a cluster to 5, the
+  // <code>update_mask</code> parameter would be <code>config.secondary_worker_config.num_instances</code>,
+  // and the `PATCH` request body would be set as follows:
+  //
+  //     {
+  //       "config":{
+  //         "secondaryWorkerConfig":{
+  //           "numInstances":"5"
+  //         }
+  //       }
+  //     }
+  // <strong>Note:</strong> Currently, <code>config.worker_config.num_instances</code>
+  // and <code>config.secondary_worker_config.num_instances</code> are the only
+  // fields that can be updated.
+  google.protobuf.FieldMask update_mask = 4;
+}
+
+// A request to delete a cluster.
+message DeleteClusterRequest {
+  // [Required] The ID of the Google Cloud Platform project that the cluster
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The cluster name.
+  string cluster_name = 2;
+}
+
+// Request to get the resource representation for a cluster in a project.
+message GetClusterRequest {
+  // [Required] The ID of the Google Cloud Platform project that the cluster
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The cluster name.
+  string cluster_name = 2;
+}
+
+// A request to list the clusters in a project.
+message ListClustersRequest {
+  // [Required] The ID of the Google Cloud Platform project that the cluster
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 4;
+
+  // [Optional] The standard List page size.
+  int32 page_size = 2;
+
+  // [Optional] The standard List page token.
+  string page_token = 3;
+}
+
+// The list of all clusters in a project.
+message ListClustersResponse {
+  // [Output-only] The clusters in the project.
+  repeated Cluster clusters = 1;
+
+  // [Output-only] This token is included in the response if there are more
+  // results to fetch. To fetch additional results, provide this value as the
+  // `page_token` in a subsequent <code>ListClustersRequest</code>.
+  string next_page_token = 2;
+}
+
+// A request to collect cluster diagnostic information.
+message DiagnoseClusterRequest {
+  // [Required] The ID of the Google Cloud Platform project that the cluster
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The cluster name.
+  string cluster_name = 2;
+}
+
+// The location of diagnostic output.
+message DiagnoseClusterResults {
+  // [Output-only] The Google Cloud Storage URI of the diagnostic output.
+  // The output report is a plain text file with a summary of collected
+  // diagnostics.
+  string output_uri = 1;
+}
diff --git a/googleapis/cloud/dataproc/v1/jobs.pb.go b/googleapis/cloud/dataproc/v1/jobs.pb.go
new file mode 100644
index 00000000..f9584bed
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/jobs.pb.go
@@ -0,0 +1,1877 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto
+// DO NOT EDIT!
+
+package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// The Log4j level for job execution. When running an
+// [Apache Hive](http://hive.apache.org/) job, Cloud
+// Dataproc configures the Hive client to an equivalent verbosity level.
+type LoggingConfig_Level int32
+
+const (
+	// Level is unspecified. Use default level for log4j.
+	LoggingConfig_LEVEL_UNSPECIFIED LoggingConfig_Level = 0
+	// Use ALL level for log4j.
+	LoggingConfig_ALL LoggingConfig_Level = 1
+	// Use TRACE level for log4j.
+	LoggingConfig_TRACE LoggingConfig_Level = 2
+	// Use DEBUG level for log4j.
+	LoggingConfig_DEBUG LoggingConfig_Level = 3
+	// Use INFO level for log4j.
+	LoggingConfig_INFO LoggingConfig_Level = 4
+	// Use WARN level for log4j.
+	LoggingConfig_WARN LoggingConfig_Level = 5
+	// Use ERROR level for log4j.
+	LoggingConfig_ERROR LoggingConfig_Level = 6
+	// Use FATAL level for log4j.
+	LoggingConfig_FATAL LoggingConfig_Level = 7
+	// Turn off log4j.
+	LoggingConfig_OFF LoggingConfig_Level = 8
+)
+
+var LoggingConfig_Level_name = map[int32]string{
+	0: "LEVEL_UNSPECIFIED",
+	1: "ALL",
+	2: "TRACE",
+	3: "DEBUG",
+	4: "INFO",
+	5: "WARN",
+	6: "ERROR",
+	7: "FATAL",
+	8: "OFF",
+}
+var LoggingConfig_Level_value = map[string]int32{
+	"LEVEL_UNSPECIFIED": 0,
+	"ALL":               1,
+	"TRACE":             2,
+	"DEBUG":             3,
+	"INFO":              4,
+	"WARN":              5,
+	"ERROR":             6,
+	"FATAL":             7,
+	"OFF":               8,
+}
+
+func (x LoggingConfig_Level) String() string {
+	return proto.EnumName(LoggingConfig_Level_name, int32(x))
+}
+func (LoggingConfig_Level) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
+
+// The job state.
+type JobStatus_State int32
+
+const (
+	// The job state is unknown.
+	JobStatus_STATE_UNSPECIFIED JobStatus_State = 0
+	// The job is pending; it has been submitted, but is not yet running.
+	JobStatus_PENDING JobStatus_State = 1
+	// Job has been received by the service and completed initial setup;
+	// it will soon be submitted to the cluster.
+	JobStatus_SETUP_DONE JobStatus_State = 8
+	// The job is running on the cluster.
+	JobStatus_RUNNING JobStatus_State = 2
+	// A CancelJob request has been received, but is pending.
+	JobStatus_CANCEL_PENDING JobStatus_State = 3
+	// Transient in-flight resources have been canceled, and the request to
+	// cancel the running job has been issued to the cluster.
+	JobStatus_CANCEL_STARTED JobStatus_State = 7
+	// The job cancellation was successful.
+	JobStatus_CANCELLED JobStatus_State = 4
+	// The job has completed successfully.
+	JobStatus_DONE JobStatus_State = 5
+	// The job has completed, but encountered an error.
+	JobStatus_ERROR JobStatus_State = 6
+)
+
+var JobStatus_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "PENDING",
+	8: "SETUP_DONE",
+	2: "RUNNING",
+	3: "CANCEL_PENDING",
+	7: "CANCEL_STARTED",
+	4: "CANCELLED",
+	5: "DONE",
+	6: "ERROR",
+}
+var JobStatus_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"PENDING":           1,
+	"SETUP_DONE":        8,
+	"RUNNING":           2,
+	"CANCEL_PENDING":    3,
+	"CANCEL_STARTED":    7,
+	"CANCELLED":         4,
+	"DONE":              5,
+	"ERROR":             6,
+}
+
+func (x JobStatus_State) String() string {
+	return proto.EnumName(JobStatus_State_name, int32(x))
+}
+func (JobStatus_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{9, 0} }
+
+// A matcher that specifies categories of job states.
+type ListJobsRequest_JobStateMatcher int32
+
+const (
+	// Match all jobs, regardless of state.
+	ListJobsRequest_ALL ListJobsRequest_JobStateMatcher = 0
+	// Only match jobs in non-terminal states: PENDING, RUNNING, or
+	// CANCEL_PENDING.
+	ListJobsRequest_ACTIVE ListJobsRequest_JobStateMatcher = 1
+	// Only match jobs in terminal states: CANCELLED, DONE, or ERROR.
+	ListJobsRequest_NON_ACTIVE ListJobsRequest_JobStateMatcher = 2
+)
+
+var ListJobsRequest_JobStateMatcher_name = map[int32]string{
+	0: "ALL",
+	1: "ACTIVE",
+	2: "NON_ACTIVE",
+}
+var ListJobsRequest_JobStateMatcher_value = map[string]int32{
+	"ALL":        0,
+	"ACTIVE":     1,
+	"NON_ACTIVE": 2,
+}
+
+func (x ListJobsRequest_JobStateMatcher) String() string {
+	return proto.EnumName(ListJobsRequest_JobStateMatcher_name, int32(x))
+}
+func (ListJobsRequest_JobStateMatcher) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor1, []int{14, 0}
+}
+
+// The runtime logging config of the job.
+type LoggingConfig struct {
+	// The per-package log levels for the driver. This may include
+	// "root" package name to configure rootLogger.
+	// Examples:
+	//   'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'
+	DriverLogLevels map[string]LoggingConfig_Level `protobuf:"bytes,2,rep,name=driver_log_levels,json=driverLogLevels" json:"driver_log_levels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.cloud.dataproc.v1.LoggingConfig_Level"`
+}
+
+func (m *LoggingConfig) Reset()                    { *m = LoggingConfig{} }
+func (m *LoggingConfig) String() string            { return proto.CompactTextString(m) }
+func (*LoggingConfig) ProtoMessage()               {}
+func (*LoggingConfig) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+func (m *LoggingConfig) GetDriverLogLevels() map[string]LoggingConfig_Level {
+	if m != nil {
+		return m.DriverLogLevels
+	}
+	return nil
+}
+
+// A Cloud Dataproc job for running
+// [Apache Hadoop MapReduce](https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
+// jobs on [Apache Hadoop YARN](https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
+type HadoopJob struct {
+	// [Required] Indicates the location of the driver's main class. Specify
+	// either the jar file that contains the main class or the main class name.
+	// To specify both, add the jar file to `jar_file_uris`, and then specify
+	// the main class name in this property.
+	//
+	// Types that are valid to be assigned to Driver:
+	//	*HadoopJob_MainJarFileUri
+	//	*HadoopJob_MainClass
+	Driver isHadoopJob_Driver `protobuf_oneof:"driver"`
+	// [Optional] The arguments to pass to the driver. Do not
+	// include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job
+	// properties, since a collision may occur that causes an incorrect job
+	// submission.
+	Args []string `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
+	// [Optional] Jar file URIs to add to the CLASSPATHs of the
+	// Hadoop driver and tasks.
+	JarFileUris []string `protobuf:"bytes,4,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+	// [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied
+	// to the working directory of Hadoop drivers and distributed tasks. Useful
+	// for naively parallel tasks.
+	FileUris []string `protobuf:"bytes,5,rep,name=file_uris,json=fileUris" json:"file_uris,omitempty"`
+	// [Optional] HCFS URIs of archives to be extracted in the working directory of
+	// Hadoop drivers and tasks. Supported file types:
+	// .jar, .tar, .tar.gz, .tgz, or .zip.
+	ArchiveUris []string `protobuf:"bytes,6,rep,name=archive_uris,json=archiveUris" json:"archive_uris,omitempty"`
+	// [Optional] A mapping of property names to values, used to configure Hadoop.
+	// Properties that conflict with values set by the Cloud Dataproc API may be
+	// overwritten. Can include properties set in /etc/hadoop/conf/*-site and
+	// classes in user code.
+	Properties map[string]string `protobuf:"bytes,7,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] The runtime log config for job execution.
+	LoggingConfig *LoggingConfig `protobuf:"bytes,8,opt,name=logging_config,json=loggingConfig" json:"logging_config,omitempty"`
+}
+
+func (m *HadoopJob) Reset()                    { *m = HadoopJob{} }
+func (m *HadoopJob) String() string            { return proto.CompactTextString(m) }
+func (*HadoopJob) ProtoMessage()               {}
+func (*HadoopJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+type isHadoopJob_Driver interface {
+	isHadoopJob_Driver()
+}
+
+type HadoopJob_MainJarFileUri struct {
+	MainJarFileUri string `protobuf:"bytes,1,opt,name=main_jar_file_uri,json=mainJarFileUri,oneof"`
+}
+type HadoopJob_MainClass struct {
+	MainClass string `protobuf:"bytes,2,opt,name=main_class,json=mainClass,oneof"`
+}
+
+func (*HadoopJob_MainJarFileUri) isHadoopJob_Driver() {}
+func (*HadoopJob_MainClass) isHadoopJob_Driver()      {}
+
+func (m *HadoopJob) GetDriver() isHadoopJob_Driver {
+	if m != nil {
+		return m.Driver
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetMainJarFileUri() string {
+	if x, ok := m.GetDriver().(*HadoopJob_MainJarFileUri); ok {
+		return x.MainJarFileUri
+	}
+	return ""
+}
+
+func (m *HadoopJob) GetMainClass() string {
+	if x, ok := m.GetDriver().(*HadoopJob_MainClass); ok {
+		return x.MainClass
+	}
+	return ""
+}
+
+func (m *HadoopJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetLoggingConfig() *LoggingConfig {
+	if m != nil {
+		return m.LoggingConfig
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*HadoopJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _HadoopJob_OneofMarshaler, _HadoopJob_OneofUnmarshaler, _HadoopJob_OneofSizer, []interface{}{
+		(*HadoopJob_MainJarFileUri)(nil),
+		(*HadoopJob_MainClass)(nil),
+	}
+}
+
+func _HadoopJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*HadoopJob)
+	// driver
+	switch x := m.Driver.(type) {
+	case *HadoopJob_MainJarFileUri:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.MainJarFileUri)
+	case *HadoopJob_MainClass:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.MainClass)
+	case nil:
+	default:
+		return fmt.Errorf("HadoopJob.Driver has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _HadoopJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*HadoopJob)
+	switch tag {
+	case 1: // driver.main_jar_file_uri
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Driver = &HadoopJob_MainJarFileUri{x}
+		return true, err
+	case 2: // driver.main_class
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Driver = &HadoopJob_MainClass{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _HadoopJob_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*HadoopJob)
+	// driver
+	switch x := m.Driver.(type) {
+	case *HadoopJob_MainJarFileUri:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.MainJarFileUri)))
+		n += len(x.MainJarFileUri)
+	case *HadoopJob_MainClass:
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.MainClass)))
+		n += len(x.MainClass)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// A Cloud Dataproc job for running [Apache Spark](http://spark.apache.org/)
+// applications on YARN.
+type SparkJob struct {
+	// [Required] The specification of the main method to call to drive the job.
+	// Specify either the jar file that contains the main class or the main class
+	// name. To pass both a main jar and a main class in that jar, add the jar to
+	// `CommonJob.jar_file_uris`, and then specify the main class name in `main_class`.
+	//
+	// Types that are valid to be assigned to Driver:
+	//	*SparkJob_MainJarFileUri
+	//	*SparkJob_MainClass
+	Driver isSparkJob_Driver `protobuf_oneof:"driver"`
+	// [Optional] The arguments to pass to the driver. Do not include arguments,
+	// such as `--conf`, that can be set as job properties, since a collision may
+	// occur that causes an incorrect job submission.
+	Args []string `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
+	// [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
+	// Spark driver and tasks.
+	JarFileUris []string `protobuf:"bytes,4,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+	// [Optional] HCFS URIs of files to be copied to the working directory of
+	// Spark drivers and distributed tasks. Useful for naively parallel tasks.
+	FileUris []string `protobuf:"bytes,5,rep,name=file_uris,json=fileUris" json:"file_uris,omitempty"`
+	// [Optional] HCFS URIs of archives to be extracted in the working directory
+	// of Spark drivers and tasks. Supported file types:
+	// .jar, .tar, .tar.gz, .tgz, and .zip.
+	ArchiveUris []string `protobuf:"bytes,6,rep,name=archive_uris,json=archiveUris" json:"archive_uris,omitempty"`
+	// [Optional] A mapping of property names to values, used to configure Spark.
+	// Properties that conflict with values set by the Cloud Dataproc API may be
+	// overwritten. Can include properties set in
+	// /etc/spark/conf/spark-defaults.conf and classes in user code.
+	Properties map[string]string `protobuf:"bytes,7,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] The runtime log config for job execution.
+	LoggingConfig *LoggingConfig `protobuf:"bytes,8,opt,name=logging_config,json=loggingConfig" json:"logging_config,omitempty"`
+}
+
+func (m *SparkJob) Reset()                    { *m = SparkJob{} }
+func (m *SparkJob) String() string            { return proto.CompactTextString(m) }
+func (*SparkJob) ProtoMessage()               {}
+func (*SparkJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+type isSparkJob_Driver interface {
+	isSparkJob_Driver()
+}
+
+type SparkJob_MainJarFileUri struct {
+	MainJarFileUri string `protobuf:"bytes,1,opt,name=main_jar_file_uri,json=mainJarFileUri,oneof"`
+}
+type SparkJob_MainClass struct {
+	MainClass string `protobuf:"bytes,2,opt,name=main_class,json=mainClass,oneof"`
+}
+
+func (*SparkJob_MainJarFileUri) isSparkJob_Driver() {}
+func (*SparkJob_MainClass) isSparkJob_Driver()      {}
+
+func (m *SparkJob) GetDriver() isSparkJob_Driver {
+	if m != nil {
+		return m.Driver
+	}
+	return nil
+}
+
+func (m *SparkJob) GetMainJarFileUri() string {
+	if x, ok := m.GetDriver().(*SparkJob_MainJarFileUri); ok {
+		return x.MainJarFileUri
+	}
+	return ""
+}
+
+func (m *SparkJob) GetMainClass() string {
+	if x, ok := m.GetDriver().(*SparkJob_MainClass); ok {
+		return x.MainClass
+	}
+	return ""
+}
+
+func (m *SparkJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *SparkJob) GetLoggingConfig() *LoggingConfig {
+	if m != nil {
+		return m.LoggingConfig
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*SparkJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _SparkJob_OneofMarshaler, _SparkJob_OneofUnmarshaler, _SparkJob_OneofSizer, []interface{}{
+		(*SparkJob_MainJarFileUri)(nil),
+		(*SparkJob_MainClass)(nil),
+	}
+}
+
+func _SparkJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*SparkJob)
+	// driver
+	switch x := m.Driver.(type) {
+	case *SparkJob_MainJarFileUri:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.MainJarFileUri)
+	case *SparkJob_MainClass:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.MainClass)
+	case nil:
+	default:
+		return fmt.Errorf("SparkJob.Driver has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _SparkJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*SparkJob)
+	switch tag {
+	case 1: // driver.main_jar_file_uri
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Driver = &SparkJob_MainJarFileUri{x}
+		return true, err
+	case 2: // driver.main_class
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Driver = &SparkJob_MainClass{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _SparkJob_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*SparkJob)
+	// driver
+	switch x := m.Driver.(type) {
+	case *SparkJob_MainJarFileUri:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.MainJarFileUri)))
+		n += len(x.MainJarFileUri)
+	case *SparkJob_MainClass:
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.MainClass)))
+		n += len(x.MainClass)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// A Cloud Dataproc job for running
+// [Apache PySpark](https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
+// applications on YARN.
+type PySparkJob struct {
+	// [Required] The HCFS URI of the main Python file to use as the driver. Must
+	// be a .py file.
+	MainPythonFileUri string `protobuf:"bytes,1,opt,name=main_python_file_uri,json=mainPythonFileUri" json:"main_python_file_uri,omitempty"`
+	// [Optional] The arguments to pass to the driver.  Do not include arguments,
+	// such as `--conf`, that can be set as job properties, since a collision may
+	// occur that causes an incorrect job submission.
+	Args []string `protobuf:"bytes,2,rep,name=args" json:"args,omitempty"`
+	// [Optional] HCFS file URIs of Python files to pass to the PySpark
+	// framework. Supported file types: .py, .egg, and .zip.
+	PythonFileUris []string `protobuf:"bytes,3,rep,name=python_file_uris,json=pythonFileUris" json:"python_file_uris,omitempty"`
+	// [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
+	// Python driver and tasks.
+	JarFileUris []string `protobuf:"bytes,4,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+	// [Optional] HCFS URIs of files to be copied to the working directory of
+	// Python drivers and distributed tasks. Useful for naively parallel tasks.
+	FileUris []string `protobuf:"bytes,5,rep,name=file_uris,json=fileUris" json:"file_uris,omitempty"`
+	// [Optional] HCFS URIs of archives to be extracted in the working directory of
+	// .jar, .tar, .tar.gz, .tgz, and .zip.
+	ArchiveUris []string `protobuf:"bytes,6,rep,name=archive_uris,json=archiveUris" json:"archive_uris,omitempty"`
+	// [Optional] A mapping of property names to values, used to configure PySpark.
+	// Properties that conflict with values set by the Cloud Dataproc API may be
+	// overwritten. Can include properties set in
+	// /etc/spark/conf/spark-defaults.conf and classes in user code.
+	Properties map[string]string `protobuf:"bytes,7,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] The runtime log config for job execution.
+	LoggingConfig *LoggingConfig `protobuf:"bytes,8,opt,name=logging_config,json=loggingConfig" json:"logging_config,omitempty"`
+}
+
+func (m *PySparkJob) Reset()                    { *m = PySparkJob{} }
+func (m *PySparkJob) String() string            { return proto.CompactTextString(m) }
+func (*PySparkJob) ProtoMessage()               {}
+func (*PySparkJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+
+func (m *PySparkJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetLoggingConfig() *LoggingConfig {
+	if m != nil {
+		return m.LoggingConfig
+	}
+	return nil
+}
+
+// A list of queries to run on a cluster.
+type QueryList struct {
+	// [Required] The queries to execute. You do not need to terminate a query
+	// with a semicolon. Multiple queries can be specified in one string
+	// by separating each with a semicolon. Here is an example of an Cloud
+	// Dataproc API snippet that uses a QueryList to specify a HiveJob:
+	//
+	//     "hiveJob": {
+	//       "queryList": {
+	//         "queries": [
+	//           "query1",
+	//           "query2",
+	//           "query3;query4",
+	//         ]
+	//       }
+	//     }
+	Queries []string `protobuf:"bytes,1,rep,name=queries" json:"queries,omitempty"`
+}
+
+func (m *QueryList) Reset()                    { *m = QueryList{} }
+func (m *QueryList) String() string            { return proto.CompactTextString(m) }
+func (*QueryList) ProtoMessage()               {}
+func (*QueryList) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+
+// A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/)
+// queries on YARN.
+type HiveJob struct {
+	// [Required] The sequence of Hive queries to execute, specified as either
+	// an HCFS file URI or a list of queries.
+	//
+	// Types that are valid to be assigned to Queries:
+	//	*HiveJob_QueryFileUri
+	//	*HiveJob_QueryList
+	Queries isHiveJob_Queries `protobuf_oneof:"queries"`
+	// [Optional] Whether to continue executing queries if a query fails.
+	// The default value is `false`. Setting to `true` can be useful when executing
+	// independent parallel queries.
+	ContinueOnFailure bool `protobuf:"varint,3,opt,name=continue_on_failure,json=continueOnFailure" json:"continue_on_failure,omitempty"`
+	// [Optional] Mapping of query variable names to values (equivalent to the
+	// Hive command: `SET name="value";`).
+	ScriptVariables map[string]string `protobuf:"bytes,4,rep,name=script_variables,json=scriptVariables" json:"script_variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] A mapping of property names and values, used to configure Hive.
+	// Properties that conflict with values set by the Cloud Dataproc API may be
+	// overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
+	// /etc/hive/conf/hive-site.xml, and classes in user code.
+	Properties map[string]string `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] HCFS URIs of jar files to add to the CLASSPATH of the
+	// Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes
+	// and UDFs.
+	JarFileUris []string `protobuf:"bytes,6,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+}
+
+func (m *HiveJob) Reset()                    { *m = HiveJob{} }
+func (m *HiveJob) String() string            { return proto.CompactTextString(m) }
+func (*HiveJob) ProtoMessage()               {}
+func (*HiveJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+
+type isHiveJob_Queries interface {
+	isHiveJob_Queries()
+}
+
+type HiveJob_QueryFileUri struct {
+	QueryFileUri string `protobuf:"bytes,1,opt,name=query_file_uri,json=queryFileUri,oneof"`
+}
+type HiveJob_QueryList struct {
+	QueryList *QueryList `protobuf:"bytes,2,opt,name=query_list,json=queryList,oneof"`
+}
+
+func (*HiveJob_QueryFileUri) isHiveJob_Queries() {}
+func (*HiveJob_QueryList) isHiveJob_Queries()    {}
+
+func (m *HiveJob) GetQueries() isHiveJob_Queries {
+	if m != nil {
+		return m.Queries
+	}
+	return nil
+}
+
+func (m *HiveJob) GetQueryFileUri() string {
+	if x, ok := m.GetQueries().(*HiveJob_QueryFileUri); ok {
+		return x.QueryFileUri
+	}
+	return ""
+}
+
+func (m *HiveJob) GetQueryList() *QueryList {
+	if x, ok := m.GetQueries().(*HiveJob_QueryList); ok {
+		return x.QueryList
+	}
+	return nil
+}
+
+func (m *HiveJob) GetScriptVariables() map[string]string {
+	if m != nil {
+		return m.ScriptVariables
+	}
+	return nil
+}
+
+func (m *HiveJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*HiveJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _HiveJob_OneofMarshaler, _HiveJob_OneofUnmarshaler, _HiveJob_OneofSizer, []interface{}{
+		(*HiveJob_QueryFileUri)(nil),
+		(*HiveJob_QueryList)(nil),
+	}
+}
+
+func _HiveJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*HiveJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *HiveJob_QueryFileUri:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.QueryFileUri)
+	case *HiveJob_QueryList:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.QueryList); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("HiveJob.Queries has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _HiveJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*HiveJob)
+	switch tag {
+	case 1: // queries.query_file_uri
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Queries = &HiveJob_QueryFileUri{x}
+		return true, err
+	case 2: // queries.query_list
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(QueryList)
+		err := b.DecodeMessage(msg)
+		m.Queries = &HiveJob_QueryList{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _HiveJob_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*HiveJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *HiveJob_QueryFileUri:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.QueryFileUri)))
+		n += len(x.QueryFileUri)
+	case *HiveJob_QueryList:
+		s := proto.Size(x.QueryList)
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// A Cloud Dataproc job for running [Apache Spark SQL](http://spark.apache.org/sql/)
+// queries.
+type SparkSqlJob struct {
+	// [Required] The sequence of Spark SQL queries to execute, specified as
+	// either an HCFS file URI or as a list of queries.
+	//
+	// Types that are valid to be assigned to Queries:
+	//	*SparkSqlJob_QueryFileUri
+	//	*SparkSqlJob_QueryList
+	Queries isSparkSqlJob_Queries `protobuf_oneof:"queries"`
+	// [Optional] Mapping of query variable names to values (equivalent to the
+	// Spark SQL command: SET `name="value";`).
+	ScriptVariables map[string]string `protobuf:"bytes,3,rep,name=script_variables,json=scriptVariables" json:"script_variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] A mapping of property names to values, used to configure
+	// Spark SQL's SparkConf. Properties that conflict with values set by the
+	// Cloud Dataproc API may be overwritten.
+	Properties map[string]string `protobuf:"bytes,4,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] HCFS URIs of jar files to be added to the Spark CLASSPATH.
+	JarFileUris []string `protobuf:"bytes,56,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+	// [Optional] The runtime log config for job execution.
+	LoggingConfig *LoggingConfig `protobuf:"bytes,6,opt,name=logging_config,json=loggingConfig" json:"logging_config,omitempty"`
+}
+
+func (m *SparkSqlJob) Reset()                    { *m = SparkSqlJob{} }
+func (m *SparkSqlJob) String() string            { return proto.CompactTextString(m) }
+func (*SparkSqlJob) ProtoMessage()               {}
+func (*SparkSqlJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+
+type isSparkSqlJob_Queries interface {
+	isSparkSqlJob_Queries()
+}
+
+type SparkSqlJob_QueryFileUri struct {
+	QueryFileUri string `protobuf:"bytes,1,opt,name=query_file_uri,json=queryFileUri,oneof"`
+}
+type SparkSqlJob_QueryList struct {
+	QueryList *QueryList `protobuf:"bytes,2,opt,name=query_list,json=queryList,oneof"`
+}
+
+func (*SparkSqlJob_QueryFileUri) isSparkSqlJob_Queries() {}
+func (*SparkSqlJob_QueryList) isSparkSqlJob_Queries()    {}
+
+func (m *SparkSqlJob) GetQueries() isSparkSqlJob_Queries {
+	if m != nil {
+		return m.Queries
+	}
+	return nil
+}
+
+func (m *SparkSqlJob) GetQueryFileUri() string {
+	if x, ok := m.GetQueries().(*SparkSqlJob_QueryFileUri); ok {
+		return x.QueryFileUri
+	}
+	return ""
+}
+
+func (m *SparkSqlJob) GetQueryList() *QueryList {
+	if x, ok := m.GetQueries().(*SparkSqlJob_QueryList); ok {
+		return x.QueryList
+	}
+	return nil
+}
+
+func (m *SparkSqlJob) GetScriptVariables() map[string]string {
+	if m != nil {
+		return m.ScriptVariables
+	}
+	return nil
+}
+
+func (m *SparkSqlJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *SparkSqlJob) GetLoggingConfig() *LoggingConfig {
+	if m != nil {
+		return m.LoggingConfig
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*SparkSqlJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _SparkSqlJob_OneofMarshaler, _SparkSqlJob_OneofUnmarshaler, _SparkSqlJob_OneofSizer, []interface{}{
+		(*SparkSqlJob_QueryFileUri)(nil),
+		(*SparkSqlJob_QueryList)(nil),
+	}
+}
+
+func _SparkSqlJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*SparkSqlJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *SparkSqlJob_QueryFileUri:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.QueryFileUri)
+	case *SparkSqlJob_QueryList:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.QueryList); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("SparkSqlJob.Queries has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _SparkSqlJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*SparkSqlJob)
+	switch tag {
+	case 1: // queries.query_file_uri
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Queries = &SparkSqlJob_QueryFileUri{x}
+		return true, err
+	case 2: // queries.query_list
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(QueryList)
+		err := b.DecodeMessage(msg)
+		m.Queries = &SparkSqlJob_QueryList{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _SparkSqlJob_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*SparkSqlJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *SparkSqlJob_QueryFileUri:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.QueryFileUri)))
+		n += len(x.QueryFileUri)
+	case *SparkSqlJob_QueryList:
+		s := proto.Size(x.QueryList)
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// A Cloud Dataproc job for running [Apache Pig](https://pig.apache.org/)
+// queries on YARN.
+type PigJob struct {
+	// [Required] The sequence of Pig queries to execute, specified as an HCFS
+	// file URI or a list of queries.
+	//
+	// Types that are valid to be assigned to Queries:
+	//	*PigJob_QueryFileUri
+	//	*PigJob_QueryList
+	Queries isPigJob_Queries `protobuf_oneof:"queries"`
+	// [Optional] Whether to continue executing queries if a query fails.
+	// The default value is `false`. Setting to `true` can be useful when executing
+	// independent parallel queries.
+	ContinueOnFailure bool `protobuf:"varint,3,opt,name=continue_on_failure,json=continueOnFailure" json:"continue_on_failure,omitempty"`
+	// [Optional] Mapping of query variable names to values (equivalent to the Pig
+	// command: `name=[value]`).
+	ScriptVariables map[string]string `protobuf:"bytes,4,rep,name=script_variables,json=scriptVariables" json:"script_variables,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] A mapping of property names to values, used to configure Pig.
+	// Properties that conflict with values set by the Cloud Dataproc API may be
+	// overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
+	// /etc/pig/conf/pig.properties, and classes in user code.
+	Properties map[string]string `protobuf:"bytes,5,rep,name=properties" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// [Optional] HCFS URIs of jar files to add to the CLASSPATH of
+	// the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
+	JarFileUris []string `protobuf:"bytes,6,rep,name=jar_file_uris,json=jarFileUris" json:"jar_file_uris,omitempty"`
+	// [Optional] The runtime log config for job execution.
+	LoggingConfig *LoggingConfig `protobuf:"bytes,7,opt,name=logging_config,json=loggingConfig" json:"logging_config,omitempty"`
+}
+
+func (m *PigJob) Reset()                    { *m = PigJob{} }
+func (m *PigJob) String() string            { return proto.CompactTextString(m) }
+func (*PigJob) ProtoMessage()               {}
+func (*PigJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+type isPigJob_Queries interface {
+	isPigJob_Queries()
+}
+
+type PigJob_QueryFileUri struct {
+	QueryFileUri string `protobuf:"bytes,1,opt,name=query_file_uri,json=queryFileUri,oneof"`
+}
+type PigJob_QueryList struct {
+	QueryList *QueryList `protobuf:"bytes,2,opt,name=query_list,json=queryList,oneof"`
+}
+
+func (*PigJob_QueryFileUri) isPigJob_Queries() {}
+func (*PigJob_QueryList) isPigJob_Queries()    {}
+
+func (m *PigJob) GetQueries() isPigJob_Queries {
+	if m != nil {
+		return m.Queries
+	}
+	return nil
+}
+
+func (m *PigJob) GetQueryFileUri() string {
+	if x, ok := m.GetQueries().(*PigJob_QueryFileUri); ok {
+		return x.QueryFileUri
+	}
+	return ""
+}
+
+func (m *PigJob) GetQueryList() *QueryList {
+	if x, ok := m.GetQueries().(*PigJob_QueryList); ok {
+		return x.QueryList
+	}
+	return nil
+}
+
+func (m *PigJob) GetScriptVariables() map[string]string {
+	if m != nil {
+		return m.ScriptVariables
+	}
+	return nil
+}
+
+func (m *PigJob) GetProperties() map[string]string {
+	if m != nil {
+		return m.Properties
+	}
+	return nil
+}
+
+func (m *PigJob) GetLoggingConfig() *LoggingConfig {
+	if m != nil {
+		return m.LoggingConfig
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*PigJob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _PigJob_OneofMarshaler, _PigJob_OneofUnmarshaler, _PigJob_OneofSizer, []interface{}{
+		(*PigJob_QueryFileUri)(nil),
+		(*PigJob_QueryList)(nil),
+	}
+}
+
+func _PigJob_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*PigJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *PigJob_QueryFileUri:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.QueryFileUri)
+	case *PigJob_QueryList:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.QueryList); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("PigJob.Queries has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _PigJob_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*PigJob)
+	switch tag {
+	case 1: // queries.query_file_uri
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.Queries = &PigJob_QueryFileUri{x}
+		return true, err
+	case 2: // queries.query_list
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(QueryList)
+		err := b.DecodeMessage(msg)
+		m.Queries = &PigJob_QueryList{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _PigJob_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*PigJob)
+	// queries
+	switch x := m.Queries.(type) {
+	case *PigJob_QueryFileUri:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.QueryFileUri)))
+		n += len(x.QueryFileUri)
+	case *PigJob_QueryList:
+		s := proto.Size(x.QueryList)
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Cloud Dataproc job config.
+type JobPlacement struct {
+	// [Required] The name of the cluster where the job will be submitted.
+	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+	// [Output-only] A cluster UUID generated by the Cloud Dataproc service when
+	// the job is submitted.
+	ClusterUuid string `protobuf:"bytes,2,opt,name=cluster_uuid,json=clusterUuid" json:"cluster_uuid,omitempty"`
+}
+
+func (m *JobPlacement) Reset()                    { *m = JobPlacement{} }
+func (m *JobPlacement) String() string            { return proto.CompactTextString(m) }
+func (*JobPlacement) ProtoMessage()               {}
+func (*JobPlacement) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+
+// Cloud Dataproc job status.
+type JobStatus struct {
+	// [Output-only] A state message specifying the overall job state.
+	State JobStatus_State `protobuf:"varint,1,opt,name=state,enum=google.cloud.dataproc.v1.JobStatus_State" json:"state,omitempty"`
+	// [Output-only] Optional job state details, such as an error
+	// description if the state is <code>ERROR</code>.
+	Details string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"`
+	// [Output-only] The time when this state was entered.
+	StateStartTime *google_protobuf3.Timestamp `protobuf:"bytes,6,opt,name=state_start_time,json=stateStartTime" json:"state_start_time,omitempty"`
+}
+
+func (m *JobStatus) Reset()                    { *m = JobStatus{} }
+func (m *JobStatus) String() string            { return proto.CompactTextString(m) }
+func (*JobStatus) ProtoMessage()               {}
+func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+
+func (m *JobStatus) GetStateStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StateStartTime
+	}
+	return nil
+}
+
+// Encapsulates the full scoping used to reference a job.
+type JobReference struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Optional] The job ID, which must be unique within the project. The job ID
+	// is generated by the server upon job submission or provided by the user as a
+	// means to perform retries without creating duplicate jobs. The ID must
+	// contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
+	// hyphens (-). The maximum length is 512 characters.
+	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
+}
+
+func (m *JobReference) Reset()                    { *m = JobReference{} }
+func (m *JobReference) String() string            { return proto.CompactTextString(m) }
+func (*JobReference) ProtoMessage()               {}
+func (*JobReference) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
+
+// A Cloud Dataproc job resource.
+type Job struct {
+	// [Optional] The fully qualified reference to the job, which can be used to
+	// obtain the equivalent REST path of the job resource. If this property
+	// is not specified when a job is created, the server generates a
+	// <code>job_id</code>.
+	Reference *JobReference `protobuf:"bytes,1,opt,name=reference" json:"reference,omitempty"`
+	// [Required] Job information, including how, when, and where to
+	// run the job.
+	Placement *JobPlacement `protobuf:"bytes,2,opt,name=placement" json:"placement,omitempty"`
+	// [Required] The application/framework-specific portion of the job.
+	//
+	// Types that are valid to be assigned to TypeJob:
+	//	*Job_HadoopJob
+	//	*Job_SparkJob
+	//	*Job_PysparkJob
+	//	*Job_HiveJob
+	//	*Job_PigJob
+	//	*Job_SparkSqlJob
+	TypeJob isJob_TypeJob `protobuf_oneof:"type_job"`
+	// [Output-only] The job status. Additional application-specific
+	// status information may be contained in the <code>type_job</code>
+	// and <code>yarn_applications</code> fields.
+	Status *JobStatus `protobuf:"bytes,8,opt,name=status" json:"status,omitempty"`
+	// [Output-only] The previous job status.
+	StatusHistory []*JobStatus `protobuf:"bytes,13,rep,name=status_history,json=statusHistory" json:"status_history,omitempty"`
+	// [Output-only] A URI pointing to the location of the stdout of the job's
+	// driver program.
+	DriverOutputResourceUri string `protobuf:"bytes,17,opt,name=driver_output_resource_uri,json=driverOutputResourceUri" json:"driver_output_resource_uri,omitempty"`
+	// [Output-only] If present, the location of miscellaneous control files
+	// which may be used as part of job setup and handling. If not present,
+	// control files may be placed in the same location as `driver_output_uri`.
+	DriverControlFilesUri string `protobuf:"bytes,15,opt,name=driver_control_files_uri,json=driverControlFilesUri" json:"driver_control_files_uri,omitempty"`
+}
+
+func (m *Job) Reset()                    { *m = Job{} }
+func (m *Job) String() string            { return proto.CompactTextString(m) }
+func (*Job) ProtoMessage()               {}
+func (*Job) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
+
+type isJob_TypeJob interface {
+	isJob_TypeJob()
+}
+
+type Job_HadoopJob struct {
+	HadoopJob *HadoopJob `protobuf:"bytes,3,opt,name=hadoop_job,json=hadoopJob,oneof"`
+}
+type Job_SparkJob struct {
+	SparkJob *SparkJob `protobuf:"bytes,4,opt,name=spark_job,json=sparkJob,oneof"`
+}
+type Job_PysparkJob struct {
+	PysparkJob *PySparkJob `protobuf:"bytes,5,opt,name=pyspark_job,json=pysparkJob,oneof"`
+}
+type Job_HiveJob struct {
+	HiveJob *HiveJob `protobuf:"bytes,6,opt,name=hive_job,json=hiveJob,oneof"`
+}
+type Job_PigJob struct {
+	PigJob *PigJob `protobuf:"bytes,7,opt,name=pig_job,json=pigJob,oneof"`
+}
+type Job_SparkSqlJob struct {
+	SparkSqlJob *SparkSqlJob `protobuf:"bytes,12,opt,name=spark_sql_job,json=sparkSqlJob,oneof"`
+}
+
+func (*Job_HadoopJob) isJob_TypeJob()   {}
+func (*Job_SparkJob) isJob_TypeJob()    {}
+func (*Job_PysparkJob) isJob_TypeJob()  {}
+func (*Job_HiveJob) isJob_TypeJob()     {}
+func (*Job_PigJob) isJob_TypeJob()      {}
+func (*Job_SparkSqlJob) isJob_TypeJob() {}
+
+func (m *Job) GetTypeJob() isJob_TypeJob {
+	if m != nil {
+		return m.TypeJob
+	}
+	return nil
+}
+
+func (m *Job) GetReference() *JobReference {
+	if m != nil {
+		return m.Reference
+	}
+	return nil
+}
+
+func (m *Job) GetPlacement() *JobPlacement {
+	if m != nil {
+		return m.Placement
+	}
+	return nil
+}
+
+func (m *Job) GetHadoopJob() *HadoopJob {
+	if x, ok := m.GetTypeJob().(*Job_HadoopJob); ok {
+		return x.HadoopJob
+	}
+	return nil
+}
+
+func (m *Job) GetSparkJob() *SparkJob {
+	if x, ok := m.GetTypeJob().(*Job_SparkJob); ok {
+		return x.SparkJob
+	}
+	return nil
+}
+
+func (m *Job) GetPysparkJob() *PySparkJob {
+	if x, ok := m.GetTypeJob().(*Job_PysparkJob); ok {
+		return x.PysparkJob
+	}
+	return nil
+}
+
+func (m *Job) GetHiveJob() *HiveJob {
+	if x, ok := m.GetTypeJob().(*Job_HiveJob); ok {
+		return x.HiveJob
+	}
+	return nil
+}
+
+func (m *Job) GetPigJob() *PigJob {
+	if x, ok := m.GetTypeJob().(*Job_PigJob); ok {
+		return x.PigJob
+	}
+	return nil
+}
+
+func (m *Job) GetSparkSqlJob() *SparkSqlJob {
+	if x, ok := m.GetTypeJob().(*Job_SparkSqlJob); ok {
+		return x.SparkSqlJob
+	}
+	return nil
+}
+
+func (m *Job) GetStatus() *JobStatus {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+func (m *Job) GetStatusHistory() []*JobStatus {
+	if m != nil {
+		return m.StatusHistory
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*Job) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _Job_OneofMarshaler, _Job_OneofUnmarshaler, _Job_OneofSizer, []interface{}{
+		(*Job_HadoopJob)(nil),
+		(*Job_SparkJob)(nil),
+		(*Job_PysparkJob)(nil),
+		(*Job_HiveJob)(nil),
+		(*Job_PigJob)(nil),
+		(*Job_SparkSqlJob)(nil),
+	}
+}
+
+func _Job_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*Job)
+	// type_job
+	switch x := m.TypeJob.(type) {
+	case *Job_HadoopJob:
+		b.EncodeVarint(3<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.HadoopJob); err != nil {
+			return err
+		}
+	case *Job_SparkJob:
+		b.EncodeVarint(4<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.SparkJob); err != nil {
+			return err
+		}
+	case *Job_PysparkJob:
+		b.EncodeVarint(5<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.PysparkJob); err != nil {
+			return err
+		}
+	case *Job_HiveJob:
+		b.EncodeVarint(6<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.HiveJob); err != nil {
+			return err
+		}
+	case *Job_PigJob:
+		b.EncodeVarint(7<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.PigJob); err != nil {
+			return err
+		}
+	case *Job_SparkSqlJob:
+		b.EncodeVarint(12<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.SparkSqlJob); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("Job.TypeJob has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _Job_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*Job)
+	switch tag {
+	case 3: // type_job.hadoop_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(HadoopJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_HadoopJob{msg}
+		return true, err
+	case 4: // type_job.spark_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(SparkJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_SparkJob{msg}
+		return true, err
+	case 5: // type_job.pyspark_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(PySparkJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_PysparkJob{msg}
+		return true, err
+	case 6: // type_job.hive_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(HiveJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_HiveJob{msg}
+		return true, err
+	case 7: // type_job.pig_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(PigJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_PigJob{msg}
+		return true, err
+	case 12: // type_job.spark_sql_job
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(SparkSqlJob)
+		err := b.DecodeMessage(msg)
+		m.TypeJob = &Job_SparkSqlJob{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _Job_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*Job)
+	// type_job
+	switch x := m.TypeJob.(type) {
+	case *Job_HadoopJob:
+		s := proto.Size(x.HadoopJob)
+		n += proto.SizeVarint(3<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_SparkJob:
+		s := proto.Size(x.SparkJob)
+		n += proto.SizeVarint(4<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_PysparkJob:
+		s := proto.Size(x.PysparkJob)
+		n += proto.SizeVarint(5<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_HiveJob:
+		s := proto.Size(x.HiveJob)
+		n += proto.SizeVarint(6<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_PigJob:
+		s := proto.Size(x.PigJob)
+		n += proto.SizeVarint(7<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_SparkSqlJob:
+		s := proto.Size(x.SparkSqlJob)
+		n += proto.SizeVarint(12<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// A request to submit a job.
+type SubmitJobRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The job resource.
+	Job *Job `protobuf:"bytes,2,opt,name=job" json:"job,omitempty"`
+}
+
+func (m *SubmitJobRequest) Reset()                    { *m = SubmitJobRequest{} }
+func (m *SubmitJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*SubmitJobRequest) ProtoMessage()               {}
+func (*SubmitJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
+
+func (m *SubmitJobRequest) GetJob() *Job {
+	if m != nil {
+		return m.Job
+	}
+	return nil
+}
+
+// A request to get the resource representation for a job in a project.
+type GetJobRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The job ID.
+	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
+}
+
+func (m *GetJobRequest) Reset()                    { *m = GetJobRequest{} }
+func (m *GetJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetJobRequest) ProtoMessage()               {}
+func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
+
+// A request to list jobs in a project.
+type ListJobsRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,6,opt,name=region" json:"region,omitempty"`
+	// [Optional] The number of results to return in each response.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// [Optional] The page token, returned by a previous call, to request the
+	// next page of results.
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// [Optional] If set, the returned jobs list includes only jobs that were
+	// submitted to the named cluster.
+	ClusterName string `protobuf:"bytes,4,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+	// [Optional] Specifies enumerated categories of jobs to list
+	// (default = match ALL jobs).
+	JobStateMatcher ListJobsRequest_JobStateMatcher `protobuf:"varint,5,opt,name=job_state_matcher,json=jobStateMatcher,enum=google.cloud.dataproc.v1.ListJobsRequest_JobStateMatcher" json:"job_state_matcher,omitempty"`
+}
+
+func (m *ListJobsRequest) Reset()                    { *m = ListJobsRequest{} }
+func (m *ListJobsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListJobsRequest) ProtoMessage()               {}
+func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
+
+// A list of jobs in a project.
+type ListJobsResponse struct {
+	// [Output-only] Jobs list.
+	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs" json:"jobs,omitempty"`
+	// [Optional] This token is included in the response if there are more results
+	// to fetch. To fetch additional results, provide this value as the
+	// `page_token` in a subsequent <code>ListJobsRequest</code>.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListJobsResponse) Reset()                    { *m = ListJobsResponse{} }
+func (m *ListJobsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListJobsResponse) ProtoMessage()               {}
+func (*ListJobsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
+
+func (m *ListJobsResponse) GetJobs() []*Job {
+	if m != nil {
+		return m.Jobs
+	}
+	return nil
+}
+
+// A request to cancel a job.
+type CancelJobRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The job ID.
+	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
+}
+
+func (m *CancelJobRequest) Reset()                    { *m = CancelJobRequest{} }
+func (m *CancelJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*CancelJobRequest) ProtoMessage()               {}
+func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
+
+// A request to delete a job.
+type DeleteJobRequest struct {
+	// [Required] The ID of the Google Cloud Platform project that the job
+	// belongs to.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// [Required] The Cloud Dataproc region in which to handle the request.
+	Region string `protobuf:"bytes,3,opt,name=region" json:"region,omitempty"`
+	// [Required] The job ID.
+	JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
+}
+
+func (m *DeleteJobRequest) Reset()                    { *m = DeleteJobRequest{} }
+func (m *DeleteJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteJobRequest) ProtoMessage()               {}
+func (*DeleteJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
+
+func init() {
+	proto.RegisterType((*LoggingConfig)(nil), "google.cloud.dataproc.v1.LoggingConfig")
+	proto.RegisterType((*HadoopJob)(nil), "google.cloud.dataproc.v1.HadoopJob")
+	proto.RegisterType((*SparkJob)(nil), "google.cloud.dataproc.v1.SparkJob")
+	proto.RegisterType((*PySparkJob)(nil), "google.cloud.dataproc.v1.PySparkJob")
+	proto.RegisterType((*QueryList)(nil), "google.cloud.dataproc.v1.QueryList")
+	proto.RegisterType((*HiveJob)(nil), "google.cloud.dataproc.v1.HiveJob")
+	proto.RegisterType((*SparkSqlJob)(nil), "google.cloud.dataproc.v1.SparkSqlJob")
+	proto.RegisterType((*PigJob)(nil), "google.cloud.dataproc.v1.PigJob")
+	proto.RegisterType((*JobPlacement)(nil), "google.cloud.dataproc.v1.JobPlacement")
+	proto.RegisterType((*JobStatus)(nil), "google.cloud.dataproc.v1.JobStatus")
+	proto.RegisterType((*JobReference)(nil), "google.cloud.dataproc.v1.JobReference")
+	proto.RegisterType((*Job)(nil), "google.cloud.dataproc.v1.Job")
+	proto.RegisterType((*SubmitJobRequest)(nil), "google.cloud.dataproc.v1.SubmitJobRequest")
+	proto.RegisterType((*GetJobRequest)(nil), "google.cloud.dataproc.v1.GetJobRequest")
+	proto.RegisterType((*ListJobsRequest)(nil), "google.cloud.dataproc.v1.ListJobsRequest")
+	proto.RegisterType((*ListJobsResponse)(nil), "google.cloud.dataproc.v1.ListJobsResponse")
+	proto.RegisterType((*CancelJobRequest)(nil), "google.cloud.dataproc.v1.CancelJobRequest")
+	proto.RegisterType((*DeleteJobRequest)(nil), "google.cloud.dataproc.v1.DeleteJobRequest")
+	proto.RegisterEnum("google.cloud.dataproc.v1.LoggingConfig_Level", LoggingConfig_Level_name, LoggingConfig_Level_value)
+	proto.RegisterEnum("google.cloud.dataproc.v1.JobStatus_State", JobStatus_State_name, JobStatus_State_value)
+	proto.RegisterEnum("google.cloud.dataproc.v1.ListJobsRequest_JobStateMatcher", ListJobsRequest_JobStateMatcher_name, ListJobsRequest_JobStateMatcher_value)
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for JobController service
+
+type JobControllerClient interface {
+	// Submits a job to a cluster.
+	SubmitJob(ctx context.Context, in *SubmitJobRequest, opts ...grpc.CallOption) (*Job, error)
+	// Gets the resource representation for a job in a project.
+	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
+	// Lists regions/{region}/jobs in a project.
+	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
+	// Starts a job cancellation request. To access the job resource
+	// after cancellation, call
+	// [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or
+	// [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).
+	CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*Job, error)
+	// Deletes the job from the project. If the job is active, the delete fails,
+	// and the response returns `FAILED_PRECONDITION`.
+	DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
+}
+
+type jobControllerClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewJobControllerClient(cc *grpc.ClientConn) JobControllerClient {
+	return &jobControllerClient{cc}
+}
+
+func (c *jobControllerClient) SubmitJob(ctx context.Context, in *SubmitJobRequest, opts ...grpc.CallOption) (*Job, error) {
+	out := new(Job)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.JobController/SubmitJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobControllerClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
+	out := new(Job)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.JobController/GetJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobControllerClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
+	out := new(ListJobsResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.JobController/ListJobs", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobControllerClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*Job, error) {
+	out := new(Job)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.JobController/CancelJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobControllerClient) DeleteJob(ctx context.Context, in *DeleteJobRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+	out := new(google_protobuf2.Empty)
+	err := grpc.Invoke(ctx, "/google.cloud.dataproc.v1.JobController/DeleteJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for JobController service
+
+type JobControllerServer interface {
+	// Submits a job to a cluster.
+	SubmitJob(context.Context, *SubmitJobRequest) (*Job, error)
+	// Gets the resource representation for a job in a project.
+	GetJob(context.Context, *GetJobRequest) (*Job, error)
+	// Lists regions/{region}/jobs in a project.
+	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
+	// Starts a job cancellation request. To access the job resource
+	// after cancellation, call
+	// [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or
+	// [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).
+	CancelJob(context.Context, *CancelJobRequest) (*Job, error)
+	// Deletes the job from the project. If the job is active, the delete fails,
+	// and the response returns `FAILED_PRECONDITION`.
+	DeleteJob(context.Context, *DeleteJobRequest) (*google_protobuf2.Empty, error)
+}
+
+func RegisterJobControllerServer(s *grpc.Server, srv JobControllerServer) {
+	s.RegisterService(&_JobController_serviceDesc, srv)
+}
+
+func _JobController_SubmitJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SubmitJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobControllerServer).SubmitJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.JobController/SubmitJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobControllerServer).SubmitJob(ctx, req.(*SubmitJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobController_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobControllerServer).GetJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.JobController/GetJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobControllerServer).GetJob(ctx, req.(*GetJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobController_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListJobsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobControllerServer).ListJobs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.JobController/ListJobs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobControllerServer).ListJobs(ctx, req.(*ListJobsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobController_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CancelJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobControllerServer).CancelJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.JobController/CancelJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobControllerServer).CancelJob(ctx, req.(*CancelJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobController_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobControllerServer).DeleteJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.dataproc.v1.JobController/DeleteJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobControllerServer).DeleteJob(ctx, req.(*DeleteJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _JobController_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.dataproc.v1.JobController",
+	HandlerType: (*JobControllerServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "SubmitJob",
+			Handler:    _JobController_SubmitJob_Handler,
+		},
+		{
+			MethodName: "GetJob",
+			Handler:    _JobController_GetJob_Handler,
+		},
+		{
+			MethodName: "ListJobs",
+			Handler:    _JobController_ListJobs_Handler,
+		},
+		{
+			MethodName: "CancelJob",
+			Handler:    _JobController_CancelJob_Handler,
+		},
+		{
+			MethodName: "DeleteJob",
+			Handler:    _JobController_DeleteJob_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor1,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 1866 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xdc, 0x59, 0xdd, 0x73, 0xe3, 0x56,
+	0x15, 0x5f, 0x7f, 0x5b, 0xc7, 0x6b, 0x47, 0xb9, 0x6c, 0x8b, 0xc7, 0xd0, 0x61, 0xab, 0xd2, 0x92,
+	0x6e, 0x07, 0x8b, 0x78, 0x61, 0xbb, 0x64, 0x81, 0xe2, 0xd8, 0xce, 0x6e, 0x16, 0xe3, 0xb8, 0xb2,
+	0xb3, 0x3c, 0x31, 0x42, 0x91, 0x6f, 0x64, 0x65, 0x65, 0x49, 0xd1, 0x47, 0x06, 0xb7, 0xb3, 0x2f,
+	0xfc, 0x03, 0x0c, 0x1f, 0xc3, 0x0c, 0x3c, 0xf2, 0x57, 0x30, 0xc3, 0x30, 0x3c, 0xc0, 0xf0, 0x0f,
+	0xf0, 0xca, 0xf0, 0xc4, 0x1f, 0xc2, 0xfd, 0x90, 0x14, 0x3b, 0xf1, 0x57, 0xba, 0x6d, 0xa7, 0xdd,
+	0x17, 0x47, 0x3a, 0xe7, 0x9e, 0xdf, 0x3d, 0xf7, 0xfe, 0xce, 0x39, 0xf7, 0x1e, 0x05, 0xf6, 0x0d,
+	0xc7, 0x31, 0x2c, 0x5c, 0x37, 0x1c, 0x4b, 0xb3, 0x8d, 0xba, 0xe3, 0x19, 0xb2, 0x81, 0x6d, 0xd7,
+	0x73, 0x02, 0x47, 0xe6, 0x2a, 0xcd, 0x35, 0x7d, 0x59, 0xb7, 0x9c, 0x70, 0x24, 0x8f, 0xb4, 0x40,
+	0x23, 0x2a, 0x5d, 0xbe, 0xd8, 0x95, 0xcf, 0x9c, 0x13, 0xbf, 0xce, 0xc6, 0xa1, 0x6a, 0x84, 0xc1,
+	0x06, 0xd5, 0xe3, 0x41, 0xf5, 0x8b, 0xdd, 0xda, 0xe1, 0x66, 0xe8, 0xe4, 0x47, 0xf6, 0xb1, 0x77,
+	0x61, 0xea, 0x58, 0x77, 0xec, 0x53, 0xd3, 0x90, 0x35, 0xdb, 0x76, 0x02, 0x2d, 0x30, 0x1d, 0x3b,
+	0x9a, 0xa4, 0x76, 0xdf, 0x30, 0x83, 0x71, 0x78, 0x52, 0xd7, 0x9d, 0x89, 0xcc, 0xe1, 0x64, 0xa6,
+	0x38, 0x09, 0x4f, 0x65, 0x37, 0x98, 0xba, 0xd8, 0x97, 0xf1, 0x84, 0x3c, 0xf0, 0xdf, 0xc8, 0xe8,
+	0xd1, 0x7a, 0xa3, 0xc0, 0x9c, 0x60, 0x3f, 0xd0, 0x26, 0xee, 0xe5, 0x13, 0x37, 0x96, 0xfe, 0x9b,
+	0x86, 0x72, 0xd7, 0x31, 0x0c, 0xd3, 0x36, 0x5a, 0xcc, 0x2b, 0x34, 0x86, 0xed, 0x91, 0x67, 0x5e,
+	0x60, 0x4f, 0xb5, 0x1c, 0x43, 0xb5, 0xf0, 0x05, 0xb6, 0xfc, 0x6a, 0xfa, 0x6e, 0x66, 0xa7, 0xd4,
+	0xf8, 0x41, 0x7d, 0xd9, 0x26, 0xd4, 0xe7, 0x30, 0xea, 0x6d, 0x06, 0x40, 0x64, 0x5d, 0x66, 0xde,
+	0xb1, 0x03, 0x6f, 0xaa, 0x6c, 0x8d, 0xe6, 0xa5, 0xb5, 0x73, 0xb8, 0xb3, 0x68, 0x20, 0x12, 0x21,
+	0xf3, 0x1c, 0x4f, 0xab, 0xa9, 0xbb, 0xa9, 0x1d, 0x41, 0xa1, 0x8f, 0xa8, 0x05, 0xb9, 0x0b, 0xcd,
+	0x0a, 0x31, 0xf1, 0x23, 0xb5, 0x53, 0x69, 0x7c, 0x7b, 0x53, 0x3f, 0x18, 0xaa, 0xc2, 0x6d, 0xf7,
+	0xd2, 0x0f, 0x53, 0x92, 0x0b, 0x39, 0x26, 0x43, 0xaf, 0xc1, 0x76, 0xb7, 0xf3, 0xac, 0xd3, 0x55,
+	0x8f, 0x7b, 0x83, 0x7e, 0xa7, 0x75, 0x78, 0x70, 0xd8, 0x69, 0x8b, 0xb7, 0x50, 0x01, 0x32, 0xcd,
+	0x6e, 0x57, 0x4c, 0x21, 0x01, 0x72, 0x43, 0xa5, 0xd9, 0xea, 0x88, 0x69, 0xfa, 0xd8, 0xee, 0xec,
+	0x1f, 0x3f, 0x16, 0x33, 0xa8, 0x08, 0xd9, 0xc3, 0xde, 0xc1, 0x91, 0x98, 0xa5, 0x4f, 0x3f, 0x6b,
+	0x2a, 0x3d, 0x31, 0x47, 0xd5, 0x1d, 0x45, 0x39, 0x52, 0xc4, 0x3c, 0x7d, 0x3c, 0x68, 0x0e, 0x9b,
+	0x5d, 0xb1, 0x40, 0x81, 0x8e, 0x0e, 0x0e, 0xc4, 0xa2, 0xf4, 0xf7, 0x0c, 0x08, 0x4f, 0xb4, 0x91,
+	0xe3, 0xb8, 0x4f, 0x9d, 0x13, 0xf4, 0x1e, 0x6c, 0x4f, 0x34, 0xd3, 0x56, 0xcf, 0x34, 0x4f, 0x3d,
+	0x35, 0x2d, 0xac, 0x86, 0x9e, 0xc9, 0x17, 0xfa, 0xe4, 0x96, 0x52, 0xa1, 0xaa, 0xa7, 0x9a, 0x77,
+	0x40, 0x14, 0xc7, 0x9e, 0x89, 0xbe, 0x01, 0xc0, 0x06, 0xeb, 0x96, 0xe6, 0xfb, 0x6c, 0xe9, 0x74,
+	0x94, 0x40, 0x65, 0x2d, 0x2a, 0x42, 0x08, 0xb2, 0x9a, 0x67, 0xf8, 0xd5, 0x0c, 0x61, 0x47, 0x50,
+	0xd8, 0x33, 0x92, 0xa0, 0x3c, 0x0b, 0xee, 0x57, 0xb3, 0x4c, 0x59, 0x3a, 0x4b, 0x70, 0x7d, 0xf4,
+	0x35, 0x10, 0x2e, 0xf5, 0x39, 0xa6, 0x2f, 0x9e, 0xc6, 0xca, 0x37, 0xe1, 0xb6, 0xe6, 0xe9, 0x63,
+	0xc2, 0x0b, 0xd7, 0xe7, 0xb9, 0x7d, 0x24, 0x63, 0x43, 0x06, 0x00, 0x64, 0xbf, 0x5d, 0xec, 0x05,
+	0x26, 0xf6, 0xab, 0x05, 0x16, 0x1b, 0xf7, 0x97, 0x73, 0x92, 0x2c, 0xbf, 0xde, 0x4f, 0xac, 0x78,
+	0x48, 0xcc, 0xc0, 0xa0, 0x1e, 0x54, 0x2c, 0x4e, 0x9e, 0xca, 0xf3, 0xa3, 0x5a, 0x24, 0x2b, 0x2e,
+	0x35, 0xbe, 0xb5, 0x21, 0xd9, 0x4a, 0xd9, 0x9a, 0x7d, 0xad, 0xfd, 0x10, 0xb6, 0xae, 0x4c, 0xb7,
+	0x20, 0xb0, 0xee, 0xcc, 0x06, 0x96, 0x30, 0x13, 0x29, 0xfb, 0x45, 0xc8, 0xf3, 0x78, 0x95, 0xfe,
+	0x96, 0x81, 0xe2, 0xc0, 0xd5, 0xbc, 0xe7, 0xaf, 0x0e, 0x81, 0xca, 0x02, 0x02, 0x1b, 0xcb, 0xf7,
+	0x39, 0x5e, 0xfd, 0x97, 0x93, 0xbf, 0x7f, 0x66, 0x00, 0xfa, 0xd3, 0x84, 0x41, 0x19, 0xee, 0x30,
+	0x52, 0xdc, 0x69, 0x30, 0x76, 0xec, 0x2b, 0x24, 0x2a, 0x8c, 0xdd, 0x3e, 0x53, 0xc5, 0x2c, 0xc6,
+	0x24, 0xa5, 0x67, 0x48, 0xda, 0x01, 0xf1, 0x8a, 0x7d, 0x4c, 0x62, 0xc5, 0x9d, 0x35, 0xfe, 0x7c,
+	0xe8, 0x1c, 0x2e, 0xa0, 0xf3, 0xbb, 0xcb, 0xb7, 0xfd, 0x72, 0x33, 0xbe, 0x44, 0x84, 0x4a, 0x6f,
+	0x83, 0xf0, 0x61, 0x88, 0xbd, 0x69, 0xd7, 0xf4, 0x03, 0x54, 0x85, 0xc2, 0x39, 0x79, 0xa1, 0xcb,
+	0x4d, 0xb1, 0xfd, 0x88, 0x5f, 0xa5, 0x5f, 0x67, 0xa1, 0xf0, 0x84, 0x6c, 0x0c, 0xa5, 0xfa, 0x1d,
+	0xa8, 0x50, 0xf1, 0xf4, 0x7a, 0xa6, 0xde, 0x66, 0xf2, 0x98, 0xe1, 0x36, 0x00, 0x1f, 0x67, 0x11,
+	0x6c, 0x36, 0x73, 0xa9, 0xf1, 0xd6, 0xf2, 0x55, 0x26, 0x6e, 0xd0, 0x64, 0x3e, 0x4f, 0x7c, 0xaa,
+	0xc3, 0x57, 0xc8, 0x3e, 0x05, 0xa6, 0x1d, 0x62, 0x95, 0x06, 0x86, 0x66, 0x5a, 0xa1, 0x87, 0x49,
+	0x58, 0xa4, 0x76, 0x8a, 0xca, 0x76, 0xac, 0x3a, 0xb2, 0x0f, 0xb8, 0x02, 0x69, 0x20, 0xfa, 0xba,
+	0x67, 0xba, 0x81, 0x7a, 0xa1, 0x79, 0xa6, 0x76, 0x62, 0x61, 0x1e, 0x1c, 0xa5, 0xc6, 0x83, 0x15,
+	0xb5, 0x94, 0x2f, 0xad, 0x3e, 0x60, 0x96, 0xcf, 0x62, 0xc3, 0xe8, 0x84, 0xf5, 0xe7, 0xa5, 0xe8,
+	0xc3, 0xb9, 0xc0, 0xc8, 0x31, 0xf0, 0xdd, 0xf5, 0xe0, 0xab, 0xa2, 0xe2, 0x5a, 0x3c, 0xe7, 0xaf,
+	0xc5, 0x73, 0x6d, 0x1f, 0xee, 0x2c, 0xf2, 0xef, 0x26, 0x74, 0xbf, 0x6c, 0xfa, 0x0b, 0x49, 0x80,
+	0x48, 0x7f, 0xcd, 0x42, 0x89, 0x05, 0xfc, 0xe0, 0xdc, 0xfa, 0xfc, 0xa3, 0x02, 0x2f, 0x60, 0x39,
+	0xc3, 0x88, 0xd8, 0x5b, 0x53, 0x70, 0xb9, 0xbb, 0x1b, 0x32, 0x7d, 0x3c, 0xc7, 0x34, 0x0f, 0xa3,
+	0xef, 0x6d, 0x36, 0xc1, 0x8d, 0xd8, 0x7e, 0x78, 0xbd, 0x7a, 0x5d, 0xaf, 0x13, 0xf9, 0x97, 0xaa,
+	0x13, 0x5f, 0xac, 0xe8, 0xf9, 0x4f, 0x16, 0xf2, 0x7d, 0xd3, 0xf8, 0xe2, 0x97, 0x93, 0x5f, 0x2c,
+	0x2d, 0x27, 0x2b, 0xe2, 0x80, 0xaf, 0x6c, 0xc3, 0x18, 0xeb, 0x2f, 0xa8, 0x26, 0xdf, 0x59, 0x8b,
+	0xfd, 0x92, 0xc5, 0x64, 0x41, 0x78, 0x15, 0x5e, 0xa1, 0xf0, 0x1a, 0xc2, 0x6d, 0xb2, 0x49, 0x7d,
+	0x4b, 0xd3, 0xf1, 0x04, 0xdb, 0x01, 0x3d, 0xed, 0x75, 0x2b, 0xf4, 0x03, 0xd2, 0x7e, 0xd9, 0xda,
+	0x04, 0x47, 0x78, 0xa5, 0x48, 0xd6, 0x23, 0xa2, 0xd9, 0x21, 0x61, 0x68, 0x8e, 0x22, 0xf8, 0x78,
+	0xc8, 0x31, 0x11, 0x49, 0xff, 0x48, 0x83, 0x40, 0x60, 0x07, 0xa4, 0xbb, 0x0c, 0x7d, 0xf4, 0x01,
+	0xe4, 0x48, 0xcb, 0x17, 0x70, 0xb0, 0x4a, 0xe3, 0xdd, 0xe5, 0x1b, 0x97, 0xd8, 0xd4, 0xe9, 0x1f,
+	0xac, 0x70, 0x3b, 0x7a, 0xda, 0x8e, 0x70, 0x40, 0xe2, 0x2c, 0xba, 0xc4, 0x2a, 0xf1, 0x2b, 0x09,
+	0x75, 0x91, 0x0d, 0x51, 0xc9, 0xaf, 0x17, 0xa8, 0xb4, 0xbb, 0x8c, 0xb2, 0xbf, 0x16, 0xcf, 0x12,
+	0xf7, 0xa2, 0xf5, 0x61, 0xdc, 0x7a, 0x2a, 0x15, 0x66, 0x33, 0xa0, 0x26, 0x54, 0x28, 0xfd, 0x3e,
+	0x05, 0x39, 0x36, 0x21, 0x6d, 0xcb, 0x06, 0xc3, 0xe6, 0xb0, 0x73, 0xa5, 0x2d, 0x2b, 0x41, 0xa1,
+	0xdf, 0xe9, 0xb5, 0x0f, 0x7b, 0x8f, 0x49, 0x6b, 0x56, 0x01, 0x18, 0x74, 0x86, 0xc7, 0x7d, 0xb5,
+	0x7d, 0xd4, 0xeb, 0x88, 0x45, 0xaa, 0x54, 0x8e, 0x7b, 0x3d, 0xaa, 0x4c, 0x93, 0xcb, 0x5a, 0xa5,
+	0xd5, 0xec, 0xb5, 0x48, 0x63, 0x17, 0x1b, 0x64, 0x66, 0x64, 0x04, 0x5b, 0x19, 0x12, 0xc4, 0x02,
+	0x2a, 0x83, 0xc0, 0x65, 0x5d, 0xf2, 0xca, 0xda, 0x39, 0x86, 0x36, 0xdb, 0xce, 0x49, 0x6d, 0xc6,
+	0x8d, 0x82, 0x4f, 0xb1, 0x87, 0x6d, 0x1d, 0xa3, 0x37, 0x58, 0xfc, 0x9f, 0x61, 0x3d, 0x50, 0xc9,
+	0xb6, 0x73, 0x66, 0x84, 0x48, 0x72, 0x38, 0x22, 0xbe, 0xe7, 0xcf, 0x9c, 0x13, 0x35, 0x61, 0x24,
+	0x47, 0xde, 0x0e, 0x47, 0xd2, 0x5f, 0xf2, 0x90, 0xa1, 0xd5, 0xa3, 0x0d, 0x82, 0x17, 0x43, 0x31,
+	0xe3, 0x52, 0xe3, 0x9d, 0x95, 0x4c, 0x24, 0x13, 0x2b, 0x97, 0x86, 0x14, 0xc5, 0x8d, 0x83, 0x25,
+	0x2a, 0x2d, 0xab, 0x51, 0x92, 0xd0, 0x52, 0x2e, 0x0d, 0x69, 0x85, 0x1a, 0xb3, 0xa6, 0x4c, 0x25,
+	0x3e, 0xb2, 0x92, 0xb2, 0xb2, 0x42, 0x25, 0x0d, 0x1c, 0xad, 0x50, 0xe3, 0xa4, 0x99, 0x6d, 0x82,
+	0xe0, 0xd3, 0x73, 0x84, 0x81, 0x64, 0x19, 0x88, 0xb4, 0xbe, 0x89, 0x20, 0x18, 0x45, 0x3f, 0xbe,
+	0x8c, 0x3f, 0x86, 0x92, 0x3b, 0xbd, 0x04, 0xc9, 0x31, 0x90, 0x6f, 0x6e, 0x72, 0x75, 0x25, 0x30,
+	0x10, 0x99, 0x52, 0xa0, 0x1f, 0x41, 0x91, 0x5d, 0x91, 0x29, 0x0a, 0x0f, 0xc0, 0x37, 0xd7, 0xde,
+	0x73, 0x08, 0x44, 0x61, 0x1c, 0x5d, 0x15, 0x1f, 0x41, 0xc1, 0x35, 0x0d, 0x66, 0xce, 0xcb, 0xcb,
+	0xdd, 0x75, 0x85, 0x8d, 0x58, 0xe7, 0x5d, 0x7e, 0x30, 0xfc, 0x04, 0xca, 0x7c, 0x0d, 0xfe, 0xb9,
+	0xc5, 0x20, 0x6e, 0x33, 0x88, 0xb7, 0x37, 0x3a, 0x7f, 0x09, 0x4e, 0xc9, 0x9f, 0xb9, 0x9e, 0x3c,
+	0x82, 0xbc, 0xcf, 0x72, 0x30, 0xba, 0x6e, 0xbf, 0xb5, 0x41, 0xba, 0x2a, 0x91, 0x09, 0x7a, 0x0a,
+	0x15, 0xfe, 0xa4, 0x8e, 0xc9, 0x19, 0xe2, 0x78, 0xd3, 0x6a, 0x99, 0x95, 0xe9, 0x8d, 0x40, 0xca,
+	0xdc, 0xf4, 0x09, 0xb7, 0x24, 0x8e, 0xd4, 0xa2, 0x0f, 0x41, 0x4e, 0x18, 0xb8, 0x61, 0xa0, 0x7a,
+	0xd8, 0x77, 0x42, 0x4f, 0xe7, 0x47, 0xdf, 0x36, 0x8b, 0xf1, 0xaf, 0xf2, 0x11, 0x47, 0x6c, 0x80,
+	0x12, 0xe9, 0xe9, 0x19, 0xf8, 0x3e, 0x54, 0x23, 0x63, 0x7a, 0x52, 0x79, 0x8e, 0xc5, 0x8a, 0xbc,
+	0xcf, 0x4c, 0xb7, 0x98, 0xe9, 0x6b, 0x5c, 0xdf, 0xe2, 0x6a, 0x5a, 0xee, 0x7d, 0x62, 0xb8, 0x0f,
+	0x50, 0xa4, 0xdf, 0xac, 0xe8, 0x36, 0x4a, 0x1f, 0x81, 0x38, 0x08, 0x4f, 0x26, 0x66, 0xc0, 0xb2,
+	0x81, 0x94, 0x4c, 0x72, 0x2c, 0xae, 0x49, 0xc2, 0xd7, 0x21, 0xef, 0x61, 0xc3, 0x74, 0x6c, 0x16,
+	0xd5, 0x82, 0x12, 0xbd, 0x91, 0xae, 0x2f, 0x43, 0x89, 0xe1, 0x19, 0xf3, 0xc6, 0xea, 0xbc, 0xa3,
+	0x23, 0xa5, 0x9f, 0x43, 0xf9, 0x31, 0xfe, 0x14, 0x26, 0x5e, 0x52, 0x15, 0xfe, 0x95, 0x86, 0x2d,
+	0x7a, 0xcc, 0x93, 0x09, 0xfc, 0x1b, 0xcf, 0x90, 0x9f, 0x9b, 0x81, 0x74, 0x8f, 0xae, 0x66, 0x90,
+	0x12, 0x6c, 0x7e, 0xc4, 0xcf, 0x9a, 0x9c, 0x52, 0xa4, 0x82, 0x01, 0x79, 0x67, 0x98, 0x54, 0x19,
+	0x38, 0xcf, 0x71, 0xec, 0x1a, 0x1b, 0x3e, 0xa4, 0x82, 0x6b, 0xc7, 0x4d, 0xf6, 0xfa, 0x71, 0x83,
+	0x61, 0x9b, 0x2e, 0x80, 0x97, 0xf9, 0x89, 0x16, 0xe8, 0x63, 0xec, 0xb1, 0x44, 0xad, 0x34, 0xbe,
+	0xbf, 0xe2, 0x08, 0x9e, 0x5f, 0x5b, 0x1c, 0x65, 0xf8, 0xa7, 0x1c, 0x40, 0xd9, 0x3a, 0x9b, 0x17,
+	0x48, 0x0f, 0x60, 0xeb, 0xca, 0x98, 0xf8, 0x63, 0xdc, 0x2d, 0x04, 0x90, 0x6f, 0xb6, 0x86, 0x87,
+	0xcf, 0x3a, 0xbc, 0xfa, 0xf7, 0x8e, 0x7a, 0x6a, 0xf4, 0x9e, 0x96, 0x26, 0x20, 0x5e, 0xce, 0xe5,
+	0xbb, 0x8e, 0xed, 0x63, 0xb4, 0x0b, 0x59, 0xfa, 0xe5, 0x96, 0xb5, 0x86, 0x6b, 0xd9, 0x66, 0x43,
+	0xc9, 0xdd, 0x6e, 0xcb, 0xc6, 0xbf, 0x0c, 0xd4, 0x99, 0xcd, 0xe2, 0x7c, 0x95, 0xa9, 0xb8, 0x1f,
+	0x6f, 0x98, 0x44, 0x6e, 0x59, 0x2d, 0x8d, 0x14, 0x62, 0xeb, 0x33, 0x8b, 0x0c, 0x32, 0x43, 0x1b,
+	0x5b, 0x38, 0xc0, 0x9f, 0xd5, 0x0c, 0x8d, 0x3f, 0xe4, 0xa1, 0x4c, 0xc0, 0xa3, 0xcc, 0xb3, 0xc8,
+	0x4e, 0xff, 0x31, 0x05, 0x42, 0x92, 0x69, 0xe8, 0xde, 0x8a, 0xba, 0x75, 0x25, 0x1d, 0x6b, 0xab,
+	0x37, 0x57, 0x6a, 0xfe, 0xea, 0xdf, 0xff, 0xfb, 0x5d, 0xfa, 0x91, 0xf4, 0x80, 0x7e, 0x4d, 0x8f,
+	0x1c, 0xf6, 0xe5, 0x8f, 0x2f, 0x17, 0xf3, 0x42, 0xe6, 0xbe, 0x12, 0x21, 0x7f, 0x78, 0xc1, 0x3e,
+	0xba, 0xef, 0xf9, 0x6c, 0xa2, 0xbd, 0xd4, 0x3d, 0xf4, 0xdb, 0x14, 0xe4, 0x79, 0x26, 0xa2, 0x15,
+	0x57, 0xbe, 0xb9, 0x5c, 0x5d, 0xe7, 0xd5, 0x8f, 0x99, 0x57, 0x7b, 0xe8, 0xe1, 0x0d, 0xbd, 0x92,
+	0x3f, 0xe6, 0xdb, 0xf9, 0x02, 0xfd, 0x29, 0x05, 0xc5, 0x38, 0xec, 0xd0, 0xbb, 0x1b, 0xa7, 0x41,
+	0xed, 0xde, 0x26, 0x43, 0x79, 0x14, 0x4b, 0xef, 0x33, 0x2f, 0x77, 0x91, 0x7c, 0x43, 0x2f, 0xd1,
+	0x9f, 0x09, 0x9b, 0x49, 0x90, 0xae, 0x62, 0xf3, 0x6a, 0x24, 0xaf, 0xdb, 0xb7, 0xa7, 0xcc, 0xa3,
+	0xb6, 0xf4, 0xc1, 0x27, 0xdd, 0xb7, 0x3d, 0x9d, 0xcd, 0x48, 0x69, 0xfd, 0x0d, 0x71, 0x32, 0x89,
+	0xf3, 0x55, 0x4e, 0x5e, 0x4d, 0x86, 0xda, 0xeb, 0xd7, 0x6e, 0x96, 0x1d, 0xfa, 0xdf, 0x90, 0x98,
+	0xd5, 0x7b, 0x9f, 0x98, 0xd5, 0xfd, 0xf7, 0xe0, 0xeb, 0xba, 0x33, 0x59, 0xea, 0xca, 0x3e, 0xbd,
+	0x53, 0xfb, 0x7d, 0x3a, 0x6b, 0x3f, 0x75, 0x92, 0x67, 0xd3, 0xdf, 0xff, 0x7f, 0x00, 0x00, 0x00,
+	0xff, 0xff, 0x8c, 0x97, 0xbe, 0x46, 0x5d, 0x1a, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/dataproc/v1/jobs.proto b/googleapis/cloud/dataproc/v1/jobs.proto
new file mode 100644
index 00000000..303804ed
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/jobs.proto
@@ -0,0 +1,572 @@
+// Copyright 2016 Google Inc.
+//
+// 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.dataproc.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "JobsProto";
+option java_package = "com.google.cloud.dataproc.v1";
+
+
+// The JobController provides methods to manage jobs.
+service JobController {
+  // Submits a job to a cluster.
+  rpc SubmitJob(SubmitJobRequest) returns (Job) {
+    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs:submit" body: "*" };
+  }
+
+  // Gets the resource representation for a job in a project.
+  rpc GetJob(GetJobRequest) returns (Job) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}" };
+  }
+
+  // Lists regions/{region}/jobs in a project.
+  rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/regions/{region}/jobs" };
+  }
+
+  // Starts a job cancellation request. To access the job resource
+  // after cancellation, call
+  // [regions/{region}/jobs.list](/dataproc/reference/rest/v1/projects.regions.jobs/list) or
+  // [regions/{region}/jobs.get](/dataproc/reference/rest/v1/projects.regions.jobs/get).
+  rpc CancelJob(CancelJobRequest) returns (Job) {
+    option (google.api.http) = { post: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}:cancel" body: "*" };
+  }
+
+  // Deletes the job from the project. If the job is active, the delete fails,
+  // and the response returns `FAILED_PRECONDITION`.
+  rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = { delete: "/v1/projects/{project_id}/regions/{region}/jobs/{job_id}" };
+  }
+}
+
+// The runtime logging config of the job.
+message LoggingConfig {
+  // The Log4j level for job execution. When running an
+  // [Apache Hive](http://hive.apache.org/) job, Cloud
+  // Dataproc configures the Hive client to an equivalent verbosity level.
+  enum Level {
+    // Level is unspecified. Use default level for log4j.
+    LEVEL_UNSPECIFIED = 0;
+
+    // Use ALL level for log4j.
+    ALL = 1;
+
+    // Use TRACE level for log4j.
+    TRACE = 2;
+
+    // Use DEBUG level for log4j.
+    DEBUG = 3;
+
+    // Use INFO level for log4j.
+    INFO = 4;
+
+    // Use WARN level for log4j.
+    WARN = 5;
+
+    // Use ERROR level for log4j.
+    ERROR = 6;
+
+    // Use FATAL level for log4j.
+    FATAL = 7;
+
+    // Turn off log4j.
+    OFF = 8;
+  }
+
+  // The per-package log levels for the driver. This may include
+  // "root" package name to configure rootLogger.
+  // Examples:
+  //   'com.google = FATAL', 'root = INFO', 'org.apache = DEBUG'
+  map<string, Level> driver_log_levels = 2;
+}
+
+// A Cloud Dataproc job for running
+// [Apache Hadoop MapReduce](https://hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html)
+// jobs on [Apache Hadoop YARN](https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/YARN.html).
+message HadoopJob {
+  // [Required] Indicates the location of the driver's main class. Specify
+  // either the jar file that contains the main class or the main class name.
+  // To specify both, add the jar file to `jar_file_uris`, and then specify
+  // the main class name in this property.
+  oneof driver {
+    // The HCFS URI of the jar file containing the main class.
+    // Examples:
+    //     'gs://foo-bucket/analytics-binaries/extract-useful-metrics-mr.jar'
+    //     'hdfs:/tmp/test-samples/custom-wordcount.jar'
+    //     'file:///home/usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar'
+    string main_jar_file_uri = 1;
+
+    // The name of the driver's main class. The jar file containing the class
+    // must be in the default CLASSPATH or specified in `jar_file_uris`.
+    string main_class = 2;
+  }
+
+  // [Optional] The arguments to pass to the driver. Do not
+  // include arguments, such as `-libjars` or `-Dfoo=bar`, that can be set as job
+  // properties, since a collision may occur that causes an incorrect job
+  // submission.
+  repeated string args = 3;
+
+  // [Optional] Jar file URIs to add to the CLASSPATHs of the
+  // Hadoop driver and tasks.
+  repeated string jar_file_uris = 4;
+
+  // [Optional] HCFS (Hadoop Compatible Filesystem) URIs of files to be copied
+  // to the working directory of Hadoop drivers and distributed tasks. Useful
+  // for naively parallel tasks.
+  repeated string file_uris = 5;
+
+  // [Optional] HCFS URIs of archives to be extracted in the working directory of
+  // Hadoop drivers and tasks. Supported file types:
+  // .jar, .tar, .tar.gz, .tgz, or .zip.
+  repeated string archive_uris = 6;
+
+  // [Optional] A mapping of property names to values, used to configure Hadoop.
+  // Properties that conflict with values set by the Cloud Dataproc API may be
+  // overwritten. Can include properties set in /etc/hadoop/conf/*-site and
+  // classes in user code.
+  map<string, string> properties = 7;
+
+  // [Optional] The runtime log config for job execution.
+  LoggingConfig logging_config = 8;
+}
+
+// A Cloud Dataproc job for running [Apache Spark](http://spark.apache.org/)
+// applications on YARN.
+message SparkJob {
+  // [Required] The specification of the main method to call to drive the job.
+  // Specify either the jar file that contains the main class or the main class
+  // name. To pass both a main jar and a main class in that jar, add the jar to
+  // `CommonJob.jar_file_uris`, and then specify the main class name in `main_class`.
+  oneof driver {
+    // The HCFS URI of the jar file that contains the main class.
+    string main_jar_file_uri = 1;
+
+    // The name of the driver's main class. The jar file that contains the class
+    // must be in the default CLASSPATH or specified in `jar_file_uris`.
+    string main_class = 2;
+  }
+
+  // [Optional] The arguments to pass to the driver. Do not include arguments,
+  // such as `--conf`, that can be set as job properties, since a collision may
+  // occur that causes an incorrect job submission.
+  repeated string args = 3;
+
+  // [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
+  // Spark driver and tasks.
+  repeated string jar_file_uris = 4;
+
+  // [Optional] HCFS URIs of files to be copied to the working directory of
+  // Spark drivers and distributed tasks. Useful for naively parallel tasks.
+  repeated string file_uris = 5;
+
+  // [Optional] HCFS URIs of archives to be extracted in the working directory
+  // of Spark drivers and tasks. Supported file types:
+  // .jar, .tar, .tar.gz, .tgz, and .zip.
+  repeated string archive_uris = 6;
+
+  // [Optional] A mapping of property names to values, used to configure Spark.
+  // Properties that conflict with values set by the Cloud Dataproc API may be
+  // overwritten. Can include properties set in
+  // /etc/spark/conf/spark-defaults.conf and classes in user code.
+  map<string, string> properties = 7;
+
+  // [Optional] The runtime log config for job execution.
+  LoggingConfig logging_config = 8;
+}
+
+// A Cloud Dataproc job for running
+// [Apache PySpark](https://spark.apache.org/docs/0.9.0/python-programming-guide.html)
+// applications on YARN.
+message PySparkJob {
+  // [Required] The HCFS URI of the main Python file to use as the driver. Must
+  // be a .py file.
+  string main_python_file_uri = 1;
+
+  // [Optional] The arguments to pass to the driver.  Do not include arguments,
+  // such as `--conf`, that can be set as job properties, since a collision may
+  // occur that causes an incorrect job submission.
+  repeated string args = 2;
+
+  // [Optional] HCFS file URIs of Python files to pass to the PySpark
+  // framework. Supported file types: .py, .egg, and .zip.
+  repeated string python_file_uris = 3;
+
+  // [Optional] HCFS URIs of jar files to add to the CLASSPATHs of the
+  // Python driver and tasks.
+  repeated string jar_file_uris = 4;
+
+  // [Optional] HCFS URIs of files to be copied to the working directory of
+  // Python drivers and distributed tasks. Useful for naively parallel tasks.
+  repeated string file_uris = 5;
+
+  // [Optional] HCFS URIs of archives to be extracted in the working directory of
+  // .jar, .tar, .tar.gz, .tgz, and .zip.
+  repeated string archive_uris = 6;
+
+  // [Optional] A mapping of property names to values, used to configure PySpark.
+  // Properties that conflict with values set by the Cloud Dataproc API may be
+  // overwritten. Can include properties set in
+  // /etc/spark/conf/spark-defaults.conf and classes in user code.
+  map<string, string> properties = 7;
+
+  // [Optional] The runtime log config for job execution.
+  LoggingConfig logging_config = 8;
+}
+
+// A list of queries to run on a cluster.
+message QueryList {
+  // [Required] The queries to execute. You do not need to terminate a query
+  // with a semicolon. Multiple queries can be specified in one string
+  // by separating each with a semicolon. Here is an example of an Cloud
+  // Dataproc API snippet that uses a QueryList to specify a HiveJob:
+  //
+  //     "hiveJob": {
+  //       "queryList": {
+  //         "queries": [
+  //           "query1",
+  //           "query2",
+  //           "query3;query4",
+  //         ]
+  //       }
+  //     }
+  repeated string queries = 1;
+}
+
+// A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/)
+// queries on YARN.
+message HiveJob {
+  // [Required] The sequence of Hive queries to execute, specified as either
+  // an HCFS file URI or a list of queries.
+  oneof queries {
+    // The HCFS URI of the script that contains Hive queries.
+    string query_file_uri = 1;
+
+    // A list of queries.
+    QueryList query_list = 2;
+  }
+
+  // [Optional] Whether to continue executing queries if a query fails.
+  // The default value is `false`. Setting to `true` can be useful when executing
+  // independent parallel queries.
+  bool continue_on_failure = 3;
+
+  // [Optional] Mapping of query variable names to values (equivalent to the
+  // Hive command: `SET name="value";`).
+  map<string, string> script_variables = 4;
+
+  // [Optional] A mapping of property names and values, used to configure Hive.
+  // Properties that conflict with values set by the Cloud Dataproc API may be
+  // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
+  // /etc/hive/conf/hive-site.xml, and classes in user code.
+  map<string, string> properties = 5;
+
+  // [Optional] HCFS URIs of jar files to add to the CLASSPATH of the
+  // Hive server and Hadoop MapReduce (MR) tasks. Can contain Hive SerDes
+  // and UDFs.
+  repeated string jar_file_uris = 6;
+}
+
+// A Cloud Dataproc job for running [Apache Spark SQL](http://spark.apache.org/sql/)
+// queries.
+message SparkSqlJob {
+  // [Required] The sequence of Spark SQL queries to execute, specified as
+  // either an HCFS file URI or as a list of queries.
+  oneof queries {
+    // The HCFS URI of the script that contains SQL queries.
+    string query_file_uri = 1;
+
+    // A list of queries.
+    QueryList query_list = 2;
+  }
+
+  // [Optional] Mapping of query variable names to values (equivalent to the
+  // Spark SQL command: SET `name="value";`).
+  map<string, string> script_variables = 3;
+
+  // [Optional] A mapping of property names to values, used to configure
+  // Spark SQL's SparkConf. Properties that conflict with values set by the
+  // Cloud Dataproc API may be overwritten.
+  map<string, string> properties = 4;
+
+  // [Optional] HCFS URIs of jar files to be added to the Spark CLASSPATH.
+  repeated string jar_file_uris = 56;
+
+  // [Optional] The runtime log config for job execution.
+  LoggingConfig logging_config = 6;
+}
+
+// A Cloud Dataproc job for running [Apache Pig](https://pig.apache.org/)
+// queries on YARN.
+message PigJob {
+  // [Required] The sequence of Pig queries to execute, specified as an HCFS
+  // file URI or a list of queries.
+  oneof queries {
+    // The HCFS URI of the script that contains the Pig queries.
+    string query_file_uri = 1;
+
+    // A list of queries.
+    QueryList query_list = 2;
+  }
+
+  // [Optional] Whether to continue executing queries if a query fails.
+  // The default value is `false`. Setting to `true` can be useful when executing
+  // independent parallel queries.
+  bool continue_on_failure = 3;
+
+  // [Optional] Mapping of query variable names to values (equivalent to the Pig
+  // command: `name=[value]`).
+  map<string, string> script_variables = 4;
+
+  // [Optional] A mapping of property names to values, used to configure Pig.
+  // Properties that conflict with values set by the Cloud Dataproc API may be
+  // overwritten. Can include properties set in /etc/hadoop/conf/*-site.xml,
+  // /etc/pig/conf/pig.properties, and classes in user code.
+  map<string, string> properties = 5;
+
+  // [Optional] HCFS URIs of jar files to add to the CLASSPATH of
+  // the Pig Client and Hadoop MapReduce (MR) tasks. Can contain Pig UDFs.
+  repeated string jar_file_uris = 6;
+
+  // [Optional] The runtime log config for job execution.
+  LoggingConfig logging_config = 7;
+}
+
+// Cloud Dataproc job config.
+message JobPlacement {
+  // [Required] The name of the cluster where the job will be submitted.
+  string cluster_name = 1;
+
+  // [Output-only] A cluster UUID generated by the Cloud Dataproc service when
+  // the job is submitted.
+  string cluster_uuid = 2;
+}
+
+// Cloud Dataproc job status.
+message JobStatus {
+  // The job state.
+  enum State {
+    // The job state is unknown.
+    STATE_UNSPECIFIED = 0;
+
+    // The job is pending; it has been submitted, but is not yet running.
+    PENDING = 1;
+
+    // Job has been received by the service and completed initial setup;
+    // it will soon be submitted to the cluster.
+    SETUP_DONE = 8;
+
+    // The job is running on the cluster.
+    RUNNING = 2;
+
+    // A CancelJob request has been received, but is pending.
+    CANCEL_PENDING = 3;
+
+    // Transient in-flight resources have been canceled, and the request to
+    // cancel the running job has been issued to the cluster.
+    CANCEL_STARTED = 7;
+
+    // The job cancellation was successful.
+    CANCELLED = 4;
+
+    // The job has completed successfully.
+    DONE = 5;
+
+    // The job has completed, but encountered an error.
+    ERROR = 6;
+  }
+
+  // [Output-only] A state message specifying the overall job state.
+  State state = 1;
+
+  // [Output-only] Optional job state details, such as an error
+  // description if the state is <code>ERROR</code>.
+  string details = 2;
+
+  // [Output-only] The time when this state was entered.
+  google.protobuf.Timestamp state_start_time = 6;
+}
+
+// Encapsulates the full scoping used to reference a job.
+message JobReference {
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Optional] The job ID, which must be unique within the project. The job ID
+  // is generated by the server upon job submission or provided by the user as a
+  // means to perform retries without creating duplicate jobs. The ID must
+  // contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or
+  // hyphens (-). The maximum length is 512 characters.
+  string job_id = 2;
+}
+
+// A Cloud Dataproc job resource.
+message Job {
+  // [Optional] The fully qualified reference to the job, which can be used to
+  // obtain the equivalent REST path of the job resource. If this property
+  // is not specified when a job is created, the server generates a
+  // <code>job_id</code>.
+  JobReference reference = 1;
+
+  // [Required] Job information, including how, when, and where to
+  // run the job.
+  JobPlacement placement = 2;
+
+  // [Required] The application/framework-specific portion of the job.
+  oneof type_job {
+    // Job is a Hadoop job.
+    HadoopJob hadoop_job = 3;
+
+    // Job is a Spark job.
+    SparkJob spark_job = 4;
+
+    // Job is a Pyspark job.
+    PySparkJob pyspark_job = 5;
+
+    // Job is a Hive job.
+    HiveJob hive_job = 6;
+
+    // Job is a Pig job.
+    PigJob pig_job = 7;
+
+    // Job is a SparkSql job.
+    SparkSqlJob spark_sql_job = 12;
+  }
+
+  // [Output-only] The job status. Additional application-specific
+  // status information may be contained in the <code>type_job</code>
+  // and <code>yarn_applications</code> fields.
+  JobStatus status = 8;
+
+  // [Output-only] The previous job status.
+  repeated JobStatus status_history = 13;
+
+  // [Output-only] A URI pointing to the location of the stdout of the job's
+  // driver program.
+  string driver_output_resource_uri = 17;
+
+  // [Output-only] If present, the location of miscellaneous control files
+  // which may be used as part of job setup and handling. If not present,
+  // control files may be placed in the same location as `driver_output_uri`.
+  string driver_control_files_uri = 15;
+}
+
+// A request to submit a job.
+message SubmitJobRequest {
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The job resource.
+  Job job = 2;
+}
+
+// A request to get the resource representation for a job in a project.
+message GetJobRequest {
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The job ID.
+  string job_id = 2;
+}
+
+// A request to list jobs in a project.
+message ListJobsRequest {
+  // A matcher that specifies categories of job states.
+  enum JobStateMatcher {
+    // Match all jobs, regardless of state.
+    ALL = 0;
+
+    // Only match jobs in non-terminal states: PENDING, RUNNING, or
+    // CANCEL_PENDING.
+    ACTIVE = 1;
+
+    // Only match jobs in terminal states: CANCELLED, DONE, or ERROR.
+    NON_ACTIVE = 2;
+  }
+
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 6;
+
+  // [Optional] The number of results to return in each response.
+  int32 page_size = 2;
+
+  // [Optional] The page token, returned by a previous call, to request the
+  // next page of results.
+  string page_token = 3;
+
+  // [Optional] If set, the returned jobs list includes only jobs that were
+  // submitted to the named cluster.
+  string cluster_name = 4;
+
+  // [Optional] Specifies enumerated categories of jobs to list
+  // (default = match ALL jobs).
+  JobStateMatcher job_state_matcher = 5;
+}
+
+// A list of jobs in a project.
+message ListJobsResponse {
+  // [Output-only] Jobs list.
+  repeated Job jobs = 1;
+
+  // [Optional] This token is included in the response if there are more results
+  // to fetch. To fetch additional results, provide this value as the
+  // `page_token` in a subsequent <code>ListJobsRequest</code>.
+  string next_page_token = 2;
+}
+
+// A request to cancel a job.
+message CancelJobRequest {
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The job ID.
+  string job_id = 2;
+}
+
+// A request to delete a job.
+message DeleteJobRequest {
+  // [Required] The ID of the Google Cloud Platform project that the job
+  // belongs to.
+  string project_id = 1;
+
+  // [Required] The Cloud Dataproc region in which to handle the request.
+  string region = 3;
+
+  // [Required] The job ID.
+  string job_id = 2;
+}
diff --git a/googleapis/cloud/dataproc/v1/operations.pb.go b/googleapis/cloud/dataproc/v1/operations.pb.go
new file mode 100644
index 00000000..bd851124
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/operations.pb.go
@@ -0,0 +1,156 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto
+// DO NOT EDIT!
+
+package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import _ "google.golang.org/genproto/googleapis/longrunning"
+import _ "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// The operation state.
+type ClusterOperationStatus_State int32
+
+const (
+	// Unused.
+	ClusterOperationStatus_UNKNOWN ClusterOperationStatus_State = 0
+	// The operation has been created.
+	ClusterOperationStatus_PENDING ClusterOperationStatus_State = 1
+	// The operation is running.
+	ClusterOperationStatus_RUNNING ClusterOperationStatus_State = 2
+	// The operation is done; either cancelled or completed.
+	ClusterOperationStatus_DONE ClusterOperationStatus_State = 3
+)
+
+var ClusterOperationStatus_State_name = map[int32]string{
+	0: "UNKNOWN",
+	1: "PENDING",
+	2: "RUNNING",
+	3: "DONE",
+}
+var ClusterOperationStatus_State_value = map[string]int32{
+	"UNKNOWN": 0,
+	"PENDING": 1,
+	"RUNNING": 2,
+	"DONE":    3,
+}
+
+func (x ClusterOperationStatus_State) String() string {
+	return proto.EnumName(ClusterOperationStatus_State_name, int32(x))
+}
+func (ClusterOperationStatus_State) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor2, []int{0, 0}
+}
+
+// The status of the operation.
+type ClusterOperationStatus struct {
+	// [Output-only] A message containing the operation state.
+	State ClusterOperationStatus_State `protobuf:"varint,1,opt,name=state,enum=google.cloud.dataproc.v1.ClusterOperationStatus_State" json:"state,omitempty"`
+	// [Output-only] A message containing the detailed operation state.
+	InnerState string `protobuf:"bytes,2,opt,name=inner_state,json=innerState" json:"inner_state,omitempty"`
+	// [Output-only]A message containing any operation metadata details.
+	Details string `protobuf:"bytes,3,opt,name=details" json:"details,omitempty"`
+	// [Output-only] The time this state was entered.
+	StateStartTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=state_start_time,json=stateStartTime" json:"state_start_time,omitempty"`
+}
+
+func (m *ClusterOperationStatus) Reset()                    { *m = ClusterOperationStatus{} }
+func (m *ClusterOperationStatus) String() string            { return proto.CompactTextString(m) }
+func (*ClusterOperationStatus) ProtoMessage()               {}
+func (*ClusterOperationStatus) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *ClusterOperationStatus) GetStateStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StateStartTime
+	}
+	return nil
+}
+
+// Metadata describing the operation.
+type ClusterOperationMetadata struct {
+	// [Output-only] Name of the cluster for the operation.
+	ClusterName string `protobuf:"bytes,7,opt,name=cluster_name,json=clusterName" json:"cluster_name,omitempty"`
+	// [Output-only] Cluster UUID for the operation.
+	ClusterUuid string `protobuf:"bytes,8,opt,name=cluster_uuid,json=clusterUuid" json:"cluster_uuid,omitempty"`
+	// [Output-only] Current operation status.
+	Status *ClusterOperationStatus `protobuf:"bytes,9,opt,name=status" json:"status,omitempty"`
+	// [Output-only] The previous operation status.
+	StatusHistory []*ClusterOperationStatus `protobuf:"bytes,10,rep,name=status_history,json=statusHistory" json:"status_history,omitempty"`
+	// [Output-only] The operation type.
+	OperationType string `protobuf:"bytes,11,opt,name=operation_type,json=operationType" json:"operation_type,omitempty"`
+	// [Output-only] Short description of operation.
+	Description string `protobuf:"bytes,12,opt,name=description" json:"description,omitempty"`
+}
+
+func (m *ClusterOperationMetadata) Reset()                    { *m = ClusterOperationMetadata{} }
+func (m *ClusterOperationMetadata) String() string            { return proto.CompactTextString(m) }
+func (*ClusterOperationMetadata) ProtoMessage()               {}
+func (*ClusterOperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *ClusterOperationMetadata) GetStatus() *ClusterOperationStatus {
+	if m != nil {
+		return m.Status
+	}
+	return nil
+}
+
+func (m *ClusterOperationMetadata) GetStatusHistory() []*ClusterOperationStatus {
+	if m != nil {
+		return m.StatusHistory
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*ClusterOperationStatus)(nil), "google.cloud.dataproc.v1.ClusterOperationStatus")
+	proto.RegisterType((*ClusterOperationMetadata)(nil), "google.cloud.dataproc.v1.ClusterOperationMetadata")
+	proto.RegisterEnum("google.cloud.dataproc.v1.ClusterOperationStatus_State", ClusterOperationStatus_State_name, ClusterOperationStatus_State_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 493 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xdd, 0x6a, 0xdb, 0x30,
+	0x18, 0x5d, 0xd2, 0x9f, 0xb4, 0x72, 0x9b, 0x05, 0x5d, 0x0c, 0x11, 0x06, 0xcb, 0x02, 0x83, 0x5d,
+	0x49, 0x4b, 0x0b, 0x63, 0xb0, 0xbb, 0x2c, 0x65, 0x29, 0xdb, 0x9c, 0xe0, 0x36, 0xf4, 0xd2, 0x38,
+	0xb6, 0xaa, 0x0a, 0x1c, 0xc9, 0x48, 0x72, 0xa0, 0x8f, 0xb3, 0xf7, 0xd9, 0x43, 0x4d, 0x3f, 0x71,
+	0x96, 0xfd, 0x94, 0x75, 0xbb, 0xb1, 0xa5, 0xf3, 0x7d, 0xe7, 0xe8, 0x9c, 0x4f, 0x02, 0x53, 0x26,
+	0x25, 0x2b, 0x29, 0x66, 0xb2, 0xcc, 0x04, 0xc3, 0x52, 0x31, 0xc2, 0xa8, 0xa8, 0x94, 0x34, 0x92,
+	0x84, 0x52, 0x56, 0x71, 0x4d, 0xf2, 0x52, 0xd6, 0x05, 0x29, 0x32, 0x93, 0xd9, 0x52, 0x4e, 0xd6,
+	0x23, 0x22, 0x2b, 0xaa, 0x32, 0xc3, 0xa5, 0xd0, 0xd8, 0x77, 0x43, 0xb4, 0x51, 0xf2, 0xad, 0xb8,
+	0x69, 0xc5, 0xeb, 0x51, 0xff, 0xf2, 0x71, 0x67, 0xd8, 0x0f, 0xd1, 0x54, 0xad, 0x79, 0x4e, 0x73,
+	0x29, 0x6e, 0x39, 0x23, 0x99, 0x10, 0xd2, 0xec, 0x1e, 0xd2, 0x1f, 0x3f, 0x4e, 0xaa, 0x94, 0x82,
+	0xa9, 0x5a, 0x08, 0x2e, 0xd8, 0x6f, 0x46, 0xfb, 0xe7, 0x8c, 0x9b, 0xbb, 0x7a, 0x89, 0x73, 0xb9,
+	0x22, 0x41, 0x87, 0xf8, 0xc2, 0xb2, 0xbe, 0x25, 0x95, 0xb9, 0xaf, 0xa8, 0x26, 0x74, 0x65, 0x17,
+	0xe1, 0xbb, 0x21, 0xbd, 0xff, 0x3b, 0xc9, 0xf0, 0x15, 0xd5, 0x26, 0x5b, 0x55, 0x3f, 0x56, 0x81,
+	0x3c, 0xfc, 0xda, 0x06, 0xcf, 0x3e, 0x94, 0xb5, 0x36, 0x54, 0xcd, 0x1a, 0x37, 0x57, 0x36, 0x58,
+	0xad, 0xe1, 0x67, 0x70, 0x60, 0x3b, 0x0d, 0x45, 0xad, 0x41, 0xeb, 0x75, 0xf7, 0xec, 0x2d, 0x7e,
+	0x68, 0x8a, 0xf8, 0xcf, 0x02, 0xd8, 0xfd, 0x68, 0x12, 0x44, 0xe0, 0x0b, 0x10, 0x71, 0x21, 0xa8,
+	0x4a, 0x83, 0x66, 0xdb, 0x6a, 0x1e, 0x27, 0xc0, 0x43, 0xbe, 0x0f, 0x22, 0xd0, 0x29, 0xa8, 0xc9,
+	0x78, 0xa9, 0xd1, 0x9e, 0x2f, 0x36, 0x5b, 0x38, 0x01, 0x3d, 0x4f, 0x72, 0x54, 0x65, 0x52, 0x17,
+	0x01, 0xed, 0xdb, 0x96, 0xe8, 0xac, 0xdf, 0x78, 0x6a, 0x02, 0xe3, 0xeb, 0x26, 0x5f, 0xd2, 0xf5,
+	0x9c, 0x2b, 0x47, 0x71, 0xe0, 0xf0, 0x1d, 0x38, 0x08, 0x07, 0x45, 0xa0, 0xb3, 0x88, 0x3f, 0xc5,
+	0xb3, 0x9b, 0xb8, 0xf7, 0xc4, 0x6d, 0xe6, 0x17, 0xf1, 0xe4, 0x32, 0xfe, 0xd8, 0x6b, 0xb9, 0x4d,
+	0xb2, 0x88, 0x63, 0xb7, 0x69, 0xc3, 0x23, 0xb0, 0x3f, 0x99, 0xc5, 0x17, 0xbd, 0xbd, 0xe1, 0xb7,
+	0x36, 0x40, 0xbf, 0x46, 0xfc, 0x62, 0xbd, 0xb9, 0x11, 0xc0, 0x97, 0xe0, 0x24, 0x0f, 0xb5, 0x54,
+	0x64, 0xd6, 0x58, 0xc7, 0x7b, 0x8f, 0x36, 0x58, 0x6c, 0xa1, 0xdd, 0x96, 0xba, 0xe6, 0x05, 0x3a,
+	0xfa, 0xa9, 0x65, 0x61, 0x21, 0x38, 0x05, 0x87, 0xda, 0x0f, 0x0d, 0x1d, 0xfb, 0x60, 0x6f, 0xfe,
+	0x75, 0xd8, 0xc9, 0x86, 0x0f, 0x6f, 0x40, 0x37, 0xac, 0xd2, 0x3b, 0xae, 0x8d, 0x54, 0xf7, 0x08,
+	0x0c, 0xf6, 0xfe, 0x4b, 0xf1, 0x34, 0xe8, 0x4c, 0x83, 0x0c, 0x7c, 0x05, 0xba, 0xdb, 0xf7, 0x9a,
+	0xba, 0x67, 0x85, 0x22, 0x9f, 0xe3, 0x74, 0x8b, 0x5e, 0x5b, 0x10, 0x0e, 0x40, 0x54, 0x50, 0x9d,
+	0x2b, 0x5e, 0x39, 0x08, 0x9d, 0x84, 0xac, 0x3b, 0xd0, 0x78, 0x04, 0x9e, 0xdb, 0xa7, 0xfa, 0xa0,
+	0x9d, 0xf1, 0xd3, 0xad, 0x11, 0x3d, 0x77, 0xd7, 0x3a, 0x6f, 0x2d, 0x0f, 0xfd, 0xfd, 0x9e, 0x7f,
+	0x0f, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x53, 0x8b, 0x67, 0x13, 0x04, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/dataproc/v1/operations.proto b/googleapis/cloud/dataproc/v1/operations.proto
new file mode 100644
index 00000000..5c36ce13
--- /dev/null
+++ b/googleapis/cloud/dataproc/v1/operations.proto
@@ -0,0 +1,78 @@
+// Copyright 2016 Google Inc.
+//
+// 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.dataproc.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "OperationsProto";
+option java_package = "com.google.cloud.dataproc.v1";
+
+
+// The status of the operation.
+message ClusterOperationStatus {
+  // The operation state.
+  enum State {
+    // Unused.
+    UNKNOWN = 0;
+
+    // The operation has been created.
+    PENDING = 1;
+
+    // The operation is running.
+    RUNNING = 2;
+
+    // The operation is done; either cancelled or completed.
+    DONE = 3;
+  }
+
+  // [Output-only] A message containing the operation state.
+  State state = 1;
+
+  // [Output-only] A message containing the detailed operation state.
+  string inner_state = 2;
+
+  // [Output-only]A message containing any operation metadata details.
+  string details = 3;
+
+  // [Output-only] The time this state was entered.
+  google.protobuf.Timestamp state_start_time = 4;
+}
+
+// Metadata describing the operation.
+message ClusterOperationMetadata {
+  // [Output-only] Name of the cluster for the operation.
+  string cluster_name = 7;
+
+  // [Output-only] Cluster UUID for the operation.
+  string cluster_uuid = 8;
+
+  // [Output-only] Current operation status.
+  ClusterOperationStatus status = 9;
+
+  // [Output-only] The previous operation status.
+  repeated ClusterOperationStatus status_history = 10;
+
+  // [Output-only] The operation type.
+  string operation_type = 11;
+
+  // [Output-only] Short description of operation.
+  string description = 12;
+}
diff --git a/googleapis/cloud/language/v1beta1/language_service.pb.go b/googleapis/cloud/language/v1beta1/language_service.pb.go
index 360b71f7..d80a26c7 100644
--- a/googleapis/cloud/language/v1beta1/language_service.pb.go
+++ b/googleapis/cloud/language/v1beta1/language_service.pb.go
@@ -3,7 +3,7 @@
 // DO NOT EDIT!
 
 /*
-Package google_cloud_language_v1beta1 is a generated protocol buffer package.
+Package v1beta1 is a generated protocol buffer package.
 
 It is generated from these files:
 	google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto
@@ -25,7 +25,7 @@ It has these top-level messages:
 	AnnotateTextRequest
 	AnnotateTextResponse
 */
-package google_cloud_language_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/language/v1beta1"
+package v1beta1 // import "google.golang.org/genproto/googleapis/cloud/language/v1beta1"
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -1240,122 +1240,122 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1868 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0xdb, 0xc8,
-	0x11, 0x36, 0xf8, 0x27, 0x72, 0xf4, 0xd7, 0x9e, 0x55, 0x76, 0x19, 0x66, 0x37, 0x6b, 0x63, 0xed,
-	0x58, 0x2b, 0xdb, 0x54, 0x2c, 0x65, 0xb5, 0x8e, 0xe4, 0x6c, 0x16, 0x04, 0x41, 0x09, 0x12, 0x09,
-	0x60, 0x07, 0x00, 0xc5, 0xe4, 0x10, 0x16, 0x4c, 0x8e, 0xb8, 0xac, 0xa5, 0x00, 0x86, 0x84, 0x5c,
-	0x52, 0x8e, 0xa9, 0xca, 0x31, 0x95, 0x43, 0x6e, 0xb9, 0xa4, 0x2a, 0x79, 0x80, 0x3d, 0xe4, 0x31,
-	0x72, 0xdc, 0x27, 0x48, 0x55, 0x8e, 0x39, 0xe4, 0x90, 0x07, 0x48, 0xf5, 0xe0, 0x47, 0x3f, 0x56,
-	0x4c, 0x29, 0xf6, 0xad, 0xa7, 0xd1, 0x5f, 0x77, 0x4f, 0xf7, 0x37, 0x33, 0x4d, 0x12, 0x7b, 0x10,
-	0x04, 0x83, 0x11, 0xaf, 0x0e, 0x82, 0x91, 0xe7, 0x0f, 0xaa, 0xc1, 0x64, 0xb0, 0x3e, 0xe0, 0xfe,
-	0x78, 0x12, 0x84, 0xc1, 0x7a, 0xf4, 0xc9, 0x1b, 0x0f, 0xa7, 0xeb, 0xbd, 0x51, 0x70, 0xd2, 0x5f,
-	0x47, 0x93, 0x13, 0x6f, 0xc0, 0xd7, 0x5f, 0x3d, 0x7b, 0xc9, 0x43, 0xef, 0x59, 0xaa, 0xe8, 0x4e,
-	0xf9, 0xe4, 0xd5, 0xb0, 0xc7, 0xab, 0x02, 0x48, 0x3f, 0x8a, 0x9d, 0x0a, 0x54, 0x35, 0x31, 0xaa,
-	0xc6, 0xa8, 0x8a, 0x7e, 0xb3, 0x98, 0xde, 0x78, 0xb8, 0x1e, 0xfb, 0xed, 0x05, 0xfe, 0xd1, 0x70,
-	0xb0, 0xee, 0xf9, 0x7e, 0x10, 0x7a, 0xe1, 0x30, 0xf0, 0xa7, 0x51, 0x24, 0xf9, 0xdf, 0x12, 0x29,
-	0xd6, 0x83, 0xde, 0xc9, 0x31, 0xf7, 0x43, 0xfa, 0x25, 0xc9, 0x85, 0x67, 0x63, 0x5e, 0x96, 0xee,
-	0x49, 0xab, 0x4b, 0x1b, 0x4f, 0xaa, 0x6f, 0xcc, 0xa2, 0x9a, 0xc0, 0xaa, 0xce, 0xd9, 0x98, 0x33,
-	0x81, 0xa4, 0x15, 0x32, 0xd7, 0x0b, 0xfc, 0x90, 0xfb, 0x61, 0x39, 0x73, 0x4f, 0x5a, 0x2d, 0xed,
-	0xdd, 0x61, 0x89, 0x82, 0xae, 0x92, 0xe5, 0x41, 0x6f, 0xda, 0x8d, 0x97, 0xdd, 0x93, 0xc9, 0xb0,
-	0x9c, 0x8d, 0x6d, 0x16, 0x07, 0xbd, 0xa9, 0x1a, 0xe9, 0xdd, 0xc9, 0x90, 0x56, 0x48, 0x31, 0x89,
-	0x56, 0xce, 0xa1, 0x09, 0x4b, 0xd7, 0xf2, 0x16, 0xc9, 0x61, 0x3c, 0xba, 0x42, 0xc0, 0xf9, 0x85,
-	0xa5, 0x75, 0x5d, 0xc3, 0xb6, 0x34, 0x55, 0x6f, 0xe8, 0x5a, 0x1d, 0xee, 0xd0, 0x25, 0x42, 0xac,
-	0xa6, 0xa2, 0x1b, 0x5d, 0x47, 0xeb, 0x38, 0x20, 0xd1, 0x22, 0xc9, 0xed, 0x39, 0xad, 0x26, 0x64,
-	0x6a, 0x45, 0x52, 0x98, 0x06, 0x27, 0x93, 0x1e, 0x97, 0x77, 0x49, 0xd1, 0xe6, 0x18, 0xab, 0xc7,
-	0xe9, 0x0e, 0xc9, 0x85, 0xfc, 0x34, 0x14, 0x3b, 0x9e, 0xdf, 0x78, 0x34, 0x63, 0xc7, 0x0e, 0x3f,
-	0x0d, 0xed, 0xb1, 0xe7, 0x33, 0x01, 0x92, 0xff, 0x9e, 0x25, 0x05, 0xcd, 0x0f, 0x87, 0xe1, 0x19,
-	0xa5, 0x24, 0xe7, 0x7b, 0xc7, 0x51, 0xe5, 0x4a, 0x4c, 0xc8, 0xf4, 0x8b, 0xb8, 0x9a, 0x19, 0x51,
-	0xcd, 0xb5, 0x19, 0xbe, 0x23, 0x47, 0x17, 0x6b, 0x69, 0x92, 0xe2, 0x31, 0x0f, 0xbd, 0xbe, 0x17,
-	0x7a, 0xe5, 0xec, 0xbd, 0xec, 0xea, 0xfc, 0xc6, 0xe6, 0xcd, 0x7c, 0xb4, 0x62, 0x94, 0xe6, 0x87,
-	0x93, 0x33, 0x96, 0x3a, 0xc1, 0xb2, 0x4e, 0xbd, 0xd1, 0x10, 0x37, 0x2e, 0xca, 0x9a, 0x61, 0xe9,
-	0x9a, 0xee, 0x61, 0x30, 0x5f, 0x30, 0xa3, 0x9c, 0x17, 0xc1, 0x9e, 0xdc, 0x28, 0x58, 0x2b, 0x02,
-	0xb1, 0x14, 0x5d, 0xd9, 0x21, 0x8b, 0x97, 0x12, 0xa0, 0x40, 0xb2, 0xdf, 0xf0, 0xb3, 0xb8, 0x34,
-	0x28, 0xd2, 0x15, 0x92, 0x7f, 0xe5, 0x8d, 0x4e, 0xa2, 0xd2, 0x94, 0x58, 0xb4, 0xd8, 0xce, 0x3c,
-	0x97, 0xe4, 0xb3, 0xb8, 0xbb, 0xf3, 0x64, 0xce, 0x35, 0x0e, 0x0c, 0xf3, 0xd0, 0x80, 0x3b, 0x94,
-	0x90, 0x82, 0xa5, 0x31, 0xdb, 0x34, 0x40, 0xa2, 0x0b, 0xa4, 0xd8, 0x34, 0x55, 0xc5, 0xd1, 0x4d,
-	0x03, 0x32, 0x14, 0xc8, 0x82, 0xc9, 0x76, 0x15, 0x43, 0xff, 0x65, 0xa4, 0xc9, 0xd2, 0x12, 0xc9,
-	0x6b, 0x6d, 0xcd, 0x70, 0x20, 0x47, 0x97, 0xc9, 0xfc, 0xa1, 0xc9, 0x0e, 0xba, 0x66, 0xa3, 0xab,
-	0x30, 0x07, 0xf2, 0xf4, 0x2e, 0x59, 0x54, 0x4d, 0xc3, 0x76, 0x5b, 0x1a, 0xeb, 0xee, 0x9a, 0x66,
-	0x1d, 0x0a, 0x68, 0x6e, 0x3a, 0x7b, 0x1a, 0x83, 0x39, 0xf9, 0x77, 0x19, 0x92, 0x77, 0x82, 0x6f,
-	0xb8, 0xff, 0x56, 0xa4, 0xa0, 0x5f, 0x91, 0xa5, 0xb1, 0x37, 0x09, 0xbb, 0xc1, 0x51, 0x77, 0x3a,
-	0xe6, 0xbc, 0xf7, 0xb5, 0xd8, 0xe4, 0xfc, 0xc6, 0xe3, 0x19, 0x6e, 0x2c, 0x6f, 0x12, 0x9a, 0x47,
-	0xb6, 0x80, 0xb0, 0x85, 0xf1, 0x85, 0x15, 0x6d, 0x93, 0xe5, 0x3e, 0x1f, 0x73, 0xbf, 0xcf, 0xfd,
-	0xde, 0x59, 0x97, 0xf7, 0x07, 0x5c, 0x1c, 0x9c, 0xf9, 0x8d, 0xa7, 0xb3, 0x4e, 0x68, 0x8a, 0xd2,
-	0xfa, 0x03, 0xce, 0x96, 0xfa, 0x97, 0xd6, 0xd8, 0x86, 0x11, 0x3f, 0x3e, 0xf6, 0xe2, 0x33, 0x16,
-	0x2d, 0x64, 0x8d, 0x94, 0xf0, 0x78, 0x0c, 0xc5, 0x8d, 0x50, 0x21, 0xc5, 0x71, 0x30, 0xf2, 0x26,
-	0xc3, 0x30, 0x6a, 0x60, 0x86, 0xa5, 0x6b, 0xfa, 0x21, 0x29, 0x1d, 0x7b, 0x03, 0x7f, 0x18, 0x9e,
-	0xf4, 0xa3, 0x4e, 0x66, 0xd8, 0xb9, 0x42, 0xfe, 0x87, 0x44, 0x16, 0x2e, 0xee, 0x89, 0x2a, 0x24,
-	0x1b, 0x7a, 0x83, 0xf8, 0x6e, 0x59, 0xbf, 0x45, 0x35, 0xaa, 0x8e, 0x37, 0x60, 0x88, 0x95, 0x7f,
-	0x2f, 0x91, 0xac, 0xe3, 0x0d, 0x2e, 0xb3, 0x63, 0x8e, 0x64, 0x95, 0xfa, 0x3e, 0x48, 0x91, 0x60,
-	0x41, 0x26, 0x12, 0xda, 0x90, 0xc5, 0xd3, 0xaf, 0x9a, 0xc6, 0x3e, 0xe4, 0x50, 0x55, 0xd7, 0x90,
-	0x03, 0x45, 0x92, 0x33, 0x4c, 0xd7, 0x80, 0x02, 0xaa, 0x0c, 0xb7, 0x05, 0x73, 0xa8, 0xb2, 0x98,
-	0x69, 0x40, 0x11, 0x55, 0x16, 0x73, 0xa0, 0x84, 0xb4, 0xb0, 0x5c, 0x43, 0x75, 0x80, 0xe0, 0xd7,
-	0xb6, 0xc6, 0x6a, 0x30, 0x4f, 0xf3, 0x44, 0xea, 0xc0, 0x02, 0x7e, 0x53, 0x1a, 0x0d, 0xbd, 0x03,
-	0x8b, 0xf2, 0x7f, 0xe6, 0xc8, 0xd2, 0xe5, 0x1a, 0xd3, 0x55, 0x02, 0x5f, 0x73, 0xaf, 0xdf, 0x0d,
-	0x91, 0x49, 0xdd, 0xa1, 0xdf, 0xe7, 0xa7, 0x62, 0xcb, 0x79, 0xb6, 0x84, 0x7a, 0x41, 0x30, 0x1d,
-	0xb5, 0x54, 0x27, 0xf9, 0x91, 0xf7, 0x92, 0x8f, 0xe2, 0xfb, 0x61, 0xf3, 0x56, 0xbd, 0xac, 0x36,
-	0x11, 0xca, 0x22, 0x0f, 0xf2, 0xbf, 0x0a, 0x24, 0x2f, 0x14, 0xaf, 0x9d, 0x1b, 0xa5, 0x56, 0x63,
-	0x5a, 0x1b, 0x24, 0x91, 0xb5, 0x6a, 0xb6, 0xb0, 0x3c, 0x28, 0xd6, 0xdb, 0x6a, 0x13, 0xb2, 0xc2,
-	0xa2, 0xde, 0x6e, 0x99, 0x75, 0xc8, 0xe1, 0x46, 0x15, 0x94, 0xf2, 0xc2, 0xc0, 0xb2, 0x4c, 0x1b,
-	0x0a, 0x42, 0xe9, 0x38, 0x0c, 0xe6, 0x44, 0x51, 0xdd, 0x0e, 0x14, 0x31, 0x84, 0xe2, 0x76, 0x2c,
-	0xc5, 0xb6, 0xa1, 0x44, 0x0b, 0x24, 0xa3, 0xaa, 0x40, 0x10, 0xa2, 0x0a, 0xf7, 0xf3, 0x69, 0xd1,
-	0x45, 0xa5, 0x54, 0xdb, 0xad, 0xed, 0xc3, 0x22, 0x5d, 0x24, 0x25, 0x21, 0x0a, 0xd8, 0x52, 0xd4,
-	0x0e, 0x0b, 0x96, 0x93, 0xbe, 0x00, 0x1a, 0xd4, 0x75, 0x5b, 0x35, 0x5d, 0x66, 0x6b, 0x70, 0x17,
-	0x9d, 0xd4, 0xcd, 0xda, 0x3e, 0x50, 0x94, 0xb4, 0x8e, 0xd5, 0x84, 0xf7, 0xf0, 0xe8, 0xef, 0x9a,
-	0x9a, 0x7d, 0xa8, 0x3b, 0x7b, 0xb0, 0x82, 0x7a, 0x1d, 0x2d, 0xbe, 0x87, 0x52, 0x4b, 0x61, 0x07,
-	0xf0, 0x3e, 0x7a, 0x6b, 0x1d, 0x6a, 0xf0, 0x41, 0x24, 0xb4, 0xa1, 0x2c, 0x9a, 0xac, 0xed, 0xc2,
-	0xf7, 0x31, 0x51, 0xc3, 0x80, 0x0a, 0x3a, 0x31, 0xac, 0x78, 0xcf, 0x3f, 0xc0, 0x0c, 0x0d, 0x91,
-	0xe1, 0x87, 0x98, 0x80, 0x91, 0x66, 0xf8, 0x51, 0xc2, 0x8e, 0x1f, 0x62, 0x89, 0x0c, 0xb7, 0x55,
-	0xd3, 0x18, 0x7c, 0x8c, 0x0c, 0xb0, 0xe0, 0x1e, 0x9a, 0x5a, 0x0a, 0x53, 0x1c, 0xa5, 0xa3, 0xdb,
-	0x70, 0x1f, 0x0b, 0x62, 0x29, 0xcc, 0x41, 0x8f, 0xb2, 0x60, 0x8e, 0x28, 0xc4, 0x27, 0x82, 0x57,
-	0x98, 0xe1, 0x83, 0x48, 0xb2, 0x6d, 0x78, 0x28, 0x6c, 0x4d, 0xdb, 0xc1, 0x9c, 0x7e, 0x24, 0x16,
-	0x4c, 0x13, 0xd6, 0x8f, 0xd2, 0x85, 0xb1, 0x0f, 0xab, 0xe2, 0xc6, 0x63, 0x1a, 0x56, 0xe6, 0xd3,
-	0x88, 0x9e, 0x5a, 0x03, 0xd6, 0x62, 0xc9, 0x82, 0xc7, 0x22, 0x0a, 0x33, 0x8d, 0x26, 0x3c, 0x49,
-	0x38, 0xfb, 0x14, 0x77, 0x68, 0xd9, 0x50, 0xc5, 0x1d, 0x7e, 0xe5, 0x2a, 0x86, 0xc8, 0x67, 0x1d,
-	0x2d, 0x99, 0x8a, 0xe2, 0x8f, 0xf1, 0x83, 0x10, 0x99, 0xd6, 0x84, 0x67, 0xe2, 0x43, 0x9d, 0x99,
-	0x16, 0x6c, 0xa0, 0x0b, 0x0c, 0xb0, 0x89, 0x39, 0x30, 0xad, 0x65, 0x28, 0x86, 0x03, 0x3f, 0xc1,
-	0xa7, 0x94, 0x69, 0xb8, 0x4f, 0xa3, 0xee, 0xb6, 0xe0, 0x33, 0x8c, 0xce, 0x4c, 0xd3, 0x81, 0x2d,
-	0x94, 0x6c, 0x2c, 0xce, 0xe7, 0x42, 0x72, 0x1b, 0x0d, 0x78, 0x8e, 0x92, 0x88, 0xf8, 0x53, 0x74,
-	0xec, 0x98, 0x96, 0xae, 0xc2, 0xb6, 0x38, 0x3b, 0xa8, 0xdc, 0xc1, 0xd8, 0x6d, 0x71, 0x6d, 0xb7,
-	0x35, 0x78, 0x81, 0x26, 0x1d, 0xb1, 0xed, 0x9f, 0xe1, 0x4e, 0xd1, 0x83, 0xde, 0x81, 0x2f, 0x04,
-	0x52, 0x77, 0x9a, 0x1a, 0xfc, 0x1c, 0xed, 0x95, 0x7a, 0xdb, 0xda, 0x43, 0xf4, 0x97, 0x31, 0xe5,
-	0x54, 0xc5, 0xb5, 0x41, 0x11, 0xec, 0x74, 0x3b, 0xed, 0x36, 0xd4, 0x50, 0xac, 0x8b, 0xa8, 0x2a,
-	0x9a, 0x34, 0x4c, 0xa6, 0xe9, 0xbb, 0x06, 0xd4, 0xb1, 0x14, 0x07, 0x87, 0xa0, 0x61, 0xfc, 0xa6,
-	0x6e, 0x3b, 0xd0, 0x88, 0x8e, 0x7d, 0x4b, 0x85, 0x5d, 0x41, 0x00, 0xb3, 0x15, 0xf1, 0x72, 0x0f,
-	0x1f, 0x90, 0x64, 0x25, 0x1a, 0xaf, 0x0b, 0x4b, 0xb7, 0xa5, 0xc2, 0x3e, 0x96, 0x45, 0x35, 0x2d,
-	0x38, 0xc0, 0x4a, 0xd4, 0x75, 0x5b, 0x3c, 0x3b, 0x5a, 0x1d, 0x9a, 0x72, 0x93, 0x2c, 0x5e, 0x7a,
-	0xfc, 0xde, 0x6e, 0x8a, 0xd8, 0x25, 0xc5, 0x44, 0x43, 0xcb, 0xe7, 0xe3, 0x53, 0xf4, 0x5c, 0xa6,
-	0xc3, 0xd3, 0x7d, 0xb2, 0xf0, 0x92, 0x0f, 0x86, 0x7e, 0x37, 0x38, 0x3a, 0x9a, 0xf2, 0x68, 0xba,
-	0xca, 0xb3, 0x79, 0xa1, 0x33, 0x85, 0x4a, 0xfe, 0x15, 0xf9, 0x40, 0xf1, 0xbd, 0xd1, 0xd9, 0x6f,
-	0x78, 0x7a, 0x7f, 0x33, 0xfe, 0xeb, 0x13, 0x3e, 0x0d, 0xa9, 0x4a, 0x8a, 0xfd, 0x78, 0x5a, 0xbb,
-	0x61, 0x92, 0xc9, 0x70, 0xc7, 0x52, 0xa0, 0xfc, 0x07, 0x89, 0x94, 0x5f, 0x0f, 0x30, 0x1d, 0x07,
-	0xfe, 0x94, 0xd3, 0x43, 0x42, 0x13, 0xc3, 0xee, 0x34, 0xf9, 0x1a, 0xc7, 0x5a, 0x9d, 0x11, 0xeb,
-	0xdc, 0xdb, 0xdd, 0xc4, 0xc7, 0xa5, 0x17, 0x28, 0x9d, 0x05, 0x33, 0x57, 0x66, 0xc1, 0x6f, 0x25,
-	0xf2, 0x7e, 0x9c, 0x91, 0x68, 0xc8, 0x90, 0x4f, 0xdf, 0xe5, 0x8e, 0xa9, 0x45, 0x16, 0xb9, 0xdf,
-	0x0b, 0xfa, 0x43, 0x7f, 0xd0, 0xbd, 0x30, 0xca, 0x3d, 0x9e, 0x39, 0x19, 0x45, 0x18, 0x31, 0xcb,
-	0x2d, 0xf0, 0x0b, 0x2b, 0xf9, 0x34, 0xed, 0xd1, 0x79, 0xc2, 0x71, 0x05, 0x15, 0x52, 0xe4, 0xb1,
-	0xae, 0x2c, 0x89, 0x09, 0xec, 0xe1, 0x8d, 0x26, 0x30, 0x96, 0xc2, 0xde, 0x58, 0xab, 0xbf, 0x64,
-	0xc9, 0x7b, 0x4a, 0x34, 0xfe, 0x73, 0xe4, 0xdb, 0x3b, 0x2d, 0xd4, 0x21, 0x29, 0x1e, 0x71, 0x2f,
-	0x3c, 0x99, 0xf0, 0x69, 0x3c, 0xee, 0xec, 0xcc, 0x70, 0x72, 0x4d, 0x2a, 0xd5, 0x46, 0xec, 0x82,
-	0xa5, 0xce, 0x5e, 0xef, 0x40, 0xf6, 0x2d, 0x3b, 0x50, 0xf9, 0x93, 0x44, 0x8a, 0x49, 0x20, 0xfa,
-	0x90, 0x2c, 0xf1, 0xd3, 0x70, 0xe2, 0xf5, 0xc2, 0xee, 0xf4, 0xcc, 0x0f, 0xbd, 0xe8, 0xad, 0x2e,
-	0xb2, 0xc5, 0x58, 0x6b, 0x0b, 0x25, 0xfd, 0x94, 0x40, 0x62, 0x96, 0xb6, 0x28, 0x23, 0x0c, 0x97,
-	0x63, 0x7d, 0xd2, 0x4d, 0xfa, 0x82, 0x54, 0x12, 0xd3, 0x6b, 0xce, 0x43, 0x56, 0x80, 0xca, 0xb1,
-	0x45, 0xfd, 0x2a, 0xd9, 0xe5, 0xef, 0x32, 0x64, 0xe5, 0x72, 0x65, 0x62, 0x72, 0x68, 0xa4, 0x34,
-	0x8d, 0x7f, 0xb3, 0x24, 0xec, 0x78, 0x74, 0x83, 0x53, 0x85, 0xf6, 0xec, 0x1c, 0x49, 0x5f, 0x90,
-	0x82, 0x18, 0x4c, 0x30, 0x7d, 0xf4, 0xf1, 0x60, 0xd6, 0x55, 0x85, 0xc6, 0x2c, 0xc6, 0x5c, 0x62,
-	0x68, 0xf6, 0xff, 0x63, 0xe8, 0xf5, 0xd7, 0x44, 0xee, 0xdd, 0x5e, 0x13, 0xf9, 0xcb, 0xd4, 0x5f,
-	0x7b, 0x4e, 0x16, 0x2e, 0x12, 0x22, 0x7a, 0x0c, 0x0c, 0x0d, 0xee, 0xa0, 0xe4, 0x3a, 0x8d, 0xe7,
-	0xd1, 0x7c, 0xe4, 0x3a, 0x8d, 0x67, 0x5b, 0xd1, 0x7c, 0xe4, 0x3a, 0x8d, 0xcd, 0x0d, 0xc8, 0x6e,
-	0xfc, 0x39, 0x47, 0x96, 0x9b, 0xb1, 0x1b, 0x3b, 0xfa, 0x25, 0x4d, 0xff, 0x26, 0x11, 0xb8, 0x7a,
-	0x0d, 0xd2, 0xad, 0x99, 0x74, 0xbf, 0xf6, 0x62, 0xae, 0x7c, 0x7e, 0x6b, 0x5c, 0x44, 0x08, 0xb9,
-	0xfa, 0xdb, 0xef, 0xfe, 0xf9, 0xc7, 0xcc, 0xaa, 0xfc, 0x49, 0xfa, 0x57, 0x42, 0x52, 0x93, 0xe9,
-	0xb6, 0x77, 0x05, 0xb4, 0x2d, 0xad, 0xd1, 0x6f, 0x25, 0xb2, 0x7c, 0xe5, 0xe6, 0xa1, 0x9f, 0xdd,
-	0x2c, 0xf8, 0x95, 0xab, 0xb5, 0xb2, 0x75, 0x5b, 0x58, 0x9c, 0xf2, 0x53, 0x91, 0xf2, 0x23, 0x59,
-	0xfe, 0xdf, 0x29, 0x27, 0x18, 0xcc, 0xf8, 0xaf, 0x12, 0x59, 0xb8, 0x78, 0x16, 0xe8, 0xc6, 0xed,
-	0xaf, 0x94, 0xca, 0xe6, 0xad, 0x30, 0x71, 0xa2, 0x6b, 0x22, 0xd1, 0x07, 0xf2, 0xc7, 0xd7, 0x26,
-	0x7a, 0x0e, 0xd8, 0x96, 0xd6, 0x6a, 0x3b, 0xe4, 0x7e, 0x2f, 0x38, 0x7e, 0x73, 0x94, 0xda, 0xca,
-	0x15, 0x0e, 0x59, 0x93, 0x20, 0x0c, 0x2c, 0xe9, 0x65, 0x41, 0xfc, 0x07, 0xb3, 0xf9, 0xdf, 0x00,
-	0x00, 0x00, 0xff, 0xff, 0x1f, 0xa0, 0xf7, 0xb7, 0x44, 0x12, 0x00, 0x00,
+	// 1858 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0xcd, 0x72, 0x1b, 0xc7,
+	0x11, 0x36, 0xfe, 0x48, 0x70, 0x48, 0x90, 0xa3, 0xb1, 0x62, 0x23, 0x88, 0x1d, 0x5b, 0x6b, 0x29,
+	0xa2, 0x29, 0x09, 0x88, 0xc8, 0x98, 0x56, 0x24, 0xc5, 0xf1, 0x62, 0xb1, 0x20, 0x57, 0x04, 0x76,
+	0xd7, 0xb3, 0x0b, 0x90, 0xf1, 0x21, 0xa8, 0x15, 0x30, 0x84, 0x51, 0x26, 0x17, 0x08, 0xb0, 0x50,
+	0x09, 0x39, 0xa6, 0x2a, 0xc7, 0x54, 0x0e, 0xb9, 0xe5, 0x92, 0xaa, 0xe4, 0x01, 0x72, 0xc8, 0x63,
+	0xe4, 0xe8, 0x27, 0x48, 0x55, 0x8e, 0x39, 0xe4, 0x90, 0x07, 0x48, 0xf7, 0xec, 0x0f, 0x09, 0x8a,
+	0x11, 0xc8, 0x48, 0x17, 0x56, 0x4f, 0x6f, 0xff, 0xcd, 0xd7, 0xdf, 0xcc, 0x34, 0x48, 0x9c, 0xfe,
+	0x70, 0xd8, 0x3f, 0x11, 0xe5, 0xfe, 0xf0, 0xc4, 0xf3, 0xfb, 0xe5, 0xe1, 0xb8, 0x5f, 0xe9, 0x0b,
+	0x7f, 0x34, 0x1e, 0x06, 0xc3, 0x4a, 0xf8, 0xc9, 0x1b, 0x0d, 0x26, 0x95, 0xee, 0xc9, 0x70, 0xda,
+	0xab, 0xa0, 0xc9, 0xd4, 0xeb, 0x8b, 0xca, 0x8b, 0x87, 0xcf, 0x45, 0xe0, 0x3d, 0x4c, 0x14, 0x9d,
+	0x89, 0x18, 0xbf, 0x18, 0x74, 0x45, 0x59, 0x3a, 0xb2, 0x0f, 0xa3, 0xa0, 0xd2, 0xab, 0x1c, 0x1b,
+	0x95, 0x23, 0xaf, 0x92, 0x71, 0xb5, 0x9c, 0xf0, 0xa7, 0x12, 0xc5, 0xed, 0x0e, 0xfd, 0xe3, 0x41,
+	0xbf, 0xe2, 0xf9, 0xfe, 0x30, 0xf0, 0x82, 0xc1, 0xd0, 0x9f, 0x84, 0x99, 0x94, 0x7f, 0xa7, 0x48,
+	0xbe, 0x36, 0xec, 0x4e, 0x4f, 0x85, 0x1f, 0xb0, 0x2f, 0x49, 0x36, 0x98, 0x8d, 0x44, 0x31, 0xf5,
+	0x71, 0x6a, 0x73, 0x7d, 0xfb, 0x7e, 0xf9, 0xb5, 0x55, 0x94, 0x63, 0xb7, 0xb2, 0x0b, 0x3e, 0x5c,
+	0x7a, 0xb2, 0x12, 0x59, 0x86, 0x54, 0x01, 0x68, 0x8b, 0x69, 0x08, 0xb2, 0xb2, 0xff, 0x0e, 0x8f,
+	0x15, 0x6c, 0x93, 0x6c, 0xf4, 0xbb, 0x93, 0x4e, 0xb4, 0xec, 0x4c, 0xc7, 0x83, 0x62, 0x26, 0xb2,
+	0x29, 0xc0, 0x07, 0x2d, 0xd4, 0xb7, 0xc6, 0x03, 0x88, 0x92, 0x8f, 0xb3, 0x15, 0xb3, 0x68, 0xc2,
+	0x93, 0xb5, 0xb2, 0x4b, 0xb2, 0x98, 0x8f, 0xdd, 0x24, 0xd4, 0xfd, 0x85, 0xad, 0x77, 0x5a, 0xa6,
+	0x63, 0xeb, 0x9a, 0x51, 0x37, 0xf4, 0x1a, 0x7d, 0x87, 0xad, 0x13, 0x62, 0x37, 0x54, 0xc3, 0xec,
+	0xb8, 0xfa, 0x91, 0x4b, 0x53, 0x2c, 0x4f, 0xb2, 0xfb, 0x6e, 0xb3, 0x41, 0xd3, 0xd5, 0x3c, 0x59,
+	0x9a, 0x0c, 0xa7, 0xe3, 0xae, 0x50, 0xf6, 0x48, 0xde, 0x11, 0x98, 0xab, 0x2b, 0xd8, 0x13, 0xd8,
+	0xb1, 0x78, 0x19, 0xc8, 0x1d, 0xaf, 0x6e, 0xdf, 0x5d, 0xb0, 0x63, 0x17, 0x4c, 0x9d, 0x91, 0xe7,
+	0x73, 0xe9, 0xa4, 0xfc, 0x3d, 0x43, 0x96, 0x74, 0x3f, 0x18, 0x04, 0x33, 0xc6, 0x48, 0xd6, 0xf7,
+	0x4e, 0x43, 0xe4, 0x56, 0xb8, 0x94, 0xd9, 0x17, 0x11, 0x9a, 0x69, 0x89, 0xe6, 0xd6, 0x82, 0xd8,
+	0x61, 0xa0, 0xf3, 0x58, 0x5a, 0x24, 0x7f, 0x0a, 0x9f, 0x7a, 0x5e, 0xe0, 0x01, 0x50, 0x19, 0xa8,
+	0x6f, 0xe7, 0x6a, 0x31, 0x9a, 0x91, 0x17, 0x2c, 0xc7, 0x33, 0x9e, 0x04, 0x41, 0x58, 0x27, 0xde,
+	0xc9, 0x00, 0x37, 0x2e, 0x61, 0x4d, 0xf3, 0x64, 0xcd, 0xf6, 0x31, 0x99, 0x2f, 0x99, 0x51, 0xcc,
+	0xc9, 0x64, 0xf7, 0xaf, 0x94, 0xac, 0x19, 0x3a, 0xf1, 0xc4, 0xbb, 0xf4, 0x84, 0x14, 0xe6, 0x0a,
+	0x60, 0x94, 0x64, 0xbe, 0x15, 0xb3, 0x08, 0x1a, 0x14, 0xa1, 0x77, 0xb9, 0x17, 0xde, 0xc9, 0x34,
+	0x84, 0x66, 0x85, 0x87, 0x8b, 0xc7, 0xe9, 0x47, 0x29, 0x65, 0x16, 0x75, 0x77, 0x95, 0x2c, 0xb7,
+	0xcc, 0x03, 0xd3, 0x3a, 0x34, 0xa1, 0xa9, 0x84, 0x2c, 0xd9, 0x3a, 0x77, 0x2c, 0x13, 0x1a, 0xba,
+	0x46, 0xf2, 0x0d, 0x4b, 0x53, 0x5d, 0x03, 0x56, 0x69, 0x08, 0xbd, 0x66, 0xf1, 0x3d, 0xd5, 0x34,
+	0xbe, 0x0e, 0x35, 0x19, 0xb6, 0x42, 0x72, 0x7a, 0x5b, 0x37, 0x5d, 0x9a, 0x65, 0x1b, 0x64, 0xf5,
+	0xd0, 0xe2, 0x07, 0x1d, 0xab, 0xde, 0x51, 0xb9, 0x4b, 0x73, 0xec, 0x06, 0x29, 0x68, 0x96, 0xe9,
+	0xb4, 0x9a, 0x3a, 0xef, 0xec, 0x59, 0x56, 0x8d, 0x2e, 0xa1, 0xb9, 0xe5, 0xee, 0xeb, 0x9c, 0x2e,
+	0x2b, 0xbf, 0x4d, 0x93, 0x9c, 0x3b, 0xfc, 0x56, 0xf8, 0x6f, 0x44, 0x0a, 0xf6, 0x15, 0x59, 0x1f,
+	0x79, 0xe3, 0xa0, 0x33, 0x3c, 0xee, 0x4c, 0x46, 0x42, 0x74, 0xbf, 0x91, 0x9b, 0x5c, 0xdd, 0xbe,
+	0xb7, 0x20, 0x8c, 0x0d, 0x4e, 0xd6, 0xb1, 0x23, 0x5d, 0xf8, 0xda, 0xe8, 0xdc, 0x8a, 0xb5, 0xc9,
+	0x46, 0x4f, 0x8c, 0x84, 0xdf, 0x83, 0x4e, 0xcd, 0x3a, 0xa2, 0x07, 0xa7, 0x22, 0x23, 0x63, 0x3e,
+	0x58, 0x74, 0x42, 0x13, 0x2f, 0x1d, 0x9c, 0xf8, 0x7a, 0x6f, 0x6e, 0x8d, 0x6d, 0x38, 0x11, 0xa7,
+	0xa7, 0x5e, 0x74, 0xc6, 0xc2, 0x85, 0xa2, 0x93, 0x15, 0x3c, 0x1e, 0x03, 0x79, 0x23, 0x00, 0x65,
+	0x46, 0x70, 0xc9, 0x8c, 0xa1, 0xd3, 0x12, 0x0e, 0xa0, 0x4c, 0xbc, 0x66, 0x1f, 0x90, 0x95, 0x53,
+	0xaf, 0xef, 0x0f, 0x82, 0x69, 0x2f, 0xec, 0x64, 0x9a, 0x9f, 0x29, 0x94, 0x7f, 0xa4, 0xc8, 0xda,
+	0xf9, 0x3d, 0x31, 0x95, 0x64, 0x02, 0xaf, 0x1f, 0xdd, 0x2d, 0x95, 0x6b, 0xa0, 0x51, 0x76, 0xbd,
+	0x3e, 0x47, 0x5f, 0xe5, 0x77, 0x29, 0x92, 0x81, 0xc5, 0x3c, 0x3b, 0x96, 0x49, 0x46, 0xad, 0x3d,
+	0x03, 0x6a, 0x48, 0xc1, 0x06, 0x56, 0x48, 0xa1, 0x0d, 0x64, 0x80, 0xd3, 0x0f, 0x0d, 0x7f, 0x06,
+	0x5c, 0x00, 0x55, 0x4d, 0x47, 0x0e, 0x80, 0xca, 0xb4, 0x5a, 0x26, 0xb4, 0x1e, 0x54, 0x66, 0xab,
+	0x49, 0x97, 0x51, 0x65, 0x73, 0x20, 0x4f, 0x1e, 0x55, 0x36, 0x30, 0x65, 0x05, 0x69, 0x61, 0xb7,
+	0x4c, 0xcd, 0xa5, 0x04, 0xbf, 0xb6, 0x75, 0x5e, 0xa5, 0xab, 0x2c, 0x47, 0x52, 0x47, 0x74, 0x0d,
+	0xbf, 0xa9, 0xf5, 0xba, 0x71, 0x44, 0x0b, 0xca, 0x7f, 0x96, 0xc9, 0xfa, 0x3c, 0xc6, 0x70, 0xc9,
+	0xd1, 0x6f, 0x84, 0xd7, 0xeb, 0x04, 0xc8, 0xa4, 0xce, 0x00, 0xbe, 0xbc, 0x94, 0x5b, 0xce, 0xf1,
+	0x75, 0xd4, 0x4b, 0x82, 0x19, 0xa8, 0x65, 0x06, 0xa0, 0xef, 0x3d, 0x17, 0x27, 0xd1, 0xfd, 0xb0,
+	0x73, 0xad, 0x5e, 0x96, 0x1b, 0xe8, 0xca, 0xc3, 0x08, 0xca, 0xbf, 0x96, 0x48, 0x4e, 0x2a, 0x5e,
+	0x39, 0x37, 0x6a, 0xb5, 0xca, 0xf5, 0x36, 0x80, 0x83, 0x55, 0x6b, 0x56, 0x13, 0xe1, 0x41, 0xb1,
+	0xd6, 0xd6, 0x1a, 0x00, 0x10, 0x5a, 0xd4, 0xda, 0x4d, 0x38, 0x0a, 0x59, 0xdc, 0xa8, 0x8a, 0x52,
+	0x4e, 0x1a, 0xd8, 0xb6, 0xe5, 0x00, 0x48, 0xa8, 0x74, 0x5d, 0x38, 0x1e, 0x12, 0xd4, 0xd6, 0x11,
+	0x80, 0x04, 0x29, 0x40, 0xb0, 0x55, 0xc7, 0x01, 0xa0, 0x96, 0x48, 0x5a, 0xd3, 0x00, 0x25, 0x70,
+	0xd1, 0x64, 0xf8, 0xd5, 0x04, 0x74, 0x89, 0x94, 0xe6, 0xb4, 0xaa, 0xcf, 0x68, 0x81, 0x15, 0xc8,
+	0x8a, 0x14, 0xa5, 0xdb, 0x7a, 0xd8, 0x0e, 0x9b, 0x6e, 0xc4, 0x7d, 0xa1, 0x68, 0x50, 0x33, 0x1c,
+	0xcd, 0x6a, 0x71, 0x47, 0xa7, 0x37, 0x30, 0x48, 0xcd, 0x02, 0x4f, 0x86, 0x92, 0x7e, 0x64, 0x37,
+	0xe8, 0xbb, 0x78, 0xf4, 0xf7, 0x2c, 0xdd, 0x39, 0x34, 0xdc, 0x7d, 0x7a, 0x13, 0xf5, 0x06, 0x5a,
+	0x7c, 0x0f, 0xa5, 0xa6, 0xca, 0x0f, 0xe8, 0x7b, 0x18, 0xad, 0x79, 0xa8, 0xd3, 0xf7, 0x43, 0xa1,
+	0x4d, 0x8b, 0xb2, 0xc9, 0xfa, 0x1e, 0xfd, 0x3e, 0x16, 0x6a, 0x9a, 0xb4, 0x84, 0x41, 0x4c, 0x3b,
+	0xda, 0xf3, 0x0f, 0xb0, 0x42, 0x53, 0x56, 0xf8, 0x01, 0x16, 0x60, 0x26, 0x15, 0x7e, 0x18, 0xb3,
+	0xe3, 0x87, 0x08, 0x11, 0x08, 0x55, 0xb8, 0x22, 0x3e, 0x42, 0x06, 0xd8, 0xf4, 0x63, 0x34, 0xb5,
+	0x55, 0xae, 0xba, 0xea, 0x91, 0xe1, 0xd0, 0x5b, 0x08, 0x08, 0x2c, 0x5d, 0x8c, 0xa8, 0x48, 0xe6,
+	0x48, 0x20, 0x3e, 0x91, 0xbc, 0xc2, 0x0a, 0x6f, 0x87, 0x12, 0x84, 0xbd, 0x23, 0x6d, 0x2d, 0xc7,
+	0xc5, 0x9a, 0x7e, 0x24, 0x17, 0x5c, 0x97, 0xd6, 0x77, 0x93, 0x05, 0x20, 0xb7, 0x29, 0x6f, 0x3c,
+	0xae, 0x23, 0x32, 0x9f, 0x86, 0xf4, 0xd4, 0xeb, 0x74, 0x2b, 0x92, 0x6c, 0x7a, 0x4f, 0x66, 0x01,
+	0xca, 0x36, 0xe8, 0xfd, 0x98, 0xb3, 0x0f, 0x70, 0x87, 0xb6, 0x43, 0xcb, 0xb8, 0xc3, 0xaf, 0x5a,
+	0xaa, 0x29, 0xeb, 0xa9, 0xa0, 0x25, 0xd7, 0x50, 0xfc, 0x31, 0x7e, 0x90, 0x22, 0xd7, 0x1b, 0xf4,
+	0xa1, 0xfc, 0x50, 0xe3, 0x96, 0x4d, 0xb7, 0x31, 0x04, 0x26, 0xd8, 0xc1, 0x1a, 0xb8, 0xde, 0x34,
+	0xc1, 0x99, 0xfe, 0x04, 0x9f, 0x52, 0x48, 0x06, 0xfb, 0x34, 0x6b, 0x00, 0xc4, 0x67, 0x98, 0x9d,
+	0x5b, 0x96, 0x4b, 0x77, 0x51, 0x72, 0x10, 0x9c, 0xcf, 0xa5, 0xd4, 0xaa, 0xd7, 0xe9, 0x23, 0x94,
+	0x64, 0xc6, 0x9f, 0x62, 0x60, 0xd7, 0xb2, 0x0d, 0x8d, 0x3e, 0x96, 0x67, 0x07, 0x95, 0x4f, 0x30,
+	0x77, 0x5b, 0x5e, 0xdb, 0x6d, 0x9d, 0x3e, 0x45, 0x93, 0x23, 0xb9, 0xed, 0x9f, 0xe1, 0x4e, 0x31,
+	0x02, 0x1c, 0xa7, 0x2f, 0xa4, 0xa7, 0xe1, 0x36, 0x74, 0xfa, 0x73, 0xb4, 0x87, 0x26, 0xd9, 0xfb,
+	0xe8, 0xfd, 0x65, 0x44, 0x39, 0x4d, 0x6d, 0x39, 0x54, 0x95, 0xec, 0x6c, 0x1d, 0xb5, 0xdb, 0xb4,
+	0x8a, 0x62, 0x4d, 0x66, 0xd5, 0xd0, 0xa4, 0x6e, 0x71, 0xdd, 0xd8, 0x33, 0x69, 0x0d, 0xa1, 0x38,
+	0x38, 0xa4, 0x3a, 0xe6, 0x6f, 0x18, 0x8e, 0x4b, 0xeb, 0xe1, 0xb1, 0x6f, 0x6a, 0x74, 0x4f, 0x12,
+	0x00, 0x24, 0xd9, 0xf5, 0x7d, 0x7c, 0x40, 0xe2, 0x95, 0x6c, 0xbc, 0x21, 0x2d, 0x5b, 0x60, 0xf9,
+	0x0c, 0x61, 0xd1, 0x00, 0x9f, 0x03, 0x44, 0x02, 0xb8, 0x29, 0x9f, 0x1d, 0x18, 0x32, 0x1a, 0x4a,
+	0x83, 0x14, 0xe6, 0x1e, 0xbf, 0x37, 0x9b, 0x22, 0x60, 0x1c, 0x89, 0x35, 0xac, 0x78, 0x36, 0x3e,
+	0x85, 0xcf, 0x65, 0x32, 0x3c, 0xdd, 0x22, 0x6b, 0xcf, 0x45, 0x7f, 0xe0, 0xc3, 0xbb, 0x72, 0x3c,
+	0x11, 0xe1, 0x74, 0x95, 0xe3, 0xab, 0x52, 0x67, 0x49, 0x95, 0xf2, 0x4b, 0xf2, 0xbe, 0xea, 0x7b,
+	0x27, 0xb3, 0x5f, 0x8b, 0xe4, 0xfe, 0xe6, 0xe2, 0x57, 0x53, 0x31, 0x09, 0x98, 0x46, 0xf2, 0xbd,
+	0x68, 0x5a, 0xbb, 0x62, 0x91, 0xf1, 0x70, 0xc7, 0x13, 0x47, 0xe5, 0xf7, 0x29, 0x52, 0x7c, 0x35,
+	0xc1, 0x64, 0x04, 0x8f, 0xbe, 0x60, 0x87, 0x84, 0xc5, 0x86, 0x30, 0xcb, 0x46, 0x5f, 0xa3, 0x5c,
+	0x9b, 0x0b, 0x72, 0x9d, 0x45, 0xbb, 0x11, 0xc7, 0x98, 0x7b, 0x81, 0x92, 0x59, 0x30, 0x7d, 0x61,
+	0x16, 0xfc, 0x6b, 0x8a, 0xbc, 0x17, 0x55, 0x24, 0x1b, 0x32, 0x10, 0x93, 0xb7, 0xb9, 0x63, 0x66,
+	0x93, 0x02, 0x5c, 0xb8, 0xc3, 0xde, 0xc0, 0xef, 0x77, 0xce, 0x8d, 0x72, 0xf7, 0x16, 0x4e, 0x46,
+	0xa1, 0x8f, 0x9c, 0xe5, 0xd6, 0xc4, 0xb9, 0x95, 0xf2, 0x32, 0xe9, 0xd1, 0x59, 0xc1, 0x11, 0x82,
+	0x2a, 0xc9, 0x8b, 0x48, 0x07, 0x15, 0xe3, 0x04, 0x76, 0xe7, 0x4a, 0x13, 0x18, 0x4f, 0xdc, 0x5e,
+	0x8b, 0xd5, 0x9f, 0x33, 0xe4, 0x5d, 0x35, 0x1c, 0xff, 0x05, 0xf2, 0xed, 0xad, 0x02, 0x75, 0x48,
+	0xf2, 0xc7, 0xc2, 0x0b, 0xa6, 0x63, 0xa8, 0x3d, 0x1c, 0x77, 0x9e, 0x2c, 0x08, 0x72, 0x49, 0x29,
+	0xe5, 0x7a, 0x14, 0x82, 0x27, 0xc1, 0x5e, 0xed, 0x40, 0xe6, 0x0d, 0x3b, 0x50, 0xfa, 0x23, 0xfc,
+	0xe0, 0x89, 0x13, 0xb1, 0x3b, 0x64, 0x1d, 0xf2, 0x8f, 0xbd, 0x2e, 0x90, 0x76, 0xe6, 0x07, 0x5e,
+	0xf8, 0x56, 0xe7, 0x79, 0x21, 0xd2, 0x3a, 0x52, 0xc9, 0x3e, 0x25, 0x34, 0x36, 0x4b, 0x5a, 0x94,
+	0x96, 0x86, 0x1b, 0x91, 0x3e, 0xee, 0x26, 0x7b, 0x4a, 0x4a, 0xb1, 0xe9, 0x25, 0xe7, 0x21, 0x23,
+	0x9d, 0x8a, 0x91, 0x45, 0xed, 0x22, 0xd9, 0x95, 0xef, 0xd2, 0xe4, 0xe6, 0x3c, 0x32, 0x11, 0x39,
+	0x60, 0x28, 0x9b, 0x44, 0xbf, 0x59, 0x62, 0x76, 0xdc, 0xbd, 0xc2, 0xa9, 0x42, 0x7b, 0x7e, 0xe6,
+	0x09, 0xd5, 0x2d, 0xc9, 0xc1, 0x04, 0xcb, 0xc7, 0x18, 0xb7, 0x17, 0x5d, 0x55, 0x68, 0xcc, 0x23,
+	0x9f, 0x39, 0x86, 0x66, 0xfe, 0x3f, 0x86, 0x5e, 0x7e, 0x4d, 0x64, 0xdf, 0xee, 0x35, 0x91, 0x9b,
+	0xa7, 0xfe, 0xd6, 0x23, 0xb2, 0x76, 0x9e, 0x10, 0xe1, 0x63, 0x60, 0xea, 0x30, 0x21, 0x81, 0xd4,
+	0x72, 0xeb, 0x8f, 0xc2, 0xf9, 0x08, 0xa4, 0x87, 0xbb, 0xe1, 0x7c, 0x04, 0xe2, 0xce, 0x36, 0xcd,
+	0x6c, 0xff, 0x29, 0x4b, 0x36, 0x1a, 0x51, 0x18, 0x27, 0xfc, 0x25, 0xcd, 0xfe, 0x96, 0x22, 0xf4,
+	0xe2, 0x35, 0xc8, 0x76, 0x17, 0xd2, 0xfd, 0xd2, 0x8b, 0xb9, 0xf4, 0xf9, 0xb5, 0xfd, 0x42, 0x42,
+	0x28, 0xe5, 0xdf, 0x7c, 0xf7, 0xcf, 0x3f, 0xa4, 0x37, 0x95, 0x4f, 0x92, 0x7f, 0x25, 0xc4, 0x98,
+	0x4c, 0x1e, 0x7b, 0x17, 0x9c, 0x1e, 0xa7, 0xb6, 0x18, 0x5c, 0x95, 0x1b, 0x17, 0x6e, 0x1e, 0xf6,
+	0xd9, 0xd5, 0x92, 0x5f, 0xb8, 0x5a, 0x4b, 0xbb, 0xd7, 0x75, 0x8b, 0x4a, 0x7e, 0x20, 0x4b, 0xbe,
+	0xab, 0x28, 0xff, 0xbb, 0xe4, 0xd8, 0x07, 0x2b, 0xfe, 0x0b, 0xfc, 0x80, 0x38, 0x7f, 0x16, 0xd8,
+	0xf6, 0xf5, 0xaf, 0x94, 0xd2, 0xce, 0xb5, 0x7c, 0xa2, 0x42, 0xb7, 0x64, 0xa1, 0xb7, 0x95, 0x8f,
+	0x2e, 0x2d, 0xf4, 0xcc, 0x01, 0xaa, 0xac, 0xce, 0xc8, 0xad, 0xee, 0xf0, 0xf4, 0xf5, 0x59, 0xaa,
+	0x37, 0x2f, 0x70, 0xc8, 0xc6, 0x7f, 0xbd, 0xd8, 0xa9, 0xaf, 0x9f, 0xbe, 0xc9, 0xff, 0x8e, 0x9e,
+	0x2f, 0x49, 0xc3, 0x9d, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xee, 0x69, 0x85, 0xb5, 0x82, 0x12,
+	0x00, 0x00,
 }
diff --git a/googleapis/cloud/language/v1beta1/language_service.proto b/googleapis/cloud/language/v1beta1/language_service.proto
index df5f9a08..d753c3b4 100644
--- a/googleapis/cloud/language/v1beta1/language_service.proto
+++ b/googleapis/cloud/language/v1beta1/language_service.proto
@@ -22,6 +22,7 @@ option java_multiple_files = true;
 option java_outer_classname = "LanguageServiceProto";
 option java_package = "com.google.cloud.language.v1beta1";
 
+option go_package = "google.golang.org/genproto/googleapis/cloud/language/v1beta1";
 
 // Provides text analysis operations such as sentiment analysis and entity
 // recognition.
diff --git a/googleapis/cloud/ml/v1beta1/job_service.pb.go b/googleapis/cloud/ml/v1beta1/job_service.pb.go
new file mode 100644
index 00000000..c33f6421
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/job_service.pb.go
@@ -0,0 +1,1372 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto
+// DO NOT EDIT!
+
+/*
+Package google_cloud_ml_v1beta1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto
+	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto
+	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto
+	google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto
+
+It has these top-level messages:
+	TrainingInput
+	HyperparameterSpec
+	ParameterSpec
+	HyperparameterOutput
+	TrainingOutput
+	PredictionInput
+	PredictionOutput
+	Job
+	CreateJobRequest
+	ListJobsRequest
+	ListJobsResponse
+	GetJobRequest
+	CancelJobRequest
+	Model
+	Version
+	CreateModelRequest
+	ListModelsRequest
+	ListModelsResponse
+	GetModelRequest
+	DeleteModelRequest
+	CreateVersionRequest
+	ListVersionsRequest
+	ListVersionsResponse
+	GetVersionRequest
+	DeleteVersionRequest
+	SetDefaultVersionRequest
+	OperationMetadata
+	PredictRequest
+	GetConfigRequest
+	GetConfigResponse
+*/
+package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// A scale tier is an abstract representation of the resources Cloud ML
+// will allocate to a training job. When selecting a scale tier for your
+// training job, you should consider the size of your training dataset and
+// the complexity of your model. As the tiers increase, virtual machines are
+// added to handle your job, and the individual machines in the cluster
+// generally have more memory and greater processing power than they do at
+// lower tiers. The number of training units charged per hour of processing
+// increases as tiers get more advanced. Refer to the
+// [pricing guide](/ml/pricing) for more details.
+type TrainingInput_ScaleTier int32
+
+const (
+	// A single worker instance. This tier is suitable for learning how to use
+	// Cloud ML, and for experimenting with new models using small datasets.
+	TrainingInput_BASIC TrainingInput_ScaleTier = 0
+	// Many workers and a few parameter servers.
+	TrainingInput_STANDARD_1 TrainingInput_ScaleTier = 1
+	// A large number of workers with many parameter servers.
+	TrainingInput_PREMIUM_1 TrainingInput_ScaleTier = 3
+	// The CUSTOM tier is not a set tier, but rather enables you to use your
+	// own cluster specification. When you use this tier, you must also set
+	// valid values for `worker_count` and `parameter_server_count`, and you can
+	// specify the type of virtual machines to use for the different types of
+	// workers by setting `master_type`, `worker_type`, and
+	// `parameter_server_type`.
+	TrainingInput_CUSTOM TrainingInput_ScaleTier = 5
+)
+
+var TrainingInput_ScaleTier_name = map[int32]string{
+	0: "BASIC",
+	1: "STANDARD_1",
+	3: "PREMIUM_1",
+	5: "CUSTOM",
+}
+var TrainingInput_ScaleTier_value = map[string]int32{
+	"BASIC":      0,
+	"STANDARD_1": 1,
+	"PREMIUM_1":  3,
+	"CUSTOM":     5,
+}
+
+func (x TrainingInput_ScaleTier) String() string {
+	return proto.EnumName(TrainingInput_ScaleTier_name, int32(x))
+}
+func (TrainingInput_ScaleTier) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
+
+// The available types of optimization goals.
+type HyperparameterSpec_GoalType int32
+
+const (
+	// Goal Type will default to maximize.
+	HyperparameterSpec_GOAL_TYPE_UNSPECIFIED HyperparameterSpec_GoalType = 0
+	// Maximize the goal metric.
+	HyperparameterSpec_MAXIMIZE HyperparameterSpec_GoalType = 1
+	// Minimize the goal metric.
+	HyperparameterSpec_MINIMIZE HyperparameterSpec_GoalType = 2
+)
+
+var HyperparameterSpec_GoalType_name = map[int32]string{
+	0: "GOAL_TYPE_UNSPECIFIED",
+	1: "MAXIMIZE",
+	2: "MINIMIZE",
+}
+var HyperparameterSpec_GoalType_value = map[string]int32{
+	"GOAL_TYPE_UNSPECIFIED": 0,
+	"MAXIMIZE":              1,
+	"MINIMIZE":              2,
+}
+
+func (x HyperparameterSpec_GoalType) String() string {
+	return proto.EnumName(HyperparameterSpec_GoalType_name, int32(x))
+}
+func (HyperparameterSpec_GoalType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{1, 0}
+}
+
+// The type of the parameter.
+type ParameterSpec_ParameterType int32
+
+const (
+	// You must specify a valid type. Using this unspecified type will result in
+	// an error.
+	ParameterSpec_PARAMETER_TYPE_UNSPECIFIED ParameterSpec_ParameterType = 0
+	// Type for real-valued parameters.
+	ParameterSpec_DOUBLE ParameterSpec_ParameterType = 1
+	// Type for integral parameters.
+	ParameterSpec_INTEGER ParameterSpec_ParameterType = 2
+	// The parameter is categorical, with a value chosen from the categories
+	// field.
+	ParameterSpec_CATEGORICAL ParameterSpec_ParameterType = 3
+	// The parameter is real valued, with a fixed set of feasible points. If
+	// `type==DISCRETE`, feasible_points must be provided, and
+	// {`min_value`, `max_value`} will be ignored.
+	ParameterSpec_DISCRETE ParameterSpec_ParameterType = 4
+)
+
+var ParameterSpec_ParameterType_name = map[int32]string{
+	0: "PARAMETER_TYPE_UNSPECIFIED",
+	1: "DOUBLE",
+	2: "INTEGER",
+	3: "CATEGORICAL",
+	4: "DISCRETE",
+}
+var ParameterSpec_ParameterType_value = map[string]int32{
+	"PARAMETER_TYPE_UNSPECIFIED": 0,
+	"DOUBLE":                     1,
+	"INTEGER":                    2,
+	"CATEGORICAL":                3,
+	"DISCRETE":                   4,
+}
+
+func (x ParameterSpec_ParameterType) String() string {
+	return proto.EnumName(ParameterSpec_ParameterType_name, int32(x))
+}
+func (ParameterSpec_ParameterType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{2, 0}
+}
+
+// The type of scaling that should be applied to this parameter.
+type ParameterSpec_ScaleType int32
+
+const (
+	// By default, no scaling is applied.
+	ParameterSpec_NONE ParameterSpec_ScaleType = 0
+	// Scales the feasible space to (0, 1) linearly.
+	ParameterSpec_UNIT_LINEAR_SCALE ParameterSpec_ScaleType = 1
+	// Scales the feasible space logarithmically to (0, 1). The entire feasible
+	// space must be strictly positive.
+	ParameterSpec_UNIT_LOG_SCALE ParameterSpec_ScaleType = 2
+	// Scales the feasible space "reverse" logarithmically to (0, 1). The result
+	// is that values close to the top of the feasible space are spread out more
+	// than points near the bottom. The entire feasible space must be strictly
+	// positive.
+	ParameterSpec_UNIT_REVERSE_LOG_SCALE ParameterSpec_ScaleType = 3
+)
+
+var ParameterSpec_ScaleType_name = map[int32]string{
+	0: "NONE",
+	1: "UNIT_LINEAR_SCALE",
+	2: "UNIT_LOG_SCALE",
+	3: "UNIT_REVERSE_LOG_SCALE",
+}
+var ParameterSpec_ScaleType_value = map[string]int32{
+	"NONE":                   0,
+	"UNIT_LINEAR_SCALE":      1,
+	"UNIT_LOG_SCALE":         2,
+	"UNIT_REVERSE_LOG_SCALE": 3,
+}
+
+func (x ParameterSpec_ScaleType) String() string {
+	return proto.EnumName(ParameterSpec_ScaleType_name, int32(x))
+}
+func (ParameterSpec_ScaleType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
+
+// The format used to separate data instances in the source files.
+type PredictionInput_DataFormat int32
+
+const (
+	// Unspecified format.
+	PredictionInput_DATA_FORMAT_UNSPECIFIED PredictionInput_DataFormat = 0
+	// The source file is a text file with instances separated by the
+	// new-line character.
+	PredictionInput_TEXT PredictionInput_DataFormat = 1
+	// The source file is a TFRecord file.
+	PredictionInput_TF_RECORD PredictionInput_DataFormat = 2
+	// The source file is a GZIP-compressed TFRecord file.
+	PredictionInput_TF_RECORD_GZIP PredictionInput_DataFormat = 3
+)
+
+var PredictionInput_DataFormat_name = map[int32]string{
+	0: "DATA_FORMAT_UNSPECIFIED",
+	1: "TEXT",
+	2: "TF_RECORD",
+	3: "TF_RECORD_GZIP",
+}
+var PredictionInput_DataFormat_value = map[string]int32{
+	"DATA_FORMAT_UNSPECIFIED": 0,
+	"TEXT":           1,
+	"TF_RECORD":      2,
+	"TF_RECORD_GZIP": 3,
+}
+
+func (x PredictionInput_DataFormat) String() string {
+	return proto.EnumName(PredictionInput_DataFormat_name, int32(x))
+}
+func (PredictionInput_DataFormat) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{5, 0}
+}
+
+// Describes the job state.
+type Job_State int32
+
+const (
+	// The job state is unspecified.
+	Job_STATE_UNSPECIFIED Job_State = 0
+	// The job has been just created and processing has not yet begun.
+	Job_QUEUED Job_State = 1
+	// The service is preparing to run the job.
+	Job_PREPARING Job_State = 2
+	// The job is in progress.
+	Job_RUNNING Job_State = 3
+	// The job completed successfully.
+	Job_SUCCEEDED Job_State = 4
+	// The job failed.
+	// `error_message` should contain the details of the failure.
+	Job_FAILED Job_State = 5
+	// The job is being cancelled.
+	// `error_message` should describe the reason for the cancellation.
+	Job_CANCELLING Job_State = 6
+	// The job has been cancelled.
+	// `error_message` should describe the reason for the cancellation.
+	Job_CANCELLED Job_State = 7
+)
+
+var Job_State_name = map[int32]string{
+	0: "STATE_UNSPECIFIED",
+	1: "QUEUED",
+	2: "PREPARING",
+	3: "RUNNING",
+	4: "SUCCEEDED",
+	5: "FAILED",
+	6: "CANCELLING",
+	7: "CANCELLED",
+}
+var Job_State_value = map[string]int32{
+	"STATE_UNSPECIFIED": 0,
+	"QUEUED":            1,
+	"PREPARING":         2,
+	"RUNNING":           3,
+	"SUCCEEDED":         4,
+	"FAILED":            5,
+	"CANCELLING":        6,
+	"CANCELLED":         7,
+}
+
+func (x Job_State) String() string {
+	return proto.EnumName(Job_State_name, int32(x))
+}
+func (Job_State) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
+
+// Represents input parameters for a training job.
+type TrainingInput struct {
+	// Required. Specifies the machine types, the number of replicas for workers
+	// and parameter servers.
+	ScaleTier TrainingInput_ScaleTier `protobuf:"varint,1,opt,name=scale_tier,json=scaleTier,enum=google.cloud.ml.v1beta1.TrainingInput_ScaleTier" json:"scale_tier,omitempty"`
+	// Optional. Specifies the type of virtual machine to use for your training
+	// job's master worker.
+	//
+	// The following types are supported:
+	//
+	// <dl>
+	//   <dt>standard</dt>
+	//   <dd>
+	//   A basic machine configuration suitable for training simple models with
+	//   small to moderate datasets.
+	//   </dd>
+	//   <dt>large_model</dt>
+	//   <dd>
+	//   A machine with a lot of memory, specially suited for parameter servers
+	//   when your model is large (having many hidden layers or layers with very
+	//   large numbers of nodes).
+	//   </dd>
+	//   <dt>complex_model_s</dt>
+	//   <dd>
+	//   A machine suitable for the master and workers of the cluster when your
+	//   model requires more computation than the standard machine can handle
+	//   satisfactorily.
+	//   </dd>
+	//   <dt>complex_model_m</dt>
+	//   <dd>
+	//   A machine with roughly twice the number of cores and roughly double the
+	//   memory of `complex_model_s`.
+	//   </dd>
+	//   <dt>complex_model_l</dt>
+	//   <dd>
+	//   A machine with roughly twice the number of cores and roughly double the
+	//   memory of `complex_model_m`.
+	//   </dd>
+	// </dl>
+	//
+	// This value can only be used when `ScaleTier` is set to `CUSTOM`.
+	MasterType string `protobuf:"bytes,2,opt,name=master_type,json=masterType" json:"master_type,omitempty"`
+	// Optional. Specifies the type of virtual machine to use for your training
+	// job's worker nodes.
+	//
+	// The supported values are the same as those described in the entry for
+	// `master_type`.
+	//
+	// This value must be present when `scale_tier` is set to `CUSTOM` and
+	// `worker_count` is greater than zero.
+	WorkerType string `protobuf:"bytes,3,opt,name=worker_type,json=workerType" json:"worker_type,omitempty"`
+	// Optional. Specifies the type of virtual machine to use for your training
+	// job's parameter server.
+	//
+	// The supported values are the same as those described in the entry for
+	// `master_type`.
+	//
+	// This value must be present when `scale_tier` is set to `CUSTOM` and
+	// `parameter_server_count` is greater than zero.
+	ParameterServerType string `protobuf:"bytes,4,opt,name=parameter_server_type,json=parameterServerType" json:"parameter_server_type,omitempty"`
+	// Optional. The number of worker replicas to use for the training job. Each
+	// replica in the cluster will be of the type specified in `worker_type`.
+	//
+	// This value can only be used when `scale_tier` is set to `CUSTOM`. If you
+	// set this value, you must also set `worker_type`.
+	WorkerCount int64 `protobuf:"varint,5,opt,name=worker_count,json=workerCount" json:"worker_count,omitempty"`
+	// Optional. The number of parameter server replicas to use for the training
+	// job. Each replica in the cluster will be of the type specified in
+	// `parameter_server_type`.
+	//
+	// This value can only be used when `scale_tier` is set to `CUSTOM`.If you
+	// set this value, you must also set `parameter_server_type`.
+	ParameterServerCount int64 `protobuf:"varint,6,opt,name=parameter_server_count,json=parameterServerCount" json:"parameter_server_count,omitempty"`
+	// Required. The Google Cloud Storage location of the packages with
+	// the training program and any additional dependencies.
+	PackageUris []string `protobuf:"bytes,7,rep,name=package_uris,json=packageUris" json:"package_uris,omitempty"`
+	// Required. The Python module name to run after installing the packages.
+	PythonModule string `protobuf:"bytes,8,opt,name=python_module,json=pythonModule" json:"python_module,omitempty"`
+	// Optional. Command line arguments to pass to the program.
+	Args []string `protobuf:"bytes,10,rep,name=args" json:"args,omitempty"`
+	// Optional. The set of Hyperparameters to tune.
+	Hyperparameters *HyperparameterSpec `protobuf:"bytes,12,opt,name=hyperparameters" json:"hyperparameters,omitempty"`
+	// Required. The Google Compute Engine region to run the training job in.
+	Region string `protobuf:"bytes,14,opt,name=region" json:"region,omitempty"`
+}
+
+func (m *TrainingInput) Reset()                    { *m = TrainingInput{} }
+func (m *TrainingInput) String() string            { return proto.CompactTextString(m) }
+func (*TrainingInput) ProtoMessage()               {}
+func (*TrainingInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
+	if m != nil {
+		return m.Hyperparameters
+	}
+	return nil
+}
+
+// Represents a set of hyperparameters to optimize.
+type HyperparameterSpec struct {
+	// Required. The type of goal to use for tuning. Available types are
+	// `MAXIMIZE` and `MINIMIZE`.
+	//
+	// Defaults to `MAXIMIZE`.
+	Goal HyperparameterSpec_GoalType `protobuf:"varint,1,opt,name=goal,enum=google.cloud.ml.v1beta1.HyperparameterSpec_GoalType" json:"goal,omitempty"`
+	// Required. The set of parameters to tune.
+	Params []*ParameterSpec `protobuf:"bytes,2,rep,name=params" json:"params,omitempty"`
+	// Optional. How many training trials should be attempted to optimize
+	// the specified hyperparameters.
+	//
+	// Defaults to one.
+	MaxTrials int32 `protobuf:"varint,3,opt,name=max_trials,json=maxTrials" json:"max_trials,omitempty"`
+	// Optional. The number of training trials to run concurrently.
+	// You can reduce the time it takes to perform hyperparameter tuning by adding
+	// trials in parallel. However, each trail only benefits from the information
+	// gained in completed trials. That means that a trial does not get access to
+	// the results of trials running at the same time, which could reduce the
+	// quality of the overall optimization.
+	//
+	// Each trial will use the same scale tier and machine types.
+	//
+	// Defaults to one.
+	MaxParallelTrials int32 `protobuf:"varint,4,opt,name=max_parallel_trials,json=maxParallelTrials" json:"max_parallel_trials,omitempty"`
+}
+
+func (m *HyperparameterSpec) Reset()                    { *m = HyperparameterSpec{} }
+func (m *HyperparameterSpec) String() string            { return proto.CompactTextString(m) }
+func (*HyperparameterSpec) ProtoMessage()               {}
+func (*HyperparameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
+	if m != nil {
+		return m.Params
+	}
+	return nil
+}
+
+// Represents a single hyperparameter to optimize.
+type ParameterSpec struct {
+	// Required. The parameter name must be unique amongst all ParameterConfigs in
+	// a HyperparameterSpec message. E.g., "learning_rate".
+	ParameterName string `protobuf:"bytes,1,opt,name=parameter_name,json=parameterName" json:"parameter_name,omitempty"`
+	// Required. The type of the parameter.
+	Type ParameterSpec_ParameterType `protobuf:"varint,4,opt,name=type,enum=google.cloud.ml.v1beta1.ParameterSpec_ParameterType" json:"type,omitempty"`
+	// Required if type is `DOUBLE` or `INTEGER`. This field
+	// should be unset if type is `CATEGORICAL`. This value should be integers if
+	// type is INTEGER.
+	MinValue float64 `protobuf:"fixed64,2,opt,name=min_value,json=minValue" json:"min_value,omitempty"`
+	// Required if typeis `DOUBLE` or `INTEGER`. This field
+	// should be unset if type is `CATEGORICAL`. This value should be integers if
+	// type is `INTEGER`.
+	MaxValue float64 `protobuf:"fixed64,3,opt,name=max_value,json=maxValue" json:"max_value,omitempty"`
+	// Required if type is `CATEGORICAL`. The list of possible categories.
+	CategoricalValues []string `protobuf:"bytes,5,rep,name=categorical_values,json=categoricalValues" json:"categorical_values,omitempty"`
+	// Required if type is `DISCRETE`.
+	// A list of feasible points.
+	// The list should be in strictly increasing order. For instance, this
+	// parameter might have possible settings of 1.5, 2.5, and 4.0. This list
+	// should not contain more than 1,000 values.
+	DiscreteValues []float64 `protobuf:"fixed64,6,rep,packed,name=discrete_values,json=discreteValues" json:"discrete_values,omitempty"`
+	// Optional. How the parameter should be scaled to the hypercube.
+	// Leave unset for categorical parameters.
+	// Some kind of scaling is strongly recommended for real or integral
+	// parameters (e.g., `UNIT_LINEAR_SCALE`).
+	ScaleType ParameterSpec_ScaleType `protobuf:"varint,7,opt,name=scale_type,json=scaleType,enum=google.cloud.ml.v1beta1.ParameterSpec_ScaleType" json:"scale_type,omitempty"`
+}
+
+func (m *ParameterSpec) Reset()                    { *m = ParameterSpec{} }
+func (m *ParameterSpec) String() string            { return proto.CompactTextString(m) }
+func (*ParameterSpec) ProtoMessage()               {}
+func (*ParameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// Represents the result of a single hyperparameter tuning trial from a
+// training job. The TrainingOutput object that is returned on successful
+// completion of a training job with hyperparameter tuning includes a list
+// of HyperparameterOutput objects, one for each successful trial.
+type HyperparameterOutput struct {
+	// The trial id for these results.
+	TrialId string `protobuf:"bytes,1,opt,name=trial_id,json=trialId" json:"trial_id,omitempty"`
+	// The hyperparameters given to this trial.
+	Hyperparameters map[string]string `protobuf:"bytes,2,rep,name=hyperparameters" json:"hyperparameters,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
+	// The final objective metric seen for this trial.
+	FinalMetric *HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,3,opt,name=final_metric,json=finalMetric" json:"final_metric,omitempty"`
+	// All recorded object metrics for this trial.
+	AllMetrics []*HyperparameterOutput_HyperparameterMetric `protobuf:"bytes,4,rep,name=all_metrics,json=allMetrics" json:"all_metrics,omitempty"`
+}
+
+func (m *HyperparameterOutput) Reset()                    { *m = HyperparameterOutput{} }
+func (m *HyperparameterOutput) String() string            { return proto.CompactTextString(m) }
+func (*HyperparameterOutput) ProtoMessage()               {}
+func (*HyperparameterOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *HyperparameterOutput) GetHyperparameters() map[string]string {
+	if m != nil {
+		return m.Hyperparameters
+	}
+	return nil
+}
+
+func (m *HyperparameterOutput) GetFinalMetric() *HyperparameterOutput_HyperparameterMetric {
+	if m != nil {
+		return m.FinalMetric
+	}
+	return nil
+}
+
+func (m *HyperparameterOutput) GetAllMetrics() []*HyperparameterOutput_HyperparameterMetric {
+	if m != nil {
+		return m.AllMetrics
+	}
+	return nil
+}
+
+// An observed value of a metric.
+type HyperparameterOutput_HyperparameterMetric struct {
+	// The global training step for this metric.
+	TrainingStep int64 `protobuf:"varint,1,opt,name=training_step,json=trainingStep" json:"training_step,omitempty"`
+	// The objective value at this training step.
+	ObjectiveValue float64 `protobuf:"fixed64,2,opt,name=objective_value,json=objectiveValue" json:"objective_value,omitempty"`
+}
+
+func (m *HyperparameterOutput_HyperparameterMetric) Reset() {
+	*m = HyperparameterOutput_HyperparameterMetric{}
+}
+func (m *HyperparameterOutput_HyperparameterMetric) String() string { return proto.CompactTextString(m) }
+func (*HyperparameterOutput_HyperparameterMetric) ProtoMessage()    {}
+func (*HyperparameterOutput_HyperparameterMetric) Descriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{3, 0}
+}
+
+// Represents results of a training job.
+type TrainingOutput struct {
+	// The number of hyperparameter tuning trials that completed successfully.
+	CompletedTrialCount int64 `protobuf:"varint,1,opt,name=completed_trial_count,json=completedTrialCount" json:"completed_trial_count,omitempty"`
+	// Results for individual Hyperparameter trials.
+	Trials []*HyperparameterOutput `protobuf:"bytes,2,rep,name=trials" json:"trials,omitempty"`
+}
+
+func (m *TrainingOutput) Reset()                    { *m = TrainingOutput{} }
+func (m *TrainingOutput) String() string            { return proto.CompactTextString(m) }
+func (*TrainingOutput) ProtoMessage()               {}
+func (*TrainingOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *TrainingOutput) GetTrials() []*HyperparameterOutput {
+	if m != nil {
+		return m.Trials
+	}
+	return nil
+}
+
+// Represents input parameters for a prediction job.
+type PredictionInput struct {
+	// Required. The model or the version to use for prediction.
+	//
+	// Types that are valid to be assigned to ModelVersion:
+	//	*PredictionInput_ModelName
+	//	*PredictionInput_VersionName
+	ModelVersion isPredictionInput_ModelVersion `protobuf_oneof:"model_version"`
+	// Required. The format of the input data files.
+	DataFormat PredictionInput_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,enum=google.cloud.ml.v1beta1.PredictionInput_DataFormat" json:"data_format,omitempty"`
+	// Required. The Google Cloud Storage location of the input data files.
+	// May contain wildcards.
+	InputPaths []string `protobuf:"bytes,4,rep,name=input_paths,json=inputPaths" json:"input_paths,omitempty"`
+	// Required. The output Google Cloud Storage location.
+	OutputPath string `protobuf:"bytes,5,opt,name=output_path,json=outputPath" json:"output_path,omitempty"`
+	// Optional. The maximum amount of workers to be used for parallel processing.
+	// Defaults to 10.
+	MaxWorkerCount int64 `protobuf:"varint,6,opt,name=max_worker_count,json=maxWorkerCount" json:"max_worker_count,omitempty"`
+	// Required. The Google Compute Engine region to run the prediction job in.
+	Region string `protobuf:"bytes,7,opt,name=region" json:"region,omitempty"`
+}
+
+func (m *PredictionInput) Reset()                    { *m = PredictionInput{} }
+func (m *PredictionInput) String() string            { return proto.CompactTextString(m) }
+func (*PredictionInput) ProtoMessage()               {}
+func (*PredictionInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+type isPredictionInput_ModelVersion interface {
+	isPredictionInput_ModelVersion()
+}
+
+type PredictionInput_ModelName struct {
+	ModelName string `protobuf:"bytes,1,opt,name=model_name,json=modelName,oneof"`
+}
+type PredictionInput_VersionName struct {
+	VersionName string `protobuf:"bytes,2,opt,name=version_name,json=versionName,oneof"`
+}
+
+func (*PredictionInput_ModelName) isPredictionInput_ModelVersion()   {}
+func (*PredictionInput_VersionName) isPredictionInput_ModelVersion() {}
+
+func (m *PredictionInput) GetModelVersion() isPredictionInput_ModelVersion {
+	if m != nil {
+		return m.ModelVersion
+	}
+	return nil
+}
+
+func (m *PredictionInput) GetModelName() string {
+	if x, ok := m.GetModelVersion().(*PredictionInput_ModelName); ok {
+		return x.ModelName
+	}
+	return ""
+}
+
+func (m *PredictionInput) GetVersionName() string {
+	if x, ok := m.GetModelVersion().(*PredictionInput_VersionName); ok {
+		return x.VersionName
+	}
+	return ""
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*PredictionInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _PredictionInput_OneofMarshaler, _PredictionInput_OneofUnmarshaler, _PredictionInput_OneofSizer, []interface{}{
+		(*PredictionInput_ModelName)(nil),
+		(*PredictionInput_VersionName)(nil),
+	}
+}
+
+func _PredictionInput_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*PredictionInput)
+	// model_version
+	switch x := m.ModelVersion.(type) {
+	case *PredictionInput_ModelName:
+		b.EncodeVarint(1<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.ModelName)
+	case *PredictionInput_VersionName:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.VersionName)
+	case nil:
+	default:
+		return fmt.Errorf("PredictionInput.ModelVersion has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _PredictionInput_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*PredictionInput)
+	switch tag {
+	case 1: // model_version.model_name
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.ModelVersion = &PredictionInput_ModelName{x}
+		return true, err
+	case 2: // model_version.version_name
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.ModelVersion = &PredictionInput_VersionName{x}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _PredictionInput_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*PredictionInput)
+	// model_version
+	switch x := m.ModelVersion.(type) {
+	case *PredictionInput_ModelName:
+		n += proto.SizeVarint(1<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.ModelName)))
+		n += len(x.ModelName)
+	case *PredictionInput_VersionName:
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.VersionName)))
+		n += len(x.VersionName)
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Represents results of a prediction job.
+type PredictionOutput struct {
+	// The output Google Cloud Storage location provided at the job creation time.
+	OutputPath string `protobuf:"bytes,1,opt,name=output_path,json=outputPath" json:"output_path,omitempty"`
+	// The number of generated predictions.
+	PredictionCount int64 `protobuf:"varint,2,opt,name=prediction_count,json=predictionCount" json:"prediction_count,omitempty"`
+	// The number of data instances which resulted in errors.
+	ErrorCount int64 `protobuf:"varint,3,opt,name=error_count,json=errorCount" json:"error_count,omitempty"`
+}
+
+func (m *PredictionOutput) Reset()                    { *m = PredictionOutput{} }
+func (m *PredictionOutput) String() string            { return proto.CompactTextString(m) }
+func (*PredictionOutput) ProtoMessage()               {}
+func (*PredictionOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+// Represents a training or prediction job.
+type Job struct {
+	// Required. The user-specified id of the job.
+	JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId" json:"job_id,omitempty"`
+	// Required. Parameters to create a job.
+	//
+	// Types that are valid to be assigned to Input:
+	//	*Job_TrainingInput
+	//	*Job_PredictionInput
+	Input isJob_Input `protobuf_oneof:"input"`
+	// Output only. When the job was created.
+	CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+	// Output only. When the job processing was started.
+	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// Output only. When the job processing was completed.
+	EndTime *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
+	// Output only. The detailed state of a job.
+	State Job_State `protobuf:"varint,7,opt,name=state,enum=google.cloud.ml.v1beta1.Job_State" json:"state,omitempty"`
+	// Output only. The details of a failure or a cancellation.
+	ErrorMessage string `protobuf:"bytes,8,opt,name=error_message,json=errorMessage" json:"error_message,omitempty"`
+	// Output only. The current result of the job.
+	//
+	// Types that are valid to be assigned to Output:
+	//	*Job_TrainingOutput
+	//	*Job_PredictionOutput
+	Output isJob_Output `protobuf_oneof:"output"`
+}
+
+func (m *Job) Reset()                    { *m = Job{} }
+func (m *Job) String() string            { return proto.CompactTextString(m) }
+func (*Job) ProtoMessage()               {}
+func (*Job) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+type isJob_Input interface {
+	isJob_Input()
+}
+type isJob_Output interface {
+	isJob_Output()
+}
+
+type Job_TrainingInput struct {
+	TrainingInput *TrainingInput `protobuf:"bytes,2,opt,name=training_input,json=trainingInput,oneof"`
+}
+type Job_PredictionInput struct {
+	PredictionInput *PredictionInput `protobuf:"bytes,3,opt,name=prediction_input,json=predictionInput,oneof"`
+}
+type Job_TrainingOutput struct {
+	TrainingOutput *TrainingOutput `protobuf:"bytes,9,opt,name=training_output,json=trainingOutput,oneof"`
+}
+type Job_PredictionOutput struct {
+	PredictionOutput *PredictionOutput `protobuf:"bytes,10,opt,name=prediction_output,json=predictionOutput,oneof"`
+}
+
+func (*Job_TrainingInput) isJob_Input()     {}
+func (*Job_PredictionInput) isJob_Input()   {}
+func (*Job_TrainingOutput) isJob_Output()   {}
+func (*Job_PredictionOutput) isJob_Output() {}
+
+func (m *Job) GetInput() isJob_Input {
+	if m != nil {
+		return m.Input
+	}
+	return nil
+}
+func (m *Job) GetOutput() isJob_Output {
+	if m != nil {
+		return m.Output
+	}
+	return nil
+}
+
+func (m *Job) GetTrainingInput() *TrainingInput {
+	if x, ok := m.GetInput().(*Job_TrainingInput); ok {
+		return x.TrainingInput
+	}
+	return nil
+}
+
+func (m *Job) GetPredictionInput() *PredictionInput {
+	if x, ok := m.GetInput().(*Job_PredictionInput); ok {
+		return x.PredictionInput
+	}
+	return nil
+}
+
+func (m *Job) GetCreateTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Job) GetStartTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *Job) GetEndTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *Job) GetTrainingOutput() *TrainingOutput {
+	if x, ok := m.GetOutput().(*Job_TrainingOutput); ok {
+		return x.TrainingOutput
+	}
+	return nil
+}
+
+func (m *Job) GetPredictionOutput() *PredictionOutput {
+	if x, ok := m.GetOutput().(*Job_PredictionOutput); ok {
+		return x.PredictionOutput
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*Job) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _Job_OneofMarshaler, _Job_OneofUnmarshaler, _Job_OneofSizer, []interface{}{
+		(*Job_TrainingInput)(nil),
+		(*Job_PredictionInput)(nil),
+		(*Job_TrainingOutput)(nil),
+		(*Job_PredictionOutput)(nil),
+	}
+}
+
+func _Job_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*Job)
+	// input
+	switch x := m.Input.(type) {
+	case *Job_TrainingInput:
+		b.EncodeVarint(2<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.TrainingInput); err != nil {
+			return err
+		}
+	case *Job_PredictionInput:
+		b.EncodeVarint(3<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.PredictionInput); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("Job.Input has unexpected type %T", x)
+	}
+	// output
+	switch x := m.Output.(type) {
+	case *Job_TrainingOutput:
+		b.EncodeVarint(9<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.TrainingOutput); err != nil {
+			return err
+		}
+	case *Job_PredictionOutput:
+		b.EncodeVarint(10<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.PredictionOutput); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("Job.Output has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _Job_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*Job)
+	switch tag {
+	case 2: // input.training_input
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(TrainingInput)
+		err := b.DecodeMessage(msg)
+		m.Input = &Job_TrainingInput{msg}
+		return true, err
+	case 3: // input.prediction_input
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(PredictionInput)
+		err := b.DecodeMessage(msg)
+		m.Input = &Job_PredictionInput{msg}
+		return true, err
+	case 9: // output.training_output
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(TrainingOutput)
+		err := b.DecodeMessage(msg)
+		m.Output = &Job_TrainingOutput{msg}
+		return true, err
+	case 10: // output.prediction_output
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(PredictionOutput)
+		err := b.DecodeMessage(msg)
+		m.Output = &Job_PredictionOutput{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _Job_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*Job)
+	// input
+	switch x := m.Input.(type) {
+	case *Job_TrainingInput:
+		s := proto.Size(x.TrainingInput)
+		n += proto.SizeVarint(2<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_PredictionInput:
+		s := proto.Size(x.PredictionInput)
+		n += proto.SizeVarint(3<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	// output
+	switch x := m.Output.(type) {
+	case *Job_TrainingOutput:
+		s := proto.Size(x.TrainingOutput)
+		n += proto.SizeVarint(9<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case *Job_PredictionOutput:
+		s := proto.Size(x.PredictionOutput)
+		n += proto.SizeVarint(10<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Request message for the CreateJob method.
+type CreateJobRequest struct {
+	// Required. The project name.
+	//
+	// Authorization: requires `Editor` role on the specified project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Required. The job to create.
+	Job *Job `protobuf:"bytes,2,opt,name=job" json:"job,omitempty"`
+}
+
+func (m *CreateJobRequest) Reset()                    { *m = CreateJobRequest{} }
+func (m *CreateJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateJobRequest) ProtoMessage()               {}
+func (*CreateJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+func (m *CreateJobRequest) GetJob() *Job {
+	if m != nil {
+		return m.Job
+	}
+	return nil
+}
+
+// Request message for the ListJobs method.
+type ListJobsRequest struct {
+	// Required. The name of the project for which to list jobs.
+	//
+	// Authorization: requires `Viewer` role on the specified project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Optional. Specifies the subset of jobs to retrieve.
+	Filter string `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
+	// Optional. A page token to request the next page of results.
+	//
+	// You get the token from the `next_page_token` field of the response from
+	// the previous call.
+	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// Optional. The number of jobs to retrieve per "page" of results. If there
+	// are more remaining results than this number, the response message will
+	// contain a valid value in the `next_page_token` field.
+	//
+	// The default value is 20, and the maximum page size is 100.
+	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+}
+
+func (m *ListJobsRequest) Reset()                    { *m = ListJobsRequest{} }
+func (m *ListJobsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListJobsRequest) ProtoMessage()               {}
+func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+
+// Response message for the ListJobs method.
+type ListJobsResponse struct {
+	// The list of jobs.
+	Jobs []*Job `protobuf:"bytes,1,rep,name=jobs" json:"jobs,omitempty"`
+	// Optional. Pass this token as the `page_token` field of the request for a
+	// subsequent call.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListJobsResponse) Reset()                    { *m = ListJobsResponse{} }
+func (m *ListJobsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListJobsResponse) ProtoMessage()               {}
+func (*ListJobsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+
+func (m *ListJobsResponse) GetJobs() []*Job {
+	if m != nil {
+		return m.Jobs
+	}
+	return nil
+}
+
+// Request message for the GetJob method.
+type GetJobRequest struct {
+	// Required. The name of the job to get the description of.
+	//
+	// Authorization: requires `Viewer` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetJobRequest) Reset()                    { *m = GetJobRequest{} }
+func (m *GetJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetJobRequest) ProtoMessage()               {}
+func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+
+// Request message for the CancelJob method.
+type CancelJobRequest struct {
+	// Required. The name of the job to cancel.
+	//
+	// Authorization: requires `Editor` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *CancelJobRequest) Reset()                    { *m = CancelJobRequest{} }
+func (m *CancelJobRequest) String() string            { return proto.CompactTextString(m) }
+func (*CancelJobRequest) ProtoMessage()               {}
+func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+
+func init() {
+	proto.RegisterType((*TrainingInput)(nil), "google.cloud.ml.v1beta1.TrainingInput")
+	proto.RegisterType((*HyperparameterSpec)(nil), "google.cloud.ml.v1beta1.HyperparameterSpec")
+	proto.RegisterType((*ParameterSpec)(nil), "google.cloud.ml.v1beta1.ParameterSpec")
+	proto.RegisterType((*HyperparameterOutput)(nil), "google.cloud.ml.v1beta1.HyperparameterOutput")
+	proto.RegisterType((*HyperparameterOutput_HyperparameterMetric)(nil), "google.cloud.ml.v1beta1.HyperparameterOutput.HyperparameterMetric")
+	proto.RegisterType((*TrainingOutput)(nil), "google.cloud.ml.v1beta1.TrainingOutput")
+	proto.RegisterType((*PredictionInput)(nil), "google.cloud.ml.v1beta1.PredictionInput")
+	proto.RegisterType((*PredictionOutput)(nil), "google.cloud.ml.v1beta1.PredictionOutput")
+	proto.RegisterType((*Job)(nil), "google.cloud.ml.v1beta1.Job")
+	proto.RegisterType((*CreateJobRequest)(nil), "google.cloud.ml.v1beta1.CreateJobRequest")
+	proto.RegisterType((*ListJobsRequest)(nil), "google.cloud.ml.v1beta1.ListJobsRequest")
+	proto.RegisterType((*ListJobsResponse)(nil), "google.cloud.ml.v1beta1.ListJobsResponse")
+	proto.RegisterType((*GetJobRequest)(nil), "google.cloud.ml.v1beta1.GetJobRequest")
+	proto.RegisterType((*CancelJobRequest)(nil), "google.cloud.ml.v1beta1.CancelJobRequest")
+	proto.RegisterEnum("google.cloud.ml.v1beta1.TrainingInput_ScaleTier", TrainingInput_ScaleTier_name, TrainingInput_ScaleTier_value)
+	proto.RegisterEnum("google.cloud.ml.v1beta1.HyperparameterSpec_GoalType", HyperparameterSpec_GoalType_name, HyperparameterSpec_GoalType_value)
+	proto.RegisterEnum("google.cloud.ml.v1beta1.ParameterSpec_ParameterType", ParameterSpec_ParameterType_name, ParameterSpec_ParameterType_value)
+	proto.RegisterEnum("google.cloud.ml.v1beta1.ParameterSpec_ScaleType", ParameterSpec_ScaleType_name, ParameterSpec_ScaleType_value)
+	proto.RegisterEnum("google.cloud.ml.v1beta1.PredictionInput_DataFormat", PredictionInput_DataFormat_name, PredictionInput_DataFormat_value)
+	proto.RegisterEnum("google.cloud.ml.v1beta1.Job_State", Job_State_name, Job_State_value)
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for JobService service
+
+type JobServiceClient interface {
+	// Creates a training or a batch prediction job.
+	CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error)
+	// Lists the jobs in the project.
+	ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error)
+	// Describes a job.
+	GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error)
+	// Cancels a running job.
+	CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
+}
+
+type jobServiceClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewJobServiceClient(cc *grpc.ClientConn) JobServiceClient {
+	return &jobServiceClient{cc}
+}
+
+func (c *jobServiceClient) CreateJob(ctx context.Context, in *CreateJobRequest, opts ...grpc.CallOption) (*Job, error) {
+	out := new(Job)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.JobService/CreateJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobServiceClient) ListJobs(ctx context.Context, in *ListJobsRequest, opts ...grpc.CallOption) (*ListJobsResponse, error) {
+	out := new(ListJobsResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.JobService/ListJobs", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobServiceClient) GetJob(ctx context.Context, in *GetJobRequest, opts ...grpc.CallOption) (*Job, error) {
+	out := new(Job)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.JobService/GetJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *jobServiceClient) CancelJob(ctx context.Context, in *CancelJobRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
+	out := new(google_protobuf1.Empty)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.JobService/CancelJob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for JobService service
+
+type JobServiceServer interface {
+	// Creates a training or a batch prediction job.
+	CreateJob(context.Context, *CreateJobRequest) (*Job, error)
+	// Lists the jobs in the project.
+	ListJobs(context.Context, *ListJobsRequest) (*ListJobsResponse, error)
+	// Describes a job.
+	GetJob(context.Context, *GetJobRequest) (*Job, error)
+	// Cancels a running job.
+	CancelJob(context.Context, *CancelJobRequest) (*google_protobuf1.Empty, error)
+}
+
+func RegisterJobServiceServer(s *grpc.Server, srv JobServiceServer) {
+	s.RegisterService(&_JobService_serviceDesc, srv)
+}
+
+func _JobService_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobServiceServer).CreateJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.JobService/CreateJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobServiceServer).CreateJob(ctx, req.(*CreateJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobService_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListJobsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobServiceServer).ListJobs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.JobService/ListJobs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobServiceServer).ListJobs(ctx, req.(*ListJobsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobService_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobServiceServer).GetJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.JobService/GetJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobServiceServer).GetJob(ctx, req.(*GetJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _JobService_CancelJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CancelJobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(JobServiceServer).CancelJob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.JobService/CancelJob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(JobServiceServer).CancelJob(ctx, req.(*CancelJobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _JobService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.ml.v1beta1.JobService",
+	HandlerType: (*JobServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateJob",
+			Handler:    _JobService_CreateJob_Handler,
+		},
+		{
+			MethodName: "ListJobs",
+			Handler:    _JobService_ListJobs_Handler,
+		},
+		{
+			MethodName: "GetJob",
+			Handler:    _JobService_GetJob_Handler,
+		},
+		{
+			MethodName: "CancelJob",
+			Handler:    _JobService_CancelJob_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor0,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 1910 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1b, 0x59,
+	0x11, 0x5e, 0x69, 0x24, 0x59, 0x6a, 0xd9, 0x92, 0x72, 0x72, 0x59, 0xad, 0xb8, 0x64, 0x77, 0x52,
+	0x64, 0x9d, 0xa5, 0x22, 0x6d, 0x9c, 0x50, 0xb5, 0x64, 0x0b, 0xaa, 0x74, 0x19, 0xdb, 0x43, 0x59,
+	0x17, 0x8e, 0x46, 0x21, 0xa4, 0xa8, 0x9a, 0x1a, 0x4b, 0x63, 0x65, 0x36, 0xa3, 0x19, 0x31, 0x33,
+	0x32, 0x31, 0xd4, 0x16, 0x14, 0xf0, 0x04, 0x8f, 0x14, 0x3c, 0xf0, 0xc6, 0x2b, 0x4f, 0xfc, 0x01,
+	0x7e, 0x05, 0x7f, 0x81, 0x1f, 0x42, 0x9f, 0xcb, 0x8c, 0x2e, 0x8e, 0x2d, 0xa7, 0xd8, 0x17, 0xfb,
+	0x9c, 0x3e, 0x5f, 0x5f, 0x4e, 0x77, 0x9f, 0xee, 0x1e, 0xc1, 0xf1, 0xd4, 0xf7, 0xa7, 0xae, 0x5d,
+	0x9f, 0xfa, 0xae, 0xe5, 0x4d, 0xeb, 0x7e, 0x30, 0x6d, 0x4c, 0x6d, 0x6f, 0x1e, 0xf8, 0x91, 0xdf,
+	0x10, 0x47, 0xd6, 0xdc, 0x09, 0x1b, 0x63, 0xd7, 0x5f, 0x4c, 0x1a, 0x33, 0xb7, 0x71, 0xfe, 0xe4,
+	0xd4, 0x8e, 0xac, 0x27, 0x8d, 0xaf, 0xfc, 0x53, 0x33, 0xb4, 0x83, 0x73, 0x67, 0x6c, 0xd7, 0x39,
+	0x9a, 0x7c, 0x28, 0x25, 0x71, 0x68, 0x7d, 0xe6, 0xd6, 0x25, 0xb4, 0xa6, 0xdf, 0x4c, 0x05, 0xfe,
+	0x69, 0x48, 0x89, 0x63, 0xdf, 0x3b, 0x73, 0xa6, 0x0d, 0xcb, 0xf3, 0xfc, 0xc8, 0x8a, 0x1c, 0xdf,
+	0x0b, 0x85, 0x8e, 0xda, 0xd3, 0xa9, 0x13, 0xbd, 0x5e, 0x9c, 0xd6, 0xc7, 0xfe, 0xac, 0x21, 0xc4,
+	0x35, 0xf8, 0xc1, 0xe9, 0xe2, 0xac, 0x31, 0x8f, 0x2e, 0xe6, 0x76, 0xd8, 0xb0, 0x67, 0xb8, 0x10,
+	0x7f, 0x25, 0xd3, 0x97, 0xdb, 0x99, 0x22, 0x67, 0x66, 0x87, 0x91, 0x35, 0x9b, 0x2f, 0x57, 0x82,
+	0x59, 0xfd, 0x77, 0x06, 0xf6, 0x8c, 0xc0, 0x72, 0x3c, 0xc7, 0x9b, 0xea, 0xde, 0x7c, 0x11, 0x91,
+	0x3e, 0x40, 0x38, 0xb6, 0x5c, 0xdb, 0x8c, 0x1c, 0x3b, 0xa8, 0xa6, 0x3e, 0x4e, 0xed, 0x97, 0x0e,
+	0x3e, 0xaf, 0x5f, 0x71, 0xf9, 0xfa, 0x1a, 0x6f, 0x7d, 0xc8, 0x18, 0x0d, 0xe4, 0xa3, 0x85, 0x30,
+	0x5e, 0x92, 0xfb, 0x50, 0x9c, 0x59, 0x61, 0x64, 0x07, 0x26, 0x33, 0xa6, 0x9a, 0x46, 0x89, 0x05,
+	0x0a, 0x82, 0x64, 0x20, 0x85, 0x01, 0x7e, 0xe5, 0x07, 0x6f, 0x62, 0x80, 0x22, 0x00, 0x82, 0xc4,
+	0x01, 0x07, 0x70, 0x77, 0x6e, 0x05, 0xd6, 0xcc, 0x66, 0x42, 0x98, 0x0f, 0x63, 0x68, 0x86, 0x43,
+	0x6f, 0x27, 0x87, 0x43, 0x7e, 0xc6, 0x79, 0x3e, 0x81, 0x5d, 0x29, 0x74, 0xec, 0x2f, 0xbc, 0xa8,
+	0x9a, 0x45, 0xa8, 0x42, 0xa5, 0xa2, 0x36, 0x23, 0x91, 0x67, 0x70, 0xef, 0x92, 0x58, 0x01, 0xce,
+	0x71, 0xf0, 0x9d, 0x0d, 0xb9, 0x82, 0x0b, 0x05, 0xcf, 0xad, 0xf1, 0x1b, 0x6b, 0x6a, 0x9b, 0x8b,
+	0xc0, 0x09, 0xab, 0x3b, 0x1f, 0x2b, 0x68, 0x43, 0x51, 0xd2, 0x46, 0x48, 0x22, 0x0f, 0x60, 0x6f,
+	0x7e, 0x11, 0xbd, 0xf6, 0x3d, 0x73, 0xe6, 0x4f, 0x16, 0xae, 0x5d, 0xcd, 0x73, 0x3b, 0x77, 0x05,
+	0xb1, 0xcb, 0x69, 0x84, 0x40, 0xc6, 0x0a, 0xa6, 0x61, 0x15, 0x38, 0x3f, 0x5f, 0x93, 0x11, 0x94,
+	0x5f, 0xa3, 0xf1, 0x41, 0xa2, 0x38, 0xac, 0xee, 0x22, 0x6b, 0xf1, 0xe0, 0xfb, 0x57, 0x06, 0xe0,
+	0x78, 0x0d, 0x3f, 0x9c, 0xdb, 0x63, 0xba, 0x29, 0x83, 0xdc, 0x83, 0x5c, 0x60, 0x4f, 0x31, 0xcf,
+	0xaa, 0x25, 0x6e, 0x88, 0xdc, 0xa9, 0x4d, 0x28, 0x24, 0x11, 0x23, 0x05, 0xc8, 0xb6, 0x9a, 0x43,
+	0xbd, 0x5d, 0xf9, 0x80, 0x94, 0x00, 0x86, 0x46, 0xb3, 0xd7, 0x69, 0xd2, 0x8e, 0xf9, 0xa4, 0x92,
+	0x22, 0x7b, 0x50, 0x18, 0x50, 0xad, 0xab, 0x8f, 0xba, 0xb8, 0x55, 0x08, 0x40, 0xae, 0x3d, 0x1a,
+	0x1a, 0xfd, 0x6e, 0x25, 0xab, 0xfe, 0x2b, 0x0d, 0xe4, 0xb2, 0x09, 0xe4, 0x18, 0x32, 0x53, 0xdf,
+	0x72, 0x65, 0xfa, 0x3c, 0x7b, 0x0f, 0xeb, 0xeb, 0x47, 0xc8, 0xc7, 0x22, 0x48, 0xb9, 0x04, 0xf2,
+	0x63, 0xc8, 0xf1, 0xf3, 0x10, 0x13, 0x47, 0x41, 0x4f, 0x3c, 0xbc, 0x52, 0xd6, 0x60, 0xcd, 0x09,
+	0x92, 0x8b, 0x7c, 0x07, 0x30, 0xd5, 0xde, 0x9a, 0x51, 0xe0, 0x58, 0x6e, 0xc8, 0x73, 0x2b, 0x4b,
+	0x0b, 0x48, 0x31, 0x38, 0x81, 0xd4, 0xe1, 0x36, 0x3b, 0x66, 0x60, 0xd7, 0xb5, 0xdd, 0x18, 0x97,
+	0xe1, 0xb8, 0x5b, 0x78, 0x34, 0x90, 0x27, 0x02, 0x8f, 0x2e, 0xcb, 0xc7, 0x06, 0x92, 0x8f, 0xe0,
+	0xee, 0x51, 0xbf, 0x79, 0x62, 0x1a, 0x3f, 0x1f, 0x68, 0xe6, 0xa8, 0x37, 0x1c, 0x68, 0x6d, 0xfd,
+	0x50, 0xd7, 0x3a, 0xe8, 0xc1, 0x5d, 0xc8, 0x77, 0x9b, 0x2f, 0xf5, 0xae, 0xfe, 0x4a, 0x43, 0xff,
+	0xb1, 0x9d, 0xde, 0x13, 0xbb, 0xb4, 0xfa, 0x4f, 0x7c, 0x72, 0x6b, 0xb6, 0x92, 0xef, 0x41, 0x69,
+	0x99, 0x88, 0x1e, 0xfe, 0xe7, 0x7e, 0x2b, 0xd0, 0xbd, 0x84, 0xda, 0xc3, 0x7f, 0xcc, 0xa9, 0x49,
+	0xd6, 0x5f, 0xe7, 0xd4, 0x35, 0xe1, 0xcb, 0x9d, 0x70, 0x2a, 0x93, 0x40, 0xbe, 0x05, 0x85, 0x99,
+	0xe3, 0x99, 0xe7, 0x96, 0xbb, 0x10, 0x0f, 0x32, 0x45, 0xf3, 0x48, 0x78, 0xc1, 0xf6, 0xfc, 0x10,
+	0x5d, 0x22, 0x0e, 0x15, 0x79, 0x68, 0xbd, 0x15, 0x87, 0x8f, 0x81, 0x8c, 0xad, 0xc8, 0x9e, 0xfa,
+	0x81, 0x83, 0x99, 0x23, 0x40, 0x21, 0x3e, 0x2e, 0x96, 0xc3, 0xb7, 0x56, 0x4e, 0x38, 0x3a, 0x24,
+	0x9f, 0x42, 0x79, 0xe2, 0x84, 0xe3, 0x00, 0xf5, 0xc7, 0xd8, 0x1c, 0x62, 0x53, 0xb4, 0x14, 0x93,
+	0x25, 0x70, 0x59, 0x75, 0xd8, 0x0d, 0x77, 0xb6, 0x54, 0x9d, 0xf5, 0x1b, 0x8a, 0x1c, 0x66, 0xb7,
+	0x93, 0x55, 0x07, 0x97, 0xea, 0x74, 0xc5, 0xc9, 0x3c, 0x5a, 0xdf, 0x85, 0xda, 0xa0, 0x49, 0x9b,
+	0x5d, 0xcd, 0xd0, 0xe8, 0xbb, 0x42, 0x86, 0x59, 0xdd, 0xe9, 0x8f, 0x5a, 0x27, 0x2c, 0x60, 0x45,
+	0xd8, 0xd1, 0x7b, 0x86, 0x76, 0xa4, 0xd1, 0x4a, 0x9a, 0x94, 0xa1, 0xd8, 0x6e, 0xe2, 0xa6, 0x4f,
+	0xf5, 0x76, 0xf3, 0x04, 0xf3, 0x1f, 0xc3, 0xd9, 0xd1, 0x87, 0x6d, 0x8a, 0x92, 0x2a, 0x19, 0xf5,
+	0x17, 0xf1, 0x23, 0x62, 0x4a, 0xf2, 0x90, 0xe9, 0xf5, 0x7b, 0x1a, 0x8a, 0xbb, 0x0b, 0xb7, 0x46,
+	0x3d, 0xdd, 0x30, 0x4f, 0xf4, 0x9e, 0xd6, 0xa4, 0xe6, 0x10, 0x59, 0x99, 0x64, 0x02, 0x25, 0x41,
+	0xee, 0x1f, 0x49, 0x5a, 0x9a, 0xd4, 0xe0, 0x1e, 0xa7, 0x51, 0xed, 0x85, 0x46, 0x87, 0xda, 0xca,
+	0x99, 0xa2, 0xfe, 0x35, 0x03, 0x77, 0xd6, 0x1f, 0x49, 0x7f, 0x11, 0xb1, 0x32, 0xfd, 0x11, 0xe4,
+	0x79, 0xae, 0x9a, 0xce, 0x44, 0x66, 0xcb, 0x0e, 0xdf, 0xeb, 0x13, 0xe2, 0x5e, 0xae, 0x22, 0xe2,
+	0xed, 0xb4, 0x6e, 0xf8, 0x0e, 0x85, 0x8a, 0x0d, 0x62, 0xa8, 0x79, 0x51, 0x70, 0x71, 0xb9, 0xb8,
+	0xd8, 0xb0, 0x7b, 0xe6, 0x78, 0x68, 0x08, 0xee, 0x31, 0xf4, 0x3c, 0x63, 0xfe, 0x4f, 0x55, 0x5d,
+	0x2e, 0x89, 0x16, 0xb9, 0x5c, 0xb1, 0x21, 0x63, 0x28, 0xe2, 0x3b, 0x94, 0x4a, 0xd8, 0x03, 0x55,
+	0xbe, 0x21, 0x2d, 0x80, 0x62, 0xc5, 0x32, 0xac, 0x4d, 0x36, 0x9d, 0x2d, 0x95, 0x63, 0x41, 0x8f,
+	0x64, 0xa3, 0x33, 0xb1, 0x6d, 0xcd, 0xb9, 0xc7, 0x15, 0xba, 0x1b, 0x13, 0x87, 0x48, 0x63, 0xb9,
+	0xee, 0x9f, 0x7e, 0x65, 0x8f, 0x23, 0xe7, 0xdc, 0x5e, 0x7b, 0x5a, 0xa5, 0x84, 0xcc, 0x93, 0xbd,
+	0xd6, 0xda, 0xd4, 0x22, 0x5c, 0x4b, 0x2a, 0xa0, 0xbc, 0xb1, 0x2f, 0x64, 0x34, 0xd9, 0x92, 0xdc,
+	0x81, 0xec, 0x52, 0x50, 0x81, 0x8a, 0xcd, 0xf3, 0xf4, 0x17, 0x29, 0xf5, 0xcf, 0x29, 0x28, 0xc5,
+	0xbd, 0x57, 0x66, 0x04, 0x76, 0x49, 0x1c, 0x01, 0xe6, 0x2e, 0x4a, 0x9c, 0x88, 0x3a, 0x26, 0xbb,
+	0x99, 0x30, 0xf6, 0x76, 0x72, 0xc8, 0x4b, 0x99, 0x68, 0x66, 0x1a, 0xe4, 0x64, 0xc5, 0x13, 0x19,
+	0xf2, 0xf8, 0xbd, 0x1c, 0x4a, 0x25, 0xb3, 0xfa, 0x77, 0x05, 0xca, 0x83, 0xc0, 0x9e, 0x38, 0x63,
+	0x36, 0xcd, 0x88, 0x39, 0xe2, 0x3e, 0x16, 0x5e, 0x7f, 0x82, 0x25, 0x75, 0x59, 0xd0, 0x8e, 0x3f,
+	0xc0, 0xd2, 0xcb, 0x68, 0xbc, 0x9c, 0x3d, 0x80, 0x5d, 0x6c, 0xaa, 0x21, 0x32, 0x08, 0x48, 0x5a,
+	0x42, 0x8a, 0x92, 0xca, 0x41, 0x06, 0x14, 0x27, 0x56, 0x64, 0x99, 0x67, 0x7e, 0x30, 0xb3, 0x22,
+	0x9e, 0x5c, 0xa5, 0x83, 0xa7, 0x57, 0x17, 0x86, 0x75, 0x23, 0xea, 0x1d, 0xe4, 0x3d, 0xe4, 0xac,
+	0x14, 0x26, 0xc9, 0x9a, 0x4d, 0x1c, 0x0e, 0x3b, 0xc7, 0xba, 0x1f, 0xbd, 0x16, 0xc9, 0x84, 0x13,
+	0x07, 0x27, 0x0d, 0x18, 0x85, 0x01, 0x7c, 0x7e, 0x45, 0x8e, 0xe0, 0xc3, 0x03, 0x02, 0x04, 0x89,
+	0x21, 0xc8, 0x3e, 0x54, 0x58, 0x91, 0x5c, 0x1b, 0x31, 0xc4, 0xd4, 0x50, 0x42, 0xfa, 0xcf, 0x56,
+	0xa6, 0x8c, 0x65, 0xf3, 0xdd, 0x59, 0x6b, 0xbe, 0x2f, 0x00, 0x96, 0xd6, 0x61, 0xd1, 0xfd, 0xb0,
+	0xd3, 0x34, 0x9a, 0xe6, 0x61, 0x9f, 0x76, 0x9b, 0xc6, 0x46, 0x69, 0xc2, 0xaa, 0x62, 0x68, 0x2f,
+	0x0d, 0xd1, 0x89, 0x8d, 0x43, 0x2c, 0x14, 0xed, 0x3e, 0xed, 0x60, 0xe5, 0xc0, 0x6a, 0x92, 0x6c,
+	0xcd, 0xa3, 0x57, 0xfa, 0xa0, 0xa2, 0xb4, 0xca, 0xb0, 0x27, 0xfc, 0x2e, 0xdd, 0xa8, 0xfe, 0x16,
+	0x2a, 0x4b, 0xb7, 0xc8, 0x5c, 0xd9, 0xb8, 0x5f, 0xea, 0xd2, 0xfd, 0x1e, 0x41, 0x65, 0x9e, 0x30,
+	0xc9, 0xfb, 0xa5, 0xf9, 0xfd, 0xca, 0x4b, 0xba, 0xb8, 0x20, 0xca, 0xb2, 0x83, 0xc0, 0x8f, 0xbd,
+	0xa0, 0x70, 0x14, 0x70, 0x12, 0x07, 0xa8, 0x7f, 0xcb, 0x81, 0xf2, 0x13, 0xff, 0x14, 0x4b, 0x62,
+	0x8e, 0x8d, 0xd5, 0x49, 0xc1, 0xca, 0xe2, 0x0e, 0xcb, 0x55, 0x1f, 0x4a, 0xc9, 0xe3, 0xe2, 0x21,
+	0xe0, 0x8a, 0xae, 0xeb, 0xf4, 0x6b, 0x43, 0x27, 0x66, 0x4c, 0xf2, 0x38, 0x45, 0xe6, 0x8d, 0xd6,
+	0x6c, 0x17, 0x22, 0x45, 0x55, 0xda, 0xbf, 0x69, 0xe2, 0xa0, 0xd0, 0x95, 0x7b, 0x0a, 0xb1, 0x5f,
+	0x42, 0x11, 0x3b, 0x16, 0xb6, 0x38, 0x93, 0x0d, 0xd1, 0xbc, 0x0b, 0x17, 0x0f, 0x6a, 0xb1, 0xc4,
+	0x78, 0xe4, 0xae, 0x1b, 0xf1, 0x84, 0x4d, 0x41, 0xc0, 0x19, 0x81, 0xfc, 0x10, 0xfb, 0x5b, 0x64,
+	0x05, 0x91, 0xe0, 0xcd, 0x6e, 0xe5, 0x2d, 0x70, 0x34, 0x67, 0xfd, 0x01, 0xe4, 0x6d, 0x6f, 0x22,
+	0x18, 0x73, 0x5b, 0x19, 0x77, 0x10, 0xcb, 0xd9, 0xbe, 0x80, 0x2c, 0x52, 0xa2, 0xb8, 0x99, 0xaa,
+	0x57, 0x5e, 0x1d, 0x43, 0x53, 0x1f, 0x32, 0x24, 0x15, 0x0c, 0xac, 0xda, 0x89, 0x80, 0xa2, 0xcc,
+	0x10, 0x67, 0xda, 0x78, 0x7c, 0xe5, 0xc4, 0xae, 0xa0, 0x11, 0x0a, 0xe5, 0x24, 0x6a, 0x22, 0x6f,
+	0xaa, 0x05, 0x6e, 0xdc, 0xa7, 0x5b, 0xc3, 0x26, 0x72, 0xf0, 0x18, 0x0b, 0x63, 0xb4, 0x5e, 0xc1,
+	0x5e, 0xc2, 0xad, 0x95, 0xc0, 0x49, 0xa9, 0xc0, 0xa5, 0x3e, 0xba, 0x41, 0xe4, 0x12, 0xb9, 0x2b,
+	0xe1, 0x17, 0x34, 0xf5, 0x77, 0x29, 0xc8, 0xf2, 0x3b, 0xb2, 0xbe, 0x8c, 0xb3, 0xad, 0xf1, 0x8e,
+	0xee, 0xff, 0xd3, 0x91, 0x36, 0xc2, 0x75, 0x3c, 0xee, 0xe2, 0xb0, 0xa0, 0xf7, 0x8e, 0xf0, 0x91,
+	0xe1, 0x30, 0x40, 0x47, 0xbd, 0x1e, 0xdb, 0x28, 0xec, 0x6c, 0x38, 0x6a, 0xb7, 0x35, 0xad, 0x83,
+	0xd0, 0x0c, 0x63, 0x3b, 0x6c, 0xea, 0x27, 0xb8, 0xce, 0xb2, 0xa9, 0xb9, 0xdd, 0xec, 0xb5, 0xb5,
+	0x93, 0x13, 0x06, 0xcd, 0x31, 0xa8, 0xdc, 0xe3, 0xf1, 0x4e, 0x6b, 0x07, 0xb2, 0x3c, 0x15, 0x5b,
+	0x79, 0xc8, 0x89, 0xab, 0xa9, 0xaf, 0xa0, 0xd2, 0xe6, 0x29, 0x82, 0x21, 0xa0, 0xf6, 0x2f, 0x71,
+	0x0e, 0xe2, 0xe5, 0x02, 0xab, 0xac, 0x2d, 0xcb, 0x76, 0x81, 0xca, 0x1d, 0x0e, 0xaa, 0x0a, 0x3e,
+	0x17, 0xf9, 0x34, 0xbe, 0x7d, 0x5d, 0x30, 0x29, 0x03, 0xaa, 0x5f, 0x43, 0xf9, 0xc4, 0x09, 0x23,
+	0xdc, 0x87, 0xdb, 0x44, 0x23, 0xfd, 0xcc, 0x71, 0xb1, 0xaa, 0xcb, 0x36, 0x23, 0x77, 0x6c, 0x74,
+	0x9e, 0xb3, 0xcf, 0x9c, 0xc8, 0x7f, 0x63, 0x7b, 0xf2, 0x5b, 0xab, 0xc0, 0x28, 0x06, 0x23, 0xb0,
+	0x39, 0x91, 0x1f, 0x87, 0xce, 0xaf, 0x45, 0x46, 0x67, 0x69, 0x9e, 0x11, 0x86, 0xb8, 0x57, 0x5d,
+	0xa8, 0x2c, 0xd5, 0x87, 0x73, 0xfc, 0xc4, 0xb5, 0xc9, 0xe7, 0x90, 0x41, 0xcb, 0x42, 0xd4, 0xae,
+	0x6c, 0xbd, 0x03, 0x47, 0x92, 0x87, 0x50, 0xf6, 0xec, 0xb7, 0xac, 0x48, 0x25, 0x66, 0x08, 0x13,
+	0xf7, 0x18, 0x79, 0x10, 0x9b, 0xa2, 0x62, 0xc6, 0x1e, 0xd9, 0xd1, 0x8a, 0x17, 0xf1, 0xe3, 0x6a,
+	0x65, 0x8e, 0xe6, 0x6b, 0xf5, 0x21, 0x7a, 0xdb, 0xf2, 0xc6, 0xb6, 0x7b, 0x3d, 0xee, 0xe0, 0x1f,
+	0x19, 0x00, 0x84, 0x0c, 0xc5, 0xb7, 0x3a, 0xf9, 0x63, 0x0a, 0xe3, 0x18, 0x47, 0x89, 0x5c, 0x9d,
+	0x87, 0x9b, 0x91, 0xac, 0x5d, 0x7b, 0x41, 0xb5, 0xfe, 0xfb, 0xff, 0xfc, 0xf7, 0x2f, 0xe9, 0x7d,
+	0xf5, 0x93, 0xe4, 0x27, 0x87, 0xdf, 0x88, 0x70, 0xfc, 0x08, 0x1f, 0x35, 0x1b, 0x17, 0xc2, 0xc6,
+	0x67, 0x5f, 0xb3, 0x9f, 0x21, 0xc2, 0xe7, 0x2c, 0x9e, 0xe4, 0x4f, 0x29, 0xc8, 0xc7, 0x1e, 0x25,
+	0x57, 0xd7, 0xb1, 0x8d, 0x98, 0xd7, 0x1e, 0xdd, 0x00, 0x29, 0xc2, 0xa3, 0x3e, 0xe2, 0x16, 0x3d,
+	0x20, 0xdb, 0x2d, 0x22, 0x17, 0x90, 0x13, 0xfe, 0x26, 0x57, 0x17, 0xe9, 0xb5, 0x80, 0x6c, 0x71,
+	0xc6, 0x3b, 0x54, 0xb3, 0x50, 0xac, 0x28, 0xe6, 0x7a, 0x51, 0x3f, 0xf9, 0x03, 0x0b, 0x47, 0x1c,
+	0xc6, 0xeb, 0xc2, 0xb1, 0x11, 0xea, 0xda, 0xbd, 0x4b, 0x45, 0x53, 0x63, 0x3f, 0xa2, 0xa8, 0x4f,
+	0xb9, 0xee, 0xc7, 0xea, 0xfe, 0x56, 0xdd, 0xcf, 0xc7, 0x5c, 0xe6, 0xf3, 0xd4, 0x67, 0xad, 0x67,
+	0x70, 0x1f, 0xc7, 0xa9, 0x4b, 0xca, 0xad, 0xb9, 0x13, 0x1b, 0xd0, 0x2a, 0x2f, 0x73, 0x68, 0xc0,
+	0x34, 0x0e, 0x52, 0xa7, 0x39, 0xae, 0xfa, 0xe9, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x1d,
+	0x5c, 0x2a, 0x95, 0x12, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/ml/v1beta1/job_service.proto b/googleapis/cloud/ml/v1beta1/job_service.proto
new file mode 100644
index 00000000..93c5904c
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/job_service.proto
@@ -0,0 +1,529 @@
+// Copyright 2016 Google Inc.
+//
+// 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.ml.v1beta1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "JobServiceProto";
+option java_package = "com.google.cloud.ml.api.v1beta1";
+
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Proto file for the Machine Learning Service
+// Describes the 'job service' to manage training and prediction jobs.
+
+
+
+// Service to create and manage training and batch prediction jobs.
+service JobService {
+  // Creates a training or a batch prediction job.
+  rpc CreateJob(CreateJobRequest) returns (Job) {
+    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/jobs" body: "job" };
+  }
+
+  // Lists the jobs in the project.
+  rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
+    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/jobs" };
+  }
+
+  // Describes a job.
+  rpc GetJob(GetJobRequest) returns (Job) {
+    option (google.api.http) = { get: "/v1beta1/{name=projects/*/jobs/*}" };
+  }
+
+  // Cancels a running job.
+  rpc CancelJob(CancelJobRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = { post: "/v1beta1/{name=projects/*/jobs/*}:cancel" body: "*" };
+  }
+}
+
+// Represents input parameters for a training job.
+message TrainingInput {
+  // A scale tier is an abstract representation of the resources Cloud ML
+  // will allocate to a training job. When selecting a scale tier for your
+  // training job, you should consider the size of your training dataset and
+  // the complexity of your model. As the tiers increase, virtual machines are
+  // added to handle your job, and the individual machines in the cluster
+  // generally have more memory and greater processing power than they do at
+  // lower tiers. The number of training units charged per hour of processing
+  // increases as tiers get more advanced. Refer to the
+  // [pricing guide](/ml/pricing) for more details.
+  enum ScaleTier {
+    // A single worker instance. This tier is suitable for learning how to use
+    // Cloud ML, and for experimenting with new models using small datasets.
+    BASIC = 0;
+
+    // Many workers and a few parameter servers.
+    STANDARD_1 = 1;
+
+    // A large number of workers with many parameter servers.
+    PREMIUM_1 = 3;
+
+    // The CUSTOM tier is not a set tier, but rather enables you to use your
+    // own cluster specification. When you use this tier, you must also set
+    // valid values for `worker_count` and `parameter_server_count`, and you can
+    // specify the type of virtual machines to use for the different types of
+    // workers by setting `master_type`, `worker_type`, and
+    // `parameter_server_type`.
+    CUSTOM = 5;
+  }
+
+  // Required. Specifies the machine types, the number of replicas for workers
+  // and parameter servers.
+  ScaleTier scale_tier = 1;
+
+  // Optional. Specifies the type of virtual machine to use for your training
+  // job's master worker.
+  //
+  // The following types are supported:
+  //
+  // <dl>
+  //   <dt>standard</dt>
+  //   <dd>
+  //   A basic machine configuration suitable for training simple models with
+  //   small to moderate datasets.
+  //   </dd>
+  //   <dt>large_model</dt>
+  //   <dd>
+  //   A machine with a lot of memory, specially suited for parameter servers
+  //   when your model is large (having many hidden layers or layers with very
+  //   large numbers of nodes).
+  //   </dd>
+  //   <dt>complex_model_s</dt>
+  //   <dd>
+  //   A machine suitable for the master and workers of the cluster when your
+  //   model requires more computation than the standard machine can handle
+  //   satisfactorily.
+  //   </dd>
+  //   <dt>complex_model_m</dt>
+  //   <dd>
+  //   A machine with roughly twice the number of cores and roughly double the
+  //   memory of `complex_model_s`.
+  //   </dd>
+  //   <dt>complex_model_l</dt>
+  //   <dd>
+  //   A machine with roughly twice the number of cores and roughly double the
+  //   memory of `complex_model_m`.
+  //   </dd>
+  // </dl>
+  //
+  // This value can only be used when `ScaleTier` is set to `CUSTOM`.
+  string master_type = 2;
+
+  // Optional. Specifies the type of virtual machine to use for your training
+  // job's worker nodes.
+  //
+  // The supported values are the same as those described in the entry for
+  // `master_type`.
+  //
+  // This value must be present when `scale_tier` is set to `CUSTOM` and
+  // `worker_count` is greater than zero.
+  string worker_type = 3;
+
+  // Optional. Specifies the type of virtual machine to use for your training
+  // job's parameter server.
+  //
+  // The supported values are the same as those described in the entry for
+  // `master_type`.
+  //
+  // This value must be present when `scale_tier` is set to `CUSTOM` and
+  // `parameter_server_count` is greater than zero.
+  string parameter_server_type = 4;
+
+  // Optional. The number of worker replicas to use for the training job. Each
+  // replica in the cluster will be of the type specified in `worker_type`.
+  //
+  // This value can only be used when `scale_tier` is set to `CUSTOM`. If you
+  // set this value, you must also set `worker_type`.
+  int64 worker_count = 5;
+
+  // Optional. The number of parameter server replicas to use for the training
+  // job. Each replica in the cluster will be of the type specified in
+  // `parameter_server_type`.
+  //
+  // This value can only be used when `scale_tier` is set to `CUSTOM`.If you
+  // set this value, you must also set `parameter_server_type`.
+  int64 parameter_server_count = 6;
+
+  // Required. The Google Cloud Storage location of the packages with
+  // the training program and any additional dependencies.
+  repeated string package_uris = 7;
+
+  // Required. The Python module name to run after installing the packages.
+  string python_module = 8;
+
+  // Optional. Command line arguments to pass to the program.
+  repeated string args = 10;
+
+  // Optional. The set of Hyperparameters to tune.
+  HyperparameterSpec hyperparameters = 12;
+
+  // Required. The Google Compute Engine region to run the training job in.
+  string region = 14;
+}
+
+// Represents a set of hyperparameters to optimize.
+message HyperparameterSpec {
+  // The available types of optimization goals.
+  enum GoalType {
+    // Goal Type will default to maximize.
+    GOAL_TYPE_UNSPECIFIED = 0;
+
+    // Maximize the goal metric.
+    MAXIMIZE = 1;
+
+    // Minimize the goal metric.
+    MINIMIZE = 2;
+  }
+
+  // Required. The type of goal to use for tuning. Available types are
+  // `MAXIMIZE` and `MINIMIZE`.
+  //
+  // Defaults to `MAXIMIZE`.
+  GoalType goal = 1;
+
+  // Required. The set of parameters to tune.
+  repeated ParameterSpec params = 2;
+
+  // Optional. How many training trials should be attempted to optimize
+  // the specified hyperparameters.
+  //
+  // Defaults to one.
+  int32 max_trials = 3;
+
+  // Optional. The number of training trials to run concurrently.
+  // You can reduce the time it takes to perform hyperparameter tuning by adding
+  // trials in parallel. However, each trail only benefits from the information
+  // gained in completed trials. That means that a trial does not get access to
+  // the results of trials running at the same time, which could reduce the
+  // quality of the overall optimization.
+  //
+  // Each trial will use the same scale tier and machine types.
+  //
+  // Defaults to one.
+  int32 max_parallel_trials = 4;
+}
+
+// Represents a single hyperparameter to optimize.
+message ParameterSpec {
+  // The type of the parameter.
+  enum ParameterType {
+    // You must specify a valid type. Using this unspecified type will result in
+    // an error.
+    PARAMETER_TYPE_UNSPECIFIED = 0;
+
+    // Type for real-valued parameters.
+    DOUBLE = 1;
+
+    // Type for integral parameters.
+    INTEGER = 2;
+
+    // The parameter is categorical, with a value chosen from the categories
+    // field.
+    CATEGORICAL = 3;
+
+    // The parameter is real valued, with a fixed set of feasible points. If
+    // `type==DISCRETE`, feasible_points must be provided, and
+    // {`min_value`, `max_value`} will be ignored.
+    DISCRETE = 4;
+  }
+
+  // The type of scaling that should be applied to this parameter.
+  enum ScaleType {
+    // By default, no scaling is applied.
+    NONE = 0;
+
+    // Scales the feasible space to (0, 1) linearly.
+    UNIT_LINEAR_SCALE = 1;
+
+    // Scales the feasible space logarithmically to (0, 1). The entire feasible
+    // space must be strictly positive.
+    UNIT_LOG_SCALE = 2;
+
+    // Scales the feasible space "reverse" logarithmically to (0, 1). The result
+    // is that values close to the top of the feasible space are spread out more
+    // than points near the bottom. The entire feasible space must be strictly
+    // positive.
+    UNIT_REVERSE_LOG_SCALE = 3;
+  }
+
+  // Required. The parameter name must be unique amongst all ParameterConfigs in
+  // a HyperparameterSpec message. E.g., "learning_rate".
+  string parameter_name = 1;
+
+  // Required. The type of the parameter.
+  ParameterType type = 4;
+
+  // Required if type is `DOUBLE` or `INTEGER`. This field
+  // should be unset if type is `CATEGORICAL`. This value should be integers if
+  // type is INTEGER.
+  double min_value = 2;
+
+  // Required if typeis `DOUBLE` or `INTEGER`. This field
+  // should be unset if type is `CATEGORICAL`. This value should be integers if
+  // type is `INTEGER`.
+  double max_value = 3;
+
+  // Required if type is `CATEGORICAL`. The list of possible categories.
+  repeated string categorical_values = 5;
+
+  // Required if type is `DISCRETE`.
+  // A list of feasible points.
+  // The list should be in strictly increasing order. For instance, this
+  // parameter might have possible settings of 1.5, 2.5, and 4.0. This list
+  // should not contain more than 1,000 values.
+  repeated double discrete_values = 6;
+
+  // Optional. How the parameter should be scaled to the hypercube.
+  // Leave unset for categorical parameters.
+  // Some kind of scaling is strongly recommended for real or integral
+  // parameters (e.g., `UNIT_LINEAR_SCALE`).
+  ScaleType scale_type = 7;
+}
+
+// Represents the result of a single hyperparameter tuning trial from a
+// training job. The TrainingOutput object that is returned on successful
+// completion of a training job with hyperparameter tuning includes a list
+// of HyperparameterOutput objects, one for each successful trial.
+message HyperparameterOutput {
+  // An observed value of a metric.
+  message HyperparameterMetric {
+    // The global training step for this metric.
+    int64 training_step = 1;
+
+    // The objective value at this training step.
+    double objective_value = 2;
+  }
+
+  // The trial id for these results.
+  string trial_id = 1;
+
+  // The hyperparameters given to this trial.
+  map<string, string> hyperparameters = 2;
+
+  // The final objective metric seen for this trial.
+  HyperparameterMetric final_metric = 3;
+
+  // All recorded object metrics for this trial.
+  repeated HyperparameterMetric all_metrics = 4;
+}
+
+// Represents results of a training job.
+message TrainingOutput {
+  // The number of hyperparameter tuning trials that completed successfully.
+  int64 completed_trial_count = 1;
+
+  // Results for individual Hyperparameter trials.
+  repeated HyperparameterOutput trials = 2;
+}
+
+// Represents input parameters for a prediction job.
+message PredictionInput {
+  // The format used to separate data instances in the source files.
+  enum DataFormat {
+    // Unspecified format.
+    DATA_FORMAT_UNSPECIFIED = 0;
+
+    // The source file is a text file with instances separated by the
+    // new-line character.
+    TEXT = 1;
+
+    // The source file is a TFRecord file.
+    TF_RECORD = 2;
+
+    // The source file is a GZIP-compressed TFRecord file.
+    TF_RECORD_GZIP = 3;
+  }
+
+  // Required. The model or the version to use for prediction.
+  oneof model_version {
+    // Use this field if you want to use the default version for the specified
+    // model. The string must use the following format:
+    //
+    // `"project/<var>[YOUR_PROJECT]</var>/models/<var>[YOUR_MODEL]</var>"`
+    string model_name = 1;
+
+    // Use this field if you want to specify a version of the model to use. The
+    // string is formatted the same way as `model_version`, with the addition
+    // of the version information:
+    //
+    // `"project/<var>[YOUR_PROJECT]</var>/models/<var>YOUR_MODEL/versions/<var>[YOUR_VERSION]</var>"`
+    string version_name = 2;
+  }
+
+  // Required. The format of the input data files.
+  DataFormat data_format = 3;
+
+  // Required. The Google Cloud Storage location of the input data files.
+  // May contain wildcards.
+  repeated string input_paths = 4;
+
+  // Required. The output Google Cloud Storage location.
+  string output_path = 5;
+
+  // Optional. The maximum amount of workers to be used for parallel processing.
+  // Defaults to 10.
+  int64 max_worker_count = 6;
+
+  // Required. The Google Compute Engine region to run the prediction job in.
+  string region = 7;
+}
+
+// Represents results of a prediction job.
+message PredictionOutput {
+  // The output Google Cloud Storage location provided at the job creation time.
+  string output_path = 1;
+
+  // The number of generated predictions.
+  int64 prediction_count = 2;
+
+  // The number of data instances which resulted in errors.
+  int64 error_count = 3;
+}
+
+// Represents a training or prediction job.
+message Job {
+  // Describes the job state.
+  enum State {
+    // The job state is unspecified.
+    STATE_UNSPECIFIED = 0;
+
+    // The job has been just created and processing has not yet begun.
+    QUEUED = 1;
+
+    // The service is preparing to run the job.
+    PREPARING = 2;
+
+    // The job is in progress.
+    RUNNING = 3;
+
+    // The job completed successfully.
+    SUCCEEDED = 4;
+
+    // The job failed.
+    // `error_message` should contain the details of the failure.
+    FAILED = 5;
+
+    // The job is being cancelled.
+    // `error_message` should describe the reason for the cancellation.
+    CANCELLING = 6;
+
+    // The job has been cancelled.
+    // `error_message` should describe the reason for the cancellation.
+    CANCELLED = 7;
+  }
+
+  // Required. The user-specified id of the job.
+  string job_id = 1;
+
+  // Required. Parameters to create a job.
+  oneof input {
+    // Input parameters to create a training job.
+    TrainingInput training_input = 2;
+
+    // Input parameters to create a prediction job.
+    PredictionInput prediction_input = 3;
+  }
+
+  // Output only. When the job was created.
+  google.protobuf.Timestamp create_time = 4;
+
+  // Output only. When the job processing was started.
+  google.protobuf.Timestamp start_time = 5;
+
+  // Output only. When the job processing was completed.
+  google.protobuf.Timestamp end_time = 6;
+
+  // Output only. The detailed state of a job.
+  State state = 7;
+
+  // Output only. The details of a failure or a cancellation.
+  string error_message = 8;
+
+  // Output only. The current result of the job.
+  oneof output {
+    // The current training job result.
+    TrainingOutput training_output = 9;
+
+    // The current prediction job result.
+    PredictionOutput prediction_output = 10;
+  }
+}
+
+// Request message for the CreateJob method.
+message CreateJobRequest {
+  // Required. The project name.
+  //
+  // Authorization: requires `Editor` role on the specified project.
+  string parent = 1;
+
+  // Required. The job to create.
+  Job job = 2;
+}
+
+// Request message for the ListJobs method.
+message ListJobsRequest {
+  // Required. The name of the project for which to list jobs.
+  //
+  // Authorization: requires `Viewer` role on the specified project.
+  string parent = 1;
+
+  // Optional. Specifies the subset of jobs to retrieve.
+  string filter = 2;
+
+  // Optional. A page token to request the next page of results.
+  //
+  // You get the token from the `next_page_token` field of the response from
+  // the previous call.
+  string page_token = 4;
+
+  // Optional. The number of jobs to retrieve per "page" of results. If there
+  // are more remaining results than this number, the response message will
+  // contain a valid value in the `next_page_token` field.
+  //
+  // The default value is 20, and the maximum page size is 100.
+  int32 page_size = 5;
+}
+
+// Response message for the ListJobs method.
+message ListJobsResponse {
+  // The list of jobs.
+  repeated Job jobs = 1;
+
+  // Optional. Pass this token as the `page_token` field of the request for a
+  // subsequent call.
+  string next_page_token = 2;
+}
+
+// Request message for the GetJob method.
+message GetJobRequest {
+  // Required. The name of the job to get the description of.
+  //
+  // Authorization: requires `Viewer` role on the parent project.
+  string name = 1;
+}
+
+// Request message for the CancelJob method.
+message CancelJobRequest {
+  // Required. The name of the job to cancel.
+  //
+  // Authorization: requires `Editor` role on the parent project.
+  string name = 1;
+}
diff --git a/googleapis/cloud/ml/v1beta1/model_service.pb.go b/googleapis/cloud/ml/v1beta1/model_service.pb.go
new file mode 100644
index 00000000..813ba11c
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/model_service.pb.go
@@ -0,0 +1,833 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto
+// DO NOT EDIT!
+
+package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
+import _ "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Represents a machine learning solution.
+//
+// A model can have multiple versions, each of which is a deployed, trained
+// model ready to receive prediction requests. The model itself is just a
+// container.
+type Model struct {
+	// Required. The name specified for the model when it was created.
+	//
+	// The model name must be unique within the project it is created in.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Optional. The description specified for the model when it was created.
+	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
+	// Output only. The default version of the model. This version will be used to
+	// handle prediction requests that do not specify a version.
+	//
+	// You can change the default version by calling
+	// [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+	DefaultVersion *Version `protobuf:"bytes,3,opt,name=default_version,json=defaultVersion" json:"default_version,omitempty"`
+}
+
+func (m *Model) Reset()                    { *m = Model{} }
+func (m *Model) String() string            { return proto.CompactTextString(m) }
+func (*Model) ProtoMessage()               {}
+func (*Model) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+
+func (m *Model) GetDefaultVersion() *Version {
+	if m != nil {
+		return m.DefaultVersion
+	}
+	return nil
+}
+
+// Represents a version of the model.
+//
+// Each version is a trained model deployed in the cloud, ready to handle
+// prediction requests. A model can have multiple versions. You can get
+// information about all of the versions of a given model by calling
+// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+type Version struct {
+	// Required.The name specified for the version when it was created.
+	//
+	// The version name must be unique within the model it is created in.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Optional. The description specified for the version when it was created.
+	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
+	// Output only. If true, this version will be used to handle prediction
+	// requests that do not specify a version.
+	//
+	// You can change the default version by calling
+	// [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+	IsDefault bool `protobuf:"varint,3,opt,name=is_default,json=isDefault" json:"is_default,omitempty"`
+	// Required. The Google Cloud Storage location of the trained model used to
+	// create the version. See the
+	// [overview of model deployment](/ml/docs/concepts/deployment-overview) for
+	// more informaiton.
+	//
+	// When passing Version to
+	// [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
+	// the model service uses the specified location as the source of the model.
+	// Once deployed, the model version is hosted by the prediction service, so
+	// this location is useful only as a historical record.
+	DeploymentUri string `protobuf:"bytes,4,opt,name=deployment_uri,json=deploymentUri" json:"deployment_uri,omitempty"`
+	// Output only. The time the version was created.
+	CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+	// Output only. The time the version was last used for prediction.
+	LastUseTime *google_protobuf2.Timestamp `protobuf:"bytes,6,opt,name=last_use_time,json=lastUseTime" json:"last_use_time,omitempty"`
+}
+
+func (m *Version) Reset()                    { *m = Version{} }
+func (m *Version) String() string            { return proto.CompactTextString(m) }
+func (*Version) ProtoMessage()               {}
+func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *Version) GetLastUseTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.LastUseTime
+	}
+	return nil
+}
+
+// Request message for the CreateModel method.
+type CreateModelRequest struct {
+	// Required. The project name.
+	//
+	// Authorization: requires `Editor` role on the specified project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Required. The model to create.
+	Model *Model `protobuf:"bytes,2,opt,name=model" json:"model,omitempty"`
+}
+
+func (m *CreateModelRequest) Reset()                    { *m = CreateModelRequest{} }
+func (m *CreateModelRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateModelRequest) ProtoMessage()               {}
+func (*CreateModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+func (m *CreateModelRequest) GetModel() *Model {
+	if m != nil {
+		return m.Model
+	}
+	return nil
+}
+
+// Request message for the ListModels method.
+type ListModelsRequest struct {
+	// Required. The name of the project whose models are to be listed.
+	//
+	// Authorization: requires `Viewer` role on the specified project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Optional. A page token to request the next page of results.
+	//
+	// You get the token from the `next_page_token` field of the response from
+	// the previous call.
+	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// Optional. The number of models to retrieve per "page" of results. If there
+	// are more remaining results than this number, the response message will
+	// contain a valid value in the `next_page_token` field.
+	//
+	// The default value is 20, and the maximum page size is 100.
+	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+}
+
+func (m *ListModelsRequest) Reset()                    { *m = ListModelsRequest{} }
+func (m *ListModelsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListModelsRequest) ProtoMessage()               {}
+func (*ListModelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+
+// Response message for the ListModels method.
+type ListModelsResponse struct {
+	// The list of models.
+	Models []*Model `protobuf:"bytes,1,rep,name=models" json:"models,omitempty"`
+	// Optional. Pass this token as the `page_token` field of the request for a
+	// subsequent call.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListModelsResponse) Reset()                    { *m = ListModelsResponse{} }
+func (m *ListModelsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListModelsResponse) ProtoMessage()               {}
+func (*ListModelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+
+func (m *ListModelsResponse) GetModels() []*Model {
+	if m != nil {
+		return m.Models
+	}
+	return nil
+}
+
+// Request message for the GetModel method.
+type GetModelRequest struct {
+	// Required. The name of the model.
+	//
+	// Authorization: requires `Viewer` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetModelRequest) Reset()                    { *m = GetModelRequest{} }
+func (m *GetModelRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetModelRequest) ProtoMessage()               {}
+func (*GetModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+
+// Request message for the DeleteModel method.
+type DeleteModelRequest struct {
+	// Required. The name of the model.
+	//
+	// Authorization: requires `Editor` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *DeleteModelRequest) Reset()                    { *m = DeleteModelRequest{} }
+func (m *DeleteModelRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteModelRequest) ProtoMessage()               {}
+func (*DeleteModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+
+// Uploads the provided trained model version to Cloud Machine Learning.
+type CreateVersionRequest struct {
+	// Required. The name of the model.
+	//
+	// Authorization: requires `Editor` role on the parent project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Required. The version details.
+	Version *Version `protobuf:"bytes,2,opt,name=version" json:"version,omitempty"`
+}
+
+func (m *CreateVersionRequest) Reset()                    { *m = CreateVersionRequest{} }
+func (m *CreateVersionRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateVersionRequest) ProtoMessage()               {}
+func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+func (m *CreateVersionRequest) GetVersion() *Version {
+	if m != nil {
+		return m.Version
+	}
+	return nil
+}
+
+// Request message for the ListVersions method.
+type ListVersionsRequest struct {
+	// Required. The name of the model for which to list the version.
+	//
+	// Authorization: requires `Viewer` role on the parent project.
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Optional. A page token to request the next page of results.
+	//
+	// You get the token from the `next_page_token` field of the response from
+	// the previous call.
+	PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// Optional. The number of versions to retrieve per "page" of results. If
+	// there are more remaining results than this number, the response message
+	// will contain a valid value in the `next_page_token` field.
+	//
+	// The default value is 20, and the maximum page size is 100.
+	PageSize int32 `protobuf:"varint,5,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+}
+
+func (m *ListVersionsRequest) Reset()                    { *m = ListVersionsRequest{} }
+func (m *ListVersionsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListVersionsRequest) ProtoMessage()               {}
+func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+
+// Response message for the ListVersions method.
+type ListVersionsResponse struct {
+	// The list of versions.
+	Versions []*Version `protobuf:"bytes,1,rep,name=versions" json:"versions,omitempty"`
+	// Optional. Pass this token as the `page_token` field of the request for a
+	// subsequent call.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListVersionsResponse) Reset()                    { *m = ListVersionsResponse{} }
+func (m *ListVersionsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListVersionsResponse) ProtoMessage()               {}
+func (*ListVersionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
+
+func (m *ListVersionsResponse) GetVersions() []*Version {
+	if m != nil {
+		return m.Versions
+	}
+	return nil
+}
+
+// Request message for the GetVersion method.
+type GetVersionRequest struct {
+	// Required. The name of the version.
+	//
+	// Authorization: requires `Viewer` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetVersionRequest) Reset()                    { *m = GetVersionRequest{} }
+func (m *GetVersionRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetVersionRequest) ProtoMessage()               {}
+func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
+
+// Request message for the DeleteVerionRequest method.
+type DeleteVersionRequest struct {
+	// Required. The name of the version. You can get the names of all the
+	// versions of a model by calling
+	// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+	//
+	// Authorization: requires `Editor` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *DeleteVersionRequest) Reset()                    { *m = DeleteVersionRequest{} }
+func (m *DeleteVersionRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteVersionRequest) ProtoMessage()               {}
+func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
+
+// Request message for the SetDefaultVersion request.
+type SetDefaultVersionRequest struct {
+	// Required. The name of the version to make the default for the model. You
+	// can get the names of all the versions of a model by calling
+	// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+	//
+	// Authorization: requires `Editor` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *SetDefaultVersionRequest) Reset()                    { *m = SetDefaultVersionRequest{} }
+func (m *SetDefaultVersionRequest) String() string            { return proto.CompactTextString(m) }
+func (*SetDefaultVersionRequest) ProtoMessage()               {}
+func (*SetDefaultVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
+
+func init() {
+	proto.RegisterType((*Model)(nil), "google.cloud.ml.v1beta1.Model")
+	proto.RegisterType((*Version)(nil), "google.cloud.ml.v1beta1.Version")
+	proto.RegisterType((*CreateModelRequest)(nil), "google.cloud.ml.v1beta1.CreateModelRequest")
+	proto.RegisterType((*ListModelsRequest)(nil), "google.cloud.ml.v1beta1.ListModelsRequest")
+	proto.RegisterType((*ListModelsResponse)(nil), "google.cloud.ml.v1beta1.ListModelsResponse")
+	proto.RegisterType((*GetModelRequest)(nil), "google.cloud.ml.v1beta1.GetModelRequest")
+	proto.RegisterType((*DeleteModelRequest)(nil), "google.cloud.ml.v1beta1.DeleteModelRequest")
+	proto.RegisterType((*CreateVersionRequest)(nil), "google.cloud.ml.v1beta1.CreateVersionRequest")
+	proto.RegisterType((*ListVersionsRequest)(nil), "google.cloud.ml.v1beta1.ListVersionsRequest")
+	proto.RegisterType((*ListVersionsResponse)(nil), "google.cloud.ml.v1beta1.ListVersionsResponse")
+	proto.RegisterType((*GetVersionRequest)(nil), "google.cloud.ml.v1beta1.GetVersionRequest")
+	proto.RegisterType((*DeleteVersionRequest)(nil), "google.cloud.ml.v1beta1.DeleteVersionRequest")
+	proto.RegisterType((*SetDefaultVersionRequest)(nil), "google.cloud.ml.v1beta1.SetDefaultVersionRequest")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for ModelService service
+
+type ModelServiceClient interface {
+	// Creates a model which will later contain one or more versions.
+	//
+	// You must add at least one version before you can request predictions from
+	// the model. Add versions by calling
+	// [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create).
+	CreateModel(ctx context.Context, in *CreateModelRequest, opts ...grpc.CallOption) (*Model, error)
+	// Lists the models in a project.
+	//
+	// Each project can contain multiple models, and each model can have multiple
+	// versions.
+	ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error)
+	// Gets information about a model, including its name, the description (if
+	// set), and the default version (if at least one version of the model has
+	// been deployed).
+	GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error)
+	// Deletes a model.
+	//
+	// You can only delete a model if there are no versions in it. You can delete
+	// versions by calling
+	// [projects.models.versions.delete](/ml/reference/rest/v1beta1/projects.models.versions/delete).
+	DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Creates a new version of a model from a trained TensorFlow model.
+	//
+	// If the version created in the cloud by this call is the first deployed
+	// version of the specified model, it will be made the default version of the
+	// model. When you add a version to a model that already has one or more
+	// versions, the default version does not automatically change. If you want a
+	// new version to be the default, you must call
+	// [projects.models.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+	CreateVersion(ctx context.Context, in *CreateVersionRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Gets basic information about all the versions of a model.
+	//
+	// If you expect that a model has a lot of versions, or if you need to handle
+	// only a limited number of results at a time, you can request that the list
+	// be retrieved in batches (called pages):
+	ListVersions(ctx context.Context, in *ListVersionsRequest, opts ...grpc.CallOption) (*ListVersionsResponse, error)
+	// Gets information about a model version.
+	//
+	// Models can have multiple versions. You can call
+	// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list)
+	// to get the same information that this method returns for all of the
+	// versions of a model.
+	GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*Version, error)
+	// Deletes a model version.
+	//
+	// Each model can have multiple versions deployed and in use at any given
+	// time. Use this method to remove a single version.
+	//
+	// Note: You cannot delete the version that is set as the default version
+	// of the model unless it is the only remaining version.
+	DeleteVersion(ctx context.Context, in *DeleteVersionRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
+	// Designates a version to be the default for the model.
+	//
+	// The default version is used for prediction requests made against the model
+	// that don't specify a version.
+	//
+	// The first version to be created for a model is automatically set as the
+	// default. You must make any subsequent changes to the default version
+	// setting manually using this method.
+	SetDefaultVersion(ctx context.Context, in *SetDefaultVersionRequest, opts ...grpc.CallOption) (*Version, error)
+}
+
+type modelServiceClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewModelServiceClient(cc *grpc.ClientConn) ModelServiceClient {
+	return &modelServiceClient{cc}
+}
+
+func (c *modelServiceClient) CreateModel(ctx context.Context, in *CreateModelRequest, opts ...grpc.CallOption) (*Model, error) {
+	out := new(Model)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/CreateModel", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) ListModels(ctx context.Context, in *ListModelsRequest, opts ...grpc.CallOption) (*ListModelsResponse, error) {
+	out := new(ListModelsResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/ListModels", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) GetModel(ctx context.Context, in *GetModelRequest, opts ...grpc.CallOption) (*Model, error) {
+	out := new(Model)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/GetModel", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) DeleteModel(ctx context.Context, in *DeleteModelRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/DeleteModel", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) CreateVersion(ctx context.Context, in *CreateVersionRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/CreateVersion", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) ListVersions(ctx context.Context, in *ListVersionsRequest, opts ...grpc.CallOption) (*ListVersionsResponse, error) {
+	out := new(ListVersionsResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/ListVersions", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) GetVersion(ctx context.Context, in *GetVersionRequest, opts ...grpc.CallOption) (*Version, error) {
+	out := new(Version)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/GetVersion", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) DeleteVersion(ctx context.Context, in *DeleteVersionRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error) {
+	out := new(google_longrunning.Operation)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/DeleteVersion", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *modelServiceClient) SetDefaultVersion(ctx context.Context, in *SetDefaultVersionRequest, opts ...grpc.CallOption) (*Version, error) {
+	out := new(Version)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ModelService/SetDefaultVersion", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for ModelService service
+
+type ModelServiceServer interface {
+	// Creates a model which will later contain one or more versions.
+	//
+	// You must add at least one version before you can request predictions from
+	// the model. Add versions by calling
+	// [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create).
+	CreateModel(context.Context, *CreateModelRequest) (*Model, error)
+	// Lists the models in a project.
+	//
+	// Each project can contain multiple models, and each model can have multiple
+	// versions.
+	ListModels(context.Context, *ListModelsRequest) (*ListModelsResponse, error)
+	// Gets information about a model, including its name, the description (if
+	// set), and the default version (if at least one version of the model has
+	// been deployed).
+	GetModel(context.Context, *GetModelRequest) (*Model, error)
+	// Deletes a model.
+	//
+	// You can only delete a model if there are no versions in it. You can delete
+	// versions by calling
+	// [projects.models.versions.delete](/ml/reference/rest/v1beta1/projects.models.versions/delete).
+	DeleteModel(context.Context, *DeleteModelRequest) (*google_longrunning.Operation, error)
+	// Creates a new version of a model from a trained TensorFlow model.
+	//
+	// If the version created in the cloud by this call is the first deployed
+	// version of the specified model, it will be made the default version of the
+	// model. When you add a version to a model that already has one or more
+	// versions, the default version does not automatically change. If you want a
+	// new version to be the default, you must call
+	// [projects.models.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+	CreateVersion(context.Context, *CreateVersionRequest) (*google_longrunning.Operation, error)
+	// Gets basic information about all the versions of a model.
+	//
+	// If you expect that a model has a lot of versions, or if you need to handle
+	// only a limited number of results at a time, you can request that the list
+	// be retrieved in batches (called pages):
+	ListVersions(context.Context, *ListVersionsRequest) (*ListVersionsResponse, error)
+	// Gets information about a model version.
+	//
+	// Models can have multiple versions. You can call
+	// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list)
+	// to get the same information that this method returns for all of the
+	// versions of a model.
+	GetVersion(context.Context, *GetVersionRequest) (*Version, error)
+	// Deletes a model version.
+	//
+	// Each model can have multiple versions deployed and in use at any given
+	// time. Use this method to remove a single version.
+	//
+	// Note: You cannot delete the version that is set as the default version
+	// of the model unless it is the only remaining version.
+	DeleteVersion(context.Context, *DeleteVersionRequest) (*google_longrunning.Operation, error)
+	// Designates a version to be the default for the model.
+	//
+	// The default version is used for prediction requests made against the model
+	// that don't specify a version.
+	//
+	// The first version to be created for a model is automatically set as the
+	// default. You must make any subsequent changes to the default version
+	// setting manually using this method.
+	SetDefaultVersion(context.Context, *SetDefaultVersionRequest) (*Version, error)
+}
+
+func RegisterModelServiceServer(s *grpc.Server, srv ModelServiceServer) {
+	s.RegisterService(&_ModelService_serviceDesc, srv)
+}
+
+func _ModelService_CreateModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateModelRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).CreateModel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/CreateModel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).CreateModel(ctx, req.(*CreateModelRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_ListModels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListModelsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).ListModels(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/ListModels",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).ListModels(ctx, req.(*ListModelsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_GetModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetModelRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).GetModel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/GetModel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).GetModel(ctx, req.(*GetModelRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_DeleteModel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteModelRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).DeleteModel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/DeleteModel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).DeleteModel(ctx, req.(*DeleteModelRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_CreateVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateVersionRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).CreateVersion(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/CreateVersion",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).CreateVersion(ctx, req.(*CreateVersionRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_ListVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListVersionsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).ListVersions(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/ListVersions",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).ListVersions(ctx, req.(*ListVersionsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_GetVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetVersionRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).GetVersion(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/GetVersion",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).GetVersion(ctx, req.(*GetVersionRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_DeleteVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteVersionRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).DeleteVersion(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/DeleteVersion",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).DeleteVersion(ctx, req.(*DeleteVersionRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _ModelService_SetDefaultVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SetDefaultVersionRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ModelServiceServer).SetDefaultVersion(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ModelService/SetDefaultVersion",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ModelServiceServer).SetDefaultVersion(ctx, req.(*SetDefaultVersionRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ModelService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.ml.v1beta1.ModelService",
+	HandlerType: (*ModelServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "CreateModel",
+			Handler:    _ModelService_CreateModel_Handler,
+		},
+		{
+			MethodName: "ListModels",
+			Handler:    _ModelService_ListModels_Handler,
+		},
+		{
+			MethodName: "GetModel",
+			Handler:    _ModelService_GetModel_Handler,
+		},
+		{
+			MethodName: "DeleteModel",
+			Handler:    _ModelService_DeleteModel_Handler,
+		},
+		{
+			MethodName: "CreateVersion",
+			Handler:    _ModelService_CreateVersion_Handler,
+		},
+		{
+			MethodName: "ListVersions",
+			Handler:    _ModelService_ListVersions_Handler,
+		},
+		{
+			MethodName: "GetVersion",
+			Handler:    _ModelService_GetVersion_Handler,
+		},
+		{
+			MethodName: "DeleteVersion",
+			Handler:    _ModelService_DeleteVersion_Handler,
+		},
+		{
+			MethodName: "SetDefaultVersion",
+			Handler:    _ModelService_SetDefaultVersion_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor1,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 915 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0x4d, 0x6f, 0xf3, 0x44,
+	0x10, 0x96, 0xf3, 0xbe, 0xc9, 0x9b, 0x4e, 0x1a, 0xaa, 0x2c, 0x15, 0x44, 0x46, 0x85, 0xca, 0xa8,
+	0x50, 0xa5, 0xad, 0x4d, 0x53, 0x54, 0xa9, 0x29, 0x14, 0xa9, 0x44, 0x42, 0x45, 0x20, 0xaa, 0xb4,
+	0xe5, 0x1a, 0x39, 0xc9, 0xd6, 0xb8, 0xd8, 0x5e, 0xe3, 0xdd, 0x54, 0x94, 0x8f, 0x03, 0x3d, 0x20,
+	0x4e, 0x1c, 0x40, 0x5c, 0xb9, 0x70, 0xe7, 0xcf, 0xf0, 0x17, 0x10, 0xbf, 0x83, 0xf5, 0xee, 0x3a,
+	0x71, 0x3e, 0x1c, 0xbb, 0x48, 0x5c, 0x2c, 0x7b, 0x3c, 0x1f, 0x8f, 0x9f, 0x67, 0x66, 0xbc, 0xf0,
+	0xb1, 0x43, 0x88, 0xe3, 0x61, 0xd3, 0x21, 0x9e, 0x1d, 0x38, 0x26, 0x89, 0x1c, 0xcb, 0xc1, 0x41,
+	0x18, 0x11, 0x46, 0x2c, 0xf9, 0xca, 0x0e, 0x5d, 0x6a, 0x0d, 0x3d, 0x32, 0x1e, 0x59, 0xbe, 0x67,
+	0xdd, 0x1f, 0x0e, 0x30, 0xb3, 0x0f, 0x2d, 0x9f, 0x8c, 0xb0, 0xd7, 0xa7, 0x38, 0xba, 0x77, 0x87,
+	0xd8, 0x14, 0xfe, 0xe8, 0x55, 0x95, 0x4b, 0x38, 0x9b, 0xbe, 0x67, 0x2a, 0x67, 0xfd, 0xa2, 0x58,
+	0x11, 0x7e, 0xb1, 0x54, 0xc6, 0x21, 0x09, 0x6e, 0x5d, 0xc7, 0xb2, 0x83, 0x80, 0x30, 0x9b, 0xb9,
+	0x24, 0xa0, 0xb2, 0x86, 0x7e, 0x5e, 0x2c, 0x95, 0x47, 0x02, 0x27, 0x1a, 0x07, 0x81, 0x1b, 0x38,
+	0x16, 0x09, 0x71, 0x34, 0x93, 0xe3, 0xc8, 0x71, 0xd9, 0x17, 0xe3, 0x81, 0x39, 0x24, 0xbe, 0x25,
+	0xf3, 0x58, 0xe2, 0xc5, 0x60, 0x7c, 0x6b, 0x85, 0xec, 0x21, 0xc4, 0xd4, 0xc2, 0x3e, 0xbf, 0x91,
+	0x57, 0x15, 0x74, 0x9a, 0x1f, 0xc4, 0x5c, 0x1f, 0x53, 0x66, 0xfb, 0xe1, 0xf4, 0x4e, 0x06, 0x1b,
+	0x3f, 0x69, 0x50, 0xfe, 0x34, 0x66, 0x0c, 0x21, 0x78, 0x1e, 0xd8, 0x3e, 0x6e, 0x6a, 0xdb, 0xda,
+	0xee, 0x5a, 0x4f, 0xdc, 0xa3, 0x6d, 0xa8, 0x8d, 0x30, 0x1d, 0x46, 0x6e, 0x18, 0xa3, 0x6c, 0x96,
+	0xc4, 0xab, 0xb4, 0x09, 0x5d, 0xc0, 0xc6, 0x08, 0xdf, 0xda, 0x63, 0x8f, 0xf5, 0xef, 0x71, 0x44,
+	0x63, 0xaf, 0x67, 0xdc, 0xab, 0xd6, 0xde, 0x36, 0x33, 0x38, 0x37, 0x3f, 0x97, 0x7e, 0xbd, 0x97,
+	0x54, 0xa0, 0x7a, 0x36, 0x1e, 0x4b, 0xf0, 0x42, 0xdd, 0xff, 0x47, 0x30, 0x5b, 0x00, 0x2e, 0xed,
+	0xab, 0xb4, 0x02, 0x47, 0xb5, 0xb7, 0xe6, 0xd2, 0xae, 0x34, 0xa0, 0x1d, 0xe0, 0x25, 0x43, 0x8f,
+	0x3c, 0xf8, 0x38, 0x60, 0xfd, 0x71, 0xe4, 0x36, 0x9f, 0x8b, 0x1c, 0xf5, 0xa9, 0xf5, 0x26, 0x72,
+	0xd1, 0x29, 0xd4, 0x86, 0x11, 0xb6, 0x19, 0xee, 0xc7, 0x64, 0x35, 0xcb, 0xe2, 0x73, 0xf4, 0xe4,
+	0x73, 0x12, 0x6a, 0xcd, 0xeb, 0x84, 0xc9, 0x1e, 0x48, 0xf7, 0xd8, 0x80, 0xce, 0xa0, 0xee, 0xd9,
+	0x94, 0x67, 0xa7, 0x2a, 0xbc, 0x92, 0x1b, 0x5e, 0x8b, 0x03, 0x6e, 0xa8, 0x88, 0x37, 0x06, 0x80,
+	0x3e, 0x14, 0xd9, 0x84, 0x28, 0x3d, 0xfc, 0xd5, 0x98, 0x7b, 0xa1, 0x57, 0xa0, 0x12, 0xda, 0x11,
+	0xc7, 0xa7, 0x08, 0x51, 0x4f, 0xe8, 0x5d, 0x28, 0x8b, 0x76, 0x17, 0x64, 0xd4, 0xda, 0xaf, 0x67,
+	0x72, 0x2e, 0xb3, 0x49, 0x67, 0xc3, 0x81, 0xc6, 0x27, 0x2e, 0x65, 0xc2, 0x46, 0xf3, 0x4a, 0x70,
+	0x4e, 0x43, 0xdb, 0xe1, 0x1f, 0x43, 0xbe, 0xc4, 0x81, 0x22, 0x6c, 0x2d, 0xb6, 0x5c, 0xc7, 0x06,
+	0xf4, 0x1a, 0x88, 0x87, 0x3e, 0x75, 0xbf, 0x91, 0x54, 0x95, 0x7b, 0xd5, 0xd8, 0x70, 0xc5, 0x9f,
+	0x0d, 0x06, 0x28, 0x5d, 0x88, 0x86, 0xbc, 0xd3, 0x31, 0x3a, 0x86, 0x8a, 0xc0, 0x41, 0x79, 0xa5,
+	0x67, 0x05, 0x50, 0x2b, 0x6f, 0xf4, 0x16, 0x6c, 0x04, 0xf8, 0x6b, 0xd6, 0x4f, 0xc1, 0x91, 0x3d,
+	0x50, 0x8f, 0xcd, 0x97, 0x09, 0x24, 0x63, 0x07, 0x36, 0x3e, 0xc2, 0x6c, 0x86, 0xbf, 0x25, 0xed,
+	0x64, 0xec, 0x02, 0xea, 0x62, 0x0f, 0xcf, 0x31, 0xbd, 0xcc, 0xf3, 0x0e, 0x36, 0xa5, 0x26, 0x49,
+	0xe7, 0xe6, 0x50, 0xd6, 0x81, 0x17, 0xc9, 0x2c, 0x94, 0x0a, 0xce, 0x42, 0x12, 0x60, 0xb8, 0xf0,
+	0x72, 0x4c, 0x99, 0xb2, 0xff, 0xaf, 0xea, 0x7c, 0x07, 0x9b, 0xb3, 0xa5, 0x94, 0x3e, 0xef, 0x41,
+	0x55, 0xa1, 0x49, 0x14, 0xca, 0xc7, 0x3f, 0x89, 0x28, 0xac, 0xd2, 0xdb, 0xd0, 0xe0, 0x2a, 0xcd,
+	0x31, 0xba, 0x8c, 0xfd, 0x16, 0x6c, 0x4a, 0x9d, 0x0a, 0xf8, 0x9a, 0xd0, 0xbc, 0xc2, 0xac, 0x3b,
+	0xb3, 0x57, 0x56, 0xf8, 0xb7, 0xff, 0x01, 0x58, 0x17, 0xf2, 0x5f, 0xc9, 0xe5, 0x8e, 0x7e, 0xd6,
+	0xa0, 0x96, 0x9a, 0x3f, 0xb4, 0x97, 0xf9, 0xe5, 0x8b, 0x53, 0xaa, 0xe7, 0x34, 0xb2, 0xd1, 0x7e,
+	0xfc, 0xeb, 0xef, 0x5f, 0x4b, 0xfb, 0xc6, 0x9b, 0x93, 0x7f, 0xd5, 0xb7, 0x52, 0xc6, 0xf7, 0xf9,
+	0x56, 0xb8, 0xc3, 0x43, 0x46, 0xad, 0xd6, 0xf7, 0xf2, 0xff, 0x45, 0x3b, 0x72, 0x56, 0xd1, 0x2f,
+	0x1a, 0xc0, 0x74, 0x86, 0x50, 0x2b, 0xb3, 0xc4, 0xc2, 0x44, 0xeb, 0x7b, 0x85, 0x7c, 0xa5, 0xe8,
+	0xc6, 0x9e, 0xc0, 0xb6, 0x83, 0x8a, 0x60, 0x43, 0x3f, 0x68, 0x50, 0x4d, 0x46, 0x0c, 0xed, 0x66,
+	0x96, 0x99, 0x9b, 0xc2, 0x5c, 0x7e, 0x96, 0x60, 0x88, 0x55, 0x4a, 0x21, 0x50, 0x00, 0x38, 0x14,
+	0xf4, 0x23, 0x57, 0x2a, 0x35, 0xbf, 0x2b, 0x94, 0x5a, 0x9c, 0x72, 0x7d, 0x2b, 0x71, 0x4e, 0xfd,
+	0x8d, 0xcd, 0xcf, 0x92, 0xbf, 0x71, 0x02, 0xa4, 0x55, 0x08, 0xc8, 0xef, 0x1a, 0xd4, 0x67, 0xd6,
+	0x03, 0x3a, 0xc8, 0x69, 0x9a, 0xd9, 0xc6, 0xcc, 0x03, 0xf3, 0x81, 0x00, 0x73, 0x62, 0x98, 0x2b,
+	0x94, 0x99, 0xc2, 0xb1, 0x92, 0x41, 0xec, 0x24, 0x2b, 0x05, 0xfd, 0xa1, 0xc1, 0x7a, 0x7a, 0xd0,
+	0xd1, 0xfe, 0xca, 0xc6, 0x98, 0x5b, 0x3d, 0xfa, 0x41, 0x41, 0x6f, 0xd5, 0x48, 0xc7, 0x02, 0xee,
+	0x3b, 0xe8, 0x89, 0x70, 0x45, 0xa3, 0x4f, 0x17, 0xc2, 0x8a, 0x46, 0x5f, 0xd8, 0x1a, 0x7a, 0xee,
+	0x7a, 0x5a, 0x06, 0x2a, 0x4b, 0xd0, 0x09, 0xa2, 0x58, 0xdb, 0xdf, 0xb8, 0xb6, 0x33, 0xcb, 0x67,
+	0x85, 0xb6, 0xcb, 0x96, 0x54, 0x9e, 0xb6, 0x0a, 0x57, 0xeb, 0xa9, 0xb8, 0xfe, 0xd4, 0xa0, 0xb1,
+	0xb0, 0xe8, 0xd0, 0x61, 0x26, 0xb6, 0xac, 0xa5, 0x58, 0x80, 0xba, 0xae, 0x80, 0x78, 0x66, 0x9c,
+	0x3c, 0x0d, 0x62, 0x87, 0x4e, 0x4a, 0x76, 0xb4, 0xd6, 0xf9, 0x31, 0xbc, 0xc1, 0x8f, 0xa7, 0x0b,
+	0xc5, 0xf8, 0x89, 0x38, 0x29, 0x78, 0xde, 0x48, 0x2f, 0xe2, 0xcb, 0xf8, 0x98, 0x74, 0xa9, 0x0d,
+	0x2a, 0xe2, 0xbc, 0x74, 0xf4, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb6, 0xdd, 0x81, 0x3c, 0x0d,
+	0x0c, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/ml/v1beta1/model_service.proto b/googleapis/cloud/ml/v1beta1/model_service.proto
new file mode 100644
index 00000000..f892a583
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/model_service.proto
@@ -0,0 +1,340 @@
+// Copyright 2016 Google Inc.
+//
+// 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.ml.v1beta1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "ModelServiceProto";
+option java_package = "com.google.cloud.ml.api.v1beta1";
+
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Proto file for the Machine Learning Service
+// Describes the 'models service' to work with the 'model' and 'version'
+// resources.
+
+
+
+// Provides methods that create and manage machine learning models and their
+// versions.
+//
+// A model in this context is a container for versions. The model can't provide
+// predictions without first having a version created for it.
+//
+// Each version is a trained machine learning model, and each is assumed to be
+// an iteration of the same machine learning problem as the other versions of
+// the same model.
+//
+// Your project can define multiple models, each with multiple versions.
+//
+// The basic life cycle of a model is:
+//
+// *   Create and train the machine learning model and save it to a
+//     Google Cloud Storage location.
+// *   Use
+//     [projects.models.create](/ml/reference/rest/v1beta1/projects.models/create)
+//     to make a new model in your project.
+// *   Use
+//     [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
+//     to deploy your saved model.
+// *   Use [projects.predict](/ml/reference/rest/v1beta1/projects/predict to
+//     request predictions of a version of your model, or use
+//     [projects.jobs.create](/ml/reference/rest/v1beta1/projects.jobs/create)
+//     to start a batch prediction job.
+service ModelService {
+  // Creates a model which will later contain one or more versions.
+  //
+  // You must add at least one version before you can request predictions from
+  // the model. Add versions by calling
+  // [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create).
+  rpc CreateModel(CreateModelRequest) returns (Model) {
+    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/models" body: "model" };
+  }
+
+  // Lists the models in a project.
+  //
+  // Each project can contain multiple models, and each model can have multiple
+  // versions.
+  rpc ListModels(ListModelsRequest) returns (ListModelsResponse) {
+    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/models" };
+  }
+
+  // Gets information about a model, including its name, the description (if
+  // set), and the default version (if at least one version of the model has
+  // been deployed).
+  rpc GetModel(GetModelRequest) returns (Model) {
+    option (google.api.http) = { get: "/v1beta1/{name=projects/*/models/*}" };
+  }
+
+  // Deletes a model.
+  //
+  // You can only delete a model if there are no versions in it. You can delete
+  // versions by calling
+  // [projects.models.versions.delete](/ml/reference/rest/v1beta1/projects.models.versions/delete).
+  rpc DeleteModel(DeleteModelRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/models/*}" };
+  }
+
+  // Creates a new version of a model from a trained TensorFlow model.
+  //
+  // If the version created in the cloud by this call is the first deployed
+  // version of the specified model, it will be made the default version of the
+  // model. When you add a version to a model that already has one or more
+  // versions, the default version does not automatically change. If you want a
+  // new version to be the default, you must call
+  // [projects.models.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+  rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/models/*}/versions" body: "version" };
+  }
+
+  // Gets basic information about all the versions of a model.
+  //
+  // If you expect that a model has a lot of versions, or if you need to handle
+  // only a limited number of results at a time, you can request that the list
+  // be retrieved in batches (called pages):
+  rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
+    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/models/*}/versions" };
+  }
+
+  // Gets information about a model version.
+  //
+  // Models can have multiple versions. You can call
+  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list)
+  // to get the same information that this method returns for all of the
+  // versions of a model.
+  rpc GetVersion(GetVersionRequest) returns (Version) {
+    option (google.api.http) = { get: "/v1beta1/{name=projects/*/models/*/versions/*}" };
+  }
+
+  // Deletes a model version.
+  //
+  // Each model can have multiple versions deployed and in use at any given
+  // time. Use this method to remove a single version.
+  //
+  // Note: You cannot delete the version that is set as the default version
+  // of the model unless it is the only remaining version.
+  rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
+    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/models/*/versions/*}" };
+  }
+
+  // Designates a version to be the default for the model.
+  //
+  // The default version is used for prediction requests made against the model
+  // that don't specify a version.
+  //
+  // The first version to be created for a model is automatically set as the
+  // default. You must make any subsequent changes to the default version
+  // setting manually using this method.
+  rpc SetDefaultVersion(SetDefaultVersionRequest) returns (Version) {
+    option (google.api.http) = { post: "/v1beta1/{name=projects/*/models/*/versions/*}:setDefault" body: "*" };
+  }
+}
+
+// Represents a machine learning solution.
+//
+// A model can have multiple versions, each of which is a deployed, trained
+// model ready to receive prediction requests. The model itself is just a
+// container.
+message Model {
+  // Required. The name specified for the model when it was created.
+  //
+  // The model name must be unique within the project it is created in.
+  string name = 1;
+
+  // Optional. The description specified for the model when it was created.
+  string description = 2;
+
+  // Output only. The default version of the model. This version will be used to
+  // handle prediction requests that do not specify a version.
+  //
+  // You can change the default version by calling
+  // [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+  Version default_version = 3;
+}
+
+// Represents a version of the model.
+//
+// Each version is a trained model deployed in the cloud, ready to handle
+// prediction requests. A model can have multiple versions. You can get
+// information about all of the versions of a given model by calling
+// [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+message Version {
+  // Required.The name specified for the version when it was created.
+  //
+  // The version name must be unique within the model it is created in.
+  string name = 1;
+
+  // Optional. The description specified for the version when it was created.
+  string description = 2;
+
+  // Output only. If true, this version will be used to handle prediction
+  // requests that do not specify a version.
+  //
+  // You can change the default version by calling
+  // [projects.methods.versions.setDefault](/ml/reference/rest/v1beta1/projects.models.versions/setDefault).
+  bool is_default = 3;
+
+  // Required. The Google Cloud Storage location of the trained model used to
+  // create the version. See the
+  // [overview of model deployment](/ml/docs/concepts/deployment-overview) for
+  // more informaiton.
+  //
+  // When passing Version to
+  // [projects.models.versions.create](/ml/reference/rest/v1beta1/projects.models.versions/create)
+  // the model service uses the specified location as the source of the model.
+  // Once deployed, the model version is hosted by the prediction service, so
+  // this location is useful only as a historical record.
+  string deployment_uri = 4;
+
+  // Output only. The time the version was created.
+  google.protobuf.Timestamp create_time = 5;
+
+  // Output only. The time the version was last used for prediction.
+  google.protobuf.Timestamp last_use_time = 6;
+}
+
+// Request message for the CreateModel method.
+message CreateModelRequest {
+  // Required. The project name.
+  //
+  // Authorization: requires `Editor` role on the specified project.
+  string parent = 1;
+
+  // Required. The model to create.
+  Model model = 2;
+}
+
+// Request message for the ListModels method.
+message ListModelsRequest {
+  // Required. The name of the project whose models are to be listed.
+  //
+  // Authorization: requires `Viewer` role on the specified project.
+  string parent = 1;
+
+  // Optional. A page token to request the next page of results.
+  //
+  // You get the token from the `next_page_token` field of the response from
+  // the previous call.
+  string page_token = 4;
+
+  // Optional. The number of models to retrieve per "page" of results. If there
+  // are more remaining results than this number, the response message will
+  // contain a valid value in the `next_page_token` field.
+  //
+  // The default value is 20, and the maximum page size is 100.
+  int32 page_size = 5;
+}
+
+// Response message for the ListModels method.
+message ListModelsResponse {
+  // The list of models.
+  repeated Model models = 1;
+
+  // Optional. Pass this token as the `page_token` field of the request for a
+  // subsequent call.
+  string next_page_token = 2;
+}
+
+// Request message for the GetModel method.
+message GetModelRequest {
+  // Required. The name of the model.
+  //
+  // Authorization: requires `Viewer` role on the parent project.
+  string name = 1;
+}
+
+// Request message for the DeleteModel method.
+message DeleteModelRequest {
+  // Required. The name of the model.
+  //
+  // Authorization: requires `Editor` role on the parent project.
+  string name = 1;
+}
+
+// Uploads the provided trained model version to Cloud Machine Learning.
+message CreateVersionRequest {
+  // Required. The name of the model.
+  //
+  // Authorization: requires `Editor` role on the parent project.
+  string parent = 1;
+
+  // Required. The version details.
+  Version version = 2;
+}
+
+// Request message for the ListVersions method.
+message ListVersionsRequest {
+  // Required. The name of the model for which to list the version.
+  //
+  // Authorization: requires `Viewer` role on the parent project.
+  string parent = 1;
+
+  // Optional. A page token to request the next page of results.
+  //
+  // You get the token from the `next_page_token` field of the response from
+  // the previous call.
+  string page_token = 4;
+
+  // Optional. The number of versions to retrieve per "page" of results. If
+  // there are more remaining results than this number, the response message
+  // will contain a valid value in the `next_page_token` field.
+  //
+  // The default value is 20, and the maximum page size is 100.
+  int32 page_size = 5;
+}
+
+// Response message for the ListVersions method.
+message ListVersionsResponse {
+  // The list of versions.
+  repeated Version versions = 1;
+
+  // Optional. Pass this token as the `page_token` field of the request for a
+  // subsequent call.
+  string next_page_token = 2;
+}
+
+// Request message for the GetVersion method.
+message GetVersionRequest {
+  // Required. The name of the version.
+  //
+  // Authorization: requires `Viewer` role on the parent project.
+  string name = 1;
+}
+
+// Request message for the DeleteVerionRequest method.
+message DeleteVersionRequest {
+  // Required. The name of the version. You can get the names of all the
+  // versions of a model by calling
+  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+  //
+  // Authorization: requires `Editor` role on the parent project.
+  string name = 1;
+}
+
+// Request message for the SetDefaultVersion request.
+message SetDefaultVersionRequest {
+  // Required. The name of the version to make the default for the model. You
+  // can get the names of all the versions of a model by calling
+  // [projects.models.versions.list](/ml/reference/rest/v1beta1/projects.models.versions/list).
+  //
+  // Authorization: requires `Editor` role on the parent project.
+  string name = 1;
+}
diff --git a/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go b/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
new file mode 100644
index 00000000..3e1d1031
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
@@ -0,0 +1,144 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+// DO NOT EDIT!
+
+package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// The operation type.
+type OperationMetadata_OperationType int32
+
+const (
+	// Unspecified operation type.
+	OperationMetadata_OPERATION_TYPE_UNSPECIFIED OperationMetadata_OperationType = 0
+	// An operation to create a new version.
+	OperationMetadata_CREATE_VERSION OperationMetadata_OperationType = 1
+	// An operation to delete an existing version.
+	OperationMetadata_DELETE_VERSION OperationMetadata_OperationType = 2
+	// An operation to delete an existing model.
+	OperationMetadata_DELETE_MODEL OperationMetadata_OperationType = 3
+)
+
+var OperationMetadata_OperationType_name = map[int32]string{
+	0: "OPERATION_TYPE_UNSPECIFIED",
+	1: "CREATE_VERSION",
+	2: "DELETE_VERSION",
+	3: "DELETE_MODEL",
+}
+var OperationMetadata_OperationType_value = map[string]int32{
+	"OPERATION_TYPE_UNSPECIFIED": 0,
+	"CREATE_VERSION":             1,
+	"DELETE_VERSION":             2,
+	"DELETE_MODEL":               3,
+}
+
+func (x OperationMetadata_OperationType) String() string {
+	return proto.EnumName(OperationMetadata_OperationType_name, int32(x))
+}
+func (OperationMetadata_OperationType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor2, []int{0, 0}
+}
+
+// Represents the metadata of the long-running operation.
+type OperationMetadata struct {
+	// The time the operation was submitted.
+	CreateTime *google_protobuf2.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+	// The time operation processing started.
+	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// The time operation processing completed.
+	EndTime *google_protobuf2.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
+	// Indicates whether a request to cancel this operation has been made.
+	IsCancellationRequested bool `protobuf:"varint,4,opt,name=is_cancellation_requested,json=isCancellationRequested" json:"is_cancellation_requested,omitempty"`
+	// The operation type.
+	OperationType OperationMetadata_OperationType `protobuf:"varint,5,opt,name=operation_type,json=operationType,enum=google.cloud.ml.v1beta1.OperationMetadata_OperationType" json:"operation_type,omitempty"`
+	// Contains the name of the model associated with the operation.
+	ModelName string `protobuf:"bytes,6,opt,name=model_name,json=modelName" json:"model_name,omitempty"`
+	// Contains the version associated with the operation.
+	Version *Version `protobuf:"bytes,7,opt,name=version" json:"version,omitempty"`
+}
+
+func (m *OperationMetadata) Reset()                    { *m = OperationMetadata{} }
+func (m *OperationMetadata) String() string            { return proto.CompactTextString(m) }
+func (*OperationMetadata) ProtoMessage()               {}
+func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *OperationMetadata) GetCreateTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetStartTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetEndTime() *google_protobuf2.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
+
+func (m *OperationMetadata) GetVersion() *Version {
+	if m != nil {
+		return m.Version
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*OperationMetadata)(nil), "google.cloud.ml.v1beta1.OperationMetadata")
+	proto.RegisterEnum("google.cloud.ml.v1beta1.OperationMetadata_OperationType", OperationMetadata_OperationType_name, OperationMetadata_OperationType_value)
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 467 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0x41, 0x6f, 0xd3, 0x30,
+	0x14, 0xa6, 0xdb, 0x58, 0x57, 0x8f, 0x55, 0xc5, 0x07, 0x56, 0x2a, 0x01, 0xd3, 0x4e, 0x9c, 0x6c,
+	0x6d, 0x08, 0x09, 0xe8, 0x69, 0xeb, 0x8c, 0x54, 0xc4, 0x9a, 0xc8, 0x0b, 0x93, 0x38, 0x45, 0x6e,
+	0xe2, 0x05, 0x4b, 0x89, 0x1d, 0x62, 0xa7, 0x12, 0x3f, 0x88, 0xff, 0x89, 0x63, 0x27, 0x6a, 0x51,
+	0x35, 0x15, 0x71, 0xb1, 0xec, 0xef, 0x7d, 0xdf, 0xf7, 0x9e, 0xdf, 0x7b, 0x20, 0xc8, 0x94, 0xca,
+	0x72, 0x8e, 0x32, 0x95, 0x33, 0x99, 0x21, 0x55, 0x65, 0x38, 0xe3, 0xb2, 0xac, 0x94, 0x51, 0xd8,
+	0x87, 0x58, 0x29, 0x34, 0x4e, 0x72, 0x55, 0xa7, 0xb8, 0xc8, 0xf1, 0xea, 0x62, 0xc9, 0x0d, 0xbb,
+	0xc0, 0xaa, 0xe4, 0x15, 0x33, 0x42, 0xc9, 0xb8, 0xb0, 0xef, 0x94, 0x19, 0x86, 0x9c, 0x08, 0x9e,
+	0xb6, 0x86, 0x4e, 0x81, 0x8a, 0x1c, 0xb5, 0x8a, 0xc9, 0xfc, 0xdf, 0x32, 0xd9, 0x03, 0x6b, 0x5e,
+	0xad, 0x44, 0xc2, 0x13, 0x25, 0x1f, 0x44, 0x86, 0x99, 0x94, 0xca, 0xb8, 0x5c, 0xda, 0xe7, 0x98,
+	0x7c, 0xf9, 0xcf, 0xa2, 0x0b, 0x95, 0xf2, 0x3c, 0x6e, 0xdd, 0x5b, 0xaf, 0x69, 0x26, 0xcc, 0x8f,
+	0x7a, 0x89, 0x12, 0x55, 0x60, 0xef, 0x87, 0x5d, 0x60, 0x59, 0x3f, 0xe0, 0xd2, 0xfc, 0x2a, 0xb9,
+	0xc6, 0x46, 0x14, 0x5c, 0x1b, 0x56, 0x94, 0xeb, 0x9b, 0x17, 0x9f, 0xff, 0x3e, 0x00, 0xcf, 0x83,
+	0xae, 0x13, 0xb7, 0x6d, 0x23, 0xe0, 0x14, 0x1c, 0x27, 0x15, 0x67, 0x86, 0xc7, 0x0d, 0x7f, 0xdc,
+	0x3b, 0xeb, 0xbd, 0x3d, 0xbe, 0x9c, 0xa0, 0xb6, 0xe8, 0xce, 0x1d, 0x45, 0x9d, 0x19, 0x05, 0x9e,
+	0xde, 0x00, 0xf0, 0x23, 0x00, 0x16, 0xac, 0x8c, 0xd7, 0xee, 0xed, 0xd4, 0x0e, 0x1c, 0xdb, 0x49,
+	0xdf, 0x83, 0x23, 0x2e, 0x53, 0x2f, 0xdc, 0xdf, 0x29, 0xec, 0x5b, 0xae, 0x93, 0x7d, 0x02, 0x2f,
+	0x85, 0x8e, 0x13, 0x26, 0x13, 0x9e, 0xe7, 0x7e, 0xa6, 0x15, 0xff, 0x59, 0x5b, 0x1a, 0x4f, 0xc7,
+	0x07, 0xd6, 0xe7, 0x88, 0x9e, 0x0a, 0x3d, 0xdb, 0x88, 0xd3, 0x2e, 0x0c, 0x63, 0x30, 0x5c, 0x6f,
+	0x42, 0xd3, 0xad, 0xf1, 0x53, 0x2b, 0x18, 0x5e, 0x7e, 0x40, 0x8f, 0xac, 0x01, 0xda, 0x6a, 0xd7,
+	0x1a, 0x89, 0xac, 0x9e, 0x9e, 0xa8, 0xcd, 0x27, 0x7c, 0x05, 0x80, 0x9f, 0x9a, 0x64, 0xf6, 0x57,
+	0x87, 0xd6, 0x7c, 0x40, 0x07, 0x0e, 0x59, 0x30, 0x57, 0x7b, 0x7f, 0xc5, 0x2b, 0x6d, 0xd9, 0xe3,
+	0xbe, 0xfb, 0xf1, 0xd9, 0xa3, 0x89, 0xef, 0x3d, 0x8f, 0x76, 0x82, 0x73, 0x01, 0x4e, 0xfe, 0x4a,
+	0x0d, 0x5f, 0x83, 0x49, 0x10, 0x12, 0x7a, 0x15, 0xcd, 0x83, 0x45, 0x1c, 0x7d, 0x0f, 0x49, 0xfc,
+	0x6d, 0x71, 0x17, 0x92, 0xd9, 0xfc, 0xf3, 0x9c, 0xdc, 0x8c, 0x9e, 0x40, 0x08, 0x86, 0x33, 0x4a,
+	0xae, 0x22, 0x12, 0xdf, 0x13, 0x7a, 0x67, 0x49, 0xa3, 0x5e, 0x83, 0xdd, 0x90, 0xaf, 0x64, 0x03,
+	0xdb, 0x83, 0x23, 0xf0, 0xac, 0xc5, 0x6e, 0x03, 0x7b, 0x19, 0xed, 0x5f, 0x4f, 0xc1, 0x1b, 0xbb,
+	0x5f, 0x5b, 0xa5, 0xd9, 0x2d, 0xed, 0xca, 0xbb, 0x7e, 0xb1, 0xd5, 0x98, 0xb0, 0x99, 0x59, 0xd8,
+	0x5b, 0x1e, 0xba, 0xe1, 0xbd, 0xfb, 0x13, 0x00, 0x00, 0xff, 0xff, 0x8b, 0x26, 0x8b, 0x64, 0xab,
+	0x03, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/ml/v1beta1/operation_metadata.proto b/googleapis/cloud/ml/v1beta1/operation_metadata.proto
new file mode 100644
index 00000000..00eb2d7b
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/operation_metadata.proto
@@ -0,0 +1,71 @@
+// Copyright 2016 Google Inc.
+//
+// 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.ml.v1beta1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto"; // from google/cloud/ml/v1beta1/model_service.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "OperationMetadataProto";
+option java_package = "com.google.cloud.ml.api.v1beta1";
+
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Proto file for the Machine Learning Service
+// Describes the metadata for longrunning operations.
+
+
+
+// Represents the metadata of the long-running operation.
+message OperationMetadata {
+  // The operation type.
+  enum OperationType {
+    // Unspecified operation type.
+    OPERATION_TYPE_UNSPECIFIED = 0;
+
+    // An operation to create a new version.
+    CREATE_VERSION = 1;
+
+    // An operation to delete an existing version.
+    DELETE_VERSION = 2;
+
+    // An operation to delete an existing model.
+    DELETE_MODEL = 3;
+  }
+
+  // The time the operation was submitted.
+  google.protobuf.Timestamp create_time = 1;
+
+  // The time operation processing started.
+  google.protobuf.Timestamp start_time = 2;
+
+  // The time operation processing completed.
+  google.protobuf.Timestamp end_time = 3;
+
+  // Indicates whether a request to cancel this operation has been made.
+  bool is_cancellation_requested = 4;
+
+  // The operation type.
+  OperationType operation_type = 5;
+
+  // Contains the name of the model associated with the operation.
+  string model_name = 6;
+
+  // Contains the version associated with the operation.
+  Version version = 7;
+}
diff --git a/googleapis/cloud/ml/v1beta1/prediction_service.pb.go b/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
new file mode 100644
index 00000000..e5ff6d8e
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
@@ -0,0 +1,333 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto
+// DO NOT EDIT!
+
+package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_api2 "google.golang.org/genproto/googleapis/api/httpbody"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Request for predictions to be issued against a trained model.
+//
+// The body of the request is a single JSON object with a single top-level
+// field:
+//
+// <dl>
+//   <dt>instances</dt>
+//   <dd>A JSON array containing values representing the instances to use for
+//       prediction.</dd>
+// </dl>
+//
+// The structure of each element of the instances list is determined by your
+// model's input definition. Instances can include named inputs or can contain
+// only unlabeled values.
+//
+// Most data does not include named inputs. Some instances will be simple
+// JSON values (boolean, number, or string). However, instances are often lists
+// of simple values, or complex nested lists. Here are some examples of request
+// bodies:
+//
+// CSV data with each row encoded as a string value:
+// <pre>
+// {"instances": ["1.0,true,\\"x\\"", "-2.0,false,\\"y\\""]}
+// </pre>
+// Plain text:
+// <pre>
+// {"instances": ["the quick brown fox", "la bruja le dio"]}
+// </pre>
+// Sentences encoded as lists of words (vectors of strings):
+// <pre>
+// {"instances": [["the","quick","brown"], ["la","bruja","le"]]}
+// </pre>
+// Floating point scalar values:
+// <pre>
+// {"instances": [0.0, 1.1, 2.2]}
+// </pre>
+// Vectors of integers:
+// <pre>
+// {"instances": [[0, 1, 2], [3, 4, 5],...]}
+// </pre>
+// Tensors (in this case, two-dimensional tensors):
+// <pre>
+// {"instances": [[[0, 1, 2], [3, 4, 5]], ...]}
+// </pre>
+// Images represented as a three-dimensional list. In this encoding scheme the
+// first two dimensions represent the rows and columns of the image, and the
+// third contains the R, G, and B values for each pixel.
+// <pre>
+// {"instances": [[[[138, 30, 66], [130, 20, 56], ...]]]]}
+// </pre>
+// Data must be encoded as UTF-8. If your data uses another character encoding,
+// you must base64 encode the data and mark it as binary. To mark a JSON string
+// as binary, replace it with an object with a single attribute named `b`:
+// <pre>{"b": "..."} </pre>
+// For example:
+//
+// Two Serialized tf.Examples (fake data, for illustrative purposes only):
+// <pre>
+// {"instances": [{"b64": "X5ad6u"}, {"b64": "IA9j4nx"}]}
+// </pre>
+// Two JPEG image byte strings (fake data, for illustrative purposes only):
+// <pre>
+// {"instances": [{"b64": "ASa8asdf"}, {"b64": "JLK7ljk3"}]}
+// </pre>
+// If your data includes named references, format each instance as a JSON object
+// with the named references as the keys:
+//
+// JSON input data to be preprocessed:
+// <pre>
+// {"instances": [{"a": 1.0,  "b": true,  "c": "x"},
+//                {"a": -2.0, "b": false, "c": "y"}]}
+// </pre>
+// Some models have an underlying TensorFlow graph that accepts multiple input
+// tensors. In this case, you should use the names of JSON name/value pairs to
+// identify the input tensors, as shown in the following exmaples:
+//
+// For a graph with input tensor aliases "tag" (string) and "image"
+// (base64-encoded string):
+// <pre>
+// {"instances": [{"tag": "beach", "image": {"b64": "ASa8asdf"}},
+//                {"tag": "car", "image": {"b64": "JLK7ljk3"}}]}
+// </pre>
+// For a graph with input tensor aliases "tag" (string) and "image"
+// (3-dimensional array of 8-bit ints):
+// <pre>
+// {"instances": [{"tag": "beach", "image": [[[263, 1, 10], [262, 2, 11], ...]]},
+//                {"tag": "car", "image": [[[10, 11, 24], [23, 10, 15], ...]]}]}
+// </pre>
+// If the call is successful, the response body will contain one prediction
+// entry per instance in the request body. If prediction fails for any
+// instance, the response body will contain no predictions and will contian
+// a single error entry instead.
+type PredictRequest struct {
+	// Required. The resource name of a model or a version.
+	//
+	// Authorization: requires `Viewer` role on the parent project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	//
+	// Required. The prediction request body.
+	HttpBody *google_api2.HttpBody `protobuf:"bytes,2,opt,name=http_body,json=httpBody" json:"http_body,omitempty"`
+}
+
+func (m *PredictRequest) Reset()                    { *m = PredictRequest{} }
+func (m *PredictRequest) String() string            { return proto.CompactTextString(m) }
+func (*PredictRequest) ProtoMessage()               {}
+func (*PredictRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+
+func (m *PredictRequest) GetHttpBody() *google_api2.HttpBody {
+	if m != nil {
+		return m.HttpBody
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*PredictRequest)(nil), "google.cloud.ml.v1beta1.PredictRequest")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for OnlinePredictionService service
+
+type OnlinePredictionServiceClient interface {
+	// Performs prediction on the data in the request.
+	//
+	// Responses are very similar to requests. There are two top-level fields,
+	// each of which are JSON lists:
+	//
+	// <dl>
+	//   <dt>predictions</dt>
+	//   <dd>The list of predictions, one per instance in the request.</dd>
+	//   <dt>error</dt>
+	//   <dd>An error message returned instead of a prediction list if any
+	//       instance produced an error.</dd>
+	// </dl>
+	//
+	// If the call is successful, the response body will contain one prediction
+	// entry per instance in the request body. If prediction fails for any
+	// instance, the response body will contain no predictions and will contian
+	// a single error entry instead.
+	//
+	// Even though there is one prediction per instance, the format of a
+	// prediction is not directly related to the format of an instance.
+	// Predictions take whatever format is specified in the outputs collection
+	// defined in the model. The collection of predictions is returned in a JSON
+	// list. Each member of the list can be a simple value, a list, or a JSON
+	// object of any complexity. If your model has more than one output tensor,
+	// each prediction will be a JSON object containing a name/value pair for each
+	// output. The names identify the output aliases in the graph.
+	//
+	// The following examples show some possible responses:
+	//
+	// A simple set of predictions for three input instances, where each
+	// prediction is an integer value:
+	// <pre>
+	// {"predictions": [5, 4, 3]}
+	// </pre>
+	// A more complex set of predictions, each containing two named values that
+	// correspond to output tensors, named **label** and **scores** respectively.
+	// The value of **label** is the predicted category ("car" or "beach") and
+	// **scores** contains a list of probabilities for that instance across the
+	// possible categories.
+	// <pre>
+	// {"predictions": [{"label": "beach", "scores": [0.1, 0.9]},
+	//                  {"label": "car", "scores": [0.75, 0.25]}]}
+	// </pre>
+	// A response when there is an error processing an input instance:
+	// <pre>
+	// {"error": "Divide by zero"}
+	// </pre>
+	Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*google_api2.HttpBody, error)
+}
+
+type onlinePredictionServiceClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewOnlinePredictionServiceClient(cc *grpc.ClientConn) OnlinePredictionServiceClient {
+	return &onlinePredictionServiceClient{cc}
+}
+
+func (c *onlinePredictionServiceClient) Predict(ctx context.Context, in *PredictRequest, opts ...grpc.CallOption) (*google_api2.HttpBody, error) {
+	out := new(google_api2.HttpBody)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.OnlinePredictionService/Predict", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for OnlinePredictionService service
+
+type OnlinePredictionServiceServer interface {
+	// Performs prediction on the data in the request.
+	//
+	// Responses are very similar to requests. There are two top-level fields,
+	// each of which are JSON lists:
+	//
+	// <dl>
+	//   <dt>predictions</dt>
+	//   <dd>The list of predictions, one per instance in the request.</dd>
+	//   <dt>error</dt>
+	//   <dd>An error message returned instead of a prediction list if any
+	//       instance produced an error.</dd>
+	// </dl>
+	//
+	// If the call is successful, the response body will contain one prediction
+	// entry per instance in the request body. If prediction fails for any
+	// instance, the response body will contain no predictions and will contian
+	// a single error entry instead.
+	//
+	// Even though there is one prediction per instance, the format of a
+	// prediction is not directly related to the format of an instance.
+	// Predictions take whatever format is specified in the outputs collection
+	// defined in the model. The collection of predictions is returned in a JSON
+	// list. Each member of the list can be a simple value, a list, or a JSON
+	// object of any complexity. If your model has more than one output tensor,
+	// each prediction will be a JSON object containing a name/value pair for each
+	// output. The names identify the output aliases in the graph.
+	//
+	// The following examples show some possible responses:
+	//
+	// A simple set of predictions for three input instances, where each
+	// prediction is an integer value:
+	// <pre>
+	// {"predictions": [5, 4, 3]}
+	// </pre>
+	// A more complex set of predictions, each containing two named values that
+	// correspond to output tensors, named **label** and **scores** respectively.
+	// The value of **label** is the predicted category ("car" or "beach") and
+	// **scores** contains a list of probabilities for that instance across the
+	// possible categories.
+	// <pre>
+	// {"predictions": [{"label": "beach", "scores": [0.1, 0.9]},
+	//                  {"label": "car", "scores": [0.75, 0.25]}]}
+	// </pre>
+	// A response when there is an error processing an input instance:
+	// <pre>
+	// {"error": "Divide by zero"}
+	// </pre>
+	Predict(context.Context, *PredictRequest) (*google_api2.HttpBody, error)
+}
+
+func RegisterOnlinePredictionServiceServer(s *grpc.Server, srv OnlinePredictionServiceServer) {
+	s.RegisterService(&_OnlinePredictionService_serviceDesc, srv)
+}
+
+func _OnlinePredictionService_Predict_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(PredictRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(OnlinePredictionServiceServer).Predict(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.OnlinePredictionService/Predict",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(OnlinePredictionServiceServer).Predict(ctx, req.(*PredictRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _OnlinePredictionService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.ml.v1beta1.OnlinePredictionService",
+	HandlerType: (*OnlinePredictionServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "Predict",
+			Handler:    _OnlinePredictionService_Predict_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor3,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto", fileDescriptor3)
+}
+
+var fileDescriptor3 = []byte{
+	// 314 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x91, 0x41, 0x4b, 0xc3, 0x30,
+	0x18, 0x86, 0xe9, 0x10, 0x75, 0x11, 0x3c, 0x04, 0x71, 0x63, 0x17, 0x65, 0x1e, 0x1c, 0x3b, 0x24,
+	0x6c, 0xde, 0x26, 0x1e, 0xdc, 0x49, 0x4f, 0x2b, 0xf3, 0xe0, 0x71, 0xa4, 0x69, 0xcc, 0x22, 0x69,
+	0xbe, 0xda, 0x66, 0x43, 0x11, 0x2f, 0xfe, 0x85, 0xfd, 0x34, 0xff, 0x82, 0x3f, 0xc4, 0xa4, 0x0d,
+	0x05, 0x99, 0xc2, 0x2e, 0xe5, 0xa3, 0x2f, 0xef, 0xf3, 0x7e, 0xdf, 0x1b, 0x34, 0x93, 0x00, 0x52,
+	0x0b, 0x22, 0x41, 0x33, 0x23, 0x09, 0x14, 0x92, 0x4a, 0x61, 0xf2, 0x02, 0x2c, 0xd0, 0x5a, 0x62,
+	0xb9, 0x2a, 0x29, 0xd7, 0xb0, 0x4a, 0x69, 0xa6, 0xe9, 0x7a, 0x94, 0x08, 0xcb, 0x46, 0x34, 0x2f,
+	0x44, 0xaa, 0xb8, 0x55, 0x60, 0x16, 0xa5, 0x28, 0xd6, 0x8a, 0x0b, 0x52, 0x99, 0x70, 0x27, 0x00,
+	0x2b, 0x07, 0xc9, 0x34, 0x09, 0x8e, 0xde, 0xfd, 0x6e, 0x49, 0xee, 0x43, 0x03, 0x91, 0x83, 0x79,
+	0x52, 0x92, 0x32, 0x63, 0xc0, 0x32, 0x1f, 0x55, 0xd6, 0x19, 0xbd, 0xdb, 0xdd, 0x51, 0x4b, 0x6b,
+	0xf3, 0x04, 0xd2, 0xb7, 0x66, 0xa8, 0x11, 0xfd, 0x47, 0x74, 0x1c, 0xd7, 0x27, 0xcc, 0xc5, 0xcb,
+	0x4a, 0x94, 0x16, 0x63, 0xb4, 0x67, 0x58, 0x26, 0xba, 0xd1, 0x79, 0x34, 0x68, 0xcf, 0xab, 0x19,
+	0x8f, 0x50, 0xdb, 0xfb, 0x16, 0xde, 0xd8, 0x6d, 0x39, 0xe1, 0x68, 0x7c, 0x42, 0x42, 0xb8, 0xa3,
+	0x93, 0x3b, 0x27, 0x4e, 0x9d, 0x36, 0x3f, 0x5c, 0x86, 0x69, 0xbc, 0x89, 0x50, 0x67, 0x66, 0xb4,
+	0x32, 0x22, 0x6e, 0x2a, 0x7a, 0xa8, 0xef, 0xc1, 0xaf, 0xe8, 0x20, 0xfc, 0xc4, 0x97, 0xe4, 0x9f,
+	0x9e, 0xc8, 0xef, 0xb5, 0x7a, 0x7f, 0xe6, 0xf5, 0xc9, 0xe7, 0xd7, 0xf7, 0xa6, 0x35, 0xe8, 0x5f,
+	0x34, 0x0f, 0xf2, 0xee, 0x17, 0xbe, 0x71, 0xc7, 0x3d, 0x0b, 0x6e, 0x4b, 0x3a, 0x1c, 0x7e, 0x4c,
+	0xc2, 0x1b, 0x4d, 0xa2, 0xe1, 0xf4, 0x1a, 0x9d, 0x71, 0xc8, 0xb6, 0x32, 0x3d, 0x33, 0x00, 0xa6,
+	0xa7, 0x5b, 0xfb, 0xc6, 0xbe, 0xa9, 0x38, 0x4a, 0xf6, 0xab, 0xca, 0xae, 0x7e, 0x02, 0x00, 0x00,
+	0xff, 0xff, 0x22, 0x54, 0x5b, 0xa1, 0x2c, 0x02, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/ml/v1beta1/prediction_service.proto b/googleapis/cloud/ml/v1beta1/prediction_service.proto
new file mode 100644
index 00000000..91ba8e89
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/prediction_service.proto
@@ -0,0 +1,188 @@
+// Copyright 2016 Google Inc.
+//
+// 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.ml.v1beta1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto"; // from google/api/httpbody.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "PredictionServiceProto";
+option java_package = "com.google.cloud.ml.api.v1beta1";
+
+// Copyright 2016 Google Inc. All Rights Reserved.
+//
+// Proto file for the Prediction service, both online and batch prediction.
+
+
+
+// The Prediction API, which serves predictions for models managed by
+// ModelService.
+service OnlinePredictionService {
+  // Performs prediction on the data in the request.
+  //
+  // Responses are very similar to requests. There are two top-level fields,
+  // each of which are JSON lists:
+  //
+  // <dl>
+  //   <dt>predictions</dt>
+  //   <dd>The list of predictions, one per instance in the request.</dd>
+  //   <dt>error</dt>
+  //   <dd>An error message returned instead of a prediction list if any
+  //       instance produced an error.</dd>
+  // </dl>
+  //
+  // If the call is successful, the response body will contain one prediction
+  // entry per instance in the request body. If prediction fails for any
+  // instance, the response body will contain no predictions and will contian
+  // a single error entry instead.
+  //
+  // Even though there is one prediction per instance, the format of a
+  // prediction is not directly related to the format of an instance.
+  // Predictions take whatever format is specified in the outputs collection
+  // defined in the model. The collection of predictions is returned in a JSON
+  // list. Each member of the list can be a simple value, a list, or a JSON
+  // object of any complexity. If your model has more than one output tensor,
+  // each prediction will be a JSON object containing a name/value pair for each
+  // output. The names identify the output aliases in the graph.
+  //
+  // The following examples show some possible responses:
+  //
+  // A simple set of predictions for three input instances, where each
+  // prediction is an integer value:
+  // <pre>
+  // {"predictions": [5, 4, 3]}
+  // </pre>
+  // A more complex set of predictions, each containing two named values that
+  // correspond to output tensors, named **label** and **scores** respectively.
+  // The value of **label** is the predicted category ("car" or "beach") and
+  // **scores** contains a list of probabilities for that instance across the
+  // possible categories.
+  // <pre>
+  // {"predictions": [{"label": "beach", "scores": [0.1, 0.9]},
+  //                  {"label": "car", "scores": [0.75, 0.25]}]}
+  // </pre>
+  // A response when there is an error processing an input instance:
+  // <pre>
+  // {"error": "Divide by zero"}
+  // </pre>
+  rpc Predict(PredictRequest) returns (google.api.HttpBody) {
+    option (google.api.http) = { post: "/v1beta1/{name=projects/**}:predict" body: "*" };
+  }
+}
+
+// Request for predictions to be issued against a trained model.
+//
+// The body of the request is a single JSON object with a single top-level
+// field:
+//
+// <dl>
+//   <dt>instances</dt>
+//   <dd>A JSON array containing values representing the instances to use for
+//       prediction.</dd>
+// </dl>
+//
+// The structure of each element of the instances list is determined by your
+// model's input definition. Instances can include named inputs or can contain
+// only unlabeled values.
+//
+// Most data does not include named inputs. Some instances will be simple
+// JSON values (boolean, number, or string). However, instances are often lists
+// of simple values, or complex nested lists. Here are some examples of request
+// bodies:
+//
+// CSV data with each row encoded as a string value:
+// <pre>
+// {"instances": ["1.0,true,\\"x\\"", "-2.0,false,\\"y\\""]}
+// </pre>
+// Plain text:
+// <pre>
+// {"instances": ["the quick brown fox", "la bruja le dio"]}
+// </pre>
+// Sentences encoded as lists of words (vectors of strings):
+// <pre>
+// {"instances": [["the","quick","brown"], ["la","bruja","le"]]}
+// </pre>
+// Floating point scalar values:
+// <pre>
+// {"instances": [0.0, 1.1, 2.2]}
+// </pre>
+// Vectors of integers:
+// <pre>
+// {"instances": [[0, 1, 2], [3, 4, 5],...]}
+// </pre>
+// Tensors (in this case, two-dimensional tensors):
+// <pre>
+// {"instances": [[[0, 1, 2], [3, 4, 5]], ...]}
+// </pre>
+// Images represented as a three-dimensional list. In this encoding scheme the
+// first two dimensions represent the rows and columns of the image, and the
+// third contains the R, G, and B values for each pixel.
+// <pre>
+// {"instances": [[[[138, 30, 66], [130, 20, 56], ...]]]]}
+// </pre>
+// Data must be encoded as UTF-8. If your data uses another character encoding,
+// you must base64 encode the data and mark it as binary. To mark a JSON string
+// as binary, replace it with an object with a single attribute named `b`:
+// <pre>{"b": "..."} </pre>
+// For example:
+//
+// Two Serialized tf.Examples (fake data, for illustrative purposes only):
+// <pre>
+// {"instances": [{"b64": "X5ad6u"}, {"b64": "IA9j4nx"}]}
+// </pre>
+// Two JPEG image byte strings (fake data, for illustrative purposes only):
+// <pre>
+// {"instances": [{"b64": "ASa8asdf"}, {"b64": "JLK7ljk3"}]}
+// </pre>
+// If your data includes named references, format each instance as a JSON object
+// with the named references as the keys:
+//
+// JSON input data to be preprocessed:
+// <pre>
+// {"instances": [{"a": 1.0,  "b": true,  "c": "x"},
+//                {"a": -2.0, "b": false, "c": "y"}]}
+// </pre>
+// Some models have an underlying TensorFlow graph that accepts multiple input
+// tensors. In this case, you should use the names of JSON name/value pairs to
+// identify the input tensors, as shown in the following exmaples:
+//
+// For a graph with input tensor aliases "tag" (string) and "image"
+// (base64-encoded string):
+// <pre>
+// {"instances": [{"tag": "beach", "image": {"b64": "ASa8asdf"}},
+//                {"tag": "car", "image": {"b64": "JLK7ljk3"}}]}
+// </pre>
+// For a graph with input tensor aliases "tag" (string) and "image"
+// (3-dimensional array of 8-bit ints):
+// <pre>
+// {"instances": [{"tag": "beach", "image": [[[263, 1, 10], [262, 2, 11], ...]]},
+//                {"tag": "car", "image": [[[10, 11, 24], [23, 10, 15], ...]]}]}
+// </pre>
+// If the call is successful, the response body will contain one prediction
+// entry per instance in the request body. If prediction fails for any
+// instance, the response body will contain no predictions and will contian
+// a single error entry instead.
+message PredictRequest {
+  // Required. The resource name of a model or a version.
+  //
+  // Authorization: requires `Viewer` role on the parent project.
+  string name = 1;
+
+  //
+  // Required. The prediction request body.
+  google.api.HttpBody http_body = 2;
+}
diff --git a/googleapis/cloud/ml/v1beta1/project_service.pb.go b/googleapis/cloud/ml/v1beta1/project_service.pb.go
new file mode 100644
index 00000000..96aaf1a7
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/project_service.pb.go
@@ -0,0 +1,160 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto
+// DO NOT EDIT!
+
+package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// Requests service account information associated with a project.
+type GetConfigRequest struct {
+	// Required. The project name.
+	//
+	// Authorization: requires `Viewer` role on the specified project.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetConfigRequest) Reset()                    { *m = GetConfigRequest{} }
+func (m *GetConfigRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetConfigRequest) ProtoMessage()               {}
+func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+
+// Returns service account information associated with a project.
+type GetConfigResponse struct {
+	// The service account Cloud ML uses to access resources in the project.
+	ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount" json:"service_account,omitempty"`
+	// The project number for `service_account`.
+	ServiceAccountProject int64 `protobuf:"varint,2,opt,name=service_account_project,json=serviceAccountProject" json:"service_account_project,omitempty"`
+}
+
+func (m *GetConfigResponse) Reset()                    { *m = GetConfigResponse{} }
+func (m *GetConfigResponse) String() string            { return proto.CompactTextString(m) }
+func (*GetConfigResponse) ProtoMessage()               {}
+func (*GetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+
+func init() {
+	proto.RegisterType((*GetConfigRequest)(nil), "google.cloud.ml.v1beta1.GetConfigRequest")
+	proto.RegisterType((*GetConfigResponse)(nil), "google.cloud.ml.v1beta1.GetConfigResponse")
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for ProjectManagementService service
+
+type ProjectManagementServiceClient interface {
+	// Get the service account information associated with your project. You need
+	// this information in order to grant the service account persmissions for
+	// the Google Cloud Storage location where you put your model training code
+	// for training the model with Google Cloud Machine Learning.
+	GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error)
+}
+
+type projectManagementServiceClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewProjectManagementServiceClient(cc *grpc.ClientConn) ProjectManagementServiceClient {
+	return &projectManagementServiceClient{cc}
+}
+
+func (c *projectManagementServiceClient) GetConfig(ctx context.Context, in *GetConfigRequest, opts ...grpc.CallOption) (*GetConfigResponse, error) {
+	out := new(GetConfigResponse)
+	err := grpc.Invoke(ctx, "/google.cloud.ml.v1beta1.ProjectManagementService/GetConfig", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for ProjectManagementService service
+
+type ProjectManagementServiceServer interface {
+	// Get the service account information associated with your project. You need
+	// this information in order to grant the service account persmissions for
+	// the Google Cloud Storage location where you put your model training code
+	// for training the model with Google Cloud Machine Learning.
+	GetConfig(context.Context, *GetConfigRequest) (*GetConfigResponse, error)
+}
+
+func RegisterProjectManagementServiceServer(s *grpc.Server, srv ProjectManagementServiceServer) {
+	s.RegisterService(&_ProjectManagementService_serviceDesc, srv)
+}
+
+func _ProjectManagementService_GetConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetConfigRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ProjectManagementServiceServer).GetConfig(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.cloud.ml.v1beta1.ProjectManagementService/GetConfig",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ProjectManagementServiceServer).GetConfig(ctx, req.(*GetConfigRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _ProjectManagementService_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.cloud.ml.v1beta1.ProjectManagementService",
+	HandlerType: (*ProjectManagementServiceServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "GetConfig",
+			Handler:    _ProjectManagementService_GetConfig_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor4,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto", fileDescriptor4)
+}
+
+var fileDescriptor4 = []byte{
+	// 323 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0xcd, 0x4a, 0x03, 0x31,
+	0x10, 0x66, 0xab, 0x08, 0xcd, 0xc1, 0x9f, 0x88, 0xb4, 0xf4, 0xa2, 0x14, 0xa9, 0x5a, 0x24, 0xa1,
+	0x0a, 0x22, 0x82, 0x07, 0xeb, 0x41, 0x04, 0x85, 0x65, 0x7d, 0x80, 0x25, 0x8d, 0x63, 0x58, 0xd9,
+	0xcd, 0xac, 0x9b, 0x6c, 0x2f, 0xe2, 0xc5, 0x27, 0x10, 0x7c, 0x0e, 0x9f, 0xc6, 0x57, 0xf0, 0x41,
+	0xdc, 0x6e, 0xd2, 0xa2, 0x15, 0xa1, 0x97, 0x10, 0x66, 0xbe, 0xef, 0x9b, 0xf9, 0xe6, 0x23, 0x37,
+	0x0a, 0x51, 0xa5, 0xc0, 0x14, 0xa6, 0x42, 0x2b, 0x86, 0x85, 0xe2, 0x0a, 0x74, 0x5e, 0xa0, 0x45,
+	0xee, 0x5a, 0x22, 0x4f, 0x0c, 0x97, 0x29, 0x96, 0xf7, 0x3c, 0x4b, 0xf9, 0x78, 0x30, 0x02, 0x2b,
+	0x06, 0xbc, 0x42, 0x3c, 0x82, 0xb4, 0xb1, 0x81, 0x62, 0x9c, 0x48, 0x60, 0x35, 0x83, 0xb6, 0xbc,
+	0x5a, 0x0d, 0x67, 0x59, 0xca, 0x3c, 0xbc, 0x73, 0xbd, 0xd8, 0x98, 0xea, 0xe1, 0x5e, 0x51, 0xa2,
+	0x7e, 0x48, 0x14, 0x17, 0x5a, 0xa3, 0x15, 0x36, 0x41, 0x6d, 0xdc, 0x8c, 0x6e, 0x8f, 0xac, 0x5f,
+	0x81, 0xbd, 0xac, 0xdb, 0x11, 0x3c, 0x95, 0x60, 0x2c, 0xa5, 0x64, 0x59, 0x8b, 0x0c, 0xda, 0xc1,
+	0x4e, 0xb0, 0xdf, 0x8c, 0xea, 0x7f, 0xd7, 0x92, 0x8d, 0x1f, 0x38, 0x93, 0x57, 0x0a, 0x40, 0xf7,
+	0xc8, 0x9a, 0xd7, 0x8f, 0x85, 0x94, 0x58, 0x6a, 0xeb, 0x39, 0xab, 0xbe, 0x7c, 0xe1, 0xaa, 0xf4,
+	0x84, 0xb4, 0xe6, 0x80, 0xb1, 0xb7, 0xdc, 0x6e, 0x54, 0x84, 0xa5, 0x68, 0xeb, 0x37, 0x21, 0x74,
+	0xcd, 0xa3, 0x8f, 0x80, 0xb4, 0xfd, 0xff, 0x56, 0x68, 0xa1, 0x20, 0x03, 0x6d, 0xef, 0x1c, 0x94,
+	0xbe, 0x05, 0xa4, 0x39, 0xdb, 0x89, 0x1e, 0xb0, 0x7f, 0xae, 0xc5, 0xe6, 0xfd, 0x75, 0xfa, 0x8b,
+	0x40, 0x9d, 0xc5, 0xee, 0xe1, 0xeb, 0xe7, 0xd7, 0x7b, 0xa3, 0x47, 0x77, 0x67, 0x59, 0x3d, 0x4f,
+	0xee, 0x71, 0xee, 0xd7, 0x37, 0xbc, 0xff, 0x72, 0xa6, 0xa6, 0xac, 0xe1, 0x29, 0xd9, 0x96, 0x98,
+	0xfd, 0x91, 0xaf, 0x82, 0x98, 0x8e, 0x18, 0x6e, 0x7a, 0x3f, 0xde, 0x45, 0x38, 0x49, 0x21, 0x0c,
+	0x46, 0x2b, 0x75, 0x1c, 0xc7, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x01, 0x64, 0xc1, 0x94, 0x42,
+	0x02, 0x00, 0x00,
+}
diff --git a/googleapis/cloud/ml/v1beta1/project_service.proto b/googleapis/cloud/ml/v1beta1/project_service.proto
new file mode 100644
index 00000000..d0834b30
--- /dev/null
+++ b/googleapis/cloud/ml/v1beta1/project_service.proto
@@ -0,0 +1,52 @@
+// Copyright 2016 Google Inc.
+//
+// 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.ml.v1beta1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+
+option java_multiple_files = true;
+option java_outer_classname = "ProjectServiceProto";
+option java_package = "com.google.cloud.ml.api.v1beta1";
+
+
+// Allows retrieving project related information.
+service ProjectManagementService {
+  // Get the service account information associated with your project. You need
+  // this information in order to grant the service account persmissions for
+  // the Google Cloud Storage location where you put your model training code
+  // for training the model with Google Cloud Machine Learning.
+  rpc GetConfig(GetConfigRequest) returns (GetConfigResponse) {
+    option (google.api.http) = { get: "/v1beta1/{name=projects/*}:getConfig" };
+  }
+}
+
+// Requests service account information associated with a project.
+message GetConfigRequest {
+  // Required. The project name.
+  //
+  // Authorization: requires `Viewer` role on the specified project.
+  string name = 1;
+}
+
+// Returns service account information associated with a project.
+message GetConfigResponse {
+  // The service account Cloud ML uses to access resources in the project.
+  string service_account = 1;
+
+  // The project number for `service_account`.
+  int64 service_account_project = 2;
+}
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go b/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
index 983393cc..471cf4aa 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
@@ -494,44 +494,43 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 611 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x53, 0x4d, 0x4f, 0xdb, 0x4c,
-	0x10, 0x8e, 0x79, 0xf3, 0x01, 0x63, 0x78, 0x85, 0x56, 0xaf, 0x90, 0xdf, 0x1c, 0xaa, 0x28, 0x87,
-	0x2a, 0xe2, 0x60, 0x97, 0x70, 0x42, 0xb4, 0x87, 0x7c, 0xb8, 0x25, 0x15, 0xaa, 0xa8, 0x13, 0xe8,
-	0x91, 0x6e, 0xd6, 0x8b, 0x59, 0xc9, 0xd9, 0xb5, 0xf6, 0x03, 0x95, 0x7f, 0xd6, 0x5f, 0xd3, 0x53,
-	0x7f, 0x48, 0xb5, 0x6b, 0x1b, 0x82, 0x8a, 0x44, 0xda, 0x53, 0x66, 0x3c, 0xf3, 0x3c, 0x33, 0xcf,
-	0xb3, 0x13, 0xf8, 0x9c, 0x09, 0x91, 0xe5, 0x34, 0xcc, 0x44, 0x8e, 0x79, 0x16, 0x0a, 0x99, 0x45,
-	0x19, 0xe5, 0x85, 0x14, 0x5a, 0x44, 0x65, 0x09, 0x17, 0x4c, 0x45, 0x24, 0x17, 0x26, 0x8d, 0xa4,
-	0xe1, 0x9a, 0xad, 0x28, 0x11, 0xfc, 0x86, 0x65, 0xd1, 0xdd, 0xd1, 0x92, 0x6a, 0x7c, 0x14, 0x49,
-	0xaa, 0x84, 0x91, 0x84, 0xaa, 0xd0, 0xc1, 0x50, 0xbf, 0xa2, 0x74, 0x98, 0xf0, 0x09, 0x26, 0xac,
-	0x30, 0xdd, 0xd9, 0x66, 0x63, 0x71, 0xc1, 0x22, 0x45, 0xe5, 0x1d, 0x23, 0xf5, 0x50, 0xcc, 0xb9,
-	0xd0, 0x58, 0x33, 0xc1, 0xab, 0x71, 0xdd, 0x93, 0x8c, 0xe9, 0x5b, 0xb3, 0x0c, 0x89, 0x58, 0x45,
-	0x25, 0x5d, 0xe4, 0x0a, 0x4b, 0x73, 0x13, 0x15, 0xfa, 0xbe, 0xa0, 0x2a, 0x4a, 0x8d, 0x74, 0x90,
-	0x87, 0xa0, 0x82, 0x9e, 0xbe, 0x0c, 0xb5, 0xbb, 0x2b, 0x8d, 0x57, 0xc5, 0x63, 0x54, 0x81, 0xdf,
-	0x6d, 0x26, 0x41, 0x16, 0x24, 0x52, 0x1a, 0x6b, 0xa3, 0xaa, 0x9f, 0x12, 0xde, 0x8f, 0x61, 0x2f,
-	0x29, 0xad, 0x99, 0x38, 0x65, 0x08, 0x41, 0x93, 0xe3, 0x15, 0x0d, 0xbc, 0x9e, 0x37, 0xd8, 0x49,
-	0x5c, 0x8c, 0x7a, 0xe0, 0xa7, 0x54, 0x11, 0xc9, 0x0a, 0xbb, 0x75, 0xb0, 0xe5, 0x4a, 0xeb, 0x9f,
-	0xfa, 0x3f, 0x3c, 0xd8, 0xbe, 0xc2, 0x92, 0xe1, 0x65, 0x4e, 0x9f, 0xa5, 0x38, 0x80, 0xd6, 0x1d,
-	0xce, 0x0d, 0x75, 0xe0, 0xdd, 0xb3, 0x46, 0x52, 0xa6, 0xe8, 0x3f, 0x68, 0x6a, 0xfa, 0x4d, 0x07,
-	0x2d, 0xdb, 0x7b, 0xd6, 0x48, 0x5c, 0x86, 0x4e, 0xc1, 0x37, 0x45, 0x8a, 0x35, 0xbd, 0xb6, 0x9b,
-	0x05, 0xff, 0xf4, 0xbc, 0x81, 0x3f, 0xec, 0x86, 0x95, 0xd4, 0xda, 0x9c, 0x70, 0x51, 0x7b, 0x91,
-	0x40, 0xd9, 0x6e, 0x3f, 0xa0, 0x0f, 0xd0, 0xb2, 0x12, 0x69, 0xd0, 0xec, 0x79, 0x83, 0x7f, 0x87,
-	0x47, 0xe1, 0xcb, 0x87, 0x10, 0xd6, 0xbb, 0xcf, 0x2d, 0x30, 0x29, 0xf1, 0x63, 0x80, 0x6d, 0x22,
-	0xb8, 0xa6, 0x5c, 0xab, 0xfe, 0x77, 0x0f, 0x76, 0x63, 0x9e, 0x4e, 0x04, 0x4f, 0x99, 0x55, 0x8c,
-	0xbe, 0x82, 0x4f, 0xb0, 0x4c, 0x19, 0xc7, 0x39, 0xd3, 0xf7, 0x4e, 0xab, 0x3f, 0x7c, 0xbb, 0xc9,
-	0xac, 0x75, 0x9a, 0x70, 0xf2, 0xc8, 0x71, 0xd6, 0x48, 0xd6, 0x29, 0xbb, 0x27, 0xe0, 0xaf, 0x55,
-	0xad, 0xab, 0x05, 0xd6, 0xb7, 0xb5, 0xab, 0x36, 0x46, 0x07, 0xd0, 0xe6, 0x66, 0xb5, 0xa4, 0xd2,
-	0xd9, 0xda, 0x4a, 0xaa, 0x6c, 0xec, 0xc3, 0x0e, 0xa9, 0x47, 0xf4, 0x7f, 0x6e, 0x41, 0xfb, 0x0b,
-	0x66, 0x9a, 0xca, 0x67, 0x5f, 0xe6, 0x18, 0x3a, 0x76, 0x49, 0x61, 0xb4, 0x23, 0xf1, 0x87, 0xff,
-	0xff, 0xe6, 0xf3, 0xb4, 0xba, 0xd7, 0xa4, 0xee, 0x44, 0x1f, 0xa1, 0x73, 0x83, 0x59, 0x6e, 0x64,
-	0xfd, 0x38, 0x6f, 0xfe, 0x54, 0x79, 0x52, 0x13, 0x58, 0x2e, 0x65, 0x08, 0xa1, 0x4a, 0xb9, 0x17,
-	0xfb, 0x2b, 0xae, 0x8a, 0xc0, 0x1e, 0x0e, 0x91, 0xf4, 0xe1, 0x70, 0x5a, 0x2f, 0x1f, 0x4e, 0xd9,
-	0xee, 0x0e, 0x07, 0x41, 0x33, 0x15, 0x9c, 0x06, 0xed, 0x9e, 0x37, 0xd8, 0x4e, 0x5c, 0x8c, 0x06,
-	0xd0, 0xa2, 0x52, 0x0a, 0x19, 0x74, 0x1c, 0x15, 0xaa, 0xa9, 0x64, 0x41, 0xc2, 0xb9, 0xfb, 0x23,
-	0x25, 0x65, 0xc3, 0xe1, 0x0c, 0xf6, 0x9e, 0x5c, 0x11, 0x7a, 0x05, 0xdd, 0xab, 0x51, 0x32, 0x1b,
-	0x8d, 0xcf, 0xe3, 0xeb, 0xf9, 0x62, 0xb4, 0x88, 0xaf, 0x2f, 0x3f, 0xcd, 0x2f, 0xe2, 0xc9, 0xec,
-	0xfd, 0x2c, 0x9e, 0xee, 0x37, 0x90, 0x0f, 0x9d, 0xcb, 0x8b, 0xe9, 0x68, 0x11, 0x4f, 0xf7, 0x3d,
-	0x9b, 0x4c, 0xe3, 0xf3, 0xd8, 0x26, 0x5b, 0xe3, 0x43, 0x78, 0x4d, 0xc4, 0x6a, 0x03, 0x17, 0x2e,
-	0xbc, 0x65, 0xdb, 0x89, 0x3a, 0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x78, 0x05, 0x3a, 0x42,
-	0x05, 0x00, 0x00,
+	// 606 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x51, 0x4f, 0xdb, 0x30,
+	0x10, 0xa6, 0x8c, 0xb6, 0x70, 0x81, 0x09, 0x59, 0xd3, 0x94, 0xf5, 0x61, 0x42, 0x7d, 0x98, 0x10,
+	0x0f, 0xf6, 0x28, 0x4f, 0x88, 0xed, 0x81, 0xd2, 0x6c, 0xeb, 0x84, 0x26, 0x96, 0x02, 0x7b, 0x64,
+	0x6e, 0x62, 0x82, 0xa5, 0xd4, 0x8e, 0x1c, 0x1b, 0x8d, 0x7f, 0xb6, 0x5f, 0xb3, 0xa7, 0xfd, 0x90,
+	0xd9, 0x4e, 0x02, 0x45, 0x43, 0x6a, 0xb7, 0x97, 0xf6, 0xce, 0x77, 0xdf, 0x77, 0x77, 0x9f, 0xcf,
+	0x81, 0xaf, 0x99, 0x94, 0x59, 0xce, 0x70, 0x26, 0x73, 0x2a, 0x32, 0x2c, 0x55, 0x46, 0x32, 0x26,
+	0x0a, 0x25, 0xb5, 0x24, 0x55, 0x88, 0x16, 0xbc, 0x24, 0x49, 0x2e, 0x4d, 0x4a, 0x94, 0x11, 0x9a,
+	0xcf, 0x58, 0x22, 0xc5, 0x35, 0xcf, 0xc8, 0xed, 0xfe, 0x94, 0x69, 0xba, 0x4f, 0x14, 0x2b, 0xa5,
+	0x51, 0x09, 0x2b, 0xb1, 0x87, 0xa1, 0x7e, 0x4d, 0xe9, 0x31, 0xf8, 0x11, 0x06, 0xd7, 0x98, 0xde,
+	0x78, 0xb9, 0xb2, 0xf6, 0x87, 0x94, 0x4c, 0xdd, 0xf2, 0xa4, 0x29, 0x4a, 0x85, 0x90, 0x9a, 0x6a,
+	0x2e, 0x45, 0x5d, 0xae, 0x77, 0x98, 0x71, 0x7d, 0x63, 0xa6, 0x38, 0x91, 0x33, 0x52, 0xd1, 0x11,
+	0x1f, 0x98, 0x9a, 0x6b, 0x52, 0xe8, 0xbb, 0x82, 0x95, 0x24, 0x35, 0xca, 0x43, 0xee, 0x8d, 0x1a,
+	0x7a, 0xb4, 0x18, 0xea, 0x7a, 0x2f, 0x35, 0x9d, 0x15, 0x0f, 0x56, 0x0d, 0x7e, 0xbf, 0xdc, 0x08,
+	0xaa, 0x48, 0x88, 0x85, 0x69, 0x53, 0xd6, 0x7f, 0x15, 0xbc, 0x1f, 0xc1, 0x56, 0x5c, 0x49, 0x73,
+	0xe2, 0x27, 0x43, 0x08, 0xd6, 0x04, 0x9d, 0xb1, 0xb0, 0xb5, 0xd3, 0xda, 0xdd, 0x88, 0xbd, 0x8d,
+	0x76, 0x20, 0x48, 0x59, 0x99, 0x28, 0x5e, 0xb8, 0xae, 0xc3, 0x55, 0x1f, 0x9a, 0x3f, 0xea, 0xff,
+	0x6a, 0xc1, 0xfa, 0x25, 0x55, 0x9c, 0x4e, 0x73, 0xf6, 0x24, 0xc5, 0x4b, 0x68, 0xdf, 0xd2, 0xdc,
+	0x30, 0x0f, 0xde, 0xfc, 0xb4, 0x12, 0x57, 0x2e, 0x7a, 0x01, 0x6b, 0x9a, 0xfd, 0xd0, 0x61, 0xdb,
+	0xe5, 0xda, 0x63, 0xef, 0xa1, 0x23, 0x08, 0x4c, 0x91, 0x52, 0xcd, 0xae, 0x5c, 0x67, 0xe1, 0x33,
+	0x1b, 0x0c, 0x06, 0x3d, 0x5c, 0x8f, 0xda, 0x88, 0x83, 0xcf, 0x1b, 0x2d, 0x62, 0xa8, 0xd2, 0xdd,
+	0x01, 0xfa, 0x08, 0x6d, 0x37, 0x22, 0x0b, 0xd7, 0x2c, 0xec, 0xf9, 0x60, 0x1f, 0x2f, 0x5e, 0x04,
+	0xdc, 0xf4, 0x3e, 0x71, 0xc0, 0xb8, 0xc2, 0x0f, 0x01, 0xd6, 0x6d, 0x9a, 0x66, 0x42, 0x97, 0xfd,
+	0x9f, 0x2d, 0xd8, 0x8c, 0x44, 0x6a, 0x45, 0x4a, 0xb9, 0x9b, 0x18, 0x7d, 0x87, 0x20, 0xa1, 0x2a,
+	0xe5, 0x82, 0xe6, 0x5c, 0xdf, 0xf9, 0x59, 0x83, 0xc1, 0xbb, 0x65, 0x6a, 0xcd, 0xd3, 0xe0, 0x93,
+	0x07, 0x0e, 0x3b, 0xfd, 0x3c, 0x65, 0xef, 0x10, 0x82, 0xb9, 0xa8, 0x53, 0xb5, 0xa0, 0xfa, 0xa6,
+	0x51, 0xd5, 0xd9, 0x56, 0xd5, 0x8e, 0x30, 0xb3, 0x29, 0x53, 0x5e, 0xd6, 0x76, 0x5c, 0x7b, 0xc3,
+	0x00, 0x36, 0x92, 0xa6, 0x44, 0xff, 0xf7, 0x2a, 0x74, 0xbe, 0x51, 0xae, 0x99, 0x7a, 0xf2, 0x66,
+	0x0e, 0xa0, 0xeb, 0x9a, 0x94, 0x46, 0x7b, 0x92, 0x60, 0xf0, 0xea, 0x2f, 0x9d, 0x47, 0xf5, 0xbe,
+	0xc6, 0x4d, 0x26, 0xfa, 0x0c, 0xdd, 0x6b, 0xca, 0x73, 0xa3, 0x9a, 0xcb, 0x79, 0xfb, 0xaf, 0x93,
+	0xc7, 0x0d, 0x81, 0xe3, 0x2a, 0x4d, 0x62, 0x1f, 0x6e, 0xe9, 0x6f, 0xec, 0xbf, 0xb8, 0x6a, 0x02,
+	0xb7, 0x38, 0x89, 0x62, 0xf7, 0x8b, 0xd3, 0x5e, 0xbc, 0x38, 0x55, 0xba, 0x5f, 0x1c, 0xab, 0x4e,
+	0x2a, 0x05, 0x0b, 0x3b, 0x16, 0xb5, 0x1e, 0x7b, 0x1b, 0xed, 0x42, 0x9b, 0x29, 0x25, 0x55, 0xd8,
+	0xf5, 0x54, 0xa8, 0xa1, 0xb2, 0xef, 0x09, 0x4f, 0xfc, 0x43, 0x8a, 0xab, 0x84, 0xbd, 0x31, 0x6c,
+	0x3d, 0xda, 0x22, 0xf4, 0x1a, 0x7a, 0x97, 0xc7, 0xf1, 0xf8, 0x78, 0x78, 0x1a, 0x5d, 0x4d, 0xce,
+	0x8f, 0xcf, 0xa3, 0xab, 0x8b, 0x2f, 0x93, 0xb3, 0xe8, 0x64, 0xfc, 0x61, 0x1c, 0x8d, 0xb6, 0x57,
+	0x50, 0x00, 0xdd, 0x8b, 0xb3, 0x91, 0x3d, 0x1f, 0x6d, 0xb7, 0x9c, 0x33, 0x8a, 0x4e, 0x23, 0xe7,
+	0xac, 0x0e, 0xf7, 0xe0, 0x8d, 0xfd, 0x16, 0x2c, 0xa1, 0xc2, 0x59, 0x6b, 0xda, 0xf1, 0x43, 0x1d,
+	0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x8a, 0x78, 0x05, 0x3a, 0x42, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
index fcc6ffd5..bd10b9f0 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
@@ -1028,74 +1028,73 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 1093 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x98, 0xcf, 0x6f, 0x1b, 0x45,
-	0x14, 0xc7, 0x35, 0x49, 0x71, 0xe3, 0x97, 0x26, 0xa0, 0xc9, 0x0f, 0x45, 0x0b, 0x95, 0xa2, 0x15,
-	0x8a, 0xc2, 0xaa, 0xda, 0x6d, 0x92, 0xaa, 0x4d, 0x0c, 0xe5, 0x90, 0x14, 0x95, 0xf0, 0x43, 0x14,
-	0x93, 0xd2, 0x63, 0x34, 0x76, 0x27, 0xeb, 0x05, 0x7b, 0x66, 0xbb, 0x3b, 0x4e, 0x9a, 0xa2, 0x5c,
-	0xc2, 0x0d, 0xc4, 0x89, 0x03, 0x37, 0x0e, 0x48, 0x70, 0x42, 0x88, 0x13, 0x17, 0x04, 0xff, 0x04,
-	0x12, 0x7f, 0x01, 0x7f, 0x08, 0xda, 0xf9, 0xb1, 0xde, 0x75, 0xec, 0x64, 0x36, 0x84, 0x8b, 0x65,
-	0xcf, 0xce, 0x7b, 0xef, 0x33, 0x6f, 0xde, 0xbe, 0xef, 0x93, 0xe1, 0x71, 0xc8, 0x79, 0xd8, 0xa5,
-	0x7e, 0xc8, 0xbb, 0x84, 0x85, 0x3e, 0x4f, 0xc2, 0x20, 0xa4, 0x2c, 0x4e, 0xb8, 0xe0, 0x81, 0x7a,
-	0x44, 0xe2, 0x28, 0x0d, 0xda, 0x5d, 0xde, 0x7f, 0x1a, 0x24, 0x7d, 0x26, 0xa2, 0x1e, 0x6d, 0x73,
-	0x76, 0x10, 0x85, 0xc1, 0xe1, 0x5a, 0x8b, 0x0a, 0xb2, 0x56, 0x5e, 0xf5, 0xa5, 0x29, 0x76, 0xb5,
-	0x5b, 0x69, 0xe7, 0x97, 0x77, 0x68, 0x3b, 0x67, 0xd7, 0x2e, 0x34, 0x89, 0xa3, 0x20, 0xa5, 0xc9,
-	0x61, 0xd4, 0x36, 0x81, 0x09, 0x63, 0x5c, 0x10, 0x11, 0x71, 0x96, 0xaa, 0x70, 0xce, 0xc7, 0x57,
-	0x70, 0x0a, 0x9a, 0xf2, 0x7e, 0xd2, 0xa6, 0xc6, 0xe5, 0xb6, 0x9d, 0xcb, 0x2e, 0x67, 0x61, 0xd2,
-	0x67, 0x2c, 0x62, 0x61, 0xc0, 0x63, 0x9a, 0x94, 0xb0, 0x36, 0xc2, 0x48, 0x74, 0xfa, 0x2d, 0xbf,
-	0xcd, 0x7b, 0x81, 0xf2, 0x13, 0xc8, 0x07, 0xad, 0xfe, 0x41, 0x10, 0x8b, 0xe3, 0x98, 0xa6, 0x01,
-	0xed, 0xc5, 0xe2, 0x58, 0x7d, 0x6a, 0xa3, 0x37, 0x2f, 0x36, 0xca, 0xf0, 0x53, 0x41, 0x7a, 0xf1,
-	0xe0, 0x9b, 0x32, 0x76, 0x3b, 0x80, 0x3f, 0x88, 0x52, 0xb1, 0x23, 0xcf, 0x96, 0x36, 0xe9, 0xb3,
-	0x3e, 0x4d, 0x05, 0x5e, 0x84, 0x5a, 0x4c, 0x12, 0xca, 0xc4, 0x12, 0x5a, 0x46, 0xab, 0xf5, 0xa6,
-	0xfe, 0x85, 0x5f, 0x85, 0x7a, 0x4c, 0x42, 0xba, 0x9f, 0x46, 0x2f, 0xe8, 0xd2, 0xc4, 0x32, 0x5a,
-	0x7d, 0xa9, 0x39, 0x95, 0x2d, 0x7c, 0x12, 0xbd, 0xa0, 0xf8, 0x26, 0x80, 0x7c, 0x28, 0xf8, 0xe7,
-	0x94, 0x2d, 0x4d, 0x4a, 0x43, 0xb9, 0x7d, 0x2f, 0x5b, 0x70, 0xbf, 0x42, 0x30, 0x57, 0x0a, 0x95,
-	0xc6, 0x9c, 0xa5, 0x14, 0xbf, 0x0f, 0xd7, 0x55, 0x66, 0xd3, 0x25, 0xb4, 0x3c, 0xb9, 0x3a, 0xbd,
-	0xbe, 0xe6, 0x5f, 0x5c, 0x0b, 0x7e, 0x53, 0xad, 0x2a, 0x67, 0x4d, 0xe3, 0x01, 0xaf, 0xc0, 0xcb,
-	0x8c, 0x3e, 0x17, 0xfb, 0x05, 0x90, 0x09, 0x09, 0x32, 0x93, 0x2d, 0x3f, 0xca, 0x61, 0x56, 0xe0,
-	0x95, 0x87, 0x54, 0xa3, 0x98, 0x43, 0x63, 0xb8, 0xc6, 0x48, 0x8f, 0x6a, 0x03, 0xf9, 0xdd, 0x7d,
-	0x0e, 0x73, 0x3b, 0x09, 0x25, 0x82, 0x96, 0xb7, 0x8e, 0xcb, 0xcf, 0x2e, 0xd4, 0x14, 0x89, 0x74,
-	0x72, 0xa9, 0xa3, 0x68, 0x07, 0xae, 0x80, 0xb9, 0xc7, 0xf1, 0xd3, 0x33, 0x91, 0x0d, 0x24, 0x1a,
-	0x40, 0x5e, 0x65, 0xd4, 0x37, 0x60, 0xee, 0x01, 0xed, 0x52, 0x8b, 0xa8, 0xee, 0x29, 0x82, 0xf9,
-	0xec, 0x3e, 0x3f, 0x25, 0x49, 0x44, 0x5a, 0x5d, 0x7a, 0x61, 0xf1, 0x2c, 0x42, 0xed, 0x20, 0xea,
-	0x0a, 0x9a, 0xe8, 0x0c, 0xeb, 0x5f, 0xe5, 0xa2, 0x9a, 0x3c, 0xb7, 0xa8, 0xae, 0x0d, 0x17, 0xd5,
-	0xd7, 0x08, 0x16, 0x86, 0x20, 0x74, 0x59, 0xbd, 0x07, 0xf5, 0x43, 0xb3, 0xa8, 0x0b, 0xeb, 0x96,
-	0x4d, 0x5e, 0x8c, 0xa7, 0xe6, 0xc0, 0xdc, 0xba, 0xaa, 0x28, 0xcc, 0x3f, 0x21, 0xa2, 0xdd, 0xc9,
-	0x7d, 0x9c, 0x73, 0x69, 0x5b, 0x00, 0x8c, 0x1e, 0xd1, 0x64, 0x5f, 0x74, 0x88, 0x3a, 0xd8, 0xf4,
-	0xba, 0x63, 0x00, 0xcd, 0xfb, 0xeb, 0xef, 0x99, 0xd7, 0xb5, 0x59, 0x97, 0xbb, 0xf7, 0x3a, 0x84,
-	0xb9, 0xab, 0x80, 0x1f, 0x52, 0x61, 0x11, 0xc4, 0x3d, 0x86, 0x05, 0x55, 0xbe, 0xc3, 0x9b, 0xc7,
-	0xdd, 0xd1, 0xbb, 0x30, 0x65, 0x8e, 0xad, 0x8b, 0xa9, 0x5a, 0xd2, 0x72, 0x6b, 0xb7, 0x0f, 0x0b,
-	0xaa, 0x7e, 0x6d, 0x92, 0x71, 0x75, 0x61, 0x77, 0x61, 0x41, 0x15, 0xb0, 0x4d, 0xd8, 0xd7, 0xa0,
-	0x9e, 0xd0, 0x76, 0x3f, 0x49, 0xa3, 0x43, 0x15, 0x77, 0xaa, 0x39, 0x58, 0x30, 0xad, 0xf1, 0x09,
-	0x89, 0x04, 0x4d, 0xfe, 0xd7, 0xd6, 0xf8, 0xa5, 0x6e, 0x8d, 0x79, 0x28, 0x5d, 0xc3, 0x0f, 0xe0,
-	0xfa, 0x91, 0x5a, 0xd2, 0x15, 0xec, 0xd9, 0x64, 0x45, 0x79, 0x69, 0x1a, 0xd3, 0x8a, 0x3d, 0x51,
-	0x5b, 0x9f, 0x53, 0x54, 0xcf, 0x4c, 0x4f, 0x2c, 0x6f, 0x1d, 0x97, 0x98, 0x6d, 0xa8, 0x29, 0x12,
-	0x7d, 0xb3, 0x55, 0xce, 0xa0, 0x2d, 0x07, 0x6d, 0xe9, 0x42, 0xba, 0xf5, 0xbf, 0xe7, 0x61, 0xbe,
-	0xd4, 0xdb, 0x3e, 0x24, 0x8c, 0x84, 0x34, 0xc1, 0x3f, 0x23, 0x98, 0x2e, 0xe8, 0x0f, 0xbe, 0x6b,
-	0xc3, 0x71, 0x56, 0x1b, 0x9d, 0x7b, 0x95, 0xed, 0xd4, 0x6d, 0xba, 0xb7, 0x4e, 0xff, 0xfa, 0xe7,
-	0xdb, 0x89, 0x15, 0xfc, 0x7a, 0x3e, 0x42, 0x7c, 0xa1, 0x52, 0x74, 0x3f, 0x4e, 0xf8, 0x67, 0xb4,
-	0x2d, 0xd2, 0xc0, 0x3b, 0x09, 0x8c, 0x92, 0xfd, 0x80, 0xa0, 0x9e, 0x4b, 0x14, 0xbe, 0x63, 0x13,
-	0x74, 0x58, 0xd1, 0x9c, 0xea, 0x42, 0x30, 0x0a, 0x32, 0x4b, 0x6b, 0x01, 0xd1, 0x10, 0x06, 0xde,
-	0x09, 0xfe, 0x15, 0xc1, 0x8d, 0xa2, 0x3e, 0x62, 0xab, 0xe4, 0x8c, 0x50, 0xd4, 0xcb, 0xa0, 0xde,
-	0x91, 0xa8, 0xbe, 0x6b, 0x95, 0xcf, 0x86, 0x56, 0x38, 0x89, 0x5c, 0x14, 0x56, 0x3b, 0xe4, 0x11,
-	0x52, 0xfc, 0x1f, 0x90, 0x1d, 0xab, 0xec, 0xe6, 0xc8, 0xdf, 0x20, 0xb8, 0x51, 0x54, 0x65, 0x3b,
-	0xe4, 0x11, 0x3a, 0xee, 0x2c, 0x9e, 0x11, 0x98, 0x77, 0xb2, 0x41, 0xd2, 0xdc, 0xba, 0x67, 0x77,
-	0xeb, 0x7f, 0x22, 0x98, 0x29, 0x89, 0x2e, 0xde, 0xb4, 0x7d, 0x27, 0x86, 0x87, 0x05, 0x67, 0xeb,
-	0x12, 0x96, 0xfa, 0x7d, 0xda, 0x94, 0xd0, 0xeb, 0xf8, 0xf6, 0x39, 0xf7, 0x5f, 0xc0, 0x0e, 0x06,
-	0x7a, 0xfe, 0x0b, 0x82, 0xe9, 0x82, 0x82, 0xda, 0xb5, 0x82, 0xb3, 0x92, 0xeb, 0x54, 0x12, 0x29,
-	0x77, 0x4b, 0xf2, 0x6e, 0xe0, 0x35, 0x8b, 0x24, 0x0f, 0x60, 0x03, 0xcf, 0x3b, 0xc1, 0xbf, 0x23,
-	0x98, 0x29, 0x4d, 0x16, 0x76, 0x19, 0x1f, 0x35, 0x8c, 0x54, 0x84, 0xde, 0x96, 0xd0, 0x6f, 0xb9,
-	0xf7, 0x2a, 0x43, 0x37, 0x8e, 0xb2, 0xe8, 0x0d, 0xe4, 0xe1, 0x3f, 0x10, 0xcc, 0x96, 0xc7, 0x10,
-	0xbc, 0x65, 0xdf, 0x27, 0xae, 0x86, 0xbf, 0x72, 0x91, 0x34, 0xf2, 0x99, 0x22, 0xab, 0xf7, 0xd9,
-	0xf2, 0x2c, 0x63, 0xc7, 0x3f, 0x72, 0xfe, 0xa9, 0xc8, 0xbf, 0x23, 0xf9, 0xef, 0x3b, 0xd5, 0x8b,
-	0xa6, 0x70, 0x80, 0xef, 0x11, 0xcc, 0x96, 0xa7, 0x22, 0xbb, 0x03, 0x8c, 0x9c, 0xa4, 0xc6, 0x36,
-	0x11, 0x5d, 0xdf, 0xde, 0x25, 0xea, 0xfb, 0x37, 0xad, 0xcd, 0x7a, 0x00, 0xb2, 0xd7, 0xe6, 0xf2,
-	0x70, 0x66, 0xaf, 0xcd, 0x43, 0x93, 0x96, 0x7b, 0x57, 0xb2, 0xdf, 0xc6, 0xbe, 0x65, 0x99, 0x98,
-	0xd9, 0xea, 0x47, 0xa5, 0xd2, 0xca, 0x9d, 0xb5, 0x4a, 0x97, 0xa6, 0x18, 0xa7, 0xc2, 0x40, 0x34,
-	0x8a, 0x73, 0x7c, 0x8e, 0x35, 0x64, 0xd6, 0xb2, 0x7f, 0xca, 0x85, 0x5a, 0xa3, 0x56, 0x10, 0xea,
-	0x32, 0xed, 0x4d, 0x63, 0x58, 0xf8, 0x23, 0xc3, 0xff, 0xc8, 0xfc, 0x91, 0xe1, 0xbe, 0x2d, 0x01,
-	0x37, 0xdd, 0x8a, 0x89, 0x6c, 0xe8, 0x49, 0x0f, 0x7f, 0x97, 0x6b, 0x5d, 0x15, 0xd0, 0x11, 0xc3,
-	0xe1, 0xd8, 0x32, 0xd5, 0x29, 0xf4, 0x2a, 0xa6, 0x70, 0xdb, 0x83, 0x95, 0x36, 0xef, 0x59, 0xd0,
-	0x3c, 0x42, 0xad, 0x9a, 0x8c, 0xb9, 0xf1, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x98, 0x42,
-	0x1d, 0x2d, 0x13, 0x00, 0x00,
+	// 1086 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0xdc, 0x44,
+	0x14, 0x97, 0x93, 0x92, 0x66, 0x5f, 0x68, 0x41, 0x93, 0xa4, 0x8a, 0x0c, 0x95, 0x90, 0x85, 0xa2,
+	0xb0, 0xaa, 0xec, 0x26, 0xa9, 0xda, 0x64, 0xa1, 0x1c, 0x92, 0x22, 0x08, 0x7f, 0x44, 0x31, 0x29,
+	0x3d, 0x46, 0x5e, 0x77, 0xe2, 0x18, 0x76, 0x6d, 0xd7, 0x1e, 0x27, 0x2d, 0x88, 0x4b, 0xb8, 0x81,
+	0x38, 0x71, 0xe0, 0xc6, 0x01, 0x09, 0x4e, 0x08, 0x71, 0xe2, 0x82, 0xe0, 0x4b, 0x20, 0xf1, 0x09,
+	0xf8, 0x20, 0x8c, 0xe7, 0x8f, 0xd7, 0xb3, 0xf1, 0x26, 0x33, 0x21, 0xbd, 0xac, 0xec, 0xf1, 0xbc,
+	0xf7, 0x7e, 0xef, 0xcd, 0x6f, 0xde, 0xef, 0x69, 0xe1, 0x41, 0x94, 0xa6, 0xd1, 0x00, 0xbb, 0x51,
+	0x3a, 0x08, 0x92, 0xc8, 0x4d, 0xf3, 0xc8, 0x8b, 0x70, 0x92, 0xe5, 0x29, 0x49, 0x3d, 0xfe, 0x29,
+	0xc8, 0xe2, 0xc2, 0x0b, 0x07, 0x69, 0xf9, 0xc8, 0xcb, 0xcb, 0x84, 0xc4, 0x43, 0x1c, 0xa6, 0xc9,
+	0x7e, 0x1c, 0x79, 0x87, 0xab, 0x7d, 0x4c, 0x82, 0x55, 0x75, 0xd5, 0x65, 0xa6, 0xc8, 0x11, 0x6e,
+	0x99, 0x9d, 0xab, 0xee, 0x10, 0x76, 0xf6, 0x8e, 0x5e, 0x68, 0xfa, 0xe3, 0x15, 0x38, 0x3f, 0x8c,
+	0x43, 0x19, 0x38, 0x48, 0x92, 0x94, 0x04, 0x24, 0x4e, 0x93, 0x82, 0x87, 0xb3, 0x3f, 0xba, 0x80,
+	0x2c, 0x70, 0x91, 0x96, 0x79, 0x88, 0xa5, 0xcb, 0x2d, 0x3d, 0x97, 0x83, 0x34, 0x89, 0xa8, 0xc3,
+	0x24, 0x4e, 0x22, 0x2f, 0xcd, 0x70, 0xae, 0xc0, 0x5a, 0x8f, 0x62, 0x72, 0x50, 0xf6, 0xdd, 0x30,
+	0x1d, 0x7a, 0xdc, 0x8f, 0xc7, 0x3e, 0xf4, 0xcb, 0x7d, 0x2f, 0x23, 0x4f, 0x33, 0x5c, 0x78, 0x78,
+	0x48, 0x1f, 0xf8, 0xaf, 0x30, 0x7a, 0xfd, 0x6c, 0xa3, 0x0a, 0x7e, 0x41, 0x82, 0x61, 0x36, 0x7a,
+	0xe2, 0xc6, 0xce, 0x01, 0xa0, 0xf7, 0xe3, 0x82, 0x6c, 0xb3, 0xdc, 0x0a, 0x1f, 0x3f, 0x2e, 0xe9,
+	0x67, 0x74, 0x0d, 0x66, 0xb2, 0x20, 0xc7, 0x09, 0x59, 0xb2, 0x5e, 0xb1, 0x56, 0x3a, 0xbe, 0x78,
+	0x43, 0x2f, 0x41, 0x27, 0x0b, 0x22, 0xbc, 0x57, 0xc4, 0x9f, 0xe3, 0xa5, 0x29, 0xfa, 0xe9, 0x39,
+	0x7f, 0xb6, 0x5a, 0xf8, 0x98, 0xbe, 0xa3, 0xeb, 0x00, 0xec, 0x23, 0x49, 0x3f, 0xc3, 0xc9, 0xd2,
+	0x34, 0x33, 0x64, 0xdb, 0x77, 0xab, 0x05, 0xe7, 0x6b, 0x0b, 0xe6, 0x95, 0x50, 0x45, 0x46, 0x13,
+	0xc7, 0xe8, 0x3d, 0xb8, 0xcc, 0x2b, 0x5b, 0xd0, 0x60, 0xd3, 0x2b, 0x73, 0x6b, 0xab, 0xee, 0xd9,
+	0x5c, 0x70, 0x7d, 0xbe, 0xca, 0x9d, 0xf9, 0xd2, 0x03, 0x5a, 0x86, 0x17, 0x12, 0xfc, 0x84, 0xec,
+	0x35, 0x80, 0x4c, 0x31, 0x20, 0x57, 0xaa, 0xe5, 0xfb, 0x35, 0x98, 0x65, 0x78, 0xf1, 0x6d, 0x2c,
+	0xa0, 0xc8, 0xa4, 0x11, 0x5c, 0x4a, 0x82, 0x21, 0x16, 0x06, 0xec, 0xd9, 0x79, 0x02, 0xf3, 0xdb,
+	0x39, 0x0e, 0x08, 0x56, 0xb7, 0x4e, 0xaa, 0xcf, 0x0e, 0xcc, 0x70, 0x24, 0xcc, 0xc9, 0xb9, 0x52,
+	0x11, 0x0e, 0x1c, 0x02, 0xf3, 0x0f, 0xb2, 0x47, 0x27, 0x22, 0x4b, 0x90, 0xd6, 0x08, 0xe4, 0x45,
+	0x46, 0x7d, 0x0d, 0xe6, 0xef, 0xe1, 0x01, 0xd6, 0x88, 0xea, 0x1c, 0x5b, 0xb0, 0x50, 0x9d, 0xe7,
+	0x27, 0x41, 0x1e, 0x07, 0xfd, 0x01, 0x3e, 0x93, 0x3c, 0x74, 0x7d, 0x3f, 0x1e, 0x10, 0x9c, 0x8b,
+	0x0a, 0x8b, 0x37, 0x95, 0x54, 0xd3, 0xa7, 0x92, 0xea, 0xd2, 0x38, 0xa9, 0xbe, 0xb1, 0x60, 0x71,
+	0x0c, 0x84, 0xa0, 0xd5, 0xbb, 0xd0, 0x39, 0x94, 0x8b, 0x82, 0x58, 0x37, 0x74, 0xea, 0x22, 0x3d,
+	0xf9, 0x23, 0x73, 0x6d, 0x56, 0x61, 0x58, 0x78, 0x18, 0x90, 0xf0, 0xa0, 0xf6, 0x71, 0xca, 0xa1,
+	0x6d, 0x02, 0x24, 0xf8, 0x08, 0xe7, 0x7b, 0xe4, 0x20, 0xe0, 0x89, 0xcd, 0xad, 0xd9, 0x12, 0xa0,
+	0xbc, 0xbf, 0xee, 0xae, 0xbc, 0xae, 0x7e, 0x87, 0xed, 0xde, 0xa5, 0x9b, 0x9d, 0x15, 0x40, 0x94,
+	0xbc, 0x1a, 0x41, 0x9c, 0xa7, 0xb0, 0xc8, 0xe9, 0x3b, 0xbe, 0x79, 0xd2, 0x19, 0xbd, 0x03, 0xb3,
+	0x32, 0x6d, 0x41, 0x26, 0xb3, 0xa2, 0xd5, 0xd6, 0x4e, 0x09, 0x8b, 0x9c, 0xbf, 0x3a, 0xc5, 0xb8,
+	0xb8, 0xb0, 0x3b, 0xb0, 0xc8, 0x09, 0xac, 0x13, 0xf6, 0x65, 0xe8, 0xe4, 0x38, 0x2c, 0xf3, 0x22,
+	0x3e, 0xe4, 0x71, 0x67, 0xfd, 0xd1, 0x82, 0x6c, 0x8d, 0x0f, 0x83, 0x98, 0xb2, 0xf4, 0x99, 0xb6,
+	0xc6, 0xaf, 0x44, 0x6b, 0xac, 0x43, 0x09, 0x0e, 0xdf, 0x83, 0xcb, 0x47, 0x7c, 0x49, 0x30, 0xb8,
+	0xab, 0x53, 0x15, 0xee, 0xc5, 0x97, 0xa6, 0x86, 0x3d, 0x51, 0x58, 0x9f, 0x42, 0xaa, 0xc7, 0xb2,
+	0x27, 0xaa, 0x5b, 0x27, 0x15, 0x66, 0x0b, 0x66, 0x38, 0x12, 0x71, 0xb2, 0x26, 0x39, 0x08, 0xcb,
+	0x51, 0x5b, 0x3a, 0x13, 0xdd, 0xda, 0x3f, 0x0b, 0xb0, 0xa0, 0xf4, 0xb6, 0x0f, 0x82, 0x84, 0xa6,
+	0x98, 0xa3, 0x5f, 0x2c, 0x98, 0x6b, 0xe8, 0x0f, 0xba, 0xad, 0x83, 0xe3, 0xa4, 0x36, 0xda, 0x77,
+	0x8c, 0xed, 0xf8, 0x69, 0x3a, 0x37, 0x8e, 0xff, 0xfe, 0xf7, 0xbb, 0xa9, 0x65, 0xf4, 0x6a, 0x3d,
+	0x42, 0x7c, 0xc1, 0x4b, 0x74, 0x97, 0x5e, 0xf7, 0x4f, 0x71, 0x48, 0x0a, 0xaf, 0xfb, 0xa5, 0x27,
+	0x95, 0xec, 0x47, 0x0b, 0x3a, 0xb5, 0x44, 0xa1, 0x5b, 0x3a, 0x41, 0xc7, 0x15, 0xcd, 0x36, 0x17,
+	0x82, 0x36, 0x90, 0x55, 0x59, 0x1b, 0x10, 0x25, 0x42, 0x0a, 0x16, 0xfd, 0x66, 0xc1, 0xf3, 0x4d,
+	0x7d, 0x44, 0x5a, 0xc5, 0x69, 0x51, 0xd4, 0xf3, 0x40, 0xbd, 0xc5, 0xa0, 0xba, 0x8e, 0x56, 0x3d,
+	0x7b, 0x42, 0xe1, 0x18, 0xe4, 0xa6, 0xb0, 0xea, 0x41, 0x6e, 0x91, 0xe2, 0xff, 0x01, 0xd9, 0xd6,
+	0xaa, 0x6e, 0x0d, 0xf9, 0x5b, 0x0a, 0xb9, 0xa9, 0xca, 0x7a, 0x90, 0x5b, 0x74, 0xdc, 0xbe, 0x76,
+	0x42, 0x60, 0xde, 0xaa, 0x06, 0x49, 0x79, 0xea, 0x5d, 0xbd, 0x53, 0xff, 0xcb, 0x82, 0x2b, 0x8a,
+	0xe8, 0xa2, 0x0d, 0xdd, 0x3b, 0x31, 0x3e, 0x2c, 0xd8, 0x9b, 0xe7, 0xb0, 0x14, 0xf7, 0x69, 0x83,
+	0x81, 0x5e, 0x43, 0x37, 0x4f, 0x39, 0xff, 0x06, 0x6c, 0x6f, 0xa4, 0xe7, 0xbf, 0xd2, 0x56, 0xd0,
+	0x50, 0x50, 0xbd, 0x56, 0x70, 0x52, 0x72, 0x6d, 0x23, 0x91, 0x72, 0x36, 0x19, 0xde, 0x75, 0xb4,
+	0xaa, 0x51, 0xe4, 0x11, 0x58, 0xaf, 0x4b, 0x2b, 0xfe, 0x07, 0xad, 0xb8, 0x32, 0x59, 0xe8, 0x55,
+	0xbc, 0x6d, 0x18, 0x31, 0x04, 0xbd, 0xc5, 0x40, 0xbf, 0xe1, 0xdc, 0x31, 0x06, 0xdd, 0x3b, 0xaa,
+	0xa2, 0xf7, 0xac, 0x2e, 0xfa, 0xd3, 0x82, 0xab, 0xea, 0x18, 0x82, 0x36, 0xf5, 0xfb, 0xc4, 0xc5,
+	0xe0, 0x37, 0x26, 0x49, 0xaf, 0x9e, 0x29, 0x2a, 0xbe, 0x5f, 0x55, 0x67, 0x19, 0x3d, 0xfc, 0xad,
+	0xf3, 0x8f, 0x21, 0xfe, 0x6d, 0x86, 0xff, 0xae, 0x6d, 0x4e, 0x9a, 0x46, 0x02, 0x3f, 0xd0, 0x04,
+	0xd4, 0xa9, 0x48, 0x2f, 0x81, 0xd6, 0x49, 0x6a, 0x62, 0x13, 0x11, 0xfc, 0xee, 0x9e, 0x83, 0xdf,
+	0xbf, 0x0b, 0x6d, 0x16, 0x03, 0x90, 0xbe, 0x36, 0xab, 0xc3, 0x99, 0xbe, 0x36, 0x8f, 0x4d, 0x5a,
+	0xce, 0x6d, 0x86, 0xfd, 0x26, 0x72, 0x35, 0x69, 0x22, 0x67, 0xab, 0x9f, 0xb8, 0x4a, 0x73, 0x77,
+	0xda, 0x2a, 0xad, 0x4c, 0x31, 0xb6, 0xc1, 0x40, 0xd4, 0x86, 0x73, 0x72, 0x8d, 0x05, 0xc8, 0xaa,
+	0x65, 0xff, 0x5c, 0x0b, 0xb5, 0x80, 0x6a, 0x20, 0xd4, 0x2a, 0xda, 0xeb, 0xd2, 0xb0, 0xf1, 0x47,
+	0x86, 0xfb, 0xa1, 0xfc, 0x23, 0xc3, 0x79, 0x93, 0x01, 0xdc, 0x70, 0x0c, 0x0b, 0xd9, 0x13, 0x93,
+	0x1e, 0xfa, 0xbe, 0xd6, 0x3a, 0x13, 0xa0, 0x2d, 0xc3, 0xe1, 0x44, 0x9a, 0x8a, 0x12, 0x76, 0x0d,
+	0x4b, 0xb8, 0xd5, 0x85, 0xe5, 0x30, 0x1d, 0x6a, 0xa0, 0xb9, 0x6f, 0xf5, 0x67, 0x58, 0xcc, 0xf5,
+	0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x98, 0x42, 0x1d, 0x2d, 0x13, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/speech/v1/cloud_speech.pb.go b/googleapis/cloud/speech/v1/cloud_speech.pb.go
index 3ecfc2f9..e683fb4e 100644
--- a/googleapis/cloud/speech/v1/cloud_speech.pb.go
+++ b/googleapis/cloud/speech/v1/cloud_speech.pb.go
@@ -573,67 +573,67 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 989 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x56, 0xdd, 0x6e, 0x1b, 0xc5,
-	0x17, 0xff, 0xaf, 0x1d, 0x27, 0xf6, 0x89, 0x9d, 0x6c, 0xe7, 0x1f, 0xda, 0x6d, 0x94, 0xd2, 0xb0,
-	0x80, 0x70, 0x40, 0xb2, 0x49, 0xf8, 0x10, 0x44, 0xea, 0x85, 0xe3, 0x6c, 0xda, 0x95, 0x12, 0x27,
-	0x1a, 0xdb, 0xb4, 0xdc, 0xb0, 0x9a, 0xac, 0x27, 0xce, 0x48, 0xf6, 0xcc, 0x32, 0x33, 0x1b, 0xa5,
-	0x5c, 0xc2, 0x0d, 0xe2, 0x96, 0x2b, 0xde, 0x81, 0x7b, 0x1e, 0x84, 0x47, 0x80, 0x07, 0x41, 0x3b,
-	0xb3, 0x76, 0x9c, 0xb4, 0x8e, 0xdc, 0x2b, 0xcf, 0xf9, 0x9d, 0x33, 0xbf, 0x73, 0xe6, 0x7c, 0xad,
-	0xe1, 0xc5, 0x50, 0x88, 0xe1, 0x88, 0x36, 0x86, 0x62, 0x44, 0xf8, 0xb0, 0x21, 0xe4, 0xb0, 0x39,
-	0xa4, 0x3c, 0x91, 0x42, 0x8b, 0xa6, 0x55, 0x91, 0x84, 0xa9, 0x66, 0x3c, 0x12, 0xe9, 0xa0, 0xa9,
-	0x12, 0x4a, 0xe3, 0xcb, 0xe6, 0xd5, 0xae, 0x95, 0x23, 0x2b, 0x37, 0x8c, 0x35, 0x7a, 0x98, 0x33,
-	0x19, 0x55, 0x23, 0x57, 0x5d, 0xed, 0x6e, 0x86, 0x8b, 0x79, 0x20, 0x09, 0x6b, 0x2a, 0x2a, 0xaf,
-	0x58, 0x4c, 0x63, 0xc1, 0x2f, 0xd8, 0xb0, 0x49, 0x38, 0x17, 0x9a, 0x68, 0x26, 0xb8, 0xb2, 0x2e,
-	0x36, 0x9f, 0x2d, 0x46, 0x25, 0x93, 0xb8, 0xa9, 0x34, 0xd1, 0xa9, 0xca, 0x7f, 0xec, 0x75, 0xff,
-	0x2f, 0x07, 0x5c, 0x4c, 0x63, 0x31, 0xe4, 0xec, 0x27, 0x8a, 0xe9, 0x8f, 0x29, 0x55, 0x1a, 0xbd,
-	0x82, 0x75, 0xc6, 0x99, 0x66, 0x64, 0x14, 0x49, 0x0b, 0x79, 0xce, 0xb6, 0x53, 0x5f, 0xdd, 0x6b,
-	0x36, 0xde, 0xfe, 0xa0, 0x46, 0x68, 0xcd, 0xef, 0x32, 0xe1, 0x35, 0x36, 0x51, 0x58, 0xe6, 0x10,
-	0x6a, 0x24, 0x1d, 0x30, 0x31, 0xe5, 0x2d, 0x18, 0xde, 0x8f, 0xe6, 0xf1, 0xb6, 0x32, 0xe3, 0x09,
-	0x59, 0x95, 0xcc, 0x48, 0xfe, 0x3f, 0x4b, 0xf0, 0x68, 0x8e, 0x5b, 0xf4, 0x3d, 0x94, 0x29, 0x8f,
-	0xc5, 0x80, 0xf1, 0xa1, 0x89, 0x7c, 0x6d, 0xef, 0xd9, 0x3b, 0x46, 0x6e, 0x3d, 0x07, 0x39, 0x09,
-	0x9e, 0xd2, 0xa1, 0xa7, 0xb0, 0xaa, 0xc8, 0x38, 0x19, 0xd1, 0x48, 0x12, 0x4d, 0x4d, 0xfc, 0x25,
-	0x0c, 0x16, 0xc2, 0x44, 0x53, 0xf4, 0x21, 0xd4, 0xb2, 0x4a, 0xa4, 0x64, 0x48, 0xa3, 0x58, 0x0c,
-	0xa8, 0x57, 0xdc, 0x76, 0xea, 0x15, 0x5c, 0x9d, 0x80, 0x6d, 0x31, 0xa0, 0x68, 0x07, 0xdc, 0x31,
-	0xb9, 0x8e, 0xc8, 0x48, 0x53, 0xc9, 0x89, 0x66, 0x57, 0x54, 0x79, 0x4b, 0x86, 0x6a, 0x7d, 0x4c,
-	0xae, 0x5b, 0x33, 0x70, 0x66, 0x9a, 0x48, 0x71, 0x41, 0x38, 0xd3, 0xaf, 0xa3, 0x0b, 0x96, 0xa9,
-	0xbc, 0xd2, 0xb6, 0x53, 0x2f, 0xe3, 0xf5, 0x29, 0x7e, 0x64, 0x60, 0xf4, 0x3e, 0x40, 0x2c, 0xb8,
-	0x66, 0x3c, 0x15, 0xa9, 0xf2, 0x96, 0x8d, 0xd1, 0x0c, 0x82, 0x3e, 0xc9, 0xea, 0xaa, 0xa9, 0x64,
-	0xe3, 0x48, 0x52, 0x95, 0x8e, 0xb4, 0xf2, 0x56, 0x8c, 0xd1, 0x5a, 0x0e, 0x63, 0x8b, 0xa2, 0x6f,
-	0xc0, 0xa3, 0x9c, 0x9c, 0x8f, 0x68, 0x44, 0xf9, 0x20, 0x11, 0x46, 0x1b, 0xd1, 0x2b, 0xca, 0xb5,
-	0xf2, 0xca, 0xe6, 0xc6, 0x43, 0xab, 0x0f, 0xa6, 0xea, 0xc0, 0x68, 0xd1, 0x13, 0x00, 0x91, 0xea,
-	0x24, 0xd5, 0x51, 0x2a, 0x99, 0x57, 0x31, 0x4f, 0xaf, 0x58, 0xa4, 0x2f, 0x19, 0x3a, 0x86, 0x35,
-	0x9b, 0xfa, 0x28, 0x0b, 0x8b, 0x5e, 0x6b, 0x0f, 0x4c, 0x03, 0x7c, 0x3c, 0xaf, 0x3c, 0x5d, 0x73,
-	0x6a, 0x5b, 0x63, 0x5c, 0x53, 0xb3, 0xa2, 0x4f, 0xa0, 0x76, 0xab, 0x4c, 0xc8, 0x83, 0x8d, 0xa0,
-	0xd3, 0x3e, 0x3d, 0x0c, 0x3b, 0xcf, 0xa3, 0x7e, 0xa7, 0x7b, 0x16, 0xb4, 0xc3, 0xa3, 0x30, 0x38,
-	0x74, 0xff, 0x87, 0xaa, 0x50, 0x3e, 0x0e, 0x3b, 0x41, 0x0b, 0xef, 0x7e, 0xed, 0x3a, 0xa8, 0x0c,
-	0x4b, 0x47, 0xc7, 0xad, 0xb6, 0x5b, 0x40, 0x15, 0x28, 0x9d, 0xf4, 0x8f, 0x5b, 0x2f, 0xdd, 0x22,
-	0x5a, 0x81, 0x62, 0xeb, 0x04, 0xbb, 0x4b, 0x08, 0x60, 0xb9, 0x75, 0x82, 0xa3, 0x97, 0x07, 0x6e,
-	0xc9, 0xdf, 0x81, 0xda, 0xad, 0x10, 0x90, 0x07, 0x2b, 0xc9, 0xa5, 0x24, 0x8a, 0x2a, 0xcf, 0xd9,
-	0x2e, 0xd6, 0x2b, 0x78, 0x22, 0xfa, 0xfb, 0x50, 0x9d, 0x6d, 0xd7, 0xcc, 0xd2, 0x3c, 0x92, 0xdb,
-	0xe9, 0xa9, 0xe2, 0x89, 0x88, 0x5c, 0x28, 0x66, 0xd9, 0x29, 0x98, 0xec, 0x64, 0x47, 0xff, 0x12,
-	0x9e, 0x74, 0x04, 0xef, 0x6a, 0x49, 0xc9, 0x38, 0xeb, 0xb7, 0x9b, 0x6e, 0x54, 0x89, 0xe0, 0x8a,
-	0xa2, 0xe7, 0x50, 0x91, 0xf9, 0xd9, 0x3a, 0x5e, 0xdd, 0xdb, 0x99, 0x97, 0xb3, 0x37, 0x6e, 0xe3,
-	0x9b, 0xbb, 0xfe, 0xaf, 0x45, 0x78, 0xf0, 0x26, 0x7d, 0x1d, 0x4a, 0x54, 0x4a, 0x21, 0xf3, 0x39,
-	0x47, 0x13, 0x6a, 0x99, 0xc4, 0x8d, 0xae, 0xd9, 0x17, 0xd8, 0x1a, 0xa0, 0x10, 0x56, 0x26, 0xbd,
-	0x53, 0x30, 0x61, 0x34, 0xef, 0x2f, 0x5d, 0xee, 0x2b, 0x5b, 0x59, 0xb6, 0xbb, 0xf0, 0xe4, 0x3e,
-	0xfa, 0x00, 0xaa, 0xf6, 0x18, 0x31, 0x3e, 0xa0, 0xd7, 0x66, 0x50, 0x4a, 0x78, 0xd5, 0x62, 0x61,
-	0x06, 0xa1, 0x7e, 0x36, 0xc8, 0xb6, 0xc5, 0xcc, 0x7c, 0xac, 0xed, 0x7d, 0xbb, 0xf0, 0xab, 0x1b,
-	0x77, 0x9a, 0x13, 0x4f, 0xa9, 0xfc, 0x5f, 0x1c, 0x58, 0xbf, 0xa3, 0x45, 0xdb, 0xb0, 0x15, 0x74,
-	0x0e, 0xcf, 0x4e, 0xc3, 0x4e, 0x2f, 0xc0, 0x51, 0xf0, 0x5d, 0xd0, 0xe9, 0xdd, 0xe9, 0xa1, 0xff,
-	0xc3, 0x7a, 0xb7, 0xd7, 0xc2, 0xbd, 0xe8, 0xf4, 0x28, 0xea, 0x9e, 0x05, 0x41, 0xfb, 0x85, 0xeb,
-	0xa0, 0x07, 0x50, 0x0b, 0x3a, 0x87, 0x33, 0x50, 0x01, 0xb9, 0x50, 0xcd, 0xa1, 0x56, 0xff, 0x30,
-	0x3c, 0x75, 0x8b, 0x68, 0x03, 0xdc, 0x1c, 0xe9, 0xf7, 0x7a, 0x01, 0x6e, 0x75, 0xda, 0x81, 0xbb,
-	0xe4, 0xff, 0xe9, 0xc0, 0xa3, 0x39, 0x49, 0x42, 0xaf, 0xa0, 0x7a, 0x6b, 0x39, 0xd8, 0x92, 0x7f,
-	0xb9, 0x70, 0xae, 0x67, 0x56, 0x08, 0xbe, 0xc5, 0x84, 0x1e, 0x43, 0x99, 0xa9, 0xe8, 0x82, 0x71,
-	0x32, 0x32, 0x1d, 0x58, 0xc6, 0x2b, 0x4c, 0x1d, 0x65, 0x22, 0xda, 0x82, 0x8a, 0xd2, 0xe4, 0x9c,
-	0x8d, 0x98, 0x7e, 0x6d, 0xaa, 0x51, 0xc0, 0x37, 0x80, 0xff, 0x03, 0x6c, 0xdd, 0xe7, 0x26, 0xdb,
-	0x3e, 0x5a, 0x12, 0xae, 0x62, 0xc9, 0x12, 0xdb, 0xf2, 0x15, 0x3c, 0x83, 0xe4, 0xdb, 0xe9, 0x82,
-	0x0d, 0x28, 0x8f, 0xed, 0xe2, 0x2c, 0xe0, 0x19, 0x64, 0xef, 0xb7, 0x02, 0x2c, 0x5b, 0x07, 0x68,
-	0x00, 0x95, 0x69, 0x39, 0x51, 0x7d, 0x81, 0x8a, 0x9b, 0x89, 0xdb, 0x5c, 0x7c, 0x22, 0xea, 0xce,
-	0xe7, 0x0e, 0xfa, 0xc3, 0x81, 0xf7, 0xde, 0x3a, 0x75, 0xef, 0xe0, 0xf2, 0xab, 0x79, 0x96, 0xf7,
-	0x8e, 0xb3, 0xff, 0xf4, 0xe7, 0xbf, 0xff, 0xfd, 0xbd, 0xf0, 0xd8, 0xdf, 0xc8, 0xfe, 0x38, 0xd8,
-	0x4b, 0xfb, 0x72, 0x62, 0xb5, 0xef, 0x7c, 0x7a, 0xf0, 0x19, 0x6c, 0xc6, 0x62, 0x3c, 0x87, 0xfc,
-	0x60, 0xd5, 0xe6, 0xe9, 0x2c, 0xfb, 0x84, 0x9f, 0x39, 0xe7, 0xcb, 0xe6, 0x5b, 0xfe, 0xc5, 0x7f,
-	0x01, 0x00, 0x00, 0xff, 0xff, 0xc1, 0xa9, 0xf0, 0xc8, 0xb9, 0x08, 0x00, 0x00,
+	// 981 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x56, 0xcb, 0x6e, 0x23, 0x45,
+	0x17, 0xfe, 0xdb, 0x97, 0xd8, 0x3e, 0xbe, 0xf5, 0xd4, 0x1f, 0x66, 0x7a, 0xa2, 0x0c, 0x13, 0x1a,
+	0x10, 0x09, 0x48, 0x6e, 0x62, 0x2e, 0x82, 0x48, 0xb3, 0x70, 0x9c, 0xf6, 0x4c, 0x4b, 0x19, 0x27,
+	0x2a, 0xdb, 0x0c, 0x6c, 0x68, 0x55, 0xec, 0x4a, 0xa7, 0x24, 0xbb, 0xba, 0xe9, 0x8b, 0x15, 0x58,
+	0xc2, 0x06, 0xb1, 0x65, 0xc5, 0x3b, 0xb0, 0xe7, 0x41, 0x78, 0x04, 0x78, 0x10, 0xaa, 0xab, 0xda,
+	0x8e, 0x93, 0x19, 0x47, 0x9e, 0x4d, 0x52, 0xf5, 0x9d, 0x73, 0xbe, 0x73, 0xea, 0xdc, 0xda, 0xf0,
+	0xc2, 0xf3, 0x7d, 0x6f, 0x4a, 0x5b, 0x9e, 0x3f, 0x25, 0xdc, 0x6b, 0xf9, 0xa1, 0x67, 0x79, 0x94,
+	0x07, 0xa1, 0x1f, 0xfb, 0x96, 0x12, 0x91, 0x80, 0x45, 0xd6, 0x78, 0xea, 0x27, 0x13, 0x2b, 0x0a,
+	0x28, 0x1d, 0x5f, 0x59, 0xf3, 0x43, 0x75, 0x77, 0xd5, 0xbd, 0x25, 0xb5, 0xd1, 0xc3, 0x8c, 0x49,
+	0x8a, 0x5a, 0x99, 0x68, 0x7e, 0xb8, 0xe3, 0x6c, 0xe6, 0x41, 0xfc, 0xb1, 0x22, 0x1a, 0xce, 0xd9,
+	0x98, 0x8e, 0x7d, 0x7e, 0xc9, 0x3c, 0x8b, 0x70, 0xee, 0xc7, 0x24, 0x66, 0x3e, 0x8f, 0x94, 0x8b,
+	0x9d, 0x67, 0x9b, 0x51, 0x85, 0xc1, 0xd8, 0x8a, 0x84, 0x65, 0x12, 0x65, 0xff, 0x94, 0xb9, 0xf9,
+	0x97, 0x06, 0x3a, 0x16, 0xec, 0x1e, 0x67, 0x3f, 0x51, 0x4c, 0x7f, 0x48, 0x68, 0x14, 0xa3, 0x6f,
+	0xa1, 0xc9, 0x38, 0x8b, 0x19, 0x99, 0xba, 0xa1, 0x82, 0x0c, 0x6d, 0x4f, 0xdb, 0xaf, 0xb6, 0xad,
+	0xd6, 0x9b, 0x1f, 0xd4, 0x72, 0x94, 0xfa, 0x5d, 0x26, 0xdc, 0x60, 0x0b, 0x81, 0x62, 0x76, 0xa0,
+	0x4e, 0x92, 0x09, 0xf3, 0x97, 0xbc, 0x39, 0xc9, 0xfb, 0xc1, 0x3a, 0xde, 0x4e, 0xaa, 0xbc, 0x20,
+	0xab, 0x91, 0x95, 0x9b, 0xf9, 0x4f, 0x01, 0x1e, 0xad, 0x71, 0x8b, 0xbe, 0x83, 0x32, 0xe5, 0x63,
+	0x7f, 0xc2, 0xb8, 0x27, 0x23, 0x6f, 0xb4, 0x9f, 0xbd, 0x65, 0xe4, 0xca, 0xb3, 0x9d, 0x91, 0xe0,
+	0x25, 0x1d, 0x7a, 0x0a, 0xd5, 0x88, 0xcc, 0x82, 0x29, 0x75, 0x43, 0x12, 0x53, 0x19, 0x7f, 0x11,
+	0x83, 0x82, 0xb0, 0x40, 0xd0, 0xfb, 0x50, 0x4f, 0x2b, 0x91, 0x10, 0x8f, 0xba, 0xc2, 0x86, 0x1a,
+	0x79, 0xa1, 0x52, 0xc1, 0xb5, 0x05, 0xd8, 0x15, 0x18, 0x3a, 0x00, 0x7d, 0x46, 0xae, 0x5d, 0x32,
+	0x8d, 0x69, 0xc8, 0x45, 0x3d, 0xe7, 0x34, 0x32, 0x0a, 0x92, 0xaa, 0x29, 0xf0, 0xce, 0x0a, 0x9c,
+	0xaa, 0x8a, 0x52, 0x5d, 0x12, 0x11, 0xe7, 0x8f, 0xee, 0x25, 0x4b, 0x45, 0x46, 0x51, 0xa8, 0x96,
+	0x71, 0x73, 0x89, 0xf7, 0x24, 0x8c, 0xde, 0x05, 0x10, 0x7d, 0x12, 0x33, 0x9e, 0xf8, 0x49, 0x64,
+	0x6c, 0x49, 0xa5, 0x15, 0x04, 0x7d, 0x94, 0xd6, 0x55, 0x28, 0xb2, 0x99, 0xc8, 0x7f, 0x94, 0x4c,
+	0xe3, 0xc8, 0x28, 0x49, 0xa5, 0x46, 0x06, 0x63, 0x85, 0xa2, 0xaf, 0xc0, 0xa0, 0x9c, 0x5c, 0x88,
+	0x47, 0x52, 0x3e, 0x09, 0x7c, 0x29, 0x75, 0xe9, 0x9c, 0x72, 0x61, 0x51, 0x96, 0x16, 0x0f, 0x95,
+	0xdc, 0x5e, 0x8a, 0x6d, 0x29, 0x45, 0x4f, 0x00, 0xfc, 0x24, 0x0e, 0x92, 0xd8, 0x4d, 0x42, 0x66,
+	0x54, 0xe4, 0xd3, 0x2b, 0x0a, 0x19, 0x85, 0x0c, 0x9d, 0x42, 0x43, 0xa5, 0xde, 0x4d, 0xc3, 0xa2,
+	0xd7, 0xb1, 0x01, 0xb2, 0x01, 0x3e, 0x5c, 0x57, 0x9e, 0x81, 0x3c, 0x75, 0x95, 0x32, 0xae, 0x47,
+	0xab, 0x57, 0x93, 0x40, 0xfd, 0x56, 0x99, 0x90, 0x01, 0xdb, 0x76, 0xbf, 0x7b, 0x76, 0xe2, 0xf4,
+	0x9f, 0xbb, 0xa3, 0xfe, 0xe0, 0xdc, 0xee, 0x3a, 0x3d, 0xc7, 0x3e, 0xd1, 0xff, 0x87, 0x6a, 0x50,
+	0x3e, 0x75, 0xfa, 0x76, 0x07, 0x1f, 0x7e, 0xa9, 0x6b, 0xa8, 0x0c, 0x85, 0xde, 0x69, 0xa7, 0xab,
+	0xe7, 0x50, 0x05, 0x8a, 0x2f, 0x47, 0xa7, 0x9d, 0x57, 0x7a, 0x1e, 0x95, 0x20, 0xdf, 0x79, 0x89,
+	0xf5, 0x02, 0x02, 0xd8, 0x12, 0x07, 0xf7, 0xd5, 0xb1, 0x5e, 0x34, 0x0f, 0xa0, 0x7e, 0x2b, 0x04,
+	0xe1, 0xa2, 0x14, 0x5c, 0x85, 0x24, 0x12, 0x05, 0xd3, 0xf6, 0xf2, 0xe2, 0x75, 0x8b, 0xab, 0x79,
+	0x04, 0xb5, 0xd5, 0x76, 0x4d, 0x35, 0xe5, 0x23, 0xb9, 0x9a, 0x9e, 0x1a, 0x5e, 0x5c, 0x91, 0x0e,
+	0xf9, 0x34, 0x3b, 0x39, 0x99, 0x9d, 0xf4, 0x68, 0x5e, 0xc1, 0x93, 0xbe, 0xcf, 0x07, 0x71, 0x48,
+	0xc9, 0x2c, 0xed, 0xb7, 0x9b, 0x6e, 0x8c, 0x02, 0x31, 0xeb, 0x14, 0x3d, 0x87, 0x4a, 0x98, 0x9d,
+	0x95, 0xe3, 0x6a, 0xfb, 0x60, 0x5d, 0xce, 0x5e, 0xb3, 0xc6, 0x37, 0xb6, 0xe6, 0xaf, 0x79, 0x78,
+	0xf0, 0x3a, 0xfd, 0x3e, 0x14, 0x69, 0x18, 0xfa, 0x61, 0x36, 0xe7, 0x68, 0x41, 0x2d, 0xd6, 0x46,
+	0x6b, 0x20, 0xf7, 0x05, 0x56, 0x0a, 0x62, 0x82, 0x4b, 0x8b, 0xde, 0xc9, 0xc9, 0x30, 0xac, 0xfb,
+	0x4b, 0x97, 0xf9, 0x4a, 0x57, 0x96, 0xea, 0x2e, 0xbc, 0xb0, 0x47, 0xef, 0x41, 0x4d, 0x1d, 0x5d,
+	0xc6, 0x27, 0xf4, 0x5a, 0x0e, 0x4a, 0x11, 0x57, 0x15, 0xe6, 0xa4, 0x10, 0x1a, 0xa5, 0x83, 0xac,
+	0x5a, 0x4c, 0xce, 0x47, 0xa3, 0xfd, 0xf5, 0xc6, 0xaf, 0x6e, 0xdd, 0x69, 0x4e, 0xbc, 0xa4, 0x32,
+	0x7f, 0xd1, 0xa0, 0x79, 0x47, 0x8a, 0xf6, 0x60, 0xd7, 0xee, 0x9f, 0x9c, 0x9f, 0x39, 0xfd, 0xa1,
+	0x8d, 0x5d, 0xfb, 0x1b, 0xbb, 0x3f, 0xbc, 0xd3, 0x43, 0xff, 0x87, 0xe6, 0x60, 0xd8, 0xc1, 0x43,
+	0xf7, 0xac, 0xe7, 0x0a, 0xdc, 0xee, 0xbe, 0x10, 0xad, 0xf4, 0x00, 0xea, 0xc2, 0x6c, 0x05, 0xca,
+	0x89, 0xf2, 0xd6, 0x32, 0xa8, 0x33, 0x3a, 0x71, 0xce, 0x44, 0x6b, 0x6d, 0x83, 0x9e, 0x21, 0xa3,
+	0xa1, 0x60, 0xef, 0xf4, 0xbb, 0xb6, 0x5e, 0x30, 0xff, 0xd4, 0xe0, 0xd1, 0x9a, 0x24, 0x89, 0x15,
+	0x5c, 0xbb, 0xb5, 0x1c, 0x54, 0xc9, 0x3f, 0xdf, 0x38, 0xd7, 0x2b, 0x2b, 0x04, 0xdf, 0x62, 0x42,
+	0x8f, 0xa1, 0xcc, 0x22, 0xb1, 0x48, 0x38, 0x99, 0xca, 0x0e, 0x2c, 0xe3, 0x12, 0x8b, 0x7a, 0xe9,
+	0x15, 0xed, 0x42, 0x45, 0x7c, 0x1c, 0x2e, 0xd8, 0x54, 0xac, 0x14, 0x59, 0x8d, 0x1c, 0xbe, 0x01,
+	0xcc, 0xef, 0x61, 0xf7, 0x3e, 0x37, 0xe9, 0xf6, 0x89, 0x43, 0xc2, 0xa3, 0x71, 0xc8, 0x02, 0xd5,
+	0xf2, 0x15, 0xbc, 0x82, 0x64, 0xdb, 0xe9, 0x92, 0x4d, 0xc4, 0x2e, 0x55, 0x8b, 0x33, 0x87, 0x57,
+	0x90, 0xf6, 0x6f, 0x39, 0xd8, 0x52, 0x0e, 0xd0, 0x04, 0x2a, 0xcb, 0x72, 0xa2, 0xfd, 0x0d, 0x2a,
+	0x2e, 0x27, 0x6e, 0x67, 0xf3, 0x89, 0xd8, 0xd7, 0x3e, 0xd5, 0xd0, 0x1f, 0x1a, 0xbc, 0xf3, 0xc6,
+	0xa9, 0x7b, 0x0b, 0x97, 0x5f, 0xac, 0xd3, 0xbc, 0x77, 0x9c, 0xcd, 0xa7, 0x3f, 0xff, 0xfd, 0xef,
+	0xef, 0xb9, 0xc7, 0xe6, 0x76, 0xfa, 0xc3, 0x41, 0x19, 0x1d, 0x85, 0x0b, 0xad, 0x23, 0xed, 0xe3,
+	0xe3, 0x4f, 0x60, 0x67, 0xec, 0xcf, 0xd6, 0x90, 0x1f, 0x57, 0x55, 0x9e, 0xce, 0xd3, 0x4f, 0xf8,
+	0xb9, 0x76, 0xb1, 0x25, 0xbf, 0xe5, 0x9f, 0xfd, 0x17, 0x00, 0x00, 0xff, 0xff, 0xc1, 0xa9, 0xf0,
+	0xc8, 0xb9, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
index e22ba09b..b3a383ba 100644
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
+++ b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
@@ -18,6 +18,7 @@ It has these top-level messages:
 	RecognitionAudio
 	SyncRecognizeResponse
 	AsyncRecognizeResponse
+	AsyncRecognizeMetadata
 	StreamingRecognizeResponse
 	StreamingRecognitionResult
 	SpeechRecognitionResult
@@ -30,6 +31,7 @@ import fmt "fmt"
 import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
 import (
@@ -62,7 +64,7 @@ type RecognitionConfig_AudioEncoding int32
 const (
 	// Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
 	RecognitionConfig_ENCODING_UNSPECIFIED RecognitionConfig_AudioEncoding = 0
-	// Uncompressed 16-bit signed little-endian samples.
+	// Uncompressed 16-bit signed little-endian samples (Linear PCM).
 	// This is the only encoding that may be used by `AsyncRecognize`.
 	RecognitionConfig_LINEAR16 RecognitionConfig_AudioEncoding = 1
 	// This is the recommended encoding for `SyncRecognize` and
@@ -71,7 +73,7 @@ const (
 	//
 	// The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
 	// http://flac.sourceforge.net/documentation.html.
-	// Only 16-bit samples are supported.
+	// 16-bit and 24-bit samples are supported.
 	// Not all fields in STREAMINFO are supported.
 	RecognitionConfig_FLAC RecognitionConfig_AudioEncoding = 2
 	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
@@ -144,7 +146,7 @@ func (x StreamingRecognizeResponse_EndpointerType) String() string {
 	return proto.EnumName(StreamingRecognizeResponse_EndpointerType_name, int32(x))
 }
 func (StreamingRecognizeResponse_EndpointerType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{9, 0}
+	return fileDescriptor0, []int{10, 0}
 }
 
 // `SyncRecognizeRequest` is the top-level message sent by the client for
@@ -336,13 +338,13 @@ type StreamingRecognitionConfig struct {
 	// [Optional] If `false` or omitted, the recognizer will perform continuous
 	// recognition (continuing to process audio even if the user pauses speaking)
 	// until the client closes the output stream (gRPC API) or when the maximum
-	// time limit has been reached. Multiple `SpeechRecognitionResult`s with the
-	// `is_final` flag set to `true` may be returned.
+	// time limit has been reached. Multiple `StreamingRecognitionResult`s with
+	// the `is_final` flag set to `true` may be returned.
 	//
 	// If `true`, the recognizer will detect a single spoken utterance. When it
 	// detects that the user has paused or stopped speaking, it will return an
 	// `END_OF_UTTERANCE` event and cease recognition. It will return no more than
-	// one `SpeechRecognitionResult` with the `is_final` flag set to `true`.
+	// one `StreamingRecognitionResult` with the `is_final` flag set to `true`.
 	SingleUtterance bool `protobuf:"varint,2,opt,name=single_utterance,json=singleUtterance" json:"single_utterance,omitempty"`
 	// [Optional] If `true`, interim results (tentative hypotheses) may be
 	// returned as they become available (these interim results are indicated with
@@ -377,8 +379,8 @@ type RecognitionConfig struct {
 	// [Optional] The language of the supplied audio as a BCP-47 language tag.
 	// Example: "en-GB"  https://www.rfc-editor.org/rfc/bcp/bcp47.txt
 	// If omitted, defaults to "en-US". See
-	// [Language Support](/speech/docs/best-practices#language_support) for
-	// a list of the currently supported language codes.
+	// [Language Support](https://cloud.google.com/speech/docs/best-practices#language_support)
+	// for a list of the currently supported language codes.
 	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
 	// [Optional] Maximum number of recognition hypotheses to be returned.
 	// Specifically, the maximum number of `SpeechRecognitionAlternative` messages
@@ -411,9 +413,12 @@ func (m *RecognitionConfig) GetSpeechContext() *SpeechContext {
 // Provides "hints" to the speech recognizer to favor specific words and phrases
 // in the results.
 type SpeechContext struct {
-	// [Optional] A list of up to 50 phrases of up to 100 characters each to
-	// provide words and phrases "hints" to the speech recognition so that it is
-	// more likely to recognize them.
+	// [Optional] A list of strings containing words and phrases "hints" so that
+	// the speech recognition is more likely to recognize them. This can be used
+	// to improve the accuracy for specific words and phrases, for example, if
+	// specific commands are typically spoken by the user. This can also be used
+	// to add additional words to the vocabulary of the recognizer. See
+	// [usage limits](https://cloud.google.com/speech/limits#content).
 	Phrases []string `protobuf:"bytes,1,rep,name=phrases" json:"phrases,omitempty"`
 }
 
@@ -424,7 +429,8 @@ func (*SpeechContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []i
 
 // Contains audio data in the encoding specified in the `RecognitionConfig`.
 // Either `content` or `uri` must be supplied. Supplying both or neither
-// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
+// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
+// [audio limits](https://cloud.google.com/speech/limits#content).
 type RecognitionAudio struct {
 	// Types that are valid to be assigned to AudioSource:
 	//	*RecognitionAudio_Content
@@ -539,8 +545,8 @@ func _RecognitionAudio_OneofSizer(msg proto.Message) (n int) {
 }
 
 // `SyncRecognizeResponse` is the only message returned to the client by
-// `SyncRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `SyncRecognize`. It contains the result as zero or more sequential
+// `SpeechRecognitionResult` messages.
 type SyncRecognizeResponse struct {
 	// [Output-only] Sequential list of transcription results corresponding to
 	// sequential portions of audio.
@@ -560,8 +566,10 @@ func (m *SyncRecognizeResponse) GetResults() []*SpeechRecognitionResult {
 }
 
 // `AsyncRecognizeResponse` is the only message returned to the client by
-// `AsyncRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `AsyncRecognize`. It contains the result as zero or more sequential
+// `SpeechRecognitionResult` messages. It is included in the `result.response`
+// field of the `Operation` returned by the `GetOperation` call of the
+// `google::longrunning::Operations` service.
 type AsyncRecognizeResponse struct {
 	// [Output-only] Sequential list of transcription results corresponding to
 	// sequential portions of audio.
@@ -580,9 +588,96 @@ func (m *AsyncRecognizeResponse) GetResults() []*SpeechRecognitionResult {
 	return nil
 }
 
+// `AsyncRecognizeMetadata` describes the progress of a long-running
+// `AsyncRecognize` call. It is included in the `metadata` field of the
+// `Operation` returned by the `GetOperation` call of the
+// `google::longrunning::Operations` service.
+type AsyncRecognizeMetadata struct {
+	// Approximate percentage of audio processed thus far. Guaranteed to be 100
+	// when the audio is fully processed and the results are available.
+	ProgressPercent int32 `protobuf:"varint,1,opt,name=progress_percent,json=progressPercent" json:"progress_percent,omitempty"`
+	// Time when the request was received.
+	StartTime *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// Time of the most recent processing update.
+	LastUpdateTime *google_protobuf3.Timestamp `protobuf:"bytes,3,opt,name=last_update_time,json=lastUpdateTime" json:"last_update_time,omitempty"`
+}
+
+func (m *AsyncRecognizeMetadata) Reset()                    { *m = AsyncRecognizeMetadata{} }
+func (m *AsyncRecognizeMetadata) String() string            { return proto.CompactTextString(m) }
+func (*AsyncRecognizeMetadata) ProtoMessage()               {}
+func (*AsyncRecognizeMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+
+func (m *AsyncRecognizeMetadata) GetStartTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *AsyncRecognizeMetadata) GetLastUpdateTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.LastUpdateTime
+	}
+	return nil
+}
+
 // `StreamingRecognizeResponse` is the only message returned to the client by
-// `StreamingRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `StreamingRecognize`. A series of one or more `StreamingRecognizeResponse`
+// messages are streamed back to the client.
+//
+// Here's an example of a series of ten `StreamingRecognizeResponse`s that might
+// be returned while processing audio:
+//
+// 1. endpointer_type: START_OF_SPEECH
+//
+// 2. results { alternatives { transcript: "tube" } stability: 0.01 }
+//    result_index: 0
+//
+// 3. results { alternatives { transcript: "to be a" } stability: 0.01 }
+//    result_index: 0
+//
+// 4. results { alternatives { transcript: "to be" } stability: 0.9 }
+//    results { alternatives { transcript: " or not to be" } stability: 0.01 }
+//    result_index: 0
+//
+// 5. results { alternatives { transcript: "to be or not to be"
+//                             confidence: 0.92 }
+//              alternatives { transcript: "to bee or not to bee" }
+//              is_final: true }
+//    result_index: 0
+//
+// 6. results { alternatives { transcript: " that's" } stability: 0.01 }
+//    result_index: 1
+//
+// 7. results { alternatives { transcript: " that is" } stability: 0.9 }
+//    results { alternatives { transcript: " the question" } stability: 0.01 }
+//    result_index: 1
+//
+// 8. endpointer_type: END_OF_SPEECH
+//
+// 9. results { alternatives { transcript: " that is the question"
+//                             confidence: 0.98 }
+//              alternatives { transcript: " that was the question" }
+//              is_final: true }
+//    result_index: 1
+//
+// 10. endpointer_type: END_OF_AUDIO
+//
+// Notes:
+//
+// - Only two of the above responses #5 and #9 contain final results, they are
+//   indicated by `is_final: true`. Concatenating these together generates the
+//   full transcript: "to be or not to be that is the question".
+//
+// - The others contain interim `results`. #4 and #7 contain two interim
+//   `results`, the first portion has a high stability and is less likely to
+//   change, the second portion has a low stability and is very likely to
+//   change. A UI designer might choose to show only high stability `results`.
+//
+// - The `result_index` indicates the portion of audio that has had final
+//   results returned, and is no longer being processed. For example, the
+//   `results` in #6 and later correspond to the portion of audio after
+//   "to be or not to be".
 type StreamingRecognizeResponse struct {
 	// [Output-only] If set, returns a [google.rpc.Status][] message that
 	// specifies the error for the operation.
@@ -593,7 +688,7 @@ type StreamingRecognizeResponse struct {
 	// followed by zero or more `is_final=false` results.
 	Results []*StreamingRecognitionResult `protobuf:"bytes,2,rep,name=results" json:"results,omitempty"`
 	// [Output-only] Indicates the lowest index in the `results` array that has
-	// changed. The repeated `SpeechRecognitionResult` results overwrite past
+	// changed. The repeated `StreamingRecognitionResult` results overwrite past
 	// results at this index and higher.
 	ResultIndex int32 `protobuf:"varint,3,opt,name=result_index,json=resultIndex" json:"result_index,omitempty"`
 	// [Output-only] Indicates the type of endpointer event.
@@ -603,7 +698,7 @@ type StreamingRecognizeResponse struct {
 func (m *StreamingRecognizeResponse) Reset()                    { *m = StreamingRecognizeResponse{} }
 func (m *StreamingRecognizeResponse) String() string            { return proto.CompactTextString(m) }
 func (*StreamingRecognizeResponse) ProtoMessage()               {}
-func (*StreamingRecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+func (*StreamingRecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
 func (m *StreamingRecognizeResponse) GetError() *google_rpc.Status {
 	if m != nil {
@@ -619,15 +714,15 @@ func (m *StreamingRecognizeResponse) GetResults() []*StreamingRecognitionResult
 	return nil
 }
 
-// A speech recognition result corresponding to a portion of the audio that is
-// currently being processed.
+// A streaming speech recognition result corresponding to a portion of the audio
+// that is currently being processed.
 type StreamingRecognitionResult struct {
 	// [Output-only] May contain one or more recognition hypotheses (up to the
 	// maximum specified in `max_alternatives`).
 	Alternatives []*SpeechRecognitionAlternative `protobuf:"bytes,1,rep,name=alternatives" json:"alternatives,omitempty"`
-	// [Output-only] If `false`, this `SpeechRecognitionResult` represents an
+	// [Output-only] If `false`, this `StreamingRecognitionResult` represents an
 	// interim result that may change. If `true`, this is the final time the
-	// speech service will return this particular `SpeechRecognitionResult`,
+	// speech service will return this particular `StreamingRecognitionResult`,
 	// the recognizer will not return any further hypotheses for this portion of
 	// the transcript and corresponding audio.
 	IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal" json:"is_final,omitempty"`
@@ -644,7 +739,7 @@ type StreamingRecognitionResult struct {
 func (m *StreamingRecognitionResult) Reset()                    { *m = StreamingRecognitionResult{} }
 func (m *StreamingRecognitionResult) String() string            { return proto.CompactTextString(m) }
 func (*StreamingRecognitionResult) ProtoMessage()               {}
-func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
 func (m *StreamingRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative {
 	if m != nil {
@@ -663,7 +758,7 @@ type SpeechRecognitionResult struct {
 func (m *SpeechRecognitionResult) Reset()                    { *m = SpeechRecognitionResult{} }
 func (m *SpeechRecognitionResult) String() string            { return proto.CompactTextString(m) }
 func (*SpeechRecognitionResult) ProtoMessage()               {}
-func (*SpeechRecognitionResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+func (*SpeechRecognitionResult) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
 func (m *SpeechRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative {
 	if m != nil {
@@ -687,7 +782,7 @@ type SpeechRecognitionAlternative struct {
 func (m *SpeechRecognitionAlternative) Reset()                    { *m = SpeechRecognitionAlternative{} }
 func (m *SpeechRecognitionAlternative) String() string            { return proto.CompactTextString(m) }
 func (*SpeechRecognitionAlternative) ProtoMessage()               {}
-func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
 func init() {
 	proto.RegisterType((*SyncRecognizeRequest)(nil), "google.cloud.speech.v1beta1.SyncRecognizeRequest")
@@ -699,6 +794,7 @@ func init() {
 	proto.RegisterType((*RecognitionAudio)(nil), "google.cloud.speech.v1beta1.RecognitionAudio")
 	proto.RegisterType((*SyncRecognizeResponse)(nil), "google.cloud.speech.v1beta1.SyncRecognizeResponse")
 	proto.RegisterType((*AsyncRecognizeResponse)(nil), "google.cloud.speech.v1beta1.AsyncRecognizeResponse")
+	proto.RegisterType((*AsyncRecognizeMetadata)(nil), "google.cloud.speech.v1beta1.AsyncRecognizeMetadata")
 	proto.RegisterType((*StreamingRecognizeResponse)(nil), "google.cloud.speech.v1beta1.StreamingRecognizeResponse")
 	proto.RegisterType((*StreamingRecognitionResult)(nil), "google.cloud.speech.v1beta1.StreamingRecognitionResult")
 	proto.RegisterType((*SpeechRecognitionResult)(nil), "google.cloud.speech.v1beta1.SpeechRecognitionResult")
@@ -722,8 +818,9 @@ type SpeechClient interface {
 	// has been sent and processed.
 	SyncRecognize(ctx context.Context, in *SyncRecognizeRequest, opts ...grpc.CallOption) (*SyncRecognizeResponse, error)
 	// Perform asynchronous speech-recognition: receive results via the
-	// google.longrunning.Operations interface. `Operation.response` returns
-	// `AsyncRecognizeResponse`.
+	// google.longrunning.Operations interface. Returns either an
+	// `Operation.error` or an `Operation.response` which contains
+	// an `AsyncRecognizeResponse` message.
 	AsyncRecognize(ctx context.Context, in *AsyncRecognizeRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
 	// Perform bidirectional streaming speech-recognition: receive results while
 	// sending audio. This method is only available via the gRPC API (not REST).
@@ -794,8 +891,9 @@ type SpeechServer interface {
 	// has been sent and processed.
 	SyncRecognize(context.Context, *SyncRecognizeRequest) (*SyncRecognizeResponse, error)
 	// Perform asynchronous speech-recognition: receive results via the
-	// google.longrunning.Operations interface. `Operation.response` returns
-	// `AsyncRecognizeResponse`.
+	// google.longrunning.Operations interface. Returns either an
+	// `Operation.error` or an `Operation.response` which contains
+	// an `AsyncRecognizeResponse` message.
 	AsyncRecognize(context.Context, *AsyncRecognizeRequest) (*google_longrunning.Operation, error)
 	// Perform bidirectional streaming speech-recognition: receive results while
 	// sending audio. This method is only available via the gRPC API (not REST).
@@ -897,75 +995,82 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1115 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x56, 0xcf, 0x6e, 0x1b, 0xb7,
-	0x13, 0xf6, 0x4a, 0x96, 0xff, 0x8c, 0x25, 0x79, 0xc3, 0x24, 0xbf, 0x9f, 0xe2, 0xe6, 0x8f, 0xbb,
-	0x41, 0x51, 0x27, 0x40, 0xa5, 0xd8, 0x2d, 0x12, 0x34, 0x68, 0x0f, 0x92, 0xbc, 0xaa, 0x05, 0xc4,
-	0xb2, 0x43, 0xc9, 0x4d, 0x2f, 0xed, 0x82, 0x59, 0xd1, 0x1b, 0x02, 0x12, 0xb9, 0x25, 0xa9, 0xc0,
-	0xee, 0x31, 0xb7, 0x5e, 0x7a, 0xe9, 0x0b, 0x14, 0x68, 0x9f, 0xa0, 0xe8, 0xa1, 0x97, 0xa2, 0xd7,
-	0xde, 0xfb, 0x0a, 0x7d, 0x90, 0x62, 0xc9, 0x5d, 0x5b, 0x92, 0x13, 0xc1, 0x2a, 0x1a, 0xa0, 0x27,
-	0x89, 0x1f, 0x39, 0xdf, 0x7c, 0x1c, 0xce, 0xcc, 0x0e, 0xec, 0x47, 0x42, 0x44, 0x03, 0x5a, 0x8d,
-	0xc4, 0x80, 0xf0, 0xa8, 0x2a, 0x64, 0x54, 0x8b, 0x28, 0x8f, 0xa5, 0xd0, 0xa2, 0x66, 0xb7, 0x48,
-	0xcc, 0x54, 0x2d, 0x1c, 0x88, 0x51, 0xbf, 0xa6, 0x62, 0x4a, 0xc3, 0x17, 0xb5, 0x97, 0xdb, 0xcf,
-	0xa9, 0x26, 0xdb, 0x16, 0x0c, 0x2c, 0x58, 0x35, 0x26, 0xe8, 0x9d, 0x94, 0xce, 0x6c, 0x55, 0xd3,
-	0xad, 0xf4, 0xfc, 0x46, 0xfb, 0x72, 0xbe, 0x48, 0xcc, 0x6a, 0x8a, 0xca, 0x97, 0x2c, 0xa4, 0xa1,
-	0xe0, 0xc7, 0x2c, 0xaa, 0x11, 0xce, 0x85, 0x26, 0x9a, 0x09, 0xae, 0xac, 0x9f, 0x8d, 0xc6, 0xe5,
-	0xa8, 0x06, 0x82, 0x47, 0x72, 0xc4, 0x39, 0xe3, 0x51, 0x4d, 0xc4, 0x54, 0x4e, 0x70, 0x7c, 0x7a,
-	0x39, 0x0e, 0x19, 0x87, 0x35, 0xa5, 0x89, 0x1e, 0xa9, 0xf4, 0xc7, 0x9a, 0x7b, 0x3f, 0x3a, 0x70,
-	0xad, 0x7b, 0xca, 0x43, 0x4c, 0x43, 0x11, 0x71, 0xf6, 0x0d, 0xc5, 0xf4, 0xeb, 0x11, 0x55, 0x1a,
-	0xb5, 0x60, 0xc9, 0xea, 0xae, 0x38, 0x9b, 0xce, 0xd6, 0xda, 0x4e, 0xb5, 0x3a, 0x23, 0x28, 0xd5,
-	0xd4, 0x3c, 0x11, 0xd6, 0x34, 0x56, 0x38, 0xb5, 0x46, 0x4d, 0x28, 0x90, 0x51, 0x9f, 0x89, 0x4a,
-	0xce, 0xd0, 0x7c, 0x70, 0x59, 0x9a, 0x7a, 0x62, 0x84, 0xad, 0xad, 0xf7, 0x93, 0x03, 0xd7, 0xeb,
-	0xea, 0x3f, 0x2f, 0xf3, 0x37, 0x07, 0x6e, 0x74, 0xb5, 0xa4, 0x64, 0xc8, 0x78, 0x74, 0x41, 0x6a,
-	0x1f, 0x5c, 0x95, 0x6d, 0x06, 0x13, 0xa2, 0x1f, 0xcd, 0xf4, 0x36, 0xcd, 0x78, 0xae, 0x7e, 0x6f,
-	0x01, 0xaf, 0x9f, 0x51, 0x5a, 0x08, 0xbd, 0x07, 0x25, 0x23, 0x26, 0xf1, 0xa0, 0x29, 0xd7, 0xe6,
-	0x42, 0xc5, 0xbd, 0x05, 0x5c, 0x34, 0x70, 0xd3, 0xa2, 0x8d, 0xab, 0x70, 0xe5, 0x5c, 0x8c, 0xb4,
-	0x0a, 0xbd, 0x5f, 0x1d, 0xd8, 0x78, 0xb3, 0xb7, 0x7f, 0x2d, 0xd6, 0xf7, 0xc0, 0x55, 0x8c, 0x47,
-	0x03, 0x1a, 0x8c, 0xb4, 0xa6, 0x92, 0xf0, 0x90, 0x1a, 0x95, 0x2b, 0x78, 0xdd, 0xe2, 0x47, 0x19,
-	0x8c, 0xde, 0x87, 0x75, 0xc6, 0x35, 0x95, 0x6c, 0x18, 0x48, 0xaa, 0x46, 0x03, 0xad, 0x2a, 0x79,
-	0x73, 0xb2, 0x9c, 0xc2, 0xd8, 0xa2, 0xde, 0xef, 0x79, 0xb8, 0x72, 0x51, 0xf1, 0x17, 0xb0, 0x42,
-	0x79, 0x28, 0xfa, 0x8c, 0x5b, 0xcd, 0xe5, 0x9d, 0x4f, 0xe6, 0xd3, 0x5c, 0x35, 0xef, 0xeb, 0xa7,
-	0x1c, 0xf8, 0x8c, 0x0d, 0xdd, 0x81, 0x35, 0x45, 0x86, 0xf1, 0x80, 0x06, 0x92, 0x68, 0x2b, 0xbf,
-	0x80, 0xc1, 0x42, 0x98, 0x68, 0x8a, 0xee, 0x42, 0x29, 0x29, 0xc8, 0x11, 0x89, 0x68, 0x10, 0x8a,
-	0x3e, 0x35, 0xba, 0x57, 0x71, 0x31, 0x03, 0x9b, 0xa2, 0x4f, 0x93, 0x48, 0x0c, 0xc9, 0x49, 0x40,
-	0x06, 0x9a, 0x4a, 0x4e, 0x34, 0x7b, 0x49, 0x55, 0x65, 0xd1, 0x50, 0xad, 0x0f, 0xc9, 0x49, 0x7d,
-	0x0c, 0x4e, 0x8e, 0xc6, 0x52, 0x1c, 0x13, 0xce, 0xf4, 0x69, 0x70, 0xcc, 0x92, 0xad, 0x4a, 0xc1,
-	0x06, 0xed, 0x0c, 0x6f, 0x19, 0x18, 0x3d, 0x85, 0xb2, 0xbd, 0x97, 0xcd, 0x81, 0x13, 0x5d, 0x59,
-	0x32, 0xef, 0x75, 0x7f, 0x76, 0x9a, 0x99, 0x65, 0xd3, 0x5a, 0xe0, 0x92, 0x1a, 0x5f, 0x7a, 0x04,
-	0x4a, 0x13, 0x91, 0x40, 0x15, 0xb8, 0xe6, 0x77, 0x9a, 0x07, 0xbb, 0xed, 0xce, 0x67, 0xc1, 0x51,
-	0xa7, 0x7b, 0xe8, 0x37, 0xdb, 0xad, 0xb6, 0xbf, 0xeb, 0x2e, 0xa0, 0x22, 0xac, 0x3c, 0x69, 0x77,
-	0xfc, 0x3a, 0xde, 0x7e, 0xe8, 0x3a, 0x68, 0x05, 0x16, 0x5b, 0x4f, 0xea, 0x4d, 0x37, 0x87, 0x56,
-	0xa1, 0xb0, 0x7f, 0xf4, 0xa4, 0xfe, 0xcc, 0xcd, 0xa3, 0x65, 0xc8, 0xd7, 0xf7, 0xb1, 0xbb, 0x88,
-	0x00, 0x96, 0xea, 0xfb, 0x38, 0x78, 0xd6, 0x70, 0x0b, 0xde, 0x3d, 0x28, 0x4d, 0x48, 0x40, 0x15,
-	0x58, 0x8e, 0x5f, 0x48, 0xa2, 0xa8, 0xaa, 0x38, 0x9b, 0xf9, 0xad, 0x55, 0x9c, 0x2d, 0x3d, 0x0c,
-	0xee, 0x74, 0x09, 0xa2, 0x0d, 0x58, 0xce, 0x32, 0xde, 0x49, 0x33, 0x3e, 0x03, 0x10, 0x82, 0xfc,
-	0x48, 0x32, 0xf3, 0x48, 0xab, 0x7b, 0x0b, 0x38, 0x59, 0x34, 0xca, 0x60, 0x0b, 0x22, 0x50, 0x62,
-	0x24, 0x43, 0xea, 0x45, 0x70, 0x7d, 0xaa, 0x0f, 0xaa, 0x58, 0x70, 0x45, 0x51, 0x07, 0x96, 0xb3,
-	0xd4, 0xcb, 0x6d, 0xe6, 0xb7, 0xd6, 0x76, 0x3e, 0xba, 0x44, 0x18, 0xc7, 0xe4, 0xd9, 0x0c, 0xc5,
-	0x19, 0x89, 0xf7, 0x02, 0xfe, 0x37, 0xdd, 0xca, 0xde, 0x92, 0xa7, 0x9f, 0xf3, 0x17, 0xcb, 0x79,
-	0xcc, 0xdd, 0x16, 0x14, 0xa8, 0x94, 0x42, 0xa6, 0xd5, 0x8c, 0x32, 0x67, 0x32, 0x0e, 0xab, 0x5d,
-	0xf3, 0x8d, 0xc0, 0xf6, 0x00, 0x7a, 0x3a, 0x2d, 0x6c, 0xfe, 0x86, 0x35, 0xa5, 0x0d, 0xbd, 0x0b,
-	0x45, 0xfb, 0x37, 0x60, 0xbc, 0x4f, 0x4f, 0x4c, 0x75, 0x14, 0xf0, 0x9a, 0xc5, 0xda, 0x09, 0x84,
-	0x04, 0xac, 0x53, 0xde, 0x8f, 0x85, 0xa9, 0xf4, 0x40, 0x9f, 0xc6, 0xd4, 0xd4, 0x46, 0x79, 0xa7,
-	0x35, 0x97, 0xf7, 0xf3, 0x1b, 0x57, 0xfd, 0x33, 0xba, 0xde, 0x69, 0x4c, 0x71, 0x99, 0x4e, 0xac,
-	0xbd, 0x57, 0x0e, 0x94, 0x27, 0x8f, 0xa0, 0x4d, 0xb8, 0xe9, 0x77, 0x76, 0x0f, 0x0f, 0xda, 0x9d,
-	0x9e, 0x8f, 0x03, 0xff, 0x73, 0xbf, 0xd3, 0x9b, 0x4a, 0xf7, 0xab, 0xb0, 0xde, 0xed, 0xd5, 0x71,
-	0x2f, 0x38, 0x68, 0x05, 0xdd, 0x43, 0xdf, 0x6f, 0xee, 0xb9, 0x0e, 0xba, 0x02, 0x25, 0xbf, 0xb3,
-	0x3b, 0x06, 0xe5, 0x90, 0x0b, 0xc5, 0x14, 0xaa, 0x1f, 0xed, 0xb6, 0x0f, 0xdc, 0x3c, 0xba, 0x06,
-	0x6e, 0x8a, 0x1c, 0xf5, 0x7a, 0x3e, 0xae, 0x77, 0x9a, 0xbe, 0xbb, 0xe8, 0xfd, 0xf2, 0x86, 0x1e,
-	0x6c, 0x03, 0x88, 0xbe, 0x84, 0xe2, 0x44, 0xb7, 0x70, 0xcc, 0x7b, 0x7c, 0x3c, 0x5f, 0xa2, 0x8c,
-	0x35, 0x16, 0x3c, 0x41, 0x87, 0x6e, 0xc0, 0x0a, 0x53, 0xc1, 0x31, 0xe3, 0x64, 0x90, 0xb6, 0xe4,
-	0x65, 0xa6, 0x5a, 0xc9, 0x12, 0xdd, 0x84, 0x55, 0xa5, 0xc9, 0x73, 0x36, 0x60, 0xfa, 0xd4, 0x3c,
-	0x57, 0x0e, 0x9f, 0x03, 0xde, 0x09, 0xfc, 0xff, 0x0d, 0xf9, 0xf8, 0x96, 0x25, 0x7b, 0x5f, 0xc1,
-	0xcd, 0x59, 0xa7, 0xd1, 0x6d, 0x00, 0x2d, 0x09, 0x57, 0xa1, 0x64, 0xb1, 0xed, 0x0d, 0xab, 0x78,
-	0x0c, 0x49, 0xf6, 0xcd, 0x77, 0xa9, 0x4f, 0xb3, 0xef, 0x50, 0x0e, 0x8f, 0x21, 0x3b, 0x7f, 0xe4,
-	0x61, 0xc9, 0x3a, 0x40, 0x3f, 0x38, 0x50, 0x9a, 0x68, 0x12, 0x68, 0x7b, 0xf6, 0x2d, 0x5e, 0x33,
-	0xb1, 0x6c, 0xec, 0xcc, 0x63, 0x62, 0x13, 0xd7, 0xdb, 0x7a, 0xf5, 0xe7, 0x5f, 0xdf, 0xe7, 0x3c,
-	0xef, 0xd6, 0xd9, 0xd4, 0x6a, 0xcd, 0x1e, 0x27, 0x8d, 0x44, 0x66, 0xc7, 0x1f, 0x3b, 0xf7, 0xd1,
-	0x77, 0x0e, 0x94, 0x27, 0xdb, 0x0b, 0x9a, 0xed, 0xf0, 0xb5, 0x63, 0xd5, 0xc6, 0xad, 0xcc, 0x66,
-	0x6c, 0xf6, 0xac, 0x1e, 0x64, 0xb3, 0xa7, 0x77, 0xcf, 0xe8, 0xb9, 0xeb, 0xdd, 0x9e, 0xd6, 0x43,
-	0x2e, 0x08, 0xfa, 0xd6, 0x01, 0x74, 0xb1, 0x24, 0xd1, 0xc3, 0xb9, 0x6b, 0xd8, 0x0a, 0x7b, 0xf4,
-	0x0f, 0x6b, 0x7f, 0xcb, 0x79, 0xe0, 0x34, 0x1e, 0xc0, 0x9d, 0x50, 0x0c, 0x67, 0x31, 0x34, 0xd6,
-	0xec, 0x53, 0x1f, 0x26, 0xc3, 0xf1, 0xa1, 0xf3, 0x7c, 0xc9, 0x4c, 0xc9, 0x1f, 0xfe, 0x1d, 0x00,
-	0x00, 0xff, 0xff, 0x89, 0x6f, 0xfa, 0x0f, 0x61, 0x0c, 0x00, 0x00,
+	// 1220 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0x4f, 0x73, 0xdb, 0x44,
+	0x14, 0xaf, 0xec, 0x38, 0x7f, 0x5e, 0x6c, 0x47, 0xdd, 0xa6, 0xe0, 0x9a, 0xb4, 0x0d, 0xea, 0x30,
+	0x24, 0x9d, 0x41, 0x6a, 0x0c, 0xd3, 0x4e, 0x0b, 0x1c, 0x6c, 0x47, 0xa6, 0x9e, 0x49, 0x9c, 0xb0,
+	0xb1, 0x29, 0x17, 0xd0, 0x28, 0xf2, 0x46, 0xd1, 0x8c, 0x2d, 0x09, 0xfd, 0xc9, 0x24, 0x1c, 0x7b,
+	0xe3, 0xc2, 0x85, 0x2f, 0xc0, 0x0c, 0x7c, 0x02, 0x86, 0x03, 0x17, 0x86, 0x0b, 0x07, 0xee, 0x7c,
+	0x05, 0x3e, 0x08, 0x4f, 0xbb, 0x52, 0x62, 0x3b, 0x8d, 0x89, 0x19, 0x3a, 0xc3, 0x25, 0xd1, 0xfe,
+	0x76, 0xdf, 0x7b, 0xbf, 0xf7, 0xf6, 0xfd, 0x59, 0xc3, 0xae, 0xed, 0x79, 0xf6, 0x80, 0xa9, 0xb6,
+	0x37, 0x30, 0x5d, 0x5b, 0xf5, 0x02, 0x5b, 0xb3, 0x99, 0xeb, 0x07, 0x5e, 0xe4, 0x69, 0x62, 0xcb,
+	0xf4, 0x9d, 0x50, 0xb3, 0x06, 0x5e, 0xdc, 0xd7, 0x42, 0x9f, 0x31, 0xeb, 0x58, 0x3b, 0xd9, 0x3a,
+	0x64, 0x91, 0xb9, 0x25, 0x40, 0x43, 0x80, 0x2a, 0x17, 0x21, 0x6f, 0xa5, 0xea, 0xf8, 0x96, 0x9a,
+	0x6e, 0xa5, 0xe7, 0xab, 0xed, 0xeb, 0xd9, 0xc2, 0x3f, 0x5a, 0xc8, 0x82, 0x13, 0xc7, 0x62, 0x96,
+	0xe7, 0x1e, 0x39, 0xb6, 0x66, 0xba, 0xae, 0x17, 0x99, 0x91, 0xe3, 0xb9, 0xa1, 0xb0, 0x53, 0x6d,
+	0x5c, 0x4f, 0xd5, 0xc0, 0x73, 0xed, 0x20, 0x76, 0x5d, 0xc7, 0xb5, 0x35, 0xcf, 0x67, 0xc1, 0x98,
+	0x8e, 0x0f, 0x6d, 0x27, 0x3a, 0x8e, 0x0f, 0x55, 0xcb, 0x1b, 0x6a, 0x42, 0x8f, 0xc6, 0x37, 0x0e,
+	0xe3, 0x23, 0xcd, 0x8f, 0xce, 0x7c, 0x16, 0x6a, 0x91, 0x33, 0x64, 0x61, 0x64, 0x0e, 0xfd, 0x8b,
+	0xaf, 0x54, 0xf8, 0xe3, 0xeb, 0x11, 0x08, 0x7c, 0x4b, 0x43, 0xb1, 0x28, 0x0e, 0xd3, 0x7f, 0x42,
+	0x5c, 0xf9, 0x41, 0x82, 0xd5, 0x83, 0x33, 0xd7, 0xa2, 0xe8, 0xa2, 0xed, 0x3a, 0x5f, 0x33, 0xca,
+	0xbe, 0x8a, 0xd1, 0x00, 0x69, 0xc1, 0xbc, 0x70, 0xba, 0x22, 0xad, 0x4b, 0x1b, 0xcb, 0x35, 0x55,
+	0x9d, 0x12, 0x51, 0x35, 0x15, 0x4f, 0xbc, 0x6a, 0x72, 0x29, 0x9a, 0x4a, 0x93, 0x26, 0x14, 0xcc,
+	0xb8, 0xef, 0x78, 0x95, 0x1c, 0x57, 0xf3, 0xde, 0x75, 0xd5, 0xd4, 0x13, 0x21, 0x2a, 0x64, 0x95,
+	0x1f, 0x25, 0xb8, 0x5d, 0x0f, 0xff, 0xf7, 0x34, 0x7f, 0x95, 0xe0, 0xce, 0x41, 0x14, 0x30, 0x73,
+	0x88, 0xf7, 0x7c, 0x89, 0x6a, 0x1f, 0xe4, 0x30, 0xdb, 0x34, 0xc6, 0x48, 0x3f, 0x99, 0x6a, 0x6d,
+	0x52, 0xe3, 0x05, 0xfb, 0xe7, 0x37, 0xe8, 0xca, 0xb9, 0x4a, 0x01, 0x91, 0x77, 0xa0, 0xc4, 0xc9,
+	0x24, 0x16, 0x22, 0xe6, 0x46, 0xdc, 0xa1, 0x22, 0x9e, 0x2c, 0x72, 0xb8, 0x29, 0xd0, 0xc6, 0x2d,
+	0xb8, 0x79, 0x41, 0x26, 0x10, 0x0c, 0x95, 0x5f, 0x24, 0xa8, 0x5e, 0x6d, 0xed, 0x3f, 0x8b, 0xf5,
+	0x26, 0x06, 0x02, 0x0d, 0x0c, 0x98, 0x11, 0x47, 0x11, 0xd6, 0x82, 0x6b, 0x31, 0xce, 0x72, 0x11,
+	0xbd, 0xe1, 0x78, 0x2f, 0x83, 0xc9, 0xbb, 0xb0, 0xe2, 0x20, 0xe1, 0xc0, 0x19, 0x22, 0xc9, 0x30,
+	0x1e, 0x44, 0x61, 0x25, 0xcf, 0x4f, 0x96, 0x53, 0x98, 0x0a, 0x54, 0xf9, 0x2d, 0x0f, 0x37, 0x2f,
+	0x33, 0xfe, 0x1c, 0x16, 0x99, 0x6b, 0x79, 0x7d, 0xd4, 0xca, 0x39, 0x97, 0x6b, 0x1f, 0xcd, 0xc6,
+	0x59, 0xe5, 0xf7, 0xab, 0xa7, 0x3a, 0xe8, 0xb9, 0x36, 0x72, 0x1f, 0x96, 0x43, 0x2c, 0x42, 0xf4,
+	0x01, 0x6b, 0x59, 0xd0, 0x2f, 0x50, 0x10, 0x10, 0x45, 0x84, 0x3c, 0x80, 0x52, 0x52, 0x90, 0xb1,
+	0x69, 0x33, 0xbc, 0x8a, 0x3e, 0xe3, 0xbc, 0x97, 0x68, 0x31, 0x03, 0x9b, 0x88, 0x25, 0x91, 0x18,
+	0x9a, 0xa7, 0x86, 0x39, 0x40, 0x5f, 0x5c, 0xec, 0x09, 0x27, 0x2c, 0xac, 0xcc, 0x71, 0x55, 0x2b,
+	0x88, 0xd7, 0x47, 0xe0, 0xe4, 0x28, 0x56, 0xec, 0x91, 0x89, 0xec, 0xce, 0x8c, 0x23, 0x27, 0xd9,
+	0xaa, 0x14, 0x44, 0xd0, 0xce, 0xf1, 0x16, 0x87, 0xc9, 0xa7, 0x50, 0x16, 0x7e, 0x89, 0x1c, 0x38,
+	0x8d, 0x2a, 0xf3, 0xfc, 0xbe, 0x1e, 0x4e, 0x4f, 0x33, 0xbe, 0x6c, 0x0a, 0x09, 0x5a, 0x0a, 0x47,
+	0x97, 0x8a, 0x09, 0xa5, 0xb1, 0x48, 0x90, 0x0a, 0xac, 0xea, 0x9d, 0xe6, 0xde, 0x76, 0xbb, 0xf3,
+	0x89, 0xd1, 0xeb, 0x1c, 0xec, 0xeb, 0xcd, 0x76, 0xab, 0xad, 0x6f, 0xcb, 0x37, 0x48, 0x11, 0x16,
+	0x77, 0xda, 0x1d, 0xbd, 0x4e, 0xb7, 0x1e, 0xcb, 0x12, 0x59, 0x84, 0xb9, 0xd6, 0x4e, 0xbd, 0x29,
+	0xe7, 0xc8, 0x12, 0x14, 0x76, 0x7b, 0x3b, 0xf5, 0x17, 0x72, 0x9e, 0x2c, 0x40, 0xbe, 0xbe, 0x4b,
+	0xe5, 0x39, 0x02, 0x30, 0x8f, 0x1f, 0xc6, 0x8b, 0x86, 0x5c, 0x50, 0x36, 0xa1, 0x34, 0x46, 0x01,
+	0x4d, 0x2c, 0xf8, 0xc7, 0x81, 0x19, 0x62, 0x4c, 0xa4, 0xf5, 0x3c, 0xc6, 0x2e, 0x5b, 0x2a, 0x14,
+	0xe4, 0xc9, 0x12, 0x24, 0x55, 0x58, 0xc8, 0x32, 0x5e, 0x4a, 0x33, 0x3e, 0x03, 0x08, 0x81, 0x7c,
+	0x1c, 0x38, 0xfc, 0x92, 0x96, 0x10, 0x4f, 0x16, 0x8d, 0x32, 0x88, 0x82, 0x30, 0x42, 0x2f, 0x0e,
+	0x2c, 0xa6, 0xd8, 0x70, 0x7b, 0xa2, 0x0f, 0x86, 0x3e, 0xb6, 0x68, 0x46, 0x3a, 0xb0, 0x90, 0xa5,
+	0x5e, 0x0e, 0x69, 0x2c, 0xd7, 0x3e, 0xb8, 0x46, 0x18, 0x47, 0xe8, 0x89, 0x0c, 0xa5, 0x99, 0x12,
+	0xe5, 0x18, 0xde, 0x98, 0x6c, 0x65, 0xaf, 0xc9, 0xd2, 0xef, 0xd2, 0xa4, 0xa9, 0x5d, 0x14, 0xec,
+	0x9b, 0x91, 0x99, 0x66, 0x93, 0x8d, 0x27, 0x43, 0x03, 0xc7, 0x91, 0x95, 0x85, 0xad, 0xc0, 0xb3,
+	0x89, 0xe3, 0xfb, 0x02, 0x26, 0x4f, 0x01, 0x70, 0x62, 0x04, 0x91, 0x91, 0x4c, 0x9e, 0xb4, 0x3d,
+	0x56, 0x33, 0x62, 0xd9, 0x9c, 0x52, 0xbb, 0xd9, 0x58, 0xa2, 0x4b, 0xfc, 0x74, 0xb2, 0x26, 0xdb,
+	0x20, 0x0f, 0xcc, 0x30, 0x32, 0x62, 0x1f, 0x8d, 0x32, 0xa1, 0x20, 0xff, 0x8f, 0x0a, 0xca, 0x89,
+	0x4c, 0x8f, 0x8b, 0x24, 0xa0, 0xf2, 0x53, 0xfe, 0x72, 0x57, 0x1a, 0x89, 0xda, 0x06, 0x14, 0x58,
+	0x10, 0x78, 0x41, 0xda, 0x94, 0x48, 0xa6, 0x19, 0x27, 0x1e, 0xb6, 0xce, 0x64, 0xd4, 0x51, 0x71,
+	0x00, 0xeb, 0x62, 0x22, 0xbe, 0xb3, 0xf7, 0xdd, 0x89, 0x10, 0x93, 0xb7, 0xa1, 0x28, 0x3e, 0x0d,
+	0xc7, 0xed, 0xb3, 0x53, 0xee, 0x5d, 0x81, 0x2e, 0x0b, 0xac, 0x9d, 0x40, 0xc4, 0x83, 0x15, 0xe6,
+	0xf6, 0x7d, 0x8f, 0x37, 0x2c, 0x23, 0x19, 0xe7, 0xbc, 0xc4, 0xcb, 0xb5, 0xd6, 0x4c, 0xd6, 0x2f,
+	0x3c, 0x56, 0xf5, 0x73, 0x75, 0x5d, 0xd4, 0x46, 0xcb, 0x6c, 0x6c, 0xad, 0xbc, 0x94, 0xa0, 0x3c,
+	0x7e, 0x84, 0xac, 0xc3, 0x9a, 0xde, 0xd9, 0xde, 0xdf, 0x6b, 0x77, 0xba, 0x3a, 0x35, 0xf4, 0xcf,
+	0xf4, 0x4e, 0x77, 0xa2, 0x6a, 0x6f, 0xc1, 0xca, 0x41, 0xb7, 0x4e, 0xbb, 0xc6, 0x5e, 0xcb, 0x40,
+	0x5c, 0x6f, 0x3e, 0xc7, 0xe2, 0xbd, 0x09, 0x25, 0x14, 0x1b, 0x81, 0x72, 0x44, 0x86, 0x62, 0x0a,
+	0xd5, 0x7b, 0xdb, 0xed, 0x3d, 0x2c, 0xe6, 0x55, 0x90, 0x53, 0xa4, 0xd7, 0x45, 0xed, 0xf5, 0x4e,
+	0x53, 0x97, 0xe7, 0x94, 0x9f, 0xaf, 0x18, 0x25, 0x22, 0x80, 0xe4, 0x0b, 0xac, 0xbe, 0xd1, 0xa6,
+	0x27, 0xf1, 0xfb, 0x78, 0x3a, 0x5b, 0xbe, 0x8f, 0xf4, 0x47, 0x3a, 0xa6, 0x8e, 0xdc, 0x81, 0x45,
+	0x27, 0xc4, 0x2e, 0xe9, 0x9a, 0x83, 0x74, 0xb2, 0x2c, 0x38, 0x61, 0x2b, 0x59, 0x92, 0x35, 0x48,
+	0x12, 0xf4, 0xd0, 0x19, 0x60, 0xbf, 0xe4, 0xd7, 0x95, 0xa3, 0x17, 0x80, 0x72, 0x0a, 0x6f, 0x5e,
+	0x51, 0x56, 0xaf, 0x99, 0xb2, 0xf2, 0x25, 0xac, 0x4d, 0x3b, 0x4d, 0xee, 0x01, 0x44, 0x38, 0x13,
+	0x43, 0x2b, 0x70, 0x7c, 0x51, 0xab, 0x4b, 0x74, 0x04, 0x49, 0xf6, 0xf9, 0x78, 0xed, 0xb3, 0x6c,
+	0x9c, 0xe6, 0xe8, 0x08, 0x52, 0xfb, 0x23, 0x0f, 0xf3, 0xc2, 0x00, 0xf9, 0x5e, 0xc2, 0x56, 0x3b,
+	0xda, 0x16, 0xc8, 0xd6, 0x74, 0x2f, 0x5e, 0xf1, 0xf0, 0xaa, 0xd6, 0x66, 0x11, 0x11, 0x89, 0xab,
+	0x6c, 0xbc, 0xfc, 0xf3, 0xaf, 0xef, 0x72, 0x8a, 0x72, 0xf7, 0xfc, 0xe5, 0x2e, 0xc4, 0x9e, 0x25,
+	0x4d, 0x2a, 0xc8, 0x8e, 0x3f, 0x93, 0x1e, 0x92, 0x6f, 0x31, 0x87, 0xc7, 0x5b, 0x17, 0x99, 0x6e,
+	0xf0, 0x95, 0xaf, 0xc3, 0xea, 0xdd, 0x4c, 0x66, 0xe4, 0xfd, 0xad, 0xee, 0x65, 0xef, 0x6f, 0x65,
+	0x93, 0xf3, 0x79, 0xa0, 0xdc, 0x9b, 0xe4, 0x63, 0x5e, 0x22, 0xf4, 0x8d, 0x04, 0xe4, 0x72, 0x49,
+	0x92, 0xc7, 0x33, 0xd7, 0xb0, 0x20, 0xf6, 0xe4, 0x5f, 0xd6, 0xfe, 0x86, 0xf4, 0x48, 0x6a, 0x3c,
+	0x82, 0xfb, 0xf8, 0x53, 0x61, 0x9a, 0x86, 0xc6, 0xb2, 0xb8, 0xea, 0xfd, 0xa4, 0xbb, 0xee, 0x4b,
+	0x87, 0xf3, 0xbc, 0xcd, 0xbe, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x75, 0x72, 0x16, 0x3d,
+	0x65, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.proto b/googleapis/cloud/speech/v1beta1/cloud_speech.proto
index 399e9989..091a3ae9 100644
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+++ b/googleapis/cloud/speech/v1beta1/cloud_speech.proto
@@ -18,6 +18,7 @@ package google.cloud.speech.v1beta1;
 
 import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
 import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
 import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
 
 option java_multiple_files = true;
@@ -34,8 +35,9 @@ service Speech {
   }
 
   // Perform asynchronous speech-recognition: receive results via the
-  // google.longrunning.Operations interface. `Operation.response` returns
-  // `AsyncRecognizeResponse`.
+  // google.longrunning.Operations interface. Returns either an
+  // `Operation.error` or an `Operation.response` which contains
+  // an `AsyncRecognizeResponse` message.
   rpc AsyncRecognize(AsyncRecognizeRequest) returns (google.longrunning.Operation) {
     option (google.api.http) = { post: "/v1beta1/speech:asyncrecognize" body: "*" };
   }
@@ -87,7 +89,8 @@ message StreamingRecognizeRequest {
     // and all subsequent `StreamingRecognizeRequest` messages must contain
     // `audio_content` data. The audio bytes must be encoded as specified in
     // `RecognitionConfig`. Note: as with all bytes fields, protobuffers use a
-    // pure binary representation (not base64).
+    // pure binary representation (not base64). See
+    // [audio limits](https://cloud.google.com/speech/limits#content).
     bytes audio_content = 2;
   }
 }
@@ -102,13 +105,13 @@ message StreamingRecognitionConfig {
   // [Optional] If `false` or omitted, the recognizer will perform continuous
   // recognition (continuing to process audio even if the user pauses speaking)
   // until the client closes the output stream (gRPC API) or when the maximum
-  // time limit has been reached. Multiple `SpeechRecognitionResult`s with the
-  // `is_final` flag set to `true` may be returned.
+  // time limit has been reached. Multiple `StreamingRecognitionResult`s with
+  // the `is_final` flag set to `true` may be returned.
   //
   // If `true`, the recognizer will detect a single spoken utterance. When it
   // detects that the user has paused or stopped speaking, it will return an
   // `END_OF_UTTERANCE` event and cease recognition. It will return no more than
-  // one `SpeechRecognitionResult` with the `is_final` flag set to `true`.
+  // one `StreamingRecognitionResult` with the `is_final` flag set to `true`.
   bool single_utterance = 2;
 
   // [Optional] If `true`, interim results (tentative hypotheses) may be
@@ -134,7 +137,7 @@ message RecognitionConfig {
     // Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
     ENCODING_UNSPECIFIED = 0;
 
-    // Uncompressed 16-bit signed little-endian samples.
+    // Uncompressed 16-bit signed little-endian samples (Linear PCM).
     // This is the only encoding that may be used by `AsyncRecognize`.
     LINEAR16 = 1;
 
@@ -144,7 +147,7 @@ message RecognitionConfig {
     //
     // The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
     // http://flac.sourceforge.net/documentation.html.
-    // Only 16-bit samples are supported.
+    // 16-bit and 24-bit samples are supported.
     // Not all fields in STREAMINFO are supported.
     FLAC = 2;
 
@@ -171,8 +174,8 @@ message RecognitionConfig {
   // [Optional] The language of the supplied audio as a BCP-47 language tag.
   // Example: "en-GB"  https://www.rfc-editor.org/rfc/bcp/bcp47.txt
   // If omitted, defaults to "en-US". See
-  // [Language Support](/speech/docs/best-practices#language_support) for
-  // a list of the currently supported language codes.
+  // [Language Support](https://cloud.google.com/speech/docs/best-practices#language_support)
+  // for a list of the currently supported language codes.
   string language_code = 3;
 
   // [Optional] Maximum number of recognition hypotheses to be returned.
@@ -196,15 +199,19 @@ message RecognitionConfig {
 // Provides "hints" to the speech recognizer to favor specific words and phrases
 // in the results.
 message SpeechContext {
-  // [Optional] A list of up to 50 phrases of up to 100 characters each to
-  // provide words and phrases "hints" to the speech recognition so that it is
-  // more likely to recognize them.
+  // [Optional] A list of strings containing words and phrases "hints" so that
+  // the speech recognition is more likely to recognize them. This can be used
+  // to improve the accuracy for specific words and phrases, for example, if
+  // specific commands are typically spoken by the user. This can also be used
+  // to add additional words to the vocabulary of the recognizer. See
+  // [usage limits](https://cloud.google.com/speech/limits#content).
   repeated string phrases = 1;
 }
 
 // Contains audio data in the encoding specified in the `RecognitionConfig`.
 // Either `content` or `uri` must be supplied. Supplying both or neither
-// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
+// returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. See
+// [audio limits](https://cloud.google.com/speech/limits#content).
 message RecognitionAudio {
   oneof audio_source {
     // The audio data bytes encoded as specified in
@@ -217,14 +224,14 @@ message RecognitionAudio {
     // supported, which must be specified in the following format:
     // `gs://bucket_name/object_name` (other URI formats return
     // [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more information, see
-    // [Request URIs](/storage/docs/reference-uris).
+    // [Request URIs](https://cloud.google.com/storage/docs/reference-uris).
     string uri = 2;
   }
 }
 
 // `SyncRecognizeResponse` is the only message returned to the client by
-// `SyncRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `SyncRecognize`. It contains the result as zero or more sequential
+// `SpeechRecognitionResult` messages.
 message SyncRecognizeResponse {
   // [Output-only] Sequential list of transcription results corresponding to
   // sequential portions of audio.
@@ -232,17 +239,89 @@ message SyncRecognizeResponse {
 }
 
 // `AsyncRecognizeResponse` is the only message returned to the client by
-// `AsyncRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `AsyncRecognize`. It contains the result as zero or more sequential
+// `SpeechRecognitionResult` messages. It is included in the `result.response`
+// field of the `Operation` returned by the `GetOperation` call of the
+// `google::longrunning::Operations` service.
 message AsyncRecognizeResponse {
   // [Output-only] Sequential list of transcription results corresponding to
   // sequential portions of audio.
   repeated SpeechRecognitionResult results = 2;
 }
 
+// `AsyncRecognizeMetadata` describes the progress of a long-running
+// `AsyncRecognize` call. It is included in the `metadata` field of the
+// `Operation` returned by the `GetOperation` call of the
+// `google::longrunning::Operations` service.
+message AsyncRecognizeMetadata {
+  // Approximate percentage of audio processed thus far. Guaranteed to be 100
+  // when the audio is fully processed and the results are available.
+  int32 progress_percent = 1;
+
+  // Time when the request was received.
+  google.protobuf.Timestamp start_time = 2;
+
+  // Time of the most recent processing update.
+  google.protobuf.Timestamp last_update_time = 3;
+}
+
 // `StreamingRecognizeResponse` is the only message returned to the client by
-// `StreamingRecognize`. It contains the result as zero or more
-// sequential `RecognizeResponse` messages.
+// `StreamingRecognize`. A series of one or more `StreamingRecognizeResponse`
+// messages are streamed back to the client.
+//
+// Here's an example of a series of ten `StreamingRecognizeResponse`s that might
+// be returned while processing audio:
+//
+// 1. endpointer_type: START_OF_SPEECH
+//
+// 2. results { alternatives { transcript: "tube" } stability: 0.01 }
+//    result_index: 0
+//
+// 3. results { alternatives { transcript: "to be a" } stability: 0.01 }
+//    result_index: 0
+//
+// 4. results { alternatives { transcript: "to be" } stability: 0.9 }
+//    results { alternatives { transcript: " or not to be" } stability: 0.01 }
+//    result_index: 0
+//
+// 5. results { alternatives { transcript: "to be or not to be"
+//                             confidence: 0.92 }
+//              alternatives { transcript: "to bee or not to bee" }
+//              is_final: true }
+//    result_index: 0
+//
+// 6. results { alternatives { transcript: " that's" } stability: 0.01 }
+//    result_index: 1
+//
+// 7. results { alternatives { transcript: " that is" } stability: 0.9 }
+//    results { alternatives { transcript: " the question" } stability: 0.01 }
+//    result_index: 1
+//
+// 8. endpointer_type: END_OF_SPEECH
+//
+// 9. results { alternatives { transcript: " that is the question"
+//                             confidence: 0.98 }
+//              alternatives { transcript: " that was the question" }
+//              is_final: true }
+//    result_index: 1
+//
+// 10. endpointer_type: END_OF_AUDIO
+//
+// Notes:
+//
+// - Only two of the above responses #5 and #9 contain final results, they are
+//   indicated by `is_final: true`. Concatenating these together generates the
+//   full transcript: "to be or not to be that is the question".
+//
+// - The others contain interim `results`. #4 and #7 contain two interim
+//   `results`, the first portion has a high stability and is less likely to
+//   change, the second portion has a low stability and is very likely to
+//   change. A UI designer might choose to show only high stability `results`.
+//
+// - The `result_index` indicates the portion of audio that has had final
+//   results returned, and is no longer being processed. For example, the
+//   `results` in #6 and later correspond to the portion of audio after
+//   "to be or not to be".
 message StreamingRecognizeResponse {
   // Indicates the type of endpointer event.
   enum EndpointerType {
@@ -276,7 +355,7 @@ message StreamingRecognizeResponse {
   repeated StreamingRecognitionResult results = 2;
 
   // [Output-only] Indicates the lowest index in the `results` array that has
-  // changed. The repeated `SpeechRecognitionResult` results overwrite past
+  // changed. The repeated `StreamingRecognitionResult` results overwrite past
   // results at this index and higher.
   int32 result_index = 3;
 
@@ -284,16 +363,16 @@ message StreamingRecognizeResponse {
   EndpointerType endpointer_type = 4;
 }
 
-// A speech recognition result corresponding to a portion of the audio that is
-// currently being processed.
+// A streaming speech recognition result corresponding to a portion of the audio
+// that is currently being processed.
 message StreamingRecognitionResult {
   // [Output-only] May contain one or more recognition hypotheses (up to the
   // maximum specified in `max_alternatives`).
   repeated SpeechRecognitionAlternative alternatives = 1;
 
-  // [Output-only] If `false`, this `SpeechRecognitionResult` represents an
+  // [Output-only] If `false`, this `StreamingRecognitionResult` represents an
   // interim result that may change. If `true`, this is the final time the
-  // speech service will return this particular `SpeechRecognitionResult`,
+  // speech service will return this particular `StreamingRecognitionResult`,
   // the recognizer will not return any further hypotheses for this portion of
   // the transcript and corresponding audio.
   bool is_final = 2;
diff --git a/googleapis/cloud/vision/v1/geometry.pb.go b/googleapis/cloud/vision/v1/geometry.pb.go
index da97b87e..437969a9 100644
--- a/googleapis/cloud/vision/v1/geometry.pb.go
+++ b/googleapis/cloud/vision/v1/geometry.pb.go
@@ -108,20 +108,20 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 226 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x8f, 0xb1, 0x4b, 0x03, 0x31,
-	0x14, 0x87, 0x79, 0x57, 0x2c, 0x25, 0xd6, 0xe5, 0x06, 0x39, 0x1c, 0xa4, 0x1c, 0x0e, 0x9d, 0x12,
-	0xab, 0x4e, 0x8e, 0x87, 0x20, 0x38, 0x1d, 0x37, 0xb8, 0xd7, 0xeb, 0xe3, 0x11, 0x48, 0xf3, 0x4a,
-	0x92, 0x86, 0xa6, 0x7f, 0xb9, 0xa3, 0x34, 0x29, 0x8a, 0xa0, 0xe3, 0xc7, 0xfb, 0x78, 0x1f, 0x3f,
-	0xf1, 0x42, 0xcc, 0x64, 0x50, 0x12, 0x9b, 0xb5, 0x25, 0xc9, 0x8e, 0x14, 0xa1, 0xdd, 0x39, 0x0e,
-	0xac, 0xca, 0x69, 0xbd, 0xd3, 0x5e, 0x8d, 0x86, 0xf7, 0x1b, 0x15, 0xb5, 0xd7, 0x6c, 0x55, 0x5c,
-	0x29, 0x42, 0xde, 0x62, 0x70, 0x49, 0x66, 0xb3, 0xbe, 0x3e, 0x7f, 0xc9, 0x9a, 0x2c, 0x9a, 0x8c,
-	0xab, 0xf6, 0x4e, 0x4c, 0xdf, 0xd1, 0x05, 0x3c, 0xd4, 0x73, 0x01, 0x87, 0x06, 0x16, 0xb0, 0xbc,
-	0x18, 0x20, 0x53, 0x6a, 0xaa, 0x42, 0xa9, 0x7d, 0x13, 0xf3, 0x8e, 0xf7, 0x76, 0xa3, 0x2d, 0xf5,
-	0x6c, 0x52, 0xfd, 0x2c, 0x66, 0x11, 0x5d, 0xd0, 0x23, 0xfa, 0x06, 0x16, 0x93, 0xe5, 0xe5, 0xc3,
-	0xad, 0xfc, 0x3b, 0x20, 0xcb, 0xf7, 0xe1, 0xdb, 0x6f, 0x9f, 0xc4, 0xac, 0x67, 0xaf, 0x83, 0x66,
-	0xfb, 0xd3, 0xac, 0x7e, 0x35, 0xab, 0x01, 0xd2, 0x89, 0x8e, 0xcd, 0xa4, 0xd0, 0xb1, 0xbb, 0x17,
-	0x37, 0x23, 0x6f, 0xff, 0x89, 0x74, 0x57, 0xaf, 0xe7, 0xb5, 0xfd, 0x69, 0x6c, 0x0f, 0x9f, 0x00,
-	0x1f, 0xd3, 0x3c, 0xfc, 0xf1, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x23, 0x12, 0x2e, 0x40, 0x01,
-	0x00, 0x00,
+	// 225 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x8f, 0xb1, 0x4b, 0xc4, 0x30,
+	0x14, 0xc6, 0xc9, 0x1d, 0x1e, 0x47, 0x3c, 0x97, 0x0e, 0x52, 0x1c, 0x44, 0x8a, 0xc3, 0x4d, 0x89,
+	0xa7, 0x4e, 0x8e, 0x45, 0x10, 0x9c, 0xc2, 0x0d, 0xee, 0x67, 0x1b, 0x42, 0x20, 0xcd, 0x2b, 0x49,
+	0x1a, 0x9a, 0xfe, 0xe5, 0x8e, 0xa6, 0x49, 0x51, 0x04, 0x6f, 0xfc, 0xf1, 0x7e, 0xef, 0xfb, 0xf8,
+	0xf0, 0xab, 0x00, 0x10, 0x8a, 0x13, 0x01, 0xea, 0xa4, 0x05, 0x01, 0x23, 0xa8, 0xe0, 0xba, 0x37,
+	0xe0, 0x80, 0xe6, 0xd3, 0xa9, 0x97, 0x96, 0x36, 0x0a, 0x86, 0x96, 0x7a, 0x69, 0x25, 0x68, 0xea,
+	0x0f, 0xd1, 0x81, 0x8e, 0x3b, 0x13, 0x48, 0x32, 0x8b, 0xeb, 0x25, 0x25, 0x69, 0x24, 0x6b, 0xc4,
+	0x1f, 0xaa, 0x7b, 0xbc, 0xf9, 0xe0, 0xc6, 0xf1, 0xb1, 0xd8, 0x61, 0x34, 0x96, 0xe8, 0x0e, 0xed,
+	0x2f, 0x8e, 0x28, 0x51, 0x28, 0x57, 0x99, 0x42, 0xf5, 0x8e, 0x77, 0x35, 0x0c, 0xba, 0x95, 0x5a,
+	0x30, 0x50, 0xa1, 0x78, 0xc1, 0x5b, 0x1f, 0xbf, 0x64, 0xc3, 0x6d, 0x7c, 0x59, 0xef, 0x2f, 0x1f,
+	0x6f, 0xc9, 0xff, 0x05, 0x24, 0xa7, 0x1f, 0x7f, 0xfc, 0xea, 0x19, 0x6f, 0x19, 0x58, 0xe9, 0xe2,
+	0xfd, 0xb7, 0x73, 0xf5, 0xa7, 0x33, 0x52, 0x98, 0x69, 0x2a, 0xd7, 0x99, 0xa6, 0xfa, 0x01, 0xdf,
+	0x34, 0xd0, 0x9d, 0x29, 0xa9, 0xaf, 0xde, 0x96, 0xb5, 0x6c, 0x1e, 0xcb, 0xd0, 0x17, 0x42, 0x9f,
+	0x9b, 0x34, 0xfc, 0xe9, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x23, 0x12, 0x2e, 0x40, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/cloud/vision/v1/image_annotator.pb.go b/googleapis/cloud/vision/v1/image_annotator.pb.go
index da8d4ea6..dfcaf84a 100644
--- a/googleapis/cloud/vision/v1/image_annotator.pb.go
+++ b/googleapis/cloud/vision/v1/image_annotator.pb.go
@@ -919,134 +919,134 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 2060 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x58, 0x4f, 0x73, 0xe3, 0x48,
-	0x15, 0x5f, 0xdb, 0x71, 0x62, 0x3f, 0x27, 0x8e, 0xd2, 0xc9, 0x04, 0x4f, 0xe6, 0x5f, 0x56, 0xb0,
-	0x90, 0xda, 0x5a, 0x6c, 0x26, 0xb3, 0x5b, 0xb5, 0xec, 0x0e, 0x5b, 0xd8, 0x89, 0x92, 0xb8, 0xe2,
-	0x58, 0xde, 0xb6, 0xc3, 0x10, 0xa0, 0x50, 0x29, 0x72, 0x5b, 0xa3, 0x59, 0x59, 0x2d, 0x24, 0x39,
-	0x93, 0x5c, 0x38, 0x50, 0x45, 0x15, 0x77, 0xce, 0xf0, 0x1d, 0xa8, 0xa2, 0xb8, 0x72, 0xe6, 0x48,
-	0xed, 0x57, 0xe0, 0x43, 0x70, 0xa4, 0xfa, 0x8f, 0xe4, 0x76, 0x36, 0x1e, 0x9c, 0xb9, 0xd8, 0xdd,
-	0xef, 0xbd, 0xdf, 0xef, 0x75, 0xbf, 0x7e, 0xfd, 0xe7, 0x09, 0x4e, 0x5d, 0x4a, 0x5d, 0x9f, 0xd4,
-	0x5d, 0xea, 0xdb, 0x81, 0x5b, 0xa7, 0x91, 0xdb, 0x70, 0x49, 0x10, 0x46, 0x34, 0xa1, 0x0d, 0xa1,
-	0xb2, 0x43, 0x2f, 0x6e, 0x38, 0x3e, 0x9d, 0x0c, 0x1b, 0x57, 0x5e, 0xec, 0xd1, 0xa0, 0x71, 0xf5,
-	0xbc, 0xe1, 0x8d, 0x6d, 0x97, 0x58, 0x76, 0x10, 0xd0, 0xc4, 0x4e, 0x68, 0x54, 0xe7, 0x00, 0xb4,
-	0x2d, 0xc9, 0xb8, 0x75, 0x5d, 0x58, 0xd7, 0xaf, 0x9e, 0xef, 0xb4, 0x17, 0x73, 0x62, 0x87, 0x5e,
-	0x23, 0x26, 0xd1, 0x95, 0xe7, 0x10, 0x87, 0x06, 0x23, 0xcf, 0x6d, 0x48, 0x07, 0x1e, 0x0d, 0x62,
-	0xe1, 0x62, 0xe7, 0xf0, 0xfd, 0xc6, 0xeb, 0x12, 0x3a, 0x26, 0x49, 0x74, 0x23, 0x59, 0x7e, 0xb6,
-	0x18, 0x4b, 0x14, 0x3a, 0x8d, 0x38, 0xb1, 0x93, 0x49, 0x2c, 0xff, 0x24, 0xfc, 0xe5, 0x62, 0xf0,
-	0xe4, 0x26, 0x24, 0x0d, 0x87, 0xfa, 0x34, 0x12, 0xbf, 0x12, 0xfd, 0xd5, 0x3d, 0xd0, 0xbe, 0x9d,
-	0xf8, 0x81, 0x2b, 0xff, 0x04, 0x5e, 0xff, 0x4b, 0x1e, 0x56, 0x8e, 0x88, 0x9d, 0x4c, 0x22, 0x82,
-	0x3e, 0x87, 0x25, 0x66, 0x57, 0xcb, 0xed, 0xe6, 0xf6, 0xaa, 0xfb, 0x3f, 0xa8, 0xdf, 0xbd, 0x00,
-	0x75, 0x69, 0x5e, 0x1f, 0xdc, 0x84, 0x04, 0x73, 0x04, 0x7a, 0x06, 0x95, 0xb1, 0x7d, 0x6d, 0x45,
-	0x24, 0x9e, 0xf8, 0x49, 0x5c, 0xcb, 0xef, 0xe6, 0xf6, 0x8a, 0x18, 0xc6, 0xf6, 0x35, 0x16, 0x12,
-	0xfd, 0x1f, 0x39, 0x58, 0x62, 0xf6, 0x68, 0x0b, 0xb4, 0xc1, 0x45, 0xcf, 0xb0, 0xce, 0xbb, 0xfd,
-	0x9e, 0x71, 0xd0, 0x3e, 0x6a, 0x1b, 0x87, 0xda, 0x07, 0x08, 0x41, 0xf5, 0xa8, 0x79, 0x60, 0x58,
-	0x87, 0xc6, 0xc0, 0x38, 0x18, 0xb4, 0xcd, 0xae, 0x96, 0x43, 0xdb, 0x80, 0x3a, 0xcd, 0xee, 0xe1,
-	0x59, 0x13, 0x9f, 0x2a, 0xf2, 0x3c, 0xb3, 0xed, 0x98, 0xc7, 0xa6, 0x22, 0x2b, 0xa0, 0x4d, 0x58,
-	0xef, 0x34, 0x5b, 0x46, 0x47, 0x11, 0x2e, 0x31, 0xc3, 0x81, 0xf1, 0xcb, 0x81, 0x22, 0x2b, 0xa2,
-	0x87, 0xf0, 0xa0, 0xdf, 0x3c, 0x32, 0xac, 0xbe, 0xd1, 0xc4, 0x07, 0x27, 0x8a, 0x6a, 0x99, 0x8d,
-	0xac, 0x7d, 0xd6, 0x3c, 0x36, 0xac, 0x1e, 0x36, 0x7b, 0x06, 0x1e, 0xb4, 0x8d, 0xbe, 0xb6, 0xa2,
-	0x3f, 0x87, 0x4a, 0x9b, 0xa5, 0x67, 0x9f, 0x4e, 0x22, 0x87, 0x20, 0x1d, 0xd6, 0x5c, 0x27, 0xb6,
-	0x44, 0xc6, 0x4e, 0x22, 0x8f, 0xc7, 0xaa, 0x8c, 0x2b, 0xae, 0x13, 0x73, 0xb3, 0xf3, 0xc8, 0xd3,
-	0x7f, 0x0b, 0x45, 0xde, 0x46, 0x35, 0x58, 0x71, 0x68, 0x90, 0x90, 0x20, 0xe1, 0x66, 0xab, 0x38,
-	0xed, 0xa2, 0x2f, 0x61, 0x39, 0xe6, 0x84, 0x3c, 0x54, 0x95, 0xfd, 0xef, 0xcf, 0x8b, 0xb5, 0xe2,
-	0x1b, 0x4b, 0x88, 0xfe, 0xef, 0x75, 0xa8, 0x1e, 0xd9, 0x0e, 0x69, 0x66, 0xf9, 0x8c, 0xda, 0xb0,
-	0x76, 0x49, 0x27, 0xc1, 0xd0, 0x0b, 0x5c, 0x2b, 0xa4, 0xfe, 0x0d, 0xf7, 0x57, 0x99, 0xbf, 0x84,
-	0x2d, 0x69, 0xdc, 0xa3, 0xfe, 0x0d, 0x5e, 0xbd, 0x54, 0x7a, 0xa8, 0x0b, 0xda, 0x68, 0x68, 0xcd,
-	0xb2, 0xe5, 0xef, 0xc1, 0x56, 0x1d, 0x0d, 0xd5, 0x3e, 0x3a, 0x83, 0xb2, 0x6f, 0x07, 0xc3, 0xb1,
-	0x1d, 0x7d, 0x13, 0xd7, 0x0a, 0xbb, 0x85, 0xbd, 0xca, 0x7e, 0x63, 0x6e, 0x66, 0xcd, 0xcc, 0xaa,
-	0xde, 0x91, 0x38, 0x3c, 0x65, 0x40, 0x4f, 0x00, 0x22, 0xea, 0xfb, 0x96, 0x1d, 0xb8, 0x3e, 0xa9,
-	0x2d, 0xed, 0xe6, 0xf6, 0xf2, 0xb8, 0xcc, 0x24, 0x4d, 0x26, 0x40, 0x8f, 0xa0, 0x1c, 0xda, 0x81,
-	0xd4, 0x16, 0xb9, 0xb6, 0x14, 0xda, 0x81, 0x50, 0x3e, 0x01, 0x48, 0x3c, 0x3f, 0x91, 0xda, 0x65,
-	0x81, 0x65, 0x12, 0xa1, 0x7e, 0x0e, 0x5b, 0x43, 0x92, 0x10, 0x87, 0xf9, 0xb6, 0xf8, 0x99, 0x31,
-	0x24, 0x81, 0x43, 0x6a, 0x2b, 0xdc, 0x70, 0x33, 0xd3, 0x1d, 0x64, 0x2a, 0xf4, 0x19, 0x6c, 0xa7,
-	0x43, 0x63, 0xc1, 0x52, 0x40, 0x25, 0x0e, 0x7a, 0xa0, 0x68, 0x15, 0x58, 0x1b, 0xaa, 0x6f, 0xe8,
-	0x8d, 0xe5, 0x7b, 0xdf, 0x10, 0xdf, 0x7b, 0x4d, 0xe9, 0xb0, 0x56, 0xe6, 0x5b, 0x4e, 0x9f, 0x17,
-	0x98, 0x4e, 0x66, 0x89, 0xd7, 0xde, 0xd0, 0x9b, 0x69, 0x17, 0x99, 0xb0, 0x11, 0xd3, 0x28, 0xa2,
-	0x6f, 0x55, 0x36, 0x58, 0x98, 0x4d, 0x13, 0x60, 0x85, 0xf0, 0x0c, 0x34, 0x3b, 0x70, 0x49, 0xa4,
-	0xf2, 0x55, 0x16, 0xe6, 0x5b, 0xe7, 0x58, 0x85, 0xae, 0x0f, 0x9b, 0xf1, 0x24, 0x0a, 0x23, 0x2f,
-	0x26, 0x2a, 0xe3, 0xea, 0xc2, 0x8c, 0x28, 0x85, 0x2b, 0xa4, 0xbf, 0x81, 0xda, 0x24, 0x18, 0x92,
-	0xc8, 0x22, 0xd7, 0x21, 0x8d, 0xc9, 0x50, 0x65, 0x5e, 0x5b, 0x98, 0x79, 0x9b, 0x73, 0x18, 0x82,
-	0x42, 0x61, 0xff, 0x1a, 0xd0, 0xa5, 0x3f, 0x89, 0xa2, 0x59, 0xde, 0xea, 0xc2, 0xbc, 0x1b, 0x12,
-	0x3d, 0x1b, 0x85, 0xd7, 0xc4, 0x1e, 0xbe, 0x25, 0xf6, 0x4c, 0x5c, 0xd7, 0x17, 0x8f, 0x42, 0x0a,
-	0x9f, 0xca, 0x76, 0xfe, 0xb5, 0x02, 0xa5, 0x74, 0x8b, 0xa0, 0x13, 0x79, 0x76, 0x17, 0x38, 0xe5,
-	0xa7, 0xf7, 0xdc, 0x61, 0xea, 0x59, 0xfe, 0x12, 0x4a, 0x21, 0x8d, 0x3d, 0xa6, 0xe7, 0xfb, 0xab,
-	0xb2, 0xbf, 0x3b, 0x8f, 0xad, 0x27, 0xed, 0x70, 0x86, 0xd0, 0xff, 0xbe, 0x3c, 0x3d, 0xe8, 0xcf,
-	0xbb, 0xa7, 0x5d, 0xf3, 0x55, 0xd7, 0x4a, 0x8f, 0x71, 0xed, 0x03, 0xb4, 0x0a, 0xa5, 0x8e, 0x71,
-	0x34, 0xb0, 0x8c, 0x0b, 0x43, 0xcb, 0xa1, 0x35, 0x28, 0xe3, 0xf6, 0xf1, 0x89, 0xe8, 0xe6, 0x51,
-	0x0d, 0xb6, 0xb8, 0xd2, 0x3c, 0xb2, 0x52, 0xa3, 0x16, 0x36, 0x5f, 0x69, 0x05, 0x76, 0x6c, 0x0b,
-	0xc3, 0xdb, 0xaa, 0x25, 0xa6, 0x4a, 0x41, 0x19, 0x17, 0x57, 0x15, 0xd1, 0x0e, 0x6c, 0x67, 0xa8,
-	0x59, 0xdd, 0x32, 0x83, 0x9d, 0xb5, 0x0f, 0x7b, 0x66, 0xbb, 0x3b, 0xb0, 0x5a, 0xc6, 0xe0, 0x95,
-	0x61, 0x74, 0x99, 0xb6, 0xaf, 0xad, 0xb0, 0x31, 0x76, 0xcd, 0xbe, 0x61, 0x0d, 0xda, 0x3d, 0xad,
-	0xc4, 0xc6, 0x78, 0xde, 0xeb, 0x19, 0xd8, 0xea, 0xb4, 0x7b, 0x5a, 0x99, 0x75, 0x3b, 0xe6, 0x2b,
-	0xd9, 0x05, 0x54, 0x05, 0x38, 0x33, 0xcf, 0x07, 0x27, 0x7c, 0x54, 0x5a, 0x05, 0xad, 0x43, 0x45,
-	0xf4, 0xb9, 0x3f, 0x6d, 0x15, 0x69, 0xb0, 0x2a, 0x04, 0x07, 0x46, 0x77, 0x60, 0x60, 0x6d, 0x0d,
-	0x3d, 0x80, 0x0d, 0x4e, 0xdf, 0x32, 0x07, 0x03, 0xf3, 0x4c, 0x1a, 0x56, 0x59, 0xbc, 0x54, 0x31,
-	0xe7, 0x5b, 0x67, 0x97, 0xa0, 0x2a, 0x95, 0x24, 0x5a, 0x36, 0x6b, 0xe3, 0xc2, 0xb0, 0x06, 0x66,
-	0xcf, 0x6a, 0x99, 0xe7, 0xdd, 0xc3, 0x26, 0xbe, 0xd0, 0x36, 0x66, 0x54, 0x62, 0xd6, 0x07, 0x26,
-	0xee, 0x1a, 0x58, 0x43, 0xe8, 0x31, 0xd4, 0x32, 0x95, 0x64, 0xcc, 0x80, 0x9b, 0x59, 0xf8, 0x99,
-	0x96, 0x37, 0x24, 0x6e, 0x6b, 0x1a, 0xc8, 0xef, 0xb8, 0x7b, 0x30, 0xab, 0x9b, 0xf1, 0xb7, 0x8d,
-	0x9e, 0xc0, 0xc3, 0xa9, 0xee, 0xb6, 0xc3, 0xef, 0x4d, 0x57, 0xf5, 0xb6, 0xc7, 0x1a, 0x7a, 0x06,
-	0x8f, 0xd4, 0x75, 0xb6, 0xc4, 0x12, 0xa4, 0x2b, 0xa6, 0x3d, 0x44, 0xbb, 0xf0, 0x78, 0x66, 0x49,
-	0x6f, 0x5b, 0xec, 0xb0, 0x80, 0x0a, 0x8a, 0x26, 0xb6, 0x06, 0xb8, 0x79, 0xcc, 0x6e, 0xf9, 0x47,
-	0x2c, 0xfa, 0x12, 0xa7, 0x88, 0x1f, 0xf3, 0x47, 0x45, 0x3a, 0xf7, 0xde, 0x79, 0xaf, 0xdd, 0xd1,
-	0x9e, 0xb0, 0x47, 0xc5, 0x74, 0x78, 0x42, 0xf8, 0x94, 0xe1, 0x8f, 0x4c, 0x6c, 0x9c, 0x18, 0xcd,
-	0x43, 0xeb, 0x98, 0xbf, 0x39, 0x3a, 0x4d, 0xed, 0x19, 0xda, 0x80, 0xb5, 0x83, 0x93, 0x76, 0xd7,
-	0x3a, 0xee, 0x36, 0x07, 0x27, 0x8c, 0x72, 0x97, 0xf9, 0xe7, 0x22, 0xce, 0x7b, 0x6c, 0x76, 0x99,
-	0xf4, 0x43, 0x86, 0xe7, 0x52, 0xc1, 0x2c, 0xc5, 0xba, 0xfe, 0x12, 0x56, 0x3b, 0xd4, 0xe1, 0x9b,
-	0xb2, 0x1d, 0x8c, 0x28, 0xfa, 0x04, 0x56, 0x7c, 0x3b, 0xb1, 0xfc, 0xc0, 0x95, 0x57, 0xf9, 0x66,
-	0xba, 0x07, 0xd9, 0x1e, 0xad, 0x77, 0xec, 0xa4, 0x13, 0xb8, 0x78, 0xd9, 0xe7, 0xff, 0xfa, 0xa7,
-	0x50, 0xea, 0x45, 0x34, 0x24, 0x51, 0x72, 0x83, 0x10, 0x2c, 0x05, 0xf6, 0x98, 0xc8, 0x87, 0x09,
-	0x6f, 0xa3, 0x2d, 0x28, 0x5e, 0xd9, 0xfe, 0x44, 0xbc, 0x36, 0xca, 0x58, 0x74, 0xf4, 0x3f, 0x16,
-	0x40, 0x33, 0x82, 0xc4, 0x4b, 0x6e, 0x94, 0x97, 0x84, 0x06, 0x85, 0xb1, 0x37, 0x94, 0x68, 0xd6,
-	0x44, 0xdb, 0xb0, 0xec, 0x53, 0xc7, 0xf6, 0x53, 0xb4, 0xec, 0xa1, 0x5d, 0xa8, 0x0c, 0x49, 0xec,
-	0x44, 0x5e, 0xc8, 0x8f, 0x8a, 0x82, 0x78, 0x08, 0x29, 0x22, 0xe6, 0x36, 0x76, 0x68, 0x94, 0x5e,
-	0xd3, 0xa2, 0x83, 0x9e, 0x02, 0x28, 0xf7, 0xa4, 0xb8, 0xa3, 0x15, 0x09, 0xd3, 0x27, 0x34, 0xf4,
-	0x1c, 0xdb, 0xf7, 0x92, 0x1b, 0x79, 0x4b, 0x2b, 0x92, 0xef, 0xbe, 0x75, 0x56, 0xde, 0xfb, 0xad,
-	0xd3, 0x82, 0xb2, 0x2f, 0xa3, 0x1e, 0xd7, 0x4a, 0xfc, 0x6d, 0x32, 0x97, 0x46, 0x5d, 0x1e, 0x3c,
-	0x85, 0xa1, 0x9f, 0x03, 0x84, 0x22, 0xf6, 0x1e, 0x89, 0x6b, 0x65, 0x4e, 0x32, 0xff, 0xc0, 0x94,
-	0xab, 0x84, 0x15, 0x8c, 0xfe, 0xa7, 0x3c, 0x6c, 0xf5, 0xed, 0x11, 0xe9, 0x13, 0x3b, 0x72, 0x5e,
-	0x2b, 0x6b, 0xf1, 0x39, 0x14, 0xed, 0xe1, 0xc4, 0x4f, 0xe4, 0x83, 0x7c, 0x91, 0x7b, 0x42, 0x00,
-	0x18, 0x32, 0x0e, 0x29, 0x1d, 0xf1, 0x25, 0x5b, 0x10, 0xc9, 0x01, 0xe8, 0x25, 0xac, 0x8c, 0xc9,
-	0x90, 0xc5, 0x5a, 0x5e, 0x25, 0x8b, 0x60, 0x53, 0x08, 0xfa, 0x0a, 0x4a, 0x57, 0x1e, 0xf5, 0xf9,
-	0xca, 0x2e, 0x2d, 0x0c, 0xcf, 0x30, 0xfa, 0x5b, 0xa8, 0xb0, 0xd4, 0xa6, 0x81, 0x8b, 0x89, 0x93,
-	0xa0, 0x17, 0x50, 0x19, 0x7b, 0x81, 0xb5, 0xc0, 0x4e, 0x28, 0x8f, 0xbd, 0x40, 0x34, 0x39, 0xc8,
-	0xbe, 0xce, 0x40, 0xf9, 0x77, 0x81, 0xec, 0x6b, 0xd1, 0xd4, 0x23, 0x28, 0x1f, 0xb0, 0xaa, 0x8a,
-	0x6f, 0xbe, 0x3d, 0x28, 0xf2, 0x12, 0x4b, 0x3a, 0x44, 0x33, 0x58, 0x6e, 0x86, 0x85, 0xc1, 0x34,
-	0xc3, 0xf3, 0x6a, 0x86, 0x7f, 0x04, 0xd5, 0xd0, 0xbb, 0x26, 0xbe, 0x35, 0x8a, 0x6c, 0x27, 0xdb,
-	0x1c, 0x79, 0xbc, 0xc6, 0xa5, 0x47, 0x52, 0xa8, 0x9f, 0x43, 0xed, 0x90, 0x8e, 0xbd, 0xc0, 0x0e,
-	0x12, 0x4e, 0x1a, 0x2b, 0x4b, 0xff, 0x53, 0x58, 0xe6, 0x1e, 0xe2, 0x5a, 0x8e, 0x67, 0xd4, 0x87,
-	0xf3, 0xc2, 0x98, 0x8d, 0x1a, 0x4b, 0x80, 0xee, 0xc3, 0x3a, 0xaf, 0x1a, 0x7a, 0x59, 0x86, 0xa1,
-	0x0b, 0x58, 0x1f, 0x4a, 0x4f, 0x56, 0x46, 0xcb, 0xa6, 0xf6, 0x93, 0x79, 0xb4, 0xf3, 0x06, 0x86,
-	0xab, 0xc3, 0x19, 0x8d, 0xfe, 0x7b, 0x58, 0xe5, 0xde, 0x0e, 0x58, 0x65, 0x73, 0x9d, 0xa0, 0x63,
-	0x58, 0xe3, 0x91, 0xa7, 0x81, 0x6b, 0x45, 0xc4, 0x49, 0xa4, 0xa3, 0xb9, 0x05, 0x8e, 0xb2, 0xdc,
-	0xb8, 0xe2, 0x2b, 0x6b, 0xff, 0x11, 0x54, 0x59, 0x45, 0x3b, 0x61, 0x85, 0xd6, 0x6b, 0x2f, 0xe0,
-	0x55, 0x65, 0x61, 0xaf, 0x8c, 0xd7, 0x52, 0xe9, 0x09, 0x13, 0xea, 0xdf, 0xe6, 0x60, 0x4b, 0x0e,
-	0x8f, 0xf0, 0x81, 0x60, 0xf2, 0xbb, 0x09, 0x89, 0x59, 0xee, 0x14, 0x79, 0x95, 0x26, 0x07, 0xf0,
-	0xe4, 0x9d, 0x15, 0x16, 0x16, 0xb6, 0xe8, 0x4b, 0x28, 0x8d, 0x44, 0x75, 0x2b, 0xdc, 0x55, 0xf6,
-	0x9f, 0xfd, 0x9f, 0x2a, 0x18, 0x67, 0x00, 0x76, 0x30, 0x89, 0xba, 0xd0, 0x11, 0xb1, 0xe0, 0xab,
-	0xfe, 0x8e, 0x13, 0x45, 0x8d, 0x1b, 0x5e, 0xf5, 0x94, 0x9e, 0xfe, 0xcf, 0x22, 0x3c, 0xb8, 0x35,
-	0xab, 0x38, 0xa4, 0x41, 0x4c, 0xd0, 0xd7, 0xa0, 0x8d, 0x6c, 0x27, 0xfb, 0x5a, 0xc2, 0x4f, 0x2e,
-	0x91, 0x22, 0x3f, 0x5c, 0xec, 0xcd, 0x87, 0xd7, 0x47, 0x33, 0xfd, 0x18, 0xfd, 0x1a, 0xb6, 0xd2,
-	0x32, 0x65, 0x86, 0x56, 0x04, 0x60, 0x6f, 0x1e, 0xed, 0xed, 0xab, 0x03, 0x6f, 0xa6, 0x2c, 0x2a,
-	0x79, 0x1f, 0x34, 0x9f, 0xba, 0x74, 0x86, 0xb8, 0x70, 0x4f, 0xe2, 0x75, 0xc6, 0xa0, 0x92, 0x9e,
-	0xc3, 0x86, 0x6f, 0x5f, 0x12, 0x7f, 0x86, 0x75, 0xe9, 0x9e, 0xac, 0x1a, 0xa7, 0xb8, 0x35, 0x56,
-	0x16, 0xfd, 0x19, 0xd6, 0xe2, 0x7d, 0xc7, 0xca, 0x18, 0x54, 0xd2, 0x4b, 0xd8, 0x8e, 0xed, 0x11,
-	0xb1, 0x62, 0x7e, 0xba, 0x2b, 0xdc, 0xfc, 0x6a, 0xab, 0xec, 0x7f, 0x32, 0x8f, 0xfa, 0xae, 0x2b,
-	0x01, 0x6f, 0xc5, 0x77, 0x5d, 0x14, 0x2e, 0x3c, 0x12, 0x99, 0x37, 0xbd, 0x55, 0x54, 0x47, 0x25,
-	0xee, 0xe8, 0x47, 0xef, 0xcc, 0xc3, 0xe9, 0x69, 0x81, 0x1f, 0x7a, 0xb3, 0x02, 0xc5, 0xd1, 0x1e,
-	0x14, 0x49, 0x14, 0xd1, 0x88, 0xd7, 0xab, 0xca, 0xc9, 0x18, 0x85, 0x4e, 0xbd, 0xcf, 0x3f, 0x6a,
-	0x61, 0x61, 0xa0, 0x8f, 0x60, 0xa7, 0x65, 0x27, 0xd9, 0x28, 0x45, 0x16, 0xc7, 0xe9, 0xe6, 0x3c,
-	0x81, 0x52, 0x24, 0x9a, 0x69, 0xf6, 0xce, 0x0d, 0xc3, 0x5d, 0x9b, 0x1b, 0x67, 0x68, 0xfd, 0x0d,
-	0x3c, 0xba, 0xd3, 0x8f, 0xdc, 0x2e, 0xa7, 0x50, 0x8e, 0x64, 0x3b, 0xf5, 0xf4, 0xe3, 0x05, 0x3d,
-	0x09, 0x14, 0x9e, 0xe2, 0x3f, 0x26, 0x00, 0x4a, 0x4d, 0x57, 0x81, 0x15, 0x59, 0xe0, 0x68, 0x1f,
-	0xb0, 0xf7, 0xdf, 0x2f, 0x0c, 0x7c, 0x61, 0x9d, 0x77, 0x3b, 0xed, 0x53, 0xa3, 0x73, 0xa1, 0xe5,
-	0x58, 0x19, 0x91, 0xf5, 0xf2, 0xac, 0xd7, 0x33, 0xfb, 0xfd, 0x76, 0xab, 0x63, 0x68, 0x05, 0x04,
-	0xb0, 0x2c, 0x35, 0x4b, 0xac, 0x64, 0xe0, 0x50, 0x29, 0x28, 0xee, 0xff, 0x2d, 0x07, 0x55, 0x3e,
-	0x86, 0x66, 0xfa, 0x45, 0x14, 0xfd, 0x35, 0x07, 0x9b, 0x77, 0x4c, 0x13, 0xed, 0xcf, 0x7d, 0xf4,
-	0xcc, 0x8d, 0xfd, 0xce, 0x8b, 0x7b, 0x61, 0xc4, 0xdc, 0xf5, 0xa7, 0x7f, 0xf8, 0xf6, 0x3f, 0x7f,
-	0xce, 0xd7, 0xf4, 0xcd, 0xec, 0x7b, 0x6d, 0xfc, 0x85, 0xcc, 0x30, 0xf2, 0x45, 0xee, 0xe3, 0xd6,
-	0x18, 0x76, 0x1c, 0x3a, 0x9e, 0xc3, 0xdc, 0xda, 0x9c, 0x9d, 0x4e, 0x2f, 0xa2, 0x09, 0xed, 0xe5,
-	0x7e, 0xf5, 0xd9, 0x7b, 0x7d, 0x7e, 0xfd, 0x6f, 0x2e, 0x77, 0xb9, 0xcc, 0x8d, 0x5e, 0xfc, 0x2f,
-	0x00, 0x00, 0xff, 0xff, 0x30, 0xf8, 0x96, 0xf0, 0x71, 0x16, 0x00, 0x00,
+	// 2051 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x58, 0x4f, 0x73, 0xe2, 0xc8,
+	0x15, 0x0f, 0x60, 0x30, 0x3c, 0x0c, 0xc8, 0xed, 0x3f, 0x61, 0xec, 0x9d, 0x19, 0xaf, 0xf2, 0x6f,
+	0x6a, 0x6b, 0x03, 0x19, 0xcf, 0x6e, 0xd5, 0x66, 0x33, 0xd9, 0x0a, 0x60, 0xd9, 0xa6, 0x8c, 0x81,
+	0x34, 0x90, 0x89, 0x93, 0x54, 0x54, 0x32, 0x34, 0x8c, 0x76, 0x65, 0x89, 0x48, 0xc2, 0x63, 0x5f,
+	0x72, 0x48, 0x55, 0xaa, 0x72, 0xcf, 0x39, 0xf9, 0x0e, 0xa9, 0x4a, 0xe5, 0x9a, 0x73, 0x8e, 0xa9,
+	0xfd, 0x0a, 0xf9, 0x10, 0x39, 0xa6, 0xff, 0x49, 0x34, 0x5e, 0xe3, 0xe0, 0xb9, 0x80, 0xfa, 0xbd,
+	0xf7, 0xfb, 0xbd, 0xa7, 0xd7, 0xdd, 0xaf, 0xfb, 0x09, 0xce, 0x26, 0x9e, 0x37, 0x71, 0x48, 0x65,
+	0xe2, 0x39, 0x96, 0x3b, 0xa9, 0x78, 0xfe, 0xa4, 0x3a, 0x21, 0xee, 0xd4, 0xf7, 0x42, 0xaf, 0x2a,
+	0x54, 0xd6, 0xd4, 0x0e, 0xaa, 0x43, 0xc7, 0x9b, 0x8d, 0xaa, 0xd7, 0x76, 0x60, 0x7b, 0x6e, 0xf5,
+	0xfa, 0x65, 0xd5, 0xbe, 0xb2, 0x26, 0xc4, 0xb4, 0x5c, 0xd7, 0x0b, 0xad, 0xd0, 0xf3, 0x2b, 0x1c,
+	0x80, 0x76, 0x25, 0x19, 0xb7, 0xae, 0x08, 0xeb, 0xca, 0xf5, 0xcb, 0xbd, 0xe6, 0x6a, 0x4e, 0xe8,
+	0x4f, 0x35, 0x20, 0xfe, 0xb5, 0x3d, 0x24, 0x43, 0xcf, 0x1d, 0xdb, 0x93, 0xaa, 0x74, 0x40, 0x69,
+	0x02, 0xe1, 0x62, 0xef, 0xe8, 0xfd, 0xe2, 0x9d, 0x10, 0xef, 0x8a, 0x84, 0xfe, 0xad, 0x64, 0xf9,
+	0xe9, 0x6a, 0x2c, 0xfe, 0x74, 0x58, 0x0d, 0xa8, 0xff, 0x59, 0x20, 0xff, 0x24, 0xfc, 0xf5, 0x6a,
+	0xf0, 0xf0, 0x76, 0x4a, 0xaa, 0x43, 0xcf, 0xf1, 0x7c, 0xf1, 0x2b, 0xd1, 0x5f, 0x3c, 0x02, 0xed,
+	0x58, 0xa1, 0xe3, 0x4e, 0xe4, 0x9f, 0xc0, 0xeb, 0x7f, 0x49, 0xc2, 0xfa, 0x31, 0xa1, 0xe1, 0xf8,
+	0x04, 0x7d, 0x06, 0x6b, 0xcc, 0xae, 0x9c, 0x38, 0x48, 0xbc, 0x28, 0x1e, 0x7e, 0xb7, 0x72, 0xff,
+	0x04, 0x54, 0xa4, 0x79, 0xa5, 0x4f, 0x6d, 0x31, 0x47, 0xa0, 0xe7, 0x90, 0xbf, 0xb2, 0x6e, 0x4c,
+	0x9f, 0x04, 0x33, 0x27, 0x0c, 0xca, 0x49, 0x4a, 0x90, 0xc6, 0x40, 0x45, 0x58, 0x48, 0xf4, 0x7f,
+	0x24, 0x60, 0x8d, 0xd9, 0xa3, 0x6d, 0xd0, 0xfa, 0x17, 0x5d, 0xc3, 0x1c, 0xb4, 0x7b, 0x5d, 0xa3,
+	0xd1, 0x3c, 0x6e, 0x1a, 0x47, 0xda, 0xb7, 0x10, 0x82, 0xe2, 0x71, 0xad, 0x61, 0x98, 0x47, 0x46,
+	0xdf, 0x68, 0xf4, 0x9b, 0x9d, 0xb6, 0x96, 0x40, 0xbb, 0x80, 0x5a, 0xb5, 0xf6, 0xd1, 0x79, 0x0d,
+	0x9f, 0x29, 0xf2, 0x24, 0xb3, 0x6d, 0x75, 0x4e, 0x3a, 0x8a, 0x2c, 0x85, 0xb6, 0xa0, 0xd4, 0xaa,
+	0xd5, 0x8d, 0x96, 0x22, 0x5c, 0x63, 0x86, 0x7d, 0xe3, 0x97, 0x7d, 0x45, 0x96, 0x46, 0x4f, 0x60,
+	0xa7, 0x57, 0x3b, 0x36, 0xcc, 0x9e, 0x51, 0xc3, 0x8d, 0x53, 0x45, 0x95, 0x61, 0x91, 0x35, 0xcf,
+	0x6b, 0x27, 0x86, 0xd9, 0xc5, 0x9d, 0xae, 0x81, 0xfb, 0x4d, 0xa3, 0xa7, 0xad, 0xeb, 0x2f, 0x21,
+	0xdf, 0x64, 0xcb, 0xb3, 0xe7, 0xcd, 0xfc, 0x21, 0x41, 0x3a, 0x14, 0x26, 0xc3, 0xc0, 0x14, 0x2b,
+	0x76, 0xe6, 0xdb, 0x3c, 0x57, 0x39, 0x9c, 0xa7, 0x42, 0x6e, 0x36, 0xf0, 0x6d, 0xfd, 0xb7, 0x90,
+	0xe6, 0xcf, 0xa8, 0x0c, 0xeb, 0x74, 0xe9, 0x85, 0xc4, 0x0d, 0xb9, 0xd9, 0x06, 0x8e, 0x86, 0xe8,
+	0x27, 0x90, 0x09, 0x38, 0x21, 0x4f, 0x55, 0xfe, 0xf0, 0x3b, 0xcb, 0x72, 0xad, 0xf8, 0xc6, 0x12,
+	0xa2, 0xff, 0xbb, 0x44, 0xb3, 0x65, 0x0d, 0x49, 0x2d, 0x5e, 0xcf, 0xa8, 0x09, 0x85, 0x4b, 0x6f,
+	0xe6, 0x8e, 0x6c, 0x77, 0x62, 0x4e, 0x3d, 0xe7, 0x96, 0xfb, 0xcb, 0x2f, 0x9f, 0xc2, 0xba, 0x34,
+	0xee, 0x52, 0x5b, 0xbc, 0x71, 0xa9, 0x8c, 0x50, 0x1b, 0xb4, 0xf1, 0xc8, 0x5c, 0x64, 0x4b, 0x3e,
+	0x82, 0xad, 0x38, 0x1e, 0xa9, 0x63, 0x74, 0x0e, 0x39, 0xba, 0x32, 0x47, 0x57, 0x96, 0xff, 0x55,
+	0x50, 0x4e, 0x1d, 0xa4, 0x28, 0x51, 0x75, 0xe9, 0xca, 0x5a, 0x78, 0xab, 0x4a, 0x4b, 0xe2, 0xf0,
+	0x9c, 0x01, 0x3d, 0x05, 0xf0, 0x3d, 0xc7, 0xa1, 0xd5, 0x82, 0x12, 0x94, 0xd7, 0x68, 0x60, 0x49,
+	0x9c, 0x63, 0x92, 0x1a, 0x13, 0xa0, 0x7d, 0xc8, 0x4d, 0x2d, 0x57, 0x6a, 0xd3, 0x5c, 0x9b, 0xa5,
+	0x02, 0xa1, 0xa4, 0xd8, 0xd0, 0x76, 0x42, 0xa9, 0xcd, 0x08, 0x2c, 0x93, 0x08, 0xf5, 0x4b, 0xd8,
+	0x1e, 0x91, 0x90, 0x0c, 0x99, 0x6f, 0x93, 0xd7, 0x8c, 0x11, 0x71, 0xe9, 0x14, 0xad, 0x73, 0xc3,
+	0xad, 0x58, 0xd7, 0x88, 0x55, 0xe8, 0x53, 0xd8, 0x8d, 0x42, 0x63, 0xc9, 0x52, 0x40, 0x59, 0x0e,
+	0xda, 0x51, 0xb4, 0x0a, 0xac, 0x09, 0xc5, 0x2f, 0xbd, 0x5b, 0xd3, 0xb1, 0xbf, 0x22, 0x8e, 0xfd,
+	0xd6, 0xf3, 0x46, 0xe5, 0x1c, 0xdf, 0x72, 0xfa, 0xb2, 0xc4, 0xb4, 0x62, 0x4b, 0x5c, 0xa0, 0xc8,
+	0xf9, 0x10, 0x75, 0x60, 0x33, 0xf0, 0x7c, 0xdf, 0x7b, 0xa7, 0xb2, 0xc1, 0xca, 0x6c, 0x9a, 0x00,
+	0x2b, 0x84, 0xe7, 0xa0, 0xd1, 0xfc, 0x10, 0x5f, 0xe5, 0xcb, 0xaf, 0xcc, 0x57, 0xe2, 0x58, 0x85,
+	0xae, 0x07, 0x5b, 0xc1, 0xcc, 0x9f, 0xfa, 0x76, 0x40, 0x54, 0xc6, 0x8d, 0x95, 0x19, 0x51, 0x04,
+	0x57, 0x48, 0x7f, 0x03, 0x65, 0xba, 0xc2, 0x68, 0x8c, 0xe4, 0x66, 0xea, 0x05, 0x64, 0xa4, 0x32,
+	0x17, 0x56, 0x66, 0xde, 0xe5, 0x1c, 0x86, 0xa0, 0x50, 0xd8, 0x7f, 0x0e, 0xe8, 0xd2, 0x99, 0xf9,
+	0xfe, 0x22, 0x6f, 0x71, 0x65, 0xde, 0x4d, 0x89, 0x5e, 0xcc, 0xc2, 0x5b, 0x62, 0x8d, 0xde, 0x11,
+	0x6b, 0x21, 0xaf, 0xa5, 0xd5, 0xb3, 0x10, 0xc1, 0xe7, 0xb2, 0xbd, 0x7f, 0xad, 0x43, 0x36, 0xda,
+	0x22, 0xe8, 0x54, 0xd6, 0xee, 0x14, 0xa7, 0xfc, 0xe4, 0x91, 0x3b, 0x4c, 0xad, 0xe5, 0xaf, 0x21,
+	0x4b, 0x33, 0x62, 0x33, 0x3d, 0xdf, 0x5f, 0xf9, 0xc3, 0x83, 0x65, 0x6c, 0x5d, 0x69, 0x87, 0x63,
+	0x84, 0xfe, 0xf7, 0xcc, 0xbc, 0xd0, 0x0f, 0xda, 0x67, 0xed, 0xce, 0x9b, 0xb6, 0x19, 0x95, 0x71,
+	0x5a, 0xe8, 0x37, 0x68, 0xc8, 0xc6, 0x71, 0xdf, 0x34, 0x2e, 0x0c, 0x5a, 0xe2, 0x0b, 0x90, 0xc3,
+	0xcd, 0x93, 0x53, 0x31, 0x4c, 0xd2, 0x7a, 0xb9, 0xcd, 0x95, 0x9d, 0x63, 0x33, 0x32, 0xaa, 0xe3,
+	0xce, 0x1b, 0x5a, 0xdf, 0x69, 0xd9, 0x16, 0x86, 0x77, 0x55, 0x6b, 0x4c, 0x15, 0x81, 0x62, 0x2e,
+	0xae, 0x4a, 0xa3, 0x3d, 0xd8, 0x8d, 0x51, 0x8b, 0xba, 0x0c, 0x83, 0x9d, 0x37, 0x8f, 0xba, 0x9d,
+	0x66, 0xbb, 0x6f, 0xd6, 0x8d, 0xfe, 0x1b, 0xc3, 0x68, 0x33, 0x2d, 0x2d, 0xf9, 0x2c, 0xc6, 0x76,
+	0xa7, 0x67, 0x98, 0xfd, 0x66, 0x57, 0xcb, 0xb2, 0x18, 0x07, 0x5d, 0x7a, 0x1e, 0x98, 0x2d, 0x3a,
+	0xcc, 0xb1, 0x61, 0xab, 0xf3, 0x46, 0x0e, 0x01, 0x15, 0x01, 0xce, 0x3b, 0x83, 0xfe, 0x29, 0x8f,
+	0x4a, 0xcb, 0xa3, 0x12, 0xe4, 0xc5, 0x98, 0xfb, 0xd3, 0x36, 0x90, 0x06, 0x1b, 0x42, 0xd0, 0x30,
+	0xda, 0x7d, 0x03, 0x6b, 0x05, 0xb4, 0x03, 0x9b, 0x9c, 0xbe, 0xde, 0xe9, 0xf7, 0x3b, 0xe7, 0xd2,
+	0xb0, 0xc8, 0xf2, 0xa5, 0x8a, 0x39, 0x5f, 0x89, 0x1d, 0x82, 0xaa, 0x54, 0x92, 0x68, 0xf1, 0x5b,
+	0xd3, 0x90, 0xcd, 0x7e, 0xa7, 0x4b, 0xf5, 0x83, 0xf6, 0x51, 0x0d, 0x5f, 0x68, 0x9b, 0x0b, 0x2a,
+	0xf1, 0xd6, 0x8d, 0x0e, 0x6e, 0x53, 0x14, 0x42, 0x1f, 0x40, 0x39, 0x56, 0x49, 0xc6, 0x18, 0xb8,
+	0x15, 0xa7, 0x9f, 0x69, 0xf9, 0x83, 0xc4, 0x6d, 0xcf, 0x13, 0xf9, 0x0d, 0x77, 0x3b, 0x8b, 0xba,
+	0x05, 0x7f, 0xbb, 0xb4, 0xe0, 0x3e, 0x99, 0xeb, 0xee, 0x3a, 0xfc, 0xf6, 0x7c, 0x56, 0xef, 0x7a,
+	0x2c, 0xd3, 0x0b, 0xc5, 0xbe, 0x3a, 0xcf, 0xa6, 0x98, 0x82, 0x68, 0xc6, 0xb4, 0x27, 0xe8, 0x00,
+	0x3e, 0x58, 0x98, 0xd2, 0xbb, 0x16, 0x7b, 0x2c, 0xa1, 0x82, 0xa2, 0x86, 0xcd, 0x3e, 0xae, 0x9d,
+	0xb0, 0x53, 0x7e, 0x9f, 0x65, 0x5f, 0xe2, 0x14, 0xf1, 0x07, 0xfc, 0x52, 0x11, 0xbd, 0x7b, 0x77,
+	0xd0, 0x6d, 0xb6, 0xb4, 0xa7, 0xec, 0x52, 0x31, 0x0f, 0x4f, 0x08, 0x9f, 0x31, 0xfc, 0x71, 0x07,
+	0x1b, 0xa7, 0x46, 0xed, 0xc8, 0x3c, 0xe1, 0x77, 0x8e, 0x56, 0x4d, 0x7b, 0x8e, 0x36, 0xa1, 0xd0,
+	0x38, 0x6d, 0xb6, 0xcd, 0x93, 0x76, 0xad, 0x7f, 0xca, 0x28, 0x0f, 0x98, 0x7f, 0x2e, 0xe2, 0xbc,
+	0x27, 0x9d, 0x36, 0x93, 0x7e, 0xc8, 0xf0, 0x5c, 0x2a, 0x98, 0xa5, 0x58, 0xd7, 0x5f, 0xc3, 0x46,
+	0xcb, 0x1b, 0xf2, 0x4d, 0xd9, 0x74, 0xc7, 0x1e, 0xfa, 0x18, 0xd6, 0xe9, 0x35, 0xcd, 0xa4, 0xf7,
+	0x34, 0x79, 0x94, 0x6f, 0x45, 0x7b, 0x90, 0xed, 0x51, 0xba, 0x6f, 0xc3, 0x96, 0x3b, 0xc1, 0x19,
+	0x87, 0xff, 0xeb, 0x9f, 0x40, 0xb6, 0xeb, 0x7b, 0x53, 0xe2, 0x87, 0xb7, 0xf4, 0x4d, 0xd6, 0x5c,
+	0xeb, 0x8a, 0xc8, 0x8b, 0x09, 0x7f, 0xa6, 0xa1, 0xa4, 0xaf, 0x2d, 0x67, 0x26, 0x6e, 0x1b, 0x39,
+	0x2c, 0x06, 0xfa, 0x1f, 0x53, 0xa0, 0x19, 0x6e, 0x68, 0x87, 0xb7, 0xca, 0x4d, 0x42, 0x83, 0xd4,
+	0x95, 0x3d, 0x92, 0x68, 0xf6, 0x48, 0x97, 0x60, 0xc6, 0xa1, 0xa1, 0x39, 0x11, 0x5a, 0x8e, 0xe8,
+	0x0c, 0xe4, 0x47, 0x24, 0x18, 0xfa, 0xf6, 0x94, 0x97, 0x8a, 0x94, 0xb8, 0x08, 0x29, 0x22, 0xe6,
+	0x36, 0x18, 0x7a, 0x7e, 0x74, 0x4c, 0x8b, 0x01, 0x7a, 0x06, 0xa0, 0x9c, 0x93, 0xe2, 0x8c, 0x56,
+	0x24, 0x4c, 0x1f, 0x7a, 0x53, 0x9b, 0xfa, 0xa0, 0x91, 0xc9, 0x53, 0x5a, 0x91, 0x7c, 0xf3, 0xae,
+	0xb3, 0xfe, 0xde, 0x77, 0x9d, 0x3a, 0xbd, 0x9b, 0xc8, 0xac, 0x07, 0xf4, 0xc4, 0x4e, 0x3d, 0x44,
+	0xa3, 0x4e, 0x0f, 0x9e, 0xc3, 0xd0, 0xcf, 0x00, 0xa6, 0x22, 0xf7, 0x36, 0x09, 0xe8, 0x39, 0x9e,
+	0x7a, 0xb0, 0x60, 0xca, 0x59, 0xc2, 0x0a, 0x46, 0xff, 0x53, 0x12, 0xb6, 0x7b, 0xd6, 0x98, 0xf4,
+	0x68, 0x79, 0x1f, 0xbe, 0x55, 0xe6, 0xe2, 0x33, 0x48, 0x5b, 0x23, 0x7a, 0x7d, 0x96, 0x17, 0xf2,
+	0x55, 0xce, 0x09, 0x01, 0x60, 0xc8, 0x60, 0xea, 0x79, 0x63, 0x3e, 0x65, 0x2b, 0x22, 0x39, 0x80,
+	0x56, 0xff, 0xf5, 0x2b, 0x32, 0x62, 0xb9, 0x96, 0x47, 0xc9, 0x2a, 0xd8, 0x08, 0x82, 0xbe, 0x80,
+	0xec, 0xb5, 0xed, 0x39, 0x7c, 0x66, 0xd7, 0x56, 0x86, 0xc7, 0x18, 0xfd, 0x1d, 0xe4, 0xd9, 0xd2,
+	0xf6, 0xe8, 0xda, 0xa6, 0x77, 0x2d, 0xf4, 0x8a, 0xb6, 0x15, 0xb6, 0x6b, 0xae, 0xb0, 0x13, 0x72,
+	0xd4, 0x4e, 0x3c, 0x72, 0x10, 0xed, 0x45, 0x22, 0x50, 0xf2, 0x21, 0x90, 0x75, 0x23, 0x1e, 0x75,
+	0x1f, 0x72, 0x0d, 0xd6, 0x55, 0xf1, 0xcd, 0xf7, 0x02, 0xd2, 0xbc, 0xc5, 0x92, 0x0e, 0xd1, 0x02,
+	0x96, 0x9b, 0x61, 0x61, 0x30, 0x5f, 0xe1, 0x49, 0x75, 0x85, 0x7f, 0x0f, 0x8a, 0x53, 0xfb, 0x86,
+	0x38, 0xe6, 0xd8, 0xb7, 0x86, 0xf1, 0xe6, 0x48, 0xe2, 0x02, 0x97, 0x1e, 0x4b, 0xa1, 0x3e, 0x80,
+	0xf2, 0x91, 0x47, 0xe3, 0xb6, 0xdc, 0x90, 0x93, 0x06, 0xca, 0xd4, 0xff, 0x18, 0x32, 0xdc, 0x43,
+	0x40, 0x63, 0x60, 0x2b, 0xea, 0xc3, 0x65, 0x69, 0x8c, 0xa3, 0xc6, 0x12, 0xa0, 0x3b, 0x50, 0xe2,
+	0x5d, 0x43, 0x37, 0x5e, 0x61, 0xe8, 0x02, 0x4a, 0x23, 0xe9, 0xc9, 0x8c, 0x69, 0xd9, 0xab, 0xfd,
+	0x68, 0x19, 0xed, 0xb2, 0xc0, 0x70, 0x71, 0xb4, 0xa0, 0xd1, 0x7f, 0x0f, 0x1b, 0xdc, 0x5b, 0x83,
+	0x75, 0x36, 0x37, 0x21, 0x3a, 0x81, 0x02, 0xcf, 0x3c, 0x9d, 0x42, 0xda, 0x0e, 0x0e, 0x43, 0xe9,
+	0x68, 0x69, 0x83, 0xa3, 0x4c, 0x37, 0xce, 0x3b, 0xca, 0xdc, 0xd3, 0x24, 0xb2, 0x8e, 0x76, 0xc6,
+	0x1a, 0xad, 0xb7, 0xb6, 0xcb, 0xbb, 0xca, 0x14, 0xad, 0x30, 0x85, 0x48, 0x7a, 0xca, 0x84, 0xfa,
+	0xd7, 0x09, 0xd8, 0x96, 0xe1, 0x11, 0x1e, 0x08, 0x26, 0xbf, 0x9b, 0x91, 0x80, 0xad, 0x9d, 0x34,
+	0xef, 0xd2, 0x64, 0x00, 0x4f, 0x1f, 0xec, 0xb0, 0xb0, 0xb0, 0xa5, 0x7d, 0x59, 0x76, 0x2c, 0xba,
+	0x5b, 0xe1, 0x2e, 0x7f, 0xf8, 0xfc, 0xff, 0x74, 0xc1, 0x38, 0x06, 0xb0, 0xc2, 0x24, 0xfa, 0xc2,
+	0xa1, 0xc8, 0x05, 0x9f, 0xf5, 0x07, 0x2a, 0x8a, 0x9a, 0x37, 0xbc, 0x61, 0x2b, 0x23, 0xfd, 0x9f,
+	0x69, 0xd8, 0xb9, 0xf3, 0x56, 0x74, 0x7b, 0xba, 0x01, 0xa1, 0x97, 0x53, 0x6d, 0x4c, 0xef, 0x70,
+	0xa6, 0xf2, 0x31, 0x43, 0x2e, 0x91, 0xef, 0xaf, 0x76, 0xe7, 0xc3, 0xa5, 0xf1, 0xc2, 0x38, 0x40,
+	0xbf, 0x86, 0xed, 0xa8, 0x4d, 0x59, 0xa0, 0x15, 0x09, 0x78, 0xb1, 0x8c, 0xf6, 0xee, 0xd1, 0x81,
+	0xb7, 0x22, 0x16, 0x95, 0xbc, 0x07, 0x9a, 0xe3, 0x4d, 0xbc, 0x05, 0xe2, 0xd4, 0x23, 0x89, 0x4b,
+	0x8c, 0x41, 0x25, 0x1d, 0xc0, 0xa6, 0x63, 0x5d, 0x12, 0x67, 0x81, 0x75, 0xed, 0x91, 0xac, 0x1a,
+	0xa7, 0xb8, 0x13, 0x2b, 0xcb, 0xfe, 0x02, 0x6b, 0xfa, 0xb1, 0xb1, 0x32, 0x06, 0x95, 0xf4, 0x12,
+	0x76, 0x03, 0x5a, 0xdc, 0xcd, 0x80, 0x57, 0x77, 0x85, 0x9b, 0x1f, 0x6d, 0xf9, 0xc3, 0x8f, 0x97,
+	0x51, 0xdf, 0x77, 0x24, 0xe0, 0xed, 0xe0, 0xbe, 0x83, 0x62, 0x02, 0xfb, 0x62, 0xe5, 0xcd, 0x4f,
+	0x15, 0xd5, 0x51, 0x96, 0x3b, 0xfa, 0xc1, 0x83, 0xeb, 0x70, 0x5e, 0x2d, 0xf0, 0x13, 0x7b, 0x51,
+	0xa0, 0x38, 0xa2, 0x95, 0x91, 0xd0, 0x7e, 0xd1, 0xe7, 0xfd, 0xaa, 0x52, 0x19, 0xfd, 0xe9, 0xb0,
+	0xd2, 0xe3, 0x1f, 0xb5, 0xb0, 0x30, 0xd0, 0xc7, 0xb0, 0x57, 0xb7, 0xc2, 0x38, 0x4a, 0xb1, 0x8a,
+	0x83, 0x68, 0x73, 0x9e, 0x42, 0xd6, 0x17, 0x8f, 0xd1, 0xea, 0x5d, 0x9a, 0x86, 0xfb, 0x36, 0x37,
+	0x8e, 0xd1, 0xfa, 0x97, 0xb0, 0x7f, 0xaf, 0x1f, 0xb9, 0x5d, 0xce, 0x20, 0xe7, 0xcb, 0xe7, 0xc8,
+	0xd3, 0x0f, 0x57, 0xf4, 0x24, 0x50, 0x78, 0x8e, 0xff, 0x88, 0x00, 0x28, 0x3d, 0x5d, 0x1e, 0xd6,
+	0x65, 0x83, 0x43, 0xfb, 0x1a, 0x7a, 0xff, 0xfb, 0x85, 0x81, 0x2f, 0xcc, 0x41, 0xbb, 0xd5, 0x3c,
+	0x33, 0x5a, 0x17, 0xb4, 0xb9, 0xa1, 0x6d, 0x44, 0x3c, 0x4a, 0xb2, 0x51, 0xb7, 0xd3, 0xeb, 0x35,
+	0xeb, 0x2d, 0x83, 0xf6, 0x33, 0x00, 0x19, 0xa9, 0x59, 0x63, 0x2d, 0x03, 0x87, 0x4a, 0x41, 0xfa,
+	0xf0, 0x6f, 0x09, 0x28, 0xf2, 0x18, 0x6a, 0xd1, 0x17, 0x51, 0xf4, 0xd7, 0x04, 0x6c, 0xdd, 0xf3,
+	0x9a, 0xe8, 0x70, 0xe9, 0xa5, 0x67, 0x69, 0xee, 0xf7, 0x5e, 0x3d, 0x0a, 0x23, 0xde, 0x5d, 0x7f,
+	0xf6, 0x87, 0xaf, 0xff, 0xf3, 0xe7, 0x64, 0x59, 0xdf, 0x8a, 0xbf, 0xd7, 0x06, 0x9f, 0xcb, 0x15,
+	0x46, 0x3e, 0x4f, 0x7c, 0x54, 0xbf, 0x82, 0xbd, 0xa1, 0x77, 0xb5, 0x84, 0xb9, 0xbe, 0xb5, 0xf8,
+	0x3a, 0x5d, 0xf6, 0xe5, 0xb1, 0x9b, 0xf8, 0xd5, 0xa7, 0xef, 0xf5, 0xf9, 0xf5, 0xbf, 0x89, 0xc4,
+	0x65, 0x86, 0x1b, 0xbd, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x30, 0xf8, 0x96, 0xf0, 0x71,
+	0x16, 0x00, 0x00,
 }
diff --git a/googleapis/container/v1/cluster_service.pb.go b/googleapis/container/v1/cluster_service.pb.go
index 22672b03..cf332951 100644
--- a/googleapis/container/v1/cluster_service.pb.go
+++ b/googleapis/container/v1/cluster_service.pb.go
@@ -1119,124 +1119,123 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1889 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0x23, 0x49,
-	0x15, 0xa7, 0x13, 0xe7, 0xdf, 0xb3, 0x9d, 0x71, 0x2a, 0x99, 0x6c, 0xcb, 0xc0, 0x4e, 0xb6, 0x57,
-	0x0b, 0x61, 0x96, 0xb1, 0x27, 0x99, 0x30, 0x2c, 0x33, 0xcb, 0x6a, 0x32, 0xb6, 0x37, 0xf1, 0x6e,
-	0x12, 0x5b, 0xed, 0x64, 0x24, 0xb8, 0xb4, 0x2a, 0xee, 0x8a, 0x5d, 0x9b, 0x76, 0x57, 0xd3, 0x55,
-	0xf6, 0x2a, 0x33, 0xca, 0x01, 0xce, 0x48, 0x1c, 0x90, 0x10, 0x48, 0x08, 0x21, 0xd8, 0xef, 0xc1,
-	0x81, 0x0b, 0xf7, 0xfd, 0x0a, 0x7c, 0x0c, 0x0e, 0xa8, 0xaa, 0xab, 0xdb, 0xed, 0xa4, 0xf3, 0x67,
-	0x36, 0x9a, 0x53, 0x5c, 0xef, 0x5f, 0xbd, 0x7a, 0xf5, 0x7b, 0xbf, 0x57, 0x1d, 0xd8, 0xed, 0x31,
-	0xd6, 0xf3, 0x48, 0xa5, 0xc7, 0x3c, 0xec, 0xf7, 0x2a, 0x2c, 0xec, 0x55, 0x7b, 0xc4, 0x0f, 0x42,
-	0x26, 0x58, 0x35, 0x52, 0xe1, 0x80, 0xf2, 0x6a, 0x97, 0xf9, 0x02, 0x53, 0x9f, 0x84, 0xd5, 0xd1,
-	0x46, 0xb5, 0xeb, 0x0d, 0xb9, 0x20, 0xa1, 0xc3, 0x49, 0x38, 0xa2, 0x5d, 0x52, 0x51, 0xd6, 0x68,
-	0x59, 0x47, 0x4a, 0x4c, 0x2b, 0xa3, 0x8d, 0x72, 0xf3, 0x76, 0xe1, 0x71, 0x40, 0xab, 0x3a, 0x5a,
-	0x97, 0xf9, 0x27, 0xb4, 0x57, 0xc5, 0xbe, 0xcf, 0x04, 0x16, 0x94, 0xf9, 0x3c, 0x8a, 0x6f, 0xfd,
-	0xcf, 0x00, 0x38, 0x60, 0x2e, 0xa9, 0x29, 0x03, 0xf4, 0x01, 0x14, 0x06, 0xb8, 0xdb, 0xa7, 0x3e,
-	0x71, 0xc4, 0x59, 0x40, 0x4c, 0x63, 0xcd, 0x58, 0x5f, 0xb0, 0xf3, 0x5a, 0x76, 0x78, 0x16, 0x10,
-	0xb4, 0x06, 0x05, 0x97, 0xf2, 0x53, 0x87, 0xd3, 0xd7, 0xc4, 0xe9, 0x1d, 0x9b, 0x53, 0x6b, 0xc6,
-	0xfa, 0x8c, 0x0d, 0x52, 0xd6, 0xa1, 0xaf, 0xc9, 0xce, 0xb1, 0x0c, 0xc2, 0xf0, 0x50, 0xf4, 0x1d,
-	0xde, 0x65, 0x01, 0xe1, 0xe6, 0xf4, 0xda, 0xb4, 0x0c, 0xa2, 0x64, 0x1d, 0x25, 0x42, 0x4d, 0x98,
-	0x1f, 0x10, 0x81, 0x5d, 0x2c, 0xb0, 0x99, 0x5b, 0x9b, 0x5e, 0xcf, 0x6f, 0x3e, 0xaa, 0x64, 0x9c,
-	0xb4, 0x32, 0x4e, 0xad, 0xb2, 0xaf, 0xed, 0x1b, 0xbe, 0x08, 0xcf, 0xec, 0xc4, 0xbd, 0xfc, 0x1c,
-	0x8a, 0x13, 0x2a, 0x54, 0x82, 0xe9, 0x53, 0x72, 0xa6, 0x53, 0x97, 0x3f, 0xd1, 0x0a, 0xcc, 0x8c,
-	0xb0, 0x37, 0x24, 0x2a, 0xd7, 0x05, 0x3b, 0x5a, 0x3c, 0x9b, 0xfa, 0xc4, 0xb0, 0xfe, 0x63, 0x00,
-	0xec, 0x63, 0x59, 0xf7, 0xed, 0xa1, 0xe8, 0xa3, 0x32, 0xcc, 0x0f, 0x39, 0x09, 0x7d, 0x3c, 0x88,
-	0x8f, 0x9e, 0xac, 0xa5, 0x2e, 0xc0, 0x9c, 0x7f, 0xcd, 0x42, 0x57, 0xc7, 0x49, 0xd6, 0x68, 0x0b,
-	0x56, 0xe3, 0xeb, 0xeb, 0x62, 0xa7, 0x4b, 0x42, 0x41, 0x4f, 0x68, 0x17, 0x0b, 0x62, 0xba, 0xca,
-	0x72, 0x45, 0x6b, 0x6b, 0xb8, 0x36, 0xd6, 0xa1, 0x47, 0x80, 0xba, 0x1e, 0x25, 0xbe, 0x98, 0xf0,
-	0x20, 0xca, 0x63, 0x29, 0xd2, 0xa4, 0xcd, 0x7f, 0x08, 0xa0, 0xcd, 0xe5, 0xf1, 0x4e, 0x94, 0xd9,
-	0x42, 0x24, 0xf9, 0x92, 0x9c, 0x59, 0xdf, 0x1a, 0x50, 0xd8, 0x76, 0x5d, 0xe6, 0x73, 0x7d, 0x97,
-	0xaf, 0x60, 0xb9, 0x2f, 0x44, 0xe0, 0x78, 0x0c, 0xbb, 0xce, 0x31, 0xf6, 0xb0, 0xdf, 0xa5, 0x7e,
-	0x4f, 0x9d, 0x2b, 0xbf, 0xf9, 0xa3, 0xcc, 0x72, 0xef, 0x0a, 0x11, 0xec, 0x31, 0xec, 0xbe, 0x8c,
-	0xad, 0xed, 0xa5, 0xfe, 0x45, 0x11, 0x3a, 0x85, 0x72, 0x9f, 0x85, 0xf4, 0xb5, 0x74, 0xf4, 0x9c,
-	0x80, 0xb9, 0x0e, 0x1e, 0x0a, 0xc6, 0xbb, 0xd8, 0x93, 0xe1, 0xa7, 0x54, 0xf8, 0xec, 0xdb, 0xdc,
-	0x4d, 0xdc, 0xda, 0xcc, 0xdd, 0x1e, 0x3b, 0xd9, 0x66, 0xff, 0x0a, 0x8d, 0x55, 0x85, 0xa5, 0x4b,
-	0x49, 0xc9, 0xab, 0x70, 0x29, 0xc7, 0xc7, 0x1e, 0x71, 0xd5, 0x71, 0xe6, 0xed, 0x64, 0x6d, 0x3d,
-	0x05, 0xf3, 0xaa, 0x6d, 0xae, 0xf5, 0xfb, 0xc3, 0x02, 0xcc, 0xd5, 0xa2, 0x5b, 0x42, 0x08, 0x72,
-	0x29, 0x08, 0xa8, 0xdf, 0x68, 0x0d, 0xf2, 0x2e, 0xe1, 0xdd, 0x90, 0x06, 0xb2, 0x7d, 0x34, 0x02,
-	0xd2, 0x22, 0xf4, 0x53, 0x40, 0xd4, 0xa7, 0x82, 0x62, 0xcf, 0xf1, 0x99, 0x4b, 0x9c, 0x2e, 0x1b,
-	0xfa, 0xc2, 0x9c, 0x56, 0xed, 0x51, 0xd2, 0x9a, 0x08, 0xcf, 0x43, 0x5f, 0xa0, 0x17, 0x90, 0xd7,
-	0x56, 0xf2, 0xb2, 0xcc, 0x9c, 0x2a, 0xdb, 0x83, 0x1b, 0x9a, 0xc0, 0x06, 0x7f, 0xdc, 0xab, 0x2f,
-	0x20, 0x3f, 0x50, 0xd0, 0x95, 0xf5, 0xef, 0x9b, 0x33, 0xd7, 0x44, 0x18, 0x43, 0xdc, 0x86, 0xc1,
-	0x18, 0xee, 0x3f, 0x86, 0x7b, 0x1e, 0xeb, 0xf5, 0xa8, 0xdf, 0x8b, 0x59, 0xc7, 0x9c, 0x55, 0xe7,
-	0x5a, 0xd4, 0xe2, 0x4e, 0x24, 0x95, 0x48, 0x1d, 0x30, 0x9f, 0x0a, 0x16, 0xa6, 0x6d, 0xe7, 0x22,
-	0xa4, 0x8e, 0x35, 0xb1, 0xb9, 0x09, 0x73, 0x3e, 0x11, 0x5f, 0xb3, 0xf0, 0xd4, 0x9c, 0x57, 0x36,
-	0xf1, 0x12, 0x3d, 0x84, 0xa5, 0xb8, 0x51, 0x68, 0x30, 0xda, 0x72, 0xba, 0xd4, 0x0d, 0xcd, 0x05,
-	0x65, 0x73, 0x4f, 0x2b, 0x9a, 0xc1, 0x68, 0xab, 0x46, 0xdd, 0x10, 0x7d, 0x0e, 0x45, 0xac, 0xf0,
-	0x1c, 0xd7, 0x08, 0xd4, 0x09, 0x3f, 0xc8, 0x3c, 0x61, 0x1a, 0xf9, 0x76, 0x01, 0xa7, 0xfb, 0xe0,
-	0x7d, 0x00, 0x3e, 0x3c, 0x8e, 0x13, 0xca, 0xab, 0xcd, 0x52, 0x12, 0xf4, 0x7d, 0x58, 0xe0, 0xc4,
-	0x3b, 0x71, 0x3c, 0xea, 0x9f, 0xea, 0x7e, 0x9d, 0x97, 0x82, 0x3d, 0xea, 0x9f, 0x4a, 0x28, 0xbc,
-	0x66, 0x7e, 0xdc, 0x95, 0xea, 0xb7, 0x84, 0x11, 0xf1, 0xdd, 0x80, 0x51, 0x5f, 0xe8, 0x36, 0x4c,
-	0xd6, 0xe8, 0x29, 0xbc, 0x17, 0x83, 0x20, 0x3e, 0xe8, 0x88, 0x84, 0x5c, 0x42, 0xa6, 0xa7, 0x4c,
-	0xef, 0x6b, 0xb5, 0xc6, 0xda, 0xab, 0x48, 0xa9, 0x18, 0x64, 0x18, 0x86, 0xb2, 0xbb, 0xf5, 0xa5,
-	0xc6, 0x6e, 0x7d, 0xcd, 0x20, 0x91, 0x36, 0xba, 0xc9, 0xd8, 0xeb, 0x31, 0xc4, 0xf2, 0x08, 0x72,
-	0xb1, 0x0f, 0x55, 0x3e, 0x48, 0xeb, 0x24, 0x7e, 0x62, 0x8f, 0x07, 0x90, 0xef, 0x86, 0x04, 0x0b,
-	0xe2, 0x08, 0x3a, 0x20, 0xe6, 0x57, 0x51, 0x35, 0x22, 0xd1, 0x21, 0x1d, 0x10, 0xf4, 0x1c, 0x66,
-	0xb9, 0xc0, 0x62, 0xc8, 0xcd, 0xd3, 0x35, 0x63, 0x7d, 0x71, 0xf3, 0xc3, 0xcc, 0x72, 0xeb, 0xec,
-	0x2b, 0x1d, 0x65, 0x6a, 0x6b, 0x17, 0xf4, 0x11, 0x2c, 0x46, 0xbf, 0x9c, 0x01, 0xe1, 0x1c, 0xf7,
-	0x88, 0xe9, 0xa9, 0x0d, 0x8a, 0x91, 0x74, 0x3f, 0x12, 0xa2, 0x47, 0xb0, 0xac, 0xd2, 0x4d, 0x20,
-	0xa0, 0x86, 0x89, 0x39, 0x88, 0x5a, 0x45, 0xaa, 0x62, 0x10, 0xc8, 0x89, 0x22, 0x1b, 0x4b, 0x43,
-	0x8e, 0xa7, 0x50, 0xe3, 0xab, 0xc8, 0xa5, 0x58, 0x93, 0xc0, 0xa6, 0x02, 0xcb, 0xd4, 0xe7, 0x02,
-	0xfb, 0x5d, 0xe2, 0xf4, 0x42, 0x36, 0x0c, 0x9c, 0x61, 0xe8, 0x71, 0x93, 0xa9, 0x21, 0xb4, 0x14,
-	0xab, 0x76, 0xa4, 0xe6, 0x28, 0xf4, 0xb8, 0x8c, 0x3e, 0x51, 0xc3, 0xa8, 0x6d, 0x83, 0x28, 0x97,
-	0x54, 0x05, 0x55, 0xdb, 0x5a, 0x14, 0x66, 0xa3, 0x33, 0xa3, 0x55, 0x40, 0x9d, 0xc3, 0xed, 0xc3,
-	0xa3, 0x8e, 0x73, 0x74, 0xd0, 0x69, 0x37, 0x6a, 0xcd, 0xcf, 0x9b, 0x8d, 0x7a, 0xe9, 0x7b, 0xa8,
-	0x04, 0x85, 0xb6, 0xdd, 0x7a, 0xd5, 0xec, 0x34, 0x5b, 0x07, 0xcd, 0x83, 0x9d, 0x92, 0x81, 0xf2,
-	0x30, 0x67, 0x1f, 0x1d, 0xa8, 0xc5, 0x14, 0xba, 0x07, 0x79, 0xbb, 0x51, 0x6b, 0x1d, 0xd4, 0x9a,
-	0x7b, 0x52, 0x30, 0x8d, 0x0a, 0x30, 0xdf, 0x39, 0x6c, 0xb5, 0xdb, 0x72, 0x95, 0x43, 0x0b, 0x30,
-	0xd3, 0xb0, 0xed, 0x96, 0x5d, 0x9a, 0xb1, 0x7e, 0x3f, 0x05, 0x45, 0x5d, 0xe7, 0xa3, 0xc0, 0x95,
-	0x13, 0xe0, 0x31, 0xac, 0xb8, 0x84, 0xd3, 0x90, 0xb8, 0x93, 0xd7, 0x9d, 0x8b, 0xae, 0x5b, 0xeb,
-	0xd2, 0xd7, 0xfd, 0x29, 0x94, 0x63, 0x8f, 0x8c, 0x06, 0x9e, 0x51, 0x7e, 0xa6, 0xb6, 0xd8, 0xbf,
-	0xd4, 0xc7, 0x47, 0x70, 0x3f, 0xf6, 0x9e, 0xec, 0xc4, 0xd9, 0xdb, 0x76, 0xe2, 0xb2, 0xf6, 0x9f,
-	0x18, 0x4c, 0x5b, 0xb0, 0x9a, 0x24, 0x35, 0x89, 0x75, 0x3d, 0x2d, 0xe3, 0x84, 0xd2, 0x58, 0xb7,
-	0xfe, 0x9d, 0x83, 0x85, 0x56, 0x40, 0x42, 0xf5, 0x7c, 0xc9, 0xa4, 0xe8, 0xb8, 0x57, 0xa7, 0x52,
-	0xbd, 0xfa, 0x05, 0x2c, 0xb2, 0xd8, 0x29, 0x7a, 0xd2, 0x4c, 0x5f, 0x03, 0xeb, 0x24, 0x7e, 0x45,
-	0x3e, 0x75, 0xec, 0x62, 0xe2, 0xaa, 0x5e, 0x3e, 0xbf, 0x4c, 0x5a, 0x23, 0xa7, 0x62, 0x7c, 0x74,
-	0x43, 0x8c, 0x0b, 0xcd, 0xb1, 0x0a, 0xb3, 0x2e, 0x11, 0x98, 0x7a, 0x9a, 0x14, 0xf5, 0x2a, 0xa3,
-	0x69, 0x66, 0xb2, 0x9a, 0x66, 0x82, 0xa6, 0x66, 0x2f, 0xd0, 0xd4, 0x03, 0xc8, 0x0b, 0x1c, 0xf6,
-	0x88, 0x88, 0xd4, 0x11, 0x33, 0x43, 0x24, 0x92, 0x06, 0x56, 0xfd, 0x46, 0xdc, 0xe6, 0x61, 0xae,
-	0xdd, 0x38, 0xa8, 0x67, 0x40, 0x76, 0x1e, 0x72, 0xf5, 0xd6, 0x41, 0xa3, 0x34, 0x6d, 0xfd, 0xcb,
-	0x80, 0x9c, 0x2a, 0xc5, 0x0a, 0x94, 0x0e, 0x7f, 0xd5, 0x6e, 0x5c, 0x08, 0x81, 0x60, 0xb1, 0x66,
-	0x37, 0xb6, 0x0f, 0x1b, 0x4e, 0x6d, 0xef, 0xa8, 0x73, 0xd8, 0xb0, 0x4b, 0x86, 0x94, 0xd5, 0x1b,
-	0x7b, 0x8d, 0x94, 0x6c, 0x4a, 0xca, 0x8e, 0xda, 0x3b, 0xf6, 0x76, 0xbd, 0xe1, 0xec, 0x6f, 0x2b,
-	0xd9, 0x34, 0x5a, 0x82, 0x62, 0x2c, 0x3b, 0x68, 0xd5, 0x1b, 0x9d, 0x52, 0x4e, 0x9a, 0xd9, 0x8d,
-	0xf6, 0x76, 0xd3, 0x4e, 0x5c, 0x67, 0x22, 0xd7, 0x7a, 0x7a, 0x8b, 0x59, 0x99, 0x8c, 0xde, 0x56,
-	0x7a, 0x3a, 0xed, 0x56, 0x6b, 0xaf, 0x34, 0x27, 0xa5, 0x7a, 0xe3, 0xb1, 0x74, 0xde, 0xfa, 0xad,
-	0x01, 0x2b, 0x35, 0xc5, 0x76, 0xba, 0xb5, 0x6c, 0xf2, 0x9b, 0x21, 0xe1, 0x42, 0xbe, 0xae, 0x82,
-	0x90, 0x7d, 0x45, 0xba, 0xc2, 0xa1, 0xae, 0x86, 0xd5, 0x82, 0x96, 0x34, 0xdd, 0x4c, 0x6c, 0x3d,
-	0x85, 0x39, 0xcd, 0xf1, 0x0a, 0x54, 0xf9, 0xcd, 0x1f, 0x5c, 0xc7, 0x95, 0x76, 0x6c, 0x6c, 0x11,
-	0x58, 0xda, 0x21, 0xe2, 0xee, 0xfb, 0xab, 0x07, 0xa1, 0x1e, 0xa6, 0xae, 0x4a, 0x41, 0x3d, 0x08,
-	0xa3, 0x29, 0xea, 0x5a, 0xdf, 0x18, 0xb0, 0x12, 0x11, 0xc7, 0xbb, 0xde, 0x0a, 0x3d, 0x83, 0xd9,
-	0xa1, 0xda, 0x49, 0xbf, 0x63, 0xac, 0xeb, 0x0a, 0x11, 0xe5, 0x64, 0x6b, 0x0f, 0xab, 0x0f, 0x2b,
-	0x75, 0xe2, 0x91, 0x77, 0x9f, 0xa5, 0xb5, 0x0b, 0xcb, 0x7b, 0x94, 0xc7, 0x85, 0xe7, 0xdf, 0x7d,
-	0x23, 0x6b, 0x08, 0x2b, 0x93, 0x91, 0x78, 0xc0, 0x7c, 0x4e, 0xd0, 0x27, 0x30, 0xaf, 0xb7, 0xe3,
-	0xa6, 0xa1, 0x3e, 0x6b, 0xae, 0x87, 0x44, 0x62, 0x8d, 0x3e, 0x84, 0xe2, 0x80, 0x72, 0x2e, 0xd9,
-	0x59, 0xee, 0xc0, 0xcd, 0x29, 0x35, 0xaf, 0x0a, 0x5a, 0xf8, 0x6b, 0x29, 0xb3, 0x4e, 0x61, 0x79,
-	0x87, 0x88, 0x84, 0x60, 0xee, 0x50, 0x29, 0xf9, 0x89, 0x96, 0xd0, 0x62, 0x52, 0xab, 0x7c, 0x22,
-	0x6b, 0xba, 0xd6, 0x17, 0x70, 0x5f, 0x9e, 0x31, 0xd9, 0xed, 0x2e, 0xf5, 0x3a, 0x87, 0xd5, 0x8b,
-	0xb1, 0x74, 0xc5, 0x3e, 0x03, 0x48, 0x36, 0x8d, 0x6b, 0xf6, 0xfe, 0xf5, 0xbc, 0x6a, 0xa7, 0x3c,
-	0x6e, 0x57, 0xb7, 0x2f, 0x61, 0x75, 0x87, 0x08, 0x39, 0xd5, 0x48, 0xa8, 0x07, 0xd3, 0x77, 0x3f,
-	0xcb, 0x08, 0x0a, 0xe9, 0x48, 0xf2, 0xc5, 0xe7, 0x92, 0x13, 0x3c, 0xf4, 0xc4, 0xa5, 0x17, 0x5f,
-	0x14, 0xef, 0xbe, 0x56, 0x5f, 0x78, 0xf1, 0x55, 0x60, 0x79, 0x84, 0x3d, 0x3a, 0x39, 0xca, 0xe3,
-	0x8f, 0xe5, 0x25, 0xa5, 0x4a, 0x4d, 0x72, 0xbe, 0xf9, 0x17, 0x80, 0x45, 0x1d, 0x62, 0x1f, 0xfb,
-	0xb8, 0x47, 0x42, 0xf4, 0x57, 0x03, 0x0a, 0x69, 0x1c, 0xa2, 0xf5, 0xcc, 0xca, 0x65, 0x80, 0xbe,
-	0xfc, 0x93, 0x5b, 0x58, 0x46, 0x57, 0x64, 0xfd, 0xfc, 0x77, 0xdf, 0xfe, 0xf7, 0x8f, 0x53, 0x1b,
-	0xa8, 0x5a, 0x1d, 0x6d, 0x54, 0x75, 0x6d, 0x78, 0xf5, 0xcd, 0xb8, 0x6e, 0xe7, 0x55, 0x55, 0xfa,
-	0xea, 0x1b, 0xf9, 0xe7, 0xbc, 0x9a, 0x60, 0xfa, 0xcf, 0x06, 0xc0, 0x98, 0xe8, 0x50, 0xf6, 0x27,
-	0xe7, 0x25, 0x26, 0x2c, 0x5f, 0xdb, 0x32, 0x56, 0x5d, 0x65, 0xf3, 0x19, 0xfa, 0xf4, 0x2d, 0xb3,
-	0xa9, 0xbe, 0x19, 0x53, 0xc3, 0x39, 0xfa, 0x93, 0x01, 0xc5, 0x89, 0x31, 0x80, 0xb2, 0x0b, 0x92,
-	0x35, 0x2a, 0xca, 0x37, 0xe0, 0xd3, 0x7a, 0xa6, 0x52, 0xdc, 0xb2, 0xde, 0xb6, 0x60, 0xcf, 0x8c,
-	0x87, 0xe8, 0x9f, 0x06, 0x14, 0x27, 0x48, 0xfb, 0x8a, 0xc4, 0xb2, 0x88, 0xfd, 0xc6, 0xc4, 0x76,
-	0x54, 0x62, 0xdb, 0xe5, 0x3b, 0xd5, 0x4e, 0x66, 0xf9, 0x77, 0x03, 0x8a, 0x13, 0xa4, 0x7d, 0x45,
-	0x96, 0x59, 0xc4, 0x7e, 0x63, 0x96, 0xfa, 0x86, 0x1f, 0xde, 0xed, 0x86, 0xbf, 0x31, 0x60, 0x71,
-	0x92, 0x73, 0xd0, 0xc3, 0x2b, 0x31, 0x7f, 0x89, 0xe4, 0xca, 0x1f, 0xdf, 0xca, 0x56, 0x77, 0xc8,
-	0x2f, 0x54, 0xc6, 0x4f, 0xd0, 0xc6, 0x2d, 0x33, 0x4e, 0xf1, 0xd7, 0x3f, 0x0c, 0x28, 0xa4, 0x39,
-	0xfd, 0x8a, 0x16, 0xce, 0xa0, 0xfd, 0x1b, 0xeb, 0xb8, 0xab, 0xb2, 0x7a, 0x89, 0x5e, 0xbc, 0x75,
-	0x56, 0xd5, 0x37, 0xe9, 0xe1, 0x70, 0x8e, 0xfe, 0x66, 0xc0, 0xbd, 0x0b, 0x04, 0x8a, 0x3e, 0xbe,
-	0x2a, 0xcf, 0x0c, 0x9a, 0x2d, 0x67, 0x7f, 0x29, 0xa4, 0x2d, 0xad, 0xe7, 0x2a, 0xdb, 0x9f, 0xa1,
-	0x27, 0xb7, 0xcc, 0x96, 0x2b, 0xe7, 0xe8, 0x7b, 0xe4, 0xe5, 0x63, 0x78, 0xaf, 0xcb, 0x06, 0x59,
-	0x9b, 0xbc, 0x5c, 0xd6, 0xe8, 0xd3, 0xdf, 0x34, 0xed, 0x90, 0x09, 0xd6, 0x36, 0x8e, 0x67, 0xd5,
-	0xbf, 0x3f, 0x9f, 0xfc, 0x3f, 0x00, 0x00, 0xff, 0xff, 0xb0, 0xc9, 0x54, 0x5a, 0xaa, 0x15, 0x00,
-	0x00,
+	// 1880 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x5f, 0x6f, 0x23, 0x57,
+	0x15, 0xc7, 0xf9, 0xe3, 0xd8, 0xc7, 0x49, 0xd6, 0xb9, 0xc9, 0xa6, 0x23, 0x03, 0xed, 0x76, 0xaa,
+	0x42, 0xd9, 0x52, 0xbb, 0x9b, 0x5d, 0x96, 0xb2, 0x5b, 0xaa, 0x7a, 0x6d, 0x37, 0x71, 0x9b, 0xd8,
+	0xd6, 0x38, 0x59, 0x09, 0x5e, 0x46, 0x93, 0x99, 0x1b, 0x7b, 0x9a, 0xf1, 0x8c, 0x99, 0x3b, 0x0e,
+	0xda, 0x46, 0x79, 0x80, 0x67, 0x24, 0x1e, 0x90, 0x10, 0x48, 0x08, 0x21, 0xe0, 0x7b, 0xf0, 0xc0,
+	0x0b, 0xef, 0xfd, 0x0a, 0x7c, 0x0c, 0x1e, 0x38, 0xf7, 0xcf, 0x8c, 0xc7, 0xc9, 0x24, 0xce, 0x36,
+	0xea, 0x4b, 0x32, 0xf7, 0xfc, 0xbb, 0xe7, 0x9e, 0xf3, 0x3b, 0xe7, 0xdc, 0x6b, 0xd8, 0x1b, 0x04,
+	0xc1, 0xc0, 0xa3, 0xd5, 0x41, 0xe0, 0x59, 0xfe, 0xa0, 0x1a, 0x84, 0x83, 0xda, 0x80, 0xfa, 0xe3,
+	0x30, 0x88, 0x82, 0x9a, 0x64, 0x59, 0x63, 0x97, 0xd5, 0xec, 0xc0, 0x8f, 0x2c, 0xd7, 0xa7, 0x61,
+	0xed, 0xec, 0x51, 0xcd, 0xf6, 0x26, 0x2c, 0xa2, 0xa1, 0xc9, 0x68, 0x78, 0xe6, 0xda, 0xb4, 0x2a,
+	0xa4, 0xc9, 0xa6, 0xb2, 0x94, 0x88, 0x56, 0xcf, 0x1e, 0x55, 0xda, 0xb7, 0x33, 0x8f, 0x7f, 0x6a,
+	0xca, 0x1a, 0xaa, 0x9f, 0xb8, 0x83, 0x9a, 0xe5, 0xfb, 0x41, 0x64, 0x45, 0x6e, 0xe0, 0x33, 0x69,
+	0x5f, 0xff, 0x5f, 0x0e, 0xa0, 0x13, 0x38, 0xb4, 0x21, 0x04, 0xc8, 0xdb, 0xb0, 0x3a, 0xb2, 0xec,
+	0x21, 0x6e, 0x64, 0x46, 0xaf, 0xc6, 0x54, 0xcb, 0x3d, 0xc8, 0xbd, 0x57, 0x34, 0x4a, 0x8a, 0x76,
+	0x88, 0x24, 0xf2, 0x00, 0x56, 0x1d, 0x97, 0x9d, 0x9a, 0xcc, 0xfd, 0x8a, 0x9a, 0x83, 0x63, 0x6d,
+	0x01, 0x45, 0x96, 0x0d, 0xe0, 0xb4, 0x3e, 0x92, 0x76, 0x8f, 0xb9, 0x91, 0xc0, 0x9a, 0x44, 0x43,
+	0x93, 0xd9, 0xc1, 0x98, 0x32, 0x6d, 0xf1, 0xc1, 0x22, 0x37, 0x22, 0x68, 0x7d, 0x41, 0x22, 0x6d,
+	0x28, 0x8c, 0x68, 0x64, 0x39, 0x56, 0x64, 0x69, 0x4b, 0xc8, 0x2e, 0xed, 0x7c, 0x50, 0xcd, 0x38,
+	0x69, 0x75, 0xea, 0x5a, 0xf5, 0x40, 0xc9, 0xb7, 0xfc, 0x28, 0x7c, 0x65, 0x24, 0xea, 0x95, 0xe7,
+	0xb0, 0x36, 0xc3, 0x22, 0x65, 0x58, 0x3c, 0xa5, 0xaf, 0x94, 0xeb, 0xfc, 0x93, 0x6c, 0xc1, 0xf2,
+	0x99, 0xe5, 0x4d, 0xa8, 0xf0, 0xb5, 0x68, 0xc8, 0xc5, 0xb3, 0x85, 0x8f, 0x72, 0xfa, 0x7f, 0xf0,
+	0xf8, 0x07, 0x16, 0x8f, 0x7b, 0x1d, 0x9d, 0x23, 0x15, 0x28, 0x4c, 0x30, 0x62, 0xbe, 0x35, 0x8a,
+	0x8f, 0x9e, 0xac, 0x39, 0x6f, 0x6c, 0x31, 0xf6, 0xeb, 0x20, 0x74, 0x94, 0x9d, 0x64, 0x4d, 0x9e,
+	0xc0, 0x76, 0x9c, 0x3e, 0xdb, 0x32, 0x6d, 0x1a, 0x46, 0xee, 0x89, 0x6b, 0x5b, 0x11, 0xd5, 0x1c,
+	0x21, 0xb9, 0xa5, 0xb8, 0x0d, 0xab, 0x31, 0xe5, 0x91, 0x0f, 0x80, 0xd8, 0x9e, 0x4b, 0xfd, 0x68,
+	0x46, 0x83, 0x0a, 0x8d, 0x0d, 0xc9, 0x49, 0x8b, 0x7f, 0x1f, 0x40, 0x89, 0xf3, 0xe3, 0x9d, 0x08,
+	0xb1, 0xa2, 0xa4, 0x7c, 0x41, 0x5f, 0xe9, 0x5f, 0xe7, 0x60, 0xb5, 0xee, 0x38, 0x98, 0x5a, 0x95,
+	0xcb, 0x97, 0xb0, 0x39, 0x8c, 0xa2, 0xb1, 0xe9, 0x05, 0x96, 0x63, 0x1e, 0x5b, 0x08, 0x15, 0xdb,
+	0xf5, 0x07, 0xe2, 0x5c, 0xa5, 0x9d, 0x1f, 0x64, 0x86, 0x7b, 0x0f, 0xe5, 0xf7, 0x51, 0xfc, 0x45,
+	0x2c, 0x6d, 0x6c, 0x0c, 0x2f, 0x93, 0xc8, 0x29, 0x54, 0x86, 0x41, 0xe8, 0x7e, 0xc5, 0x15, 0x3d,
+	0x73, 0x1c, 0x38, 0x26, 0x26, 0x36, 0x60, 0xb6, 0xe5, 0x71, 0xf3, 0x0b, 0xc2, 0x7c, 0x76, 0x36,
+	0xf7, 0x12, 0xb5, 0x5e, 0xe0, 0xd4, 0xa7, 0x4a, 0x86, 0x36, 0xbc, 0x86, 0xa3, 0xd7, 0x60, 0xe3,
+	0x8a, 0x53, 0x3c, 0x15, 0x08, 0x37, 0xeb, 0xd8, 0xa3, 0x8e, 0x38, 0x4e, 0xc1, 0x48, 0xd6, 0xfa,
+	0x53, 0xd0, 0xae, 0xdb, 0xe6, 0x46, 0xbd, 0xdf, 0x17, 0x61, 0xa5, 0x21, 0xb3, 0x44, 0x08, 0x2c,
+	0xa5, 0x20, 0x20, 0xbe, 0x11, 0xf6, 0x25, 0x87, 0x32, 0x3b, 0x74, 0xc7, 0xbc, 0x7c, 0x14, 0x02,
+	0xd2, 0x24, 0xf2, 0x63, 0x20, 0xae, 0xef, 0x46, 0x2e, 0x06, 0xc5, 0x47, 0xd8, 0x9a, 0x76, 0x30,
+	0xf1, 0x23, 0x04, 0x3f, 0x2f, 0x8f, 0xb2, 0xe2, 0x48, 0x3c, 0x23, 0x9d, 0x7c, 0x0a, 0x25, 0x25,
+	0xc5, 0x93, 0x85, 0x45, 0xc0, 0xc3, 0xf6, 0xd6, 0x9c, 0x22, 0x30, 0xc0, 0x9f, 0xd6, 0x2a, 0x5a,
+	0x18, 0x09, 0xe8, 0xf2, 0xf8, 0x0f, 0xb5, 0xe5, 0x1b, 0x2c, 0x4c, 0x21, 0x6e, 0xc0, 0x68, 0x0a,
+	0xf7, 0x1f, 0xc2, 0x3d, 0x2f, 0x18, 0x0c, 0x30, 0x34, 0x71, 0xd7, 0xd1, 0xf2, 0xe2, 0x5c, 0xeb,
+	0x8a, 0xdc, 0x97, 0x54, 0x8e, 0xd4, 0x51, 0x80, 0x27, 0xc0, 0xc0, 0xa6, 0x64, 0x57, 0x24, 0x52,
+	0xa7, 0x9c, 0x58, 0x5c, 0x83, 0x15, 0x9f, 0x46, 0x58, 0x19, 0xa7, 0x5a, 0x41, 0xc8, 0xc4, 0x4b,
+	0xf2, 0x10, 0x36, 0xe2, 0x42, 0x71, 0xc7, 0x67, 0x4f, 0x4c, 0xdb, 0x75, 0x42, 0xad, 0x28, 0x64,
+	0xee, 0x29, 0x46, 0x1b, 0xe9, 0x0d, 0x24, 0x93, 0xcf, 0x60, 0xcd, 0x12, 0x78, 0x8e, 0x63, 0x04,
+	0xe2, 0x84, 0x6f, 0x67, 0x9e, 0x30, 0x8d, 0x7c, 0x63, 0xd5, 0x4a, 0xd7, 0xc1, 0x9b, 0x00, 0x6c,
+	0x72, 0x1c, 0x3b, 0x54, 0x12, 0x9b, 0xa5, 0x28, 0xe4, 0xbb, 0x50, 0x64, 0xd4, 0x3b, 0x31, 0x11,
+	0x22, 0xa7, 0xaa, 0x5e, 0x0b, 0x9c, 0xb0, 0x8f, 0x6b, 0x0e, 0x05, 0x84, 0x52, 0x5c, 0x95, 0xe2,
+	0x9b, 0xc3, 0x88, 0xfa, 0xce, 0x38, 0x70, 0x31, 0xbd, 0xb2, 0x0c, 0x93, 0x35, 0x79, 0x0a, 0x6f,
+	0xc4, 0x20, 0x88, 0x0f, 0x7a, 0x46, 0x43, 0xc6, 0x21, 0x33, 0x10, 0xa2, 0xf7, 0x15, 0x5b, 0x61,
+	0xed, 0xa5, 0x64, 0x8a, 0x0e, 0x32, 0x09, 0x43, 0x5e, 0xdd, 0x2a, 0xa9, 0xb1, 0xda, 0x50, 0x75,
+	0x10, 0xc9, 0x95, 0x99, 0x8c, 0xb5, 0x3e, 0x84, 0x98, 0x2e, 0x21, 0x17, 0xeb, 0xb8, 0x42, 0x87,
+	0x28, 0x1e, 0xc7, 0x4f, 0xac, 0xf1, 0x16, 0x94, 0xec, 0x90, 0x62, 0x3b, 0x31, 0x23, 0x17, 0x11,
+	0xfe, 0xa5, 0x8c, 0x86, 0x24, 0x1d, 0x22, 0x85, 0x3c, 0x87, 0x3c, 0xc3, 0x11, 0x31, 0x61, 0xda,
+	0x29, 0xf2, 0xd6, 0x77, 0xde, 0xc9, 0x0c, 0xb7, 0xf2, 0xbe, 0xda, 0x17, 0xa2, 0x86, 0x52, 0x21,
+	0xef, 0xc2, 0xba, 0xfc, 0x32, 0x47, 0x94, 0x31, 0x6b, 0x40, 0x35, 0x4f, 0x6c, 0xb0, 0x26, 0xa9,
+	0x07, 0x92, 0x88, 0x70, 0xda, 0x14, 0xee, 0x26, 0x10, 0x10, 0xc3, 0x44, 0x1b, 0xc9, 0x52, 0xe1,
+	0xac, 0x18, 0x04, 0x7c, 0xa2, 0xf0, 0xc2, 0x52, 0x90, 0x63, 0x29, 0xd4, 0xf8, 0xc2, 0x72, 0x39,
+	0xe6, 0x24, 0xb0, 0xa9, 0xc2, 0xa6, 0xeb, 0xe3, 0x7e, 0xbe, 0x8d, 0xe3, 0x29, 0x0c, 0x26, 0x63,
+	0x73, 0x12, 0x7a, 0x4c, 0x0b, 0xc4, 0x10, 0xda, 0x88, 0x59, 0xbb, 0x9c, 0x73, 0x84, 0x0c, 0x6e,
+	0x7d, 0x26, 0x86, 0xb2, 0x6c, 0xc7, 0xd2, 0x97, 0x54, 0x04, 0x45, 0xd9, 0xea, 0x2e, 0xe4, 0xe5,
+	0x99, 0xc9, 0x36, 0x90, 0xfe, 0x61, 0xfd, 0xf0, 0xa8, 0x6f, 0x1e, 0x75, 0xfa, 0xbd, 0x56, 0xa3,
+	0xfd, 0x59, 0xbb, 0xd5, 0x2c, 0x7f, 0x07, 0xc7, 0xcf, 0x6a, 0xcf, 0xe8, 0xbe, 0x6c, 0xf7, 0xdb,
+	0xdd, 0x4e, 0xbb, 0xb3, 0x5b, 0xce, 0x91, 0x12, 0xac, 0x18, 0x47, 0x1d, 0xb1, 0x58, 0x20, 0xf7,
+	0xa0, 0x64, 0xb4, 0x1a, 0xdd, 0x4e, 0xa3, 0xbd, 0xcf, 0x09, 0x8b, 0x64, 0x15, 0x0a, 0xfd, 0xc3,
+	0x6e, 0xaf, 0xc7, 0x57, 0x4b, 0xa4, 0x08, 0xcb, 0x2d, 0xc3, 0xe8, 0x1a, 0xe5, 0x65, 0xfd, 0x77,
+	0x0b, 0xb0, 0xa6, 0xe2, 0x7c, 0x34, 0x76, 0xf8, 0x04, 0xc0, 0x74, 0x63, 0xc3, 0x71, 0x43, 0xea,
+	0xcc, 0xa6, 0x7b, 0x49, 0xa6, 0x5b, 0xf1, 0xd2, 0xe9, 0xfe, 0x18, 0x2a, 0xb1, 0x46, 0x46, 0x01,
+	0x2f, 0x0b, 0x3d, 0x4d, 0x49, 0x1c, 0x5c, 0xa9, 0xe3, 0x23, 0xb8, 0x1f, 0x6b, 0xcf, 0x56, 0x62,
+	0xfe, 0xb6, 0x95, 0xb8, 0xa9, 0xf4, 0x67, 0x06, 0x13, 0x62, 0x3d, 0x71, 0x6a, 0x16, 0xeb, 0x6a,
+	0x5a, 0xc6, 0x0e, 0xa5, 0xb1, 0xae, 0xff, 0x7b, 0x09, 0x8a, 0xdd, 0x31, 0x0d, 0xc5, 0xf5, 0x25,
+	0xb3, 0x45, 0xc7, 0xb5, 0xba, 0x90, 0xaa, 0xd5, 0xcf, 0x61, 0x3d, 0x88, 0x95, 0xe4, 0x95, 0x66,
+	0xf1, 0x06, 0x58, 0x27, 0xf6, 0xab, 0xfc, 0xaa, 0x63, 0xac, 0x25, 0xaa, 0xe2, 0xe6, 0xf3, 0xf3,
+	0xa4, 0x34, 0x96, 0x84, 0x8d, 0x77, 0xe7, 0xd8, 0xb8, 0x54, 0x1c, 0xdb, 0x90, 0x77, 0xf0, 0xa2,
+	0xe2, 0x7a, 0xaa, 0x29, 0xaa, 0x55, 0x46, 0xd1, 0x2c, 0x67, 0x15, 0xcd, 0x4c, 0x9b, 0xca, 0x5f,
+	0x6a, 0x53, 0x58, 0xd6, 0x91, 0x15, 0x0e, 0x68, 0x24, 0xd9, 0xb2, 0x33, 0x83, 0x24, 0x71, 0x01,
+	0xbd, 0x39, 0x17, 0xb7, 0x88, 0xd2, 0x5e, 0xab, 0xd3, 0xcc, 0x80, 0x6c, 0x01, 0x96, 0x9a, 0xdd,
+	0x4e, 0xab, 0xbc, 0xa8, 0xff, 0x2b, 0x07, 0x4b, 0x22, 0x14, 0x5b, 0x50, 0x3e, 0xfc, 0x45, 0xaf,
+	0x75, 0xc9, 0x04, 0x81, 0xf5, 0x86, 0xd1, 0xaa, 0x1f, 0xb6, 0xcc, 0xc6, 0xfe, 0x51, 0xff, 0xb0,
+	0x65, 0xa0, 0x25, 0xa4, 0x35, 0x5b, 0xfb, 0xad, 0x14, 0x6d, 0x81, 0xd3, 0x8e, 0x7a, 0xbb, 0x46,
+	0xbd, 0xd9, 0x32, 0x0f, 0xea, 0x82, 0xb6, 0x48, 0x36, 0x60, 0x2d, 0xa6, 0x75, 0xba, 0xcd, 0x56,
+	0x1f, 0x6b, 0x01, 0xc5, 0x8c, 0x56, 0xaf, 0xde, 0x36, 0x12, 0xd5, 0x65, 0xa9, 0xda, 0x4c, 0x6f,
+	0x91, 0xe7, 0xce, 0xa8, 0x6d, 0xb9, 0xa6, 0xd9, 0xeb, 0x76, 0xf7, 0xcb, 0x2b, 0x9c, 0xaa, 0x36,
+	0x9e, 0x52, 0x0b, 0xfa, 0x6f, 0x72, 0xb0, 0xd5, 0x10, 0xdd, 0x4e, 0x95, 0x96, 0x41, 0x7f, 0x35,
+	0xa1, 0x2c, 0xe2, 0xb7, 0x2b, 0xbc, 0x11, 0x7f, 0x49, 0xed, 0xc8, 0x74, 0x1d, 0x05, 0xab, 0xa2,
+	0xa2, 0xb4, 0x9d, 0x4c, 0x6c, 0x3d, 0x85, 0x15, 0xd5, 0xe3, 0x05, 0xa8, 0x4a, 0x3b, 0xdf, 0xbb,
+	0xa9, 0x57, 0x1a, 0xb1, 0xb0, 0x4e, 0x61, 0x63, 0x97, 0x46, 0x77, 0xdf, 0x5f, 0x5c, 0x08, 0xd5,
+	0x30, 0x75, 0x84, 0x0b, 0xe2, 0x42, 0x28, 0xa7, 0xa8, 0xa3, 0xff, 0x13, 0x8f, 0x2a, 0x1b, 0xc7,
+	0xb7, 0xbd, 0x15, 0x79, 0x06, 0xf9, 0x89, 0xd8, 0x49, 0xdd, 0x63, 0xf4, 0x9b, 0x02, 0x21, 0x7d,
+	0x32, 0x94, 0x86, 0x3e, 0x84, 0xad, 0x26, 0xf5, 0xe8, 0xb7, 0xef, 0xa5, 0xbe, 0x07, 0x9b, 0xfb,
+	0x2e, 0x8b, 0x03, 0xcf, 0xbe, 0xf9, 0x46, 0xfa, 0x04, 0xb6, 0x66, 0x2d, 0xb1, 0x31, 0xb6, 0x37,
+	0x4a, 0x3e, 0x82, 0x82, 0xda, 0x8e, 0xa1, 0xa1, 0xc5, 0xb9, 0x90, 0x48, 0xa4, 0xc9, 0x3b, 0xb0,
+	0x36, 0x72, 0x19, 0xe3, 0xdd, 0x99, 0xef, 0xc0, 0x70, 0x3b, 0x3e, 0xaf, 0x56, 0x15, 0xf1, 0x97,
+	0x9c, 0xa6, 0x9f, 0xc2, 0x26, 0x02, 0x27, 0x69, 0x30, 0x77, 0x88, 0x14, 0x7f, 0xa2, 0x25, 0x6d,
+	0x31, 0x89, 0x55, 0x29, 0xa1, 0x61, 0xb4, 0x3e, 0x87, 0xfb, 0xfc, 0x8c, 0xc9, 0x6e, 0x77, 0x89,
+	0xd7, 0x05, 0x6c, 0x5f, 0xb6, 0xa5, 0x22, 0xf6, 0x09, 0x40, 0xb2, 0x69, 0x1c, 0xb3, 0x37, 0x6f,
+	0xee, 0xab, 0x46, 0x4a, 0xe3, 0x76, 0x71, 0xfb, 0x02, 0xb6, 0x31, 0x6e, 0x7c, 0xaa, 0xe1, 0x13,
+	0x4c, 0x0e, 0xa6, 0x6f, 0x7e, 0x96, 0x33, 0x58, 0x4d, 0x5b, 0xe2, 0x37, 0x3e, 0x87, 0x9e, 0x58,
+	0x13, 0x2f, 0xba, 0x72, 0xe3, 0x93, 0xf6, 0xee, 0x2b, 0xf6, 0xa5, 0x1b, 0x1f, 0xde, 0x53, 0xf0,
+	0x1d, 0xea, 0xce, 0x8e, 0xf2, 0xf8, 0xb1, 0xbc, 0x21, 0x58, 0xa9, 0x49, 0xce, 0x76, 0xfe, 0x0c,
+	0xd8, 0x5d, 0xa5, 0x89, 0x03, 0xcb, 0xc7, 0x89, 0x10, 0x92, 0xbf, 0xe0, 0x93, 0x2f, 0x8d, 0x43,
+	0xf2, 0x5e, 0x66, 0xe4, 0x32, 0x40, 0x5f, 0xf9, 0xd1, 0x2d, 0x24, 0x65, 0x8a, 0xf4, 0x9f, 0xfe,
+	0xf6, 0xeb, 0xff, 0xfe, 0x61, 0xe1, 0x11, 0xa9, 0xf1, 0x5f, 0x29, 0x54, 0x6c, 0x58, 0xed, 0x7c,
+	0x1a, 0xb7, 0x8b, 0x9a, 0x08, 0x7d, 0xed, 0x9c, 0xff, 0xbb, 0xa8, 0x25, 0x98, 0xfe, 0x13, 0x3e,
+	0xae, 0xa7, 0x8d, 0x8e, 0x64, 0x3f, 0x39, 0xaf, 0x74, 0xc2, 0xca, 0x8d, 0x25, 0xa3, 0x37, 0x85,
+	0x37, 0x9f, 0x90, 0x8f, 0x5f, 0xd3, 0x9b, 0xda, 0xf9, 0xb4, 0x35, 0x5c, 0x90, 0x3f, 0xe6, 0xf0,
+	0x6e, 0x95, 0x1e, 0x03, 0x24, 0x3b, 0x20, 0x59, 0xa3, 0xa2, 0x32, 0x07, 0x9f, 0xfa, 0x33, 0xe1,
+	0xe2, 0x13, 0xfd, 0x75, 0x03, 0xf6, 0x2c, 0xf7, 0x90, 0xfc, 0x03, 0x1d, 0x9b, 0x69, 0xda, 0xd7,
+	0x38, 0x96, 0xd5, 0xd8, 0xe7, 0x3a, 0xb6, 0x2b, 0x1c, 0xab, 0x57, 0xee, 0x14, 0x3b, 0xee, 0xe5,
+	0xdf, 0xd0, 0xcb, 0x99, 0xa6, 0x7d, 0x8d, 0x97, 0x59, 0x8d, 0x7d, 0xae, 0x97, 0x2a, 0xc3, 0x0f,
+	0xef, 0x96, 0x61, 0x9c, 0x7e, 0xeb, 0xb3, 0x3d, 0x87, 0x3c, 0xbc, 0x16, 0xf3, 0x57, 0x9a, 0x5c,
+	0xe5, 0xfd, 0x5b, 0xc9, 0xaa, 0x0a, 0xf9, 0x99, 0xf0, 0xf8, 0x31, 0x79, 0x74, 0x4b, 0x8f, 0x53,
+	0xfd, 0xeb, 0xef, 0x58, 0xc2, 0xe9, 0x9e, 0x7e, 0x4d, 0x09, 0x67, 0xb4, 0xfd, 0xb9, 0x71, 0xdc,
+	0x13, 0x5e, 0xbd, 0x20, 0x9f, 0xbe, 0xb6, 0x57, 0xb5, 0xf3, 0xf4, 0x70, 0xb8, 0x20, 0x7f, 0xcd,
+	0xc1, 0xbd, 0x4b, 0x0d, 0x94, 0xbc, 0x7f, 0x9d, 0x9f, 0x19, 0x6d, 0xb6, 0x92, 0xfd, 0x52, 0x48,
+	0x4b, 0xea, 0xcf, 0x85, 0xb7, 0x3f, 0x21, 0x8f, 0x6f, 0xe9, 0x2d, 0x13, 0xca, 0xf2, 0x3d, 0xf2,
+	0xe2, 0x43, 0x78, 0xc3, 0x0e, 0x46, 0x59, 0x9b, 0xbc, 0xd8, 0x54, 0xe8, 0x53, 0x6f, 0x9a, 0x1e,
+	0xff, 0xd5, 0xb3, 0x97, 0x3b, 0xce, 0x8b, 0x9f, 0x3f, 0x1f, 0xff, 0x3f, 0x00, 0x00, 0xff, 0xff,
+	0xb0, 0xc9, 0x54, 0x5a, 0xaa, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/datastore.pb.go b/googleapis/datastore/v1/datastore.pb.go
index 6a23018d..dca76646 100644
--- a/googleapis/datastore/v1/datastore.pb.go
+++ b/googleapis/datastore/v1/datastore.pb.go
@@ -1262,80 +1262,80 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1191 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x51, 0x6f, 0xdb, 0x54,
-	0x14, 0xae, 0x93, 0x36, 0x4b, 0x4e, 0xd2, 0x34, 0xbb, 0x1b, 0xcc, 0xca, 0x98, 0x14, 0x5c, 0xaa,
-	0x45, 0xdd, 0x96, 0x6c, 0x81, 0x09, 0xd4, 0x4e, 0xa0, 0x26, 0xcd, 0xd6, 0x88, 0x35, 0x29, 0xb7,
-	0xe9, 0x24, 0x1e, 0x90, 0xe5, 0xda, 0xb7, 0xc6, 0xd4, 0xf1, 0x75, 0xed, 0x9b, 0x8a, 0x08, 0x31,
-	0x09, 0x10, 0xfc, 0x00, 0xf8, 0x05, 0xbc, 0xf0, 0xc4, 0x23, 0x4f, 0x88, 0x7f, 0xc1, 0x23, 0xaf,
-	0xfc, 0x03, 0xfe, 0x00, 0xf2, 0xf5, 0x75, 0x53, 0x67, 0x4e, 0x63, 0x26, 0xde, 0x72, 0x4f, 0xbe,
-	0xef, 0xdc, 0xef, 0x9c, 0x73, 0xef, 0x39, 0xd7, 0xd0, 0x36, 0x29, 0x35, 0x6d, 0xd2, 0x30, 0xa9,
-	0xad, 0x39, 0x66, 0x83, 0x7a, 0x66, 0xd3, 0x24, 0x8e, 0xeb, 0x51, 0x46, 0x9b, 0xe1, 0x5f, 0x9a,
-	0x6b, 0xf9, 0x4d, 0x43, 0x63, 0x9a, 0xcf, 0xa8, 0x47, 0x9a, 0xe7, 0x8f, 0xa6, 0x8b, 0x06, 0xc7,
-	0xa1, 0x1b, 0xc2, 0xc7, 0xd4, 0x7e, 0xfe, 0xa8, 0xda, 0x4b, 0xe7, 0x58, 0x73, 0xad, 0xa6, 0x4f,
-	0xbc, 0x73, 0x4b, 0x27, 0x3a, 0x75, 0x4e, 0x2c, 0xb3, 0xa9, 0x39, 0x0e, 0x65, 0x1a, 0xb3, 0xa8,
-	0xe3, 0x87, 0xfe, 0xab, 0x1f, 0xbd, 0x86, 0x46, 0xe2, 0x30, 0x8b, 0x4d, 0x84, 0x83, 0x0f, 0x5f,
-	0xc3, 0xc1, 0xd9, 0x98, 0x78, 0x82, 0xaf, 0xfc, 0x2c, 0xc1, 0xea, 0x73, 0x4a, 0x4f, 0xc7, 0x2e,
-	0x26, 0x67, 0x63, 0xe2, 0x33, 0x74, 0x07, 0xc0, 0xf5, 0xe8, 0x17, 0x44, 0x67, 0xaa, 0x65, 0xc8,
-	0xf9, 0x9a, 0x54, 0x2f, 0xe0, 0x82, 0xb0, 0xf4, 0x0c, 0xd4, 0x81, 0x92, 0x47, 0x34, 0x43, 0xa5,
-	0x2e, 0x8f, 0x43, 0x96, 0x6a, 0x52, 0xbd, 0xd8, 0xaa, 0x35, 0x12, 0x12, 0xd5, 0xc0, 0x44, 0x33,
-	0x06, 0x21, 0x0e, 0x17, 0xbd, 0xe9, 0x02, 0xdd, 0x87, 0xe5, 0x53, 0x32, 0xf1, 0xe5, 0x6c, 0x2d,
-	0x5b, 0x2f, 0xb6, 0xe4, 0x44, 0xf2, 0xc7, 0x64, 0x82, 0x39, 0x4a, 0xf9, 0x43, 0x82, 0x72, 0xa4,
-	0xd1, 0x77, 0xa9, 0xe3, 0x13, 0xf4, 0x3e, 0xac, 0x9c, 0xd0, 0xb1, 0x63, 0xc8, 0x12, 0xf7, 0xf0,
-	0x76, 0xa2, 0x87, 0x2e, 0x4f, 0x14, 0x26, 0xfe, 0xd8, 0x66, 0x38, 0xc4, 0xa3, 0x6d, 0xb8, 0x36,
-	0xb2, 0x7c, 0xdf, 0x72, 0x4c, 0x39, 0x93, 0x96, 0x1a, 0x31, 0xd0, 0x7b, 0x90, 0x37, 0xc8, 0x09,
-	0xf1, 0x3c, 0x62, 0x2c, 0x94, 0x7e, 0x81, 0x54, 0x7e, 0xcf, 0xc0, 0x1a, 0x1e, 0x3b, 0x9f, 0x04,
-	0x59, 0x4f, 0x9f, 0x64, 0x57, 0xf3, 0x98, 0x15, 0x64, 0x2b, 0x00, 0x64, 0xae, 0x48, 0xf2, 0x41,
-	0x04, 0xec, 0x19, 0xb8, 0xe8, 0x4e, 0x17, 0xff, 0x4f, 0xa5, 0x5a, 0xb0, 0xc2, 0x8f, 0x8b, 0x9c,
-	0xe5, 0xec, 0x6a, 0x22, 0x9b, 0x87, 0xb6, 0xb7, 0x84, 0x43, 0x28, 0x7a, 0x02, 0x05, 0xf3, 0xcc,
-	0x56, 0x43, 0xde, 0x35, 0xce, 0xbb, 0x93, 0xc8, 0x7b, 0x76, 0x66, 0x47, 0xd4, 0xbc, 0x29, 0x7e,
-	0xb7, 0x4b, 0x00, 0x9c, 0xa9, 0xb2, 0x89, 0x4b, 0x94, 0x6f, 0x24, 0xa8, 0x4c, 0x93, 0x27, 0xaa,
-	0xbf, 0x0d, 0x2b, 0xc7, 0x1a, 0xd3, 0x3f, 0x17, 0x21, 0x6d, 0xcc, 0x17, 0x15, 0x56, 0xb0, 0x1d,
-	0x80, 0x71, 0xc8, 0x41, 0x0f, 0xa3, 0x88, 0x32, 0x8b, 0x22, 0x12, 0xf1, 0x28, 0x1f, 0xc0, 0xad,
-	0x36, 0x31, 0x2d, 0x67, 0xe8, 0x69, 0x8e, 0xaf, 0xe9, 0x41, 0x62, 0xd2, 0xd5, 0x51, 0x79, 0x02,
-	0xf2, 0xab, 0x4c, 0x11, 0x44, 0x0d, 0x8a, 0x6c, 0x6a, 0xe6, 0xa1, 0x94, 0xf0, 0x65, 0x93, 0x82,
-	0x61, 0x0d, 0x53, 0xdb, 0x3e, 0xd6, 0xf4, 0xd3, 0x94, 0xe7, 0x66, 0xb1, 0x4f, 0x04, 0x95, 0xa9,
-	0xcf, 0x50, 0x89, 0xf2, 0x6b, 0x06, 0x56, 0x3b, 0x74, 0x34, 0xb2, 0x58, 0xca, 0x6d, 0xb6, 0x61,
-	0x79, 0x44, 0x0d, 0x22, 0xaf, 0xd4, 0xa4, 0x7a, 0xb9, 0x75, 0x37, 0x31, 0x83, 0x31, 0x87, 0x8d,
-	0x7d, 0x6a, 0x10, 0xcc, 0x49, 0x48, 0x49, 0xd0, 0xb8, 0xb7, 0x14, 0x53, 0x89, 0xb6, 0xa1, 0x30,
-	0x1a, 0x8b, 0x4e, 0x29, 0xe7, 0xf8, 0x4d, 0x4b, 0x3e, 0x41, 0xfb, 0x02, 0x85, 0xa7, 0x78, 0xe5,
-	0x29, 0x2c, 0x07, 0xdb, 0xa1, 0x9b, 0x50, 0xd9, 0x1f, 0xec, 0x76, 0xd5, 0xa3, 0xfe, 0xe1, 0x41,
-	0xb7, 0xd3, 0x7b, 0xda, 0xeb, 0xee, 0x56, 0x96, 0xd0, 0x75, 0x58, 0x1d, 0xe2, 0x9d, 0xfe, 0xe1,
-	0x4e, 0x67, 0xd8, 0x1b, 0xf4, 0x77, 0x9e, 0x57, 0x24, 0xf4, 0x06, 0x5c, 0xef, 0x0f, 0xfa, 0x6a,
-	0xdc, 0x9c, 0x69, 0xbf, 0x09, 0x37, 0x2f, 0x69, 0x52, 0x7d, 0x62, 0x13, 0x9d, 0x51, 0x4f, 0xf9,
-	0x5e, 0x82, 0x72, 0x14, 0x9d, 0xa8, 0x65, 0x1f, 0x2a, 0xd1, 0xfe, 0xaa, 0xc7, 0x8f, 0x5c, 0xd4,
-	0xdb, 0xd6, 0xaf, 0x96, 0x1d, 0x36, 0x98, 0xb5, 0x51, 0x6c, 0xed, 0xa3, 0x75, 0x58, 0xb5, 0x1c,
-	0x83, 0x7c, 0xa9, 0x8e, 0x5d, 0x43, 0x63, 0xc4, 0x97, 0x97, 0x6b, 0x52, 0x7d, 0x05, 0x97, 0xb8,
-	0xf1, 0x28, 0xb4, 0x29, 0x1a, 0xa0, 0x1d, 0xdb, 0xa6, 0xba, 0xc6, 0x48, 0xcf, 0xf0, 0x53, 0x96,
-	0x2e, 0xea, 0xbc, 0x52, 0xaa, 0xce, 0xdb, 0x81, 0x1b, 0xb1, 0x2d, 0x44, 0xb8, 0xff, 0xcd, 0xc9,
-	0x6f, 0x19, 0xc8, 0x47, 0x01, 0xa3, 0xc7, 0x90, 0xb3, 0x1c, 0x9f, 0x78, 0x8c, 0x87, 0x54, 0x6c,
-	0xdd, 0xbe, 0xa2, 0xfd, 0xee, 0x2d, 0x61, 0x01, 0x0e, 0x68, 0x61, 0x2a, 0xf8, 0x99, 0x5b, 0x4c,
-	0x0b, 0xc1, 0x21, 0x8d, 0xef, 0x96, 0x4b, 0x49, 0xe3, 0xbb, 0xb5, 0x20, 0x67, 0x10, 0x9b, 0x30,
-	0x22, 0xba, 0xd7, 0xdc, 0x08, 0x03, 0x4e, 0x88, 0x44, 0xeb, 0x50, 0x3a, 0xd6, 0x7c, 0xa2, 0x9e,
-	0x13, 0xcf, 0x0f, 0xce, 0x75, 0x90, 0xf9, 0xec, 0x9e, 0x84, 0x8b, 0x81, 0xf5, 0x45, 0x68, 0x6c,
-	0x17, 0xa1, 0x40, 0x5d, 0xe2, 0xf1, 0x54, 0xb4, 0xef, 0xc0, 0xed, 0xe0, 0x5d, 0x60, 0x5b, 0x3a,
-	0x53, 0x0d, 0xc2, 0x88, 0x38, 0x66, 0xcc, 0xd3, 0x18, 0x31, 0x27, 0xca, 0x77, 0x12, 0x94, 0xe3,
-	0xe7, 0x04, 0x6d, 0x42, 0xf6, 0x94, 0x44, 0xad, 0x78, 0x7e, 0xda, 0x03, 0x10, 0x92, 0xe1, 0x5a,
-	0x24, 0x25, 0xc8, 0x74, 0x16, 0x47, 0x4b, 0x74, 0x0f, 0xae, 0xcf, 0xec, 0x4b, 0x0c, 0x9e, 0xd6,
-	0x3c, 0xae, 0x44, 0x7f, 0xec, 0x0a, 0xbb, 0xf2, 0x8f, 0x04, 0xc5, 0x4b, 0xc3, 0x01, 0x7d, 0x06,
-	0x15, 0x3e, 0x54, 0x74, 0xea, 0xf8, 0x96, 0xcf, 0x88, 0xa3, 0x4f, 0xf8, 0x15, 0x2e, 0xb7, 0x1e,
-	0x2e, 0x1a, 0x2c, 0xfc, 0x77, 0x67, 0xca, 0xdb, 0x5b, 0xc2, 0x6b, 0x5e, 0xdc, 0x34, 0xdb, 0x1c,
-	0x32, 0x09, 0xcd, 0x41, 0xd9, 0x87, 0xb5, 0x19, 0x4f, 0xa8, 0x06, 0x6f, 0xe1, 0xee, 0xce, 0xae,
-	0xda, 0x19, 0xf4, 0x0f, 0x7b, 0x87, 0xc3, 0x6e, 0xbf, 0xf3, 0xe9, 0xcc, 0xb5, 0x07, 0xc8, 0x1d,
-	0x0e, 0xf1, 0xa0, 0xff, 0xac, 0x22, 0xa1, 0x12, 0xe4, 0xbb, 0x2f, 0xba, 0xfd, 0xe1, 0x11, 0xbf,
-	0xe6, 0x08, 0x2a, 0x97, 0x82, 0xe1, 0x53, 0xa7, 0xf5, 0x57, 0x0e, 0x0a, 0xbb, 0x51, 0x18, 0xe8,
-	0x25, 0xe4, 0xc2, 0xe7, 0x07, 0x52, 0x12, 0x63, 0x8c, 0xbd, 0x9f, 0xaa, 0xeb, 0x57, 0x62, 0x44,
-	0xcb, 0xbd, 0xf7, 0xed, 0x9f, 0x7f, 0xff, 0x94, 0xd9, 0x50, 0x6a, 0xc1, 0x7b, 0x4c, 0xdc, 0x4e,
-	0xbf, 0xf9, 0xd5, 0xf4, 0xe6, 0x7e, 0xbd, 0x65, 0x73, 0xc6, 0x96, 0xb4, 0x89, 0x7e, 0x90, 0x20,
-	0x1f, 0xcd, 0x40, 0xf4, 0x4e, 0x72, 0x9a, 0xe3, 0xef, 0x8b, 0xea, 0xc6, 0x02, 0x94, 0x90, 0xf1,
-	0x80, 0xcb, 0xb8, 0xab, 0x28, 0xf3, 0x65, 0x78, 0x82, 0x13, 0x08, 0xf9, 0x45, 0x82, 0xca, 0xec,
-	0x3c, 0x43, 0xf7, 0x13, 0xb7, 0x9a, 0x33, 0x30, 0xab, 0x0f, 0x52, 0xa2, 0x85, 0xc0, 0xc7, 0x5c,
-	0x60, 0x53, 0xd9, 0x9c, 0x2f, 0xf0, 0x78, 0x86, 0x1b, 0x08, 0x7d, 0x09, 0xb9, 0xb0, 0x43, 0xcf,
-	0xa9, 0x58, 0x6c, 0x38, 0xcd, 0xa9, 0x58, 0xbc, 0xc5, 0xa7, 0xa9, 0x98, 0xce, 0x19, 0x17, 0x15,
-	0x13, 0x63, 0x76, 0x5e, 0xc5, 0xe2, 0x93, 0x7d, 0x5e, 0xc5, 0x66, 0x67, 0x75, 0x9a, 0x8a, 0x09,
-	0x4e, 0x20, 0xe4, 0x47, 0x09, 0x8a, 0x97, 0x3a, 0x38, 0x4a, 0x9e, 0xd5, 0xaf, 0x8e, 0x91, 0x6a,
-	0x7d, 0x31, 0x50, 0x28, 0x7a, 0xc8, 0x15, 0x6d, 0x2a, 0x1b, 0xf3, 0x15, 0x69, 0x53, 0xda, 0x96,
-	0xb4, 0xd9, 0xbe, 0x07, 0xb7, 0x74, 0x3a, 0x4a, 0xda, 0xa0, 0x5d, 0xbe, 0xb8, 0x75, 0x07, 0xc1,
-	0xe7, 0xc9, 0x81, 0x74, 0x9c, 0xe3, 0xdf, 0x29, 0xef, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0xb9,
-	0x33, 0xe7, 0xde, 0xce, 0x0d, 0x00, 0x00,
+	// 1187 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x5f, 0x6f, 0xdb, 0xd4,
+	0x1b, 0x9e, 0xd3, 0x36, 0x4d, 0xde, 0xa4, 0x6d, 0x7a, 0xb6, 0xdf, 0x6f, 0x51, 0x46, 0xa5, 0xe0,
+	0x52, 0x6d, 0x6a, 0xb7, 0xa4, 0x0b, 0x4c, 0xa0, 0x75, 0x02, 0x35, 0x69, 0xb6, 0x45, 0xac, 0x49,
+	0x71, 0xd3, 0x49, 0x5c, 0xa0, 0xc8, 0x8d, 0x4f, 0x8d, 0xa9, 0x63, 0xa7, 0xb6, 0x53, 0x11, 0x21,
+	0x90, 0x00, 0xc1, 0x07, 0x80, 0x4f, 0xc0, 0x0d, 0x57, 0x5c, 0x72, 0x85, 0xf8, 0x16, 0x5c, 0x72,
+	0xcb, 0x37, 0xe0, 0x0b, 0xf0, 0x9e, 0xe3, 0xe3, 0x26, 0xce, 0xec, 0xc6, 0x4c, 0xdc, 0x54, 0xf5,
+	0xeb, 0xe7, 0x79, 0xcf, 0xf3, 0xfe, 0x39, 0xef, 0xeb, 0x40, 0x5d, 0xb7, 0x6d, 0xdd, 0xa4, 0x15,
+	0xdd, 0x36, 0x55, 0x4b, 0xaf, 0xd8, 0x8e, 0x5e, 0xd5, 0xa9, 0x35, 0x74, 0x6c, 0xcf, 0xae, 0xfa,
+	0xaf, 0xd4, 0xa1, 0xe1, 0x56, 0x35, 0xd5, 0x53, 0x5d, 0xcf, 0x76, 0x68, 0xf5, 0xf2, 0xe1, 0xe4,
+	0xa1, 0xc2, 0x71, 0xe4, 0xa6, 0xf0, 0x31, 0xb1, 0x5f, 0x3e, 0x2c, 0xb5, 0x92, 0x39, 0xc6, 0x3f,
+	0x55, 0x97, 0x3a, 0x97, 0x46, 0x9f, 0xf6, 0x6d, 0xeb, 0xcc, 0xd0, 0xab, 0xaa, 0x65, 0xd9, 0x9e,
+	0xea, 0x19, 0xb6, 0xe5, 0xfa, 0xfe, 0x4b, 0x1f, 0xbc, 0x86, 0x46, 0x6a, 0x79, 0x86, 0x37, 0x16,
+	0x0e, 0xde, 0x7f, 0x0d, 0x07, 0x17, 0x23, 0xea, 0x08, 0xbe, 0xfc, 0x93, 0x04, 0x2b, 0x2f, 0x6c,
+	0xfb, 0x7c, 0x34, 0x54, 0x28, 0xda, 0x5d, 0x8f, 0x6c, 0x00, 0xe0, 0xab, 0xcf, 0x68, 0xdf, 0xeb,
+	0x19, 0x5a, 0x31, 0x53, 0x96, 0xee, 0x65, 0x95, 0xac, 0xb0, 0xb4, 0x34, 0xd2, 0x80, 0xbc, 0x43,
+	0x55, 0xad, 0x67, 0x0f, 0x79, 0x1c, 0x45, 0x09, 0x01, 0xb9, 0x5a, 0xb9, 0x12, 0x91, 0xa8, 0x8a,
+	0x82, 0xc0, 0x8e, 0x8f, 0x53, 0x72, 0xce, 0xe4, 0x81, 0xdc, 0x87, 0xc5, 0x73, 0x3a, 0x76, 0x8b,
+	0x0b, 0xe5, 0x05, 0x24, 0x17, 0x23, 0xc9, 0x1f, 0xd2, 0xb1, 0xc2, 0x51, 0xf2, 0xef, 0x12, 0xac,
+	0x06, 0x1a, 0xdd, 0x21, 0xf2, 0x29, 0x79, 0x17, 0x96, 0xce, 0xec, 0x91, 0xa5, 0xe1, 0xf1, 0xcc,
+	0xc3, 0x9b, 0x91, 0x1e, 0x9a, 0x3c, 0x51, 0xc8, 0x19, 0x99, 0x9e, 0xe2, 0xe3, 0xc9, 0x1e, 0x2c,
+	0x0f, 0x0c, 0xd7, 0x35, 0x2c, 0xbd, 0x98, 0x4a, 0x4a, 0x0d, 0x18, 0xe4, 0x1d, 0xc8, 0x68, 0xf4,
+	0x8c, 0x3a, 0x0e, 0xd5, 0xe6, 0x4a, 0xbf, 0x42, 0xca, 0xbf, 0xa5, 0x60, 0x4d, 0x19, 0x59, 0x1f,
+	0xb1, 0xac, 0x27, 0x4f, 0xf2, 0x50, 0x75, 0x50, 0x02, 0x66, 0x8b, 0x01, 0x52, 0xd7, 0x24, 0xf9,
+	0x28, 0x00, 0xb6, 0x34, 0x25, 0x37, 0x9c, 0x3c, 0xfc, 0x37, 0x95, 0xaa, 0xc1, 0x12, 0x6f, 0x17,
+	0x8c, 0x97, 0xb1, 0x4b, 0x91, 0x6c, 0x1e, 0xda, 0xf3, 0x1b, 0x8a, 0x0f, 0x25, 0x4f, 0x20, 0xab,
+	0x5f, 0x98, 0x3d, 0x9f, 0xb7, 0xcc, 0x79, 0x1b, 0x91, 0xbc, 0x67, 0x17, 0x66, 0x40, 0xcd, 0xe8,
+	0xe2, 0xff, 0x7a, 0x1e, 0x80, 0x33, 0x7b, 0xde, 0x78, 0x48, 0xe5, 0xaf, 0x25, 0x28, 0x4c, 0x92,
+	0x27, 0xaa, 0xbf, 0x07, 0x4b, 0xa7, 0xaa, 0xd7, 0xff, 0x54, 0x84, 0xb4, 0x15, 0x2f, 0xca, 0xaf,
+	0x60, 0x9d, 0x81, 0x15, 0x9f, 0x43, 0x76, 0x83, 0x88, 0x52, 0xf3, 0x22, 0x12, 0xf1, 0xc8, 0xef,
+	0xc1, 0xed, 0x3a, 0xd5, 0x0d, 0xab, 0xeb, 0xa8, 0x96, 0xab, 0xf6, 0x59, 0x62, 0x92, 0xd5, 0x51,
+	0x7e, 0x02, 0xc5, 0x57, 0x99, 0x22, 0x88, 0x32, 0xe4, 0xbc, 0x89, 0x99, 0x87, 0x92, 0x57, 0xa6,
+	0x4d, 0xb2, 0x82, 0x7d, 0x63, 0x9b, 0xe6, 0xa9, 0xda, 0x3f, 0x4f, 0xd8, 0x37, 0xf3, 0x7d, 0x12,
+	0x4c, 0xe7, 0x95, 0x4f, 0x5f, 0x89, 0xfc, 0x4b, 0x0a, 0x56, 0x1a, 0xf6, 0x60, 0x60, 0x78, 0x09,
+	0x8f, 0xd9, 0x83, 0xc5, 0x81, 0xad, 0xd1, 0xe2, 0x12, 0xbe, 0x58, 0xad, 0xdd, 0x8d, 0xcc, 0x60,
+	0xc8, 0x61, 0xe5, 0x10, 0xe1, 0x0a, 0x27, 0x11, 0x39, 0x42, 0x23, 0x36, 0xc0, 0xb4, 0x11, 0x0f,
+	0xc8, 0x0e, 0x46, 0x62, 0x52, 0x16, 0xd3, 0xfc, 0xa6, 0x45, 0x77, 0xd0, 0xa1, 0x40, 0x29, 0x13,
+	0xbc, 0xfc, 0x14, 0x16, 0xd9, 0x71, 0xe4, 0x16, 0x14, 0x0e, 0x3b, 0x07, 0xcd, 0xde, 0x49, 0xfb,
+	0xf8, 0xa8, 0xd9, 0x68, 0x3d, 0x6d, 0x35, 0x0f, 0x0a, 0x37, 0xc8, 0x3a, 0xac, 0x74, 0x95, 0xfd,
+	0xf6, 0xf1, 0x7e, 0xa3, 0xdb, 0xea, 0xb4, 0xf7, 0x5f, 0x14, 0x24, 0xf2, 0x3f, 0x58, 0x6f, 0x77,
+	0xda, 0xbd, 0xb0, 0x39, 0x55, 0xff, 0x3f, 0xdc, 0x9a, 0xd2, 0xd4, 0x73, 0xa9, 0x89, 0xd1, 0xdb,
+	0x8e, 0xfc, 0x1d, 0x8e, 0xa3, 0x20, 0x3a, 0x51, 0xcb, 0x36, 0x14, 0x82, 0xf3, 0x7b, 0x0e, 0x6f,
+	0xb9, 0x60, 0xb6, 0x6d, 0x5e, 0x2f, 0xdb, 0x1f, 0x30, 0x6b, 0x83, 0xd0, 0xb3, 0x4b, 0x36, 0x61,
+	0xc5, 0xb0, 0x34, 0xfa, 0x79, 0x6f, 0x34, 0x44, 0x1e, 0x75, 0x8b, 0x8b, 0x98, 0xa5, 0x25, 0x25,
+	0xcf, 0x8d, 0x27, 0xbe, 0x4d, 0x56, 0x81, 0xec, 0x9b, 0xa6, 0xdd, 0xc7, 0x87, 0x96, 0xe6, 0x26,
+	0x2c, 0x5d, 0x30, 0x79, 0xa5, 0x44, 0x93, 0xb7, 0x01, 0x37, 0x43, 0x47, 0x88, 0x70, 0xff, 0x9d,
+	0x93, 0x5f, 0x53, 0x90, 0x09, 0x02, 0x26, 0x8f, 0x20, 0x6d, 0xa0, 0x0b, 0xc7, 0xe3, 0x21, 0xe5,
+	0x6a, 0x77, 0xae, 0x19, 0xbf, 0xd8, 0x15, 0x02, 0xcc, 0x68, 0x7e, 0x2a, 0x78, 0xcf, 0xcd, 0xa7,
+	0xf9, 0x60, 0x9f, 0xc6, 0x4f, 0x4b, 0x27, 0xa4, 0xf1, 0xd3, 0x6a, 0x90, 0xd6, 0xb0, 0xda, 0x78,
+	0x9a, 0x3f, 0xbd, 0x62, 0x23, 0x64, 0x1c, 0x1f, 0x89, 0x25, 0xcb, 0x9f, 0xaa, 0x2e, 0xed, 0x5d,
+	0x52, 0xc7, 0x65, 0x7d, 0xcd, 0x32, 0xbf, 0xf0, 0x5c, 0x52, 0x72, 0xcc, 0xfa, 0xd2, 0x37, 0xd6,
+	0x73, 0x90, 0xb5, 0x87, 0xd4, 0xe1, 0xa9, 0xa8, 0x6f, 0xc0, 0x1d, 0xf6, 0x5d, 0x60, 0x1a, 0x58,
+	0x2a, 0x0d, 0x5d, 0x88, 0x36, 0xc3, 0x9e, 0xf3, 0xa8, 0x3e, 0x96, 0xbf, 0xc5, 0x36, 0x0b, 0xf7,
+	0x09, 0xd9, 0x86, 0x05, 0xcc, 0xa8, 0x18, 0xc5, 0xf1, 0x69, 0x67, 0x20, 0x52, 0x84, 0xe5, 0x40,
+	0x0a, 0xcb, 0xf4, 0x82, 0x12, 0x3c, 0x92, 0x1d, 0x58, 0x9f, 0x39, 0x17, 0xd7, 0x19, 0x4b, 0x6b,
+	0x46, 0x29, 0x04, 0x2f, 0x0e, 0x84, 0x5d, 0xfe, 0x5b, 0x82, 0xdc, 0xd4, 0x72, 0x20, 0x9f, 0x40,
+	0x81, 0x2f, 0x15, 0x04, 0xba, 0x86, 0xeb, 0x51, 0xab, 0x3f, 0xe6, 0x57, 0x78, 0xb5, 0xb6, 0x3b,
+	0x6f, 0xb1, 0xf0, 0xff, 0x1b, 0x13, 0x1e, 0x26, 0x6f, 0xcd, 0x09, 0x9b, 0x66, 0x87, 0x43, 0x2a,
+	0x62, 0x38, 0xc8, 0x87, 0x38, 0x16, 0x67, 0x68, 0x65, 0x78, 0x43, 0x69, 0xee, 0x1f, 0xf4, 0x1a,
+	0x9d, 0xf6, 0x71, 0xeb, 0xb8, 0xdb, 0x6c, 0x37, 0x3e, 0x9e, 0xb9, 0xf6, 0x00, 0xe9, 0xe3, 0xae,
+	0xd2, 0x69, 0x3f, 0xc3, 0xfb, 0x9e, 0x87, 0x4c, 0xf3, 0x65, 0xb3, 0xdd, 0x3d, 0xe1, 0xd7, 0x1c,
+	0x27, 0xe2, 0x54, 0x30, 0x7c, 0xeb, 0xd4, 0xfe, 0x4c, 0x43, 0xf6, 0x20, 0x08, 0x83, 0x7c, 0x05,
+	0x69, 0xff, 0xf3, 0x83, 0xc8, 0x91, 0x31, 0x86, 0xbe, 0x9f, 0x4a, 0x9b, 0xd7, 0x62, 0xc4, 0xc8,
+	0xdd, 0xf9, 0xe6, 0x8f, 0xbf, 0x7e, 0x4c, 0x6d, 0xc9, 0x65, 0xf6, 0x3d, 0x26, 0x6e, 0xa7, 0x5b,
+	0xfd, 0x62, 0x72, 0x73, 0xbf, 0x7c, 0x6c, 0x72, 0xc6, 0x63, 0x69, 0x9b, 0x7c, 0x2f, 0x41, 0x26,
+	0xd8, 0x81, 0xe4, 0xad, 0xe8, 0x34, 0x87, 0xbf, 0x2f, 0x4a, 0x5b, 0x73, 0x50, 0x42, 0xc6, 0x03,
+	0x2e, 0xe3, 0xae, 0x2c, 0xc7, 0xcb, 0x70, 0x04, 0x87, 0x09, 0xf9, 0x19, 0x97, 0xf1, 0xec, 0x3e,
+	0x23, 0xf7, 0x23, 0x8f, 0x8a, 0x59, 0x98, 0xa5, 0x07, 0x09, 0xd1, 0x42, 0xe0, 0x23, 0x2e, 0xb0,
+	0x2a, 0x6f, 0xc7, 0x0b, 0x3c, 0x9d, 0xe1, 0x32, 0xa1, 0x58, 0x31, 0x7f, 0x42, 0xc7, 0x54, 0x2c,
+	0xb4, 0x9c, 0x62, 0x2a, 0x16, 0x1e, 0xf1, 0x49, 0x2a, 0xd6, 0xe7, 0x8c, 0xab, 0x8a, 0x89, 0x35,
+	0x1b, 0x57, 0xb1, 0xf0, 0x66, 0x8f, 0xab, 0xd8, 0xec, 0xae, 0x4e, 0x52, 0x31, 0xc1, 0x61, 0x42,
+	0x7e, 0xc0, 0xeb, 0x3b, 0x35, 0xc1, 0x49, 0xf4, 0xae, 0x7e, 0x75, 0x8d, 0x94, 0xee, 0xcd, 0x07,
+	0x0a, 0x45, 0xbb, 0x5c, 0xd1, 0xb6, 0xbc, 0x15, 0xaf, 0x48, 0x9d, 0xd0, 0x50, 0x54, 0x7d, 0x07,
+	0x6e, 0x63, 0xaa, 0xa2, 0x0e, 0xa8, 0xaf, 0x5e, 0xdd, 0xba, 0x23, 0xf6, 0xf3, 0xe4, 0x48, 0x3a,
+	0x4d, 0xf3, 0xdf, 0x29, 0x6f, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x33, 0xe7, 0xde, 0xce,
+	0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/entity.pb.go b/googleapis/datastore/v1/entity.pb.go
index ea25027e..c1c13e2c 100644
--- a/googleapis/datastore/v1/entity.pb.go
+++ b/googleapis/datastore/v1/entity.pb.go
@@ -678,54 +678,52 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 771 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0x6f, 0x8f, 0xdb, 0x44,
-	0x10, 0xc6, 0xed, 0xe4, 0x72, 0xbd, 0x8c, 0xd3, 0xbb, 0xb2, 0x57, 0x09, 0x2b, 0x08, 0x35, 0x1c,
-	0x20, 0x45, 0x20, 0xd9, 0xed, 0x21, 0x44, 0x45, 0x05, 0x94, 0xa0, 0x43, 0x8e, 0xae, 0x82, 0x68,
-	0x55, 0x21, 0xf1, 0x2a, 0xda, 0xd8, 0x73, 0xbe, 0xe5, 0xec, 0x5d, 0xcb, 0x5e, 0x47, 0xf5, 0x77,
-	0xe1, 0x93, 0x21, 0x3e, 0x0c, 0xda, 0x3f, 0x71, 0x4e, 0x90, 0x96, 0xbe, 0x8a, 0x3d, 0xfb, 0x7b,
-	0x9e, 0x3c, 0xe3, 0x19, 0x1b, 0x7e, 0xc8, 0xa5, 0xcc, 0x0b, 0x8c, 0x72, 0x59, 0x30, 0x91, 0x47,
-	0xb2, 0xce, 0xe3, 0x1c, 0x45, 0x55, 0x4b, 0x25, 0x63, 0x7b, 0xc4, 0x2a, 0xde, 0xc4, 0x19, 0x53,
-	0xac, 0x51, 0xb2, 0xc6, 0x78, 0xfb, 0x2c, 0x46, 0xa1, 0xb8, 0xea, 0x22, 0x03, 0x91, 0x73, 0x67,
-	0xd0, 0x13, 0xd1, 0xf6, 0xd9, 0x74, 0xf9, 0x7e, 0xae, 0xac, 0xe2, 0x71, 0x83, 0xf5, 0x96, 0xa7,
-	0x98, 0x4a, 0x71, 0xc3, 0xf3, 0x98, 0x09, 0x21, 0x15, 0x53, 0x5c, 0x8a, 0xc6, 0xfa, 0x4f, 0xbf,
-	0xce, 0xb9, 0xba, 0x6d, 0x37, 0x51, 0x2a, 0xcb, 0xd8, 0xda, 0xc5, 0xe6, 0x60, 0xd3, 0xde, 0xc4,
-	0x95, 0xea, 0x2a, 0x6c, 0xe2, 0x46, 0xd5, 0x6d, 0xaa, 0xdc, 0x8f, 0x93, 0xbd, 0xf8, 0x7f, 0x99,
-	0xe2, 0x25, 0x36, 0x8a, 0x95, 0xd5, 0xfe, 0xca, 0x89, 0xbf, 0x7f, 0xbf, 0xf8, 0xda, 0x26, 0x2e,
-	0x98, 0x2a, 0x44, 0xee, 0x7e, 0xac, 0xfe, 0xe2, 0x57, 0x08, 0x56, 0xac, 0x56, 0x5c, 0xf7, 0xb1,
-	0xcc, 0xc8, 0xc7, 0x00, 0x55, 0x2d, 0xff, 0xc0, 0x54, 0xad, 0x79, 0x16, 0x0e, 0x66, 0xfe, 0x7c,
-	0x4c, 0xc7, 0xae, 0xb2, 0xcc, 0xc8, 0x27, 0x30, 0x11, 0xac, 0xc4, 0xa6, 0x62, 0x29, 0x6a, 0xe0,
-	0xc8, 0x00, 0x41, 0x5f, 0x5b, 0x66, 0x17, 0x7f, 0xf9, 0x30, 0xbc, 0xc6, 0x8e, 0xfc, 0x04, 0x93,
-	0x6a, 0x67, 0xac, 0x51, 0x7f, 0xe6, 0xcf, 0x83, 0xcb, 0x59, 0x74, 0x60, 0x06, 0xd1, 0xbd, 0x04,
-	0x34, 0xa8, 0xee, 0xc5, 0x79, 0x0e, 0x47, 0x15, 0x53, 0xb7, 0xe1, 0x60, 0x36, 0x9c, 0x07, 0x97,
-	0x9f, 0x1d, 0x14, 0x5f, 0x63, 0x17, 0xad, 0x98, 0xba, 0xbd, 0x2a, 0xb0, 0x44, 0xa1, 0xa8, 0x51,
-	0x4c, 0x5f, 0xeb, 0xbe, 0xfa, 0x22, 0x21, 0x70, 0x74, 0xc7, 0x85, 0x4d, 0x31, 0xa6, 0xe6, 0x9a,
-	0x3c, 0x82, 0x81, 0xeb, 0x71, 0x98, 0x78, 0x74, 0xc0, 0x33, 0xf2, 0x18, 0x8e, 0x74, 0x2b, 0xe1,
-	0x50, 0x53, 0x89, 0x47, 0xcd, 0xdd, 0x62, 0x0c, 0x0f, 0x78, 0xb6, 0xd6, 0x4f, 0xf0, 0xe2, 0x25,
-	0xc0, 0x8f, 0x75, 0xcd, 0xba, 0xdf, 0x58, 0xd1, 0x22, 0xb9, 0x84, 0xe3, 0xad, 0xbe, 0x68, 0x42,
-	0xdf, 0xe4, 0x9b, 0x1e, 0xcc, 0x67, 0x58, 0xea, 0xc8, 0x8b, 0x3f, 0x47, 0x30, 0xb2, 0xea, 0x17,
-	0x00, 0xa2, 0x2d, 0x8a, 0xb5, 0x39, 0x08, 0x83, 0x99, 0x3f, 0x3f, 0xdd, 0x3b, 0xec, 0x16, 0x20,
-	0xfa, 0xa5, 0x2d, 0x0a, 0xc3, 0x27, 0x1e, 0x1d, 0x8b, 0xdd, 0x0d, 0xf9, 0x1c, 0x1e, 0x6e, 0xa4,
-	0x2c, 0x90, 0x09, 0xa7, 0xd7, 0x8d, 0x9d, 0x24, 0x1e, 0x9d, 0xb8, 0x72, 0x8f, 0x71, 0xa1, 0x30,
-	0xc7, 0xda, 0x61, 0xbb, 0x6e, 0x27, 0xae, 0x6c, 0xb1, 0x4f, 0x61, 0x92, 0xc9, 0x76, 0x53, 0xa0,
-	0xa3, 0x74, 0xff, 0x7e, 0xe2, 0xd1, 0xc0, 0x56, 0x2d, 0x74, 0x05, 0x67, 0xfd, 0xf2, 0x39, 0x0e,
-	0xcc, 0x4c, 0xff, 0x1b, 0xfa, 0xf5, 0x8e, 0x4b, 0x3c, 0x7a, 0xda, 0x8b, 0xac, 0xcd, 0x37, 0x30,
-	0xbe, 0xc3, 0xce, 0x19, 0x8c, 0x8c, 0x41, 0xf8, 0xb6, 0xb9, 0x26, 0x1e, 0x3d, 0xb9, 0xc3, 0xae,
-	0x0f, 0xd9, 0xa8, 0x9a, 0x8b, 0xdc, 0x69, 0x3f, 0x70, 0x43, 0x0a, 0x6c, 0xd5, 0x42, 0x4f, 0x00,
-	0x36, 0x85, 0xdc, 0x38, 0x84, 0xcc, 0xfc, 0xf9, 0x44, 0x3f, 0x38, 0x5d, 0xb3, 0xc0, 0x77, 0x70,
-	0x96, 0xa3, 0x5c, 0x57, 0x92, 0x0b, 0xe5, 0xa8, 0x13, 0x13, 0xe2, 0x7c, 0x17, 0x42, 0x0f, 0x3a,
-	0x7a, 0xc5, 0xd4, 0x2b, 0x91, 0x27, 0x1e, 0x7d, 0x98, 0xa3, 0x5c, 0x69, 0xd8, 0xca, 0x5f, 0xc2,
-	0xc4, 0x7e, 0x52, 0x9c, 0xf6, 0xd8, 0x68, 0x3f, 0x3a, 0xd8, 0xc0, 0x95, 0x01, 0x75, 0x42, 0x2b,
-	0xb1, 0x0e, 0x0b, 0x08, 0x98, 0x5e, 0x21, 0x67, 0x30, 0x36, 0x06, 0x4f, 0x0e, 0x1a, 0xec, 0x57,
-	0x2d, 0xf1, 0x28, 0xb0, 0xfd, 0xe2, 0x85, 0xf0, 0xa0, 0x44, 0x26, 0xb8, 0xc8, 0xc3, 0xd3, 0x99,
-	0x3f, 0x1f, 0xd1, 0xdd, 0x2d, 0x79, 0x0a, 0x8f, 0xf1, 0x4d, 0x5a, 0xb4, 0x19, 0xae, 0x6f, 0x6a,
-	0x59, 0xae, 0xb9, 0xc8, 0xf0, 0x0d, 0x36, 0xe1, 0xb9, 0x5e, 0x0f, 0x4a, 0xdc, 0xd9, 0xcf, 0xb5,
-	0x2c, 0x97, 0xf6, 0x64, 0x31, 0x01, 0x30, 0x49, 0xec, 0x82, 0xff, 0xed, 0xc3, 0xb1, 0xcd, 0x4d,
-	0xbe, 0x80, 0xe1, 0x1d, 0x76, 0xee, 0xbd, 0x7d, 0xeb, 0x88, 0xa8, 0x86, 0xc8, 0xb5, 0xf9, 0x6c,
-	0x54, 0x58, 0x2b, 0x8e, 0x4d, 0x38, 0x34, 0x6f, 0xc3, 0x97, 0xef, 0x78, 0x28, 0xd1, 0xaa, 0xa7,
-	0xaf, 0x84, 0xaa, 0x3b, 0x7a, 0x4f, 0x3e, 0xfd, 0x1d, 0xce, 0xfe, 0x75, 0x4c, 0x1e, 0xed, 0xb3,
-	0x8c, 0xed, 0x3f, 0x3e, 0x85, 0xd1, 0x7e, 0xa3, 0xdf, 0xfd, 0xea, 0x59, 0xf0, 0xdb, 0xc1, 0x73,
-	0x7f, 0x31, 0x87, 0x0f, 0x53, 0x59, 0x1e, 0x62, 0x17, 0x81, 0x4d, 0xb6, 0xd2, 0x3b, 0xbc, 0xf2,
-	0x37, 0xc7, 0x66, 0x99, 0xbf, 0xfa, 0x27, 0x00, 0x00, 0xff, 0xff, 0x52, 0x4d, 0x39, 0xbd, 0x75,
-	0x06, 0x00, 0x00,
+	// 752 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0xed, 0x6e, 0xd3, 0x3e,
+	0x14, 0xc6, 0xff, 0x5d, 0x5f, 0xb6, 0x9c, 0x64, 0xdb, 0x1f, 0x6f, 0x12, 0x55, 0x11, 0xda, 0x28,
+	0x20, 0x4d, 0x20, 0x25, 0xdb, 0x10, 0x62, 0x62, 0x02, 0x46, 0xd1, 0x10, 0xd5, 0x26, 0xa8, 0xa2,
+	0x09, 0x89, 0x4f, 0x95, 0xdb, 0x7a, 0x59, 0x58, 0x6a, 0x47, 0x89, 0x5b, 0xad, 0xf7, 0xc2, 0x95,
+	0x21, 0x2e, 0x86, 0xe3, 0x97, 0xa4, 0x13, 0x74, 0x63, 0x5f, 0xda, 0xe4, 0xf8, 0xf7, 0x3c, 0x7e,
+	0x6c, 0x1f, 0x07, 0xde, 0x45, 0x42, 0x44, 0x09, 0xf3, 0x23, 0x91, 0x50, 0x1e, 0xf9, 0x22, 0x8b,
+	0x82, 0x88, 0xf1, 0x34, 0x13, 0x52, 0x04, 0x66, 0x88, 0xa6, 0x71, 0x1e, 0x8c, 0xa8, 0xa4, 0xb9,
+	0x14, 0x19, 0x0b, 0xa6, 0x7b, 0x01, 0xe3, 0x32, 0x96, 0x33, 0x5f, 0x43, 0x64, 0xc3, 0x1a, 0x94,
+	0x84, 0x3f, 0xdd, 0x6b, 0x75, 0xef, 0xe6, 0x8a, 0x3f, 0x41, 0xce, 0xb2, 0x69, 0x3c, 0x64, 0x43,
+	0xc1, 0xcf, 0xe3, 0x28, 0xa0, 0x9c, 0x0b, 0x49, 0x65, 0x2c, 0x78, 0x6e, 0xfc, 0x5b, 0x2f, 0xa3,
+	0x58, 0x5e, 0x4c, 0x06, 0xfe, 0x50, 0x8c, 0x03, 0x63, 0x17, 0xe8, 0x81, 0xc1, 0xe4, 0x3c, 0x48,
+	0xe5, 0x2c, 0x65, 0x79, 0x90, 0xcb, 0x6c, 0x32, 0x94, 0xf6, 0xcf, 0xca, 0x0e, 0xff, 0x2d, 0x93,
+	0xf1, 0x98, 0xe5, 0x92, 0x8e, 0xd3, 0xf9, 0x93, 0x15, 0xbf, 0xbd, 0x5b, 0x7c, 0x65, 0x13, 0x24,
+	0x54, 0x26, 0x68, 0x6e, 0xfe, 0x8c, 0xbe, 0xfd, 0x05, 0xdc, 0x1e, 0xcd, 0x70, 0x93, 0x70, 0x1d,
+	0xdd, 0x11, 0x79, 0x08, 0x80, 0xf5, 0xef, 0x6c, 0x28, 0xfb, 0xf1, 0xa8, 0xb9, 0xb4, 0x5d, 0xd9,
+	0x71, 0x42, 0xc7, 0x56, 0x70, 0xf8, 0x11, 0x78, 0x9c, 0x62, 0x80, 0x94, 0x0e, 0x99, 0x02, 0x6a,
+	0x1a, 0x70, 0xcb, 0x5a, 0x77, 0xd4, 0xfe, 0x59, 0x81, 0xea, 0x09, 0x9b, 0x91, 0x0f, 0xe0, 0xa5,
+	0x85, 0xb1, 0x42, 0x2b, 0x88, 0xba, 0xfb, 0xdb, 0xfe, 0x82, 0x33, 0xf0, 0xaf, 0x25, 0x08, 0xdd,
+	0xf4, 0x5a, 0x9c, 0x03, 0xa8, 0xa5, 0x54, 0x5e, 0x60, 0x90, 0x2a, 0x8a, 0x9f, 0x2c, 0x14, 0xe3,
+	0x64, 0x68, 0x20, 0x2f, 0x8e, 0x13, 0x36, 0xc6, 0xe3, 0x0e, 0xb5, 0xa2, 0x75, 0xa6, 0xd6, 0x55,
+	0x16, 0x09, 0x81, 0xda, 0x65, 0xcc, 0x4d, 0x0a, 0x27, 0xd4, 0xcf, 0xe4, 0x7f, 0x58, 0xb2, 0x6b,
+	0xac, 0x7e, 0xfa, 0x2f, 0xc4, 0x67, 0xb2, 0x09, 0x35, 0xb5, 0x94, 0x66, 0x55, 0x51, 0x58, 0xd3,
+	0x6f, 0x1d, 0x07, 0x96, 0xe3, 0x51, 0x5f, 0xed, 0x60, 0xfb, 0x08, 0xe0, 0x7d, 0x96, 0xd1, 0xd9,
+	0x57, 0x9a, 0x4c, 0x18, 0xd9, 0x87, 0xc6, 0x54, 0x3d, 0xe4, 0x68, 0xab, 0xf2, 0xb5, 0x16, 0xe6,
+	0xd3, 0x6c, 0x68, 0xc9, 0xf6, 0x8f, 0x3a, 0xd4, 0x8d, 0xfa, 0x10, 0x80, 0x4f, 0x92, 0xa4, 0xaf,
+	0x07, 0x9a, 0x2e, 0x4e, 0xb9, 0x36, 0x77, 0x28, 0x1a, 0xc0, 0xff, 0x8c, 0x88, 0xe6, 0x31, 0x8e,
+	0xc3, 0x8b, 0x17, 0xf2, 0x14, 0x56, 0x07, 0x42, 0xe0, 0xe1, 0x72, 0xab, 0x57, 0x0b, 0x5b, 0x41,
+	0xc6, 0xb3, 0xe5, 0x12, 0x8b, 0xb9, 0x64, 0x11, 0xcb, 0x2c, 0x56, 0xac, 0xd6, 0xb3, 0x65, 0x83,
+	0x3d, 0x06, 0x6f, 0x24, 0x26, 0x83, 0x84, 0x59, 0x4a, 0xad, 0xbf, 0x82, 0x94, 0x6b, 0xaa, 0x06,
+	0x3a, 0x86, 0xf5, 0xb2, 0xf9, 0x2c, 0x07, 0xfa, 0x4c, 0xff, 0x0e, 0x7d, 0x56, 0x70, 0xe8, 0xb1,
+	0x56, 0x8a, 0x8c, 0xcd, 0x2b, 0x70, 0x2e, 0xd9, 0xcc, 0x1a, 0xd4, 0xb5, 0x41, 0xf3, 0xa6, 0x73,
+	0x45, 0xf9, 0x0a, 0xc2, 0x65, 0x48, 0xbc, 0x36, 0x31, 0x8f, 0xac, 0xf6, 0x9e, 0x3d, 0x24, 0xd7,
+	0x54, 0x0d, 0xb4, 0x05, 0x30, 0x48, 0xc4, 0xc0, 0x22, 0x04, 0x11, 0x4f, 0x6d, 0x9c, 0xaa, 0x19,
+	0xe0, 0x0d, 0xac, 0x47, 0x4c, 0xf4, 0x53, 0x81, 0x1b, 0x60, 0xa9, 0x15, 0x1d, 0x62, 0xa3, 0x08,
+	0xa1, 0x0e, 0xda, 0x3f, 0xa5, 0xf2, 0x94, 0x47, 0x28, 0x5d, 0x45, 0xba, 0xa7, 0x60, 0x23, 0x3f,
+	0x02, 0xcf, 0x7c, 0x52, 0xac, 0xb6, 0xa1, 0xb5, 0x0f, 0x16, 0x2e, 0xe0, 0x58, 0x83, 0x2a, 0xa1,
+	0x91, 0x18, 0x87, 0x0e, 0xb8, 0x54, 0xb5, 0x90, 0x35, 0x70, 0xb4, 0xc1, 0xd6, 0x42, 0x83, 0x79,
+	0xab, 0xa1, 0x09, 0xd0, 0x79, 0xe3, 0x35, 0x61, 0x79, 0x8c, 0x67, 0x8c, 0xab, 0x6e, 0xae, 0xa1,
+	0xbe, 0x1e, 0x16, 0xaf, 0x64, 0x17, 0x36, 0xd9, 0xd5, 0x30, 0x99, 0x8c, 0x58, 0xff, 0x3c, 0x13,
+	0xe3, 0x3e, 0xf6, 0x39, 0xbb, 0xc2, 0x06, 0xdd, 0x50, 0xed, 0x11, 0x12, 0x3b, 0xf6, 0x11, 0x87,
+	0xba, 0x66, 0xa4, 0xe3, 0x01, 0xe8, 0x24, 0xa6, 0xc1, 0x7f, 0x55, 0xa0, 0x61, 0x72, 0x93, 0x67,
+	0x50, 0xc5, 0xbd, 0xb7, 0xf7, 0xf6, 0xc6, 0x23, 0x0a, 0x15, 0x44, 0x4e, 0xf4, 0x67, 0x23, 0x65,
+	0x78, 0x73, 0x71, 0xb2, 0xaa, 0xbe, 0x0d, 0xcf, 0x6f, 0xd9, 0x14, 0xbf, 0x57, 0xd2, 0x58, 0xc8,
+	0x66, 0xe1, 0x35, 0x79, 0xeb, 0x1b, 0xac, 0xff, 0x31, 0x8c, 0x57, 0xb5, 0xcc, 0xe2, 0x98, 0x19,
+	0x77, 0xa1, 0x3e, 0xef, 0xe8, 0xdb, 0xaf, 0x9e, 0x01, 0x5f, 0x2f, 0x1d, 0x54, 0x3a, 0x3b, 0x70,
+	0x1f, 0xbf, 0xb2, 0x8b, 0xd8, 0x8e, 0x6b, 0x92, 0xf5, 0x54, 0x0f, 0xf7, 0x2a, 0x83, 0x86, 0x6e,
+	0xe6, 0x17, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x52, 0x4d, 0x39, 0xbd, 0x75, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/query.pb.go b/googleapis/datastore/v1/query.pb.go
index 9bbd93eb..a65a05b7 100644
--- a/googleapis/datastore/v1/query.pb.go
+++ b/googleapis/datastore/v1/query.pb.go
@@ -759,87 +759,86 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 1305 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xed, 0x72, 0xd3, 0x46,
-	0x17, 0x8e, 0xfc, 0x91, 0xc4, 0xc7, 0x5f, 0x62, 0x79, 0x5f, 0x10, 0xe1, 0x65, 0xde, 0x44, 0xd0,
-	0x92, 0xce, 0x80, 0x0d, 0x66, 0x98, 0xd2, 0x0e, 0x2d, 0xe3, 0x0f, 0x25, 0x36, 0x18, 0xcb, 0x59,
-	0x3b, 0x50, 0xfa, 0x47, 0xa3, 0xd8, 0x1b, 0x47, 0x45, 0xd6, 0x8a, 0xd5, 0x26, 0x34, 0x17, 0xd2,
-	0x99, 0x5e, 0x49, 0x7f, 0xf4, 0x02, 0xda, 0x5e, 0x44, 0x7f, 0xf7, 0x77, 0x2f, 0xa1, 0xa3, 0xd5,
-	0xca, 0x5f, 0x31, 0x26, 0xd3, 0xe1, 0x97, 0xad, 0xb3, 0xcf, 0xf3, 0xec, 0x39, 0x67, 0xcf, 0x9e,
-	0x3d, 0xf0, 0xed, 0x88, 0xd2, 0x91, 0x4b, 0x4a, 0x23, 0xea, 0xda, 0xde, 0xa8, 0x44, 0xd9, 0xa8,
-	0x3c, 0x22, 0x9e, 0xcf, 0x28, 0xa7, 0xe5, 0x68, 0xc9, 0xf6, 0x9d, 0xa0, 0x3c, 0xb4, 0xb9, 0x1d,
-	0x70, 0xca, 0x48, 0xf9, 0xec, 0x61, 0xf9, 0xdd, 0x29, 0x61, 0xe7, 0x25, 0x81, 0x41, 0x57, 0x25,
-	0x7f, 0x02, 0x28, 0x9d, 0x3d, 0xdc, 0x6a, 0x5d, 0x4e, 0xd4, 0xf6, 0x9d, 0x72, 0x40, 0xd8, 0x99,
-	0x33, 0x20, 0x03, 0xea, 0x1d, 0x3b, 0xa3, 0xb2, 0xed, 0x79, 0x94, 0xdb, 0xdc, 0xa1, 0x5e, 0x10,
-	0xe9, 0x6f, 0x3d, 0xfb, 0x17, 0xfe, 0x11, 0x8f, 0x3b, 0x5c, 0x3a, 0xb8, 0xf5, 0xd5, 0xc8, 0xe1,
-	0x27, 0xa7, 0x47, 0xa5, 0x01, 0x1d, 0x97, 0x23, 0x91, 0xb2, 0x58, 0x38, 0x3a, 0x3d, 0x2e, 0xfb,
-	0xfc, 0xdc, 0x27, 0x41, 0xf9, 0x3d, 0xb3, 0x7d, 0x9f, 0xb0, 0xe9, 0x1f, 0x49, 0xbd, 0x64, 0x6e,
-	0x42, 0x91, 0xb2, 0x6b, 0x73, 0xd7, 0x1b, 0xc9, 0x9f, 0x88, 0xaf, 0xff, 0xa1, 0x40, 0xce, 0x10,
-	0xbe, 0x60, 0x12, 0x9c, 0xba, 0x1c, 0x3d, 0x82, 0xf5, 0xc8, 0x37, 0x4d, 0xd9, 0x56, 0x76, 0xb3,
-	0x95, 0x9b, 0xa5, 0x25, 0xd9, 0x2b, 0x49, 0x8a, 0x84, 0x22, 0x0d, 0x36, 0xce, 0x08, 0x0b, 0x1c,
-	0xea, 0x69, 0xa9, 0x6d, 0x65, 0x37, 0x89, 0xe3, 0x4f, 0x74, 0x0d, 0xd6, 0x07, 0xa7, 0x2c, 0xa0,
-	0x4c, 0x4b, 0x6e, 0x2b, 0xbb, 0x39, 0x2c, 0xbf, 0xf4, 0x03, 0x80, 0x68, 0xc3, 0xfe, 0xb9, 0x4f,
-	0xd0, 0x4d, 0xb8, 0x8e, 0x8d, 0xde, 0x61, 0xbb, 0x6f, 0xf5, 0xdf, 0x74, 0x0d, 0xeb, 0xb0, 0xd3,
-	0xeb, 0x1a, 0xf5, 0xd6, 0x5e, 0xcb, 0x68, 0xa8, 0x6b, 0x68, 0x13, 0x52, 0x7b, 0x87, 0xed, 0xb6,
-	0xaa, 0xa0, 0x02, 0x40, 0x17, 0x9b, 0xcf, 0x8d, 0x7a, 0xbf, 0x65, 0x76, 0xd4, 0x04, 0xca, 0xc1,
-	0xe6, 0x0b, 0xe3, 0x8d, 0x65, 0x76, 0xda, 0x6f, 0xd4, 0xa4, 0xfe, 0x5b, 0x12, 0xd2, 0x07, 0xe1,
-	0xb1, 0xa3, 0x67, 0x00, 0x3e, 0xa3, 0x3f, 0x90, 0x41, 0x78, 0x4a, 0x5a, 0x62, 0x3b, 0xb9, 0x9b,
-	0xad, 0xfc, 0x7f, 0x69, 0x1c, 0xdd, 0x09, 0x0c, 0xcf, 0x50, 0xd0, 0x97, 0x90, 0x7a, 0xeb, 0x78,
-	0x43, 0x2d, 0x29, 0xa8, 0xb7, 0x97, 0x52, 0x5f, 0x38, 0xde, 0xd0, 0xf8, 0xd1, 0x67, 0x24, 0x08,
-	0x03, 0xc5, 0x82, 0x10, 0x66, 0xef, 0xd8, 0x71, 0x39, 0x61, 0x22, 0x0f, 0x1f, 0xca, 0xde, 0x9e,
-	0x80, 0x60, 0x09, 0x45, 0x4f, 0x20, 0x4d, 0xd9, 0x90, 0x30, 0x2d, 0x2d, 0xb6, 0xd3, 0x3f, 0xe4,
-	0xa9, 0x4f, 0x18, 0x3f, 0x37, 0x43, 0x24, 0x8e, 0x08, 0x68, 0x1f, 0xb2, 0x43, 0x27, 0xe0, 0x8e,
-	0x37, 0xe0, 0x16, 0xf5, 0xb4, 0x75, 0xc1, 0xff, 0x7c, 0x25, 0x1f, 0x93, 0x63, 0xc2, 0x88, 0x37,
-	0x20, 0x18, 0x62, 0xaa, 0xe9, 0xa1, 0x1d, 0xc8, 0x05, 0xdc, 0x66, 0xdc, 0x92, 0x87, 0xb5, 0x21,
-	0x0e, 0x2b, 0x2b, 0x6c, 0x75, 0x61, 0x42, 0xb7, 0x00, 0x88, 0x37, 0x8c, 0x01, 0x9b, 0x02, 0x90,
-	0x21, 0xde, 0x50, 0x2e, 0x5f, 0x83, 0x75, 0x7a, 0x7c, 0x1c, 0x10, 0xae, 0xc1, 0xb6, 0xb2, 0x9b,
-	0xc6, 0xf2, 0x0b, 0x3d, 0x84, 0xb4, 0xeb, 0x8c, 0x1d, 0xae, 0xe5, 0xe6, 0x13, 0x12, 0x17, 0x78,
-	0xa9, 0xe5, 0xf1, 0x47, 0x95, 0x57, 0xb6, 0x7b, 0x4a, 0x70, 0x84, 0xd4, 0xef, 0x40, 0x61, 0x3e,
-	0xb9, 0x08, 0x41, 0xca, 0xb3, 0xc7, 0x44, 0x94, 0x64, 0x06, 0x8b, 0xff, 0xfa, 0x5d, 0xb8, 0x72,
-	0x21, 0xa6, 0x09, 0x30, 0x31, 0x03, 0xec, 0x02, 0x4c, 0x8f, 0x19, 0xd5, 0x60, 0xd3, 0x97, 0x34,
-	0x59, 0xe1, 0x97, 0xcd, 0xd7, 0x84, 0xa7, 0xff, 0xa5, 0x40, 0x7e, 0xee, 0x3c, 0x3e, 0x85, 0x2a,
-	0x7a, 0x0e, 0x99, 0xa1, 0xc3, 0x26, 0x45, 0xab, 0xec, 0x16, 0x2a, 0xf7, 0x3e, 0x5e, 0x0a, 0xa5,
-	0x46, 0xcc, 0xc1, 0x53, 0xba, 0x6e, 0x40, 0x66, 0x62, 0x47, 0x37, 0xe0, 0xbf, 0x8d, 0x16, 0x8e,
-	0x6e, 0xcd, 0xc2, 0xdd, 0xca, 0x43, 0xa6, 0xda, 0xab, 0x1b, 0x9d, 0x46, 0xab, 0xb3, 0x1f, 0x5d,
-	0xb0, 0x86, 0x31, 0xf9, 0x4e, 0xe8, 0xbf, 0x2a, 0xb0, 0x1e, 0x15, 0x2b, 0x3a, 0x00, 0x75, 0x40,
-	0xc7, 0x3e, 0x0d, 0x1c, 0x4e, 0x2c, 0x59, 0xe3, 0x51, 0xa4, 0x77, 0x96, 0x3a, 0x59, 0x8f, 0xc1,
-	0x11, 0xbf, 0xb9, 0x86, 0x8b, 0x83, 0x79, 0x13, 0xea, 0x40, 0x31, 0x0e, 0x3e, 0x56, 0x4c, 0x08,
-	0xc5, 0xdb, 0x2b, 0xc3, 0x9e, 0x08, 0x16, 0xfc, 0x39, 0x4b, 0x2d, 0x0f, 0xd9, 0x48, 0xc6, 0x0a,
-	0xdb, 0x9d, 0xfe, 0x8b, 0x02, 0xc5, 0x05, 0x2f, 0xd0, 0x37, 0x90, 0xa0, 0xbe, 0xf0, 0xbb, 0x50,
-	0xb9, 0x7f, 0x19, 0xbf, 0x4b, 0xa6, 0x4f, 0x98, 0xcd, 0x29, 0xc3, 0x09, 0xea, 0xa3, 0xc7, 0xb0,
-	0x11, 0xed, 0x10, 0xc8, 0xae, 0xb2, 0xf2, 0x7e, 0xc7, 0x58, 0xfd, 0x3e, 0x6c, 0xc6, 0x32, 0x48,
-	0x83, 0xff, 0x98, 0x5d, 0x03, 0x57, 0xfb, 0x26, 0x5e, 0x38, 0x8b, 0x0d, 0x48, 0x56, 0x3b, 0x0d,
-	0x55, 0xd1, 0xff, 0x4c, 0x40, 0x61, 0x3e, 0xd8, 0x4f, 0x52, 0x5f, 0x4f, 0x45, 0xec, 0x97, 0x29,
-	0xac, 0x65, 0xa1, 0x3f, 0x80, 0xf4, 0x59, 0x78, 0x49, 0x45, 0x1f, 0xcf, 0x56, 0xb6, 0x96, 0x0a,
-	0xc8, 0x6b, 0x2c, 0x80, 0xfa, 0x4f, 0xca, 0xa5, 0xc2, 0xce, 0x43, 0xa6, 0x6d, 0xf4, 0x7a, 0x56,
-	0xbf, 0x59, 0xed, 0xa8, 0x0a, 0xba, 0x06, 0x68, 0xf2, 0x69, 0x99, 0xd8, 0x32, 0x0e, 0x0e, 0xab,
-	0x6d, 0x35, 0x81, 0x54, 0xc8, 0xed, 0x63, 0xa3, 0xda, 0x37, 0x70, 0x84, 0x4c, 0x86, 0x65, 0x3d,
-	0x6b, 0x99, 0x82, 0x53, 0x28, 0x03, 0xe9, 0xe8, 0x6f, 0x3a, 0xe4, 0x35, 0xab, 0x3d, 0xab, 0xda,
-	0xa9, 0x1b, 0xbd, 0xbe, 0x89, 0xd5, 0xac, 0xfe, 0x77, 0x02, 0x36, 0xf7, 0xdf, 0xb9, 0xd1, 0x53,
-	0xb1, 0x03, 0x39, 0x31, 0x2a, 0x58, 0x01, 0x67, 0x8e, 0x37, 0x92, 0x1d, 0x26, 0x2b, 0x6c, 0x3d,
-	0x61, 0x42, 0x9f, 0x41, 0xc1, 0x76, 0x5d, 0xfa, 0xde, 0x72, 0x1d, 0x4e, 0x98, 0xed, 0x06, 0x22,
-	0x87, 0x9b, 0x38, 0x2f, 0xac, 0x6d, 0x69, 0x44, 0xaf, 0xa1, 0x10, 0xb6, 0x9b, 0xa1, 0x75, 0xe4,
-	0x78, 0x43, 0xc7, 0x1b, 0x05, 0xb2, 0x9d, 0x3f, 0x58, 0x9a, 0xa9, 0xd8, 0x81, 0x52, 0x27, 0xe4,
-	0xd4, 0x24, 0xc5, 0xf0, 0x38, 0x3b, 0xc7, 0x79, 0x6f, 0xd6, 0x86, 0x5e, 0xc3, 0x55, 0x51, 0x91,
-	0x0e, 0xf5, 0x6c, 0x77, 0xaa, 0x9e, 0x5a, 0xd1, 0xec, 0x63, 0xf5, 0xae, 0xcd, 0xec, 0x31, 0x09,
-	0x6b, 0x11, 0x4d, 0x25, 0x62, 0xe1, 0xad, 0x13, 0x40, 0x17, 0x77, 0x47, 0x2a, 0x24, 0xdf, 0x92,
-	0x73, 0x99, 0x88, 0xf0, 0x2f, 0x7a, 0x1a, 0x1f, 0x7d, 0x62, 0x45, 0xe5, 0x5d, 0xdc, 0x32, 0x22,
-	0x7d, 0x9d, 0x78, 0xa2, 0xe8, 0x01, 0x5c, 0xb9, 0xb0, 0x8e, 0x2a, 0xf3, 0xb2, 0x2b, 0x2a, 0xaa,
-	0xb9, 0x26, 0xc5, 0x90, 0x36, 0x3f, 0x4e, 0x34, 0xd7, 0xe2, 0x81, 0xa2, 0xa6, 0x42, 0xc1, 0x8f,
-	0xa5, 0xa3, 0xfb, 0xff, 0x7b, 0x0a, 0x54, 0xb1, 0x65, 0x34, 0x68, 0xd4, 0x6c, 0x3e, 0x38, 0x41,
-	0x77, 0xa1, 0x18, 0xbc, 0x75, 0x7c, 0x9f, 0x0c, 0x2d, 0x26, 0xcc, 0x81, 0xb6, 0x2e, 0xde, 0xab,
-	0x82, 0x34, 0x47, 0xe0, 0x20, 0x3c, 0xf5, 0x18, 0x38, 0x37, 0xc0, 0xe4, 0xa5, 0x55, 0x3e, 0x7b,
-	0xdf, 0x03, 0x8a, 0x66, 0x20, 0x29, 0x27, 0xb6, 0x96, 0x0d, 0xe6, 0xde, 0xaa, 0xd1, 0x49, 0xa0,
-	0x4b, 0xd3, 0x19, 0x08, 0xab, 0x64, 0x66, 0x41, 0x4c, 0x45, 0x4d, 0x28, 0xcc, 0x69, 0xc7, 0x4d,
-	0x67, 0xe7, 0xa3, 0xba, 0x38, 0x3f, 0x2b, 0x16, 0x2c, 0xbc, 0xdd, 0xa9, 0xc5, 0xb7, 0xfb, 0x3b,
-	0xc8, 0x8d, 0x29, 0x23, 0x93, 0x6d, 0xd2, 0xc2, 0xfd, 0xc7, 0x4b, 0xb7, 0x59, 0xcc, 0x68, 0xe9,
-	0x25, 0x65, 0x44, 0xee, 0x23, 0xe2, 0xc8, 0x8e, 0xa7, 0x06, 0xf4, 0x05, 0xa8, 0x81, 0x67, 0xfb,
-	0xc1, 0x09, 0xe5, 0x56, 0x3c, 0x21, 0x6e, 0x88, 0x09, 0xb1, 0x18, 0xdb, 0x5f, 0x45, 0x66, 0xfd,
-	0x67, 0x05, 0x8a, 0x0b, 0x5a, 0x68, 0x07, 0x6e, 0xbd, 0x34, 0xb1, 0x61, 0x45, 0xc3, 0x61, 0x6f,
-	0xd9, 0x74, 0xa8, 0x42, 0xae, 0x63, 0xf6, 0xad, 0xbd, 0x56, 0xa7, 0xd5, 0x6b, 0x1a, 0x0d, 0x55,
-	0x41, 0xff, 0x03, 0x6d, 0x8e, 0x54, 0xdd, 0x0b, 0x5b, 0x44, 0xbb, 0xf5, 0xb2, 0xd5, 0x57, 0x13,
-	0xe8, 0x16, 0xdc, 0x58, 0xb2, 0x5a, 0x3f, 0xc4, 0x3d, 0x13, 0xab, 0x29, 0x74, 0x15, 0x8a, 0x1d,
-	0xd3, 0x9a, 0x45, 0xa8, 0xc9, 0xda, 0x5d, 0xb8, 0x3e, 0xa0, 0xe3, 0x65, 0xe9, 0xa8, 0x41, 0x54,
-	0xd4, 0xe1, 0x30, 0xd3, 0x55, 0x8e, 0xd6, 0xc5, 0x54, 0xf3, 0xe8, 0x9f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x8b, 0xda, 0x5f, 0xf8, 0xb2, 0x0c, 0x00, 0x00,
+	// 1294 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x72, 0xd3, 0x46,
+	0x14, 0x46, 0xfe, 0x49, 0x9c, 0xe3, 0x9f, 0x88, 0xa5, 0x05, 0x13, 0xca, 0x14, 0x04, 0x2d, 0x74,
+	0x06, 0x24, 0x08, 0xc3, 0x94, 0x76, 0xda, 0x32, 0xb6, 0xa3, 0x24, 0x06, 0x23, 0x3b, 0x6b, 0x87,
+	0x96, 0xde, 0x68, 0x14, 0x5b, 0x71, 0x54, 0x14, 0x49, 0x48, 0x4a, 0x68, 0x1e, 0xa4, 0x33, 0x7d,
+	0x92, 0x5e, 0xf4, 0x01, 0xda, 0x3e, 0x44, 0xaf, 0x7b, 0xdd, 0x47, 0xe8, 0xd1, 0xee, 0xca, 0x7f,
+	0x31, 0xc6, 0xd3, 0xe1, 0x26, 0xb1, 0xce, 0x7e, 0xdf, 0xb7, 0xe7, 0x9c, 0x3d, 0x7b, 0xf6, 0xc0,
+	0x77, 0x43, 0xdf, 0x1f, 0xba, 0xb6, 0x3a, 0xf4, 0x5d, 0xcb, 0x1b, 0xaa, 0x7e, 0x38, 0xd4, 0x86,
+	0xb6, 0x17, 0x84, 0x7e, 0xec, 0x6b, 0x7c, 0xc9, 0x0a, 0x9c, 0x48, 0x1b, 0x58, 0xb1, 0x15, 0xc5,
+	0x7e, 0x68, 0x6b, 0xa7, 0x0f, 0xb5, 0x37, 0x27, 0x76, 0x78, 0xa6, 0x32, 0x0c, 0xb9, 0x24, 0xf8,
+	0x23, 0x80, 0x7a, 0xfa, 0x70, 0xa3, 0xb9, 0x9c, 0x28, 0xfe, 0xd1, 0x22, 0x3b, 0x3c, 0x75, 0xfa,
+	0x76, 0xdf, 0xf7, 0x0e, 0x9d, 0xa1, 0x66, 0x79, 0x9e, 0x1f, 0x5b, 0xb1, 0xe3, 0x7b, 0x11, 0xd7,
+	0xdf, 0x78, 0xfa, 0x3f, 0xfc, 0xb3, 0xbd, 0xd8, 0x89, 0x85, 0x83, 0x1b, 0x5f, 0x0d, 0x9d, 0xf8,
+	0xe8, 0xe4, 0x40, 0xed, 0xfb, 0xc7, 0x1a, 0x17, 0xd1, 0xd8, 0xc2, 0xc1, 0xc9, 0xa1, 0x16, 0xc4,
+	0x67, 0x81, 0x1d, 0x69, 0x6f, 0x43, 0x2b, 0x08, 0xec, 0x70, 0xfc, 0x43, 0x50, 0x97, 0xcc, 0x4d,
+	0x22, 0xa2, 0xb9, 0x56, 0xec, 0xa2, 0x34, 0xff, 0xc7, 0xf9, 0xca, 0x5f, 0x12, 0x94, 0x74, 0xe6,
+	0x0b, 0xb5, 0xa3, 0x13, 0x37, 0x26, 0x8f, 0x60, 0x85, 0xfb, 0x56, 0x95, 0x6e, 0x48, 0x77, 0x8b,
+	0x9b, 0xd7, 0xd4, 0x39, 0xd9, 0x53, 0x05, 0x45, 0x40, 0x49, 0x15, 0x56, 0x4f, 0xd1, 0x27, 0xcc,
+	0x49, 0x35, 0x87, 0xac, 0x2c, 0x4d, 0x3f, 0xc9, 0x65, 0x58, 0xe9, 0x9f, 0x84, 0x91, 0x1f, 0x56,
+	0xb3, 0xb8, 0x50, 0xa2, 0xe2, 0x4b, 0xd9, 0x03, 0xe0, 0x1b, 0xf6, 0xd0, 0x33, 0x72, 0x0d, 0xae,
+	0x50, 0xbd, 0xbb, 0xdf, 0xea, 0x99, 0xbd, 0x57, 0x1d, 0xdd, 0xdc, 0x37, 0xba, 0x1d, 0xbd, 0xd1,
+	0xdc, 0x6e, 0xea, 0x5b, 0xf2, 0x05, 0x52, 0x80, 0xdc, 0xf6, 0x7e, 0xab, 0x25, 0x4b, 0xa4, 0x02,
+	0xd0, 0xa1, 0xed, 0x67, 0x7a, 0xa3, 0xd7, 0x6c, 0x1b, 0x72, 0x86, 0x94, 0xa0, 0xf0, 0x5c, 0x7f,
+	0x65, 0xb6, 0x8d, 0xd6, 0x2b, 0x39, 0xab, 0xfc, 0x91, 0x85, 0xfc, 0x5e, 0x72, 0xec, 0xe4, 0x29,
+	0x00, 0x46, 0xf7, 0x93, 0xdd, 0x4f, 0x4e, 0xa9, 0x9a, 0xb9, 0x91, 0xc5, 0x38, 0x3e, 0x9d, 0x1b,
+	0x47, 0x67, 0x04, 0xa3, 0x13, 0x14, 0xf2, 0x25, 0xe4, 0x5e, 0x3b, 0xde, 0x00, 0x7d, 0x4e, 0xa8,
+	0xb7, 0xe6, 0x52, 0x9f, 0x23, 0x40, 0xff, 0x39, 0x08, 0xed, 0x28, 0x09, 0x94, 0x32, 0x42, 0x92,
+	0xbd, 0x43, 0xc7, 0x8d, 0xed, 0x90, 0xe5, 0xe1, 0x5d, 0xd9, 0xdb, 0x66, 0x10, 0x2a, 0xa0, 0xe4,
+	0x09, 0xe4, 0xfd, 0x70, 0x80, 0x9c, 0x3c, 0xdb, 0x4e, 0x79, 0x97, 0xa7, 0x78, 0xec, 0xf1, 0x59,
+	0x3b, 0x41, 0x52, 0x4e, 0x20, 0x3b, 0x50, 0x1c, 0x38, 0x51, 0xec, 0x78, 0xfd, 0xd8, 0xc4, 0x48,
+	0x57, 0x18, 0xff, 0xf3, 0x85, 0x7c, 0x6a, 0x1f, 0xda, 0xa1, 0xed, 0xf5, 0x6d, 0x0a, 0x29, 0xb5,
+	0xed, 0x91, 0x9b, 0x50, 0x8a, 0x62, 0x2b, 0x8c, 0x4d, 0x71, 0x58, 0xab, 0xec, 0xb0, 0x8a, 0xcc,
+	0xd6, 0x60, 0x26, 0x72, 0x1d, 0xc0, 0xf6, 0x06, 0x29, 0xa0, 0xc0, 0x00, 0x6b, 0x68, 0x11, 0xcb,
+	0x78, 0xd0, 0xfe, 0xe1, 0x61, 0x64, 0xc7, 0x55, 0xc0, 0xa5, 0x3c, 0x15, 0x5f, 0xe4, 0x21, 0xe4,
+	0x5d, 0xe7, 0xd8, 0x89, 0xab, 0xa5, 0xe9, 0x84, 0xa4, 0x05, 0xae, 0x36, 0xbd, 0xf8, 0xd1, 0xe6,
+	0x4b, 0xcb, 0x3d, 0xb1, 0x29, 0x47, 0x2a, 0xb7, 0xa1, 0x32, 0x9d, 0x5c, 0x42, 0x20, 0xe7, 0x59,
+	0xc7, 0x36, 0x2b, 0xc9, 0x35, 0xca, 0x7e, 0x2b, 0x77, 0xe0, 0xe2, 0xb9, 0x98, 0x46, 0xc0, 0xcc,
+	0x04, 0xb0, 0x83, 0x55, 0x33, 0x3e, 0xda, 0x3a, 0x14, 0x02, 0x41, 0x13, 0x15, 0xbe, 0x6c, 0xbe,
+	0x46, 0x3c, 0xe5, 0x1f, 0x09, 0xca, 0x53, 0xe7, 0xf1, 0x21, 0x54, 0xc9, 0x33, 0x58, 0x1b, 0x38,
+	0xe1, 0xa8, 0x68, 0xa5, 0xbb, 0x95, 0xcd, 0x7b, 0xef, 0x2f, 0x05, 0x75, 0x2b, 0xe5, 0xd0, 0x31,
+	0x5d, 0xd1, 0x61, 0x6d, 0x64, 0x27, 0x57, 0xe1, 0xe3, 0xad, 0x26, 0xe5, 0xb7, 0x66, 0xe6, 0x6e,
+	0x95, 0x61, 0xad, 0xd6, 0x6d, 0xe8, 0xc6, 0x56, 0xd3, 0xd8, 0xe1, 0x17, 0x6c, 0x4b, 0x1f, 0x7d,
+	0x67, 0x94, 0xdf, 0x25, 0x58, 0xe1, 0xc5, 0x4a, 0xf6, 0x40, 0xc6, 0xf6, 0x14, 0xf8, 0x91, 0x13,
+	0xdb, 0xa6, 0xa8, 0x71, 0x1e, 0xe9, 0xed, 0xb9, 0x4e, 0x36, 0x52, 0x30, 0xe7, 0xef, 0x5e, 0xa0,
+	0xeb, 0xfd, 0x69, 0x13, 0x31, 0x60, 0x3d, 0x0d, 0x3e, 0x55, 0xcc, 0x30, 0xc5, 0x5b, 0x0b, 0xc3,
+	0x1e, 0x09, 0x56, 0x82, 0x29, 0x4b, 0xbd, 0x0c, 0x45, 0x2e, 0x63, 0x26, 0xed, 0x4e, 0xf9, 0x4d,
+	0x82, 0xf5, 0x19, 0x2f, 0xc8, 0xb7, 0x90, 0xf1, 0x03, 0xe6, 0x77, 0x65, 0xf3, 0xfe, 0x32, 0x7e,
+	0xab, 0x6d, 0xdc, 0xc1, 0xc2, 0x45, 0x8a, 0x44, 0xf2, 0x18, 0x56, 0xf9, 0x0e, 0x91, 0xe8, 0x2a,
+	0x0b, 0xef, 0x77, 0x8a, 0x55, 0xee, 0x43, 0x21, 0x95, 0xc1, 0x56, 0xf9, 0x51, 0xbb, 0xa3, 0xd3,
+	0x5a, 0xaf, 0x4d, 0x67, 0xce, 0x62, 0x15, 0xb2, 0x35, 0x63, 0x4b, 0x96, 0x94, 0xbf, 0x33, 0x50,
+	0x99, 0x0e, 0xf6, 0x83, 0xd4, 0xd7, 0x37, 0x2c, 0xf6, 0x65, 0x0a, 0x6b, 0x5e, 0xe8, 0x0f, 0x20,
+	0x7f, 0x9a, 0x5c, 0x52, 0xd6, 0xc7, 0x8b, 0x9b, 0x1b, 0x73, 0x05, 0xc4, 0x35, 0x66, 0x40, 0xe5,
+	0x17, 0x69, 0xa9, 0xb0, 0xb1, 0x04, 0x5b, 0x7a, 0xb7, 0x6b, 0xf6, 0x76, 0x6b, 0x06, 0x96, 0xe0,
+	0x65, 0x20, 0xa3, 0x4f, 0x13, 0xc1, 0xfa, 0xde, 0x7e, 0xad, 0x85, 0xbd, 0x5e, 0x86, 0xd2, 0x0e,
+	0xd5, 0x6b, 0x3d, 0x9d, 0x72, 0x64, 0x36, 0x29, 0xeb, 0x49, 0xcb, 0x18, 0x9c, 0x23, 0x6b, 0x90,
+	0xe7, 0x3f, 0xf3, 0x09, 0x6f, 0xb7, 0xd6, 0x35, 0x6b, 0x46, 0x43, 0xef, 0xe2, 0xe6, 0x72, 0x51,
+	0xf9, 0x37, 0x03, 0x85, 0x9d, 0x37, 0x2e, 0x7f, 0x2a, 0xb0, 0xf1, 0xb1, 0x51, 0xc1, 0x8c, 0xe2,
+	0xd0, 0xf1, 0x86, 0xa2, 0xc3, 0x14, 0x99, 0xad, 0xcb, 0x4c, 0xe4, 0x33, 0xa8, 0x58, 0xae, 0xeb,
+	0xbf, 0x35, 0x5d, 0xac, 0x8a, 0xd0, 0x72, 0x23, 0x96, 0xc3, 0x02, 0x2d, 0x33, 0x6b, 0x4b, 0x18,
+	0xc9, 0xf7, 0x50, 0x49, 0xda, 0xcd, 0xc0, 0x3c, 0xc0, 0xde, 0x85, 0xbc, 0x48, 0xb4, 0xf3, 0x07,
+	0x73, 0x33, 0x95, 0x3a, 0xa0, 0x1a, 0x09, 0xa7, 0x2e, 0x28, 0xf8, 0xac, 0x86, 0x67, 0xb4, 0xec,
+	0x4d, 0xda, 0x50, 0xf8, 0x12, 0xab, 0x48, 0xbc, 0xca, 0x96, 0x3b, 0x56, 0xcf, 0x2d, 0x68, 0xf6,
+	0xa9, 0x7a, 0xc7, 0x0a, 0x51, 0x2a, 0xa9, 0x45, 0x32, 0x96, 0x48, 0x85, 0x37, 0x8e, 0x80, 0x9c,
+	0xdf, 0x1d, 0x13, 0x96, 0x7d, 0x6d, 0x9f, 0x89, 0x44, 0x24, 0x3f, 0xb1, 0x70, 0xc4, 0xd1, 0x67,
+	0x16, 0x54, 0xde, 0xf9, 0x2d, 0x39, 0xe9, 0xeb, 0xcc, 0x13, 0x49, 0x89, 0xe0, 0xe2, 0xb9, 0x75,
+	0xb2, 0x39, 0x2d, 0xbb, 0xa0, 0xa2, 0xf0, 0xae, 0x73, 0x28, 0x96, 0xd1, 0xd4, 0x38, 0x81, 0x0b,
+	0xe2, 0xbb, 0x2e, 0x43, 0x25, 0x48, 0xa5, 0xf9, 0xfd, 0xff, 0x33, 0x07, 0x32, 0xdb, 0x92, 0x0f,
+	0x1a, 0x75, 0x2b, 0xee, 0x1f, 0x91, 0x3b, 0xb0, 0x1e, 0xbd, 0x76, 0x70, 0x82, 0x1a, 0x98, 0x21,
+	0x33, 0x47, 0xf8, 0x6a, 0x26, 0xef, 0x55, 0x45, 0x98, 0x39, 0x38, 0x4a, 0x4e, 0x3d, 0x05, 0x4e,
+	0x0d, 0x30, 0x65, 0x61, 0x15, 0xcf, 0xde, 0x8f, 0x40, 0xf8, 0x0c, 0x24, 0xe4, 0xd8, 0xd6, 0xa2,
+	0xc1, 0xdc, 0x5b, 0x34, 0x3a, 0x31, 0xb4, 0x3a, 0x9e, 0x81, 0xa8, 0x6c, 0x4f, 0x2c, 0xb0, 0xa9,
+	0x68, 0x17, 0x2a, 0x53, 0xda, 0x69, 0xd3, 0xb9, 0xf9, 0x5e, 0x5d, 0x5a, 0x9e, 0x14, 0x8b, 0x66,
+	0xde, 0xee, 0xdc, 0xec, 0xdb, 0xfd, 0x03, 0x94, 0x8e, 0x51, 0x65, 0xb4, 0x4d, 0x9e, 0xb9, 0xff,
+	0x78, 0xee, 0x36, 0xb3, 0x19, 0x55, 0x5f, 0xe0, 0x82, 0xd8, 0x87, 0xc5, 0x51, 0x3c, 0x1e, 0x1b,
+	0xc8, 0x17, 0x20, 0x47, 0x9e, 0x15, 0x44, 0x47, 0x7e, 0x6c, 0xa6, 0x13, 0xe2, 0x2a, 0x9b, 0x10,
+	0xd7, 0x53, 0xfb, 0x4b, 0x6e, 0x56, 0x7e, 0xc5, 0x76, 0x3d, 0xa3, 0x85, 0xb7, 0xf3, 0xfa, 0x8b,
+	0x36, 0xd5, 0x4d, 0x3e, 0x1c, 0x76, 0xe7, 0x4d, 0x87, 0x78, 0xbf, 0x8d, 0x76, 0xcf, 0xdc, 0x6e,
+	0x1a, 0xcd, 0xee, 0x2e, 0x5a, 0x24, 0xf2, 0x09, 0x54, 0xa7, 0x48, 0xb5, 0xed, 0xa4, 0x45, 0xb4,
+	0x9a, 0x2f, 0x9a, 0x3d, 0xec, 0x23, 0xd7, 0xe1, 0xea, 0x9c, 0xd5, 0xc6, 0x3e, 0xed, 0x62, 0x73,
+	0xc8, 0x91, 0x4b, 0xb0, 0x6e, 0xb4, 0xcd, 0x49, 0x84, 0x9c, 0xad, 0xdf, 0x81, 0x2b, 0xf8, 0x76,
+	0xcd, 0x4b, 0x47, 0x1d, 0x78, 0x51, 0x27, 0xc3, 0x4c, 0x47, 0x3a, 0x58, 0x61, 0x53, 0xcd, 0xa3,
+	0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x8b, 0xda, 0x5f, 0xf8, 0xb2, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/datastore.pb.go b/googleapis/datastore/v1beta3/datastore.pb.go
index 8fe1e7a2..c88b68d2 100644
--- a/googleapis/datastore/v1beta3/datastore.pb.go
+++ b/googleapis/datastore/v1beta3/datastore.pb.go
@@ -1262,80 +1262,80 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1198 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x8f, 0xdb, 0xc4,
-	0x17, 0x5f, 0x67, 0x77, 0xb3, 0xc9, 0x4b, 0x36, 0x9b, 0xce, 0xb7, 0x5f, 0xb0, 0x42, 0x2b, 0x22,
-	0x57, 0xa5, 0x21, 0x94, 0xa4, 0x4d, 0xa9, 0x0a, 0xab, 0x1e, 0x36, 0xbf, 0xda, 0x44, 0x74, 0x93,
-	0x65, 0x92, 0x56, 0xe2, 0x64, 0x39, 0xf6, 0xac, 0x31, 0xeb, 0x78, 0xbc, 0xf6, 0xa4, 0x22, 0x42,
-	0x5c, 0x38, 0x21, 0x10, 0x27, 0xc4, 0x1f, 0xc0, 0x99, 0x33, 0xf0, 0x2f, 0x20, 0x21, 0x71, 0xe1,
-	0x5f, 0xe0, 0x8f, 0xe0, 0x88, 0x3c, 0x1e, 0x6f, 0xd6, 0x69, 0x93, 0xb8, 0x15, 0xb7, 0xcc, 0xcb,
-	0xfb, 0xbc, 0xf7, 0x79, 0x3f, 0xe6, 0xbd, 0x31, 0x3c, 0x36, 0x29, 0x35, 0x6d, 0x52, 0x33, 0xa9,
-	0xad, 0x39, 0x66, 0x8d, 0x7a, 0x66, 0xdd, 0x24, 0x8e, 0xeb, 0x51, 0x46, 0xeb, 0xe1, 0x5f, 0x9a,
-	0x6b, 0xf9, 0x75, 0x43, 0x63, 0x9a, 0xcf, 0xa8, 0x47, 0xea, 0xcf, 0xef, 0x4e, 0x08, 0xd3, 0xee,
-	0x2d, 0x24, 0x35, 0xae, 0x8c, 0x64, 0x61, 0x68, 0x21, 0x17, 0x9a, 0xa5, 0x7e, 0x32, 0x17, 0x9a,
-	0x6b, 0xd5, 0x7d, 0xe2, 0x3d, 0xb7, 0x74, 0xa2, 0x53, 0xe7, 0xd4, 0x32, 0xeb, 0x9a, 0xe3, 0x50,
-	0xa6, 0x31, 0x8b, 0x3a, 0x7e, 0xe8, 0xa4, 0xd4, 0x79, 0x5d, 0xb6, 0xc4, 0x61, 0x16, 0x9b, 0x0b,
-	0x2b, 0xed, 0xd7, 0xb5, 0x72, 0x3e, 0x23, 0x9e, 0x30, 0xa2, 0xfc, 0x2c, 0xc1, 0xfe, 0x13, 0x4a,
-	0xcf, 0x66, 0x2e, 0x26, 0xe7, 0x33, 0xe2, 0x33, 0x74, 0x1d, 0xc0, 0xf5, 0xe8, 0xe7, 0x44, 0x67,
-	0xaa, 0x65, 0xc8, 0x99, 0xb2, 0x54, 0xc9, 0xe2, 0xac, 0x90, 0xf4, 0x0d, 0xd4, 0x83, 0xbc, 0x47,
-	0x34, 0x43, 0xa5, 0x2e, 0x8f, 0x48, 0x96, 0xca, 0x52, 0x25, 0xd7, 0xb8, 0x59, 0x5b, 0x95, 0xb7,
-	0x1a, 0x26, 0x9a, 0x31, 0x0c, 0x95, 0x71, 0xce, 0x5b, 0x1c, 0xd0, 0x5d, 0xd8, 0x39, 0x23, 0x73,
-	0x5f, 0xde, 0x2e, 0x6f, 0x57, 0x72, 0x8d, 0xeb, 0xab, 0x2d, 0x7c, 0x4c, 0xe6, 0x98, 0xab, 0x2a,
-	0x7f, 0x48, 0x50, 0x88, 0xd8, 0xfa, 0x2e, 0x75, 0x7c, 0x82, 0x1e, 0xc2, 0xee, 0x29, 0x9d, 0x39,
-	0x86, 0x2c, 0x71, 0x33, 0xef, 0xac, 0x36, 0xd3, 0xe5, 0xc9, 0xc3, 0xc4, 0x9f, 0xd9, 0x0c, 0x87,
-	0x20, 0x74, 0x04, 0x7b, 0x53, 0xcb, 0xf7, 0x2d, 0xc7, 0x94, 0x53, 0xaf, 0x84, 0x8f, 0x60, 0xe8,
-	0x23, 0xc8, 0x18, 0xe4, 0x94, 0x78, 0x1e, 0x31, 0x92, 0x45, 0x72, 0xa1, 0xae, 0xfc, 0x99, 0x82,
-	0x03, 0x3c, 0x73, 0x3e, 0x09, 0xca, 0x91, 0x3c, 0xfb, 0xae, 0xe6, 0x31, 0x2b, 0xc8, 0x60, 0xa0,
-	0x90, 0xda, 0x94, 0xfd, 0x93, 0x48, 0xbb, 0x6f, 0xe0, 0x9c, 0xbb, 0x38, 0xfc, 0x87, 0x75, 0x7c,
-	0x00, 0xbb, 0xbc, 0xa3, 0xe4, 0x6d, 0x6e, 0xe2, 0xed, 0xd5, 0x26, 0x78, 0xa4, 0xbd, 0x2d, 0x1c,
-	0xea, 0xa3, 0x26, 0x64, 0xcd, 0x73, 0x5b, 0x0d, 0xc1, 0x7b, 0x1c, 0xac, 0xac, 0x06, 0x3f, 0x3e,
-	0xb7, 0x23, 0x7c, 0xc6, 0x14, 0xbf, 0x5b, 0x79, 0x00, 0x0e, 0x57, 0xd9, 0xdc, 0x25, 0xca, 0x77,
-	0x12, 0x14, 0x17, 0x09, 0x15, 0x0d, 0x72, 0x04, 0xbb, 0x13, 0x8d, 0xe9, 0x9f, 0x89, 0x08, 0xab,
-	0x1b, 0xe8, 0x85, 0xf5, 0x6d, 0x05, 0x08, 0x1c, 0x02, 0xd1, 0xfd, 0x28, 0xc0, 0x54, 0xa2, 0x00,
-	0x45, 0x78, 0xca, 0x87, 0xf0, 0x66, 0x8b, 0x98, 0x96, 0x33, 0xf6, 0x34, 0xc7, 0xd7, 0xf4, 0x20,
-	0x59, 0xc9, 0xaa, 0xac, 0x3c, 0x04, 0xf9, 0x45, 0xa4, 0x08, 0xa7, 0x0c, 0x39, 0xb6, 0x10, 0xf3,
-	0xa0, 0xf2, 0xf8, 0xb2, 0x48, 0xc1, 0x70, 0x80, 0xa9, 0x6d, 0x4f, 0x34, 0xfd, 0x2c, 0x61, 0x57,
-	0x6d, 0xb6, 0x89, 0xa0, 0xb8, 0xb0, 0x19, 0x32, 0x51, 0x7e, 0x4d, 0xc1, 0x7e, 0x9b, 0x4e, 0xa7,
-	0x16, 0x4b, 0xe8, 0xe6, 0x08, 0x76, 0xa6, 0xd4, 0x20, 0xf2, 0x6e, 0x59, 0xaa, 0x14, 0x1a, 0xb7,
-	0x57, 0xa7, 0x31, 0x66, 0xb5, 0x76, 0x4c, 0x0d, 0x82, 0x39, 0x12, 0x29, 0x2f, 0x21, 0xda, 0xdb,
-	0x8a, 0x51, 0x45, 0x47, 0x90, 0x9d, 0xce, 0xc4, 0xbc, 0x95, 0xd3, 0xfc, 0x46, 0xae, 0xe9, 0xaa,
-	0x63, 0xa1, 0x8a, 0x17, 0x20, 0xe5, 0x11, 0xec, 0x04, 0x3e, 0xd1, 0x55, 0x28, 0x1e, 0x0f, 0x3b,
-	0x5d, 0xf5, 0xe9, 0x60, 0x74, 0xd2, 0x6d, 0xf7, 0x1f, 0xf5, 0xbb, 0x9d, 0xe2, 0x16, 0xba, 0x02,
-	0xfb, 0x63, 0xdc, 0x1c, 0x8c, 0x9a, 0xed, 0x71, 0x7f, 0x38, 0x68, 0x3e, 0x29, 0x4a, 0xe8, 0xff,
-	0x70, 0x65, 0x30, 0x1c, 0xa8, 0x71, 0x71, 0xaa, 0xf5, 0x06, 0x5c, 0xbd, 0x44, 0x4c, 0xf5, 0x89,
-	0x4d, 0x74, 0x46, 0x3d, 0xe5, 0x5b, 0x09, 0x0a, 0x51, 0x88, 0xa2, 0xaa, 0x23, 0x28, 0x46, 0xfe,
-	0x55, 0x8f, 0x77, 0x60, 0x34, 0x17, 0x2b, 0x09, 0xb8, 0x87, 0x23, 0xe9, 0x60, 0x1a, 0x3b, 0xfb,
-	0xe8, 0x06, 0xec, 0x5b, 0x8e, 0x41, 0xbe, 0x50, 0x67, 0xae, 0xa1, 0x31, 0xe2, 0xcb, 0x3b, 0x65,
-	0xa9, 0xb2, 0x8b, 0xf3, 0x5c, 0xf8, 0x34, 0x94, 0x29, 0xa7, 0x80, 0x9a, 0xb6, 0x4d, 0x75, 0x8d,
-	0x91, 0xbe, 0xe1, 0x27, 0xac, 0x64, 0x34, 0xba, 0xa5, 0xe4, 0xa3, 0xbb, 0x07, 0xff, 0x8b, 0xf9,
-	0x11, 0x81, 0xbf, 0x86, 0xa5, 0xdf, 0x53, 0x90, 0x89, 0x42, 0x47, 0x87, 0x90, 0xb6, 0x1c, 0x9f,
-	0x78, 0x8c, 0x07, 0x97, 0x6b, 0x94, 0x37, 0xcd, 0xef, 0xde, 0x16, 0x16, 0x88, 0x00, 0x1b, 0x66,
-	0x86, 0x77, 0x64, 0x42, 0x6c, 0x88, 0x08, 0xb1, 0xdc, 0x6f, 0xfa, 0x55, 0xb0, 0xdc, 0xef, 0x03,
-	0x48, 0x1b, 0xc4, 0x26, 0x8c, 0x88, 0xa1, 0xb7, 0x3e, 0xea, 0x00, 0x18, 0xaa, 0xa3, 0x1b, 0x90,
-	0x9f, 0x68, 0x3e, 0x51, 0x9f, 0x13, 0xcf, 0x0f, 0xfa, 0x3f, 0xa8, 0xcb, 0x76, 0x4f, 0xc2, 0xb9,
-	0x40, 0xfa, 0x2c, 0x14, 0xb6, 0x72, 0x90, 0xa5, 0x2e, 0xf1, 0x78, 0x7a, 0x5a, 0xd7, 0xe1, 0xad,
-	0xe0, 0x15, 0x62, 0x5b, 0x3a, 0x53, 0x0d, 0xc2, 0x88, 0xe8, 0x44, 0xe6, 0x69, 0x8c, 0x98, 0x73,
-	0xe5, 0x1b, 0x09, 0x0a, 0xf1, 0x2e, 0x42, 0x75, 0xd8, 0x3e, 0x23, 0xd1, 0x2c, 0xdf, 0x50, 0x8f,
-	0x40, 0x13, 0xc9, 0xb0, 0x17, 0xf1, 0x09, 0x4a, 0xb0, 0x8d, 0xa3, 0x23, 0x7a, 0x0f, 0xae, 0x2c,
-	0x39, 0x27, 0x06, 0x4f, 0x75, 0x06, 0x17, 0xa3, 0x3f, 0x3a, 0x42, 0xae, 0xfc, 0x23, 0x41, 0xee,
-	0xd2, 0x8a, 0x41, 0x13, 0x28, 0xf2, 0xfd, 0xa4, 0x53, 0xc7, 0xb7, 0x7c, 0x46, 0x1c, 0x7d, 0xce,
-	0xef, 0x7b, 0xa1, 0x71, 0x3f, 0xd1, 0x8e, 0xe2, 0xbf, 0xdb, 0x0b, 0x70, 0x6f, 0x0b, 0x1f, 0x78,
-	0x71, 0xd1, 0xf2, 0x38, 0x49, 0xbd, 0x64, 0x9c, 0x28, 0xc7, 0x70, 0xb0, 0x64, 0x09, 0x95, 0xe1,
-	0x1a, 0xee, 0x36, 0x3b, 0x6a, 0x7b, 0x38, 0x18, 0xf5, 0x47, 0xe3, 0xee, 0xa0, 0xfd, 0xe9, 0xd2,
-	0x8c, 0x00, 0x48, 0x8f, 0xc6, 0x78, 0x38, 0x78, 0x5c, 0x94, 0x50, 0x1e, 0x32, 0xdd, 0x67, 0xdd,
-	0xc1, 0xf8, 0x29, 0x9f, 0x09, 0x08, 0x8a, 0x97, 0x22, 0xe2, 0x6b, 0xab, 0xf1, 0xdb, 0x1e, 0x64,
-	0x3b, 0x51, 0x2c, 0xe8, 0x7b, 0x09, 0xd2, 0xe1, 0x1b, 0x07, 0xdd, 0x5a, 0x1d, 0x69, 0xec, 0xcd,
-	0x56, 0xaa, 0x6c, 0x56, 0x14, 0x43, 0xfb, 0xce, 0xd7, 0x7f, 0xfd, 0xfd, 0x43, 0xaa, 0xaa, 0xdc,
-	0xbc, 0x78, 0x0d, 0x8a, 0x5b, 0xed, 0xd7, 0xbf, 0x5c, 0xdc, 0xf8, 0xaf, 0x0e, 0x6d, 0x0e, 0x3b,
-	0x94, 0xaa, 0xe8, 0x47, 0x09, 0x32, 0xd1, 0x52, 0x45, 0xef, 0xae, 0xc9, 0x7d, 0xfc, 0x25, 0x53,
-	0xaa, 0x26, 0x51, 0x15, 0xac, 0x1a, 0x9c, 0xd5, 0x6d, 0xe5, 0xd6, 0x06, 0x56, 0x9e, 0x00, 0x06,
-	0xbc, 0x7e, 0x91, 0xa0, 0xb8, 0xbc, 0x25, 0xd1, 0xdd, 0xd5, 0x4e, 0x57, 0xec, 0xe2, 0x52, 0xe3,
-	0x55, 0x20, 0x82, 0xef, 0x21, 0xe7, 0xfb, 0x81, 0x52, 0xdf, 0xc0, 0x77, 0xb2, 0x64, 0x20, 0xe0,
-	0x1d, 0xd4, 0x37, 0x9c, 0xfe, 0xeb, 0xea, 0x1b, 0x5b, 0x81, 0xeb, 0xea, 0x1b, 0x5f, 0x24, 0x89,
-	0xeb, 0xab, 0x73, 0xd8, 0x45, 0x7d, 0xc5, 0x6e, 0x5f, 0x5b, 0xdf, 0xf8, 0x9b, 0x62, 0x6d, 0x7d,
-	0x97, 0x9f, 0x0a, 0x89, 0xeb, 0x2b, 0x80, 0x01, 0xaf, 0x9f, 0x24, 0xc8, 0x5d, 0xda, 0x18, 0x68,
-	0xcd, 0x7b, 0xe1, 0xc5, 0x05, 0x56, 0x7a, 0x3f, 0xa1, 0xb6, 0x20, 0x78, 0x9f, 0x13, 0xac, 0x2b,
-	0xd5, 0x0d, 0x04, 0xb5, 0x05, 0xf6, 0x50, 0xaa, 0xb6, 0xee, 0xc0, 0x35, 0x9d, 0x4e, 0x57, 0xba,
-	0x6a, 0x15, 0x2e, 0xae, 0xf5, 0x49, 0xf0, 0xb5, 0x75, 0x22, 0x4d, 0xd2, 0xfc, 0xb3, 0xeb, 0xde,
-	0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x66, 0x17, 0xd7, 0xd2, 0xb1, 0x0e, 0x00, 0x00,
+	// 1192 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x4f, 0x6f, 0xe3, 0x54,
+	0x10, 0x5f, 0xa7, 0x6d, 0x9a, 0x4c, 0xd2, 0x36, 0x7d, 0x2c, 0x10, 0x85, 0xad, 0xa8, 0x8c, 0x96,
+	0x2d, 0x65, 0x49, 0xb6, 0x59, 0xaa, 0x85, 0x6a, 0x0f, 0xcd, 0xbf, 0x6d, 0x23, 0xb6, 0x49, 0x71,
+	0xd2, 0x95, 0x38, 0x45, 0x4e, 0xfc, 0x6a, 0x4c, 0x1d, 0x3b, 0xb5, 0x9d, 0x8a, 0x08, 0x71, 0xe1,
+	0x84, 0x40, 0x9c, 0x10, 0x1f, 0x80, 0x33, 0x67, 0xe0, 0x2b, 0x20, 0x21, 0x71, 0xe1, 0x2b, 0xf0,
+	0x21, 0x38, 0x32, 0xef, 0xf9, 0xb9, 0x89, 0xb3, 0x9b, 0xc4, 0xad, 0xb8, 0x54, 0x7d, 0xe3, 0xf9,
+	0xcd, 0xfc, 0xe6, 0xcf, 0x9b, 0x79, 0x81, 0x23, 0xdd, 0xb6, 0x75, 0x93, 0xe6, 0x75, 0xdb, 0x54,
+	0x2d, 0x3d, 0x6f, 0x3b, 0x7a, 0x41, 0xa7, 0xd6, 0xc0, 0xb1, 0x3d, 0xbb, 0xe0, 0x7f, 0x52, 0x07,
+	0x86, 0x5b, 0xd0, 0x54, 0x4f, 0x75, 0x3d, 0xdb, 0xa1, 0x85, 0xab, 0xbd, 0x2e, 0xf5, 0xd4, 0xc7,
+	0x63, 0x49, 0x9e, 0x2b, 0x93, 0xac, 0x30, 0x34, 0x96, 0x0b, 0xcd, 0x5c, 0x3d, 0x9a, 0x0b, 0xfc,
+	0x53, 0x70, 0xa9, 0x73, 0x65, 0xf4, 0x68, 0xcf, 0xb6, 0xce, 0x0d, 0xbd, 0xa0, 0x5a, 0x96, 0xed,
+	0xa9, 0x9e, 0x61, 0x5b, 0xae, 0xef, 0x24, 0x57, 0xbd, 0x2d, 0x5b, 0x6a, 0x79, 0x86, 0x37, 0x12,
+	0x56, 0x2a, 0xb7, 0xb5, 0x72, 0x39, 0xa4, 0x8e, 0x30, 0x22, 0xff, 0x22, 0xc1, 0xda, 0x73, 0xdb,
+	0xbe, 0x18, 0x0e, 0x14, 0x8a, 0x72, 0xd7, 0x23, 0x5b, 0x00, 0xf8, 0xe9, 0x0b, 0xda, 0xf3, 0x3a,
+	0x86, 0x96, 0x4d, 0x6c, 0x4b, 0x3b, 0x49, 0x25, 0x29, 0x24, 0x75, 0x8d, 0x1c, 0x43, 0xda, 0xa1,
+	0xaa, 0xd6, 0xb1, 0x07, 0x3c, 0xa2, 0xac, 0x84, 0x0a, 0xa9, 0xe2, 0xfd, 0xfc, 0xac, 0xbc, 0xe5,
+	0x15, 0xd4, 0x6e, 0xfa, 0xca, 0x4a, 0xca, 0x19, 0x1f, 0xc8, 0x1e, 0x2c, 0x5f, 0xd0, 0x91, 0x9b,
+	0x5d, 0xda, 0x5e, 0x42, 0x0b, 0x5b, 0xb3, 0x2d, 0x7c, 0x42, 0x47, 0x0a, 0x57, 0x95, 0xff, 0x94,
+	0x60, 0x3d, 0x60, 0xeb, 0x0e, 0xd0, 0x08, 0x25, 0x4f, 0x61, 0xe5, 0xdc, 0x1e, 0x5a, 0x1a, 0x12,
+	0x61, 0x66, 0xde, 0x9d, 0x6d, 0xa6, 0xc6, 0x93, 0x87, 0xc0, 0xa1, 0xe9, 0x29, 0x3e, 0x88, 0x1c,
+	0xc2, 0x6a, 0xdf, 0x70, 0x5d, 0xc3, 0xd2, 0xb3, 0xb1, 0x1b, 0xe1, 0x03, 0x18, 0xf9, 0x18, 0x12,
+	0x1a, 0x3d, 0xa7, 0x8e, 0x43, 0xb5, 0x68, 0x91, 0x5c, 0xab, 0xcb, 0x7f, 0xc5, 0x60, 0x43, 0x19,
+	0x5a, 0x9f, 0xb2, 0x72, 0x44, 0xcf, 0xfe, 0x40, 0x75, 0x90, 0x07, 0x66, 0x90, 0x29, 0xc4, 0x16,
+	0x65, 0xff, 0x34, 0xd0, 0xae, 0x6b, 0x4a, 0x6a, 0x30, 0x3e, 0xfc, 0x8f, 0x75, 0x7c, 0x02, 0x2b,
+	0xbc, 0xa3, 0x30, 0x7c, 0x66, 0xe2, 0xed, 0xd9, 0x26, 0x78, 0xa4, 0xc7, 0x77, 0x14, 0x5f, 0x9f,
+	0x94, 0x20, 0xa9, 0x5f, 0x9a, 0x1d, 0x1f, 0xbc, 0xca, 0xc1, 0xf2, 0x6c, 0xf0, 0xd1, 0xa5, 0x19,
+	0xe0, 0x13, 0xba, 0xf8, 0xbf, 0x9c, 0x06, 0xe0, 0xf0, 0x8e, 0x37, 0x1a, 0x50, 0xf9, 0x7b, 0x09,
+	0x32, 0xe3, 0x84, 0x8a, 0x06, 0x39, 0x84, 0x95, 0xae, 0xea, 0xf5, 0x3e, 0x17, 0x11, 0xee, 0x2e,
+	0xa0, 0xe7, 0xd7, 0xb7, 0xcc, 0x10, 0x8a, 0x0f, 0x24, 0xfb, 0x41, 0x80, 0xb1, 0x48, 0x01, 0x8a,
+	0xf0, 0xe4, 0x8f, 0xe0, 0xcd, 0x32, 0xd5, 0x0d, 0xab, 0xed, 0xa8, 0x96, 0xab, 0xf6, 0x58, 0xb2,
+	0xa2, 0x55, 0x59, 0x7e, 0x0a, 0xd9, 0x97, 0x91, 0x22, 0x9c, 0x6d, 0x48, 0x79, 0x63, 0x31, 0x0f,
+	0x2a, 0xad, 0x4c, 0x8a, 0x64, 0x05, 0xbb, 0xca, 0x36, 0xcd, 0xae, 0xda, 0xbb, 0x88, 0xd8, 0x55,
+	0x8b, 0x6d, 0x12, 0x4c, 0xec, 0xb5, 0x4d, 0x9f, 0x89, 0xfc, 0x5b, 0x0c, 0xd6, 0x2a, 0x76, 0xbf,
+	0x6f, 0x78, 0x11, 0xdd, 0x1c, 0xc2, 0x72, 0xdf, 0xd6, 0x68, 0x76, 0x05, 0x3f, 0xac, 0x17, 0x1f,
+	0xce, 0x4e, 0x63, 0xc8, 0x6a, 0xfe, 0x04, 0x31, 0x0a, 0x47, 0x12, 0xf9, 0x15, 0x44, 0xb1, 0x1f,
+	0x26, 0x85, 0xe8, 0x25, 0xd9, 0x1f, 0x8a, 0x79, 0x9b, 0x8d, 0xf3, 0x1b, 0x39, 0xa7, 0xab, 0x4e,
+	0x84, 0xaa, 0x32, 0x06, 0xc9, 0xcf, 0x60, 0x99, 0xf9, 0x24, 0x77, 0x21, 0x73, 0xd2, 0xac, 0xd6,
+	0x3a, 0x67, 0x8d, 0xd6, 0x69, 0xad, 0x52, 0x7f, 0x56, 0xaf, 0x55, 0x33, 0x77, 0xc8, 0x26, 0xac,
+	0xb5, 0x95, 0x52, 0xa3, 0x55, 0xaa, 0xb4, 0xeb, 0xcd, 0x46, 0xe9, 0x79, 0x46, 0x22, 0xaf, 0xc3,
+	0x66, 0xa3, 0xd9, 0xe8, 0x84, 0xc5, 0xb1, 0xf2, 0x1b, 0x70, 0x77, 0x82, 0x58, 0xc7, 0xa5, 0x26,
+	0xe6, 0xc1, 0x76, 0xe4, 0xef, 0x70, 0x8a, 0x05, 0x21, 0x8a, 0xaa, 0xb6, 0x20, 0x13, 0xf8, 0xef,
+	0x38, 0xbc, 0x03, 0x83, 0xb9, 0xb8, 0x13, 0x81, 0xbb, 0x3f, 0x92, 0x36, 0xfa, 0xa1, 0xb3, 0x4b,
+	0xde, 0x81, 0x35, 0xc3, 0xd2, 0xe8, 0x97, 0x9d, 0xe1, 0x00, 0xc1, 0xd4, 0xcd, 0x2e, 0x63, 0xbe,
+	0x56, 0x94, 0x34, 0x17, 0x9e, 0xf9, 0x32, 0xf9, 0x1c, 0x48, 0xc9, 0x34, 0xed, 0x1e, 0x1e, 0xea,
+	0x9a, 0x1b, 0xb1, 0x92, 0xc1, 0xe8, 0x96, 0xa2, 0x8f, 0xee, 0x63, 0x78, 0x2d, 0xe4, 0x47, 0x04,
+	0x7e, 0x0b, 0x4b, 0x7f, 0xc4, 0x20, 0x11, 0x84, 0x4e, 0x0e, 0x20, 0x6e, 0xa0, 0x1d, 0xc7, 0xe3,
+	0xc1, 0xa5, 0x8a, 0xdb, 0x8b, 0xe6, 0x37, 0xb6, 0x8b, 0x40, 0x30, 0xac, 0x9f, 0x19, 0xde, 0x91,
+	0x11, 0xb1, 0x3e, 0xc2, 0xc7, 0x72, 0xbf, 0xf1, 0x9b, 0x60, 0xb9, 0xdf, 0x27, 0x10, 0xd7, 0xb0,
+	0x17, 0xd0, 0xaf, 0x3f, 0xf4, 0xe6, 0x47, 0xcd, 0x80, 0xbe, 0x3a, 0x16, 0x34, 0xdd, 0x55, 0x5d,
+	0xda, 0xb9, 0xa2, 0x8e, 0xcb, 0xfa, 0x9f, 0xd5, 0x65, 0xe9, 0x58, 0x52, 0x52, 0x4c, 0xfa, 0xc2,
+	0x17, 0x96, 0x53, 0x90, 0xb4, 0x07, 0xd4, 0xe1, 0xe9, 0x29, 0x6f, 0xc1, 0x5b, 0xec, 0x15, 0x62,
+	0x1a, 0x58, 0x48, 0x0d, 0x4d, 0x88, 0x4e, 0xc4, 0xb6, 0xf4, 0xa8, 0x3e, 0x92, 0xbf, 0xc5, 0x4e,
+	0x0c, 0x77, 0x11, 0x29, 0xc0, 0x12, 0x66, 0x59, 0xcc, 0xf2, 0x05, 0xf5, 0x60, 0x9a, 0x24, 0x0b,
+	0xab, 0x01, 0x1f, 0x56, 0x82, 0x25, 0x25, 0x38, 0x92, 0xf7, 0x61, 0x73, 0xca, 0x39, 0xee, 0x48,
+	0x96, 0xea, 0x84, 0x92, 0x09, 0x3e, 0x54, 0x85, 0x5c, 0xfe, 0x57, 0x82, 0xd4, 0xc4, 0x8a, 0x21,
+	0x5d, 0xc8, 0xf0, 0xfd, 0x84, 0x8a, 0xae, 0xe1, 0x7a, 0xd4, 0xea, 0x8d, 0xf8, 0x7d, 0x5f, 0x2f,
+	0xee, 0x47, 0xda, 0x51, 0xfc, 0xff, 0xca, 0x18, 0x8c, 0x69, 0xdc, 0x70, 0xc2, 0xa2, 0xe9, 0x71,
+	0x12, 0x7b, 0xc5, 0x38, 0x91, 0x4f, 0x70, 0x9a, 0x4e, 0xc1, 0xb6, 0xe1, 0x9e, 0x52, 0x2b, 0x55,
+	0x3b, 0x95, 0x66, 0xa3, 0x55, 0x6f, 0xb5, 0x6b, 0x8d, 0xca, 0x67, 0x53, 0x33, 0x02, 0x20, 0xde,
+	0x6a, 0x2b, 0xcd, 0xc6, 0x11, 0x0e, 0x87, 0x34, 0x24, 0x6a, 0x2f, 0x6a, 0x8d, 0xf6, 0x19, 0x9f,
+	0x09, 0x38, 0x48, 0x27, 0x22, 0xe2, 0x6b, 0xab, 0xf8, 0xfb, 0x2a, 0x24, 0xab, 0x41, 0x2c, 0xe4,
+	0x07, 0x09, 0xe2, 0xfe, 0x1b, 0x87, 0x3c, 0x98, 0x1d, 0x69, 0xe8, 0xcd, 0x96, 0xdb, 0x59, 0xac,
+	0x28, 0x86, 0xf6, 0xa3, 0x6f, 0xfe, 0xfe, 0xe7, 0xc7, 0xd8, 0xae, 0x7c, 0xff, 0xfa, 0x35, 0x28,
+	0x6e, 0xb5, 0x5b, 0xf8, 0x6a, 0x7c, 0xe3, 0xbf, 0x3e, 0x30, 0x39, 0xec, 0x40, 0xda, 0x25, 0x3f,
+	0x49, 0x90, 0x08, 0x96, 0x2a, 0x79, 0x6f, 0x4e, 0xee, 0xc3, 0x2f, 0x99, 0xdc, 0x6e, 0x14, 0x55,
+	0xc1, 0xaa, 0xc8, 0x59, 0x3d, 0x94, 0x1f, 0x2c, 0x60, 0xe5, 0x08, 0x20, 0xe3, 0xf5, 0x2b, 0x2e,
+	0xfb, 0xe9, 0x2d, 0x49, 0xf6, 0x66, 0x3b, 0x9d, 0xb1, 0x8b, 0x73, 0xc5, 0x9b, 0x40, 0x04, 0xdf,
+	0x03, 0xce, 0xf7, 0x43, 0xb9, 0xb0, 0x80, 0x6f, 0x77, 0xca, 0x00, 0xe3, 0xcd, 0xea, 0xeb, 0x4f,
+	0xff, 0x79, 0xf5, 0x0d, 0xad, 0xc0, 0x79, 0xf5, 0x0d, 0x2f, 0x92, 0xc8, 0xf5, 0xed, 0x71, 0xd8,
+	0x75, 0x7d, 0xc5, 0x6e, 0x9f, 0x5b, 0xdf, 0xf0, 0x9b, 0x62, 0x6e, 0x7d, 0xa7, 0x9f, 0x0a, 0x91,
+	0xeb, 0x2b, 0x80, 0x8c, 0xd7, 0xcf, 0x38, 0x10, 0x26, 0x36, 0x06, 0x99, 0xf3, 0x5e, 0x78, 0x79,
+	0x81, 0xe5, 0x3e, 0x88, 0xa8, 0x2d, 0x08, 0xee, 0x73, 0x82, 0x05, 0x79, 0x77, 0x01, 0x41, 0x75,
+	0x8c, 0x45, 0x8e, 0xe5, 0x47, 0x70, 0x0f, 0x13, 0x39, 0xd3, 0x55, 0x79, 0xfd, 0xfa, 0x5a, 0x9f,
+	0xb2, 0x5f, 0x5b, 0xa7, 0x52, 0x37, 0xce, 0x7f, 0x76, 0x3d, 0xfe, 0x2f, 0x00, 0x00, 0xff, 0xff,
+	0x66, 0x17, 0xd7, 0xd2, 0xb1, 0x0e, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/entity.pb.go b/googleapis/datastore/v1beta3/entity.pb.go
index 8da68cff..a1928a3f 100644
--- a/googleapis/datastore/v1beta3/entity.pb.go
+++ b/googleapis/datastore/v1beta3/entity.pb.go
@@ -678,54 +678,53 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 777 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0xdf, 0x8e, 0xdb, 0x44,
-	0x14, 0xc6, 0xed, 0x64, 0xb3, 0xdd, 0x1c, 0xa7, 0xbb, 0x65, 0xda, 0x0b, 0x2b, 0xa2, 0x6a, 0x58,
-	0xa8, 0x14, 0x2e, 0xb0, 0xcb, 0x56, 0x15, 0x88, 0x52, 0x24, 0x56, 0x04, 0x1c, 0xb5, 0x82, 0x68,
-	0x54, 0x71, 0x49, 0x34, 0x89, 0xcf, 0x7a, 0x87, 0xd8, 0x33, 0x96, 0x3d, 0x5e, 0xd5, 0xcf, 0xc4,
-	0x6b, 0x71, 0xc7, 0x4b, 0xa0, 0xf9, 0x63, 0x67, 0x05, 0x4a, 0x77, 0xaf, 0x6c, 0x9f, 0xf9, 0x7d,
-	0x9f, 0xbf, 0x33, 0x73, 0x6c, 0xf8, 0x29, 0x93, 0x32, 0xcb, 0x31, 0xca, 0x64, 0xce, 0x44, 0x16,
-	0xc9, 0x2a, 0x8b, 0x33, 0x14, 0x65, 0x25, 0x95, 0x8c, 0xed, 0x12, 0x2b, 0x79, 0x1d, 0xa7, 0x4c,
-	0xb1, 0x5a, 0xc9, 0x0a, 0xe3, 0x9b, 0xaf, 0x37, 0xa8, 0xd8, 0xcb, 0x18, 0x85, 0xe2, 0xaa, 0x8d,
-	0x0c, 0x49, 0x42, 0xe7, 0xd2, 0x63, 0x91, 0xc3, 0xa6, 0xcb, 0xfb, 0xf9, 0xb3, 0x92, 0xc7, 0x35,
-	0x56, 0x37, 0x7c, 0x8b, 0x5b, 0x29, 0xae, 0x78, 0x16, 0x33, 0x21, 0xa4, 0x62, 0x8a, 0x4b, 0x51,
-	0xdb, 0x97, 0x4c, 0x5f, 0x65, 0x5c, 0x5d, 0x37, 0x9b, 0x68, 0x2b, 0x8b, 0xd8, 0xda, 0xc5, 0x66,
-	0x61, 0xd3, 0x5c, 0xc5, 0xa5, 0x6a, 0x4b, 0xac, 0xe3, 0x5a, 0x55, 0xcd, 0x56, 0xb9, 0x8b, 0x93,
-	0xbd, 0xbe, 0x5b, 0xa6, 0x78, 0x81, 0xb5, 0x62, 0x45, 0xb9, 0xbf, 0x73, 0xe2, 0x1f, 0xee, 0x17,
-	0x5f, 0xdb, 0xc4, 0x39, 0x53, 0xb9, 0xc8, 0xdc, 0xc5, 0xea, 0xcf, 0x7f, 0x83, 0x60, 0xc5, 0x2a,
-	0xc5, 0x75, 0x1f, 0xcb, 0x94, 0x3c, 0x05, 0x28, 0x2b, 0xf9, 0x27, 0x6e, 0xd5, 0x9a, 0xa7, 0xe1,
-	0x60, 0xe6, 0xcf, 0xc7, 0x74, 0xec, 0x2a, 0xcb, 0x94, 0x7c, 0x06, 0x13, 0xc1, 0x0a, 0xac, 0x4b,
-	0xb6, 0x45, 0x0d, 0x1c, 0x19, 0x20, 0xe8, 0x6b, 0xcb, 0xf4, 0xfc, 0x6f, 0x1f, 0x86, 0x6f, 0xb1,
-	0x25, 0x09, 0x4c, 0xca, 0xce, 0x58, 0xa3, 0xfe, 0xcc, 0x9f, 0x07, 0x17, 0xcf, 0xa3, 0x43, 0x07,
-	0x11, 0xdd, 0x8a, 0x41, 0x83, 0xf2, 0x56, 0xa6, 0x37, 0x70, 0x54, 0x32, 0x75, 0x1d, 0x0e, 0x66,
-	0xc3, 0x79, 0x70, 0xf1, 0xe5, 0x61, 0x87, 0xb7, 0xd8, 0x46, 0x2b, 0xa6, 0xae, 0x17, 0x39, 0x16,
-	0x28, 0x14, 0x35, 0xb2, 0xe9, 0x7b, 0xdd, 0x61, 0x5f, 0x24, 0x04, 0x8e, 0x76, 0x5c, 0xd8, 0x3c,
-	0x63, 0x6a, 0xee, 0xc9, 0x23, 0x18, 0xb8, 0x6e, 0x87, 0x89, 0x47, 0x07, 0x3c, 0x25, 0x4f, 0xe0,
-	0x48, 0x37, 0x15, 0x0e, 0x35, 0x95, 0x78, 0xd4, 0x3c, 0x5d, 0x8e, 0xe1, 0x01, 0x4f, 0xd7, 0x7a,
-	0x2f, 0xcf, 0x17, 0x00, 0x3f, 0x56, 0x15, 0x6b, 0x7f, 0x67, 0x79, 0x83, 0xe4, 0x1b, 0x38, 0xbe,
-	0xd1, 0x37, 0x75, 0xe8, 0x9b, 0x90, 0xcf, 0x0e, 0x87, 0x34, 0x02, 0xea, 0xf0, 0xf3, 0xbf, 0x46,
-	0x30, 0xb2, 0x16, 0xaf, 0x01, 0x44, 0x93, 0xe7, 0x6b, 0xb3, 0x10, 0x06, 0x33, 0x7f, 0x7e, 0x7a,
-	0x31, 0xed, 0x6c, 0xba, 0x79, 0x88, 0x7e, 0x6d, 0xf2, 0xdc, 0xf0, 0x89, 0x47, 0xc7, 0xa2, 0x7b,
-	0x20, 0xcf, 0xe1, 0xe1, 0x46, 0xca, 0x1c, 0x99, 0x70, 0x7a, 0xdd, 0xdd, 0x49, 0xe2, 0xd1, 0x89,
-	0x2b, 0xf7, 0x18, 0x17, 0x0a, 0x33, 0xac, 0x1c, 0xd6, 0xb5, 0x3c, 0x71, 0x65, 0x8b, 0x7d, 0x0e,
-	0x93, 0x54, 0x36, 0x9b, 0x1c, 0x1d, 0xa5, 0x37, 0xc1, 0x4f, 0x3c, 0x1a, 0xd8, 0xaa, 0x85, 0x16,
-	0x70, 0xd6, 0xcf, 0xa2, 0xe3, 0xc0, 0x1c, 0xf1, 0xff, 0x43, 0xbf, 0xef, 0xb8, 0xc4, 0xa3, 0xa7,
-	0xbd, 0xc8, 0xda, 0x7c, 0x0f, 0xe3, 0x1d, 0xb6, 0xce, 0x60, 0x64, 0x0c, 0x9e, 0x7e, 0xf4, 0x84,
-	0x13, 0x8f, 0x9e, 0xec, 0xb0, 0xed, 0x93, 0xd6, 0xaa, 0xe2, 0x22, 0x73, 0x06, 0x9f, 0xb8, 0xe3,
-	0x0a, 0x6c, 0xd5, 0x42, 0xcf, 0x00, 0x36, 0xb9, 0xdc, 0x38, 0x84, 0xcc, 0xfc, 0xf9, 0x44, 0xef,
-	0x9e, 0xae, 0x59, 0xe0, 0x0d, 0x9c, 0x65, 0x28, 0xd7, 0xa5, 0xe4, 0x42, 0x39, 0xea, 0xc4, 0x24,
-	0x79, 0xdc, 0x25, 0xd1, 0x47, 0x1e, 0xbd, 0x63, 0xea, 0x9d, 0xc8, 0x12, 0x8f, 0x3e, 0xcc, 0x50,
-	0xae, 0x34, 0xdc, 0xed, 0xc4, 0xc4, 0xfe, 0x6b, 0x9c, 0xf6, 0xd8, 0x68, 0x67, 0x87, 0xbb, 0x58,
-	0x18, 0x5a, 0xc7, 0xb4, 0x3a, 0x6b, 0xf3, 0x0b, 0x04, 0x4c, 0x4f, 0x94, 0x73, 0x19, 0x1b, 0x97,
-	0x2f, 0x0e, 0xbb, 0xec, 0xc7, 0x2f, 0xf1, 0x28, 0xb0, 0xfd, 0x30, 0x86, 0xf0, 0xa0, 0x40, 0x26,
-	0xb8, 0xc8, 0xc2, 0xd3, 0x99, 0x3f, 0x1f, 0xd1, 0xee, 0x91, 0xbc, 0x80, 0x27, 0xf8, 0x61, 0x9b,
-	0x37, 0x29, 0xae, 0xaf, 0x2a, 0x59, 0xac, 0xb9, 0x48, 0xf1, 0x03, 0xd6, 0xe1, 0x63, 0x3d, 0x2d,
-	0x94, 0xb8, 0xb5, 0x9f, 0x2b, 0x59, 0x2c, 0xed, 0xca, 0xe5, 0x04, 0xc0, 0xc4, 0xb1, 0x43, 0xff,
-	0x8f, 0x0f, 0xc7, 0x36, 0x3c, 0x89, 0x61, 0xb8, 0xc3, 0xd6, 0x7d, 0xd5, 0x1f, 0x3f, 0x31, 0xaa,
-	0x49, 0xb2, 0x32, 0x7f, 0x96, 0x12, 0x2b, 0xc5, 0xb1, 0x0e, 0x87, 0xe6, 0x33, 0x79, 0x71, 0xd7,
-	0x1e, 0x45, 0xab, 0x5e, 0xb2, 0x10, 0xaa, 0x6a, 0xe9, 0x2d, 0x8f, 0xe9, 0x1f, 0x70, 0xf6, 0x9f,
-	0x65, 0xf2, 0x68, 0x9f, 0x6a, 0x6c, 0x5f, 0xfb, 0x0a, 0x46, 0xfb, 0x51, 0xbf, 0xc7, 0x87, 0x69,
-	0xe9, 0xef, 0x06, 0xdf, 0xfa, 0x97, 0x5f, 0xc1, 0xa7, 0x5b, 0x59, 0x1c, 0x14, 0x5c, 0x06, 0x36,
-	0xe3, 0x4a, 0x8f, 0xf9, 0xca, 0xdf, 0x1c, 0x9b, 0x79, 0x7f, 0xf9, 0x6f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x91, 0xf4, 0x96, 0x34, 0xb1, 0x06, 0x00, 0x00,
+	// 756 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x94, 0xdf, 0x4f, 0xd3, 0x50,
+	0x14, 0xc7, 0x1d, 0xfb, 0x01, 0x3d, 0x2d, 0xa0, 0x85, 0x87, 0x65, 0x91, 0x80, 0x53, 0x12, 0x7d,
+	0xb0, 0x45, 0x08, 0xd1, 0x88, 0x98, 0xb8, 0x38, 0x65, 0x91, 0xe8, 0xd2, 0x10, 0x1f, 0x5d, 0x6e,
+	0xb7, 0x4b, 0xa9, 0x74, 0xf7, 0x36, 0xed, 0x2d, 0x61, 0x7f, 0x93, 0xff, 0x96, 0x6f, 0xfe, 0x13,
+	0x9e, 0xfb, 0xa3, 0x1d, 0xd1, 0x0c, 0x78, 0xd9, 0xda, 0x73, 0x3f, 0xe7, 0x7b, 0xbf, 0xe7, 0x9e,
+	0x73, 0x0b, 0x1f, 0x23, 0xce, 0xa3, 0x84, 0x7a, 0x11, 0x4f, 0x08, 0x8b, 0x3c, 0x9e, 0x45, 0x7e,
+	0x44, 0x59, 0x9a, 0x71, 0xc1, 0x7d, 0xbd, 0x44, 0xd2, 0x38, 0xf7, 0x27, 0x44, 0x90, 0x5c, 0xf0,
+	0x8c, 0xfa, 0x57, 0xaf, 0x42, 0x2a, 0xc8, 0x81, 0x4f, 0x99, 0x88, 0xc5, 0xcc, 0x53, 0xa4, 0xdb,
+	0x36, 0x2a, 0x15, 0xe6, 0x19, 0xac, 0x33, 0xb8, 0x9f, 0x3e, 0xfe, 0xf8, 0x39, 0xcd, 0xae, 0xe2,
+	0x31, 0x1d, 0x73, 0x76, 0x1e, 0x47, 0x3e, 0x61, 0x8c, 0x0b, 0x22, 0x62, 0xce, 0x72, 0xbd, 0x49,
+	0xe7, 0x30, 0x8a, 0xc5, 0x45, 0x11, 0x7a, 0x63, 0x3e, 0xf5, 0xb5, 0x9c, 0xaf, 0x16, 0xc2, 0xe2,
+	0xdc, 0x4f, 0xc5, 0x2c, 0xa5, 0xb9, 0x9f, 0x8b, 0xac, 0x18, 0x0b, 0xf3, 0x67, 0xd2, 0x8e, 0xee,
+	0x4e, 0x13, 0xf1, 0x94, 0xe6, 0x82, 0x4c, 0xd3, 0xf9, 0x93, 0x49, 0x7e, 0x7f, 0x3f, 0xfb, 0x52,
+	0xc6, 0x4f, 0x88, 0x48, 0x50, 0x5c, 0xff, 0xe9, 0xfc, 0xee, 0x37, 0xb0, 0x87, 0x24, 0xc3, 0x93,
+	0xc2, 0x3a, 0x06, 0x13, 0x77, 0x0b, 0x00, 0xe3, 0x3f, 0xe9, 0x58, 0x8c, 0xe2, 0x49, 0x7b, 0x69,
+	0xa7, 0xf6, 0xdc, 0x0a, 0x2c, 0x13, 0xc1, 0xe5, 0x27, 0xe0, 0x30, 0x82, 0x06, 0x52, 0x32, 0xa6,
+	0x12, 0x68, 0x28, 0xc0, 0xae, 0x62, 0x83, 0x49, 0xf7, 0x77, 0x0d, 0xea, 0x5f, 0xe8, 0xcc, 0x3d,
+	0x01, 0x27, 0x2d, 0x85, 0x25, 0x5a, 0x43, 0xd4, 0xde, 0xdf, 0xf5, 0x16, 0x35, 0xc2, 0xbb, 0x61,
+	0x23, 0xb0, 0xd3, 0x1b, 0x9e, 0x8e, 0xa1, 0x91, 0x12, 0x71, 0x81, 0x6e, 0xea, 0xa8, 0xf0, 0x62,
+	0xb1, 0x02, 0x6e, 0x8b, 0x2a, 0xe2, 0xa2, 0x9f, 0xd0, 0x29, 0x76, 0x3f, 0x50, 0x69, 0x9d, 0x33,
+	0x59, 0x61, 0x15, 0x74, 0x5d, 0x68, 0x5c, 0xc6, 0x4c, 0xfb, 0xb1, 0x02, 0xf5, 0xec, 0x3e, 0x84,
+	0x25, 0x53, 0x6d, 0xfd, 0xe4, 0x41, 0x80, 0xcf, 0xee, 0x26, 0x34, 0x64, 0x51, 0xed, 0xba, 0xa4,
+	0x30, 0xa6, 0xde, 0x7a, 0x16, 0x2c, 0xc7, 0x93, 0x91, 0x3c, 0xcb, 0x6e, 0x1f, 0xe0, 0x43, 0x96,
+	0x91, 0xd9, 0x77, 0x92, 0x14, 0xd4, 0x7d, 0x0d, 0xad, 0x2b, 0xf9, 0x90, 0xa3, 0xac, 0x34, 0xb9,
+	0xbd, 0xd8, 0xa4, 0x4a, 0x08, 0x0c, 0xde, 0xfd, 0xd5, 0x84, 0xa6, 0x96, 0x38, 0x02, 0x60, 0x45,
+	0x92, 0x8c, 0xd4, 0x42, 0xdb, 0xc6, 0x7d, 0xd7, 0xf6, 0x3b, 0xa5, 0x4c, 0x39, 0x0f, 0xde, 0x57,
+	0x44, 0x14, 0x8f, 0x9e, 0x2c, 0x56, 0xbe, 0xb8, 0xbb, 0xb0, 0x1a, 0x72, 0x8e, 0xbd, 0x66, 0x26,
+	0x5f, 0x56, 0xb7, 0x82, 0x8c, 0x63, 0xc2, 0x15, 0x16, 0x33, 0x41, 0x23, 0x9a, 0x19, 0xac, 0x2c,
+	0xd9, 0x31, 0x61, 0x8d, 0x3d, 0x05, 0x67, 0xc2, 0x8b, 0x30, 0xa1, 0x86, 0x92, 0x87, 0x50, 0x43,
+	0xca, 0xd6, 0x51, 0x0d, 0xf5, 0x61, 0xbd, 0x9a, 0x45, 0xc3, 0x81, 0x6a, 0xf1, 0xff, 0xa6, 0xcf,
+	0x4a, 0x0e, 0x35, 0xd6, 0xaa, 0x24, 0x2d, 0xf3, 0x0e, 0xac, 0x4b, 0x3a, 0x33, 0x02, 0x4d, 0x25,
+	0xb0, 0x75, 0x6b, 0x87, 0x51, 0x63, 0x05, 0x33, 0x2a, 0xa7, 0x78, 0x95, 0x62, 0x16, 0x19, 0x81,
+	0x47, 0xa6, 0x5d, 0xb6, 0x8e, 0x6a, 0x68, 0x1b, 0x20, 0x4c, 0x78, 0x68, 0x10, 0x17, 0x11, 0x47,
+	0x9e, 0x9e, 0x8c, 0x69, 0xe0, 0x18, 0xd6, 0x23, 0xca, 0x47, 0x29, 0xc7, 0x53, 0x30, 0xd4, 0x8a,
+	0x72, 0xb2, 0x51, 0x3a, 0x91, 0x2d, 0xf7, 0x4e, 0x89, 0x38, 0x65, 0x11, 0xa6, 0xae, 0x22, 0x3d,
+	0x94, 0x70, 0x79, 0x12, 0x8e, 0xfe, 0xd6, 0x98, 0xdc, 0x96, 0xca, 0xdd, 0x59, 0x5c, 0x45, 0x5f,
+	0xd1, 0xd2, 0xa6, 0xce, 0xd3, 0x32, 0x9f, 0xc1, 0x26, 0x72, 0xa2, 0x8c, 0x8a, 0xa5, 0x54, 0x9e,
+	0x2d, 0x56, 0x99, 0x8f, 0x1f, 0x2a, 0x01, 0x99, 0x0f, 0x63, 0x1b, 0x96, 0xa7, 0xd8, 0x72, 0xac,
+	0xbf, 0xbd, 0x86, 0x22, 0xcd, 0xa0, 0x7c, 0x75, 0xf7, 0x60, 0x93, 0x5e, 0x8f, 0x93, 0x62, 0x42,
+	0x47, 0xe7, 0x19, 0x9f, 0x8e, 0x70, 0xf6, 0xe9, 0x35, 0x0e, 0xed, 0x86, 0x9c, 0x96, 0xc0, 0x35,
+	0x6b, 0x9f, 0x70, 0x69, 0xa0, 0x57, 0x7a, 0x0e, 0x80, 0xb2, 0xa3, 0x87, 0xfe, 0x4f, 0x0d, 0x5a,
+	0xda, 0xbc, 0xeb, 0x43, 0x1d, 0xbb, 0x60, 0x6e, 0xf5, 0xed, 0x1d, 0x0b, 0x24, 0xe9, 0x0e, 0xd5,
+	0x97, 0x25, 0xa5, 0x78, 0xaf, 0x71, 0xc7, 0xba, 0xba, 0x26, 0x7b, 0x77, 0x9d, 0x91, 0x37, 0xac,
+	0x52, 0x30, 0x90, 0xcd, 0x82, 0x1b, 0x1a, 0x9d, 0x1f, 0xb0, 0xfe, 0xcf, 0x32, 0x5e, 0xe4, 0xca,
+	0x95, 0xa5, 0xb7, 0x3d, 0x84, 0xe6, 0x7c, 0xd4, 0xef, 0x71, 0x31, 0x35, 0xfd, 0x76, 0xe9, 0x4d,
+	0xad, 0xf7, 0x12, 0x1e, 0xe3, 0x27, 0x79, 0x61, 0x42, 0xcf, 0xd6, 0x1e, 0x87, 0x72, 0xcc, 0x87,
+	0xb5, 0xb0, 0xa5, 0xe6, 0xfd, 0xe0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x91, 0xf4, 0x96, 0x34,
+	0xb1, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/query.pb.go b/googleapis/datastore/v1beta3/query.pb.go
index c149a9e8..b7b39805 100644
--- a/googleapis/datastore/v1beta3/query.pb.go
+++ b/googleapis/datastore/v1beta3/query.pb.go
@@ -759,88 +759,87 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 1313 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x5d, 0x6f, 0xdb, 0x36,
-	0x17, 0x8e, 0xfc, 0x91, 0xd8, 0xc7, 0x5f, 0x2a, 0xfb, 0xbe, 0x7d, 0xd5, 0xb4, 0xc5, 0x9b, 0x0a,
-	0xdd, 0xea, 0x62, 0x9b, 0x8d, 0xb8, 0x28, 0xd6, 0x15, 0xdb, 0x00, 0x7f, 0x28, 0x89, 0x57, 0xc7,
-	0x72, 0x69, 0xa7, 0x40, 0x81, 0x0e, 0x82, 0x62, 0x33, 0xae, 0x56, 0x59, 0x54, 0x29, 0x26, 0x6d,
-	0x7e, 0xc8, 0x80, 0xfd, 0x9c, 0x5d, 0xec, 0x76, 0xb7, 0xbb, 0xdd, 0x0f, 0xd8, 0xcd, 0xfe, 0xc1,
-	0x06, 0x51, 0x94, 0xbf, 0x52, 0xd7, 0xde, 0xd0, 0x2b, 0x89, 0x87, 0xcf, 0xf3, 0x9c, 0xc3, 0xc3,
-	0x43, 0xf2, 0x40, 0x73, 0x4c, 0xe9, 0xd8, 0x25, 0x95, 0x31, 0x75, 0x6d, 0x6f, 0x5c, 0xa1, 0x6c,
-	0x5c, 0x1d, 0x13, 0xcf, 0x67, 0x94, 0xd3, 0x6a, 0x34, 0x65, 0xfb, 0x4e, 0x50, 0x1d, 0xd9, 0xdc,
-	0x0e, 0x38, 0x65, 0xa4, 0x7a, 0xb1, 0x7f, 0x4a, 0xb8, 0xfd, 0xb0, 0xfa, 0xe6, 0x9c, 0xb0, 0xcb,
-	0x8a, 0x00, 0x22, 0x4d, 0x8a, 0x4c, 0x51, 0x15, 0x89, 0xda, 0x6d, 0x6f, 0x26, 0x6f, 0xfb, 0x4e,
-	0x35, 0x20, 0xec, 0xc2, 0x19, 0x92, 0x21, 0xf5, 0xce, 0x9c, 0x71, 0xd5, 0xf6, 0x3c, 0xca, 0x6d,
-	0xee, 0x50, 0x2f, 0x88, 0x9c, 0xec, 0xb6, 0xfe, 0x6d, 0xa4, 0xc4, 0xe3, 0x0e, 0x97, 0xa1, 0xee,
-	0x7e, 0x35, 0x76, 0xf8, 0xab, 0xf3, 0xd3, 0xca, 0x90, 0x4e, 0xaa, 0x91, 0x52, 0x55, 0x4c, 0x9c,
-	0x9e, 0x9f, 0x55, 0x7d, 0x7e, 0xe9, 0x93, 0xa0, 0xfa, 0x96, 0xd9, 0xbe, 0x4f, 0xd8, 0xec, 0x47,
-	0x52, 0xbf, 0xdd, 0x2c, 0x80, 0x50, 0xa4, 0xea, 0xda, 0xdc, 0xf5, 0xc6, 0xf2, 0x13, 0xf1, 0xf5,
-	0x5f, 0x15, 0xc8, 0x1b, 0x22, 0x16, 0x4c, 0x82, 0x73, 0x97, 0xa3, 0xc7, 0xb0, 0x1d, 0xc5, 0xa6,
-	0x29, 0x7b, 0x4a, 0x39, 0x57, 0xdb, 0xab, 0xac, 0xca, 0x63, 0x45, 0xf2, 0x24, 0x1e, 0x69, 0xb0,
-	0x73, 0x41, 0x58, 0xe0, 0x50, 0x4f, 0x4b, 0xed, 0x29, 0xe5, 0x24, 0x8e, 0x87, 0xe8, 0x06, 0x6c,
-	0x0f, 0xcf, 0x59, 0x40, 0x99, 0x96, 0xdc, 0x53, 0xca, 0x79, 0x2c, 0x47, 0xfa, 0x33, 0x80, 0xc8,
-	0xeb, 0xe0, 0xd2, 0x27, 0xe8, 0x16, 0xfc, 0x0f, 0x1b, 0xfd, 0x93, 0xce, 0xc0, 0x1a, 0xbc, 0xe8,
-	0x19, 0xd6, 0x49, 0xb7, 0xdf, 0x33, 0x9a, 0xed, 0x83, 0xb6, 0xd1, 0x52, 0xb7, 0x50, 0x06, 0x52,
-	0x07, 0x27, 0x9d, 0x8e, 0xaa, 0xa0, 0x22, 0x40, 0x0f, 0x9b, 0xdf, 0x19, 0xcd, 0x41, 0xdb, 0xec,
-	0xaa, 0x09, 0x94, 0x87, 0xcc, 0x53, 0xe3, 0x85, 0x65, 0x76, 0x3b, 0x2f, 0xd4, 0xa4, 0xfe, 0x7b,
-	0x12, 0xd2, 0xcf, 0xc2, 0x2a, 0x40, 0x2d, 0x00, 0x9f, 0xd1, 0x1f, 0xc8, 0x30, 0xdc, 0x2f, 0x2d,
-	0xb1, 0x97, 0x2c, 0xe7, 0x6a, 0xf7, 0x56, 0x2f, 0xa6, 0x37, 0xc5, 0xe2, 0x39, 0x1e, 0xfa, 0x1a,
-	0x52, 0xaf, 0x1d, 0x6f, 0xa4, 0x25, 0x05, 0xbf, 0xbc, 0x9a, 0xff, 0xd4, 0xf1, 0x46, 0xc6, 0x3b,
-	0x9f, 0x91, 0x20, 0x5c, 0x32, 0x16, 0xac, 0x30, 0x99, 0x67, 0x8e, 0xcb, 0x09, 0x13, 0x19, 0xf9,
-	0x60, 0x32, 0x0f, 0x04, 0x0e, 0x4b, 0x3c, 0xfa, 0x06, 0xd2, 0x94, 0x8d, 0x08, 0xd3, 0xd2, 0xc2,
-	0xf1, 0xfd, 0x0f, 0x06, 0xee, 0x13, 0xc6, 0x2f, 0xcd, 0x10, 0x8e, 0x23, 0x16, 0xea, 0x40, 0x6e,
-	0xe4, 0x04, 0xdc, 0xf1, 0x86, 0xdc, 0xa2, 0x9e, 0xb6, 0x2d, 0x44, 0x3e, 0x5b, 0x2f, 0x82, 0xc9,
-	0x19, 0x61, 0xc4, 0x1b, 0x12, 0x0c, 0x31, 0xdf, 0xf4, 0xd0, 0x5d, 0xc8, 0x07, 0xdc, 0x66, 0xdc,
-	0x92, 0xbb, 0xb8, 0x23, 0x76, 0x31, 0x27, 0x6c, 0x4d, 0x61, 0x42, 0x77, 0x00, 0x88, 0x37, 0x8a,
-	0x01, 0x19, 0x01, 0xc8, 0x12, 0x6f, 0x24, 0xa7, 0x6f, 0xc0, 0x36, 0x3d, 0x3b, 0x0b, 0x08, 0xd7,
-	0x60, 0x4f, 0x29, 0xa7, 0xb1, 0x1c, 0xa1, 0x7d, 0x48, 0xbb, 0xce, 0xc4, 0xe1, 0x5a, 0x5e, 0xe4,
-	0xe7, 0x56, 0x1c, 0x61, 0x5c, 0xfe, 0x95, 0xb6, 0xc7, 0x1f, 0xd6, 0x9e, 0xdb, 0xee, 0x39, 0xc1,
-	0x11, 0x52, 0xbf, 0x07, 0xc5, 0xc5, 0x5c, 0x23, 0x04, 0x29, 0xcf, 0x9e, 0x10, 0x51, 0xb0, 0x59,
-	0x2c, 0xfe, 0xf5, 0xfb, 0x70, 0xed, 0xca, 0x9a, 0xa6, 0xc0, 0xc4, 0x1c, 0xf0, 0x04, 0x60, 0xb6,
-	0xf5, 0xe8, 0x10, 0x32, 0xbe, 0xa4, 0xc9, 0xfa, 0xff, 0x47, 0x49, 0x9b, 0x92, 0xf5, 0x3f, 0x15,
-	0x28, 0x2c, 0xec, 0xcc, 0x47, 0x93, 0x46, 0x26, 0x64, 0x47, 0x0e, 0x9b, 0xd6, 0xb5, 0x52, 0x2e,
-	0xd6, 0xf6, 0x37, 0x2c, 0x8f, 0x4a, 0x2b, 0x26, 0xe2, 0x99, 0x86, 0x6e, 0x40, 0x76, 0x6a, 0x47,
-	0x37, 0xe1, 0xbf, 0xad, 0x36, 0x8e, 0x4e, 0xd7, 0xd2, 0x19, 0x2c, 0x40, 0xb6, 0xde, 0x6f, 0x1a,
-	0xdd, 0x56, 0xbb, 0x7b, 0x18, 0x1d, 0xc4, 0x96, 0x31, 0x1d, 0x27, 0xf4, 0x5f, 0x14, 0xd8, 0x8e,
-	0xaa, 0x18, 0x3d, 0x07, 0x75, 0x48, 0x27, 0x3e, 0x0d, 0x1c, 0x4e, 0x2c, 0x79, 0x02, 0xa2, 0x35,
-	0x3f, 0x58, 0x1d, 0x69, 0x33, 0x66, 0x44, 0x22, 0x47, 0x5b, 0xb8, 0x34, 0x5c, 0x34, 0xa1, 0x3e,
-	0x94, 0xe2, 0x34, 0xc4, 0xb2, 0x09, 0x21, 0x5b, 0x5e, 0x9f, 0x80, 0xa9, 0x6a, 0xd1, 0x5f, 0xb0,
-	0x34, 0x0a, 0x90, 0x8b, 0xb4, 0xac, 0xf0, 0x96, 0xd4, 0x7f, 0x56, 0xa0, 0xb4, 0x14, 0x0a, 0x6a,
-	0x40, 0x82, 0xfa, 0x62, 0x05, 0xc5, 0x5a, 0x6d, 0xe3, 0x15, 0x54, 0x4c, 0x9f, 0x30, 0x9b, 0x53,
-	0x86, 0x13, 0xd4, 0x47, 0x4f, 0x60, 0x27, 0x72, 0x13, 0xc8, 0xcb, 0x68, 0xfd, 0x65, 0x10, 0x13,
-	0xf4, 0x2f, 0x20, 0x13, 0x6b, 0x21, 0x0d, 0xfe, 0x63, 0xf6, 0x0c, 0x5c, 0x1f, 0x98, 0x78, 0x69,
-	0x7f, 0x76, 0x20, 0x59, 0xef, 0xb6, 0x54, 0x45, 0xff, 0x23, 0x01, 0xc5, 0xc5, 0x65, 0x7f, 0xbc,
-	0xea, 0xab, 0x8b, 0x54, 0x6c, 0x5c, 0x76, 0xef, 0xcb, 0xc4, 0x23, 0x48, 0x5f, 0x84, 0x27, 0x5a,
-	0xbc, 0x06, 0xb9, 0xda, 0xff, 0x57, 0xab, 0xc8, 0x83, 0x2f, 0xd0, 0xfa, 0x8f, 0xca, 0x46, 0x59,
-	0x28, 0x40, 0xb6, 0x63, 0xf4, 0xfb, 0xd6, 0xe0, 0xa8, 0xde, 0x55, 0x15, 0x74, 0x03, 0xd0, 0x74,
-	0x68, 0x99, 0xd8, 0x32, 0x9e, 0x9d, 0xd4, 0x3b, 0x6a, 0x02, 0xa9, 0x90, 0x3f, 0xc4, 0x46, 0x7d,
-	0x60, 0xe0, 0x08, 0x99, 0x0c, 0x2b, 0x7f, 0xde, 0x32, 0x03, 0xa7, 0x50, 0x16, 0xd2, 0xd1, 0x6f,
-	0x3a, 0xe4, 0x1d, 0xd5, 0xfb, 0x56, 0xbd, 0xdb, 0x34, 0xfa, 0x03, 0x13, 0xab, 0x39, 0xfd, 0xaf,
-	0x04, 0x64, 0x0e, 0xdf, 0xb8, 0xd1, 0xab, 0x73, 0x17, 0xf2, 0xa2, 0x09, 0xb1, 0x02, 0xce, 0x1c,
-	0x6f, 0x2c, 0xef, 0xa4, 0x9c, 0xb0, 0xf5, 0x85, 0x09, 0x7d, 0x02, 0x45, 0xdb, 0x75, 0xe9, 0x5b,
-	0xcb, 0x75, 0x38, 0x61, 0xb6, 0x1b, 0x88, 0x6c, 0x66, 0x70, 0x41, 0x58, 0x3b, 0xd2, 0x88, 0x5e,
-	0x42, 0x31, 0xbc, 0xa0, 0x46, 0xd6, 0xa9, 0xe3, 0x8d, 0x1c, 0x6f, 0x1c, 0xc8, 0xa7, 0xe0, 0xd1,
-	0xea, 0x74, 0xc5, 0x51, 0x54, 0xba, 0x21, 0xb1, 0x21, 0x79, 0x86, 0xc7, 0xd9, 0x25, 0x2e, 0x78,
-	0xf3, 0x36, 0xf4, 0x12, 0xae, 0x8b, 0x52, 0x75, 0xa8, 0x67, 0xbb, 0x33, 0x17, 0xa9, 0x75, 0x0f,
-	0x45, 0xec, 0xa2, 0x67, 0x33, 0x7b, 0x42, 0xc2, 0x22, 0x45, 0x33, 0x9d, 0x58, 0x7d, 0x77, 0x02,
-	0xe8, 0x6a, 0x08, 0x48, 0x85, 0xe4, 0x6b, 0x72, 0x29, 0x53, 0x12, 0xfe, 0xa2, 0x7a, 0x5c, 0x09,
-	0x89, 0x75, 0x25, 0x79, 0xd5, 0x6f, 0xc4, 0x7c, 0x92, 0x78, 0xac, 0xe8, 0xef, 0xe0, 0xda, 0x95,
-	0x79, 0xf4, 0xe5, 0xa2, 0xf6, 0xba, 0x2a, 0x3b, 0xda, 0x92, 0x8a, 0x48, 0x5b, 0xec, 0x56, 0x8e,
-	0xb6, 0xe2, 0x7e, 0xa5, 0xa1, 0x42, 0xd1, 0x8f, 0xf5, 0xa3, 0xcb, 0xe2, 0xb7, 0x14, 0xa8, 0xc2,
-	0x6f, 0xd4, 0xc7, 0x34, 0x6c, 0x3e, 0x7c, 0x85, 0xee, 0x43, 0x29, 0x78, 0xed, 0xf8, 0x3e, 0x19,
-	0x59, 0x4c, 0x98, 0x03, 0x6d, 0x5b, 0xbc, 0x7a, 0x45, 0x69, 0x8e, 0xc0, 0x41, 0x58, 0x09, 0x31,
-	0x70, 0xa1, 0x3f, 0x2a, 0x48, 0xab, 0x7c, 0x3c, 0x2d, 0x40, 0x51, 0x8b, 0x25, 0xe5, 0x84, 0x6b,
-	0x79, 0x1b, 0xed, 0xaf, 0x6d, 0xcf, 0x04, 0xa5, 0x32, 0xeb, 0xb3, 0xb0, 0x4a, 0xe6, 0x26, 0x44,
-	0xe7, 0x75, 0x0c, 0xc5, 0x05, 0x07, 0xf1, 0x0d, 0xf5, 0xe9, 0x66, 0xe2, 0xb8, 0x30, 0xaf, 0x18,
-	0x2c, 0xf5, 0x02, 0xa9, 0xe5, 0x5e, 0xe0, 0x7b, 0xc8, 0x4f, 0x28, 0x23, 0x53, 0x5f, 0x69, 0xb1,
-	0x90, 0x27, 0xab, 0x7d, 0x2d, 0x27, 0xb8, 0x72, 0x4c, 0x19, 0x91, 0xce, 0xc4, 0x8a, 0x72, 0x93,
-	0x99, 0x01, 0x3d, 0x00, 0x35, 0xf0, 0x6c, 0x3f, 0x78, 0x45, 0xb9, 0x15, 0xf7, 0xa3, 0x3b, 0xa2,
-	0x1f, 0x2d, 0xc5, 0xf6, 0xe7, 0x91, 0x59, 0xff, 0x49, 0x81, 0xd2, 0x92, 0x16, 0xba, 0x0b, 0x77,
-	0x8e, 0x4d, 0x6c, 0x58, 0x51, 0x2b, 0xda, 0x7f, 0x5f, 0x2f, 0xaa, 0x42, 0xbe, 0x6b, 0x0e, 0xac,
-	0x83, 0x76, 0xb7, 0xdd, 0x3f, 0x32, 0x5a, 0xaa, 0x82, 0x6e, 0x83, 0xb6, 0x40, 0xaa, 0x1f, 0x84,
-	0xb7, 0x48, 0xa7, 0x7d, 0xdc, 0x1e, 0xa8, 0x09, 0x74, 0x07, 0x6e, 0xbe, 0x67, 0xb6, 0x79, 0x82,
-	0xfb, 0x26, 0x56, 0x53, 0xe8, 0x3a, 0x94, 0xba, 0xa6, 0x35, 0x8f, 0x50, 0x93, 0x8d, 0xcf, 0xe1,
-	0xf6, 0x90, 0x4e, 0x56, 0xe6, 0xa4, 0x01, 0x51, 0xb5, 0x87, 0x6d, 0x52, 0x4f, 0x39, 0xdd, 0x16,
-	0xfd, 0xd2, 0xc3, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x23, 0x3e, 0xbb, 0x1a, 0x39, 0x0d, 0x00,
-	0x00,
+	// 1304 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xdb, 0x6e, 0xdb, 0x46,
+	0x10, 0x0d, 0x75, 0xb1, 0xe5, 0xd1, 0xc5, 0xcc, 0xa6, 0x4d, 0x15, 0x27, 0x41, 0x53, 0x22, 0x6d,
+	0x1c, 0xb4, 0xa5, 0x60, 0x07, 0x41, 0xd3, 0xa0, 0x2d, 0xa0, 0x0b, 0x6d, 0xab, 0x91, 0x25, 0x65,
+	0x25, 0x07, 0x08, 0xd0, 0x82, 0xa0, 0x25, 0x5a, 0x61, 0x43, 0x93, 0x0c, 0xb9, 0x76, 0xe2, 0x0f,
+	0x29, 0xd0, 0xcf, 0xe9, 0x43, 0x5f, 0xfb, 0xda, 0xd7, 0x7e, 0x40, 0x5f, 0xfa, 0x07, 0xed, 0x70,
+	0x77, 0xa9, 0x9b, 0xa3, 0x48, 0x2d, 0xf2, 0x62, 0x8b, 0xb3, 0x73, 0xce, 0xcc, 0xce, 0x9e, 0x9d,
+	0x1d, 0xa8, 0x8f, 0x7c, 0x7f, 0xe4, 0xda, 0xfa, 0xc8, 0x77, 0x2d, 0x6f, 0xa4, 0xfb, 0xe1, 0xa8,
+	0x32, 0xb2, 0xbd, 0x20, 0xf4, 0x99, 0x5f, 0x11, 0x4b, 0x56, 0xe0, 0x44, 0x95, 0xa1, 0xc5, 0xac,
+	0x88, 0xf9, 0xa1, 0x5d, 0x39, 0xdf, 0x39, 0xb6, 0x99, 0xf5, 0xa0, 0xf2, 0xea, 0xcc, 0x0e, 0x2f,
+	0x74, 0xee, 0x48, 0xca, 0x92, 0x64, 0xec, 0xa5, 0x4b, 0xaf, 0xad, 0xe6, 0x6a, 0xf4, 0xf8, 0xa7,
+	0x12, 0xd9, 0xe1, 0xb9, 0x33, 0xb0, 0x07, 0xbe, 0x77, 0xe2, 0x8c, 0x2a, 0x96, 0xe7, 0xf9, 0xcc,
+	0x62, 0x8e, 0xef, 0x45, 0x22, 0xc8, 0x56, 0xe3, 0xff, 0x66, 0x6a, 0x7b, 0xcc, 0x61, 0x32, 0xd5,
+	0xad, 0xaf, 0x47, 0x0e, 0x7b, 0x71, 0x76, 0xac, 0x0f, 0xfc, 0xd3, 0x8a, 0x60, 0xaa, 0xf0, 0x85,
+	0xe3, 0xb3, 0x93, 0x4a, 0xc0, 0x2e, 0x02, 0x3b, 0xaa, 0xbc, 0x0e, 0xad, 0x20, 0xb0, 0xc3, 0xc9,
+	0x0f, 0x09, 0xfd, 0x6e, 0xb5, 0x04, 0x62, 0x92, 0x8a, 0x6b, 0x31, 0x17, 0xa9, 0xc5, 0x3f, 0x81,
+	0xd7, 0x7e, 0x57, 0xa0, 0x60, 0xf0, 0x5c, 0xa8, 0x1d, 0x9d, 0xb9, 0x8c, 0x3c, 0x82, 0x35, 0x91,
+	0x5b, 0x59, 0xb9, 0xa3, 0x6c, 0xe7, 0x77, 0xef, 0xe8, 0x8b, 0xea, 0xa8, 0x4b, 0x9c, 0xf4, 0x27,
+	0x65, 0x58, 0x3f, 0xc7, 0xc4, 0xb0, 0x3a, 0xe5, 0x0c, 0x42, 0xd3, 0x34, 0xf9, 0x24, 0xd7, 0x61,
+	0x6d, 0x70, 0x16, 0x46, 0x7e, 0x58, 0x4e, 0xe3, 0x42, 0x81, 0xca, 0x2f, 0xed, 0x29, 0x80, 0x88,
+	0xda, 0xc7, 0xf4, 0xc8, 0x4d, 0xf8, 0x88, 0x1a, 0xbd, 0xa3, 0x56, 0xdf, 0xec, 0x3f, 0xef, 0x1a,
+	0xe6, 0x51, 0xbb, 0xd7, 0x35, 0xea, 0xcd, 0xbd, 0xa6, 0xd1, 0x50, 0xaf, 0x90, 0x1c, 0x64, 0xf6,
+	0x8e, 0x5a, 0x2d, 0x55, 0x21, 0x25, 0x80, 0x2e, 0xed, 0x7c, 0x6f, 0xd4, 0xfb, 0xcd, 0x4e, 0x5b,
+	0x4d, 0x91, 0x02, 0xe4, 0x9e, 0x18, 0xcf, 0xcd, 0x4e, 0xbb, 0xf5, 0x5c, 0x4d, 0x6b, 0x7f, 0xa6,
+	0x21, 0xfb, 0x34, 0x56, 0x01, 0x69, 0x00, 0xe0, 0x16, 0x7f, 0xb2, 0x07, 0xf1, 0x79, 0x95, 0x53,
+	0x77, 0xd2, 0xb8, 0x99, 0xbb, 0x8b, 0x37, 0xd3, 0x1d, 0xfb, 0xd2, 0x29, 0x1c, 0xf9, 0x06, 0x32,
+	0x2f, 0x1d, 0x6f, 0x88, 0x89, 0xc7, 0xf8, 0xed, 0xc5, 0xf8, 0x27, 0xe8, 0x65, 0xbc, 0x09, 0x42,
+	0x3b, 0x8a, 0xb7, 0x4c, 0x39, 0x2a, 0x2e, 0xe6, 0x89, 0xe3, 0x32, 0x3b, 0xe4, 0x15, 0x79, 0x67,
+	0x31, 0xf7, 0xb8, 0x1f, 0x95, 0xfe, 0xe4, 0x5b, 0xc8, 0xfa, 0xe1, 0x10, 0x81, 0x59, 0x1e, 0xf8,
+	0xde, 0x3b, 0x13, 0x47, 0x3d, 0xb0, 0x8b, 0x4e, 0xec, 0x4e, 0x05, 0x8a, 0xb4, 0x20, 0x3f, 0x74,
+	0x22, 0xe6, 0x78, 0x03, 0x66, 0xe2, 0xee, 0xd7, 0x38, 0xc9, 0xe7, 0xcb, 0x49, 0xa8, 0x7d, 0x62,
+	0x87, 0xb6, 0x37, 0xb0, 0x29, 0x24, 0xf8, 0x8e, 0x47, 0x3e, 0x81, 0x42, 0xc4, 0xac, 0x90, 0x99,
+	0xf2, 0x14, 0xd7, 0xf9, 0x29, 0xe6, 0xb9, 0xad, 0xce, 0x4d, 0xe4, 0x36, 0x80, 0xed, 0x0d, 0x13,
+	0x87, 0x1c, 0x77, 0xd8, 0x40, 0x8b, 0x5c, 0x46, 0x05, 0xf8, 0x27, 0x27, 0x91, 0xcd, 0xca, 0x80,
+	0x4b, 0x59, 0x2a, 0xbf, 0xc8, 0x0e, 0x64, 0x5d, 0xe7, 0xd4, 0x61, 0xe5, 0x02, 0xaf, 0xcf, 0xcd,
+	0x24, 0xc3, 0x44, 0xfe, 0x7a, 0xd3, 0x63, 0x0f, 0x76, 0x9f, 0x59, 0xee, 0x99, 0x4d, 0x85, 0xa7,
+	0x76, 0x17, 0x4a, 0xb3, 0xb5, 0x26, 0x04, 0x32, 0x9e, 0x75, 0x6a, 0x73, 0xc1, 0x6e, 0x50, 0xfe,
+	0x5b, 0xbb, 0x07, 0x57, 0x2f, 0xed, 0x69, 0xec, 0x98, 0x9a, 0x72, 0x3c, 0x42, 0x39, 0x4d, 0x8e,
+	0x7b, 0x1f, 0x72, 0x81, 0x84, 0x49, 0xfd, 0xff, 0xa7, 0xa2, 0x8d, 0xc1, 0xda, 0xdf, 0x0a, 0x14,
+	0x67, 0x4e, 0xe6, 0xbd, 0x51, 0x93, 0x0e, 0x6c, 0x0c, 0x9d, 0x70, 0xac, 0x6b, 0x65, 0xbb, 0xb4,
+	0xbb, 0xb3, 0xa2, 0x3c, 0xf4, 0x46, 0x02, 0xa4, 0x13, 0x0e, 0xcd, 0x80, 0x8d, 0xb1, 0x9d, 0xdc,
+	0x80, 0x0f, 0x1b, 0x4d, 0x2a, 0x6e, 0xd7, 0xdc, 0x1d, 0x2c, 0xc2, 0x46, 0xb5, 0x57, 0x37, 0xda,
+	0x8d, 0x66, 0x7b, 0x5f, 0x5c, 0xc4, 0x86, 0x31, 0xfe, 0x4e, 0x69, 0xbf, 0x29, 0xb0, 0x26, 0x54,
+	0x4c, 0x9e, 0x81, 0x8a, 0xbd, 0x2c, 0xf0, 0x23, 0x87, 0xd9, 0xa6, 0xbc, 0x01, 0x62, 0xcf, 0xf7,
+	0x17, 0x67, 0x5a, 0x4f, 0x10, 0x82, 0xe4, 0xe0, 0x0a, 0xdd, 0x1c, 0xcc, 0x9a, 0x48, 0x0f, 0x36,
+	0x93, 0x32, 0x24, 0xb4, 0x29, 0x4e, 0xbb, 0xbd, 0xbc, 0x00, 0x63, 0xd6, 0x52, 0x30, 0x63, 0xa9,
+	0x15, 0x21, 0x2f, 0xb8, 0xcc, 0xb8, 0x4b, 0x6a, 0xbf, 0x2a, 0xb0, 0x39, 0x97, 0x0a, 0xa9, 0x41,
+	0xca, 0x0f, 0xf8, 0x0e, 0x4a, 0xbb, 0xbb, 0x2b, 0xef, 0x40, 0xef, 0x60, 0x18, 0x0b, 0x3d, 0x28,
+	0xa2, 0xc9, 0x63, 0x58, 0x17, 0x61, 0x22, 0xd9, 0x8c, 0x96, 0x37, 0x83, 0x04, 0xa0, 0x7d, 0x09,
+	0xb9, 0x84, 0x0b, 0xdb, 0xec, 0x07, 0x9d, 0xae, 0x41, 0xab, 0xfd, 0x0e, 0x9d, 0x3b, 0x9f, 0x75,
+	0x48, 0x57, 0xdb, 0x0d, 0x55, 0xd1, 0xfe, 0x4a, 0x41, 0x69, 0x76, 0xdb, 0xef, 0x4f, 0x7d, 0x55,
+	0x5e, 0x8a, 0x95, 0x65, 0xf7, 0xb6, 0x4a, 0x3c, 0x84, 0xec, 0x79, 0x7c, 0xa3, 0xf9, 0x6b, 0x90,
+	0xdf, 0xfd, 0x78, 0x31, 0x8b, 0xbc, 0xf8, 0xdc, 0x5b, 0xfb, 0x59, 0x59, 0xa9, 0x0a, 0xa8, 0xd2,
+	0x96, 0xd1, 0xeb, 0x99, 0xfd, 0x83, 0x6a, 0x1b, 0x55, 0x7a, 0x1d, 0xc8, 0xf8, 0xd3, 0x44, 0x67,
+	0xe3, 0xe9, 0x51, 0xb5, 0x85, 0xcf, 0x86, 0x0a, 0x85, 0x7d, 0x6a, 0x54, 0xfb, 0x06, 0x15, 0x9e,
+	0xe9, 0x58, 0xf9, 0xd3, 0x96, 0x89, 0x73, 0x86, 0x6c, 0x40, 0x56, 0xfc, 0xcc, 0xc6, 0xb8, 0x83,
+	0x6a, 0xcf, 0xac, 0xb6, 0xeb, 0x46, 0x0f, 0x83, 0xab, 0x79, 0xed, 0x9f, 0x14, 0xe4, 0xf6, 0x5f,
+	0xb9, 0xe2, 0xd5, 0xc1, 0x56, 0xc9, 0x87, 0x10, 0x33, 0x62, 0xa1, 0xe3, 0x8d, 0x64, 0x4f, 0xca,
+	0x73, 0x5b, 0x8f, 0x9b, 0xc8, 0xa7, 0x50, 0xb2, 0x5c, 0xd7, 0x7f, 0x6d, 0xba, 0xa8, 0x94, 0xd0,
+	0x72, 0x23, 0x5e, 0xcd, 0x1c, 0x2d, 0x72, 0x6b, 0x4b, 0x1a, 0xc9, 0x0f, 0x50, 0x8a, 0x1b, 0xd4,
+	0xd0, 0x3c, 0xc6, 0x6e, 0x87, 0xb8, 0x48, 0x3e, 0x05, 0x0f, 0x17, 0x97, 0x2b, 0xc9, 0x42, 0x6f,
+	0xc7, 0xc0, 0x9a, 0xc4, 0xe1, 0x33, 0x1d, 0x5e, 0xd0, 0xa2, 0x37, 0x6d, 0x43, 0xf6, 0x6b, 0x5c,
+	0xaa, 0x78, 0xe5, 0x2d, 0x77, 0x12, 0x22, 0xb3, 0xec, 0xa1, 0x48, 0x42, 0x74, 0xad, 0x10, 0xf9,
+	0x62, 0x91, 0x92, 0x09, 0x4f, 0xc2, 0xbe, 0x75, 0x0a, 0xe4, 0x72, 0x0a, 0x58, 0xba, 0xf4, 0x4b,
+	0xfb, 0x42, 0x96, 0x24, 0xfe, 0x89, 0x62, 0x92, 0x4a, 0x48, 0x2d, 0x93, 0xe4, 0xe5, 0xb8, 0x02,
+	0xf9, 0x38, 0xf5, 0x48, 0xd1, 0xde, 0xc0, 0xd5, 0x4b, 0xeb, 0xe4, 0xab, 0x59, 0xee, 0x65, 0x2a,
+	0xc3, 0xc6, 0x20, 0xfc, 0x51, 0x5a, 0x33, 0xd3, 0x0a, 0x2e, 0xc8, 0xef, 0x9a, 0x0a, 0xa5, 0x20,
+	0xe1, 0x17, 0xcd, 0xe2, 0x8f, 0x0c, 0xa8, 0x3c, 0xae, 0x98, 0x63, 0x6a, 0x16, 0x1b, 0xbc, 0x20,
+	0xf7, 0x60, 0x33, 0x7a, 0xe9, 0xe0, 0x94, 0x36, 0x34, 0x43, 0x6e, 0x8e, 0xf0, 0x01, 0x8e, 0x5f,
+	0xbd, 0x92, 0x34, 0x0b, 0xe7, 0x28, 0x56, 0x42, 0xe2, 0x38, 0x33, 0x1f, 0x15, 0xa5, 0x55, 0x3e,
+	0x9e, 0x26, 0x10, 0x31, 0x62, 0x49, 0x3a, 0x1e, 0x5a, 0x76, 0xa3, 0x9d, 0xa5, 0xe3, 0x19, 0x87,
+	0xe8, 0x93, 0x39, 0x8b, 0xaa, 0xf6, 0xd4, 0x02, 0x9f, 0xbc, 0x0e, 0xa1, 0x34, 0x13, 0x20, 0xe9,
+	0x50, 0x9f, 0xad, 0x46, 0x4e, 0x8b, 0xd3, 0x8c, 0xd1, 0xdc, 0x2c, 0x90, 0x99, 0x9f, 0x05, 0x7e,
+	0x84, 0xc2, 0x29, 0x52, 0x8d, 0x63, 0x65, 0xf9, 0x46, 0x1e, 0x2f, 0x8e, 0x35, 0x5f, 0x60, 0xfd,
+	0x10, 0x57, 0x65, 0x30, 0xbe, 0xa3, 0xfc, 0xe9, 0xc4, 0x40, 0xee, 0x83, 0x1a, 0x79, 0x56, 0x10,
+	0xbd, 0xf0, 0x99, 0x99, 0xcc, 0xa3, 0xeb, 0x7c, 0x1e, 0xdd, 0x4c, 0xec, 0xcf, 0x84, 0x59, 0xfb,
+	0x05, 0x5b, 0xfd, 0x1c, 0x17, 0x5e, 0xe0, 0xdb, 0x87, 0x1d, 0x6a, 0x98, 0x62, 0x14, 0xed, 0xbd,
+	0x6d, 0x16, 0xc5, 0x16, 0xd0, 0xee, 0xf4, 0xcd, 0xbd, 0x66, 0xbb, 0xd9, 0x3b, 0x40, 0x8b, 0x42,
+	0x6e, 0x41, 0x79, 0x06, 0x54, 0xdd, 0x8b, 0xbb, 0x48, 0xab, 0x79, 0xd8, 0xec, 0x63, 0xab, 0xb9,
+	0x0d, 0x37, 0xde, 0xb2, 0x5a, 0x3f, 0xa2, 0x3d, 0xec, 0x1f, 0x19, 0x72, 0x0d, 0x36, 0xdb, 0x1d,
+	0x73, 0xda, 0x43, 0x4d, 0xd7, 0xbe, 0x80, 0x5b, 0xf8, 0xf8, 0x2d, 0xac, 0x49, 0x0d, 0x84, 0xda,
+	0xe3, 0x31, 0xa9, 0xab, 0x1c, 0xaf, 0xf1, 0x79, 0xe9, 0xc1, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0x23, 0x3e, 0xbb, 0x1a, 0x39, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
index 7fa958a5..8d3a35e2 100644
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
+++ b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
@@ -25,6 +25,13 @@ It has these top-level messages:
 	ListBuildsRequest
 	ListBuildsResponse
 	CancelBuildRequest
+	BuildTrigger
+	CreateBuildTriggerRequest
+	GetBuildTriggerRequest
+	ListBuildTriggersRequest
+	ListBuildTriggersResponse
+	DeleteBuildTriggerRequest
+	UpdateBuildTriggerRequest
 	BuildOptions
 */
 package google_devtools_cloudbuild_v1 // import "google.golang.org/genproto/googleapis/devtools/cloudbuild/v1"
@@ -36,7 +43,7 @@ import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import _ "google.golang.org/genproto/googleapis/devtools/source/v1"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
-import _ "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -154,7 +161,7 @@ func (x BuildOptions_VerifyOption) String() string {
 	return proto.EnumName(BuildOptions_VerifyOption_name, int32(x))
 }
 func (BuildOptions_VerifyOption) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{16, 0}
+	return fileDescriptor0, []int{23, 0}
 }
 
 // StorageSource describes the location of the source in an archive file in
@@ -501,7 +508,6 @@ type Results struct {
 	// Images that were built as a part of the build.
 	Images []*BuiltImage `protobuf:"bytes,2,rep,name=images" json:"images,omitempty"`
 	// List of build step digests, in order corresponding to build step indices.
-	// next id = 4
 	BuildStepImages []string `protobuf:"bytes,3,rep,name=build_step_images,json=buildStepImages" json:"build_step_images,omitempty"`
 }
 
@@ -824,6 +830,233 @@ func (m *CancelBuildRequest) String() string            { return proto.CompactTe
 func (*CancelBuildRequest) ProtoMessage()               {}
 func (*CancelBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+// Configuration for an automated build in response to source repository
+// changes.
+type BuildTrigger struct {
+	// Unique identifier of the trigger.
+	//
+	// @OutputOnly
+	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
+	// Template describing the types of source changes to trigger a build.
+	//
+	// Branch and tag names in trigger templates are interpreted as regular
+	// expressions. Any branch or tag change that matches that regular expression
+	// will trigger a build.
+	TriggerTemplate *RepoSource `protobuf:"bytes,7,opt,name=trigger_template,json=triggerTemplate" json:"trigger_template,omitempty"`
+	// Template describing the Build request to make when the trigger is matched.
+	//
+	// Fields can include the following variables which will be expanded when the
+	// build is created:
+	// - $PROJECT_ID: the project ID that owns the repo.
+	// - $REPO_NAME: the name of the repo.
+	// - $BRANCH_NAME: the branch name that triggered the build.
+	// - $TAG_NAME: the tag name that triggered the build.
+	// - $REVISION_ID: the commit SHA of the revision that triggered the build.
+	//
+	// Types that are valid to be assigned to BuildTemplate:
+	//	*BuildTrigger_Build
+	BuildTemplate isBuildTrigger_BuildTemplate `protobuf_oneof:"build_template"`
+	// Time when the trigger was created.
+	//
+	// @OutputOnly
+	CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
+}
+
+func (m *BuildTrigger) Reset()                    { *m = BuildTrigger{} }
+func (m *BuildTrigger) String() string            { return proto.CompactTextString(m) }
+func (*BuildTrigger) ProtoMessage()               {}
+func (*BuildTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+
+type isBuildTrigger_BuildTemplate interface {
+	isBuildTrigger_BuildTemplate()
+}
+
+type BuildTrigger_Build struct {
+	Build *Build `protobuf:"bytes,4,opt,name=build,oneof"`
+}
+
+func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate() {}
+
+func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
+	if m != nil {
+		return m.BuildTemplate
+	}
+	return nil
+}
+
+func (m *BuildTrigger) GetTriggerTemplate() *RepoSource {
+	if m != nil {
+		return m.TriggerTemplate
+	}
+	return nil
+}
+
+func (m *BuildTrigger) GetBuild() *Build {
+	if x, ok := m.GetBuildTemplate().(*BuildTrigger_Build); ok {
+		return x.Build
+	}
+	return nil
+}
+
+func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
+	if m != nil {
+		return m.CreateTime
+	}
+	return nil
+}
+
+// XXX_OneofFuncs is for the internal use of the proto package.
+func (*BuildTrigger) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
+	return _BuildTrigger_OneofMarshaler, _BuildTrigger_OneofUnmarshaler, _BuildTrigger_OneofSizer, []interface{}{
+		(*BuildTrigger_Build)(nil),
+	}
+}
+
+func _BuildTrigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
+	m := msg.(*BuildTrigger)
+	// build_template
+	switch x := m.BuildTemplate.(type) {
+	case *BuildTrigger_Build:
+		b.EncodeVarint(4<<3 | proto.WireBytes)
+		if err := b.EncodeMessage(x.Build); err != nil {
+			return err
+		}
+	case nil:
+	default:
+		return fmt.Errorf("BuildTrigger.BuildTemplate has unexpected type %T", x)
+	}
+	return nil
+}
+
+func _BuildTrigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
+	m := msg.(*BuildTrigger)
+	switch tag {
+	case 4: // build_template.build
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		msg := new(Build)
+		err := b.DecodeMessage(msg)
+		m.BuildTemplate = &BuildTrigger_Build{msg}
+		return true, err
+	default:
+		return false, nil
+	}
+}
+
+func _BuildTrigger_OneofSizer(msg proto.Message) (n int) {
+	m := msg.(*BuildTrigger)
+	// build_template
+	switch x := m.BuildTemplate.(type) {
+	case *BuildTrigger_Build:
+		s := proto.Size(x.Build)
+		n += proto.SizeVarint(4<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(s))
+		n += s
+	case nil:
+	default:
+		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
+	}
+	return n
+}
+
+// Request to create a new BuildTrigger.
+type CreateBuildTriggerRequest struct {
+	// ID of the project for which to configure automatic builds.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// BuildTrigger to create.
+	Trigger *BuildTrigger `protobuf:"bytes,2,opt,name=trigger" json:"trigger,omitempty"`
+}
+
+func (m *CreateBuildTriggerRequest) Reset()                    { *m = CreateBuildTriggerRequest{} }
+func (m *CreateBuildTriggerRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateBuildTriggerRequest) ProtoMessage()               {}
+func (*CreateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
+
+func (m *CreateBuildTriggerRequest) GetTrigger() *BuildTrigger {
+	if m != nil {
+		return m.Trigger
+	}
+	return nil
+}
+
+// Returns the BuildTrigger with the specified ID.
+type GetBuildTriggerRequest struct {
+	// ID of the project that owns the trigger.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// ID of the BuildTrigger to get.
+	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
+}
+
+func (m *GetBuildTriggerRequest) Reset()                    { *m = GetBuildTriggerRequest{} }
+func (m *GetBuildTriggerRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetBuildTriggerRequest) ProtoMessage()               {}
+func (*GetBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
+
+// Request to list existing BuildTriggers.
+type ListBuildTriggersRequest struct {
+	// ID of the project for which to list BuildTriggers.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+}
+
+func (m *ListBuildTriggersRequest) Reset()                    { *m = ListBuildTriggersRequest{} }
+func (m *ListBuildTriggersRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListBuildTriggersRequest) ProtoMessage()               {}
+func (*ListBuildTriggersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
+
+// Response containing existing BuildTriggers.
+type ListBuildTriggersResponse struct {
+	// BuildTriggers for the project, sorted by create_time descending.
+	Triggers []*BuildTrigger `protobuf:"bytes,1,rep,name=triggers" json:"triggers,omitempty"`
+}
+
+func (m *ListBuildTriggersResponse) Reset()                    { *m = ListBuildTriggersResponse{} }
+func (m *ListBuildTriggersResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListBuildTriggersResponse) ProtoMessage()               {}
+func (*ListBuildTriggersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
+
+func (m *ListBuildTriggersResponse) GetTriggers() []*BuildTrigger {
+	if m != nil {
+		return m.Triggers
+	}
+	return nil
+}
+
+// Request to delete a BuildTrigger.
+type DeleteBuildTriggerRequest struct {
+	// ID of the project that owns the trigger.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// ID of the BuildTrigger to delete.
+	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
+}
+
+func (m *DeleteBuildTriggerRequest) Reset()                    { *m = DeleteBuildTriggerRequest{} }
+func (m *DeleteBuildTriggerRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteBuildTriggerRequest) ProtoMessage()               {}
+func (*DeleteBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
+
+// Request to update an existing BuildTrigger.
+type UpdateBuildTriggerRequest struct {
+	// ID of the project that owns the trigger.
+	ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// ID of the BuildTrigger to update.
+	TriggerId string `protobuf:"bytes,2,opt,name=trigger_id,json=triggerId" json:"trigger_id,omitempty"`
+	// BuildTrigger to update.
+	Trigger *BuildTrigger `protobuf:"bytes,3,opt,name=trigger" json:"trigger,omitempty"`
+}
+
+func (m *UpdateBuildTriggerRequest) Reset()                    { *m = UpdateBuildTriggerRequest{} }
+func (m *UpdateBuildTriggerRequest) String() string            { return proto.CompactTextString(m) }
+func (*UpdateBuildTriggerRequest) ProtoMessage()               {}
+func (*UpdateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
+
+func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
+	if m != nil {
+		return m.Trigger
+	}
+	return nil
+}
+
 // Optional arguments to enable specific features of builds.
 type BuildOptions struct {
 	// Requested hash for SourceProvenance.
@@ -835,7 +1068,7 @@ type BuildOptions struct {
 func (m *BuildOptions) Reset()                    { *m = BuildOptions{} }
 func (m *BuildOptions) String() string            { return proto.CompactTextString(m) }
 func (*BuildOptions) ProtoMessage()               {}
-func (*BuildOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+func (*BuildOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
 
 func init() {
 	proto.RegisterType((*StorageSource)(nil), "google.devtools.cloudbuild.v1.StorageSource")
@@ -854,6 +1087,13 @@ func init() {
 	proto.RegisterType((*ListBuildsRequest)(nil), "google.devtools.cloudbuild.v1.ListBuildsRequest")
 	proto.RegisterType((*ListBuildsResponse)(nil), "google.devtools.cloudbuild.v1.ListBuildsResponse")
 	proto.RegisterType((*CancelBuildRequest)(nil), "google.devtools.cloudbuild.v1.CancelBuildRequest")
+	proto.RegisterType((*BuildTrigger)(nil), "google.devtools.cloudbuild.v1.BuildTrigger")
+	proto.RegisterType((*CreateBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.CreateBuildTriggerRequest")
+	proto.RegisterType((*GetBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.GetBuildTriggerRequest")
+	proto.RegisterType((*ListBuildTriggersRequest)(nil), "google.devtools.cloudbuild.v1.ListBuildTriggersRequest")
+	proto.RegisterType((*ListBuildTriggersResponse)(nil), "google.devtools.cloudbuild.v1.ListBuildTriggersResponse")
+	proto.RegisterType((*DeleteBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.DeleteBuildTriggerRequest")
+	proto.RegisterType((*UpdateBuildTriggerRequest)(nil), "google.devtools.cloudbuild.v1.UpdateBuildTriggerRequest")
 	proto.RegisterType((*BuildOptions)(nil), "google.devtools.cloudbuild.v1.BuildOptions")
 	proto.RegisterEnum("google.devtools.cloudbuild.v1.Build_Status", Build_Status_name, Build_Status_value)
 	proto.RegisterEnum("google.devtools.cloudbuild.v1.Hash_HashType", Hash_HashType_name, Hash_HashType_value)
@@ -889,6 +1129,26 @@ type CloudBuildClient interface {
 	ListBuilds(ctx context.Context, in *ListBuildsRequest, opts ...grpc.CallOption) (*ListBuildsResponse, error)
 	// Cancels a requested build in progress.
 	CancelBuild(ctx context.Context, in *CancelBuildRequest, opts ...grpc.CallOption) (*Build, error)
+	// Creates a new BuildTrigger.
+	//
+	// This API is experimental.
+	CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
+	// Gets information about a BuildTrigger.
+	//
+	// This API is experimental.
+	GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
+	// Lists existing BuildTrigger.
+	//
+	// This API is experimental.
+	ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error)
+	// Deletes an BuildTrigger by its project ID and trigger ID.
+	//
+	// This API is experimental.
+	DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
+	// Updates an BuildTrigger by its project ID and trigger ID.
+	//
+	// This API is experimental.
+	UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error)
 }
 
 type cloudBuildClient struct {
@@ -935,6 +1195,51 @@ func (c *cloudBuildClient) CancelBuild(ctx context.Context, in *CancelBuildReque
 	return out, nil
 }
 
+func (c *cloudBuildClient) CreateBuildTrigger(ctx context.Context, in *CreateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
+	out := new(BuildTrigger)
+	err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBuildClient) GetBuildTrigger(ctx context.Context, in *GetBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
+	out := new(BuildTrigger)
+	err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBuildClient) ListBuildTriggers(ctx context.Context, in *ListBuildTriggersRequest, opts ...grpc.CallOption) (*ListBuildTriggersResponse, error) {
+	out := new(ListBuildTriggersResponse)
+	err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBuildClient) DeleteBuildTrigger(ctx context.Context, in *DeleteBuildTriggerRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+	out := new(google_protobuf2.Empty)
+	err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *cloudBuildClient) UpdateBuildTrigger(ctx context.Context, in *UpdateBuildTriggerRequest, opts ...grpc.CallOption) (*BuildTrigger, error) {
+	out := new(BuildTrigger)
+	err := grpc.Invoke(ctx, "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // Server API for CloudBuild service
 
 type CloudBuildServer interface {
@@ -956,6 +1261,26 @@ type CloudBuildServer interface {
 	ListBuilds(context.Context, *ListBuildsRequest) (*ListBuildsResponse, error)
 	// Cancels a requested build in progress.
 	CancelBuild(context.Context, *CancelBuildRequest) (*Build, error)
+	// Creates a new BuildTrigger.
+	//
+	// This API is experimental.
+	CreateBuildTrigger(context.Context, *CreateBuildTriggerRequest) (*BuildTrigger, error)
+	// Gets information about a BuildTrigger.
+	//
+	// This API is experimental.
+	GetBuildTrigger(context.Context, *GetBuildTriggerRequest) (*BuildTrigger, error)
+	// Lists existing BuildTrigger.
+	//
+	// This API is experimental.
+	ListBuildTriggers(context.Context, *ListBuildTriggersRequest) (*ListBuildTriggersResponse, error)
+	// Deletes an BuildTrigger by its project ID and trigger ID.
+	//
+	// This API is experimental.
+	DeleteBuildTrigger(context.Context, *DeleteBuildTriggerRequest) (*google_protobuf2.Empty, error)
+	// Updates an BuildTrigger by its project ID and trigger ID.
+	//
+	// This API is experimental.
+	UpdateBuildTrigger(context.Context, *UpdateBuildTriggerRequest) (*BuildTrigger, error)
 }
 
 func RegisterCloudBuildServer(s *grpc.Server, srv CloudBuildServer) {
@@ -1034,6 +1359,96 @@ func _CloudBuild_CancelBuild_Handler(srv interface{}, ctx context.Context, dec f
 	return interceptor(ctx, in, info, handler)
 }
 
+func _CloudBuild_CreateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateBuildTriggerRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBuildServer).CreateBuildTrigger(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/CreateBuildTrigger",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBuildServer).CreateBuildTrigger(ctx, req.(*CreateBuildTriggerRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBuild_GetBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetBuildTriggerRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBuildServer).GetBuildTrigger(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/GetBuildTrigger",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBuildServer).GetBuildTrigger(ctx, req.(*GetBuildTriggerRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBuild_ListBuildTriggers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListBuildTriggersRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBuildServer).ListBuildTriggers(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/ListBuildTriggers",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBuildServer).ListBuildTriggers(ctx, req.(*ListBuildTriggersRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBuild_DeleteBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteBuildTriggerRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/DeleteBuildTrigger",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBuildServer).DeleteBuildTrigger(ctx, req.(*DeleteBuildTriggerRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _CloudBuild_UpdateBuildTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(UpdateBuildTriggerRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.devtools.cloudbuild.v1.CloudBuild/UpdateBuildTrigger",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(CloudBuildServer).UpdateBuildTrigger(ctx, req.(*UpdateBuildTriggerRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _CloudBuild_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.devtools.cloudbuild.v1.CloudBuild",
 	HandlerType: (*CloudBuildServer)(nil),
@@ -1054,6 +1469,26 @@ var _CloudBuild_serviceDesc = grpc.ServiceDesc{
 			MethodName: "CancelBuild",
 			Handler:    _CloudBuild_CancelBuild_Handler,
 		},
+		{
+			MethodName: "CreateBuildTrigger",
+			Handler:    _CloudBuild_CreateBuildTrigger_Handler,
+		},
+		{
+			MethodName: "GetBuildTrigger",
+			Handler:    _CloudBuild_GetBuildTrigger_Handler,
+		},
+		{
+			MethodName: "ListBuildTriggers",
+			Handler:    _CloudBuild_ListBuildTriggers_Handler,
+		},
+		{
+			MethodName: "DeleteBuildTrigger",
+			Handler:    _CloudBuild_DeleteBuildTrigger_Handler,
+		},
+		{
+			MethodName: "UpdateBuildTrigger",
+			Handler:    _CloudBuild_UpdateBuildTrigger_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: fileDescriptor0,
@@ -1064,106 +1499,124 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1601 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0xdd, 0x6e, 0x23, 0x49,
-	0x15, 0x4e, 0xdb, 0x8e, 0x7f, 0x8e, 0x93, 0x4c, 0x4f, 0x31, 0x3b, 0xd3, 0x93, 0xd1, 0xb0, 0xa1,
-	0x97, 0x5d, 0xb2, 0xcb, 0xe2, 0x26, 0x19, 0x01, 0xb3, 0x19, 0x60, 0x93, 0x38, 0xce, 0xc4, 0xda,
-	0x8c, 0x33, 0x94, 0xed, 0xdd, 0x0b, 0x90, 0x9a, 0xb6, 0xbb, 0xd2, 0x6e, 0xa6, 0xdd, 0xd5, 0x74,
-	0x95, 0xcd, 0x64, 0x56, 0x2b, 0xa1, 0xb9, 0x46, 0x02, 0x09, 0xee, 0xb8, 0x40, 0xf0, 0x0e, 0x88,
-	0xe7, 0x40, 0xbc, 0x02, 0x2f, 0xc0, 0x1b, 0xa0, 0xfa, 0x69, 0xdb, 0x49, 0x10, 0x6d, 0x6b, 0x6f,
-	0xac, 0xaa, 0x73, 0xce, 0x77, 0xfe, 0xea, 0xfc, 0xb4, 0xe1, 0x45, 0x40, 0x69, 0x10, 0x91, 0x46,
-	0x40, 0x23, 0x2f, 0x0e, 0x1a, 0x34, 0x0d, 0x9c, 0x80, 0xc4, 0x49, 0x4a, 0x39, 0x75, 0x14, 0xcb,
-	0x4b, 0x42, 0xe6, 0xf8, 0x64, 0xca, 0x29, 0x8d, 0x98, 0x33, 0x8c, 0xe8, 0xc4, 0x1f, 0x4c, 0xc2,
-	0xc8, 0x77, 0xa6, 0x7b, 0x0b, 0xb7, 0x86, 0x84, 0xa0, 0xc7, 0x5a, 0x5d, 0x26, 0xdf, 0x58, 0x90,
-	0x98, 0xee, 0x6d, 0xb7, 0x97, 0xb3, 0xe6, 0x25, 0xa1, 0xc3, 0x48, 0x3a, 0x0d, 0x87, 0x64, 0x48,
-	0xe3, 0xcb, 0x30, 0x70, 0xbc, 0x38, 0xa6, 0xdc, 0xe3, 0x21, 0x8d, 0x99, 0xb2, 0xb4, 0xbd, 0xaa,
-	0xe3, 0x8c, 0x4e, 0xd2, 0x21, 0x11, 0x4e, 0xab, 0x93, 0x3b, 0xa4, 0x31, 0x27, 0xaf, 0xb9, 0x56,
-	0x77, 0xbc, 0x9c, 0xba, 0x88, 0xc6, 0x41, 0x3a, 0x89, 0xe3, 0x30, 0x0e, 0x1c, 0x9a, 0x90, 0xf4,
-	0x9a, 0x4b, 0x9f, 0x04, 0x21, 0x1f, 0x4d, 0x06, 0x8d, 0x21, 0x1d, 0x3b, 0x4a, 0x8f, 0x23, 0x19,
-	0x83, 0xc9, 0xa5, 0x93, 0xf0, 0xab, 0x84, 0x30, 0xc7, 0x9f, 0x28, 0xc8, 0xec, 0xa0, 0xa1, 0x4f,
-	0xf2, 0xa1, 0x64, 0x9c, 0xf0, 0x2b, 0xf5, 0xab, 0x41, 0xcf, 0xf2, 0x41, 0x3c, 0x1c, 0x13, 0xc6,
-	0xbd, 0x71, 0x32, 0x3f, 0x29, 0xb0, 0xed, 0xc2, 0x66, 0x97, 0xd3, 0xd4, 0x0b, 0x48, 0x57, 0xe6,
-	0x03, 0xdd, 0x87, 0xf2, 0x60, 0x32, 0x7c, 0x45, 0xb8, 0x65, 0xec, 0x18, 0xbb, 0x35, 0xac, 0x6f,
-	0x82, 0x4e, 0x07, 0xbf, 0x22, 0x43, 0x6e, 0x15, 0x14, 0x5d, 0xdd, 0xd0, 0x37, 0x01, 0x02, 0x12,
-	0xeb, 0x14, 0x58, 0xc5, 0x1d, 0x63, 0xb7, 0x88, 0x17, 0x28, 0xf6, 0xdf, 0x0d, 0x00, 0x4c, 0x12,
-	0xaa, 0xd5, 0x3f, 0x06, 0x48, 0x52, 0x2a, 0x90, 0x6e, 0xe8, 0x6b, 0x13, 0x35, 0x4d, 0x69, 0xfb,
-	0xe8, 0x11, 0xd4, 0x52, 0x92, 0x50, 0x37, 0xf6, 0xc6, 0x44, 0x1b, 0xaa, 0x0a, 0x42, 0xc7, 0x1b,
-	0x13, 0xf4, 0x2d, 0xa8, 0x0f, 0x52, 0x2f, 0x1e, 0x8e, 0x14, 0x5b, 0xd8, 0xaa, 0x9d, 0xad, 0x61,
-	0x50, 0x44, 0x29, 0xf2, 0x08, 0xaa, 0xdc, 0x0b, 0x14, 0xbf, 0xa4, 0xf9, 0x15, 0xee, 0x05, 0x92,
-	0xf9, 0x2e, 0xc0, 0x90, 0x8e, 0xc7, 0x21, 0x77, 0xd9, 0xc8, 0xb3, 0xd6, 0x35, 0xbb, 0xa6, 0x68,
-	0xdd, 0x91, 0x77, 0x0c, 0x50, 0x4d, 0xc9, 0x34, 0x64, 0xc2, 0xef, 0x7f, 0x18, 0x50, 0xd6, 0x3e,
-	0xf7, 0x61, 0x8b, 0xa9, 0x1c, 0xb9, 0xaa, 0x68, 0xa4, 0x67, 0xf5, 0xfd, 0x8f, 0x1b, 0xff, 0xb7,
-	0xcc, 0x1b, 0xd7, 0x12, 0x7b, 0xb6, 0x86, 0x37, 0xd9, 0xb5, 0x4c, 0x9f, 0x43, 0x5d, 0xc6, 0xaa,
-	0x75, 0x16, 0xa5, 0xce, 0x0f, 0x73, 0x74, 0xce, 0x53, 0x29, 0x22, 0x4f, 0x67, 0xb7, 0xe3, 0x2a,
-	0x94, 0x95, 0x22, 0xfb, 0x29, 0xc0, 0xf1, 0x24, 0x8c, 0x78, 0x7b, 0xec, 0x05, 0x04, 0x21, 0x28,
-	0xc9, 0x6c, 0xa8, 0x54, 0xcb, 0xb3, 0x78, 0x4b, 0x3f, 0x0c, 0x08, 0xe3, 0x2a, 0x87, 0x58, 0xdf,
-	0xec, 0xb7, 0x06, 0xd4, 0x04, 0xd4, 0xef, 0x72, 0x92, 0xfc, 0x4f, 0xa4, 0x09, 0x45, 0x12, 0x4f,
-	0xad, 0xc2, 0x4e, 0x71, 0xb7, 0x86, 0xc5, 0x51, 0x48, 0x79, 0x69, 0xc0, 0xac, 0xa2, 0x24, 0xc9,
-	0xb3, 0x90, 0xf2, 0xc3, 0x54, 0x3d, 0x00, 0x16, 0x47, 0xb4, 0x05, 0x85, 0xd0, 0x57, 0x29, 0xc7,
-	0x85, 0xd0, 0x47, 0x0f, 0xa1, 0xfa, 0x1b, 0x2f, 0xe4, 0xee, 0x25, 0x4d, 0xad, 0xb2, 0x44, 0x56,
-	0xc4, 0xfd, 0x94, 0xa6, 0xf6, 0x6b, 0xa8, 0x60, 0xc2, 0x26, 0x11, 0x67, 0xe8, 0x08, 0xca, 0xa1,
-	0x08, 0x82, 0x49, 0x83, 0xf9, 0xc9, 0x99, 0x87, 0x8d, 0x35, 0x10, 0x7d, 0x04, 0x77, 0x25, 0xdb,
-	0x65, 0x9c, 0x24, 0xae, 0xd6, 0xa6, 0x7c, 0xbd, 0x33, 0xc8, 0x42, 0x95, 0x10, 0x66, 0xff, 0xb3,
-	0x02, 0xeb, 0x32, 0x7c, 0xed, 0xae, 0x31, 0x73, 0xf7, 0x7a, 0xd5, 0x9a, 0x37, 0xab, 0xb6, 0x09,
-	0x65, 0xc6, 0x3d, 0x3e, 0x61, 0xb2, 0x30, 0xb6, 0xf6, 0xbf, 0xbb, 0x84, 0x9f, 0x7e, 0xa3, 0x2b,
-	0x21, 0x58, 0x43, 0xd1, 0x7b, 0xb0, 0xa9, 0x4e, 0xae, 0x4f, 0xb8, 0x17, 0x46, 0x96, 0x25, 0xcd,
-	0x6c, 0x28, 0xe2, 0x89, 0xa4, 0xa1, 0x9f, 0x64, 0xaf, 0xac, 0xcb, 0xe5, 0xfd, 0xbc, 0x12, 0x94,
-	0xc2, 0x58, 0x83, 0xd0, 0x4f, 0x61, 0x5d, 0xe4, 0x81, 0x59, 0x75, 0x99, 0xcf, 0xdd, 0x65, 0xfc,
-	0x14, 0x09, 0xc2, 0x0a, 0x86, 0x0e, 0xa1, 0x92, 0xaa, 0xb7, 0xb1, 0x40, 0xda, 0xff, 0x20, 0xb7,
-	0x5c, 0xa5, 0x34, 0xce, 0x60, 0xe8, 0x19, 0xd4, 0x87, 0x29, 0xf1, 0x38, 0x71, 0xc5, 0x24, 0xb2,
-	0xca, 0x52, 0xcb, 0x76, 0xa6, 0x25, 0x9b, 0x5b, 0x8d, 0x5e, 0x36, 0xa6, 0x30, 0x28, 0x71, 0x41,
-	0x40, 0x9f, 0x00, 0x30, 0xee, 0xa5, 0x5c, 0x61, 0x2b, 0xb9, 0xd8, 0x9a, 0x94, 0x96, 0xd0, 0x67,
-	0x50, 0xbf, 0x0c, 0xe3, 0x90, 0x8d, 0x14, 0xb6, 0x9a, 0x6f, 0x57, 0x89, 0x4b, 0xf0, 0x13, 0xa8,
-	0x08, 0x14, 0x9d, 0x70, 0x6b, 0x43, 0x02, 0x1f, 0xde, 0x02, 0x9e, 0xe8, 0x41, 0x8e, 0x33, 0x49,
-	0xd1, 0x64, 0xba, 0xdc, 0x36, 0x65, 0xb9, 0x65, 0x15, 0xf9, 0x2e, 0xd4, 0x23, 0x1a, 0x30, 0x57,
-	0x4f, 0xd9, 0x6f, 0xc8, 0x57, 0x06, 0x41, 0x3a, 0x56, 0x93, 0xf6, 0x17, 0x70, 0x57, 0xef, 0xa6,
-	0x24, 0xa5, 0x53, 0x12, 0x7b, 0xf1, 0x90, 0x58, 0xef, 0x48, 0xbb, 0xce, 0x52, 0xcf, 0xfd, 0x72,
-	0x06, 0xc3, 0x26, 0xbb, 0x41, 0x41, 0x2d, 0xa8, 0xd0, 0x44, 0xae, 0x2b, 0xeb, 0x81, 0xd4, 0xb9,
-	0x54, 0xb1, 0x5e, 0x28, 0x08, 0xce, 0xb0, 0xe8, 0x01, 0x54, 0x22, 0x1a, 0xb8, 0x93, 0x34, 0xb2,
-	0x1e, 0xaa, 0x19, 0x12, 0xd1, 0xa0, 0x9f, 0x46, 0xf6, 0xef, 0xc4, 0xdc, 0x54, 0x15, 0x8d, 0x60,
-	0xab, 0xdb, 0x3b, 0xea, 0xf5, 0xbb, 0x6e, 0xbf, 0xf3, 0x59, 0xe7, 0xe2, 0x8b, 0x8e, 0xb9, 0x86,
-	0xea, 0x50, 0xf9, 0x59, 0xbf, 0xd5, 0x6f, 0x77, 0x9e, 0x9b, 0x55, 0x04, 0x50, 0x16, 0x97, 0xd6,
-	0x89, 0x69, 0x08, 0xc6, 0x17, 0x17, 0xf8, 0x33, 0xc1, 0x28, 0x88, 0x4b, 0xb7, 0xdf, 0x6c, 0xb6,
-	0xba, 0x5d, 0xb3, 0x28, 0x2e, 0xa7, 0x47, 0xed, 0xf3, 0x3e, 0x6e, 0x99, 0x25, 0xa1, 0xb3, 0xdd,
-	0xe9, 0xb5, 0x70, 0xe7, 0xe8, 0xdc, 0x6d, 0x61, 0x7c, 0x81, 0xcd, 0x75, 0x21, 0xd0, 0x6b, 0xbf,
-	0x68, 0x5d, 0xf4, 0x7b, 0x66, 0x19, 0x6d, 0x42, 0xad, 0x79, 0xd4, 0x69, 0xb6, 0xce, 0xcf, 0x5b,
-	0x27, 0x66, 0xc5, 0xee, 0xc1, 0x7d, 0x1d, 0x80, 0x5e, 0x48, 0x2f, 0x08, 0xf7, 0x7c, 0x8f, 0x7b,
-	0xe8, 0x00, 0xd6, 0x65, 0x8c, 0xb2, 0xcd, 0xeb, 0xfb, 0xdf, 0x5e, 0x26, 0x0d, 0x58, 0x41, 0xec,
-	0xbf, 0x16, 0xc1, 0xbc, 0x99, 0x6b, 0xe4, 0xc3, 0x83, 0x94, 0x30, 0x1a, 0x4d, 0x89, 0x98, 0x36,
-	0xd7, 0xf6, 0x45, 0x71, 0xf5, 0x7d, 0x81, 0xdf, 0xc9, 0x94, 0x5d, 0xdf, 0xcf, 0x3f, 0x87, 0x7b,
-	0x33, 0x2b, 0x8b, 0xeb, 0xa3, 0xbc, 0xe2, 0xfa, 0xc0, 0x28, 0x53, 0xb3, 0xb0, 0x9d, 0x7f, 0x29,
-	0xba, 0x24, 0x22, 0xee, 0xc8, 0x63, 0x23, 0xc2, 0xac, 0x92, 0x9c, 0x12, 0x9f, 0xae, 0x58, 0x74,
-	0x8d, 0xd3, 0x30, 0x22, 0x67, 0x52, 0x43, 0x2b, 0xe6, 0xe9, 0x95, 0x68, 0xa5, 0x8c, 0xb0, 0x3d,
-	0x82, 0x3b, 0x37, 0xd8, 0x62, 0x5b, 0xbc, 0x22, 0x57, 0x7a, 0xda, 0x8a, 0x23, 0xfa, 0x14, 0xd6,
-	0xa7, 0x5e, 0x34, 0xc9, 0xf6, 0x6c, 0x5e, 0x50, 0x73, 0x85, 0x58, 0xe1, 0x0e, 0x0a, 0x4f, 0x0d,
-	0xbb, 0x03, 0x30, 0x67, 0xa0, 0x43, 0xa8, 0xcd, 0x22, 0xb3, 0x0c, 0x19, 0xd7, 0x7b, 0x39, 0x6a,
-	0x05, 0x12, 0x57, 0x33, 0xdf, 0xed, 0xdf, 0x1a, 0x50, 0x12, 0x07, 0x74, 0x08, 0x25, 0xf1, 0x55,
-	0x25, 0x1d, 0xde, 0xca, 0x7d, 0x54, 0x01, 0x91, 0x3f, 0xbd, 0xab, 0x84, 0x60, 0x89, 0x44, 0xf7,
-	0x16, 0xe3, 0xdb, 0xd0, 0x4e, 0xdb, 0x3b, 0x50, 0xcd, 0xe4, 0x50, 0x15, 0x4a, 0x9d, 0x8b, 0x4e,
-	0xcb, 0x5c, 0x13, 0x3d, 0xd2, 0x3d, 0x3b, 0xda, 0xff, 0xc1, 0x0f, 0x4d, 0xc3, 0xa6, 0x80, 0x9a,
-	0x72, 0x1a, 0xaa, 0x62, 0x24, 0xbf, 0x9e, 0x10, 0xc6, 0xf3, 0x3e, 0xa9, 0x66, 0x75, 0x5e, 0x58,
-	0xbd, 0xce, 0x0f, 0xe1, 0xce, 0x73, 0xc2, 0x57, 0xb1, 0xa6, 0x36, 0x67, 0x21, 0xdb, 0x9c, 0x76,
-	0x0c, 0x77, 0xcf, 0x43, 0xa6, 0x54, 0xb0, 0x25, 0x75, 0x3c, 0x82, 0x5a, 0x22, 0x9b, 0x27, 0x7c,
-	0xa3, 0x52, 0xb4, 0x8e, 0xab, 0x82, 0xd0, 0x0d, 0xdf, 0xa8, 0x0f, 0x48, 0xc1, 0xe4, 0xf4, 0x15,
-	0x89, 0xf5, 0xf7, 0x8b, 0x14, 0xef, 0x09, 0x82, 0xfd, 0x06, 0xd0, 0xa2, 0x3d, 0x96, 0xd0, 0x98,
-	0x11, 0xf4, 0x63, 0xf1, 0x51, 0x2b, 0x28, 0xfa, 0xe9, 0x97, 0x4b, 0x82, 0xc6, 0xa0, 0x0f, 0xe0,
-	0x4e, 0x4c, 0x5e, 0x73, 0x77, 0xc1, 0xae, 0x0a, 0x70, 0x53, 0x90, 0x5f, 0xce, 0x6c, 0x37, 0x01,
-	0x35, 0x45, 0x03, 0x44, 0x5f, 0x27, 0x61, 0x7f, 0x2a, 0xc0, 0xc6, 0xe2, 0xc8, 0x45, 0x03, 0xb8,
-	0x7f, 0x6b, 0x1d, 0xcc, 0xcb, 0x78, 0xd5, 0x02, 0xbc, 0x77, 0x73, 0x21, 0xc8, 0x92, 0x4e, 0xc4,
-	0xe8, 0x92, 0xee, 0x12, 0xdf, 0x9d, 0x92, 0x34, 0xbc, 0xbc, 0x72, 0xd5, 0xa4, 0xd7, 0x5f, 0x34,
-	0x4f, 0x57, 0x58, 0x12, 0x8d, 0xcf, 0xa5, 0x02, 0x75, 0x13, 0x63, 0x4c, 0x2b, 0x5e, 0x24, 0xdb,
-	0x0d, 0xd8, 0x58, 0xbc, 0x23, 0x13, 0x36, 0x3a, 0x17, 0x3d, 0xf7, 0xf3, 0x16, 0x6e, 0x9f, 0xb6,
-	0x5b, 0x27, 0xe6, 0x1a, 0xda, 0x80, 0xea, 0xec, 0x66, 0xec, 0xff, 0xa7, 0x04, 0xd0, 0x14, 0x26,
-	0xd5, 0x07, 0xda, 0x1f, 0x0c, 0xa8, 0x2f, 0xb4, 0x02, 0xda, 0xcb, 0xf1, 0xef, 0x76, 0xdb, 0x6c,
-	0x3f, 0xce, 0x20, 0x0b, 0x7f, 0xe6, 0x1a, 0xb3, 0x35, 0x61, 0x3b, 0x6f, 0xff, 0xf5, 0xef, 0x3f,
-	0x16, 0x3e, 0xb4, 0x77, 0xc4, 0x7f, 0x45, 0xfd, 0x5c, 0xcc, 0xf9, 0x72, 0xfe, 0x94, 0x5f, 0x39,
-	0xaa, 0x3c, 0x0e, 0x54, 0xaf, 0xa0, 0xdf, 0x1b, 0x50, 0xcd, 0x9a, 0x05, 0x35, 0x72, 0xfc, 0xb9,
-	0xd1, 0x55, 0xdb, 0x4b, 0x15, 0xa4, 0xfd, 0x3d, 0xe9, 0xd3, 0x77, 0xd0, 0xfb, 0x79, 0x3e, 0x39,
-	0x5f, 0x86, 0xfe, 0x57, 0xe8, 0xcf, 0x06, 0xc0, 0xbc, 0x19, 0xd0, 0xf7, 0x73, 0x6c, 0xdc, 0xea,
-	0xd3, 0xed, 0xbd, 0x15, 0x10, 0xaa, 0xd3, 0xec, 0x5d, 0xe9, 0xa2, 0x8d, 0x72, 0xd3, 0x86, 0xfe,
-	0x22, 0x9e, 0x70, 0xde, 0x2e, 0xf9, 0x4f, 0x78, 0xab, 0xb5, 0x96, 0xcc, 0xda, 0x8f, 0xa4, 0x4b,
-	0x7b, 0xf6, 0xc7, 0x4b, 0x65, 0xed, 0x60, 0x28, 0xed, 0x1c, 0x18, 0x1f, 0x1d, 0xdb, 0x60, 0x0d,
-	0xe9, 0x38, 0xb3, 0x71, 0x4d, 0xf5, 0x4b, 0xe3, 0x6f, 0x85, 0xe2, 0xf3, 0xe6, 0xf1, 0xa0, 0x2c,
-	0xbf, 0x00, 0x9f, 0xfc, 0x37, 0x00, 0x00, 0xff, 0xff, 0xa1, 0x56, 0xff, 0xb1, 0x41, 0x11, 0x00,
-	0x00,
+	// 1896 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x8f, 0x23, 0x47,
+	0x15, 0xde, 0xf6, 0xdd, 0xc7, 0x73, 0xf1, 0x16, 0x9b, 0x59, 0x8f, 0xa3, 0x25, 0x4b, 0xe7, 0xc2,
+	0x66, 0x49, 0xdc, 0xcc, 0xac, 0x42, 0x66, 0x27, 0x40, 0x76, 0xec, 0xf5, 0xcc, 0x5a, 0x99, 0xf5,
+	0x2c, 0x6d, 0x7b, 0x23, 0x04, 0x52, 0xd3, 0xb6, 0x6b, 0xda, 0xcd, 0xb6, 0xbb, 0x4d, 0x77, 0xdb,
+	0x64, 0xb2, 0x8a, 0x44, 0xf2, 0x8c, 0x04, 0x12, 0xbc, 0xf1, 0xc0, 0xe5, 0x07, 0x20, 0x84, 0x84,
+	0x78, 0xe2, 0x47, 0x20, 0xfe, 0x02, 0x8f, 0xfc, 0x08, 0xea, 0xea, 0x6b, 0x96, 0xee, 0x66, 0x95,
+	0x17, 0xab, 0xea, 0x54, 0x7d, 0xe7, 0x9c, 0x3a, 0xf5, 0xd5, 0x39, 0xa7, 0x0d, 0x8f, 0x2d, 0xcf,
+	0xb3, 0x1c, 0x5c, 0xb3, 0x3c, 0xc7, 0x74, 0xad, 0x9a, 0xe7, 0x5b, 0x9a, 0x85, 0xdd, 0x89, 0xef,
+	0x85, 0x9e, 0xc6, 0x97, 0xcc, 0x89, 0x1d, 0x68, 0x43, 0x3c, 0x0b, 0x3d, 0xcf, 0x09, 0xb4, 0x81,
+	0xe3, 0x4d, 0x87, 0xfd, 0xa9, 0xed, 0x0c, 0xb5, 0xd9, 0xc1, 0xd2, 0xac, 0xc6, 0x20, 0xe8, 0x96,
+	0x50, 0x27, 0xf7, 0xd7, 0x96, 0x76, 0xcc, 0x0e, 0xaa, 0xad, 0x78, 0xd6, 0xc8, 0x8f, 0x16, 0x60,
+	0x7f, 0x66, 0x0f, 0xf0, 0xc0, 0x73, 0x2f, 0x6d, 0x4b, 0x33, 0x5d, 0xd7, 0x0b, 0xcd, 0xd0, 0xf6,
+	0xdc, 0x80, 0x5b, 0xaa, 0x26, 0x75, 0x3c, 0xf0, 0xa6, 0xfe, 0x00, 0x53, 0xa7, 0xf9, 0xc8, 0x20,
+	0x9a, 0x43, 0xfc, 0x49, 0x28, 0xd4, 0xd5, 0xe3, 0xa9, 0x73, 0x3c, 0xd7, 0xf2, 0xa7, 0xae, 0x6b,
+	0xbb, 0x96, 0xe6, 0x4d, 0xb0, 0xbf, 0xe2, 0xd2, 0x7d, 0xcb, 0x0e, 0x47, 0xd3, 0x7e, 0x6d, 0xe0,
+	0x8d, 0x35, 0xae, 0x47, 0x63, 0x0b, 0xfd, 0xe9, 0xa5, 0x36, 0x09, 0xaf, 0x26, 0x98, 0xb8, 0x33,
+	0xe5, 0x90, 0xf9, 0x40, 0x40, 0xef, 0x45, 0x43, 0xf1, 0x98, 0x0c, 0xf8, 0xaf, 0x00, 0x7d, 0x10,
+	0x0d, 0x0a, 0xed, 0x31, 0x0e, 0x42, 0x73, 0x3c, 0x59, 0x8c, 0x38, 0x58, 0x35, 0x60, 0xbb, 0x13,
+	0x7a, 0xbe, 0x69, 0xe1, 0x0e, 0x8b, 0x07, 0xda, 0x83, 0x5c, 0x7f, 0x3a, 0x78, 0x86, 0xc3, 0x8a,
+	0x72, 0x5b, 0xb9, 0x53, 0xd4, 0xc5, 0x8c, 0xca, 0xbd, 0xfe, 0x4f, 0xf1, 0x20, 0xac, 0xa4, 0xb8,
+	0x9c, 0xcf, 0xd0, 0xd7, 0x01, 0x48, 0x84, 0x44, 0x08, 0x2a, 0x69, 0xb2, 0x96, 0xd6, 0x97, 0x24,
+	0xea, 0xdf, 0x14, 0x00, 0x1d, 0x4f, 0x3c, 0xa1, 0xfe, 0x16, 0x00, 0x31, 0x4c, 0x91, 0x86, 0x3d,
+	0x14, 0x26, 0x8a, 0x42, 0xd2, 0x1a, 0xa2, 0x57, 0xa1, 0xe8, 0x93, 0xcd, 0x86, 0x6b, 0x8e, 0xb1,
+	0x30, 0x54, 0xa0, 0x82, 0x36, 0x99, 0xa3, 0x6f, 0x40, 0xa9, 0xef, 0x9b, 0xee, 0x60, 0xc4, 0x97,
+	0xa9, 0xad, 0xe2, 0xa3, 0x6b, 0x3a, 0x70, 0x21, 0xdb, 0xf2, 0x2a, 0x14, 0x42, 0xd3, 0xe2, 0xeb,
+	0x19, 0xb1, 0x9e, 0x27, 0x12, 0xb6, 0xf8, 0x1a, 0x00, 0x89, 0xd1, 0xd8, 0x0e, 0x8d, 0x60, 0x64,
+	0x56, 0xb2, 0x62, 0xb9, 0xc8, 0x65, 0x9d, 0x91, 0x59, 0x07, 0x20, 0xc6, 0x66, 0x76, 0x40, 0xfd,
+	0xfe, 0xbb, 0x02, 0x39, 0xe1, 0x73, 0x0f, 0x76, 0x02, 0x1e, 0x23, 0x83, 0x93, 0x86, 0x79, 0x56,
+	0x3a, 0x7c, 0xa7, 0xf6, 0x3f, 0x69, 0x5e, 0x5b, 0x09, 0x2c, 0xb1, 0xb4, 0x1d, 0xac, 0x44, 0xfa,
+	0x1c, 0x4a, 0xec, 0xac, 0x42, 0x67, 0x9a, 0xe9, 0x7c, 0x3b, 0x42, 0xe7, 0x22, 0x94, 0xf4, 0xe4,
+	0xfe, 0x7c, 0x56, 0x2f, 0x40, 0x8e, 0x2b, 0x52, 0x8f, 0x00, 0xea, 0x64, 0x7b, 0xd8, 0x1a, 0x13,
+	0x5b, 0x08, 0x41, 0x86, 0x45, 0x83, 0x87, 0x9a, 0x8d, 0xe9, 0x5d, 0x0e, 0x6d, 0x8b, 0xf0, 0x80,
+	0xc7, 0x50, 0x17, 0x33, 0xf5, 0x0b, 0x05, 0x8a, 0x14, 0x3a, 0xec, 0x84, 0x78, 0xf2, 0xa5, 0xc8,
+	0x32, 0xa4, 0xb1, 0x3b, 0x23, 0xe7, 0x4f, 0x13, 0x11, 0x1d, 0xd2, 0x5d, 0xa6, 0x6f, 0x05, 0x44,
+	0x13, 0x15, 0xb1, 0x31, 0xdd, 0x35, 0xb4, 0x7d, 0x7e, 0x01, 0x3a, 0x1d, 0xa2, 0x1d, 0x48, 0x91,
+	0xeb, 0x66, 0x21, 0xd7, 0xc9, 0x08, 0xed, 0x43, 0xe1, 0xe7, 0x26, 0xb9, 0x88, 0x4b, 0xcf, 0xaf,
+	0xe4, 0x18, 0x32, 0x4f, 0xe7, 0xa7, 0x9e, 0xaf, 0x7e, 0x02, 0x79, 0x1d, 0x07, 0x53, 0x27, 0x0c,
+	0xd0, 0x09, 0xe4, 0x6c, 0x7a, 0x88, 0x80, 0x19, 0x8c, 0x0e, 0xce, 0xe2, 0xd8, 0xba, 0x00, 0xa2,
+	0xbb, 0x70, 0x9d, 0x2d, 0x1b, 0x01, 0x39, 0x92, 0x21, 0xb4, 0x71, 0x5f, 0x77, 0xfb, 0xf2, 0xa8,
+	0x0c, 0x12, 0xa8, 0xff, 0xcc, 0x43, 0x96, 0x1d, 0x5f, 0xb8, 0xab, 0xcc, 0xdd, 0x5d, 0x65, 0x6d,
+	0x79, 0x9d, 0xb5, 0x0d, 0x12, 0x7b, 0x92, 0x96, 0xa6, 0x01, 0x23, 0xc6, 0xce, 0xe1, 0xb7, 0x62,
+	0xf8, 0x39, 0x24, 0xf4, 0xa0, 0x10, 0x5d, 0x40, 0xd1, 0xeb, 0xb0, 0xcd, 0x47, 0xc6, 0x10, 0x87,
+	0xa6, 0xed, 0x54, 0x2a, 0xcc, 0xcc, 0x16, 0x17, 0x3e, 0x64, 0x32, 0xf4, 0x3d, 0x79, 0xcb, 0x82,
+	0x2e, 0x6f, 0x46, 0x51, 0x90, 0x6d, 0xd6, 0x05, 0x08, 0x7d, 0x1f, 0xb2, 0x34, 0x0e, 0x41, 0xa5,
+	0xc4, 0xe2, 0x79, 0x27, 0x8e, 0x9f, 0x34, 0x40, 0x3a, 0x87, 0xa1, 0x07, 0x90, 0xf7, 0xf9, 0xdd,
+	0x54, 0x80, 0xd9, 0x7f, 0x2b, 0x92, 0xae, 0x6c, 0xb7, 0x2e, 0x61, 0xe8, 0x03, 0x28, 0x0d, 0x7c,
+	0x6c, 0x86, 0xd8, 0xa0, 0x99, 0x88, 0xdc, 0x3d, 0xd5, 0x52, 0x95, 0x5a, 0x64, 0xde, 0xaa, 0x75,
+	0x65, 0x9a, 0xd2, 0x81, 0x6f, 0xa7, 0x02, 0x74, 0x1f, 0x80, 0x08, 0xfd, 0x90, 0x63, 0xf3, 0x91,
+	0xd8, 0x22, 0xdb, 0xcd, 0xa0, 0xc4, 0xee, 0xa5, 0xed, 0xda, 0xc1, 0x88, 0x63, 0x0b, 0xd1, 0x76,
+	0xf9, 0x76, 0x06, 0xbe, 0x07, 0x79, 0x8a, 0xf2, 0xa6, 0x61, 0x65, 0x8b, 0x01, 0xf7, 0x37, 0x80,
+	0x0f, 0x45, 0x22, 0xd7, 0xe5, 0x4e, 0xfa, 0xc8, 0x04, 0xdd, 0xb6, 0x19, 0xdd, 0x24, 0x23, 0x5f,
+	0x83, 0x92, 0xe3, 0x59, 0x81, 0x21, 0xb2, 0xec, 0xd7, 0xd8, 0x2d, 0x03, 0x15, 0xd5, 0x79, 0xa6,
+	0xfd, 0x31, 0x5c, 0x17, 0xb5, 0x89, 0x68, 0x9f, 0x61, 0x97, 0x24, 0x37, 0x5c, 0x79, 0x85, 0xd9,
+	0xd5, 0x62, 0x5d, 0xf7, 0x93, 0x39, 0x4c, 0x2f, 0x07, 0x6b, 0x12, 0xd4, 0x84, 0xbc, 0x37, 0x61,
+	0xe5, 0xaa, 0x72, 0x93, 0xe9, 0x8c, 0x45, 0xd6, 0x0b, 0x0e, 0xd1, 0x25, 0x16, 0xdd, 0x84, 0x3c,
+	0x71, 0xd9, 0x98, 0xfa, 0x4e, 0x65, 0x9f, 0xe7, 0x10, 0x32, 0xed, 0xf9, 0x8e, 0xfa, 0x4b, 0x9a,
+	0x37, 0x39, 0xa3, 0x11, 0xec, 0x74, 0xba, 0x27, 0xdd, 0x5e, 0xc7, 0xe8, 0xb5, 0x3f, 0x6a, 0x5f,
+	0x7c, 0xdc, 0x2e, 0x5f, 0x43, 0x25, 0xc8, 0xff, 0xa0, 0xd7, 0xec, 0xb5, 0xda, 0x67, 0xe5, 0x02,
+	0x02, 0xc8, 0xd1, 0x49, 0xf3, 0x61, 0x59, 0xa1, 0x0b, 0x1f, 0x5f, 0xe8, 0x1f, 0xd1, 0x85, 0x14,
+	0x9d, 0x74, 0x7a, 0x8d, 0x46, 0xb3, 0xd3, 0x29, 0xa7, 0xe9, 0xe4, 0xf4, 0xa4, 0x75, 0xde, 0xd3,
+	0x9b, 0xe5, 0x0c, 0xd5, 0xd9, 0x6a, 0x77, 0x9b, 0x7a, 0xfb, 0xe4, 0xdc, 0x68, 0xea, 0xfa, 0x85,
+	0x5e, 0xce, 0xd2, 0x0d, 0xdd, 0xd6, 0xe3, 0xe6, 0x45, 0xaf, 0x5b, 0xce, 0xa1, 0x6d, 0x28, 0x36,
+	0x4e, 0xda, 0x8d, 0xe6, 0xf9, 0x39, 0x51, 0x9b, 0x57, 0xbb, 0xb0, 0x27, 0x0e, 0x20, 0x0a, 0xd2,
+	0x63, 0xf2, 0x90, 0x86, 0x66, 0x68, 0xa2, 0x63, 0xc8, 0xb2, 0x33, 0xb2, 0x67, 0x5e, 0x3a, 0x7c,
+	0x23, 0x4e, 0x18, 0x74, 0x0e, 0x51, 0xff, 0x98, 0x86, 0xf2, 0x7a, 0xac, 0xd1, 0x10, 0x6e, 0x12,
+	0x96, 0x7b, 0xce, 0x0c, 0xd3, 0x6c, 0xb3, 0x52, 0x2f, 0xd2, 0xc9, 0xeb, 0x85, 0xfe, 0x8a, 0x54,
+	0xb6, 0x5a, 0x9f, 0x7f, 0x04, 0x37, 0xe6, 0x56, 0x96, 0xcb, 0x47, 0x2e, 0x61, 0xf9, 0xd0, 0x91,
+	0x54, 0xb3, 0x54, 0x9d, 0x7f, 0x42, 0x5f, 0x89, 0x83, 0x8d, 0x91, 0x19, 0x8c, 0x08, 0x71, 0x33,
+	0x2c, 0x4b, 0x7c, 0x98, 0x90, 0x74, 0xb5, 0x53, 0xa2, 0xe2, 0x11, 0xd3, 0xd0, 0x74, 0x43, 0xff,
+	0x8a, 0x3e, 0x25, 0x29, 0xa8, 0x8e, 0x60, 0x77, 0x6d, 0x99, 0x56, 0x8b, 0x67, 0xf8, 0x4a, 0x64,
+	0x5b, 0x3a, 0x44, 0x1f, 0x42, 0x76, 0x66, 0x3a, 0x53, 0x59, 0x67, 0xa3, 0x0e, 0xb5, 0x50, 0xa8,
+	0x73, 0xdc, 0x71, 0xea, 0x48, 0x51, 0xdb, 0x00, 0x8b, 0x05, 0x92, 0xb9, 0x8a, 0xf3, 0x93, 0x11,
+	0x53, 0xf4, 0x5c, 0xaf, 0x47, 0xa8, 0xa5, 0x48, 0xbd, 0x20, 0x7d, 0x57, 0x7f, 0xa1, 0x40, 0x86,
+	0x0e, 0x88, 0xaa, 0x0c, 0xed, 0xaa, 0x98, 0xc3, 0x3b, 0x91, 0x97, 0x4a, 0x21, 0xec, 0xa7, 0x4b,
+	0x30, 0x3a, 0x43, 0xa2, 0x1b, 0xcb, 0xe7, 0xdb, 0x12, 0x4e, 0xab, 0xb7, 0xa1, 0x20, 0xf7, 0xa1,
+	0x02, 0x64, 0xda, 0x17, 0xed, 0x26, 0x79, 0x30, 0xe4, 0x8d, 0x74, 0x1e, 0x9d, 0x1c, 0xbe, 0xf7,
+	0x9d, 0xb2, 0xa2, 0x7a, 0x80, 0x1a, 0x2c, 0x1b, 0x72, 0x32, 0xe2, 0x9f, 0x4d, 0x49, 0xb2, 0x8a,
+	0x6a, 0xa9, 0xe6, 0x3c, 0x4f, 0x25, 0xe7, 0xf9, 0x03, 0xd8, 0x3d, 0xc3, 0x61, 0x12, 0x6b, 0xbc,
+	0x72, 0xa6, 0x64, 0xe5, 0x54, 0x5d, 0xb8, 0x7e, 0x6e, 0x07, 0x5c, 0x45, 0x10, 0x53, 0x07, 0x69,
+	0x02, 0x27, 0xec, 0xf1, 0xd8, 0x9f, 0xf2, 0x10, 0x65, 0xf5, 0x02, 0x15, 0x74, 0xc8, 0x9c, 0x61,
+	0xe9, 0x62, 0xe8, 0x3d, 0xc3, 0xae, 0xe8, 0x5f, 0xd8, 0xf6, 0x2e, 0x15, 0xa8, 0x9f, 0x02, 0x5a,
+	0xb6, 0x17, 0x4c, 0x48, 0xb2, 0xc2, 0xe8, 0xbb, 0xb4, 0xa9, 0xa5, 0x12, 0x71, 0xf5, 0xf1, 0x82,
+	0x20, 0x30, 0xe8, 0x2d, 0xd8, 0x75, 0xc9, 0x27, 0x82, 0xb1, 0x64, 0x97, 0x1f, 0x70, 0x9b, 0x8a,
+	0x9f, 0xcc, 0x6d, 0x37, 0xc8, 0xf5, 0xd0, 0x07, 0xe0, 0xbc, 0x4c, 0xc0, 0x3e, 0x4f, 0xc1, 0x16,
+	0xc3, 0x77, 0x7d, 0xdb, 0xb2, 0xb0, 0xbf, 0xd1, 0x8b, 0x74, 0xa1, 0x1c, 0xf2, 0x25, 0x23, 0x24,
+	0x9f, 0x01, 0x0e, 0xa1, 0x83, 0x28, 0x85, 0x09, 0x1e, 0xff, 0xae, 0x50, 0xd1, 0x15, 0x1a, 0x48,
+	0x84, 0x04, 0x4b, 0x32, 0xf1, 0x59, 0x42, 0x3a, 0x50, 0x0e, 0x5a, 0xaf, 0xea, 0xd9, 0x24, 0x55,
+	0xbd, 0x5e, 0x86, 0x1d, 0xde, 0xa2, 0xc9, 0xe3, 0xa8, 0x9f, 0x2b, 0xb0, 0xbf, 0x44, 0x74, 0x11,
+	0x89, 0x98, 0x01, 0x25, 0x05, 0x4e, 0x1c, 0x4e, 0x30, 0x3e, 0x56, 0x81, 0x93, 0x36, 0x24, 0x56,
+	0x7d, 0x0a, 0x7b, 0x92, 0xfa, 0xc9, 0xec, 0x93, 0x65, 0x79, 0x3f, 0xf3, 0x8b, 0x2d, 0x0a, 0x49,
+	0x6b, 0xa8, 0xde, 0x87, 0xca, 0x9c, 0xa0, 0x42, 0x71, 0xcc, 0x77, 0xa1, 0x0e, 0x61, 0xff, 0x4b,
+	0xa0, 0x82, 0xe2, 0x67, 0xe4, 0xcb, 0x47, 0xc8, 0x04, 0xc9, 0x13, 0x9d, 0x7b, 0x0e, 0x56, 0x7f,
+	0x08, 0xfb, 0x0f, 0xb1, 0x83, 0xff, 0xaf, 0xd8, 0x47, 0x9c, 0xfd, 0x0f, 0xe4, 0x5e, 0x7b, 0x93,
+	0xa1, 0xf9, 0x15, 0xe8, 0x5e, 0xbe, 0xf6, 0xf4, 0x4b, 0x5c, 0xfb, 0x6f, 0xe5, 0xf3, 0x13, 0x1d,
+	0x0f, 0xea, 0xc3, 0xde, 0x46, 0x37, 0xb6, 0xa8, 0x22, 0x49, 0xf3, 0xff, 0x8d, 0xf5, 0x7e, 0x8c,
+	0x55, 0x94, 0x09, 0xed, 0x1c, 0x58, 0x10, 0x48, 0x51, 0x9f, 0x61, 0xdf, 0xbe, 0xbc, 0x32, 0x78,
+	0xa3, 0x25, 0x3e, 0x28, 0x8e, 0x12, 0xf4, 0x68, 0xb5, 0xa7, 0x4c, 0x01, 0x9f, 0xd1, 0x2e, 0x42,
+	0x28, 0x5e, 0x16, 0xab, 0x35, 0xd8, 0x5a, 0x9e, 0x93, 0x1a, 0xbc, 0xd5, 0xbe, 0xe8, 0x1a, 0x4f,
+	0x9b, 0x7a, 0xeb, 0xb4, 0x45, 0x1a, 0xa7, 0x6b, 0x68, 0x0b, 0x0a, 0xf3, 0x99, 0x72, 0xf8, 0x9f,
+	0x12, 0x40, 0x83, 0x9a, 0xe4, 0xdf, 0x47, 0xbf, 0x56, 0xa0, 0xb4, 0xf4, 0x40, 0xd1, 0x41, 0x84,
+	0x7f, 0x9b, 0x55, 0xab, 0x7a, 0x4b, 0x42, 0x96, 0xfe, 0x4b, 0xa9, 0xcd, 0xbb, 0x34, 0x55, 0xfb,
+	0xe2, 0x5f, 0xff, 0xfe, 0x4d, 0xea, 0x6d, 0xf5, 0x36, 0xfd, 0xab, 0x46, 0x90, 0x20, 0xd0, 0x9e,
+	0x2f, 0x08, 0xf2, 0x99, 0xc6, 0xb3, 0xf3, 0xb1, 0x48, 0x41, 0xbf, 0x52, 0xa0, 0x20, 0x1f, 0x2c,
+	0xaa, 0x45, 0xf8, 0xb3, 0x56, 0xd4, 0xaa, 0xb1, 0xd2, 0x9d, 0xfa, 0x2e, 0xf3, 0xe9, 0x9b, 0xe8,
+	0xcd, 0x28, 0x9f, 0xb4, 0xe7, 0x64, 0x8c, 0x7e, 0xa7, 0x00, 0x2c, 0x6a, 0x11, 0xfa, 0x76, 0x84,
+	0x8d, 0x8d, 0x32, 0x59, 0x3d, 0x48, 0x80, 0xe0, 0x59, 0x40, 0xbd, 0xc3, 0x5c, 0x54, 0x51, 0x64,
+	0xd8, 0xd0, 0xef, 0xe9, 0x15, 0x2e, 0xaa, 0x55, 0xf4, 0x15, 0x6e, 0x54, 0xb6, 0x98, 0x51, 0x7b,
+	0x9f, 0xb9, 0x74, 0xa0, 0xbe, 0x13, 0x2b, 0x6a, 0xc7, 0x03, 0x66, 0xe7, 0x58, 0xb9, 0x8b, 0xfe,
+	0xa2, 0xac, 0xb4, 0x3b, 0xb2, 0x1e, 0x1e, 0xc5, 0xe7, 0xda, 0x6a, 0x82, 0xa9, 0x26, 0xc9, 0x08,
+	0xea, 0x3d, 0xe6, 0xf6, 0xbb, 0xaa, 0xfa, 0x62, 0xb7, 0x65, 0xca, 0x3c, 0x96, 0xd9, 0x03, 0xfd,
+	0x59, 0x59, 0x34, 0x4c, 0xd2, 0xdf, 0xf7, 0x62, 0x72, 0xf1, 0x65, 0x9c, 0x15, 0x31, 0x46, 0x5a,
+	0xb4, 0xb3, 0xda, 0xf3, 0x45, 0x16, 0xfd, 0x0c, 0xfd, 0x55, 0x59, 0xea, 0xcf, 0x64, 0x4d, 0x41,
+	0xef, 0xc7, 0x25, 0xde, 0x5a, 0x01, 0xab, 0x1e, 0x25, 0x07, 0x0a, 0xe2, 0xde, 0x65, 0x27, 0x78,
+	0x03, 0xc5, 0x08, 0x37, 0xa5, 0x2e, 0xda, 0x2c, 0x51, 0x91, 0xc4, 0x78, 0x61, 0x55, 0xab, 0xee,
+	0x6d, 0x74, 0x2a, 0x4d, 0xfa, 0xff, 0xaa, 0x0c, 0xeb, 0xdd, 0xc4, 0x61, 0xfd, 0x07, 0xf1, 0x70,
+	0xb3, 0xd0, 0x45, 0x7a, 0xf8, 0xc2, 0xda, 0x98, 0x8c, 0x0d, 0x0f, 0x98, 0xdb, 0xc7, 0x87, 0x49,
+	0xdd, 0x9e, 0xf3, 0xb8, 0xae, 0x42, 0x65, 0xe0, 0x8d, 0xa5, 0xcd, 0x15, 0x53, 0x4f, 0x94, 0x3f,
+	0xa5, 0xd2, 0x67, 0x8d, 0x7a, 0x3f, 0xc7, 0x82, 0x75, 0xef, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff,
+	0x61, 0x99, 0xa8, 0xed, 0x3b, 0x18, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto b/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
index facc1ccb..6d8f758a 100644
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+++ b/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
@@ -67,6 +67,41 @@ service CloudBuild {
   rpc CancelBuild(CancelBuildRequest) returns (Build) {
     option (google.api.http) = { post: "/v1/projects/{project_id}/builds/{id}:cancel" body: "*" };
   }
+
+  // Creates a new BuildTrigger.
+  //
+  // This API is experimental.
+  rpc CreateBuildTrigger(CreateBuildTriggerRequest) returns (BuildTrigger) {
+    option (google.api.http) = { post: "/v1/projects/{project_id}/triggers" body: "trigger" };
+  }
+
+  // Gets information about a BuildTrigger.
+  //
+  // This API is experimental.
+  rpc GetBuildTrigger(GetBuildTriggerRequest) returns (BuildTrigger) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/triggers/{trigger_id}" };
+  }
+
+  // Lists existing BuildTrigger.
+  //
+  // This API is experimental.
+  rpc ListBuildTriggers(ListBuildTriggersRequest) returns (ListBuildTriggersResponse) {
+    option (google.api.http) = { get: "/v1/projects/{project_id}/triggers" };
+  }
+
+  // Deletes an BuildTrigger by its project ID and trigger ID.
+  //
+  // This API is experimental.
+  rpc DeleteBuildTrigger(DeleteBuildTriggerRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = { delete: "/v1/projects/{project_id}/triggers/{trigger_id}" };
+  }
+
+  // Updates an BuildTrigger by its project ID and trigger ID.
+  //
+  // This API is experimental.
+  rpc UpdateBuildTrigger(UpdateBuildTriggerRequest) returns (BuildTrigger) {
+    option (google.api.http) = { patch: "/v1/projects/{project_id}/triggers/{trigger_id}" body: "trigger" };
+  }
 }
 
 // StorageSource describes the location of the source in an archive file in
@@ -170,7 +205,6 @@ message Results {
   repeated BuiltImage images = 2;
 
   // List of build step digests, in order corresponding to build step indices.
-  // next id = 4
   repeated string build_step_images = 3;
 }
 
@@ -382,6 +416,92 @@ message CancelBuildRequest {
   string id = 2;
 }
 
+// Configuration for an automated build in response to source repository
+// changes.
+message BuildTrigger {
+  // Unique identifier of the trigger.
+  //
+  // @OutputOnly
+  string id = 1;
+
+  // Template describing the types of source changes to trigger a build.
+  //
+  // Branch and tag names in trigger templates are interpreted as regular
+  // expressions. Any branch or tag change that matches that regular expression
+  // will trigger a build.
+  RepoSource trigger_template = 7;
+
+  // Template describing the Build request to make when the trigger is matched.
+  //
+  // Fields can include the following variables which will be expanded when the
+  // build is created:
+  // - $PROJECT_ID: the project ID that owns the repo.
+  // - $REPO_NAME: the name of the repo.
+  // - $BRANCH_NAME: the branch name that triggered the build.
+  // - $TAG_NAME: the tag name that triggered the build.
+  // - $REVISION_ID: the commit SHA of the revision that triggered the build.
+  oneof build_template {
+    // Contents of the build template.
+    Build build = 4;
+  }
+
+  // Time when the trigger was created.
+  //
+  // @OutputOnly
+  google.protobuf.Timestamp create_time = 5;
+}
+
+// Request to create a new BuildTrigger.
+message CreateBuildTriggerRequest {
+  // ID of the project for which to configure automatic builds.
+  string project_id = 1;
+
+  // BuildTrigger to create.
+  BuildTrigger trigger = 2;
+}
+
+// Returns the BuildTrigger with the specified ID.
+message GetBuildTriggerRequest {
+  // ID of the project that owns the trigger.
+  string project_id = 1;
+
+  // ID of the BuildTrigger to get.
+  string trigger_id = 2;
+}
+
+// Request to list existing BuildTriggers.
+message ListBuildTriggersRequest {
+  // ID of the project for which to list BuildTriggers.
+  string project_id = 1;
+}
+
+// Response containing existing BuildTriggers.
+message ListBuildTriggersResponse {
+  // BuildTriggers for the project, sorted by create_time descending.
+  repeated BuildTrigger triggers = 1;
+}
+
+// Request to delete a BuildTrigger.
+message DeleteBuildTriggerRequest {
+  // ID of the project that owns the trigger.
+  string project_id = 1;
+
+  // ID of the BuildTrigger to delete.
+  string trigger_id = 2;
+}
+
+// Request to update an existing BuildTrigger.
+message UpdateBuildTriggerRequest {
+  // ID of the project that owns the trigger.
+  string project_id = 1;
+
+  // ID of the BuildTrigger to update.
+  string trigger_id = 2;
+
+  // BuildTrigger to update.
+  BuildTrigger trigger = 3;
+}
+
 // Optional arguments to enable specific features of builds.
 message BuildOptions {
   // Specifies the manner in which the build should be verified, if at all.
diff --git a/googleapis/devtools/clouddebugger/v2/controller.pb.go b/googleapis/devtools/clouddebugger/v2/controller.pb.go
index 0a54abb9..559871b5 100644
--- a/googleapis/devtools/clouddebugger/v2/controller.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/controller.pb.go
@@ -391,42 +391,42 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 588 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x5b, 0x6b, 0x13, 0x41,
-	0x14, 0x66, 0x5a, 0x94, 0xf6, 0xac, 0xd2, 0x32, 0xa0, 0x86, 0xc5, 0x6a, 0xba, 0x48, 0x29, 0x25,
-	0xec, 0xc0, 0xd6, 0x97, 0xe6, 0xc1, 0x4b, 0xbc, 0x51, 0xa9, 0x1a, 0x42, 0xc5, 0xc7, 0xb0, 0x97,
-	0xd3, 0x71, 0xe8, 0x66, 0x66, 0xdd, 0x99, 0x8d, 0x2d, 0xa5, 0x2f, 0xbe, 0x2a, 0xbe, 0xf8, 0x63,
-	0x04, 0xff, 0x86, 0xfe, 0x04, 0x9f, 0xfc, 0x15, 0x92, 0xdd, 0xcd, 0xa5, 0x97, 0x34, 0x69, 0xf4,
-	0x25, 0x90, 0xef, 0xcc, 0xf7, 0x9d, 0xef, 0x3b, 0x7b, 0x66, 0xa0, 0xc9, 0x95, 0xe2, 0x31, 0xba,
-	0x5c, 0xc5, 0xbe, 0xe4, 0xae, 0x4a, 0x39, 0xe3, 0x28, 0x93, 0x54, 0x19, 0xc5, 0x8a, 0x92, 0x9f,
-	0x08, 0xcd, 0x22, 0xec, 0x1a, 0xa5, 0x62, 0xcd, 0xc2, 0x58, 0x65, 0x51, 0x84, 0x41, 0xc6, 0x39,
-	0xa6, 0xac, 0xeb, 0xb1, 0x50, 0x49, 0x93, 0xaa, 0x38, 0xc6, 0xd4, 0xcd, 0x59, 0xb4, 0x5a, 0x2a,
-	0xf6, 0x29, 0xee, 0x09, 0x8a, 0xdb, 0xf5, 0xec, 0xed, 0xe9, 0x7a, 0xfa, 0x89, 0x60, 0x1a, 0xd3,
-	0xae, 0x08, 0x31, 0x54, 0x72, 0x4f, 0x70, 0xe6, 0x4b, 0xa9, 0x8c, 0x6f, 0x84, 0x92, 0xba, 0x68,
-	0x66, 0xbf, 0xfc, 0x57, 0xfb, 0x91, 0x6f, 0xfc, 0x52, 0x6b, 0x93, 0x0b, 0xf3, 0x3e, 0x0b, 0xdc,
-	0x50, 0x75, 0x58, 0xa1, 0xc7, 0xf2, 0x42, 0x90, 0xed, 0xb1, 0xc4, 0x1c, 0x26, 0xa8, 0x19, 0x76,
-	0x12, 0x73, 0x58, 0xfc, 0x16, 0x24, 0xc7, 0x87, 0x5b, 0x2d, 0xe4, 0x42, 0x1b, 0x4c, 0x9f, 0x16,
-	0xb2, 0xd8, 0xc2, 0x0f, 0x19, 0x6a, 0x43, 0x9f, 0xc3, 0x42, 0xd9, 0x09, 0x2b, 0xa4, 0x4a, 0xd6,
-	0x2d, 0x6f, 0xc3, 0x9d, 0x34, 0x1b, 0x77, 0x20, 0x32, 0xe0, 0x3a, 0x01, 0x54, 0xce, 0xb6, 0xd0,
-	0x89, 0x92, 0x1a, 0xff, 0x5b, 0x8f, 0x2f, 0x04, 0x6e, 0xef, 0x08, 0x6d, 0x1e, 0x87, 0x46, 0x74,
-	0xb1, 0x91, 0xa2, 0xbf, 0x9f, 0x28, 0x21, 0x8d, 0xee, 0x87, 0xb9, 0x0b, 0x56, 0xff, 0x70, 0x5b,
-	0x44, 0x79, 0xaf, 0xc5, 0x16, 0xf4, 0xa1, 0xed, 0x88, 0xae, 0x00, 0x7c, 0xf4, 0x85, 0x69, 0x1b,
-	0xb5, 0x8f, 0xb2, 0x32, 0x97, 0xd7, 0x17, 0x7b, 0xc8, 0x6e, 0x0f, 0xa0, 0x35, 0xa0, 0x3a, 0x0b,
-	0x43, 0xd4, 0xba, 0xad, 0x64, 0xdb, 0x88, 0x0e, 0xaa, 0xcc, 0x54, 0xe6, 0xab, 0x64, 0x7d, 0xa1,
-	0xb5, 0x5c, 0x56, 0xde, 0xc8, 0xdd, 0x02, 0x77, 0x7e, 0x10, 0x58, 0x19, 0x63, 0xa7, 0x0c, 0xfe,
-	0x1a, 0xac, 0x60, 0x08, 0x57, 0x48, 0x75, 0x7e, 0xdd, 0xf2, 0x6a, 0x93, 0xb3, 0x0f, 0xb5, 0x5a,
-	0xa3, 0x02, 0x74, 0x0d, 0x96, 0x24, 0x1e, 0x98, 0xf6, 0x99, 0x0c, 0xd7, 0x7b, 0xf0, 0xbb, 0x41,
-	0x8e, 0x55, 0xb8, 0x96, 0x1f, 0xc1, 0x83, 0x44, 0xa4, 0x18, 0x95, 0x09, 0xac, 0x1e, 0xf6, 0xac,
-	0x80, 0x9c, 0xaf, 0x04, 0x56, 0xde, 0x26, 0x91, 0x6f, 0xf0, 0xb4, 0xfd, 0xa9, 0x87, 0xb9, 0x03,
-	0x30, 0x34, 0x97, 0x1b, 0xb9, 0x6c, 0xb8, 0x11, 0xbe, 0x53, 0x85, 0x3b, 0xe3, 0xfc, 0x14, 0xd3,
-	0xf4, 0x3e, 0x5f, 0x01, 0xeb, 0xc9, 0xe0, 0x22, 0x7b, 0xf4, 0x3b, 0x81, 0xe5, 0xd3, 0x3b, 0x47,
-	0xb7, 0x26, 0x1b, 0x18, 0x73, 0x15, 0xec, 0xfa, 0x2c, 0xd4, 0xc2, 0x9b, 0x53, 0xfb, 0xf4, 0xf3,
-	0xf7, 0xb7, 0xb9, 0x35, 0x67, 0xf5, 0xe4, 0x6b, 0xc3, 0xfa, 0xe3, 0xd2, 0x2c, 0x2d, 0xa9, 0x75,
-	0xb2, 0x41, 0x7f, 0x11, 0xb8, 0x71, 0xee, 0xe6, 0xd0, 0x07, 0x93, 0x3d, 0x5c, 0x74, 0x03, 0xec,
-	0x87, 0x33, 0xf3, 0xcb, 0x20, 0xf5, 0x3c, 0xc8, 0x7d, 0xea, 0x8d, 0x0d, 0x72, 0x34, 0xb2, 0x15,
-	0xc7, 0x6c, 0x74, 0x3d, 0xff, 0x10, 0xb8, 0x79, 0xfe, 0x37, 0xa4, 0x53, 0xf8, 0xba, 0x70, 0x1b,
-	0xed, 0x47, 0xb3, 0x0b, 0x94, 0xc9, 0x5e, 0xe5, 0xc9, 0x5e, 0xd8, 0x8d, 0xcb, 0x27, 0x63, 0x47,
-	0xc3, 0x3f, 0xae, 0x88, 0x8e, 0xeb, 0x64, 0xa3, 0xb1, 0x05, 0xf7, 0x42, 0xd5, 0x99, 0xe8, 0xaa,
-	0xb1, 0x34, 0x5c, 0xd9, 0x66, 0xef, 0x31, 0x6e, 0x92, 0xe0, 0x6a, 0xfe, 0x2a, 0x6f, 0xfe, 0x0d,
-	0x00, 0x00, 0xff, 0xff, 0x89, 0xdc, 0x57, 0xe9, 0xd7, 0x06, 0x00, 0x00,
+	// 587 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0xcb, 0x6e, 0xd3, 0x4c,
+	0x14, 0x96, 0x5b, 0xfd, 0xbf, 0xda, 0x13, 0x50, 0xab, 0x91, 0x80, 0xc8, 0xa2, 0x90, 0x5a, 0xa8,
+	0x42, 0x55, 0xe4, 0x91, 0x5c, 0x36, 0xcd, 0x82, 0x4b, 0xb8, 0xa9, 0xa8, 0x40, 0x14, 0x15, 0xb1,
+	0x8c, 0x7c, 0x39, 0x1d, 0x46, 0x75, 0x66, 0x8c, 0x67, 0x1c, 0x8a, 0x2a, 0x36, 0x6c, 0x41, 0x6c,
+	0x78, 0x18, 0x24, 0x5e, 0x03, 0x1e, 0x81, 0x15, 0x4f, 0xc1, 0xc4, 0x76, 0x2e, 0xbd, 0xa4, 0x49,
+	0x03, 0x1b, 0x2b, 0x39, 0x67, 0xbe, 0xf3, 0x7d, 0xdf, 0x99, 0x33, 0x07, 0x5a, 0x4c, 0x4a, 0x16,
+	0xa3, 0xcb, 0x64, 0xec, 0x0b, 0xe6, 0xca, 0x94, 0x51, 0x86, 0x22, 0x49, 0xa5, 0x96, 0xb4, 0x48,
+	0xf9, 0x09, 0x57, 0x34, 0xc2, 0x9e, 0x96, 0x32, 0x56, 0x34, 0x8c, 0x65, 0x16, 0x45, 0x18, 0x64,
+	0x8c, 0x61, 0x4a, 0x7b, 0x1e, 0x0d, 0xa5, 0xd0, 0xa9, 0x8c, 0x63, 0x4c, 0xdd, 0x1c, 0x45, 0x6a,
+	0x65, 0xc5, 0x01, 0xc4, 0x3d, 0x06, 0x71, 0x7b, 0x9e, 0xbd, 0x33, 0x1b, 0xa7, 0xf9, 0x50, 0x85,
+	0x69, 0x8f, 0x87, 0x68, 0x48, 0xf6, 0x39, 0xa3, 0xbe, 0x10, 0x52, 0xfb, 0x9a, 0x4b, 0xa1, 0x0a,
+	0x32, 0xfb, 0xd9, 0xdf, 0xca, 0x8f, 0x7c, 0xed, 0x97, 0xb5, 0xb6, 0x18, 0xd7, 0x6f, 0xb2, 0xc0,
+	0x0d, 0x65, 0x97, 0x16, 0xf5, 0x68, 0x9e, 0x08, 0xb2, 0x7d, 0x9a, 0xe8, 0xf7, 0x09, 0x2a, 0x8a,
+	0x5d, 0xf3, 0xa3, 0xf8, 0x16, 0x20, 0xc7, 0x87, 0x6b, 0x6d, 0x64, 0x5c, 0x69, 0x4c, 0x1f, 0x15,
+	0x65, 0xb1, 0x8d, 0x6f, 0x33, 0x54, 0x9a, 0x3c, 0x81, 0xa5, 0x92, 0x09, 0xab, 0x56, 0xcd, 0xba,
+	0x5d, 0xf1, 0x36, 0xdd, 0x69, 0xbd, 0x71, 0x87, 0x45, 0x86, 0x58, 0x27, 0x80, 0xea, 0x69, 0x0a,
+	0x95, 0x98, 0x26, 0xe0, 0x3f, 0xe3, 0xf8, 0x6c, 0xc1, 0xf5, 0x5d, 0x43, 0xf1, 0x20, 0xd4, 0xbc,
+	0x87, 0xcd, 0x14, 0xfd, 0x83, 0x44, 0x72, 0xa1, 0xd5, 0xc0, 0xcc, 0x4d, 0xa8, 0x0c, 0x0e, 0x77,
+	0x78, 0x94, 0x73, 0x2d, 0xb7, 0x61, 0x10, 0xda, 0x89, 0xc8, 0x1a, 0xc0, 0x3b, 0x9f, 0xeb, 0x8e,
+	0x96, 0x07, 0x28, 0xaa, 0x0b, 0x79, 0x7e, 0xb9, 0x1f, 0xd9, 0xeb, 0x07, 0x48, 0x1d, 0x88, 0xca,
+	0xc2, 0x10, 0x95, 0xea, 0x48, 0xd1, 0xd1, 0xbc, 0x8b, 0x32, 0xd3, 0xd5, 0x45, 0x73, 0x6c, 0xa9,
+	0xbd, 0x5a, 0x66, 0x5e, 0x8a, 0xbd, 0x22, 0xee, 0x7c, 0xb7, 0x60, 0x6d, 0x82, 0x9c, 0xd2, 0xf8,
+	0x0b, 0xa8, 0x04, 0xa3, 0xb0, 0xd1, 0xb3, 0x68, 0xbc, 0xd7, 0xa7, 0x7b, 0x1f, 0xd5, 0x6a, 0x8f,
+	0x17, 0x20, 0x1b, 0xb0, 0x22, 0xf0, 0x50, 0x77, 0x4e, 0x79, 0xb8, 0xdc, 0x0f, 0xbf, 0x1e, 0xfa,
+	0x58, 0x87, 0x4b, 0xf9, 0x11, 0x3c, 0x4c, 0x78, 0x8a, 0x51, 0xe9, 0xa0, 0xd2, 0x8f, 0x3d, 0x2e,
+	0x42, 0xce, 0x17, 0x23, 0xfe, 0x55, 0x62, 0x06, 0x0b, 0x4f, 0xca, 0x9f, 0xb9, 0x99, 0xbb, 0x00,
+	0x23, 0x71, 0xb9, 0x90, 0x8b, 0x9a, 0x1b, 0xc3, 0x3b, 0x35, 0xb8, 0x31, 0x49, 0x4f, 0xd1, 0x4d,
+	0xef, 0xd3, 0x7f, 0x50, 0x79, 0x38, 0x7c, 0xc8, 0x1e, 0xf9, 0x66, 0xc1, 0xea, 0xc9, 0x99, 0x23,
+	0xdb, 0xd3, 0x05, 0x4c, 0x78, 0x0a, 0x76, 0x63, 0x1e, 0x68, 0xa1, 0xcd, 0xa9, 0x7f, 0xfc, 0xf1,
+	0xeb, 0xeb, 0xc2, 0x86, 0xb3, 0x7e, 0x7c, 0xdb, 0xd0, 0x41, 0xbb, 0x14, 0x4d, 0x4b, 0x68, 0xc3,
+	0xda, 0x24, 0x3f, 0x2d, 0xb8, 0x72, 0xe6, 0xe4, 0x90, 0xbb, 0xd3, 0x35, 0x9c, 0xf7, 0x02, 0xec,
+	0x7b, 0x73, 0xe3, 0x4b, 0x23, 0x8d, 0xdc, 0xc8, 0x1d, 0xe2, 0x4d, 0x34, 0x72, 0x34, 0x36, 0x15,
+	0x1f, 0xe8, 0xf8, 0x78, 0xfe, 0xb6, 0xe0, 0xea, 0xd9, 0x77, 0x48, 0x66, 0xd0, 0x75, 0xee, 0x34,
+	0xda, 0xf7, 0xe7, 0x2f, 0x50, 0x3a, 0x7b, 0x9e, 0x3b, 0x7b, 0x6a, 0x37, 0x2f, 0xee, 0x8c, 0x1e,
+	0x8d, 0xfe, 0xb8, 0x26, 0x67, 0xee, 0xb0, 0xb9, 0x0d, 0xb7, 0xcc, 0x0e, 0x9e, 0xaa, 0xaa, 0xb9,
+	0x32, 0x1a, 0xd9, 0x56, 0x7f, 0x19, 0xb7, 0xac, 0xe0, 0xff, 0x7c, 0x2b, 0x6f, 0xfd, 0x09, 0x00,
+	0x00, 0xff, 0xff, 0x89, 0xdc, 0x57, 0xe9, 0xd7, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/controller.proto b/googleapis/devtools/clouddebugger/v2/controller.proto
index 6568f209..5b979c8a 100644
--- a/googleapis/devtools/clouddebugger/v2/controller.proto
+++ b/googleapis/devtools/clouddebugger/v2/controller.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/googleapis/devtools/clouddebugger/v2/data.pb.go b/googleapis/devtools/clouddebugger/v2/data.pb.go
index 19a3c229..6b259340 100644
--- a/googleapis/devtools/clouddebugger/v2/data.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/data.pb.go
@@ -633,83 +633,83 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 1244 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x41, 0x73, 0xdb, 0x44,
-	0x14, 0xae, 0x9d, 0xc4, 0xb6, 0x9e, 0x63, 0xc7, 0x5d, 0x5a, 0x46, 0x0d, 0x50, 0x3c, 0xa6, 0x87,
-	0x0c, 0xd3, 0xb1, 0x5a, 0x67, 0x60, 0x1a, 0x7a, 0x72, 0x1c, 0x25, 0x98, 0xba, 0xb6, 0xbb, 0x4e,
-	0x02, 0x37, 0xb1, 0x96, 0xd6, 0xea, 0x52, 0x59, 0x12, 0xbb, 0x6b, 0x93, 0xde, 0xf9, 0x11, 0x1c,
-	0xf8, 0x6f, 0xdc, 0x38, 0xf3, 0x13, 0x98, 0x5d, 0x49, 0x8e, 0x4c, 0x19, 0x9c, 0xd0, 0xde, 0xde,
-	0x7e, 0xfb, 0xbe, 0x6f, 0xa5, 0xb7, 0xdf, 0x7b, 0x12, 0x7c, 0xe7, 0x47, 0x91, 0x1f, 0xd0, 0xb6,
-	0x1f, 0x05, 0x24, 0xf4, 0xdb, 0x11, 0xf7, 0x2d, 0x9f, 0x86, 0x31, 0x8f, 0x64, 0x64, 0x25, 0x5b,
-	0x24, 0x66, 0xc2, 0xf2, 0xe8, 0x52, 0x46, 0x51, 0x20, 0x2c, 0x37, 0x88, 0x16, 0x9e, 0x47, 0xa7,
-	0x0b, 0xdf, 0xa7, 0xdc, 0x5a, 0x76, 0x2c, 0x8f, 0x48, 0xd2, 0xd6, 0xf9, 0xa8, 0x99, 0x6a, 0x65,
-	0xc9, 0xed, 0xb5, 0xe4, 0xf6, 0xb2, 0xb3, 0xdf, 0xbf, 0xd9, 0x69, 0x24, 0x66, 0x96, 0xa0, 0x7c,
-	0xc9, 0x5c, 0xea, 0x46, 0xe1, 0x8c, 0xf9, 0x16, 0x09, 0xc3, 0x48, 0x12, 0xc9, 0xa2, 0x50, 0x24,
-	0x87, 0xed, 0xbf, 0xbc, 0xe5, 0x83, 0x8b, 0x68, 0xc1, 0x5d, 0x6a, 0x2d, 0x9f, 0xa6, 0x91, 0xe3,
-	0x46, 0xa1, 0xa4, 0x57, 0x32, 0x95, 0x7b, 0xee, 0x33, 0xf9, 0x7a, 0x31, 0x6d, 0xbb, 0xd1, 0xdc,
-	0x4a, 0x24, 0x2d, 0xbd, 0x31, 0x5d, 0xcc, 0xac, 0x58, 0xbe, 0x8d, 0xa9, 0xb0, 0x24, 0x9b, 0x53,
-	0x21, 0xc9, 0x3c, 0xbe, 0x8e, 0x52, 0xf2, 0xd1, 0x66, 0xf2, 0x2f, 0x9c, 0xc4, 0x31, 0xe5, 0xd7,
-	0x41, 0x42, 0x6d, 0x9d, 0x41, 0xed, 0x34, 0xe2, 0x73, 0x22, 0x5f, 0x52, 0x21, 0x88, 0x4f, 0xd1,
-	0xc7, 0x50, 0x9a, 0x69, 0xc0, 0x2c, 0x34, 0x0b, 0x07, 0x06, 0x4e, 0x57, 0xe8, 0x21, 0x40, 0x4c,
-	0x38, 0x99, 0x53, 0x49, 0xb9, 0x30, 0x8b, 0xcd, 0xad, 0x03, 0x03, 0xe7, 0x90, 0xd6, 0x5f, 0x45,
-	0xa8, 0x4d, 0x24, 0x91, 0x0b, 0x91, 0x29, 0x3d, 0x80, 0x0a, 0x13, 0x0e, 0xe5, 0x3c, 0xe2, 0x5a,
-	0xab, 0x82, 0xcb, 0x4c, 0xd8, 0x6a, 0x89, 0x2e, 0xc1, 0xe0, 0x74, 0x46, 0xb9, 0x70, 0x64, 0x64,
-	0x16, 0x9b, 0x85, 0x83, 0x7a, 0xe7, 0xa8, 0xbd, 0xe9, 0xf6, 0xda, 0x6b, 0xf2, 0x6d, 0xac, 0x04,
-	0x68, 0xe8, 0x52, 0x5c, 0x49, 0xb4, 0xce, 0x23, 0xf4, 0x0a, 0xaa, 0x1e, 0x15, 0x2e, 0x67, 0xb1,
-	0xba, 0x2a, 0x73, 0xab, 0x59, 0x38, 0xa8, 0x76, 0xac, 0xcd, 0xca, 0x6b, 0x25, 0xc0, 0x79, 0x8d,
-	0xd6, 0x6f, 0x05, 0x30, 0x56, 0x47, 0xa1, 0x3d, 0xa8, 0x5e, 0x0c, 0x27, 0x63, 0xbb, 0xd7, 0x3f,
-	0xed, 0xdb, 0x27, 0x8d, 0x3b, 0xe8, 0x21, 0xec, 0x1f, 0x63, 0xbb, 0xfb, 0x62, 0x3c, 0xea, 0x0f,
-	0xcf, 0x9d, 0xc9, 0xe8, 0x02, 0xf7, 0x6c, 0x67, 0x30, 0xea, 0x75, 0xcf, 0xfb, 0xa3, 0x61, 0x63,
-	0x0b, 0x99, 0x70, 0x2f, 0xb7, 0xdf, 0x1b, 0x0d, 0x4f, 0xfa, 0x7a, 0x67, 0x1b, 0x3d, 0x80, 0xfb,
-	0xb9, 0x1d, 0xfb, 0x87, 0x31, 0xb6, 0x27, 0x13, 0xb5, 0x55, 0x46, 0x77, 0xa1, 0x76, 0xd9, 0xc5,
-	0xfd, 0xee, 0xf1, 0xc0, 0x76, 0x86, 0xdd, 0x97, 0x76, 0x63, 0x07, 0x21, 0xa8, 0xaf, 0xa0, 0xcb,
-	0xee, 0xe0, 0xc2, 0x6e, 0x94, 0x5a, 0xcf, 0xa0, 0x3e, 0xd1, 0x5e, 0x1a, 0x44, 0xae, 0xf6, 0x26,
-	0x42, 0xb0, 0x1d, 0x13, 0xf9, 0x3a, 0xbd, 0x3a, 0x1d, 0x2b, 0x2c, 0x60, 0x21, 0xd5, 0x65, 0xde,
-	0xc1, 0x3a, 0x6e, 0xfd, 0x5e, 0x84, 0xca, 0x25, 0xe1, 0x8c, 0x4c, 0x03, 0xaa, 0x12, 0x42, 0x32,
-	0xa7, 0x19, 0x49, 0xc5, 0xe8, 0x1e, 0xec, 0x2c, 0x49, 0xb0, 0x48, 0x58, 0x06, 0x4e, 0x16, 0x2a,
-	0x53, 0xb9, 0xc9, 0x2c, 0x25, 0x99, 0x2a, 0x46, 0x27, 0x50, 0x9e, 0xd3, 0xf9, 0x54, 0x99, 0x62,
-	0xab, 0xb9, 0x75, 0x50, 0xed, 0x7c, 0xb9, 0xb9, 0xdc, 0xd9, 0xd1, 0x38, 0xa3, 0xa2, 0x1e, 0xec,
-	0x2d, 0x09, 0x77, 0xa4, 0x42, 0x1d, 0x16, 0x7a, 0xf4, 0xca, 0xdc, 0xd6, 0x97, 0xf7, 0x49, 0xa6,
-	0x96, 0x19, 0xba, 0xdd, 0x0f, 0xe5, 0x61, 0xe7, 0x52, 0x3d, 0x0f, 0xae, 0x2d, 0x09, 0x3f, 0x57,
-	0x94, 0xbe, 0x62, 0xa0, 0x33, 0x28, 0x09, 0x6d, 0x11, 0x73, 0xe7, 0xa6, 0x17, 0xbf, 0x66, 0x29,
-	0x9c, 0xd2, 0x5b, 0xbf, 0x16, 0x01, 0x26, 0x92, 0xb8, 0x6f, 0x4e, 0x95, 0xbd, 0xd1, 0x3e, 0x54,
-	0x66, 0x8b, 0xd0, 0xd5, 0x96, 0x4a, 0x8a, 0xb4, 0x5a, 0xa3, 0x01, 0x54, 0x82, 0xb4, 0xfa, 0xba,
-	0x56, 0xd5, 0xce, 0x93, 0x1b, 0x9c, 0xba, 0x76, 0x6b, 0x78, 0xa5, 0x80, 0xbe, 0x05, 0x83, 0x70,
-	0x7f, 0x31, 0xa7, 0xa1, 0xfc, 0x3f, 0xe5, 0xbc, 0x26, 0xa3, 0x63, 0x28, 0x29, 0xd5, 0x40, 0x98,
-	0xdb, 0xb7, 0x96, 0x49, 0x99, 0xad, 0x3f, 0x2a, 0x00, 0xc7, 0x9c, 0x92, 0x37, 0x71, 0xc4, 0x42,
-	0x89, 0xea, 0x50, 0x64, 0x5e, 0x5a, 0x80, 0x22, 0xf3, 0xd0, 0x0b, 0x28, 0x91, 0xa4, 0x28, 0x35,
-	0xdd, 0xc1, 0x87, 0x9b, 0x8f, 0xb8, 0x56, 0x6b, 0x77, 0x35, 0x15, 0xa7, 0x12, 0x1f, 0xb8, 0x8e,
-	0x9f, 0x82, 0xe1, 0x46, 0xa1, 0xc7, 0x56, 0x53, 0xc0, 0xc0, 0xd7, 0x00, 0x6a, 0x42, 0x95, 0x5e,
-	0xc5, 0x9c, 0x0a, 0xa1, 0xe6, 0xb9, 0x2e, 0x90, 0x81, 0xf3, 0x10, 0x7a, 0x0c, 0x28, 0x88, 0x7c,
-	0x67, 0x9e, 0xf8, 0xc2, 0x49, 0x07, 0x62, 0x5d, 0x0b, 0x35, 0x82, 0xc8, 0x4f, 0x0d, 0x93, 0x8c,
-	0x0d, 0x84, 0xc1, 0x50, 0xd9, 0x01, 0x5d, 0xd2, 0xc0, 0xdc, 0xd3, 0xb5, 0xf8, 0xea, 0x56, 0xb5,
-	0x18, 0x44, 0xfe, 0x40, 0x91, 0xd5, 0x1b, 0x24, 0x11, 0x7a, 0x04, 0x75, 0x26, 0x9c, 0x19, 0x0b,
-	0x49, 0xe0, 0x28, 0x57, 0x52, 0xed, 0xe9, 0x0a, 0xde, 0x65, 0xe2, 0x54, 0x81, 0xca, 0xb8, 0x14,
-	0x3d, 0x87, 0xaa, 0xcb, 0x29, 0x91, 0xd4, 0x51, 0x9f, 0x04, 0xb3, 0xaa, 0x0b, 0xb7, 0xff, 0x4e,
-	0xcb, 0x9c, 0x67, 0xdf, 0x0b, 0x0c, 0x49, 0xba, 0x02, 0xd0, 0x11, 0x40, 0xa2, 0xaf, 0xb9, 0xbb,
-	0x1b, 0xb9, 0x86, 0xce, 0xd6, 0xd4, 0xcf, 0x00, 0x16, 0x82, 0x72, 0x87, 0xce, 0x09, 0x0b, 0xcc,
-	0x46, 0x52, 0x60, 0x85, 0xd8, 0x0a, 0xc8, 0x35, 0x22, 0xbc, 0x57, 0x23, 0xa2, 0x11, 0xec, 0x0a,
-	0xd5, 0x87, 0xce, 0x4c, 0x35, 0xa2, 0x30, 0xcb, 0xda, 0xcb, 0x8f, 0x6f, 0x24, 0x97, 0x76, 0x2f,
-	0xae, 0x8a, 0x55, 0x2c, 0x90, 0x03, 0xf7, 0xa9, 0x9a, 0x65, 0x44, 0x52, 0xcf, 0xc9, 0x9b, 0xa0,
-	0x72, 0xeb, 0x2e, 0xb9, 0xb7, 0x12, 0xb2, 0x73, 0xce, 0x79, 0x05, 0xf5, 0x65, 0x9a, 0x91, 0x4c,
-	0x33, 0xd3, 0xb8, 0xb5, 0x72, 0x2d, 0x53, 0xd0, 0xb3, 0x0d, 0x8d, 0xa1, 0x14, 0x90, 0x29, 0x0d,
-	0x84, 0x79, 0x57, 0x4b, 0x3d, 0xbb, 0x9d, 0xb7, 0x34, 0xd5, 0x0e, 0x25, 0x7f, 0x8b, 0x53, 0x9d,
-	0xfd, 0x23, 0xa8, 0xe6, 0x60, 0xd4, 0x80, 0xad, 0x37, 0xf4, 0x6d, 0xda, 0xd9, 0x2a, 0xfc, 0xf7,
-	0xf1, 0xff, 0x4d, 0xf1, 0x59, 0xa1, 0xf5, 0x10, 0x4a, 0x49, 0xe7, 0xa2, 0x2a, 0x94, 0x7b, 0xdd,
-	0xf1, 0xf9, 0x05, 0xb6, 0x1b, 0x77, 0x50, 0x19, 0xb6, 0x06, 0xa3, 0xb3, 0x46, 0xa1, 0xf5, 0x18,
-	0x2a, 0x99, 0x9b, 0x51, 0x05, 0xb6, 0xfb, 0xc3, 0xd3, 0x51, 0xe3, 0x8e, 0xca, 0xfd, 0xbe, 0x8b,
-	0x87, 0xfd, 0xe1, 0x59, 0xa3, 0x80, 0x0c, 0xd8, 0xb1, 0x31, 0x1e, 0xe1, 0x46, 0xb1, 0xf5, 0xe7,
-	0x36, 0x54, 0x4e, 0x92, 0xe7, 0xa6, 0xef, 0xcc, 0x17, 0x13, 0xca, 0x31, 0x8f, 0x7e, 0xa2, 0xae,
-	0x4c, 0x1f, 0x23, 0x5b, 0xaa, 0x7f, 0x91, 0x45, 0xc8, 0x7e, 0x5e, 0xb0, 0x19, 0xa3, 0x3c, 0xed,
-	0xef, 0x1c, 0xa2, 0x1a, 0x3c, 0xff, 0x1b, 0xb0, 0xad, 0x13, 0xf2, 0x10, 0xfa, 0x1c, 0xaa, 0x4c,
-	0x38, 0x2c, 0x54, 0xd3, 0x67, 0x99, 0xf5, 0x16, 0x30, 0xd1, 0x4f, 0x11, 0xf4, 0x05, 0xd4, 0x88,
-	0x4f, 0x43, 0xe9, 0x2c, 0x29, 0x57, 0x37, 0x9b, 0x7e, 0xf3, 0x76, 0x35, 0x78, 0x99, 0x60, 0xa9,
-	0x8a, 0xc7, 0x84, 0xba, 0x27, 0xcf, 0x2c, 0x67, 0x2a, 0x27, 0x29, 0x92, 0x6b, 0x84, 0xca, 0xfb,
-	0x35, 0xc2, 0x2b, 0xd8, 0x5b, 0xff, 0x6d, 0x14, 0xa9, 0xaf, 0x0e, 0xde, 0x51, 0x4c, 0xf2, 0xda,
-	0xcb, 0xa7, 0xe9, 0x78, 0xec, 0x25, 0x04, 0x5c, 0x17, 0xf9, 0xa5, 0x40, 0x3f, 0xc2, 0x47, 0xf4,
-	0x4a, 0x3a, 0xff, 0x94, 0xad, 0x69, 0xd9, 0x27, 0xff, 0x21, 0x6b, 0x5f, 0x49, 0x1a, 0x7a, 0xd4,
-	0x5b, 0x97, 0xbf, 0x4b, 0xaf, 0xe4, 0x64, 0xfd, 0x84, 0xe1, 0xca, 0xb8, 0x55, 0x2d, 0xfa, 0xf5,
-	0xe6, 0xb7, 0xcf, 0xcc, 0xf0, 0x81, 0x6d, 0x7b, 0x7c, 0x08, 0x8f, 0xdc, 0x68, 0xbe, 0xf1, 0xfc,
-	0x63, 0xe3, 0x84, 0x48, 0x32, 0x56, 0xb3, 0x6f, 0x5c, 0x98, 0x96, 0xf4, 0x10, 0x3c, 0xfc, 0x3b,
-	0x00, 0x00, 0xff, 0xff, 0xfa, 0x84, 0x16, 0x20, 0xa4, 0x0c, 0x00, 0x00,
+	// 1243 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x57, 0x41, 0x77, 0xdb, 0x44,
+	0x10, 0xc6, 0x4e, 0x62, 0x4b, 0xa3, 0xd8, 0x71, 0x97, 0x96, 0x27, 0x02, 0x94, 0x3c, 0xd3, 0x43,
+	0x1f, 0xaf, 0xcf, 0x6a, 0x9d, 0x07, 0xaf, 0xa1, 0x27, 0xc7, 0x51, 0x8a, 0xa9, 0x6b, 0xbb, 0xeb,
+	0x24, 0x70, 0x13, 0xb2, 0xbd, 0x56, 0x45, 0x65, 0xc9, 0x68, 0x57, 0x22, 0xbd, 0xf3, 0x23, 0x38,
+	0xf0, 0xdf, 0xb8, 0x71, 0xe6, 0x27, 0xb0, 0xbb, 0x5a, 0x39, 0x32, 0xe1, 0xe1, 0x84, 0xf6, 0xe2,
+	0xcc, 0xce, 0xcc, 0xf7, 0xad, 0x34, 0xfb, 0xcd, 0xac, 0x02, 0xdf, 0x79, 0x51, 0xe4, 0x05, 0xa4,
+	0xe5, 0x45, 0x81, 0x1b, 0x7a, 0xad, 0x28, 0xf6, 0x2c, 0x8f, 0x84, 0xcb, 0x38, 0x62, 0x91, 0x95,
+	0x85, 0xdc, 0xa5, 0x4f, 0xad, 0x19, 0x49, 0x59, 0x14, 0x05, 0xd4, 0x9a, 0x06, 0x51, 0x32, 0x9b,
+	0x91, 0x49, 0xe2, 0x79, 0x24, 0xb6, 0xd2, 0xb6, 0x35, 0x73, 0x99, 0xdb, 0x92, 0xf9, 0xe8, 0x40,
+	0x71, 0xe5, 0xc9, 0xad, 0xb5, 0xe4, 0x56, 0xda, 0xde, 0xef, 0xdd, 0x6c, 0x37, 0xfe, 0x63, 0x51,
+	0x12, 0xa7, 0xfe, 0x94, 0x4c, 0xa3, 0x70, 0xee, 0x7b, 0x96, 0x1b, 0x86, 0x11, 0x73, 0x99, 0x1f,
+	0x85, 0x34, 0xdb, 0x6c, 0xff, 0xe5, 0x2d, 0x1f, 0x9c, 0x46, 0x49, 0x3c, 0x25, 0x56, 0xfa, 0x44,
+	0x59, 0x0e, 0x67, 0x66, 0xe4, 0x92, 0x29, 0xba, 0x67, 0x9e, 0xcf, 0x5e, 0x27, 0x93, 0xd6, 0x34,
+	0x5a, 0x58, 0x19, 0xa5, 0x25, 0x03, 0x93, 0x64, 0x6e, 0x2d, 0xd9, 0xdb, 0x25, 0xa1, 0x16, 0xf3,
+	0x17, 0x84, 0x32, 0x77, 0xb1, 0xbc, 0xb2, 0x14, 0xf8, 0x68, 0x33, 0xf8, 0x97, 0xd8, 0x5d, 0x2e,
+	0x49, 0x7c, 0x65, 0x64, 0xd0, 0xe6, 0x73, 0xa8, 0x9d, 0x46, 0xf1, 0xc2, 0x65, 0x2f, 0x09, 0xa5,
+	0xae, 0x47, 0xd0, 0x47, 0x50, 0x99, 0x4b, 0x87, 0x59, 0x3a, 0x28, 0x3d, 0xd4, 0xb1, 0x5a, 0xa1,
+	0xfb, 0x00, 0x4b, 0x37, 0x76, 0x17, 0x84, 0x71, 0xb0, 0x59, 0x3e, 0xd8, 0xe2, 0xb1, 0x82, 0xa7,
+	0xf9, 0x57, 0x19, 0x6a, 0x63, 0x5e, 0xa2, 0x84, 0xe6, 0x4c, 0x1f, 0x83, 0xe6, 0x53, 0x87, 0xc4,
+	0x71, 0x14, 0x4b, 0x2e, 0x0d, 0x57, 0x7d, 0x6a, 0x8b, 0x25, 0xba, 0x00, 0x3d, 0x26, 0x73, 0x0e,
+	0x73, 0x58, 0xc4, 0xb9, 0x4a, 0x0f, 0xeb, 0xed, 0xa3, 0xd6, 0xa6, 0xd3, 0x6b, 0xad, 0xd1, 0xb7,
+	0xb0, 0x20, 0x20, 0xe1, 0x94, 0x60, 0x2d, 0xe3, 0x3a, 0x8b, 0xd0, 0x2b, 0x30, 0x66, 0x84, 0x4e,
+	0x63, 0x7f, 0x29, 0x8e, 0xca, 0xdc, 0xe2, 0xcc, 0x46, 0xdb, 0xda, 0xcc, 0xbc, 0x56, 0x02, 0x5c,
+	0xe4, 0x68, 0xfe, 0x56, 0x02, 0x7d, 0xb5, 0x15, 0xda, 0x03, 0xe3, 0x7c, 0x30, 0x1e, 0xd9, 0xdd,
+	0xde, 0x69, 0xcf, 0x3e, 0x69, 0x7c, 0xc0, 0xcb, 0xb2, 0x7f, 0x8c, 0xed, 0xce, 0x8b, 0xd1, 0xb0,
+	0x37, 0x38, 0x73, 0xc6, 0xc3, 0x73, 0xdc, 0xb5, 0x9d, 0xfe, 0xb0, 0xdb, 0x39, 0xeb, 0x0d, 0x07,
+	0x8d, 0x2d, 0x64, 0xc2, 0xdd, 0x42, 0xbc, 0x3b, 0x1c, 0x9c, 0xf4, 0x64, 0x64, 0x9b, 0x97, 0xe7,
+	0x5e, 0x21, 0x62, 0xff, 0x30, 0xc2, 0xf6, 0x78, 0x2c, 0x42, 0x55, 0x74, 0x07, 0x6a, 0x17, 0x1d,
+	0xdc, 0xeb, 0x1c, 0xf7, 0x6d, 0x67, 0xd0, 0x79, 0x69, 0x37, 0x76, 0x10, 0x82, 0xfa, 0xca, 0x75,
+	0xd1, 0xe9, 0x9f, 0xdb, 0x8d, 0x4a, 0xf3, 0x29, 0xd4, 0xc7, 0x52, 0x4b, 0xfd, 0x68, 0x2a, 0xb5,
+	0xc9, 0xb3, 0xb6, 0x97, 0x2e, 0x7b, 0xad, 0x8e, 0x4e, 0xda, 0xc2, 0x17, 0xf8, 0x21, 0x91, 0x65,
+	0xde, 0xc1, 0xd2, 0x6e, 0xfe, 0x5e, 0x06, 0xed, 0xc2, 0x8d, 0x7d, 0x77, 0x12, 0x10, 0x91, 0x10,
+	0xf2, 0x53, 0xcc, 0x41, 0xc2, 0x46, 0x77, 0x61, 0x27, 0x75, 0x83, 0x24, 0x43, 0xe9, 0x38, 0x5b,
+	0x88, 0x4c, 0xa1, 0x26, 0xb3, 0x92, 0x65, 0x0a, 0x1b, 0x9d, 0x40, 0x75, 0x41, 0x16, 0x13, 0x21,
+	0x8a, 0x2d, 0x2e, 0x0a, 0xa3, 0xfd, 0xe5, 0xe6, 0x72, 0xe7, 0x5b, 0xe3, 0x1c, 0x8a, 0xba, 0xb0,
+	0x97, 0xba, 0xb1, 0xc3, 0x84, 0xd7, 0xf1, 0xc3, 0x19, 0xb9, 0x34, 0xb7, 0xe5, 0xe1, 0x7d, 0x92,
+	0xb3, 0xe5, 0x82, 0x6e, 0xf5, 0x42, 0x76, 0xd8, 0xbe, 0x10, 0xcf, 0x83, 0x6b, 0x1c, 0x73, 0x26,
+	0x20, 0x3d, 0x81, 0x40, 0xcf, 0xa1, 0x42, 0xa5, 0x44, 0xcc, 0x9d, 0x9b, 0x1e, 0xfc, 0x9a, 0xa4,
+	0xb0, 0x82, 0x37, 0x7f, 0x2d, 0x03, 0xf0, 0xc8, 0xf4, 0xcd, 0xa9, 0x90, 0x37, 0xda, 0x07, 0x6d,
+	0x9e, 0x84, 0x53, 0x29, 0xa9, 0xac, 0x48, 0xab, 0x35, 0xea, 0x83, 0x16, 0xa8, 0xea, 0xcb, 0x5a,
+	0x19, 0xed, 0xc7, 0x37, 0xd8, 0x75, 0xed, 0xd4, 0xf0, 0x8a, 0x01, 0x7d, 0x0b, 0xba, 0x1b, 0x7b,
+	0xc9, 0x82, 0x84, 0xec, 0xff, 0x94, 0xf3, 0x0a, 0x8c, 0x8e, 0xa1, 0x22, 0x58, 0x03, 0xca, 0xeb,
+	0x78, 0x5b, 0x1a, 0x85, 0x6c, 0xfe, 0xa1, 0x01, 0x1c, 0xc7, 0xc4, 0x7d, 0xb3, 0x8c, 0xfc, 0x90,
+	0xa1, 0x3a, 0x94, 0xfd, 0x99, 0x2a, 0x00, 0xb7, 0xd0, 0x0b, 0xa8, 0xb8, 0x59, 0x51, 0x6a, 0xb2,
+	0x83, 0x0f, 0x37, 0x6f, 0x71, 0xc5, 0xd6, 0xea, 0x48, 0x28, 0x56, 0x14, 0xef, 0xb9, 0x8e, 0x9f,
+	0x82, 0xce, 0xc7, 0xeb, 0xcc, 0x5f, 0x4d, 0x01, 0x1d, 0x5f, 0x39, 0xd0, 0x01, 0x18, 0xe4, 0x72,
+	0x19, 0xf3, 0x43, 0x17, 0xf3, 0x5c, 0x16, 0x48, 0xc7, 0x45, 0x17, 0x7a, 0x04, 0x28, 0x88, 0x3c,
+	0x67, 0x91, 0xe9, 0xc2, 0x51, 0x03, 0xb1, 0x2e, 0x89, 0x1a, 0x3c, 0xa2, 0x04, 0x93, 0x8d, 0x0d,
+	0x84, 0x41, 0x17, 0xd9, 0x01, 0x49, 0x49, 0x60, 0xee, 0xc9, 0x5a, 0x7c, 0x75, 0xab, 0x5a, 0xf4,
+	0x23, 0xaf, 0x2f, 0xc0, 0xe2, 0x0d, 0x32, 0x0b, 0x3d, 0x80, 0x3a, 0x1f, 0x9e, 0x73, 0x3f, 0x74,
+	0x03, 0x47, 0xa8, 0x92, 0x48, 0x4d, 0x6b, 0x78, 0xd7, 0xa7, 0xa7, 0xc2, 0x29, 0x84, 0x4b, 0xd0,
+	0x33, 0x30, 0xa6, 0x9c, 0x86, 0x11, 0x47, 0x5c, 0x09, 0xa6, 0x21, 0x0b, 0xb7, 0x7f, 0xad, 0x65,
+	0xce, 0xf2, 0xfb, 0x02, 0x43, 0x96, 0x2e, 0x1c, 0xe8, 0x08, 0x20, 0xe3, 0x97, 0xd8, 0xdd, 0x8d,
+	0x58, 0x5d, 0x66, 0x4b, 0xe8, 0x67, 0x00, 0x09, 0xbf, 0x20, 0x1d, 0xb2, 0x70, 0xfd, 0xc0, 0x6c,
+	0x64, 0x05, 0x16, 0x1e, 0x5b, 0x38, 0x0a, 0x8d, 0x08, 0xef, 0xd4, 0x88, 0x68, 0x08, 0xbb, 0x54,
+	0xf4, 0xa1, 0x33, 0x17, 0x8d, 0x48, 0xcd, 0xaa, 0xd4, 0xf2, 0xa3, 0x1b, 0xd1, 0xa9, 0xee, 0xc5,
+	0x06, 0x5d, 0xd9, 0x14, 0x39, 0x70, 0x8f, 0x88, 0x59, 0xc6, 0x6b, 0x30, 0x73, 0x8a, 0x22, 0xd0,
+	0x6e, 0xdd, 0x25, 0x77, 0x57, 0x44, 0x76, 0x41, 0x39, 0xaf, 0xa0, 0x9e, 0xaa, 0x8c, 0x6c, 0x9a,
+	0x99, 0xfa, 0xad, 0x99, 0x6b, 0x39, 0x83, 0x9c, 0x6d, 0x68, 0xc4, 0x5b, 0xd9, 0x9d, 0x10, 0xde,
+	0xca, 0x77, 0x24, 0xd5, 0xd3, 0xdb, 0x69, 0x4b, 0x42, 0xed, 0x90, 0xc5, 0x6f, 0xb1, 0xe2, 0xd9,
+	0x3f, 0x02, 0xa3, 0xe0, 0x46, 0x0d, 0xd8, 0x7a, 0x43, 0xde, 0xaa, 0xce, 0x16, 0xe6, 0xbf, 0x8f,
+	0xff, 0x6f, 0xca, 0x4f, 0x4b, 0xcd, 0xfb, 0x50, 0xc9, 0x3a, 0x17, 0x19, 0x50, 0xed, 0x76, 0x46,
+	0x67, 0xe7, 0xd8, 0xe6, 0xd7, 0x60, 0x15, 0xb6, 0xfa, 0xc3, 0xe7, 0x8d, 0x52, 0xf3, 0x11, 0x68,
+	0xb9, 0x9a, 0x91, 0x06, 0xdb, 0xbd, 0xc1, 0xe9, 0x90, 0x87, 0x79, 0xee, 0xf7, 0x1d, 0x3c, 0xe8,
+	0x0d, 0x78, 0x0a, 0xd2, 0x61, 0xc7, 0xc6, 0x78, 0x88, 0x1b, 0xe5, 0xe6, 0x9f, 0xdb, 0xa0, 0x9d,
+	0x64, 0xcf, 0x4d, 0xae, 0xcd, 0x17, 0x13, 0xaa, 0x5c, 0x85, 0x3f, 0x91, 0x29, 0x53, 0x8f, 0x91,
+	0x2f, 0xc5, 0xb7, 0x48, 0x12, 0xfa, 0x3f, 0x27, 0xfe, 0xdc, 0x27, 0xb1, 0xea, 0xef, 0x82, 0x47,
+	0x34, 0x78, 0xf1, 0x33, 0x60, 0x5b, 0x26, 0x14, 0x5d, 0xe8, 0x73, 0x30, 0x78, 0x7b, 0x71, 0x3d,
+	0xf3, 0x77, 0x49, 0xf3, 0xde, 0x02, 0x9f, 0xf6, 0x94, 0x07, 0x7d, 0x01, 0x35, 0x2e, 0xc4, 0x90,
+	0x39, 0x29, 0xbf, 0x9e, 0x04, 0x49, 0x76, 0xe7, 0xed, 0x4a, 0xe7, 0x45, 0xe6, 0x53, 0x2c, 0x33,
+	0x9f, 0x8a, 0x73, 0x9a, 0x71, 0x75, 0x2a, 0x96, 0x13, 0xe5, 0x29, 0x34, 0x82, 0xf6, 0x6e, 0x8d,
+	0xf0, 0x0a, 0xf6, 0xd6, 0x3f, 0x1b, 0xa9, 0xd2, 0xd5, 0xc3, 0x6b, 0x8c, 0x59, 0x5e, 0x2b, 0x7d,
+	0xa2, 0xc6, 0x63, 0x37, 0x03, 0xe0, 0x3a, 0x2d, 0x2e, 0x29, 0xfa, 0x11, 0x3e, 0xe4, 0x7f, 0x9d,
+	0x7f, 0xd2, 0xd6, 0x24, 0xed, 0xe3, 0xff, 0xa0, 0xb5, 0x2f, 0x19, 0xe1, 0xf7, 0xed, 0x6c, 0x9d,
+	0xfe, 0x0e, 0xff, 0x19, 0xaf, 0xef, 0x30, 0x58, 0x09, 0xd7, 0x90, 0xa4, 0x5f, 0x6f, 0x7e, 0xfb,
+	0x5c, 0x0c, 0xef, 0x59, 0xb6, 0xc7, 0x87, 0xf0, 0x80, 0x7f, 0x1c, 0x6f, 0xdc, 0xff, 0x58, 0x3f,
+	0xe1, 0xff, 0x4e, 0x8c, 0xc4, 0xec, 0x1b, 0x95, 0x26, 0x15, 0x39, 0x04, 0x0f, 0xff, 0x0e, 0x00,
+	0x00, 0xff, 0xff, 0xfa, 0x84, 0x16, 0x20, 0xa4, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/data.proto b/googleapis/devtools/clouddebugger/v2/data.proto
index d6fcbb53..aee8b3e5 100644
--- a/googleapis/devtools/clouddebugger/v2/data.proto
+++ b/googleapis/devtools/clouddebugger/v2/data.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.pb.go b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
index 34dab292..11efe9a2 100644
--- a/googleapis/devtools/clouddebugger/v2/debugger.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
@@ -126,9 +126,8 @@ type ListBreakpointsRequest struct {
 	IncludeInactive bool `protobuf:"varint,3,opt,name=include_inactive,json=includeInactive" json:"include_inactive,omitempty"`
 	// When set, the response includes only breakpoints with the specified action.
 	Action *ListBreakpointsRequest_BreakpointActionValue `protobuf:"bytes,4,opt,name=action" json:"action,omitempty"`
-	// When set to `true`, the response breakpoints are stripped of the
-	// results fields: `stack_frames`, `evaluated_expressions` and
-	// `variable_table`.
+	// This field is deprecated. The following fields are always stripped out of
+	// the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
 	StripResults bool `protobuf:"varint,5,opt,name=strip_results,json=stripResults" json:"strip_results,omitempty"`
 	// A wait token that, if specified, blocks the call until the breakpoints
 	// list has changed, or a server selected timeout has expired.  The value
@@ -173,8 +172,10 @@ func (*ListBreakpointsRequest_BreakpointActionValue) Descriptor() ([]byte, []int
 
 // Response for listing breakpoints.
 type ListBreakpointsResponse struct {
-	// List of all breakpoints with complete state.
+	// List of breakpoints matching the request.
 	// The fields `id` and `location` are guaranteed to be set on each breakpoint.
+	// The fields: `stack_frames`, `evaluated_expressions` and `variable_table`
+	// are cleared on each breakpoint regardless of it's status.
 	Breakpoints []*Breakpoint `protobuf:"bytes,1,rep,name=breakpoints" json:"breakpoints,omitempty"`
 	// A wait token that can be used in the next call to `list` (REST) or
 	// `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.
@@ -464,54 +465,55 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 781 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x55, 0xdd, 0x6a, 0x13, 0x4f,
-	0x1c, 0x65, 0xda, 0x7f, 0x3f, 0xf2, 0x4b, 0xd3, 0xf6, 0x3f, 0xf4, 0x63, 0x09, 0xa8, 0x61, 0xfd,
-	0xa0, 0x16, 0xd9, 0x91, 0xad, 0xd8, 0xd6, 0x2b, 0x1b, 0x2a, 0x69, 0xa4, 0x94, 0x12, 0xb5, 0x5e,
-	0x86, 0xcd, 0x66, 0xba, 0x8e, 0xdd, 0xee, 0xac, 0x3b, 0xb3, 0xd1, 0x52, 0x7a, 0x53, 0xc1, 0x7b,
-	0xf1, 0x05, 0x7c, 0x00, 0xc1, 0x27, 0x10, 0xbc, 0x13, 0xbc, 0xf5, 0x15, 0x7c, 0x10, 0xd9, 0xaf,
-	0x66, 0x13, 0x17, 0x93, 0x4d, 0xa1, 0x37, 0x61, 0x73, 0x66, 0x7e, 0x67, 0xce, 0x39, 0xf3, 0x9b,
-	0x19, 0xd8, 0xb3, 0x38, 0xb7, 0x6c, 0xaa, 0x59, 0xdc, 0x36, 0x1c, 0x4b, 0xe3, 0x9e, 0x45, 0x2c,
-	0xea, 0xb8, 0x1e, 0x97, 0x9c, 0x44, 0x43, 0x86, 0xcb, 0x04, 0x69, 0xd3, 0x8e, 0xe4, 0xdc, 0x16,
-	0xc4, 0xb4, 0xb9, 0xdf, 0x6e, 0xd3, 0x96, 0x6f, 0x59, 0xd4, 0x23, 0x1d, 0x9d, 0x24, 0xdf, 0x5a,
-	0x58, 0x83, 0x2b, 0x31, 0x5f, 0x52, 0xa0, 0xf5, 0x14, 0x68, 0x1d, 0xbd, 0x5c, 0x1f, 0x6e, 0x45,
-	0xc3, 0x65, 0x44, 0x50, 0xaf, 0xc3, 0x4c, 0x6a, 0x72, 0xe7, 0x90, 0x59, 0xc4, 0x70, 0x1c, 0x2e,
-	0x0d, 0xc9, 0xb8, 0x23, 0xa2, 0xc5, 0xca, 0x4f, 0x2f, 0x2d, 0xde, 0x90, 0x46, 0xcc, 0xb5, 0x66,
-	0x31, 0xf9, 0xca, 0x6f, 0x69, 0x26, 0x3f, 0x26, 0x11, 0x1f, 0x09, 0x07, 0x5a, 0xfe, 0x21, 0x71,
-	0xe5, 0x89, 0x4b, 0x05, 0xa1, 0xc7, 0xae, 0x3c, 0x89, 0x7e, 0xa3, 0x22, 0xf5, 0x0b, 0x82, 0x85,
-	0x67, 0x54, 0x56, 0x3d, 0x6a, 0x1c, 0xb9, 0x9c, 0x39, 0xb2, 0x41, 0xdf, 0xf8, 0x54, 0x48, 0x7c,
-	0x03, 0x8a, 0xf1, 0x3a, 0xb4, 0xc9, 0xda, 0x0a, 0xaa, 0xa0, 0x95, 0x42, 0x03, 0x12, 0xa8, 0xde,
-	0xc6, 0xbb, 0x00, 0xad, 0x8b, 0x2a, 0x65, 0xac, 0x82, 0x56, 0x8a, 0xfa, 0x3d, 0x6d, 0x50, 0x78,
-	0x5a, 0x6a, 0xa5, 0x54, 0x3d, 0xbe, 0x0d, 0xb3, 0xa6, 0xcd, 0xa8, 0x23, 0x9b, 0x1d, 0xea, 0x09,
-	0xc6, 0x1d, 0xe5, 0xbf, 0x70, 0xc5, 0x52, 0x84, 0x1e, 0x44, 0xa0, 0x4a, 0x61, 0xb1, 0x4f, 0xad,
-	0x70, 0xb9, 0x23, 0x68, 0x9f, 0x1a, 0x74, 0x39, 0x35, 0xea, 0x7b, 0x04, 0x0b, 0xb5, 0x91, 0x52,
-	0xb9, 0x09, 0xa5, 0x2e, 0x4f, 0x30, 0x65, 0x2c, 0x9c, 0x32, 0xd3, 0x05, 0xeb, 0xed, 0x1c, 0x66,
-	0x6b, 0x57, 0x60, 0xf6, 0x03, 0x82, 0xe5, 0x6d, 0x6a, 0x53, 0x49, 0xaf, 0xce, 0xef, 0x78, 0x96,
-	0xdf, 0x1f, 0xe3, 0xb0, 0xb4, 0xcb, 0x44, 0xca, 0xb1, 0x18, 0x5a, 0xc7, 0x2a, 0xfc, 0xcf, 0x1c,
-	0xd3, 0xf6, 0xdb, 0xb4, 0x69, 0xd8, 0x76, 0xd3, 0x17, 0xd4, 0x13, 0xa1, 0x96, 0xe9, 0xc6, 0x5c,
-	0x3c, 0xb0, 0x65, 0xdb, 0x2f, 0x02, 0x18, 0xdf, 0x85, 0xf9, 0x64, 0x2e, 0x73, 0x0c, 0x53, 0xb2,
-	0x0e, 0x0d, 0x05, 0x75, 0xa7, 0xd6, 0x63, 0x18, 0x1f, 0xc2, 0x64, 0xf0, 0x15, 0xef, 0x50, 0x51,
-	0xdf, 0x1b, 0x9c, 0x72, 0xb6, 0x83, 0x54, 0xf8, 0x5b, 0x21, 0xe1, 0x81, 0x61, 0xfb, 0xb4, 0x11,
-	0xb3, 0x07, 0x31, 0x0a, 0xe9, 0x31, 0xb7, 0xe9, 0x51, 0xe1, 0xdb, 0x52, 0x28, 0x13, 0xa1, 0x9e,
-	0x99, 0x10, 0x6c, 0x44, 0x18, 0xbe, 0x06, 0xf0, 0xd6, 0x60, 0xb2, 0x29, 0xf9, 0x11, 0x75, 0x94,
-	0xc9, 0x30, 0x83, 0x42, 0x80, 0x3c, 0x0f, 0x80, 0x8c, 0x94, 0xa7, 0x33, 0x52, 0x2e, 0xb7, 0x60,
-	0x31, 0x53, 0x0b, 0xae, 0xc3, 0x44, 0x27, 0xf8, 0x08, 0xd3, 0x9d, 0xd5, 0xd7, 0xf2, 0x34, 0x94,
-	0x16, 0x11, 0x35, 0x22, 0x06, 0xf5, 0x23, 0x82, 0xe5, 0xbf, 0x72, 0x88, 0x9b, 0x77, 0x0f, 0x8a,
-	0xdd, 0xe6, 0x10, 0x0a, 0xaa, 0x8c, 0xe7, 0xee, 0xde, 0x34, 0x01, 0xbe, 0x03, 0x73, 0x0e, 0x7d,
-	0x27, 0x9b, 0xa9, 0x68, 0xa2, 0x1e, 0x2c, 0x05, 0xf0, 0xcb, 0x24, 0x1e, 0xf5, 0x1c, 0xc1, 0x42,
-	0xa0, 0x69, 0x3b, 0x6e, 0x9a, 0x8b, 0xde, 0x52, 0x60, 0xca, 0xf5, 0xf8, 0x6b, 0x6a, 0xca, 0xb8,
-	0x30, 0xf9, 0x9b, 0xa7, 0x51, 0x86, 0x3c, 0xd2, 0x06, 0x2c, 0xf6, 0x69, 0x88, 0x53, 0xd9, 0x81,
-	0x42, 0xd2, 0xcd, 0x49, 0x26, 0xab, 0x83, 0x33, 0x49, 0x78, 0x1a, 0xdd, 0x62, 0xfd, 0xdb, 0x14,
-	0x14, 0x62, 0xdc, 0xd3, 0xf1, 0x4f, 0x04, 0xa5, 0x9e, 0x1b, 0x13, 0x3f, 0x1c, 0x4c, 0x9b, 0xf5,
-	0x20, 0x94, 0xd7, 0x73, 0xd7, 0x45, 0xd6, 0xd4, 0x9d, 0xf3, 0x5f, 0xbf, 0x3f, 0x8d, 0x55, 0xd5,
-	0x07, 0xe9, 0xc7, 0x96, 0x5c, 0x08, 0x26, 0xa7, 0xa9, 0x93, 0x7d, 0x46, 0x52, 0x5b, 0x4b, 0x04,
-	0x95, 0x8f, 0xd2, 0x8f, 0x44, 0x60, 0xa6, 0x96, 0xd7, 0x4c, 0x6d, 0x44, 0x33, 0xb5, 0x7f, 0x99,
-	0xc1, 0x8f, 0x73, 0x9b, 0x39, 0xed, 0xb9, 0x27, 0xcf, 0xf0, 0x57, 0x04, 0xf3, 0xfd, 0xd7, 0x2e,
-	0xde, 0x1c, 0x66, 0xcf, 0x33, 0xaf, 0xea, 0xf2, 0x52, 0x52, 0x9a, 0x3c, 0xfa, 0xda, 0x93, 0xe0,
-	0x9d, 0x4f, 0x14, 0xaf, 0x5e, 0x5e, 0xf1, 0x77, 0x04, 0x73, 0x7d, 0xa7, 0x1a, 0x6f, 0x8c, 0x7a,
-	0x21, 0x96, 0x37, 0x47, 0xa8, 0x8c, 0x37, 0x61, 0x23, 0xb4, 0xa4, 0xe3, 0xfb, 0x79, 0x2d, 0xe1,
-	0xcf, 0x08, 0x4a, 0x3d, 0x07, 0x70, 0x98, 0x0e, 0xca, 0xba, 0x35, 0x86, 0xe9, 0xa0, 0xcc, 0x93,
-	0xae, 0x5e, 0x0f, 0xc5, 0x2b, 0x78, 0x29, 0x5b, 0x7c, 0x75, 0x1d, 0x6e, 0x99, 0xfc, 0x78, 0x20,
-	0x7b, 0xb5, 0x94, 0x1c, 0xf2, 0xfd, 0x60, 0xbf, 0xf7, 0x51, 0x6b, 0x32, 0xdc, 0xf8, 0xb5, 0x3f,
-	0x01, 0x00, 0x00, 0xff, 0xff, 0xb0, 0x05, 0x32, 0xe5, 0x11, 0x0b, 0x00, 0x00,
+	// 787 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x56, 0xdb, 0x6e, 0xd3, 0x4a,
+	0x14, 0x95, 0xd3, 0xd3, 0x4b, 0x76, 0x9a, 0xb6, 0x67, 0x74, 0xda, 0x63, 0x45, 0x02, 0x2a, 0x73,
+	0xaf, 0x90, 0x07, 0xb9, 0x88, 0xb6, 0x3c, 0xd1, 0xa8, 0x28, 0x0d, 0xaa, 0xaa, 0xca, 0x40, 0x79,
+	0x8c, 0x1c, 0x67, 0x6a, 0x86, 0xba, 0x9e, 0xe0, 0x19, 0x07, 0x50, 0xd5, 0x97, 0x22, 0xf1, 0x8e,
+	0xf8, 0x01, 0x3e, 0x00, 0x89, 0x2f, 0x40, 0xe2, 0x19, 0x1e, 0xf9, 0x05, 0x3e, 0x84, 0xf1, 0xad,
+	0x71, 0x82, 0x45, 0x2e, 0x95, 0xfa, 0x62, 0x4d, 0xf6, 0xcc, 0xde, 0xb3, 0xd6, 0x9a, 0xb5, 0x67,
+	0x02, 0xbb, 0x0e, 0x63, 0x8e, 0x4b, 0x74, 0x87, 0xb9, 0x96, 0xe7, 0xe8, 0xcc, 0x77, 0xb0, 0x43,
+	0xbc, 0xb6, 0xcf, 0x04, 0xc3, 0xf1, 0x94, 0xd5, 0xa6, 0x1c, 0xb7, 0x48, 0x47, 0x30, 0xe6, 0x72,
+	0x6c, 0xbb, 0x2c, 0x68, 0xb5, 0x48, 0x33, 0x70, 0x1c, 0xe2, 0xe3, 0x8e, 0x81, 0xd3, 0xb1, 0x1e,
+	0xe5, 0xa0, 0xe5, 0xa4, 0x5e, 0x9a, 0xa0, 0xf7, 0x24, 0xe8, 0x1d, 0xa3, 0x52, 0x1f, 0x6e, 0x47,
+	0xf9, 0xc1, 0x9c, 0xf8, 0x1d, 0x6a, 0x13, 0x9b, 0x79, 0x07, 0xd4, 0xc1, 0x96, 0xe7, 0x31, 0x61,
+	0x09, 0xca, 0x3c, 0x1e, 0x6f, 0x56, 0x79, 0x7c, 0x6e, 0xf0, 0x96, 0xb0, 0x92, 0x5a, 0xab, 0x0e,
+	0x15, 0x2f, 0x82, 0xa6, 0x6e, 0xb3, 0x23, 0x1c, 0xd7, 0xc3, 0xd1, 0x44, 0x33, 0x38, 0xc0, 0x6d,
+	0xf1, 0xb6, 0x4d, 0x38, 0x26, 0x47, 0x72, 0x10, 0x7f, 0xe3, 0x24, 0xed, 0xb3, 0x02, 0xff, 0x3d,
+	0x21, 0xa2, 0xea, 0x13, 0xeb, 0xb0, 0xcd, 0xa8, 0x27, 0x4c, 0xf2, 0x2a, 0x20, 0x5c, 0xa0, 0x2b,
+	0x50, 0x4a, 0xf6, 0x21, 0x0d, 0xda, 0x52, 0x95, 0x65, 0xe5, 0x56, 0xd1, 0x84, 0x34, 0x54, 0x6f,
+	0xa1, 0x1d, 0x80, 0xe6, 0x59, 0x96, 0x5a, 0x90, 0xf3, 0x25, 0xe3, 0x8e, 0x3e, 0x48, 0x3c, 0x3d,
+	0xb3, 0x53, 0x26, 0x1f, 0x5d, 0x87, 0x39, 0xdb, 0xa5, 0xc4, 0x13, 0x8d, 0x0e, 0xf1, 0xb9, 0x54,
+	0x48, 0xfd, 0x27, 0xda, 0xb1, 0x1c, 0x47, 0xf7, 0xe3, 0xa0, 0x46, 0x60, 0xb1, 0x0f, 0x2d, 0x6f,
+	0x4b, 0x35, 0x49, 0x1f, 0x1a, 0xe5, 0x7c, 0x68, 0xb4, 0x77, 0x52, 0x95, 0xda, 0x58, 0xaa, 0x5c,
+	0x85, 0x72, 0xb7, 0x4e, 0xb8, 0xa4, 0x10, 0x2d, 0x99, 0xed, 0x06, 0xe5, 0xa2, 0xe1, 0xc9, 0xd6,
+	0x2e, 0x80, 0xec, 0x7b, 0x05, 0xfe, 0xdf, 0x22, 0x2e, 0x11, 0xe4, 0xe2, 0xf8, 0x4e, 0xe4, 0xf1,
+	0xfd, 0x31, 0x01, 0x4b, 0x3b, 0x94, 0x67, 0x18, 0xf3, 0xa1, 0x71, 0xac, 0xc0, 0xbf, 0xd4, 0xb3,
+	0xdd, 0xa0, 0x45, 0x1a, 0x96, 0xeb, 0x36, 0x02, 0xd9, 0x78, 0x3c, 0xc2, 0x32, 0x63, 0xce, 0x27,
+	0x13, 0x9b, 0xae, 0xfb, 0x2c, 0x0c, 0xa3, 0xdb, 0xb0, 0x90, 0xae, 0xa5, 0x9e, 0x65, 0x0b, 0xda,
+	0x21, 0x11, 0xa0, 0xee, 0xd2, 0x7a, 0x12, 0x46, 0x07, 0x30, 0x15, 0x8e, 0x92, 0x13, 0x2a, 0x19,
+	0xbb, 0x83, 0x55, 0xce, 0x67, 0x90, 0x11, 0x7f, 0x33, 0x2a, 0xb8, 0x6f, 0xb9, 0x01, 0x31, 0x93,
+	0xea, 0xe8, 0x26, 0x94, 0xb9, 0xf0, 0x69, 0xbb, 0xe1, 0x13, 0x1e, 0xb8, 0x82, 0xab, 0x93, 0x21,
+	0x9e, 0x6a, 0x41, 0x55, 0xcc, 0xd9, 0x68, 0xc2, 0x8c, 0xe3, 0xe8, 0x12, 0xc0, 0x6b, 0x8b, 0x8a,
+	0x86, 0x60, 0x87, 0xc4, 0x53, 0xa7, 0x22, 0x1d, 0x8a, 0x61, 0xe4, 0x69, 0x18, 0xc8, 0x51, 0x7a,
+	0x26, 0x47, 0xe9, 0x4a, 0x13, 0x16, 0x73, 0xf1, 0xa0, 0x3a, 0x4c, 0x76, 0xc2, 0x41, 0xa4, 0xf0,
+	0x9c, 0xb1, 0x3a, 0x8a, 0xa9, 0xf4, 0xb8, 0x90, 0x19, 0x57, 0xd0, 0x3e, 0x48, 0x5b, 0xfd, 0xa1,
+	0x45, 0x62, 0xe0, 0x5d, 0x28, 0x75, 0x0d, 0xc2, 0xe5, 0x66, 0x13, 0x23, 0x3b, 0x38, 0x5b, 0x00,
+	0xdd, 0x80, 0x79, 0x8f, 0xbc, 0x11, 0x8d, 0x8c, 0x34, 0xb1, 0x0f, 0xcb, 0x61, 0xf8, 0x79, 0x2a,
+	0x8f, 0x76, 0x2a, 0xfb, 0x3a, 0xc4, 0xb4, 0x95, 0x18, 0xe7, 0xcc, 0x5f, 0x2a, 0x4c, 0xcb, 0xfb,
+	0xf0, 0x25, 0xb1, 0x45, 0x92, 0x98, 0xfe, 0x1c, 0xc5, 0x2c, 0x43, 0xb6, 0xb5, 0x05, 0x8b, 0x7d,
+	0x18, 0x12, 0x55, 0xb6, 0xa1, 0x98, 0x3a, 0x3a, 0xd5, 0x64, 0x65, 0xb0, 0x26, 0x69, 0x1d, 0xb3,
+	0x9b, 0x6c, 0x7c, 0x9d, 0x86, 0x62, 0x12, 0xf7, 0x0d, 0xf4, 0x5d, 0x81, 0x72, 0xcf, 0xad, 0x89,
+	0xee, 0x0f, 0x2e, 0x9b, 0xf7, 0x28, 0x54, 0xd6, 0x46, 0xce, 0x8b, 0xa9, 0x69, 0xdb, 0xa7, 0x3f,
+	0x7f, 0x7d, 0x2c, 0x54, 0xb5, 0x7b, 0xd9, 0x07, 0x17, 0x9f, 0x01, 0xc6, 0xc7, 0x99, 0xee, 0x3e,
+	0xc1, 0x99, 0xa3, 0x95, 0x2f, 0xa8, 0x78, 0x90, 0x7d, 0x28, 0x42, 0x32, 0xb5, 0x51, 0xc9, 0xd4,
+	0xc6, 0x24, 0x53, 0xfb, 0x1b, 0x19, 0xf4, 0x70, 0x64, 0x32, 0xc7, 0x3d, 0x77, 0xe5, 0x09, 0xfa,
+	0xa2, 0xc0, 0x42, 0xff, 0xd5, 0x8b, 0x36, 0x86, 0x39, 0xf3, 0xdc, 0xeb, 0xba, 0xb2, 0x94, 0xa6,
+	0xa6, 0x0f, 0xbf, 0xfe, 0x28, 0x7c, 0xeb, 0x53, 0xc4, 0x2b, 0xe7, 0x47, 0xfc, 0x4d, 0x81, 0xf9,
+	0xbe, 0xae, 0x46, 0xeb, 0xe3, 0x5e, 0x8a, 0x95, 0x8d, 0x31, 0x32, 0x93, 0x43, 0x58, 0x8f, 0x28,
+	0x19, 0xe8, 0xee, 0xa8, 0x94, 0xd0, 0x27, 0xe9, 0xa0, 0x9e, 0x06, 0x1c, 0xc6, 0x41, 0x79, 0xb7,
+	0xc6, 0x30, 0x0e, 0xca, 0xed, 0x74, 0xed, 0x72, 0x04, 0x5e, 0x45, 0x4b, 0xf9, 0xe0, 0xab, 0x6b,
+	0x70, 0x4d, 0xfe, 0x8b, 0x1b, 0x58, 0xbd, 0x5a, 0x4e, 0x9b, 0x7c, 0x2f, 0x3c, 0xef, 0x3d, 0xa5,
+	0x39, 0x15, 0x1d, 0xfc, 0xea, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x18, 0xd5, 0x6a, 0x43, 0x15,
+	0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.proto b/googleapis/devtools/clouddebugger/v2/debugger.proto
index d5af260a..fdbe0aaa 100644
--- a/googleapis/devtools/clouddebugger/v2/debugger.proto
+++ b/googleapis/devtools/clouddebugger/v2/debugger.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -141,10 +141,9 @@ message ListBreakpointsRequest {
   // When set, the response includes only breakpoints with the specified action.
   BreakpointActionValue action = 4;
 
-  // When set to `true`, the response breakpoints are stripped of the
-  // results fields: `stack_frames`, `evaluated_expressions` and
-  // `variable_table`.
-  bool strip_results = 5;
+  // This field is deprecated. The following fields are always stripped out of
+  // the result: `stack_frames`, `evaluated_expressions` and `variable_table`.
+  bool strip_results = 5 [deprecated = true];
 
   // A wait token that, if specified, blocks the call until the breakpoints
   // list has changed, or a server selected timeout has expired.  The value
@@ -160,8 +159,10 @@ message ListBreakpointsRequest {
 
 // Response for listing breakpoints.
 message ListBreakpointsResponse {
-  // List of all breakpoints with complete state.
+  // List of breakpoints matching the request.
   // The fields `id` and `location` are guaranteed to be set on each breakpoint.
+  // The fields: `stack_frames`, `evaluated_expressions` and `variable_table`
+  // are cleared on each breakpoint regardless of it's status.
   repeated Breakpoint breakpoints = 1;
 
   // A wait token that can be used in the next call to `list` (REST) or
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
index fe8637d9..7fc4dcfd 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
@@ -260,46 +260,46 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 651 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0x13, 0x31,
-	0x10, 0x56, 0x9a, 0xfe, 0x65, 0xd2, 0xa6, 0xc8, 0x42, 0x68, 0x09, 0x42, 0x94, 0xe5, 0x52, 0x09,
-	0x69, 0x97, 0x96, 0x53, 0xe9, 0x01, 0x68, 0xa9, 0x20, 0x12, 0xaa, 0xaa, 0x4d, 0x25, 0x8e, 0x2b,
-	0x67, 0x77, 0xb2, 0xb1, 0xd8, 0xb5, 0x8d, 0xed, 0x8d, 0xe0, 0x5d, 0x38, 0xf0, 0x38, 0x3c, 0x0c,
-	0x0f, 0x81, 0xec, 0xb5, 0xfb, 0xa3, 0x72, 0x20, 0x37, 0x7f, 0xf3, 0xf3, 0xcd, 0x37, 0xe3, 0xb1,
-	0xe1, 0x4b, 0x25, 0x44, 0x55, 0x63, 0x52, 0x89, 0x9a, 0xf2, 0x2a, 0x11, 0xaa, 0x4a, 0x2b, 0xe4,
-	0x52, 0x09, 0x23, 0xd2, 0xce, 0x45, 0x25, 0xd3, 0x69, 0x89, 0x4b, 0x23, 0x44, 0xad, 0xd3, 0xa2,
-	0x16, 0x6d, 0x89, 0x4a, 0x09, 0xa5, 0x50, 0x0a, 0x65, 0x18, 0xaf, 0xd2, 0xe5, 0xe1, 0x0c, 0x0d,
-	0x3d, 0x4c, 0x0b, 0xd1, 0x34, 0x82, 0x27, 0x2e, 0x99, 0xbc, 0xf4, 0xc4, 0x21, 0x33, 0xf9, 0x47,
-	0x66, 0xe2, 0x33, 0xc7, 0x93, 0xff, 0x53, 0x41, 0x25, 0x4b, 0x35, 0xaa, 0x25, 0x2b, 0xb0, 0x10,
-	0x7c, 0xce, 0xaa, 0x94, 0x72, 0x2e, 0x0c, 0x35, 0x4c, 0x70, 0xdd, 0xd5, 0x1d, 0x9f, 0x54, 0xcc,
-	0x2c, 0xda, 0x59, 0x52, 0x88, 0x26, 0xed, 0xe8, 0x52, 0xe7, 0x98, 0xb5, 0xf3, 0x54, 0x9a, 0x1f,
-	0x12, 0x75, 0x6a, 0x58, 0x83, 0xda, 0xd0, 0x46, 0xde, 0x9c, 0xba, 0xe4, 0xf8, 0x57, 0x0f, 0xe0,
-	0xdc, 0x4a, 0xfc, 0xa8, 0x44, 0x2b, 0x09, 0x81, 0x75, 0x4e, 0x1b, 0x8c, 0x7a, 0xfb, 0xbd, 0x83,
-	0x41, 0xe6, 0xce, 0xe4, 0x31, 0x6c, 0x57, 0xd6, 0x99, 0xb3, 0x32, 0x5a, 0x73, 0xf6, 0x2d, 0x87,
-	0x27, 0x25, 0x29, 0x60, 0xcf, 0x28, 0x5a, 0x7c, 0x65, 0xbc, 0xca, 0x99, 0xd6, 0x2d, 0xea, 0xa8,
-	0xbf, 0xdf, 0x3f, 0x18, 0x1e, 0xbd, 0x49, 0x56, 0x18, 0x46, 0x72, 0xe5, 0x39, 0x26, 0x96, 0x22,
-	0x1b, 0x99, 0xdb, 0x50, 0xc7, 0xcf, 0x61, 0xf7, 0x4e, 0x00, 0x79, 0x00, 0xfd, 0x56, 0xd5, 0x5e,
-	0xa3, 0x3d, 0xc6, 0x3f, 0xd7, 0x7c, 0x17, 0xe7, 0x4b, 0xe4, 0x86, 0x1c, 0x03, 0xa0, 0x3d, 0xe4,
-	0xb6, 0x5b, 0x17, 0x37, 0x3c, 0x1a, 0x07, 0x45, 0x61, 0x36, 0xc9, 0x55, 0x18, 0x45, 0x36, 0x70,
-	0xd1, 0x16, 0x93, 0x12, 0xf6, 0xfc, 0xbc, 0xf3, 0x42, 0x70, 0x83, 0xdf, 0x8d, 0xeb, 0x79, 0x78,
-	0x74, 0xb2, 0x52, 0x47, 0xd3, 0x8e, 0xe3, 0xac, 0xa3, 0xc8, 0x46, 0xfa, 0x0e, 0x26, 0x11, 0x6c,
-	0x35, 0xa8, 0x35, 0xad, 0x30, 0xea, 0x77, 0x13, 0xf5, 0x90, 0x4c, 0x61, 0x2b, 0xd4, 0xdd, 0x70,
-	0x75, 0x8f, 0x57, 0xaa, 0xeb, 0x86, 0x10, 0xaa, 0x06, 0xa6, 0xf8, 0x03, 0x8c, 0xa6, 0xf7, 0x04,
-	0x78, 0x49, 0xe1, 0x4a, 0x3d, 0xb4, 0x9e, 0x25, 0x2a, 0xcd, 0x04, 0x0f, 0xd2, 0x3c, 0x8c, 0xff,
-	0xf4, 0x60, 0xe7, 0x36, 0x3f, 0x99, 0xc1, 0xce, 0xc2, 0x18, 0x99, 0x2b, 0xfc, 0xd6, 0xa2, 0x36,
-	0x7e, 0xd0, 0x6f, 0x57, 0x12, 0xfc, 0xc9, 0x18, 0x99, 0x75, 0xf9, 0x41, 0xf6, 0x70, 0x71, 0x63,
-	0xb3, 0x0b, 0xd9, 0x6a, 0x54, 0x5e, 0xa5, 0x3b, 0xdb, 0x3b, 0xea, 0x88, 0xf2, 0x5a, 0x14, 0xee,
-	0x29, 0x38, 0xa9, 0x2b, 0xdf, 0x91, 0x68, 0x55, 0x81, 0x9f, 0x3d, 0x45, 0x36, 0xea, 0x22, 0x02,
-	0x8e, 0x7f, 0xf7, 0x80, 0xdc, 0x57, 0x47, 0x1e, 0xc1, 0x66, 0x83, 0x66, 0x21, 0x4a, 0xbf, 0x7f,
-	0x1e, 0x85, 0xa5, 0x5c, 0xbb, 0x5e, 0x4a, 0xf2, 0x14, 0xc0, 0xca, 0xcd, 0x69, 0x85, 0xdc, 0xf8,
-	0x61, 0x0e, 0xac, 0xe5, 0xbd, 0x35, 0x90, 0x31, 0x6c, 0x2b, 0x9c, 0xa3, 0x52, 0xa8, 0xa2, 0x75,
-	0xe7, 0xbc, 0xc6, 0xe4, 0x15, 0x3c, 0x54, 0xa8, 0xa5, 0xe0, 0x1a, 0x73, 0x6d, 0xa8, 0x69, 0x75,
-	0x5e, 0x88, 0x12, 0xdd, 0x4a, 0x6c, 0x64, 0x24, 0xf8, 0xa6, 0xce, 0x75, 0x26, 0x4a, 0x24, 0x4f,
-	0x60, 0xa0, 0xb0, 0x11, 0x06, 0x73, 0x26, 0xa3, 0xcd, 0x40, 0x67, 0x0d, 0x13, 0x19, 0x6b, 0x18,
-	0xdd, 0x6d, 0xd6, 0x86, 0xcf, 0x59, 0x8d, 0xb9, 0xa4, 0x66, 0xe1, 0x1b, 0xd9, 0xb6, 0x86, 0x4b,
-	0x6a, 0x16, 0xe4, 0x19, 0x0c, 0x6b, 0xc6, 0x31, 0xe7, 0x6d, 0x33, 0xf3, 0xa3, 0xdf, 0xc8, 0xc0,
-	0x9a, 0x2e, 0x9c, 0x85, 0xbc, 0x80, 0xdd, 0x79, 0xcb, 0x0b, 0xcb, 0x94, 0xbb, 0xef, 0xa2, 0xd3,
-	0xbf, 0x13, 0x8c, 0x17, 0xb4, 0xc1, 0xd3, 0x77, 0x60, 0xbf, 0xc7, 0x55, 0x6e, 0xe4, 0x74, 0x78,
-	0xe6, 0xfe, 0xd3, 0x4b, 0xfb, 0x42, 0x2f, 0x7b, 0xb3, 0x4d, 0xf7, 0x54, 0x5f, 0xff, 0x0d, 0x00,
-	0x00, 0xff, 0xff, 0xa2, 0xb2, 0x2c, 0x2b, 0xb2, 0x05, 0x00, 0x00,
+	// 654 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd4, 0x30,
+	0x10, 0xd6, 0xf6, 0x7f, 0x67, 0xdb, 0x2d, 0xb2, 0x10, 0x5a, 0x16, 0x21, 0x4a, 0xb8, 0x54, 0x42,
+	0x4a, 0x68, 0x39, 0x95, 0x1e, 0x80, 0x96, 0x0a, 0x56, 0x42, 0x55, 0x95, 0xad, 0xc4, 0x31, 0xca,
+	0x26, 0xb3, 0xd9, 0x88, 0xc4, 0x36, 0xb6, 0xb3, 0x82, 0x77, 0xe1, 0xc0, 0xe3, 0xf0, 0x30, 0x3c,
+	0x04, 0xb6, 0x63, 0xb7, 0x5d, 0x95, 0x03, 0xb9, 0x44, 0x9e, 0x19, 0xcf, 0x37, 0xdf, 0x7c, 0x33,
+	0x0e, 0x7c, 0x29, 0x18, 0x2b, 0x2a, 0x0c, 0x0b, 0x56, 0xa5, 0xb4, 0x08, 0x99, 0x28, 0xa2, 0x02,
+	0x29, 0x17, 0x4c, 0xb1, 0xa8, 0x0d, 0xa5, 0xbc, 0x94, 0x51, 0x8e, 0x4b, 0xc5, 0x58, 0x25, 0xa3,
+	0xac, 0x62, 0x4d, 0x8e, 0x42, 0x30, 0x21, 0x90, 0x33, 0xa1, 0x4a, 0x5a, 0x44, 0xcb, 0xa3, 0x19,
+	0xaa, 0xf4, 0x28, 0xca, 0x58, 0x5d, 0x33, 0x1a, 0xda, 0x64, 0xf2, 0xd2, 0x01, 0xfb, 0xcc, 0xf0,
+	0x1f, 0x99, 0xa1, 0xcb, 0x1c, 0x4f, 0xfe, 0x8f, 0x85, 0xfe, 0x44, 0x12, 0xc5, 0xb2, 0xcc, 0x30,
+	0x63, 0x74, 0x5e, 0x16, 0x51, 0x4a, 0x29, 0x53, 0xa9, 0x2a, 0x19, 0x95, 0x6d, 0xdd, 0xf1, 0x69,
+	0x51, 0xaa, 0x45, 0x33, 0x0b, 0x35, 0x99, 0xa8, 0x85, 0x8b, 0x6c, 0x60, 0xd6, 0xcc, 0x23, 0xae,
+	0x7e, 0x70, 0x94, 0x91, 0x2a, 0x6b, 0x94, 0x2a, 0xad, 0xf9, 0xed, 0xa9, 0x4d, 0x0e, 0x7e, 0xf5,
+	0x00, 0x2e, 0x0c, 0xc5, 0x8f, 0x82, 0x35, 0x9c, 0x10, 0xd8, 0xa0, 0x69, 0x8d, 0xa3, 0xde, 0x41,
+	0xef, 0xb0, 0x1f, 0xdb, 0x33, 0x79, 0x0c, 0x3b, 0x85, 0x09, 0x26, 0x65, 0x3e, 0x5a, 0xb3, 0xfe,
+	0x6d, 0x6b, 0x4f, 0x72, 0x92, 0xc1, 0xbe, 0x12, 0x69, 0xf6, 0x55, 0x77, 0x96, 0x94, 0x52, 0x36,
+	0x28, 0x47, 0xeb, 0x07, 0xeb, 0x87, 0x83, 0xe3, 0x37, 0x61, 0x07, 0x31, 0xc2, 0x6b, 0x87, 0x31,
+	0x31, 0x10, 0xf1, 0x50, 0xdd, 0x35, 0x65, 0xf0, 0x1c, 0xf6, 0x56, 0x2e, 0x90, 0x07, 0xb0, 0xde,
+	0x88, 0xca, 0x71, 0x34, 0xc7, 0xe0, 0xe7, 0x9a, 0xeb, 0xe2, 0x62, 0x89, 0x54, 0x91, 0x13, 0x00,
+	0x34, 0x87, 0xc4, 0x74, 0x6b, 0xef, 0x0d, 0x8e, 0xc7, 0x9e, 0x91, 0xd7, 0x26, 0xbc, 0xf6, 0x52,
+	0xc4, 0x7d, 0x7b, 0xdb, 0xd8, 0x24, 0x87, 0x7d, 0xa7, 0x77, 0xa2, 0x05, 0x57, 0xf8, 0x5d, 0xd9,
+	0x9e, 0x07, 0xc7, 0xa7, 0x9d, 0x3a, 0x9a, 0xb6, 0x18, 0xe7, 0x2d, 0x44, 0x3c, 0x94, 0x2b, 0x36,
+	0x19, 0xc1, 0xb6, 0xae, 0x2d, 0xd3, 0x02, 0xb5, 0x5e, 0x56, 0x51, 0x67, 0x92, 0x29, 0x6c, 0xfb,
+	0xba, 0x9b, 0xb6, 0xee, 0x49, 0xa7, 0xba, 0x56, 0x04, 0x5f, 0xd5, 0x23, 0x05, 0x1f, 0x60, 0x38,
+	0xbd, 0x47, 0xc0, 0x51, 0xf2, 0x23, 0x75, 0xa6, 0x89, 0x2c, 0x51, 0x48, 0xbd, 0x5f, 0x9e, 0x9a,
+	0x33, 0x83, 0x3f, 0x3d, 0xd8, 0xbd, 0x8b, 0x4f, 0x66, 0xb0, 0xbb, 0x50, 0x8a, 0x27, 0x02, 0xbf,
+	0xe9, 0x39, 0x29, 0x27, 0xf4, 0xdb, 0x4e, 0x84, 0x3f, 0x69, 0x80, 0xb8, 0xcd, 0xf7, 0xb4, 0x07,
+	0x8b, 0x5b, 0x9f, 0x59, 0xc8, 0x46, 0x53, 0x73, 0x2c, 0xed, 0xd9, 0xcc, 0xa8, 0x05, 0x4a, 0x2a,
+	0x96, 0xd9, 0xa7, 0x60, 0xa9, 0x76, 0x9e, 0x11, 0x6b, 0x44, 0x86, 0x9f, 0x1d, 0x44, 0x3c, 0x6c,
+	0x6f, 0x78, 0x3b, 0xf8, 0xdd, 0x03, 0x72, 0x9f, 0x1d, 0x79, 0x04, 0x5b, 0x35, 0xaa, 0x05, 0xcb,
+	0xdd, 0xfe, 0x39, 0xcb, 0x2f, 0xe5, 0xda, 0xcd, 0x52, 0x92, 0xa7, 0x00, 0x86, 0x6e, 0xa2, 0xc7,
+	0x4a, 0x95, 0x13, 0xb3, 0x6f, 0x3c, 0xef, 0x8d, 0x83, 0x8c, 0x61, 0x47, 0xe0, 0x5c, 0x73, 0xd3,
+	0xdd, 0x6d, 0xd8, 0xe0, 0x8d, 0x4d, 0x5e, 0xc1, 0x43, 0x81, 0x92, 0xeb, 0x37, 0x8e, 0x89, 0x5e,
+	0x51, 0xd5, 0x48, 0xbd, 0x8d, 0x39, 0xda, 0x95, 0xd8, 0x8c, 0x89, 0x8f, 0x4d, 0x6d, 0xe8, 0x5c,
+	0x47, 0xc8, 0x13, 0xe8, 0x0b, 0xac, 0x99, 0xc2, 0xa4, 0xe4, 0xa3, 0x2d, 0x0f, 0x67, 0x1c, 0x13,
+	0x1e, 0x48, 0x3d, 0xff, 0x95, 0x66, 0xcd, 0xf5, 0x79, 0x59, 0x61, 0xc2, 0x53, 0xb5, 0x70, 0x8d,
+	0xec, 0x18, 0xc7, 0x95, 0xb6, 0xc9, 0x33, 0x18, 0x54, 0x25, 0xc5, 0x84, 0x36, 0xf5, 0xcc, 0x49,
+	0xbf, 0x19, 0x83, 0x71, 0x5d, 0x5a, 0x0f, 0x79, 0x01, 0x7b, 0xf3, 0x86, 0x66, 0x06, 0x29, 0xb1,
+	0xbf, 0x8b, 0x96, 0xff, 0xae, 0x77, 0x5e, 0x6a, 0xdf, 0xd9, 0x3b, 0x30, 0xbf, 0xc7, 0x2e, 0x13,
+	0x39, 0x1b, 0x9c, 0xdb, 0xff, 0xe9, 0x95, 0x79, 0xa1, 0x57, 0xbd, 0xd9, 0x96, 0x7d, 0xaa, 0xaf,
+	0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xa2, 0xb2, 0x2c, 0x2b, 0xb2, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
index af8ceee7..56613c79 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
@@ -176,28 +176,28 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 358 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0xcd, 0x4a, 0x2b, 0x31,
-	0x14, 0x66, 0xee, 0xe5, 0x5e, 0x6e, 0xd3, 0xc5, 0xc5, 0x2c, 0x44, 0x06, 0x04, 0xe9, 0x4a, 0x5b,
-	0x48, 0x6c, 0x5d, 0x28, 0xa2, 0x08, 0x05, 0x29, 0x22, 0x4a, 0xa9, 0x88, 0xcb, 0x92, 0xce, 0x1c,
-	0xc3, 0xc8, 0x4c, 0xce, 0x98, 0xa4, 0xdd, 0x88, 0x1b, 0x1f, 0xc0, 0x8d, 0xaf, 0xe2, 0x0b, 0xf8,
-	0x0c, 0xbe, 0x82, 0x0f, 0x22, 0x93, 0xb4, 0x56, 0x5b, 0x05, 0xa7, 0xb8, 0xfd, 0x72, 0xf2, 0xfd,
-	0x9d, 0x43, 0x62, 0x89, 0x28, 0x53, 0x60, 0x12, 0x53, 0xa1, 0x24, 0x43, 0x2d, 0xb9, 0x04, 0x95,
-	0x6b, 0xb4, 0xc8, 0xfd, 0x93, 0xc8, 0x13, 0xc3, 0x63, 0x18, 0x59, 0xc4, 0xd4, 0xf0, 0x28, 0xc5,
-	0x61, 0x0c, 0x5a, 0xa3, 0xd6, 0x90, 0xa3, 0xb6, 0x89, 0x92, 0x7c, 0xd4, 0x1c, 0x80, 0x15, 0x4d,
-	0xee, 0xe0, 0xbe, 0xd4, 0x38, 0xcc, 0xfb, 0x06, 0xf4, 0x28, 0x89, 0x80, 0x39, 0x26, 0xda, 0x18,
-	0xab, 0x4c, 0x68, 0xd8, 0x27, 0x34, 0x6c, 0x4c, 0x13, 0x1e, 0x7d, 0xcf, 0x92, 0xc8, 0x13, 0x3e,
-	0x56, 0x89, 0x50, 0x5d, 0x26, 0x92, 0x0b, 0xa5, 0xd0, 0x0a, 0x9b, 0xa0, 0x32, 0x5e, 0x37, 0xbc,
-	0xf8, 0xc1, 0x74, 0x11, 0x66, 0x19, 0x2a, 0x4f, 0x5c, 0xdb, 0x24, 0xff, 0x3b, 0x60, 0x3b, 0x45,
-	0xd4, 0x1e, 0x5c, 0x0f, 0xc1, 0x58, 0xba, 0x4a, 0x88, 0x8f, 0xae, 0x44, 0x06, 0x2b, 0xc1, 0x5a,
-	0xb0, 0x5e, 0xe9, 0x55, 0x1c, 0x72, 0x2a, 0x32, 0xa8, 0x45, 0x84, 0x9e, 0xe7, 0xb1, 0xb0, 0xf0,
-	0xe1, 0xd3, 0x09, 0xf9, 0xe3, 0x46, 0xdc, 0x7c, 0xb5, 0xb5, 0xcd, 0x4a, 0x14, 0xc5, 0x0e, 0x0b,
-	0xd8, 0xd3, 0x79, 0x96, 0xd6, 0xfd, 0x6f, 0xb2, 0x34, 0x45, 0xcf, 0x7c, 0x3b, 0xf4, 0x31, 0x20,
-	0xff, 0x26, 0x6e, 0xe9, 0x5e, 0x29, 0x89, 0x99, 0x90, 0xe1, 0xa2, 0x06, 0x6b, 0xcd, 0xbb, 0xe7,
-	0x97, 0x87, 0x5f, 0x0d, 0xba, 0xf1, 0xd6, 0xe7, 0xcd, 0xb4, 0xad, 0xfd, 0x5c, 0xe3, 0x15, 0x44,
-	0xd6, 0xf0, 0x3a, 0x77, 0xa8, 0xe1, 0xf5, 0x5b, 0xfa, 0x14, 0x90, 0xea, 0xbb, 0xca, 0xe8, 0x41,
-	0x29, 0xed, 0xf9, 0xb2, 0x17, 0x37, 0xbf, 0xe3, 0xcc, 0xb7, 0xc2, 0x59, 0xf3, 0xec, 0x4b, 0xf3,
-	0xbb, 0x7e, 0x21, 0xed, 0x63, 0x52, 0xdc, 0x4d, 0x19, 0xdd, 0xf6, 0xf2, 0xdc, 0x02, 0xbb, 0xc5,
-	0xc9, 0x75, 0x83, 0xc1, 0x5f, 0x77, 0x7b, 0x5b, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x68,
-	0x09, 0x8a, 0xb4, 0x03, 0x00, 0x00,
+	// 356 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0x4d, 0x4a, 0xc3, 0x40,
+	0x14, 0x26, 0x8a, 0x62, 0xa7, 0x0b, 0x71, 0x16, 0x22, 0x01, 0x41, 0xba, 0x52, 0x0b, 0x33, 0xb6,
+	0x2e, 0x14, 0x51, 0x84, 0x82, 0x14, 0x11, 0xa5, 0x54, 0xc4, 0x65, 0x99, 0x26, 0xcf, 0x21, 0x92,
+	0xce, 0x8b, 0x93, 0x69, 0x37, 0xe2, 0xc6, 0x03, 0xb8, 0xf1, 0x2a, 0x5e, 0xc0, 0x33, 0x78, 0x05,
+	0x0f, 0x62, 0x32, 0xd3, 0x5a, 0x6d, 0x15, 0x4c, 0x71, 0x13, 0xc2, 0x97, 0x97, 0xef, 0xef, 0x3d,
+	0x12, 0x4a, 0x44, 0x19, 0x03, 0x93, 0x18, 0x0b, 0x25, 0x19, 0x6a, 0xc9, 0x25, 0xa8, 0x44, 0xa3,
+	0x41, 0xee, 0x3e, 0x89, 0x24, 0x4a, 0x79, 0x08, 0x03, 0x83, 0x18, 0xa7, 0x3c, 0x88, 0xb1, 0x1f,
+	0x82, 0xd6, 0xa8, 0x35, 0x24, 0xa8, 0x4d, 0xa4, 0x24, 0x1f, 0xd4, 0xba, 0x60, 0x44, 0x8d, 0x5b,
+	0xb8, 0x23, 0x35, 0xf6, 0x93, 0x4e, 0x0a, 0x7a, 0x10, 0x05, 0xc0, 0x2c, 0x13, 0xad, 0x0e, 0x55,
+	0x46, 0x34, 0xec, 0x07, 0x1a, 0x36, 0xa4, 0xf1, 0x4f, 0xff, 0x66, 0x29, 0x7b, 0xf0, 0xa1, 0x4a,
+	0x80, 0xea, 0x26, 0x92, 0x5c, 0x28, 0x85, 0x46, 0x98, 0x08, 0x55, 0xea, 0x74, 0xfd, 0xeb, 0x7f,
+	0x4c, 0x17, 0x60, 0xaf, 0x87, 0xca, 0x11, 0x57, 0x76, 0xc8, 0x72, 0x13, 0x4c, 0x33, 0x8f, 0xda,
+	0x86, 0xbb, 0x3e, 0xa4, 0x86, 0xae, 0x13, 0xe2, 0xa2, 0x2b, 0xd1, 0x83, 0x35, 0x6f, 0xc3, 0xdb,
+	0x2c, 0xb5, 0x4b, 0x16, 0xb9, 0xc8, 0x80, 0x4a, 0x40, 0xe8, 0x55, 0x12, 0x0a, 0x03, 0xdf, 0x7e,
+	0x3a, 0x27, 0x0b, 0x76, 0xc4, 0xce, 0x97, 0xeb, 0x7b, 0xac, 0x40, 0x51, 0xec, 0x24, 0x87, 0x1d,
+	0x9d, 0x63, 0xa9, 0x3f, 0xcd, 0x93, 0x95, 0x31, 0x7a, 0xe9, 0xda, 0xa1, 0x2f, 0x1e, 0x59, 0x1a,
+	0xb9, 0xa5, 0x87, 0x85, 0x24, 0x26, 0x42, 0xfa, 0xb3, 0x1a, 0xac, 0xd4, 0x1e, 0xdf, 0xde, 0x9f,
+	0xe7, 0xaa, 0x74, 0xeb, 0xb3, 0xcf, 0xfb, 0x71, 0x5b, 0x47, 0x59, 0xa9, 0xb7, 0x10, 0x98, 0x94,
+	0x6f, 0x73, 0x8b, 0x66, 0x2f, 0x0f, 0xf4, 0xd5, 0x23, 0xe5, 0x2f, 0x95, 0xd1, 0xe3, 0x42, 0xda,
+	0xd3, 0x65, 0xcf, 0x6e, 0x7e, 0xdf, 0x9a, 0xaf, 0xfb, 0x93, 0xe6, 0xd9, 0xaf, 0xe6, 0x0f, 0xdc,
+	0x42, 0x1a, 0x67, 0x24, 0xbf, 0x9b, 0x22, 0xba, 0x8d, 0xd5, 0xa9, 0x05, 0xb6, 0xf2, 0x93, 0x6b,
+	0x79, 0xdd, 0x45, 0x7b, 0x7b, 0xbb, 0x1f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x68, 0x09, 0x8a,
+	0xb4, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
index b777cf9b..5a554ac2 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
@@ -151,17 +151,16 @@ type ListGroupStatsRequest struct {
 	// Example: <code>projects/my-project-123</code>.
 	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName" json:"project_name,omitempty"`
 	// [Optional] List all <code>ErrorGroupStats</code> with these IDs.
-	// If not specified, all error group stats with a non-zero error count
-	// for the given selection criteria are returned.
 	GroupId []string `protobuf:"bytes,2,rep,name=group_id,json=groupId" json:"group_id,omitempty"`
 	// [Optional] List only <code>ErrorGroupStats</code> which belong to a service
 	// context that matches the filter.
 	// Data for all service contexts is returned if this field is not specified.
 	ServiceFilter *ServiceContextFilter `protobuf:"bytes,3,opt,name=service_filter,json=serviceFilter" json:"service_filter,omitempty"`
 	// [Required] List data for the given time range.
-	// The service is tuned for retrieving data up to (approximately) 'now'.
-	// Retrieving data for arbitrary time periods in the past can result in
-	// higher response times or in returning incomplete results.
+	// Only <code>ErrorGroupStats</code> with a non-zero count in the given time
+	// range are returned, unless the request contains an explicit group_id list.
+	// If a group_id list is given, also <code>ErrorGroupStats</code> with zero
+	// occurrences are returned.
 	TimeRange *QueryTimeRange `protobuf:"bytes,5,opt,name=time_range,json=timeRange" json:"time_range,omitempty"`
 	// [Optional] The preferred duration for a single returned `TimedCount`.
 	// If not set, no timed counts are returned.
@@ -239,16 +238,16 @@ func (m *ListGroupStatsResponse) GetErrorGroupStats() []*ErrorGroupStats {
 	return nil
 }
 
-// Data extracted for a specific group based on certain selection criteria,
+// Data extracted for a specific group based on certain filter criteria,
 // such as a given time period and/or service filter.
 type ErrorGroupStats struct {
-	// Group data that is independent of the selection criteria.
+	// Group data that is independent of the filter criteria.
 	Group *ErrorGroup `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
 	// Approximate total number of events in the given group that match
-	// the selection criteria.
+	// the filter criteria.
 	Count int64 `protobuf:"varint,2,opt,name=count" json:"count,omitempty"`
 	// Approximate number of affected users in the given group that
-	// match the selection criteria.
+	// match the filter criteria.
 	// Users are distinguished by data in the `ErrorContext` of the
 	// individual error events, such as their login name or their remote
 	// IP address in case of HTTP requests.
@@ -267,18 +266,20 @@ type ErrorGroupStats struct {
 	// - Non-overlapping, and
 	// - Ordered by ascending time.
 	TimedCounts []*TimedCount `protobuf:"bytes,4,rep,name=timed_counts,json=timedCounts" json:"timed_counts,omitempty"`
-	// Approximate first occurrence that was seen for this group and
-	// which matches the given selection criteria.
+	// Approximate first occurrence that was ever seen for this group
+	// and which matches the given filter criteria, ignoring the
+	// time_range that was specified in the request.
 	FirstSeenTime *google_protobuf1.Timestamp `protobuf:"bytes,5,opt,name=first_seen_time,json=firstSeenTime" json:"first_seen_time,omitempty"`
-	// Approximate last occurrence that was seen for this group
-	// and which matches the given selection criteria.
+	// Approximate last occurrence that was ever seen for this group and
+	// which matches the given filter criteria, ignoring the time_range
+	// that was specified in the request.
 	LastSeenTime *google_protobuf1.Timestamp `protobuf:"bytes,6,opt,name=last_seen_time,json=lastSeenTime" json:"last_seen_time,omitempty"`
-	// Service contexts with a non-zero error count for the given selection
+	// Service contexts with a non-zero error count for the given filter
 	// criteria. This list can be truncated if multiple services are affected.
 	// Refer to `num_affected_services` for the total count.
 	AffectedServices []*ServiceContext `protobuf:"bytes,7,rep,name=affected_services,json=affectedServices" json:"affected_services,omitempty"`
 	// The total number of services with a non-zero error count for the given
-	// selection criteria.
+	// filter criteria.
 	NumAffectedServices int32 `protobuf:"varint,8,opt,name=num_affected_services,json=numAffectedServices" json:"num_affected_services,omitempty"`
 	// An arbitrary event that is chosen as representative for the whole group.
 	// The representative event is intended to be used as a quick preview for
@@ -380,10 +381,6 @@ type ListEventsRequest struct {
 	// Data for all service contexts is returned if this field is not specified.
 	ServiceFilter *ServiceContextFilter `protobuf:"bytes,3,opt,name=service_filter,json=serviceFilter" json:"service_filter,omitempty"`
 	// [Optional] List only data for the given time range.
-	// The service is tuned for retrieving data up to (approximately) 'now'.
-	// Retrieving data for arbitrary time periods in the past can result in
-	// higher response times or in returning incomplete results.
-	// Data for the last hour until now is returned if not specified.
 	TimeRange *QueryTimeRange `protobuf:"bytes,4,opt,name=time_range,json=timeRange" json:"time_range,omitempty"`
 	// [Optional] The maximum number of results to return per response.
 	PageSize int32 `protobuf:"varint,6,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -650,85 +647,84 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 1270 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0xdf, 0x6e, 0x1b, 0xc5,
-	0x17, 0xfe, 0xad, 0x1d, 0x27, 0xf1, 0xb1, 0xe3, 0x38, 0x93, 0x34, 0xdd, 0xba, 0xfa, 0x49, 0xa9,
-	0x25, 0x50, 0x48, 0x85, 0xb7, 0x49, 0x55, 0x4a, 0x55, 0xfe, 0xd4, 0xb1, 0x37, 0x25, 0x34, 0xb5,
-	0xdd, 0xb1, 0xad, 0x8a, 0x5c, 0xb0, 0xda, 0xd8, 0x27, 0x9b, 0x05, 0x7b, 0x77, 0xd9, 0x19, 0x47,
-	0x6d, 0x51, 0x25, 0xc4, 0x1d, 0xd7, 0x70, 0x81, 0xc4, 0x1b, 0xf0, 0x14, 0x5c, 0x71, 0x8d, 0xd4,
-	0x57, 0xe0, 0x1e, 0x89, 0x27, 0x40, 0x33, 0xb3, 0xfe, 0x9b, 0x88, 0xc4, 0x4e, 0x2f, 0xb8, 0xdb,
-	0x39, 0x67, 0xce, 0x77, 0xbe, 0x39, 0xf3, 0xcd, 0x99, 0x59, 0x68, 0x3b, 0xbe, 0xef, 0x74, 0xb0,
-	0xe0, 0xf8, 0x1d, 0xdb, 0x73, 0x0a, 0x7e, 0xe8, 0x18, 0x0e, 0x7a, 0x41, 0xe8, 0x73, 0xdf, 0x50,
-	0x2e, 0x3b, 0x70, 0x99, 0xd1, 0xc6, 0x53, 0xee, 0xfb, 0x1d, 0x66, 0xb4, 0x3a, 0x7e, 0xaf, 0x8d,
-	0x61, 0xe8, 0x87, 0x21, 0x06, 0x7e, 0xc8, 0x5d, 0xcf, 0x31, 0x4e, 0xb7, 0x8f, 0x90, 0xdb, 0xdb,
-	0x86, 0x34, 0x5b, 0x8c, 0xdb, 0x9c, 0x59, 0x0c, 0xc3, 0x53, 0xb7, 0x85, 0x05, 0x89, 0x44, 0x6e,
-	0x47, 0x59, 0xfa, 0x30, 0x85, 0x73, 0x60, 0x0a, 0x11, 0x4c, 0x6e, 0xff, 0x72, 0x94, 0xec, 0xc0,
-	0x35, 0xa2, 0x2c, 0x2d, 0xdf, 0x3b, 0x76, 0x1d, 0xc3, 0xf6, 0x3c, 0x9f, 0xdb, 0xdc, 0xf5, 0x3d,
-	0xa6, 0xf2, 0xe6, 0x9e, 0xbf, 0xc5, 0xd5, 0xb5, 0xfc, 0x6e, 0xd7, 0xf7, 0x22, 0xe0, 0x07, 0x8e,
-	0xcb, 0x4f, 0x7a, 0x47, 0x85, 0x96, 0xdf, 0x35, 0x14, 0xb8, 0x21, 0x1d, 0x47, 0xbd, 0x63, 0x23,
-	0xe0, 0x2f, 0x03, 0x64, 0x46, 0xbb, 0x17, 0x4a, 0x2e, 0x83, 0x8f, 0x28, 0xf4, 0xe1, 0xc5, 0xa1,
-	0xdc, 0xed, 0x22, 0xe3, 0x76, 0x37, 0x18, 0x7e, 0xa9, 0xe0, 0xfc, 0x2f, 0x09, 0xb8, 0x76, 0xe0,
-	0x32, 0xfe, 0x38, 0xf4, 0x7b, 0x41, 0x5d, 0x54, 0x9a, 0xe2, 0x37, 0x3d, 0x64, 0x9c, 0xdc, 0x82,
-	0x74, 0x10, 0xfa, 0x5f, 0x61, 0x8b, 0x5b, 0x9e, 0xdd, 0x45, 0x5d, 0xdb, 0xd0, 0x36, 0x93, 0x34,
-	0x15, 0xd9, 0x2a, 0x76, 0x17, 0xc9, 0x0d, 0x58, 0x74, 0x44, 0x9c, 0xe5, 0xb6, 0xf5, 0xd8, 0x46,
-	0x7c, 0x33, 0x49, 0x17, 0xe4, 0x78, 0xbf, 0x4d, 0x4e, 0x20, 0x13, 0xd5, 0xd2, 0x3a, 0x76, 0x3b,
-	0x1c, 0x43, 0x3d, 0xbe, 0xa1, 0x6d, 0xa6, 0x76, 0x8a, 0x85, 0x29, 0x76, 0xae, 0x50, 0x57, 0x10,
-	0x25, 0xdf, 0xe3, 0xf8, 0x82, 0xef, 0x49, 0x20, 0xba, 0x14, 0x01, 0xab, 0x21, 0x39, 0x04, 0x10,
-	0x8b, 0xb2, 0x42, 0xdb, 0x73, 0x50, 0x4f, 0xc8, 0x2c, 0x0f, 0xa7, 0xca, 0xf2, 0xac, 0x87, 0xe1,
-	0xcb, 0x86, 0xdb, 0x45, 0x2a, 0x20, 0x68, 0x92, 0xf7, 0x3f, 0xc9, 0x13, 0x58, 0x13, 0x83, 0xb6,
-	0xd5, 0xf2, 0x7b, 0x1e, 0xb7, 0xfa, 0x85, 0xd7, 0xe7, 0x65, 0x96, 0x1b, 0xfd, 0x2c, 0xfd, 0x72,
-	0x17, 0xca, 0xd1, 0x04, 0x4a, 0x64, 0x58, 0x49, 0x44, 0xf5, 0x6d, 0xe4, 0x4b, 0x48, 0xda, 0x1d,
-	0xd7, 0xf1, 0xba, 0xe8, 0x71, 0x7d, 0x61, 0x43, 0xdb, 0xcc, 0xec, 0x3c, 0x9a, 0x8a, 0x67, 0x63,
-	0x80, 0x59, 0xec, 0xe3, 0xd0, 0x21, 0x24, 0x29, 0x42, 0x66, 0x30, 0xb0, 0x44, 0x7e, 0x7d, 0x51,
-	0xd2, 0xcc, 0x9d, 0xa1, 0xd9, 0xe8, 0x8b, 0x80, 0x2e, 0x0d, 0x22, 0x84, 0x8d, 0x50, 0x48, 0xf8,
-	0x61, 0x1b, 0x43, 0x3d, 0x29, 0xe9, 0x7d, 0x34, 0x15, 0x3d, 0x53, 0x98, 0xa5, 0x8e, 0xaa, 0x02,
-	0x83, 0x2a, 0x28, 0x72, 0x13, 0x92, 0x81, 0xed, 0xa0, 0xc5, 0xdc, 0x57, 0xa8, 0xa7, 0x36, 0xb4,
-	0xcd, 0x04, 0x5d, 0x14, 0x86, 0xba, 0xfb, 0x0a, 0xc9, 0xff, 0x01, 0xa4, 0x93, 0xfb, 0x5f, 0xa3,
-	0xa7, 0xa7, 0xa5, 0xc4, 0xe4, 0xf4, 0x86, 0x30, 0xe4, 0x7f, 0xd5, 0x60, 0x7d, 0x52, 0x9d, 0x2c,
-	0xf0, 0x3d, 0x86, 0xe4, 0x04, 0x56, 0x54, 0x7b, 0x50, 0x0a, 0x94, 0x4d, 0x42, 0xd7, 0x36, 0xe2,
-	0x9b, 0xa9, 0x99, 0x69, 0xab, 0x04, 0xcb, 0x38, 0x6e, 0x20, 0xef, 0xc2, 0xb2, 0x87, 0x2f, 0xb8,
-	0x35, 0x42, 0x34, 0x26, 0x89, 0x2e, 0x09, 0x73, 0x6d, 0x40, 0xf6, 0x87, 0x04, 0x2c, 0x4f, 0x80,
-	0x91, 0xa7, 0x90, 0x90, 0xfc, 0xe4, 0xe9, 0x49, 0xed, 0xdc, 0x9f, 0x91, 0x19, 0x55, 0x28, 0x64,
-	0x0d, 0x12, 0x52, 0x89, 0x92, 0x40, 0x9c, 0xaa, 0x01, 0xb9, 0x03, 0x6b, 0xf6, 0xf1, 0x31, 0xb6,
-	0x38, 0xb6, 0xad, 0x1e, 0xc3, 0x90, 0x29, 0xb9, 0xca, 0x13, 0x17, 0xa7, 0xa4, 0xef, 0x6b, 0x0a,
-	0x97, 0x94, 0x0f, 0x39, 0x84, 0xf4, 0x88, 0xae, 0x99, 0x3e, 0x27, 0xeb, 0x76, 0x7f, 0x46, 0x35,
-	0xd2, 0xd4, 0x50, 0xed, 0x8c, 0xec, 0xc2, 0xf2, 0xb1, 0x1b, 0x32, 0x6e, 0x31, 0x44, 0x4f, 0xe9,
-	0x30, 0x71, 0xb1, 0x0e, 0x65, 0x48, 0x1d, 0xd1, 0x93, 0x3a, 0x7c, 0x04, 0x99, 0x8e, 0x3d, 0x06,
-	0x31, 0x7f, 0x21, 0x44, 0x5a, 0x44, 0x0c, 0x10, 0x4e, 0x60, 0x65, 0x50, 0x93, 0xa8, 0x5f, 0x30,
-	0x7d, 0x41, 0x2e, 0xf3, 0xe1, 0x15, 0x5a, 0x10, 0xcd, 0xf6, 0x51, 0x23, 0x3b, 0x23, 0x3b, 0x70,
-	0xcd, 0xeb, 0x75, 0xad, 0xb3, 0xd9, 0x16, 0xa5, 0xd6, 0x57, 0xbd, 0x5e, 0xb7, 0x38, 0x19, 0x63,
-	0x41, 0x26, 0xc4, 0x20, 0x44, 0x86, 0x9e, 0xb8, 0x5f, 0x4e, 0x51, 0x1e, 0xb8, 0x99, 0xf4, 0x61,
-	0x9e, 0x8a, 0x36, 0x30, 0x01, 0x97, 0xff, 0x49, 0x03, 0x18, 0x6e, 0xd0, 0x50, 0x37, 0xda, 0xa8,
-	0x6e, 0x1e, 0x00, 0x30, 0x6e, 0x87, 0x51, 0xb3, 0x88, 0x5d, 0x58, 0xe1, 0xa4, 0x9c, 0x2d, 0xcb,
-	0x7b, 0x0f, 0x16, 0xd1, 0x6b, 0xab, 0xc0, 0xf8, 0x85, 0x81, 0x0b, 0xe8, 0xb5, 0xc5, 0x28, 0xff,
-	0x26, 0x06, 0x2b, 0xe2, 0x3c, 0x4b, 0xd2, 0xb3, 0xdf, 0x34, 0xda, 0x7f, 0xe1, 0xa6, 0x99, 0x7b,
-	0xab, 0x37, 0xcd, 0x58, 0x97, 0x9c, 0xff, 0xd7, 0x2e, 0xb9, 0x30, 0xd9, 0x25, 0x7f, 0xd6, 0x80,
-	0x8c, 0x56, 0x35, 0xea, 0x90, 0x87, 0x90, 0x56, 0x1d, 0x12, 0xa5, 0x3d, 0x6a, 0x8e, 0x33, 0x4b,
-	0x2c, 0x85, 0x83, 0xef, 0xcb, 0xf7, 0xc4, 0xbf, 0x34, 0xc8, 0x8c, 0x2f, 0x9a, 0x1c, 0xc2, 0x7c,
-	0x80, 0xa1, 0xeb, 0xb7, 0xe5, 0x3e, 0x67, 0x76, 0x76, 0xaf, 0x50, 0xc1, 0x42, 0x4d, 0x22, 0xd1,
-	0x08, 0x31, 0xff, 0x9d, 0x06, 0xf3, 0xca, 0x44, 0xd6, 0x81, 0xd4, 0x4c, 0xba, 0x5f, 0x2d, 0x5b,
-	0xcd, 0x4a, 0xbd, 0x66, 0x96, 0xf6, 0xf7, 0xf6, 0xcd, 0x72, 0xf6, 0x7f, 0x64, 0x05, 0x96, 0x22,
-	0xfb, 0xb6, 0xf5, 0x59, 0xb5, 0x49, 0xb3, 0x1a, 0x21, 0x90, 0x89, 0x4c, 0x1f, 0x48, 0x53, 0x3d,
-	0x1b, 0x23, 0x59, 0x48, 0x0f, 0xa6, 0x95, 0x8b, 0x5f, 0x64, 0xe3, 0x63, 0x81, 0xcf, 0x4d, 0xf3,
-	0x49, 0x76, 0x6e, 0x24, 0xf0, 0xee, 0x1d, 0x31, 0xab, 0x9e, 0x4d, 0xe4, 0x3f, 0x87, 0xb5, 0xf3,
-	0xb4, 0x44, 0x74, 0x58, 0x88, 0xd4, 0xd4, 0x17, 0x70, 0x34, 0x14, 0x9e, 0x53, 0x0c, 0x99, 0x78,
-	0x57, 0xc4, 0x95, 0x27, 0x1a, 0xe6, 0x3f, 0x84, 0xd5, 0x32, 0x76, 0x90, 0xe3, 0xb4, 0xe7, 0x25,
-	0xbf, 0x0e, 0x6b, 0xe3, 0x91, 0x4a, 0x13, 0x5b, 0x3d, 0x58, 0x3d, 0xe7, 0x15, 0x41, 0xde, 0x81,
-	0x5b, 0x26, 0xa5, 0x55, 0x6a, 0x95, 0xaa, 0xcd, 0x4a, 0xc3, 0x2a, 0x1e, 0xec, 0x3f, 0xae, 0x3c,
-	0x35, 0x2b, 0x8d, 0x89, 0xda, 0xdd, 0x84, 0xeb, 0x43, 0x97, 0xf9, 0xac, 0x59, 0x3c, 0xb0, 0x68,
-	0xb5, 0x59, 0x29, 0x9b, 0xe5, 0xac, 0x46, 0x72, 0xb0, 0x3e, 0xe9, 0x2c, 0x36, 0x2c, 0xb3, 0x52,
-	0xce, 0xc6, 0xb6, 0x5e, 0x8f, 0xde, 0x8c, 0xd5, 0xe8, 0x59, 0x70, 0xfd, 0x31, 0xad, 0x36, 0x6b,
-	0x56, 0x95, 0x96, 0x4d, 0x3a, 0x91, 0x28, 0x03, 0xa0, 0x98, 0x94, 0xcd, 0x7a, 0x49, 0xed, 0xd0,
-	0x41, 0xb1, 0xde, 0xb0, 0xea, 0xa6, 0x59, 0x51, 0x36, 0xb9, 0x43, 0x25, 0x6a, 0x16, 0x1b, 0x66,
-	0x59, 0x59, 0xe2, 0xe4, 0x3a, 0xac, 0x16, 0xf7, 0xf6, 0xcc, 0x92, 0x30, 0x35, 0xeb, 0x26, 0xad,
-	0x2b, 0xc7, 0xdc, 0xce, 0xdf, 0x73, 0xb0, 0x22, 0xf3, 0xcb, 0x4b, 0x39, 0xda, 0x1e, 0xf2, 0x87,
-	0x06, 0x99, 0xf1, 0xc7, 0x05, 0x99, 0x4e, 0x8b, 0xe7, 0xbe, 0x9b, 0x73, 0xa5, 0x2b, 0x61, 0xa8,
-	0x7d, 0xca, 0xdf, 0xfb, 0xfe, 0xcd, 0x9f, 0x3f, 0xc6, 0x0c, 0xf2, 0xfe, 0xe0, 0x6f, 0xe1, 0xdb,
-	0xd1, 0x2d, 0xff, 0x38, 0x1a, 0x30, 0x63, 0xeb, 0xb5, 0xe1, 0x0c, 0xf9, 0xff, 0xa6, 0x01, 0x0c,
-	0x3b, 0x01, 0xf9, 0x64, 0x6a, 0x2a, 0x63, 0x42, 0xcb, 0x7d, 0x3a, 0x73, 0x7c, 0xb4, 0x8c, 0x6d,
-	0xb9, 0x8c, 0xdb, 0xe4, 0xbd, 0x4b, 0x2c, 0x43, 0x75, 0x29, 0xf2, 0xbb, 0x06, 0xe9, 0x51, 0xe9,
-	0x92, 0xe9, 0xde, 0xc8, 0xe7, 0x9c, 0x97, 0x5c, 0xf1, 0x0a, 0x08, 0xe3, 0x0b, 0xd9, 0xba, 0xfc,
-	0x42, 0x76, 0x9f, 0x80, 0xf8, 0xc3, 0x9b, 0x26, 0xf5, 0xee, 0xfa, 0x19, 0x91, 0xd6, 0xc4, 0x65,
-	0x5a, 0xd3, 0x8e, 0xe6, 0xe5, 0xad, 0x7a, 0xf7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x82,
+	// 1254 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6e, 0x1b, 0x55,
+	0x14, 0x66, 0xec, 0xd8, 0x89, 0x8f, 0x1d, 0xc7, 0xb9, 0x49, 0x93, 0xa9, 0x2b, 0xa4, 0xd6, 0x12,
+	0x08, 0x52, 0xe1, 0x69, 0x5c, 0x95, 0x52, 0x95, 0x9f, 0x4e, 0xec, 0x49, 0x30, 0x49, 0x6d, 0xf7,
+	0x8e, 0xad, 0x0a, 0x16, 0x8c, 0x1c, 0xfb, 0x7a, 0x3a, 0x60, 0xcf, 0x98, 0x99, 0xb1, 0x45, 0x41,
+	0x95, 0x10, 0x3b, 0xd6, 0xb0, 0x40, 0xe2, 0x0d, 0x78, 0x0a, 0x56, 0xac, 0x91, 0xfa, 0x0a, 0xec,
+	0x91, 0x78, 0x02, 0xee, 0x9f, 0x7f, 0x13, 0x91, 0xd8, 0xe9, 0xa2, 0x1b, 0x6b, 0xee, 0x39, 0xf7,
+	0x7c, 0xe7, 0xe7, 0x7e, 0xe7, 0xdc, 0x6b, 0x68, 0xdb, 0x9e, 0x67, 0x77, 0x49, 0xde, 0xf6, 0xba,
+	0x4d, 0xd7, 0xce, 0x7b, 0xbe, 0xad, 0xd9, 0xc4, 0xed, 0xfb, 0x5e, 0xe8, 0x69, 0x42, 0xd5, 0xec,
+	0x3b, 0x81, 0xd6, 0x26, 0xc3, 0xd0, 0xf3, 0xba, 0x81, 0xd6, 0xea, 0x7a, 0x83, 0x36, 0xf1, 0x7d,
+	0xcf, 0xf7, 0x49, 0xdf, 0xf3, 0x43, 0xc7, 0xb5, 0xb5, 0xe1, 0xfe, 0x29, 0x09, 0x9b, 0xfb, 0x1a,
+	0x17, 0x5b, 0x41, 0xd8, 0x0c, 0x03, 0x2b, 0x20, 0xfe, 0xd0, 0x69, 0x91, 0x3c, 0x47, 0x42, 0xb7,
+	0xa5, 0x97, 0x11, 0x4c, 0xfe, 0x1c, 0x98, 0xbc, 0x84, 0xc9, 0x96, 0x2f, 0x17, 0x12, 0xfd, 0xd1,
+	0xa4, 0x97, 0x96, 0xe7, 0x76, 0x1c, 0x5b, 0x6b, 0xba, 0xae, 0x47, 0x9d, 0x3b, 0x9e, 0x1b, 0x08,
+	0xbf, 0xd9, 0xa7, 0xaf, 0x30, 0xbb, 0x96, 0xd7, 0xeb, 0x79, 0xae, 0x04, 0x7e, 0x60, 0x3b, 0xe1,
+	0xb3, 0xc1, 0x69, 0x9e, 0x0a, 0x35, 0x01, 0xae, 0x71, 0xc5, 0xe9, 0xa0, 0xa3, 0xf5, 0xc3, 0xe7,
+	0x7d, 0x42, 0x41, 0x07, 0x3e, 0x8f, 0x65, 0xfc, 0x21, 0x4d, 0x1f, 0x5e, 0x6c, 0x1a, 0x3a, 0x3d,
+	0x42, 0xcb, 0xd8, 0xeb, 0x4f, 0xbe, 0x84, 0x71, 0xee, 0xb7, 0x18, 0x5c, 0x3b, 0x71, 0x82, 0xf0,
+	0xc8, 0xf7, 0x06, 0x7d, 0x93, 0x55, 0x1a, 0x93, 0x6f, 0x06, 0x74, 0x0b, 0xba, 0x05, 0x29, 0xba,
+	0xe5, 0x2b, 0xd2, 0x0a, 0x2d, 0xb7, 0xd9, 0x23, 0xaa, 0x72, 0x53, 0x79, 0x27, 0x81, 0x93, 0x52,
+	0x56, 0xa1, 0x22, 0x74, 0x1d, 0xd6, 0x6c, 0x66, 0x67, 0x39, 0x6d, 0x35, 0x72, 0x33, 0x4a, 0xd5,
+	0xab, 0x7c, 0x5d, 0x6e, 0xa3, 0x67, 0x90, 0x96, 0xb5, 0xb4, 0x3a, 0x4e, 0x37, 0x24, 0xbe, 0x1a,
+	0xa5, 0xf6, 0xc9, 0x82, 0x9e, 0x5f, 0xe0, 0xe4, 0xf2, 0xa6, 0x80, 0x28, 0x7a, 0x6e, 0x48, 0xbe,
+	0x0d, 0x0f, 0x39, 0x10, 0x5e, 0x97, 0xc0, 0x62, 0x89, 0xbe, 0x00, 0x60, 0x49, 0x59, 0x3e, 0x4d,
+	0x9c, 0xa8, 0x31, 0xee, 0xe5, 0xe1, 0x42, 0x5e, 0x9e, 0x0c, 0x88, 0xff, 0xbc, 0x4e, 0x31, 0x30,
+	0x83, 0xc0, 0x89, 0x70, 0xf4, 0x89, 0x8e, 0x61, 0x9b, 0x2d, 0xda, 0x56, 0xcb, 0x1b, 0xb8, 0xa1,
+	0x35, 0x2a, 0xbc, 0x1a, 0xe7, 0x5e, 0xae, 0x8f, 0xbc, 0x8c, 0xca, 0x9d, 0x2f, 0xc9, 0x0d, 0x18,
+	0x71, 0xb3, 0x22, 0xb3, 0x1a, 0xc9, 0xd0, 0x97, 0x90, 0x68, 0x76, 0x1d, 0xdb, 0xed, 0x11, 0x37,
+	0x54, 0x57, 0x29, 0x42, 0xba, 0xf0, 0x68, 0xa1, 0x38, 0xeb, 0x63, 0x4c, 0x7d, 0x84, 0x83, 0x27,
+	0x90, 0x48, 0x87, 0xf4, 0x78, 0x61, 0x31, 0xff, 0xea, 0x1a, 0x0f, 0x33, 0x7b, 0x26, 0xcc, 0xfa,
+	0x88, 0x04, 0x78, 0x7d, 0x6c, 0xc1, 0x64, 0x08, 0x43, 0xcc, 0xf3, 0xa9, 0x7b, 0x35, 0xc1, 0xc3,
+	0xfb, 0x70, 0xa1, 0xf0, 0x0c, 0x26, 0xe6, 0x3c, 0xaa, 0x32, 0x0c, 0x2c, 0xa0, 0xd0, 0x0d, 0x48,
+	0xf4, 0x9b, 0x36, 0xb1, 0x02, 0xe7, 0x3b, 0xa2, 0x26, 0x29, 0x6e, 0x0c, 0xaf, 0x31, 0x81, 0x49,
+	0xd7, 0xe8, 0x4d, 0x00, 0xae, 0x0c, 0xbd, 0xaf, 0x89, 0xab, 0xa6, 0x38, 0xc5, 0xf8, 0xf6, 0x3a,
+	0x13, 0xe4, 0x7e, 0x57, 0x60, 0x67, 0x9e, 0x9d, 0x41, 0x9f, 0xb6, 0x23, 0xa1, 0x04, 0xdb, 0x14,
+	0xe3, 0x41, 0x30, 0x90, 0x0f, 0x09, 0xca, 0xd1, 0x28, 0x4d, 0x78, 0xd9, 0xb0, 0x85, 0x83, 0x0d,
+	0x32, 0x2b, 0x40, 0x6f, 0xc3, 0x86, 0x4b, 0xd9, 0x67, 0x4d, 0x05, 0x1a, 0xe1, 0x81, 0xae, 0x33,
+	0x71, 0x6d, 0x1c, 0xec, 0x4f, 0x31, 0xd8, 0x98, 0x03, 0x43, 0x8f, 0x21, 0xc6, 0xe3, 0xe3, 0xdd,
+	0x93, 0x2c, 0xdc, 0x5f, 0x32, 0x32, 0x2c, 0x50, 0xd0, 0x36, 0xc4, 0x38, 0x13, 0x79, 0x00, 0x51,
+	0x2c, 0x16, 0xe8, 0x0e, 0x6c, 0x37, 0x3b, 0x1d, 0xda, 0x94, 0x94, 0xa8, 0x03, 0xda, 0x1c, 0x81,
+	0xa0, 0x2b, 0xef, 0xb8, 0x28, 0x46, 0x23, 0x5d, 0x83, 0xa9, 0x38, 0x7d, 0x68, 0xcf, 0xa4, 0xa6,
+	0x78, 0x1d, 0xa8, 0x2b, 0xbc, 0x6e, 0xf7, 0x97, 0x64, 0x23, 0x4e, 0x4e, 0xd8, 0x1e, 0xa0, 0x03,
+	0xd8, 0xe8, 0x38, 0x7e, 0x10, 0xd2, 0x89, 0x4d, 0x5c, 0xc1, 0xc3, 0xd8, 0xc5, 0x3c, 0xe4, 0x26,
+	0x26, 0xb5, 0xe0, 0x3c, 0x7c, 0x04, 0xe9, 0x6e, 0x73, 0x06, 0x22, 0x7e, 0x21, 0x44, 0x8a, 0x59,
+	0x8c, 0x11, 0x28, 0x3d, 0xc6, 0x35, 0x91, 0xf3, 0x22, 0xa0, 0x4d, 0x17, 0x5d, 0x78, 0x38, 0xcc,
+	0x8e, 0x20, 0x9c, 0x19, 0xa1, 0x4a, 0x79, 0x80, 0x0a, 0x70, 0xcd, 0x1d, 0xf4, 0xac, 0xb3, 0xde,
+	0xd6, 0x38, 0xd7, 0xb7, 0xa8, 0x52, 0x9f, 0xb7, 0xb1, 0x20, 0x4d, 0x3d, 0xf9, 0x24, 0xa0, 0x8d,
+	0x47, 0x87, 0xc3, 0x90, 0xf0, 0x86, 0x5b, 0x8a, 0x1f, 0xc6, 0x90, 0x8d, 0x81, 0x39, 0xb8, 0xdc,
+	0x2f, 0x0a, 0xc0, 0xe4, 0x80, 0x26, 0xbc, 0x51, 0xa6, 0x79, 0xf3, 0x00, 0x80, 0x96, 0xce, 0x97,
+	0xc3, 0x22, 0x72, 0x61, 0x85, 0x13, 0x7c, 0x37, 0x2f, 0xef, 0x3d, 0x58, 0x23, 0x6e, 0x5b, 0x18,
+	0x46, 0x2f, 0x34, 0x5c, 0xa5, 0x7b, 0xd9, 0x2a, 0xf7, 0x32, 0x02, 0x9b, 0xac, 0x9f, 0x79, 0xd0,
+	0xcb, 0xdf, 0x34, 0xca, 0xeb, 0x70, 0xd3, 0xac, 0xbc, 0xd2, 0x9b, 0x66, 0x66, 0x4a, 0xc6, 0xff,
+	0x77, 0x4a, 0xae, 0xce, 0x4f, 0xc9, 0x5f, 0x15, 0x40, 0xd3, 0x55, 0x95, 0x13, 0x92, 0x36, 0xb9,
+	0x98, 0x90, 0x84, 0xcb, 0xe5, 0x70, 0x5c, 0x9a, 0x62, 0x49, 0x32, 0xfe, 0xbe, 0xfc, 0x4c, 0xfc,
+	0x47, 0x81, 0xf4, 0x6c, 0xd2, 0x34, 0xac, 0x78, 0x9f, 0xf8, 0x8e, 0xd7, 0xe6, 0xe7, 0x9c, 0x2e,
+	0x1c, 0x5c, 0xa1, 0x82, 0xf9, 0x1a, 0x47, 0xc2, 0x12, 0x31, 0xf7, 0x83, 0x02, 0x71, 0x21, 0x42,
+	0x3b, 0x80, 0x6a, 0x06, 0x2e, 0x57, 0x4b, 0x56, 0xa3, 0x62, 0xd6, 0x8c, 0x62, 0xf9, 0xb0, 0x6c,
+	0x94, 0x32, 0x6f, 0xa0, 0x4d, 0x58, 0x97, 0xf2, 0x7d, 0xeb, 0xd3, 0x6a, 0x03, 0x67, 0x14, 0x84,
+	0x20, 0x2d, 0x45, 0xef, 0x73, 0x91, 0x99, 0x89, 0xa0, 0x0c, 0xa4, 0xc6, 0xdb, 0x4a, 0xfa, 0xe7,
+	0x99, 0xe8, 0x8c, 0xe1, 0x53, 0xc3, 0x38, 0xce, 0xac, 0x4c, 0x19, 0xde, 0xbd, 0xc3, 0x76, 0x99,
+	0x99, 0x58, 0xee, 0x33, 0xd8, 0x3e, 0x8f, 0x4b, 0x48, 0x85, 0x55, 0xc9, 0xa6, 0x11, 0x81, 0xe5,
+	0x92, 0x69, 0x86, 0x74, 0x32, 0xb3, 0x77, 0x45, 0x54, 0x68, 0xe4, 0x32, 0xf7, 0x01, 0x6c, 0x95,
+	0x48, 0x97, 0x84, 0x64, 0xd1, 0x7e, 0xc9, 0xed, 0xc0, 0xf6, 0xac, 0xa5, 0xe0, 0xc4, 0xde, 0x00,
+	0xb6, 0xce, 0x79, 0x45, 0xa0, 0xb7, 0xe0, 0x96, 0x81, 0x71, 0x15, 0x5b, 0xc5, 0x6a, 0xa3, 0x52,
+	0xb7, 0xf4, 0x93, 0xf2, 0x51, 0xe5, 0xb1, 0x41, 0xbf, 0x66, 0x6b, 0x77, 0x03, 0x76, 0x27, 0x2a,
+	0xe3, 0x49, 0x43, 0x3f, 0xb1, 0x30, 0x35, 0x28, 0x51, 0xa5, 0x82, 0xb2, 0xb0, 0x33, 0xaf, 0xd4,
+	0xe9, 0x47, 0xa5, 0x94, 0x89, 0xec, 0xbd, 0x98, 0xbe, 0x19, 0xab, 0xf2, 0x59, 0xb0, 0x7b, 0x44,
+	0x8d, 0x6b, 0x56, 0x15, 0x97, 0x0c, 0x3c, 0xe7, 0x28, 0x0d, 0x20, 0x22, 0x29, 0x19, 0x66, 0x51,
+	0x9c, 0xd0, 0x89, 0x6e, 0xd6, 0x2d, 0xd3, 0x30, 0x2a, 0x42, 0xc6, 0x4f, 0xa8, 0x88, 0x0d, 0xbd,
+	0x6e, 0x94, 0x84, 0x24, 0x8a, 0x76, 0x61, 0x4b, 0x3f, 0x3c, 0x34, 0x8a, 0x4c, 0xd4, 0x30, 0x0d,
+	0x6c, 0x0a, 0xc5, 0x4a, 0xe1, 0xdf, 0x15, 0xd8, 0xe4, 0xfe, 0xf9, 0xa5, 0x2c, 0x8f, 0x07, 0xfd,
+	0x45, 0xb9, 0x39, 0xfb, 0xb8, 0x40, 0x8b, 0x71, 0xf1, 0xdc, 0x77, 0x73, 0xb6, 0x78, 0x25, 0x0c,
+	0x71, 0x4e, 0xb9, 0x7b, 0x3f, 0xbe, 0xfc, 0xfb, 0xe7, 0x88, 0x86, 0xde, 0x1b, 0xff, 0x5b, 0xf8,
+	0x7e, 0xfa, 0xc8, 0x3f, 0x92, 0x8b, 0x40, 0xdb, 0x7b, 0xa1, 0xd9, 0x93, 0xf8, 0xff, 0xa0, 0x63,
+	0x7f, 0x32, 0x09, 0xd0, 0xc7, 0x0b, 0x87, 0x32, 0x43, 0xb4, 0xec, 0x27, 0x4b, 0xdb, 0xcb, 0x34,
+	0xf6, 0x79, 0x1a, 0xb7, 0xd1, 0xbb, 0x97, 0x48, 0x43, 0x4c, 0x29, 0xf4, 0xa7, 0x02, 0xa9, 0x69,
+	0xea, 0xa2, 0xc5, 0xde, 0xc8, 0xe7, 0xf4, 0x4b, 0x56, 0xbf, 0x02, 0xc2, 0x6c, 0x22, 0x7b, 0x97,
+	0x4f, 0xe4, 0xe0, 0x18, 0xd8, 0x3f, 0xbc, 0x45, 0x5c, 0x1f, 0xec, 0x9c, 0x21, 0x69, 0x8d, 0x5d,
+	0xa6, 0x35, 0xe5, 0x34, 0xce, 0x6f, 0xd5, 0xbb, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x82,
 	0xf6, 0x9d, 0x5e, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
index 667cda2a..6cf2557c 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
@@ -56,8 +56,6 @@ message ListGroupStatsRequest {
   string project_name = 1;
 
   // [Optional] List all <code>ErrorGroupStats</code> with these IDs.
-  // If not specified, all error group stats with a non-zero error count
-  // for the given selection criteria are returned.
   repeated string group_id = 2;
 
   // [Optional] List only <code>ErrorGroupStats</code> which belong to a service
@@ -66,9 +64,10 @@ message ListGroupStatsRequest {
   ServiceContextFilter service_filter = 3;
 
   // [Required] List data for the given time range.
-  // The service is tuned for retrieving data up to (approximately) 'now'.
-  // Retrieving data for arbitrary time periods in the past can result in
-  // higher response times or in returning incomplete results.
+  // Only <code>ErrorGroupStats</code> with a non-zero count in the given time
+  // range are returned, unless the request contains an explicit group_id list.
+  // If a group_id list is given, also <code>ErrorGroupStats</code> with zero
+  // occurrences are returned.
   QueryTimeRange time_range = 5;
 
   // [Optional] The preferred duration for a single returned `TimedCount`.
@@ -108,18 +107,18 @@ message ListGroupStatsResponse {
   string next_page_token = 2;
 }
 
-// Data extracted for a specific group based on certain selection criteria,
+// Data extracted for a specific group based on certain filter criteria,
 // such as a given time period and/or service filter.
 message ErrorGroupStats {
-  // Group data that is independent of the selection criteria.
+  // Group data that is independent of the filter criteria.
   ErrorGroup group = 1;
 
   // Approximate total number of events in the given group that match
-  // the selection criteria.
+  // the filter criteria.
   int64 count = 2;
 
   // Approximate number of affected users in the given group that
-  // match the selection criteria.
+  // match the filter criteria.
   // Users are distinguished by data in the `ErrorContext` of the
   // individual error events, such as their login name or their remote
   // IP address in case of HTTP requests.
@@ -140,21 +139,23 @@ message ErrorGroupStats {
   // - Ordered by ascending time.
   repeated TimedCount timed_counts = 4;
 
-  // Approximate first occurrence that was seen for this group and
-  // which matches the given selection criteria.
+  // Approximate first occurrence that was ever seen for this group
+  // and which matches the given filter criteria, ignoring the
+  // time_range that was specified in the request.
   google.protobuf.Timestamp first_seen_time = 5;
 
-  // Approximate last occurrence that was seen for this group
-  // and which matches the given selection criteria.
+  // Approximate last occurrence that was ever seen for this group and
+  // which matches the given filter criteria, ignoring the time_range
+  // that was specified in the request.
   google.protobuf.Timestamp last_seen_time = 6;
 
-  // Service contexts with a non-zero error count for the given selection
+  // Service contexts with a non-zero error count for the given filter
   // criteria. This list can be truncated if multiple services are affected.
   // Refer to `num_affected_services` for the total count.
   repeated ServiceContext affected_services = 7;
 
   // The total number of services with a non-zero error count for the given
-  // selection criteria.
+  // filter criteria.
   int32 num_affected_services = 8;
 
   // An arbitrary event that is chosen as representative for the whole group.
@@ -196,10 +197,6 @@ message ListEventsRequest {
   ServiceContextFilter service_filter = 3;
 
   // [Optional] List only data for the given time range.
-  // The service is tuned for retrieving data up to (approximately) 'now'.
-  // Retrieving data for arbitrary time periods in the past can result in
-  // higher response times or in returning incomplete results.
-  // Data for the last hour until now is returned if not specified.
   QueryTimeRange time_range = 4;
 
   // [Optional] The maximum number of results to return per response.
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
index e52618cf..b61c15a8 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
@@ -196,34 +196,34 @@ func init() {
 
 var fileDescriptor3 = []byte{
 	// 468 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x93, 0xcd, 0x6e, 0x13, 0x31,
-	0x10, 0xc7, 0xb5, 0xe1, 0xa3, 0xaa, 0x83, 0x00, 0x99, 0x03, 0xab, 0x3d, 0x95, 0x9c, 0x2a, 0x90,
-	0x6c, 0x1a, 0x4e, 0x69, 0x85, 0x2a, 0x15, 0x72, 0xe0, 0x00, 0xaa, 0xb6, 0x20, 0x8e, 0x2b, 0x67,
-	0x33, 0x31, 0x8b, 0xb2, 0x1e, 0x63, 0x3b, 0x11, 0x08, 0x71, 0xe1, 0x15, 0xfa, 0x0a, 0xbc, 0x11,
-	0x2f, 0xc0, 0x81, 0x87, 0xe0, 0x88, 0xd6, 0x1f, 0x10, 0x48, 0x0f, 0x2c, 0x70, 0xcb, 0x78, 0x32,
-	0xbf, 0xff, 0xcc, 0x7f, 0x66, 0xc9, 0x42, 0x22, 0xca, 0x25, 0x30, 0x89, 0x4b, 0xa1, 0x24, 0x43,
-	0x23, 0xb9, 0x04, 0xa5, 0x0d, 0x3a, 0xe4, 0x21, 0x25, 0x74, 0x63, 0xf9, 0x1c, 0xd6, 0x0e, 0x71,
-	0x69, 0x79, 0xbd, 0xc4, 0xd5, 0x1c, 0x8c, 0x41, 0x63, 0x40, 0xa3, 0x71, 0x8d, 0x92, 0x7c, 0x7d,
-	0x30, 0x03, 0x27, 0x0e, 0x78, 0x78, 0xa9, 0x7c, 0xd6, 0x56, 0x16, 0xcc, 0xba, 0xa9, 0x81, 0x79,
-	0x16, 0xbd, 0x17, 0x75, 0x12, 0x88, 0x5d, 0x00, 0x62, 0x11, 0x54, 0x3c, 0xf9, 0xb3, 0xa6, 0x84,
-	0x6e, 0x78, 0x54, 0xa9, 0x51, 0x2d, 0x1a, 0xc9, 0x85, 0x52, 0xe8, 0x84, 0x6b, 0x50, 0xd9, 0xa0,
-	0x5b, 0xbc, 0xfc, 0x8f, 0xf3, 0xd5, 0xd8, 0xb6, 0xa8, 0x22, 0xf8, 0x48, 0x36, 0xee, 0xd5, 0x6a,
-	0xc6, 0x6a, 0x6c, 0x79, 0x80, 0x73, 0x9f, 0x98, 0xad, 0x16, 0x5c, 0xbb, 0x77, 0x1a, 0x2c, 0x77,
-	0x4d, 0x0b, 0xd6, 0x89, 0x56, 0xff, 0xfc, 0x15, 0x8a, 0x47, 0xe7, 0x19, 0xb9, 0x5d, 0x7a, 0xfe,
-	0xb4, 0x93, 0x9a, 0xae, 0x41, 0xb9, 0x12, 0xde, 0xac, 0xc0, 0x3a, 0x7a, 0x87, 0x5c, 0xd3, 0x06,
-	0x5f, 0x43, 0xed, 0x2a, 0x25, 0x5a, 0xc8, 0xb3, 0xbd, 0x6c, 0x7f, 0xb7, 0x1c, 0xc6, 0xb7, 0x67,
-	0xa2, 0x05, 0xfa, 0x82, 0x5c, 0x81, 0xae, 0x24, 0x1f, 0xec, 0x65, 0xfb, 0xc3, 0xf1, 0x31, 0xeb,
-	0x61, 0x2e, 0x0b, 0xba, 0x30, 0xdf, 0x50, 0x0e, 0xb4, 0x51, 0x41, 0xf2, 0xed, 0xa6, 0xac, 0x46,
-	0x65, 0x61, 0xf4, 0x69, 0x40, 0xe8, 0x76, 0x25, 0x9d, 0x10, 0xe2, 0x6b, 0xab, 0x6e, 0x42, 0xdf,
-	0xea, 0x70, 0x5c, 0xa4, 0x76, 0x92, 0x1f, 0xec, 0x79, 0x1a, 0xbf, 0xdc, 0xf5, 0xff, 0xee, 0x62,
-	0x3a, 0x27, 0x37, 0xe2, 0xf2, 0xaa, 0x1a, 0x95, 0x83, 0xb7, 0x69, 0x9c, 0xa3, 0x5e, 0xe3, 0x9c,
-	0x05, 0xc6, 0xa3, 0x80, 0x28, 0xaf, 0xdb, 0x5f, 0x62, 0x9a, 0x93, 0x9d, 0x16, 0xac, 0x15, 0x12,
-	0xf2, 0x4b, 0xde, 0xc8, 0x14, 0xd2, 0x33, 0xb2, 0x93, 0x74, 0x2f, 0x7b, 0xdd, 0x49, 0x2f, 0x5d,
-	0x6f, 0x42, 0x52, 0x4d, 0xa4, 0xf1, 0xb7, 0x8c, 0xdc, 0xda, 0xf0, 0xd0, 0xc6, 0xee, 0xe8, 0x97,
-	0x8c, 0xdc, 0xfc, 0xdd, 0x5b, 0xfa, 0xf8, 0x2f, 0xf6, 0xb6, 0x75, 0x2f, 0xc5, 0xf4, 0x1f, 0x29,
-	0x71, 0xc1, 0xc7, 0x1f, 0x3f, 0x7f, 0x3d, 0x1f, 0x4c, 0x46, 0xf7, 0x7f, 0x9c, 0xfb, 0xfb, 0xcd,
-	0x33, 0x7c, 0x18, 0x03, 0xcb, 0xef, 0x7e, 0xe0, 0x7e, 0x89, 0xf6, 0x30, 0xd0, 0x0f, 0xc3, 0xf5,
-	0x9c, 0x3c, 0x25, 0xdd, 0x07, 0xd2, 0xa7, 0x99, 0x93, 0xfc, 0x02, 0xab, 0x4e, 0xbb, 0xa3, 0x39,
-	0xcd, 0x66, 0x57, 0xfd, 0xf5, 0x3c, 0xf8, 0x1e, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x99, 0xec, 0x95,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x53, 0xbd, 0x8e, 0xd3, 0x40,
+	0x10, 0x96, 0xc3, 0xcf, 0xe9, 0x36, 0x08, 0xd0, 0x52, 0x60, 0xb9, 0x82, 0x54, 0x08, 0xa4, 0x5d,
+	0x2e, 0x54, 0xb9, 0x13, 0x3a, 0xe9, 0x20, 0x05, 0x05, 0xe8, 0xe4, 0x03, 0x51, 0x5a, 0x8e, 0x33,
+	0x59, 0x8c, 0xe2, 0x1d, 0xb3, 0xbb, 0x89, 0x40, 0x88, 0x86, 0x57, 0xb8, 0x57, 0xe0, 0x8d, 0x78,
+	0x01, 0x0a, 0x1e, 0x82, 0x92, 0xf5, 0xfe, 0x40, 0x20, 0x29, 0x30, 0xd0, 0x44, 0x99, 0x99, 0x9d,
+	0xef, 0x9b, 0xf9, 0xe6, 0x33, 0x59, 0x08, 0x44, 0xb1, 0x04, 0x26, 0x70, 0x59, 0x4a, 0xc1, 0x50,
+	0x09, 0x2e, 0x40, 0xb6, 0x0a, 0x0d, 0x72, 0x5f, 0x2a, 0xdb, 0x5a, 0xf3, 0x39, 0xac, 0x0d, 0xe2,
+	0x52, 0xf3, 0x6a, 0x89, 0xab, 0x39, 0x28, 0x85, 0x4a, 0x41, 0x8b, 0xca, 0xd4, 0x52, 0xf0, 0xf5,
+	0xc1, 0x0c, 0x4c, 0x79, 0xc0, 0x7d, 0xa6, 0x70, 0x55, 0x5d, 0x68, 0x50, 0xeb, 0xba, 0x02, 0xe6,
+	0xb0, 0xe8, 0xbd, 0xc0, 0x13, 0x81, 0xd8, 0x0e, 0x20, 0x16, 0x80, 0xb2, 0x27, 0x7f, 0x36, 0x94,
+	0xfd, 0xe1, 0x81, 0xa5, 0x42, 0xb9, 0xa8, 0x05, 0x2f, 0xa5, 0x44, 0x53, 0x9a, 0x1a, 0xa5, 0xf6,
+	0xbc, 0xd9, 0xcb, 0xff, 0xb8, 0x5f, 0x85, 0x4d, 0x83, 0x32, 0x00, 0x1f, 0x89, 0xda, 0xbc, 0x5a,
+	0xcd, 0x98, 0x4d, 0x72, 0x0f, 0xce, 0x5d, 0x61, 0xb6, 0x5a, 0xf0, 0xd6, 0xbc, 0x6b, 0x41, 0x73,
+	0x53, 0x37, 0xa0, 0x4d, 0xd9, 0xb4, 0x3f, 0xff, 0xf9, 0xe6, 0xd1, 0x79, 0x42, 0x6e, 0xe6, 0x0e,
+	0x7f, 0xda, 0x51, 0x4d, 0xd7, 0x20, 0x4d, 0x0e, 0x6f, 0x56, 0xf6, 0x11, 0xbd, 0x4d, 0xae, 0xd8,
+	0x47, 0xaf, 0xa1, 0x32, 0x85, 0x2c, 0x1b, 0x48, 0x93, 0x5b, 0xc9, 0x9d, 0xfd, 0x7c, 0x18, 0x72,
+	0xcf, 0x6c, 0x8a, 0xbe, 0x20, 0x97, 0xa0, 0x6b, 0x49, 0x07, 0xb6, 0x36, 0x1c, 0x1f, 0xb3, 0x1e,
+	0xe2, 0x32, 0xcf, 0x0b, 0xf3, 0x0d, 0x66, 0x8f, 0x36, 0xca, 0x48, 0xba, 0x3d, 0x94, 0x6e, 0xad,
+	0x98, 0x30, 0xfa, 0x34, 0x20, 0x74, 0xbb, 0x93, 0x4e, 0x08, 0x71, 0xbd, 0x45, 0xb7, 0xa1, 0x1b,
+	0x75, 0x38, 0xce, 0xe2, 0x38, 0x51, 0x0f, 0xf6, 0x3c, 0xae, 0x9f, 0xef, 0xbb, 0xd7, 0x5d, 0x4c,
+	0xe7, 0xe4, 0x5a, 0x38, 0x5e, 0x61, 0xaf, 0x67, 0xe0, 0x6d, 0x5c, 0xe7, 0xa8, 0xd7, 0x3a, 0x67,
+	0x1e, 0xe3, 0x91, 0x87, 0xc8, 0xaf, 0xea, 0x5f, 0x62, 0x9a, 0x92, 0x3d, 0xcb, 0xad, 0x4b, 0x01,
+	0xe9, 0x05, 0x27, 0x64, 0x0c, 0xe9, 0x19, 0xd9, 0x8b, 0xbc, 0x17, 0x1d, 0xef, 0xa4, 0x17, 0xaf,
+	0x13, 0x21, 0xb2, 0x46, 0xa4, 0xf1, 0xb7, 0x84, 0xdc, 0xd8, 0xd0, 0x50, 0x87, 0xe9, 0xe8, 0x97,
+	0x84, 0x5c, 0xff, 0x5d, 0x5b, 0xfa, 0xf8, 0x2f, 0xee, 0xb6, 0xe5, 0x97, 0x6c, 0xfa, 0x8f, 0x28,
+	0xe1, 0xc0, 0xc7, 0x1f, 0x3f, 0x7f, 0x3d, 0x1f, 0x4c, 0x46, 0xf7, 0x7f, 0xd8, 0xfd, 0xfd, 0xa6,
+	0x0d, 0x1f, 0x86, 0x40, 0xf3, 0xbb, 0x1f, 0xb8, 0x3b, 0xa2, 0x3e, 0xf4, 0xe8, 0x87, 0xde, 0x3d,
+	0x27, 0x4f, 0x49, 0xf7, 0x81, 0xf4, 0x19, 0xe6, 0x24, 0xdd, 0x21, 0xd5, 0x69, 0x67, 0x9a, 0xd3,
+	0x64, 0x76, 0xd9, 0xb9, 0xe7, 0xc1, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb3, 0x99, 0xec, 0x95,
 	0xa1, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudtrace/v1/trace.pb.go b/googleapis/devtools/cloudtrace/v1/trace.pb.go
index 9fe34a44..cb6c14f6 100644
--- a/googleapis/devtools/cloudtrace/v1/trace.pb.go
+++ b/googleapis/devtools/cloudtrace/v1/trace.pb.go
@@ -160,17 +160,19 @@ func (m *Traces) GetTraces() []*Trace {
 // its suboperations. Spans do not need to be contiguous. There may be gaps
 // between spans in a trace.
 type TraceSpan struct {
-	// Identifier for the span. This identifier must be unique within a trace.
+	// Identifier for the span. Must be a 64-bit integer other than 0 and
+	// unique within a trace.
 	SpanId uint64 `protobuf:"fixed64,1,opt,name=span_id,json=spanId" json:"span_id,omitempty"`
 	// Distinguishes between spans generated in a particular context. For example,
 	// two spans with the same name may be distinguished using `RPC_CLIENT`
 	// and `RPC_SERVER` to identify queueing latency associated with the span.
 	Kind TraceSpan_SpanKind `protobuf:"varint,2,opt,name=kind,enum=google.devtools.cloudtrace.v1.TraceSpan_SpanKind" json:"kind,omitempty"`
 	// Name of the trace. The trace name is sanitized and displayed in the
-	// Cloud Trace tool in the Google Developers Console. The name may be a method
-	// name or some other per-call site name. For the same executable and the same
-	// call point, a best practice is to use a consistent name, which makes it
-	// easier to correlate cross-trace spans.
+	// Stackdriver Trace tool in the Google Developers Console.
+	// The name may be a method name or some other per-call site name.
+	// For the same executable and the same call point, a best practice is
+	// to use a consistent name, which makes it easier to correlate
+	// cross-trace spans.
 	Name string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"`
 	// Start time of the span in nanoseconds from the UNIX epoch.
 	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
@@ -348,8 +350,8 @@ type TraceServiceClient interface {
 	ListTraces(ctx context.Context, in *ListTracesRequest, opts ...grpc.CallOption) (*ListTracesResponse, error)
 	// Gets a single trace by its ID.
 	GetTrace(ctx context.Context, in *GetTraceRequest, opts ...grpc.CallOption) (*Trace, error)
-	// Sends new traces to Cloud Trace or updates existing traces. If the ID of
-	// a trace that you send matches that of an existing trace, any fields
+	// Sends new traces to Stackdriver Trace or updates existing traces. If the ID
+	// of a trace that you send matches that of an existing trace, any fields
 	// in the existing trace and its spans are overwritten by the provided values,
 	// and any new fields provided are merged with the existing trace data. If the
 	// ID does not match, a new trace is created.
@@ -398,8 +400,8 @@ type TraceServiceServer interface {
 	ListTraces(context.Context, *ListTracesRequest) (*ListTracesResponse, error)
 	// Gets a single trace by its ID.
 	GetTrace(context.Context, *GetTraceRequest) (*Trace, error)
-	// Sends new traces to Cloud Trace or updates existing traces. If the ID of
-	// a trace that you send matches that of an existing trace, any fields
+	// Sends new traces to Stackdriver Trace or updates existing traces. If the ID
+	// of a trace that you send matches that of an existing trace, any fields
 	// in the existing trace and its spans are overwritten by the provided values,
 	// and any new fields provided are merged with the existing trace data. If the
 	// ID does not match, a new trace is created.
@@ -490,61 +492,61 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 884 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0x6d, 0x6f, 0xdb, 0x44,
-	0x1c, 0xc7, 0x49, 0xe3, 0x24, 0xff, 0x94, 0x2e, 0x9c, 0x60, 0x64, 0x41, 0x93, 0x8a, 0x35, 0x50,
-	0x04, 0xc2, 0x5e, 0x52, 0x90, 0xe8, 0x78, 0x90, 0xd6, 0xce, 0x03, 0xab, 0x69, 0x6a, 0x39, 0xa1,
-	0x88, 0x57, 0xd6, 0x25, 0xbe, 0x7a, 0xa6, 0xc9, 0x9d, 0xf1, 0x5d, 0x32, 0xd2, 0x69, 0x2f, 0xe0,
-	0x25, 0x6f, 0x11, 0xaf, 0xf8, 0x16, 0x7c, 0x13, 0xc4, 0x57, 0x40, 0xe2, 0x6b, 0xa0, 0xbb, 0xb3,
-	0xd7, 0xa8, 0x15, 0x4b, 0xca, 0xde, 0x44, 0xf7, 0xbf, 0xbb, 0xff, 0xc3, 0xef, 0xe1, 0x62, 0xf8,
-	0x3a, 0x66, 0x2c, 0x9e, 0x12, 0x3b, 0x66, 0x53, 0x4c, 0x63, 0x9b, 0x65, 0xb1, 0x13, 0x13, 0x9a,
-	0x66, 0x4c, 0x30, 0x47, 0x1f, 0xe1, 0x34, 0xe1, 0x4e, 0x44, 0x16, 0x82, 0xb1, 0x29, 0x77, 0x26,
-	0x53, 0x36, 0x8f, 0x44, 0x86, 0x27, 0xc4, 0x59, 0x74, 0x1d, 0xb5, 0xb0, 0xd5, 0x6d, 0x74, 0x37,
-	0xaf, 0x54, 0x5c, 0xb5, 0x2f, 0xaf, 0xda, 0x8b, 0x6e, 0xdb, 0xdb, 0xac, 0x11, 0x4e, 0x13, 0x87,
-	0x93, 0x6c, 0x91, 0x4c, 0xc8, 0x84, 0xd1, 0xb3, 0x24, 0x76, 0x30, 0xa5, 0x4c, 0x60, 0x91, 0x30,
-	0xca, 0x75, 0xa7, 0xf6, 0x5e, 0x9c, 0x88, 0x27, 0xf3, 0xb1, 0x3d, 0x61, 0x33, 0x47, 0x97, 0x73,
-	0xd4, 0xc1, 0x78, 0x7e, 0xe6, 0xa4, 0x62, 0x99, 0x12, 0xee, 0x90, 0x59, 0x2a, 0x96, 0xfa, 0x37,
-	0x4f, 0xfa, 0x6c, 0x7d, 0x92, 0x48, 0x66, 0x84, 0x0b, 0x3c, 0x4b, 0x2f, 0x57, 0x3a, 0xd9, 0xfa,
-	0xc9, 0x80, 0xca, 0x48, 0x22, 0x41, 0x77, 0x01, 0xd2, 0x8c, 0x7d, 0x4f, 0x26, 0x22, 0x4c, 0xa2,
-	0x96, 0xb1, 0x6b, 0x74, 0xea, 0x41, 0x3d, 0xdf, 0xf1, 0x22, 0x74, 0x07, 0x6a, 0x0a, 0xb1, 0x3c,
-	0x2c, 0xa9, 0xc3, 0xaa, 0x8a, 0xbd, 0x08, 0x7d, 0x09, 0x15, 0x9e, 0x62, 0xca, 0x5b, 0xe5, 0xdd,
-	0x72, 0xa7, 0xd1, 0xeb, 0xd8, 0x2f, 0xe5, 0xcb, 0x56, 0xed, 0x86, 0x29, 0xa6, 0x81, 0x4e, 0xb3,
-	0x1e, 0x83, 0xa9, 0xf6, 0x38, 0xfa, 0x1c, 0x4c, 0x75, 0x8d, 0xb7, 0x0c, 0x55, 0xea, 0xde, 0x26,
-	0xa5, 0x82, 0x3c, 0xc7, 0xfa, 0xa7, 0x0c, 0xf5, 0x17, 0xc5, 0xd1, 0xdb, 0x50, 0x95, 0xe5, 0x0b,
-	0x30, 0x66, 0x60, 0xca, 0xd0, 0x8b, 0x90, 0x0b, 0x5b, 0xe7, 0x09, 0xd5, 0x28, 0x76, 0x7a, 0xdd,
-	0x4d, 0xa7, 0xb5, 0xe5, 0xcf, 0x51, 0x42, 0xa3, 0x40, 0xa5, 0x23, 0x04, 0x5b, 0x14, 0xcf, 0x48,
-	0xab, 0xac, 0xc8, 0x50, 0x6b, 0xb4, 0x0f, 0xc0, 0x05, 0xce, 0x44, 0x28, 0x69, 0x6e, 0x6d, 0xed,
-	0x1a, 0x9d, 0x46, 0xaf, 0x5d, 0x34, 0x28, 0x44, 0xb1, 0x47, 0x85, 0x06, 0x41, 0x5d, 0xdd, 0x96,
-	0x31, 0xfa, 0x04, 0x6a, 0x84, 0x46, 0x3a, 0xb1, 0xb2, 0x36, 0xb1, 0x4a, 0x68, 0xa4, 0xd2, 0xee,
-	0xc1, 0x4e, 0x8a, 0x33, 0x42, 0x45, 0x58, 0x80, 0x35, 0x15, 0xd8, 0x6d, 0xbd, 0x3b, 0xd4, 0x90,
-	0xfb, 0x60, 0x4e, 0xf1, 0x98, 0x4c, 0x79, 0xab, 0xaa, 0x78, 0xfd, 0x78, 0x63, 0xd0, 0x7d, 0x95,
-	0xe6, 0x52, 0x91, 0x2d, 0x83, 0xbc, 0x46, 0x7b, 0x1f, 0x1a, 0x2b, 0xdb, 0xa8, 0x09, 0xe5, 0x73,
-	0xb2, 0xcc, 0x1d, 0x23, 0x97, 0xe8, 0x4d, 0xa8, 0x2c, 0xf0, 0x74, 0x4e, 0x72, 0xa3, 0xe8, 0xe0,
-	0x41, 0xe9, 0x53, 0xc3, 0x72, 0xa1, 0x56, 0xd0, 0x88, 0xee, 0xc0, 0x5b, 0x43, 0xff, 0xe1, 0x20,
-	0x3c, 0xf2, 0x06, 0x8f, 0xc2, 0x6f, 0x06, 0x43, 0xdf, 0x3d, 0xf4, 0x1e, 0x7b, 0xee, 0xa3, 0xe6,
-	0x6b, 0x68, 0x07, 0x20, 0xf0, 0x0f, 0xc3, 0xa1, 0x1b, 0x9c, 0xba, 0x41, 0xd3, 0x28, 0xe2, 0xc3,
-	0xbe, 0xe7, 0x0e, 0x46, 0xcd, 0x92, 0xf5, 0x47, 0x19, 0xde, 0xe8, 0x27, 0x5c, 0x68, 0xdb, 0x04,
-	0xe4, 0x87, 0x39, 0xe1, 0x62, 0x9d, 0x83, 0x8f, 0x61, 0x6b, 0x91, 0x90, 0xa7, 0xb9, 0xee, 0xfb,
-	0x6b, 0x28, 0xb8, 0x56, 0xde, 0x3e, 0x4d, 0xc8, 0xd3, 0xd1, 0x32, 0x25, 0x81, 0x2a, 0x83, 0xde,
-	0x81, 0x7a, 0x8a, 0x63, 0x12, 0xf2, 0xe4, 0x42, 0x9b, 0xa0, 0x12, 0xd4, 0xe4, 0xc6, 0x30, 0xb9,
-	0xd0, 0x8f, 0x49, 0x1e, 0x0a, 0x76, 0x4e, 0xa8, 0x32, 0x82, 0x1c, 0x05, 0xc7, 0x64, 0x24, 0x37,
-	0xae, 0xf8, 0xa4, 0xf2, 0x7f, 0x7d, 0x62, 0x6e, 0xee, 0x93, 0xdb, 0x60, 0x9e, 0x25, 0x53, 0x41,
-	0xb2, 0x56, 0x55, 0x0d, 0x93, 0x47, 0xf2, 0x59, 0xb3, 0x2c, 0x22, 0x59, 0x38, 0x5e, 0xb6, 0x6a,
-	0xfa, 0x59, 0xab, 0xf8, 0x60, 0x69, 0x0d, 0xa0, 0x56, 0x40, 0x96, 0x5a, 0x9d, 0x7a, 0xee, 0xb7,
-	0xe1, 0xe8, 0x3b, 0xdf, 0xbd, 0xa2, 0x55, 0x03, 0xaa, 0xc7, 0xde, 0xc0, 0x3b, 0x7e, 0xd8, 0x6f,
-	0x1a, 0x68, 0x1b, 0x6a, 0xc1, 0xc9, 0xc9, 0x48, 0xea, 0xda, 0x2c, 0xc9, 0xe8, 0xf0, 0xe4, 0xd8,
-	0xef, 0xbb, 0x23, 0xb7, 0x59, 0xb6, 0x2e, 0x00, 0xad, 0x92, 0xca, 0x53, 0x46, 0x39, 0x79, 0xb5,
-	0x27, 0x8f, 0xde, 0x87, 0x5b, 0x94, 0xfc, 0x28, 0xc2, 0x15, 0xb2, 0xb5, 0xe7, 0x5e, 0x97, 0xdb,
-	0x7e, 0x41, 0xb8, 0x75, 0x04, 0xb7, 0xbe, 0x22, 0xba, 0xf5, 0x86, 0x6e, 0xf9, 0xef, 0xff, 0x3b,
-	0x2b, 0x03, 0xe4, 0x63, 0x31, 0x79, 0x72, 0x23, 0xf7, 0x7d, 0xf1, 0x02, 0x67, 0x49, 0xa9, 0xf6,
-	0xde, 0x26, 0x38, 0x79, 0x01, 0xb4, 0xf7, 0x67, 0x19, 0xb6, 0xf5, 0xab, 0xd4, 0x9f, 0x10, 0xf4,
-	0xbb, 0x01, 0x70, 0x49, 0x27, 0xba, 0x7f, 0x53, 0x3b, 0xb7, 0xbb, 0x37, 0xc8, 0xd0, 0x5a, 0x59,
-	0x9d, 0x9f, 0xff, 0xfa, 0xfb, 0xd7, 0x92, 0x85, 0x76, 0xe5, 0x17, 0x32, 0x87, 0xc6, 0x9d, 0x67,
-	0x97, 0xb0, 0x9f, 0x3b, 0xb9, 0x2e, 0xbf, 0x19, 0x50, 0x2b, 0x08, 0x47, 0xf6, 0x9a, 0x4e, 0x57,
-	0x94, 0x69, 0x6f, 0x64, 0x01, 0x6b, 0x4f, 0x0d, 0xf3, 0x11, 0xfa, 0x70, 0xdd, 0x30, 0xce, 0xb3,
-	0x42, 0xc8, 0xe7, 0xe8, 0x17, 0x03, 0x1a, 0x2b, 0xda, 0xa1, 0x75, 0x24, 0x5c, 0xd7, 0xb9, 0x7d,
-	0xfb, 0xda, 0x73, 0x73, 0xe5, 0xc7, 0xd8, 0xba, 0xaf, 0xe6, 0xf9, 0xa0, 0xb7, 0x96, 0x9c, 0x07,
-	0xb9, 0xa6, 0x07, 0x5d, 0x78, 0x77, 0xc2, 0x66, 0x2f, 0x9f, 0xe0, 0x00, 0x54, 0x77, 0x5f, 0xf6,
-	0xf2, 0x8d, 0xb1, 0xa9, 0x9a, 0xee, 0xfd, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x53, 0x38, 0x4b, 0x28,
-	0xdd, 0x08, 0x00, 0x00,
+	// 881 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x6e, 0xe3, 0x44,
+	0x14, 0xc6, 0x49, 0xe3, 0x24, 0x27, 0xa5, 0x1b, 0x46, 0xb0, 0x84, 0xa0, 0x95, 0x8a, 0xb5, 0xa0,
+	0x0a, 0x84, 0xbd, 0x49, 0x41, 0xa2, 0xcb, 0x8f, 0xb4, 0xed, 0x7a, 0xc1, 0x6a, 0x9a, 0x5a, 0x8e,
+	0x29, 0xe2, 0xca, 0x72, 0x92, 0xa9, 0xd7, 0xd4, 0xb1, 0x8d, 0x67, 0x12, 0xc8, 0xae, 0xf6, 0x02,
+	0x2e, 0xb9, 0x45, 0x5c, 0xf1, 0x16, 0xbc, 0x09, 0xe2, 0x15, 0x90, 0x78, 0x0d, 0xe6, 0xc7, 0xde,
+	0x46, 0xad, 0x58, 0xbb, 0xec, 0x8d, 0x35, 0xe7, 0xcc, 0x9c, 0xbf, 0xef, 0xfb, 0xc6, 0x03, 0x5f,
+	0x05, 0x49, 0x12, 0x44, 0x58, 0x0f, 0x92, 0xc8, 0x8f, 0x03, 0x3d, 0xc9, 0x02, 0x23, 0xc0, 0x71,
+	0x9a, 0x25, 0x34, 0x31, 0xe4, 0x96, 0x9f, 0x86, 0xc4, 0x98, 0xe3, 0x15, 0x4d, 0x92, 0x88, 0x18,
+	0xb3, 0x28, 0x59, 0xce, 0x69, 0xe6, 0xcf, 0xb0, 0xb1, 0x1a, 0x18, 0x62, 0xa1, 0x8b, 0xd3, 0xe8,
+	0x4e, 0x9e, 0xa9, 0x38, 0xaa, 0x5f, 0x1e, 0xd5, 0x57, 0x83, 0xbe, 0x55, 0xad, 0x10, 0xfb, 0x18,
+	0x04, 0x67, 0xab, 0x70, 0x86, 0x67, 0x49, 0x7c, 0x1e, 0x06, 0x86, 0x1f, 0xc7, 0x09, 0xf5, 0x69,
+	0x98, 0xc4, 0x44, 0x56, 0xea, 0xef, 0x07, 0x21, 0x7d, 0xbc, 0x9c, 0xea, 0xb3, 0x64, 0x61, 0xc8,
+	0x74, 0x86, 0xd8, 0x98, 0x2e, 0xcf, 0x8d, 0x94, 0xae, 0x53, 0x4c, 0x0c, 0xbc, 0x60, 0x0b, 0xf9,
+	0xcd, 0x83, 0x3e, 0x2d, 0x0f, 0xa2, 0xe1, 0x02, 0x13, 0xea, 0x2f, 0xd2, 0xcb, 0x95, 0x0c, 0xd6,
+	0x7e, 0x52, 0xa0, 0xe1, 0xf2, 0x49, 0xd0, 0x1d, 0x00, 0xe6, 0xfa, 0x0e, 0xcf, 0xa8, 0x17, 0xce,
+	0x7b, 0xca, 0xae, 0xb2, 0xd7, 0x76, 0xda, 0xb9, 0xc7, 0x9a, 0xa3, 0xb7, 0xa0, 0x25, 0x26, 0xe6,
+	0x9b, 0x35, 0xb1, 0xd9, 0x14, 0x36, 0xdb, 0xfa, 0x02, 0x1a, 0x24, 0xf5, 0x63, 0xd2, 0xab, 0xef,
+	0xd6, 0xf7, 0x3a, 0xc3, 0x3d, 0xfd, 0x85, 0x78, 0xe9, 0xa2, 0xdc, 0x84, 0x05, 0x38, 0x32, 0x4c,
+	0x7b, 0x04, 0xaa, 0xf0, 0x11, 0xf4, 0x19, 0xa8, 0xe2, 0x18, 0x61, 0xf5, 0x79, 0xaa, 0xbb, 0x55,
+	0x52, 0x39, 0x79, 0x8c, 0xf6, 0x4f, 0x1d, 0xda, 0xcf, 0x93, 0xa3, 0x37, 0xa1, 0xc9, 0xd3, 0x17,
+	0xc3, 0xa8, 0x8e, 0xca, 0x4d, 0xd6, 0xae, 0x09, 0x5b, 0x17, 0x61, 0x2c, 0xa7, 0xd8, 0x19, 0x0e,
+	0xaa, 0x76, 0xab, 0xf3, 0xcf, 0x31, 0x0b, 0x74, 0x44, 0x38, 0x42, 0xb0, 0x15, 0xfb, 0x0b, 0xcc,
+	0x86, 0xe6, 0x60, 0x88, 0x35, 0x3a, 0x00, 0x60, 0xe0, 0x66, 0xd4, 0xe3, 0x30, 0xf7, 0xb6, 0xd8,
+	0x4e, 0x67, 0xd8, 0x2f, 0x0a, 0x14, 0xa4, 0xe8, 0x6e, 0xc1, 0x81, 0xd3, 0x16, 0xa7, 0xb9, 0x8d,
+	0x3e, 0x86, 0x16, 0x8e, 0xe7, 0x32, 0xb0, 0x51, 0x1a, 0xd8, 0x64, 0x67, 0x45, 0xd8, 0x5d, 0xd8,
+	0x49, 0xfd, 0x0c, 0xc7, 0xd4, 0x2b, 0x86, 0x55, 0xc5, 0xb0, 0xdb, 0xd2, 0x3b, 0x91, 0x23, 0x8f,
+	0x40, 0x8d, 0xfc, 0x29, 0x8e, 0x48, 0xaf, 0x29, 0x70, 0xfd, 0xa8, 0xf2, 0xd0, 0x23, 0x11, 0x66,
+	0xc6, 0x34, 0x5b, 0x3b, 0x79, 0x8e, 0xfe, 0x01, 0x74, 0x36, 0xdc, 0xa8, 0x0b, 0xf5, 0x0b, 0xbc,
+	0xce, 0x15, 0xc3, 0x97, 0xe8, 0x75, 0x68, 0xac, 0xfc, 0x68, 0x89, 0x73, 0xa1, 0x48, 0xe3, 0x7e,
+	0xed, 0x13, 0x45, 0x33, 0xa1, 0x55, 0xc0, 0xc8, 0x14, 0xf5, 0xc6, 0xc4, 0x7e, 0x30, 0xf6, 0x8e,
+	0xad, 0xf1, 0x43, 0xef, 0xeb, 0xf1, 0xc4, 0x36, 0x8f, 0xac, 0x47, 0x96, 0xf9, 0xb0, 0xfb, 0x0a,
+	0xda, 0x01, 0x70, 0xec, 0x23, 0x6f, 0x62, 0x3a, 0x67, 0xa6, 0xd3, 0x55, 0x0a, 0xfb, 0x68, 0x64,
+	0x99, 0x63, 0xb7, 0x5b, 0xd3, 0xfe, 0xa8, 0xc3, 0x6b, 0xa3, 0x90, 0x50, 0x29, 0x1b, 0x07, 0x7f,
+	0xbf, 0x64, 0xb8, 0x94, 0x29, 0xf8, 0x04, 0xb6, 0x56, 0x21, 0xfe, 0x21, 0xe7, 0xfd, 0xa0, 0x04,
+	0x82, 0x6b, 0xe9, 0xf5, 0x33, 0x16, 0xec, 0xb2, 0xeb, 0xe4, 0x88, 0x34, 0xe8, 0x6d, 0x68, 0xa7,
+	0x7e, 0x80, 0x3d, 0x12, 0x3e, 0x91, 0x22, 0x68, 0x38, 0x2d, 0xee, 0x98, 0x30, 0x5b, 0xb4, 0xc2,
+	0x37, 0x69, 0x72, 0x81, 0x63, 0x21, 0x04, 0xde, 0x0a, 0xf3, 0xb8, 0xdc, 0x71, 0x45, 0x27, 0x8d,
+	0xff, 0xab, 0x13, 0xb5, 0xba, 0x4e, 0x6e, 0x83, 0x7a, 0x1e, 0x46, 0x14, 0x67, 0x4c, 0x01, 0xbc,
+	0x99, 0xdc, 0xe2, 0xd7, 0x3a, 0xc9, 0xe6, 0x38, 0xf3, 0xa6, 0xeb, 0x5e, 0x4b, 0x5e, 0x6b, 0x61,
+	0x1f, 0xae, 0xb5, 0x31, 0xb4, 0x8a, 0x91, 0x39, 0x57, 0x67, 0x96, 0xf9, 0x8d, 0xe7, 0x7e, 0x6b,
+	0x9b, 0x57, 0xb8, 0xea, 0x40, 0xf3, 0xc4, 0x1a, 0x5b, 0x27, 0x0f, 0x46, 0x8c, 0xa8, 0x6d, 0x68,
+	0x39, 0xa7, 0xa7, 0x2e, 0xe7, 0xb5, 0x5b, 0xe3, 0xd6, 0xd1, 0xe9, 0x89, 0x3d, 0x32, 0x5d, 0xb3,
+	0x5b, 0xd7, 0x9e, 0x00, 0xda, 0x04, 0x95, 0xa4, 0xec, 0xbf, 0x87, 0x5f, 0xee, 0xca, 0xa3, 0xf7,
+	0xe0, 0x56, 0x8c, 0x7f, 0xa4, 0xde, 0x06, 0xd8, 0x52, 0x73, 0xaf, 0x72, 0xb7, 0x5d, 0x00, 0xae,
+	0x1d, 0xc3, 0xad, 0x2f, 0xb1, 0x2c, 0x5d, 0x51, 0x2d, 0xff, 0xfd, 0xbf, 0xd3, 0x32, 0x40, 0xb6,
+	0x4f, 0x67, 0x8f, 0x6f, 0xa4, 0xbe, 0xcf, 0x9f, 0xcf, 0x59, 0x13, 0xac, 0xbd, 0x5b, 0x65, 0x4e,
+	0x52, 0x0c, 0x3a, 0xfc, 0xb3, 0x0e, 0xdb, 0xf2, 0x56, 0xca, 0x27, 0x04, 0xfd, 0xae, 0x00, 0x5c,
+	0xc2, 0x89, 0xee, 0xdd, 0x54, 0xce, 0xfd, 0xc1, 0x0d, 0x22, 0x24, 0x57, 0xda, 0xde, 0xcf, 0x7f,
+	0xfd, 0xfd, 0x6b, 0x4d, 0x43, 0xbb, 0xfc, 0x85, 0xcc, 0x47, 0x23, 0xc6, 0xd3, 0xcb, 0xb1, 0x9f,
+	0x19, 0x39, 0x2f, 0xbf, 0x29, 0xd0, 0x2a, 0x00, 0x47, 0x7a, 0x49, 0xa5, 0x2b, 0xcc, 0xf4, 0x2b,
+	0x49, 0x40, 0xdb, 0x17, 0xcd, 0x7c, 0x88, 0x3e, 0x28, 0x6b, 0xc6, 0x78, 0x5a, 0x10, 0xf9, 0x0c,
+	0xfd, 0xa2, 0x40, 0x67, 0x83, 0x3b, 0x54, 0x06, 0xc2, 0x75, 0x9e, 0xfb, 0xb7, 0xaf, 0x5d, 0x37,
+	0x93, 0x3f, 0xc6, 0xda, 0x3d, 0xd1, 0xcf, 0xfb, 0xc3, 0x52, 0x70, 0xee, 0xe7, 0x9c, 0x1e, 0x0e,
+	0xe0, 0x1d, 0xf6, 0x66, 0xbf, 0xb8, 0x83, 0x43, 0x10, 0xd5, 0x6d, 0x5e, 0xcb, 0x56, 0xa6, 0xaa,
+	0x28, 0xba, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x53, 0x38, 0x4b, 0x28, 0xdd, 0x08, 0x00,
+	0x00,
 }
diff --git a/googleapis/devtools/cloudtrace/v1/trace.proto b/googleapis/devtools/cloudtrace/v1/trace.proto
index 5b719bb9..8b46b294 100644
--- a/googleapis/devtools/cloudtrace/v1/trace.proto
+++ b/googleapis/devtools/cloudtrace/v1/trace.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -41,8 +41,8 @@ service TraceService {
     option (google.api.http) = { get: "/v1/projects/{project_id}/traces/{trace_id}" };
   }
 
-  // Sends new traces to Cloud Trace or updates existing traces. If the ID of
-  // a trace that you send matches that of an existing trace, any fields
+  // Sends new traces to Stackdriver Trace or updates existing traces. If the ID
+  // of a trace that you send matches that of an existing trace, any fields
   // in the existing trace and its spans are overwritten by the provided values,
   // and any new fields provided are merged with the existing trace data. If the
   // ID does not match, a new trace is created.
@@ -93,7 +93,8 @@ message TraceSpan {
     RPC_CLIENT = 2;
   }
 
-  // Identifier for the span. This identifier must be unique within a trace.
+  // Identifier for the span. Must be a 64-bit integer other than 0 and
+  // unique within a trace.
   fixed64 span_id = 1;
 
   // Distinguishes between spans generated in a particular context. For example,
@@ -102,10 +103,11 @@ message TraceSpan {
   SpanKind kind = 2;
 
   // Name of the trace. The trace name is sanitized and displayed in the
-  // Cloud Trace tool in the Google Developers Console. The name may be a method
-  // name or some other per-call site name. For the same executable and the same
-  // call point, a best practice is to use a consistent name, which makes it
-  // easier to correlate cross-trace spans.
+  // Stackdriver Trace tool in the Google Developers Console.
+  // The name may be a method name or some other per-call site name.
+  // For the same executable and the same call point, a best practice is
+  // to use a consistent name, which makes it easier to correlate
+  // cross-trace spans.
   string name = 3;
 
   // Start time of the span in nanoseconds from the UNIX epoch.
diff --git a/googleapis/devtools/source/v1/source_context.pb.go b/googleapis/devtools/source/v1/source_context.pb.go
index d58f9aad..d2b82313 100644
--- a/googleapis/devtools/source/v1/source_context.pb.go
+++ b/googleapis/devtools/source/v1/source_context.pb.go
@@ -825,53 +825,53 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 761 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0x5d, 0x4f, 0xdb, 0x3c,
-	0x14, 0x6e, 0x9a, 0xd2, 0x92, 0x53, 0x0a, 0x95, 0xdf, 0x0f, 0x15, 0x10, 0x02, 0x22, 0xbd, 0x7a,
-	0x91, 0x98, 0x52, 0xd1, 0x69, 0xd3, 0x86, 0x26, 0x6d, 0x94, 0x75, 0x6b, 0x05, 0x14, 0xe4, 0xb1,
-	0xaf, 0xab, 0xca, 0x24, 0x5e, 0xf0, 0x08, 0x71, 0xe4, 0xa4, 0x05, 0xfe, 0xc4, 0xae, 0xf7, 0xe3,
-	0xf6, 0x13, 0x76, 0x39, 0x69, 0xb7, 0x93, 0x9d, 0x04, 0xda, 0x52, 0x42, 0xa5, 0xed, 0x2a, 0xf6,
-	0xe3, 0xf3, 0x3c, 0xe7, 0xf8, 0x7c, 0x38, 0x70, 0xe0, 0x72, 0xee, 0x7a, 0xd4, 0x72, 0xb9, 0x47,
-	0x7c, 0xd7, 0xe2, 0xc2, 0xad, 0xbb, 0xd4, 0x0f, 0x04, 0x8f, 0x78, 0x3d, 0x3e, 0x22, 0x01, 0x0b,
-	0xeb, 0x0e, 0x1d, 0x44, 0x9c, 0x7b, 0x61, 0x3d, 0xe4, 0x7d, 0x61, 0xd3, 0xfa, 0x60, 0x2b, 0x59,
-	0xf5, 0x6c, 0xee, 0x47, 0xf4, 0x32, 0xb2, 0x14, 0x05, 0x2d, 0x26, 0x72, 0xa9, 0xbd, 0x15, 0x5b,
-	0x59, 0x83, 0xad, 0xa5, 0xce, 0x74, 0x9e, 0x48, 0xc0, 0xea, 0x21, 0x15, 0x03, 0x66, 0x53, 0x9b,
-	0xfb, 0x9f, 0x98, 0x5b, 0x27, 0xbe, 0xcf, 0x23, 0x12, 0x31, 0xee, 0x87, 0xb1, 0x17, 0xf3, 0x5b,
-	0x1e, 0x2a, 0x6f, 0x94, 0xf0, 0x6e, 0xec, 0x1d, 0x61, 0x00, 0xdb, 0xe3, 0x7d, 0xa7, 0x27, 0x68,
-	0xc0, 0x6b, 0xda, 0x9a, 0xb6, 0x51, 0x6e, 0x6c, 0x59, 0x77, 0x06, 0x63, 0xed, 0x4a, 0x63, 0x4c,
-	0x03, 0x3e, 0x22, 0xd3, 0xce, 0x61, 0xc3, 0x4e, 0x4f, 0x10, 0x81, 0x85, 0x58, 0xf3, 0x82, 0x8b,
-	0xb3, 0x30, 0x20, 0x36, 0xad, 0xe5, 0x95, 0xf0, 0xe3, 0xfb, 0x84, 0xdf, 0xa7, 0x84, 0x71, 0xf5,
-	0x79, 0x7b, 0xe4, 0x18, 0xb5, 0xa1, 0xe8, 0x52, 0x21, 0x58, 0x54, 0xd3, 0x95, 0xb2, 0x95, 0xa1,
-	0xfc, 0x5a, 0x19, 0x8e, 0x2b, 0x26, 0x7c, 0xf4, 0x1c, 0x74, 0x97, 0x45, 0xb5, 0xa2, 0x92, 0xd9,
-	0xcc, 0x92, 0xb9, 0xad, 0x21, 0x99, 0x4d, 0x03, 0x4a, 0x49, 0x29, 0xcd, 0xef, 0x1a, 0xfc, 0xd3,
-	0xba, 0x8c, 0xa8, 0xef, 0x50, 0x67, 0x34, 0xcd, 0xcd, 0x6b, 0xa3, 0x24, 0xc7, 0x1b, 0x19, 0x9e,
-	0x46, 0xa8, 0x38, 0x25, 0xa2, 0x63, 0x28, 0x7a, 0xe4, 0x84, 0x7a, 0x61, 0x2d, 0xbf, 0xa6, 0x6f,
-	0x94, 0x1b, 0xcf, 0x32, 0x24, 0x26, 0x46, 0x61, 0xed, 0x2b, 0x7a, 0xcb, 0x8f, 0xc4, 0x15, 0x4e,
-	0xb4, 0x96, 0x9e, 0x42, 0x79, 0x08, 0x46, 0x55, 0xd0, 0xcf, 0xe8, 0x95, 0x0a, 0xd2, 0xc0, 0x72,
-	0x89, 0xfe, 0x86, 0x99, 0x01, 0xf1, 0xfa, 0x71, 0x0d, 0x0d, 0x1c, 0x6f, 0xb6, 0xf3, 0x4f, 0x34,
-	0xf3, 0xab, 0x06, 0x73, 0x3b, 0x1e, 0x23, 0x61, 0x7a, 0xcb, 0x17, 0x50, 0x38, 0x63, 0xbe, 0xa3,
-	0xd8, 0xf3, 0x8d, 0x07, 0x19, 0xf1, 0x0d, 0xd3, 0xac, 0x3d, 0xe6, 0x3b, 0x58, 0x31, 0x11, 0x82,
-	0x82, 0x4f, 0xce, 0x53, 0x5f, 0x6a, 0x6d, 0x36, 0xa0, 0x20, 0x2d, 0x50, 0x09, 0xf4, 0x9d, 0xee,
-	0xc7, 0x6a, 0x0e, 0x19, 0x30, 0xf3, 0xaa, 0xf3, 0xa1, 0xf5, 0xb2, 0xaa, 0xa1, 0x32, 0x94, 0x0e,
-	0x0e, 0xdf, 0xed, 0x34, 0xf7, 0x5b, 0xd5, 0xbc, 0xc4, 0x0f, 0x8f, 0xdb, 0x2d, 0x5c, 0x2d, 0x98,
-	0x3f, 0x34, 0xf8, 0x77, 0x72, 0xab, 0xa2, 0x6d, 0x28, 0xc9, 0x5e, 0xef, 0x31, 0x27, 0x29, 0xc5,
-	0x7a, 0x46, 0x9c, 0x92, 0xde, 0x71, 0x70, 0x51, 0xa8, 0x2f, 0x5a, 0x87, 0xb2, 0xa0, 0x03, 0x16,
-	0x32, 0xee, 0x4b, 0xbe, 0x8a, 0xb2, 0x9d, 0xc3, 0x90, 0x82, 0x1d, 0x07, 0xad, 0x02, 0x10, 0x79,
-	0xb9, 0x9e, 0xba, 0x87, 0x9e, 0x58, 0x18, 0x0a, 0xeb, 0x92, 0x73, 0x8a, 0xba, 0x50, 0x89, 0x0d,
-	0xd2, 0x86, 0x28, 0xa8, 0x28, 0xfe, 0x9f, 0x32, 0x5b, 0xed, 0x1c, 0x9e, 0x23, 0x43, 0xfb, 0x26,
-	0xc0, 0x6c, 0xea, 0xde, 0xfc, 0xa2, 0xc1, 0x72, 0xc6, 0x20, 0xa1, 0x2e, 0xcc, 0x5d, 0xcf, 0xe4,
-	0x4d, 0x02, 0x36, 0xa7, 0x1e, 0xcb, 0x8e, 0x83, 0xcb, 0x17, 0x37, 0x1b, 0xb4, 0x0a, 0xe5, 0xd0,
-	0x27, 0x41, 0x78, 0xca, 0xa3, 0xeb, 0x7c, 0x60, 0x48, 0xa1, 0x8e, 0x63, 0xfe, 0xd4, 0xe0, 0xaf,
-	0x09, 0xf3, 0x87, 0x16, 0x61, 0xf6, 0x94, 0x87, 0x51, 0xaf, 0x2f, 0x58, 0xd2, 0x6b, 0x25, 0xb9,
-	0x7f, 0x2b, 0x18, 0xfa, 0x0f, 0xe6, 0xe3, 0xd1, 0xec, 0x05, 0x82, 0x7f, 0xa6, 0x76, 0x94, 0xc8,
-	0x56, 0x62, 0xf4, 0x28, 0x06, 0xc7, 0x4b, 0xa1, 0xdf, 0x5b, 0x8a, 0xc2, 0x14, 0xa5, 0x98, 0xf9,
-	0x73, 0xa5, 0x68, 0x41, 0x75, 0xfc, 0xc5, 0x90, 0xc3, 0xd5, 0x17, 0x5e, 0x3a, 0x5c, 0x7d, 0xe1,
-	0xc9, 0x04, 0xde, 0x6a, 0xa8, 0xe1, 0x3b, 0x98, 0x03, 0x28, 0xc6, 0x3d, 0x88, 0x30, 0x2c, 0x24,
-	0x09, 0xe9, 0x8d, 0xf6, 0x6f, 0xd6, 0x53, 0x92, 0x64, 0x2b, 0x96, 0x68, 0xe7, 0x70, 0x25, 0x18,
-	0x06, 0x10, 0x02, 0xbd, 0x3f, 0xd4, 0xc7, 0x72, 0xd3, 0x2c, 0x40, 0x9e, 0x39, 0xe6, 0x1e, 0x54,
-	0x46, 0xb8, 0x68, 0x05, 0x20, 0x75, 0x9f, 0x78, 0x36, 0xb0, 0x91, 0x20, 0x1d, 0x07, 0x2d, 0x83,
-	0xa1, 0xa2, 0x1a, 0x9a, 0xde, 0x59, 0x09, 0xc8, 0x3c, 0x9b, 0x27, 0x50, 0x1d, 0xef, 0xa3, 0xdf,
-	0x1a, 0xc3, 0x09, 0xaf, 0x44, 0xf3, 0x11, 0xac, 0xd8, 0xfc, 0xfc, 0x6e, 0x8d, 0x26, 0x1a, 0xa9,
-	0xc5, 0x91, 0xfc, 0x1f, 0x1e, 0x69, 0x27, 0x45, 0xf5, 0x63, 0x7c, 0xf8, 0x2b, 0x00, 0x00, 0xff,
-	0xff, 0xee, 0x8d, 0xe8, 0x1b, 0xcf, 0x07, 0x00, 0x00,
+	// 756 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xdb, 0x4e, 0xdb, 0x4c,
+	0x10, 0xc6, 0x71, 0x48, 0xf0, 0x84, 0x40, 0xb4, 0xff, 0x41, 0x1c, 0x84, 0xfe, 0x1f, 0x4b, 0x55,
+	0x91, 0xa8, 0x1c, 0x41, 0xd5, 0xaa, 0x45, 0x95, 0x5a, 0x42, 0xd3, 0x12, 0x71, 0x94, 0x4b, 0x4f,
+	0x57, 0x96, 0xb1, 0xb7, 0xc6, 0xc5, 0x78, 0xa3, 0xb5, 0x63, 0xe0, 0x25, 0x7a, 0xdd, 0x87, 0xeb,
+	0x23, 0xf4, 0xb2, 0x52, 0x6f, 0xbb, 0xbb, 0x5e, 0x83, 0x1d, 0x82, 0x89, 0xd4, 0xde, 0x24, 0xbb,
+	0xb3, 0xf3, 0x7d, 0x33, 0x3b, 0x33, 0xdf, 0x1a, 0xf6, 0x3c, 0x42, 0xbc, 0x00, 0x1b, 0x1e, 0x09,
+	0xec, 0xd0, 0x33, 0x08, 0xf5, 0xda, 0x1e, 0x0e, 0xfb, 0x94, 0xc4, 0xa4, 0x9d, 0x1e, 0xd9, 0x7d,
+	0x3f, 0x6a, 0xbb, 0x38, 0x89, 0x09, 0x09, 0xa2, 0x76, 0x44, 0x06, 0xd4, 0xc1, 0xed, 0x64, 0x4d,
+	0xae, 0x2c, 0x87, 0x84, 0x31, 0xbe, 0x88, 0x0d, 0x01, 0x41, 0xf3, 0x92, 0x2e, 0xf3, 0x37, 0x52,
+	0x2f, 0x23, 0x59, 0x5b, 0xe8, 0x8d, 0x17, 0x89, 0xfd, 0xb4, 0x23, 0x4c, 0x13, 0xdf, 0xc1, 0x8c,
+	0xfa, 0x93, 0xef, 0xb5, 0xed, 0x30, 0x24, 0xb1, 0x1d, 0xfb, 0x24, 0x8c, 0xd2, 0x28, 0xfa, 0xb7,
+	0x0a, 0x34, 0xdf, 0x08, 0xe2, 0xad, 0x34, 0x3a, 0x32, 0x01, 0x9c, 0x80, 0x0c, 0x5c, 0x8b, 0xe2,
+	0x3e, 0x99, 0x53, 0xfe, 0x57, 0x56, 0x1a, 0xeb, 0x6b, 0xc6, 0xad, 0xc9, 0x18, 0x5b, 0xdc, 0xd9,
+	0x64, 0xbe, 0x05, 0x9a, 0xed, 0x09, 0x53, 0x73, 0xb2, 0x13, 0x64, 0xc3, 0x6c, 0xca, 0x79, 0x4e,
+	0xe8, 0x69, 0xd4, 0xb7, 0x1d, 0x3c, 0x57, 0x11, 0xc4, 0x8f, 0xef, 0x22, 0x7e, 0x9f, 0x01, 0x86,
+	0xd9, 0x67, 0x9c, 0xc2, 0x31, 0xda, 0x86, 0x9a, 0x87, 0x29, 0xf5, 0xe3, 0x39, 0x55, 0x30, 0x1b,
+	0x25, 0xcc, 0xaf, 0x85, 0xe3, 0x30, 0xa3, 0xc4, 0xa3, 0xe7, 0xa0, 0x7a, 0x8c, 0xa6, 0x26, 0x68,
+	0x56, 0xcb, 0x68, 0x6e, 0x72, 0x70, 0x64, 0x47, 0x83, 0xba, 0x6c, 0xa5, 0xfe, 0x5d, 0x81, 0x7f,
+	0xba, 0x17, 0x31, 0x0e, 0x5d, 0xec, 0x16, 0xcb, 0xdc, 0xb9, 0x72, 0x92, 0x35, 0x5e, 0x29, 0x89,
+	0x54, 0x80, 0x9a, 0x19, 0x10, 0x1d, 0x41, 0x2d, 0xb0, 0x8f, 0x71, 0x10, 0xb1, 0x6a, 0xaa, 0x8c,
+	0xe2, 0x59, 0x09, 0xc5, 0xc8, 0x2c, 0x8c, 0x5d, 0x01, 0xef, 0x86, 0x31, 0xbd, 0x34, 0x25, 0xd7,
+	0xc2, 0x53, 0x68, 0xe4, 0xcc, 0xa8, 0x05, 0xea, 0x29, 0xbe, 0x14, 0x49, 0x6a, 0x26, 0x5f, 0xa2,
+	0xbf, 0x61, 0x32, 0xb1, 0x83, 0x41, 0xda, 0x43, 0xcd, 0x4c, 0x37, 0x1b, 0x95, 0x27, 0x8a, 0xfe,
+	0x55, 0x81, 0xe9, 0xcd, 0xc0, 0xb7, 0xa3, 0xec, 0x96, 0x2f, 0xa0, 0x7a, 0xea, 0x87, 0xae, 0x40,
+	0xcf, 0xac, 0x3f, 0x28, 0xc9, 0x2f, 0x0f, 0x33, 0x76, 0x18, 0xc6, 0x14, 0x48, 0x84, 0xa0, 0x1a,
+	0xda, 0x67, 0x59, 0x2c, 0xb1, 0xd6, 0xd7, 0xa1, 0xca, 0x3d, 0x50, 0x1d, 0xd4, 0xcd, 0xfd, 0x8f,
+	0xad, 0x09, 0xa4, 0xc1, 0xe4, 0xab, 0xde, 0x87, 0xee, 0xcb, 0x96, 0x82, 0x1a, 0x50, 0xdf, 0x3b,
+	0x78, 0xb7, 0xd9, 0xd9, 0xed, 0xb6, 0x2a, 0xdc, 0x7e, 0x70, 0xb4, 0xdd, 0x35, 0x5b, 0x55, 0xfd,
+	0x87, 0x02, 0xff, 0x8e, 0x1e, 0x55, 0xb4, 0x01, 0x75, 0x3e, 0xeb, 0x96, 0xef, 0xca, 0x56, 0x2c,
+	0x97, 0xe4, 0xc9, 0xe1, 0x3d, 0xd7, 0xac, 0x51, 0xf1, 0x8f, 0x96, 0xa1, 0x41, 0x71, 0xe2, 0x47,
+	0x4c, 0x52, 0x1c, 0x2f, 0xb2, 0x64, 0x73, 0x00, 0x99, 0x91, 0xb9, 0xfc, 0x07, 0x60, 0xf3, 0xcb,
+	0x59, 0xe2, 0x1e, 0xaa, 0xf4, 0xd0, 0x84, 0x6d, 0x9f, 0x99, 0xd0, 0x3e, 0x34, 0x53, 0x87, 0x6c,
+	0x20, 0xaa, 0x22, 0x8b, 0xfb, 0x63, 0x56, 0x8b, 0x91, 0x4d, 0xdb, 0xb9, 0x7d, 0x07, 0x60, 0x2a,
+	0x0b, 0xaf, 0x7f, 0x51, 0x60, 0xb1, 0x44, 0x48, 0x2c, 0xf6, 0xf4, 0x95, 0x26, 0xaf, 0x0b, 0xb0,
+	0x3a, 0xb6, 0x2c, 0x59, 0x29, 0x1a, 0xe7, 0xd7, 0x1b, 0x76, 0xd9, 0x46, 0x14, 0xda, 0xfd, 0xe8,
+	0x84, 0xc4, 0x57, 0xf5, 0x30, 0x21, 0x33, 0xf5, 0x5c, 0xfd, 0xa7, 0x02, 0x7f, 0x8d, 0xd0, 0x1f,
+	0x9a, 0x87, 0xa9, 0x13, 0x12, 0xc5, 0xd6, 0x80, 0xfa, 0x72, 0xd6, 0xea, 0x7c, 0xff, 0x96, 0xfa,
+	0xe8, 0x1e, 0xcc, 0xa4, 0xd2, 0xb4, 0xd8, 0x9b, 0xf5, 0x19, 0x3b, 0xb1, 0xa4, 0x6d, 0xa6, 0xd6,
+	0xc3, 0xd4, 0x38, 0xdc, 0x0a, 0xf5, 0xce, 0x56, 0x54, 0xc7, 0x68, 0xc5, 0xe4, 0x9f, 0x6b, 0x45,
+	0x17, 0x5a, 0xc3, 0x2f, 0x06, 0x17, 0xd7, 0x80, 0x06, 0x99, 0xb8, 0xd8, 0x92, 0x17, 0xf0, 0xc6,
+	0x40, 0xe5, 0xef, 0xa0, 0x27, 0x50, 0x4b, 0x67, 0x90, 0xbd, 0xd4, 0xb3, 0xb2, 0x20, 0x56, 0x71,
+	0x7e, 0xcb, 0x9e, 0x12, 0x59, 0xad, 0x94, 0x82, 0xe5, 0xdb, 0xec, 0xe7, 0x0d, 0x4c, 0x6e, 0xea,
+	0x20, 0x37, 0xc7, 0x7c, 0xd3, 0xa9, 0x42, 0xc5, 0x77, 0xf5, 0x1d, 0x68, 0x16, 0xb0, 0x68, 0x09,
+	0x20, 0x0b, 0x2f, 0x23, 0x6b, 0xa6, 0x26, 0x2d, 0xec, 0x78, 0x11, 0x34, 0x91, 0x55, 0x4e, 0xbd,
+	0x53, 0xdc, 0xc0, 0xeb, 0xac, 0x1f, 0x43, 0x6b, 0x78, 0x8e, 0x7e, 0x4b, 0x86, 0x23, 0x5e, 0x89,
+	0xce, 0x23, 0x58, 0x72, 0xc8, 0xd9, 0xed, 0x1c, 0x1d, 0x54, 0xe8, 0xc5, 0x21, 0xff, 0x1e, 0x1e,
+	0x2a, 0xc7, 0x35, 0xf1, 0x61, 0x7c, 0xf8, 0x2b, 0x00, 0x00, 0xff, 0xff, 0xee, 0x8d, 0xe8, 0x1b,
+	0xcf, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/source/v1/source_context.proto b/googleapis/devtools/source/v1/source_context.proto
index f0230cee..f4fcc9bd 100644
--- a/googleapis/devtools/source/v1/source_context.proto
+++ b/googleapis/devtools/source/v1/source_context.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2016, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/googleapis/example/library/v1/library.pb.go b/googleapis/example/library/v1/library.pb.go
index 903b5458..f7248d6f 100644
--- a/googleapis/example/library/v1/library.pb.go
+++ b/googleapis/example/library/v1/library.pb.go
@@ -766,59 +766,59 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 856 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdd, 0x4e, 0xe3, 0x46,
-	0x14, 0x96, 0x21, 0x81, 0x70, 0xc2, 0x5f, 0x06, 0x84, 0x52, 0x17, 0x4a, 0x3a, 0x02, 0x9a, 0xa6,
-	0xd4, 0x16, 0xa0, 0xf6, 0x22, 0x52, 0x6f, 0xe8, 0x0f, 0xaa, 0x04, 0x6d, 0x94, 0xb4, 0x77, 0x48,
-	0x91, 0x13, 0x06, 0xc7, 0x22, 0xf6, 0xb8, 0xf6, 0x24, 0x22, 0xa0, 0x5e, 0xb4, 0x12, 0x42, 0xda,
-	0xdb, 0x7d, 0x85, 0x7d, 0xa3, 0x7d, 0x85, 0x7d, 0x90, 0xd5, 0xcc, 0xd8, 0x60, 0x12, 0x33, 0xf6,
-	0x5e, 0xec, 0x4d, 0xe4, 0x99, 0x39, 0xf3, 0x9d, 0xef, 0x7c, 0xe7, 0xcc, 0x17, 0xf8, 0xcd, 0xa6,
-	0xd4, 0x1e, 0x12, 0xc3, 0xa6, 0x43, 0xcb, 0xb3, 0x0d, 0x1a, 0xd8, 0xa6, 0x4d, 0x3c, 0x3f, 0xa0,
-	0x8c, 0x9a, 0xf2, 0xc8, 0xf2, 0x9d, 0xd0, 0x24, 0xb7, 0x96, 0xeb, 0x0f, 0x89, 0x39, 0x74, 0x7a,
-	0x81, 0x15, 0x4c, 0xcc, 0xf1, 0x51, 0xfc, 0x69, 0x88, 0x58, 0xf4, 0x45, 0x84, 0x13, 0x05, 0x1a,
-	0xf1, 0xe9, 0xf8, 0x48, 0xff, 0x3d, 0x5f, 0x0a, 0xcb, 0x77, 0xcc, 0x90, 0x04, 0x63, 0xa7, 0x4f,
-	0xfa, 0xd4, 0xbb, 0x76, 0x6c, 0xd3, 0xf2, 0x3c, 0xca, 0x2c, 0xe6, 0x50, 0x2f, 0x94, 0x59, 0xf4,
-	0x13, 0xdb, 0x61, 0x83, 0x51, 0xcf, 0xe8, 0x53, 0xd7, 0x94, 0x70, 0xa6, 0x38, 0xe8, 0x8d, 0xae,
-	0x4d, 0x9f, 0x4d, 0x7c, 0x12, 0x9a, 0xc4, 0xf5, 0xd9, 0x44, 0xfe, 0xca, 0x4b, 0xf8, 0x12, 0x0a,
-	0xa7, 0x94, 0xde, 0x20, 0x04, 0x05, 0xcf, 0x72, 0x49, 0x55, 0xab, 0x69, 0xf5, 0xa5, 0xb6, 0xf8,
-	0x46, 0x5b, 0xb0, 0x60, 0x8d, 0xd8, 0x80, 0x06, 0xd5, 0x39, 0xb1, 0x1b, 0xad, 0xd0, 0x26, 0x14,
-	0x99, 0xc3, 0x86, 0xa4, 0x3a, 0x2f, 0xb6, 0xe5, 0x82, 0x23, 0x04, 0xc4, 0xba, 0xaa, 0x16, 0x6a,
-	0x5a, 0xbd, 0xd4, 0x16, 0xdf, 0xf8, 0x08, 0x8a, 0x9d, 0x01, 0x19, 0x5e, 0xa7, 0xc2, 0x73, 0x98,
-	0x01, 0x71, 0x49, 0x84, 0x2e, 0x17, 0xf8, 0x1c, 0xd0, 0xcf, 0x01, 0xb1, 0x18, 0x11, 0x17, 0xdb,
-	0xe4, 0x9f, 0x11, 0x09, 0x19, 0xfa, 0x11, 0x8a, 0x21, 0x5f, 0x0b, 0x80, 0xf2, 0x71, 0xcd, 0x78,
-	0x55, 0x51, 0x43, 0xde, 0x93, 0xe1, 0x78, 0x1f, 0xd6, 0xce, 0x08, 0x7b, 0x01, 0x95, 0x42, 0x05,
-	0xb7, 0x00, 0x9d, 0x3b, 0xa1, 0x88, 0x1b, 0x93, 0x30, 0x8e, 0xfc, 0x12, 0x96, 0x7c, 0xcb, 0x26,
-	0xdd, 0xd0, 0xb9, 0x93, 0xe1, 0xc5, 0x76, 0x89, 0x6f, 0x74, 0x9c, 0x3b, 0x82, 0x76, 0x00, 0xc4,
-	0x21, 0xa3, 0x37, 0xc4, 0x8b, 0x4a, 0x10, 0xe1, 0x7f, 0xf1, 0x0d, 0x3c, 0x81, 0x8d, 0x17, 0x88,
-	0xa1, 0x4f, 0xbd, 0x90, 0xa0, 0x26, 0x2c, 0x86, 0x72, 0xab, 0xaa, 0xd5, 0xe6, 0x73, 0x55, 0x12,
-	0x5f, 0x40, 0x07, 0xb0, 0xe6, 0x91, 0x5b, 0xd6, 0x9d, 0x49, 0xbb, 0xc2, 0xb7, 0x5b, 0x4f, 0xa9,
-	0xeb, 0x80, 0x7e, 0x21, 0x43, 0x32, 0xa5, 0x60, 0x5a, 0xd9, 0x1d, 0xd8, 0xb8, 0x20, 0x81, 0x4d,
-	0xa6, 0xea, 0x4e, 0x6b, 0x56, 0x1d, 0xd6, 0x29, 0x1b, 0x90, 0xa0, 0x2b, 0x74, 0xed, 0x8a, 0x73,
-	0x99, 0x7d, 0x55, 0xec, 0x8b, 0x5c, 0x7f, 0x70, 0xd0, 0x4b, 0xa8, 0xc8, 0x06, 0xf2, 0xb9, 0x52,
-	0x41, 0x9e, 0x40, 0xa1, 0x47, 0xe9, 0x8d, 0x80, 0x29, 0x1f, 0xef, 0x2a, 0x84, 0x10, 0x48, 0x22,
-	0x18, 0xef, 0xc1, 0xea, 0x19, 0x61, 0x19, 0xd0, 0xb8, 0x07, 0xeb, 0x5c, 0x7d, 0x1e, 0xa6, 0xac,
-	0xea, 0x45, 0x87, 0xe7, 0x94, 0x1d, 0x9e, 0x9f, 0xee, 0x70, 0x00, 0x95, 0x44, 0x8e, 0xa8, 0xbf,
-	0x3f, 0x40, 0x91, 0xd3, 0x8c, 0xbb, 0x9b, 0x59, 0x94, 0x8c, 0xce, 0xdd, 0xda, 0x4b, 0xa8, 0xfc,
-	0xed, 0x5f, 0x7d, 0x2e, 0x6d, 0xbf, 0x81, 0x8a, 0x1c, 0x9c, 0x2c, 0x79, 0xff, 0x84, 0xb5, 0x0b,
-	0x3a, 0xce, 0x24, 0x91, 0x7b, 0x66, 0x8e, 0xdf, 0x95, 0x61, 0xf5, 0x5c, 0x72, 0xea, 0x48, 0x97,
-	0x43, 0x77, 0x50, 0x4e, 0xf8, 0x00, 0xfa, 0x5e, 0x51, 0xc2, 0xac, 0x5f, 0xe8, 0x99, 0xcf, 0x0a,
-	0xeb, 0xff, 0xbf, 0xff, 0xf0, 0x76, 0x6e, 0x13, 0x97, 0xb9, 0x5d, 0x47, 0x4f, 0xac, 0x29, 0x5d,
-	0x03, 0x8d, 0xa1, 0x14, 0xbb, 0x06, 0x6a, 0x28, 0x90, 0xa6, 0xac, 0x25, 0x47, 0xd6, 0x6d, 0x91,
-	0x75, 0x0b, 0x6d, 0xf2, 0xac, 0xf7, 0x5c, 0x91, 0x9f, 0xa2, 0xdc, 0x66, 0xe3, 0x5f, 0xf4, 0x9f,
-	0x06, 0xe5, 0x84, 0x6b, 0x28, 0x8b, 0x9e, 0xf5, 0x2b, 0xdd, 0xc8, 0x1b, 0x2e, 0x87, 0x15, 0x6f,
-	0x08, 0x32, 0x2b, 0x28, 0x29, 0x01, 0x0a, 0xa0, 0x9c, 0x70, 0x0f, 0x25, 0x85, 0x59, 0x97, 0xd1,
-	0xb7, 0xe2, 0xf0, 0xf8, 0x9f, 0xc7, 0xf8, 0x95, 0xff, 0xd9, 0xc4, 0x75, 0x37, 0xd2, 0xeb, 0x7e,
-	0xd4, 0x60, 0x39, 0x69, 0x44, 0x48, 0x55, 0x49, 0x8a, 0x63, 0xe5, 0x10, 0x7e, 0x5f, 0x10, 0xd8,
-	0xc5, 0x7a, 0x1a, 0x81, 0xa6, 0xcb, 0x31, 0x9b, 0x5a, 0x03, 0x3d, 0x68, 0x00, 0xcf, 0xee, 0x85,
-	0x0e, 0x33, 0xa7, 0x2e, 0xf1, 0x06, 0xf4, 0xac, 0x67, 0x86, 0xeb, 0x82, 0x04, 0x4e, 0x27, 0x61,
-	0x0a, 0x2b, 0x68, 0x8a, 0xa7, 0x88, 0xee, 0x61, 0x31, 0xb2, 0x39, 0xf4, 0xad, 0x7a, 0x00, 0x3f,
-	0x89, 0xc0, 0x9e, 0x20, 0xf0, 0x15, 0xda, 0x4e, 0x21, 0x20, 0xf3, 0xf3, 0x76, 0xbc, 0xd1, 0x60,
-	0xe9, 0xc9, 0xda, 0xd0, 0x77, 0x19, 0x53, 0x95, 0x34, 0x59, 0xfd, 0x30, 0x5f, 0x70, 0x34, 0x80,
-	0x58, 0xd0, 0xd9, 0x46, 0x0a, 0x3d, 0xd0, 0x2d, 0xc0, 0xb3, 0x29, 0x29, 0x1b, 0x32, 0xe3, 0x5d,
-	0xaf, 0x4e, 0x63, 0x24, 0x43, 0x43, 0x2d, 0xc3, 0xa3, 0x06, 0xf0, 0xec, 0xb6, 0xca, 0xd4, 0x33,
-	0xa6, 0x9c, 0xdd, 0x8a, 0x86, 0xe0, 0xb0, 0xa7, 0x2b, 0x39, 0x44, 0xd3, 0xf0, 0xa0, 0x41, 0x29,
-	0x36, 0x5c, 0xa5, 0x21, 0x4d, 0xb9, 0x72, 0x36, 0x8b, 0x43, 0xc1, 0xe2, 0x00, 0x7f, 0xad, 0x64,
-	0xe1, 0xd2, 0x31, 0x7f, 0x1d, 0xa7, 0x26, 0xec, 0xf4, 0xa9, 0xfb, 0x3a, 0xe6, 0xe9, 0x72, 0x64,
-	0xe2, 0x2d, 0xae, 0x77, 0x4b, 0xeb, 0x2d, 0x08, 0xe1, 0x4f, 0x3e, 0x06, 0x00, 0x00, 0xff, 0xff,
-	0x2d, 0x39, 0x37, 0x73, 0x49, 0x0b, 0x00, 0x00,
+	// 854 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x4e, 0xdb, 0x48,
+	0x14, 0x96, 0x43, 0x02, 0xe1, 0x84, 0xdf, 0x01, 0xa1, 0xac, 0x17, 0x16, 0x76, 0x04, 0x6c, 0x36,
+	0xcb, 0xda, 0x02, 0xb4, 0x7b, 0x11, 0x69, 0x6f, 0xd8, 0xdd, 0x56, 0x95, 0xa0, 0x8d, 0x92, 0xf6,
+	0x0e, 0x29, 0x72, 0x60, 0x70, 0x2c, 0x12, 0x8f, 0x6b, 0x3b, 0x11, 0x3f, 0xea, 0x45, 0x2b, 0x55,
+	0x95, 0x7a, 0xdb, 0x57, 0xe8, 0x1b, 0xf5, 0x15, 0xfa, 0x20, 0x9d, 0x1f, 0x1b, 0x4c, 0x62, 0xc6,
+	0xee, 0x45, 0x6f, 0xa2, 0x99, 0x33, 0x67, 0xbe, 0xf3, 0x9d, 0x9f, 0xf9, 0x1c, 0x78, 0x62, 0x53,
+	0x6a, 0xf7, 0x89, 0x61, 0xd3, 0xbe, 0xe5, 0xda, 0x06, 0xf5, 0x6d, 0xd3, 0x26, 0xae, 0xe7, 0xd3,
+	0x90, 0x9a, 0xf2, 0xc8, 0xf2, 0x9c, 0xc0, 0x24, 0x57, 0xd6, 0xc0, 0xeb, 0x13, 0xb3, 0xef, 0x74,
+	0x7d, 0xcb, 0xbf, 0x36, 0x47, 0xfb, 0xf1, 0xd2, 0x10, 0xbe, 0xe8, 0xa7, 0x08, 0x27, 0x72, 0x34,
+	0xe2, 0xd3, 0xd1, 0xbe, 0xfe, 0x2c, 0x5f, 0x08, 0xf6, 0x63, 0x06, 0xc4, 0x1f, 0x39, 0x67, 0xe4,
+	0x8c, 0xba, 0x17, 0x8e, 0x6d, 0x5a, 0xae, 0x4b, 0x43, 0x2b, 0x74, 0xa8, 0x1b, 0xc8, 0x28, 0xfa,
+	0xa1, 0xed, 0x84, 0xbd, 0x61, 0xd7, 0x38, 0xa3, 0x03, 0x53, 0xc2, 0x99, 0xe2, 0xa0, 0x3b, 0xbc,
+	0x30, 0xbd, 0xf0, 0xda, 0x23, 0x8c, 0xe9, 0x80, 0x2d, 0xe4, 0xaf, 0xbc, 0x84, 0x4f, 0xa1, 0x78,
+	0x44, 0xe9, 0x25, 0x42, 0x50, 0x74, 0xad, 0x01, 0xa9, 0x6a, 0x5b, 0x5a, 0x6d, 0xb6, 0x25, 0xd6,
+	0x68, 0x0d, 0xa6, 0xad, 0x61, 0xd8, 0xa3, 0x7e, 0xb5, 0x20, 0xac, 0xd1, 0x0e, 0xad, 0x42, 0x29,
+	0x74, 0xc2, 0x3e, 0xa9, 0x4e, 0x09, 0xb3, 0xdc, 0x70, 0x04, 0x9f, 0x58, 0xe7, 0xd5, 0x22, 0x33,
+	0x96, 0x5b, 0x62, 0x8d, 0xf7, 0xa1, 0xd4, 0xee, 0x91, 0xfe, 0x45, 0x2a, 0x3c, 0x87, 0xe9, 0x11,
+	0x66, 0x2c, 0x44, 0x30, 0x7c, 0x83, 0x8f, 0x01, 0xfd, 0xcb, 0xee, 0x86, 0x44, 0x5c, 0x6c, 0x91,
+	0xd7, 0x43, 0x12, 0x84, 0xe8, 0x6f, 0x28, 0x05, 0x7c, 0x2f, 0x00, 0x2a, 0x07, 0x5b, 0xc6, 0xa3,
+	0x15, 0x35, 0xe4, 0x3d, 0xe9, 0x8e, 0x77, 0x60, 0xf1, 0x29, 0x09, 0x1f, 0x40, 0xa5, 0x50, 0xc1,
+	0x4d, 0x40, 0xc7, 0x4e, 0x20, 0xfc, 0x46, 0x24, 0x88, 0x3d, 0x7f, 0x86, 0x59, 0xcf, 0xb2, 0x49,
+	0x27, 0x70, 0x6e, 0xa4, 0x7b, 0xa9, 0x55, 0xe6, 0x86, 0x36, 0xdb, 0xa3, 0x0d, 0x00, 0x71, 0x18,
+	0xd2, 0x4b, 0xe2, 0x46, 0x29, 0x08, 0xf7, 0x97, 0xdc, 0x80, 0xaf, 0x61, 0xe5, 0x01, 0x62, 0xe0,
+	0xb1, 0x46, 0x11, 0xd4, 0x80, 0x99, 0x40, 0x9a, 0x18, 0xe0, 0x54, 0xae, 0x4c, 0xe2, 0x0b, 0x68,
+	0x17, 0x16, 0x5d, 0x72, 0x15, 0x76, 0x26, 0xc2, 0xce, 0x73, 0x73, 0xf3, 0x2e, 0x74, 0x0d, 0xd0,
+	0x7f, 0xa4, 0x4f, 0xc6, 0x2a, 0x98, 0x96, 0x76, 0x1b, 0x56, 0x4e, 0x88, 0x6f, 0x93, 0xb1, 0xbc,
+	0xd3, 0x9a, 0x55, 0x83, 0x25, 0xca, 0x1a, 0xe4, 0x77, 0x44, 0x5d, 0x3b, 0xe2, 0x5c, 0x46, 0x5f,
+	0x10, 0x76, 0x11, 0xeb, 0x39, 0x07, 0x3d, 0x85, 0x65, 0xd9, 0x40, 0x3e, 0x57, 0x2a, 0xc8, 0x43,
+	0x28, 0x76, 0x99, 0x8b, 0x80, 0xa9, 0x1c, 0x6c, 0x2a, 0x0a, 0x21, 0x90, 0x84, 0x33, 0xde, 0x86,
+	0x05, 0xd6, 0xd0, 0x0c, 0x68, 0xdc, 0x85, 0x25, 0x5e, 0x7d, 0xee, 0xa6, 0xcc, 0xea, 0x41, 0x87,
+	0x0b, 0xca, 0x0e, 0x4f, 0x8d, 0x77, 0xd8, 0x87, 0xe5, 0x44, 0x8c, 0xa8, 0xbf, 0x7f, 0x41, 0x89,
+	0xd3, 0x8c, 0xbb, 0x9b, 0x99, 0x94, 0xf4, 0xce, 0xdd, 0x5a, 0x56, 0xdb, 0x57, 0xde, 0xf9, 0x8f,
+	0xaa, 0xed, 0x6f, 0xb0, 0x2c, 0x07, 0x27, 0xab, 0xbc, 0x2f, 0x60, 0xf1, 0x84, 0x8e, 0x32, 0x49,
+	0xe4, 0x9e, 0x99, 0x83, 0xcf, 0x15, 0x58, 0x38, 0x96, 0x9c, 0xda, 0x52, 0xe5, 0xd0, 0x0d, 0x54,
+	0x12, 0x3a, 0x80, 0xfe, 0x54, 0xa4, 0x30, 0xa9, 0x17, 0x7a, 0xe6, 0xb3, 0xc2, 0xfa, 0xbb, 0x2f,
+	0x5f, 0x3f, 0x15, 0x56, 0x71, 0x85, 0xcb, 0x75, 0xf4, 0xc4, 0x1a, 0x52, 0x35, 0xd0, 0x08, 0xca,
+	0xb1, 0x6a, 0xa0, 0xba, 0x02, 0x69, 0x4c, 0x5a, 0x72, 0x44, 0x5d, 0x17, 0x51, 0xd7, 0xd0, 0x2a,
+	0x8f, 0x7a, 0xcb, 0x2b, 0xf2, 0x4f, 0x14, 0xdb, 0xac, 0xbf, 0x41, 0x6f, 0x35, 0xa8, 0x24, 0x54,
+	0x43, 0x99, 0xf4, 0xa4, 0x5e, 0xe9, 0x46, 0x5e, 0x77, 0x39, 0xac, 0x78, 0x45, 0x90, 0x99, 0x47,
+	0xc9, 0x12, 0x20, 0x1f, 0x2a, 0x09, 0xf5, 0x50, 0x52, 0x98, 0x54, 0x19, 0x7d, 0x2d, 0x76, 0x8f,
+	0xbf, 0x3c, 0xc6, 0xff, 0xfc, 0x63, 0x13, 0xe7, 0x5d, 0x4f, 0xcf, 0xfb, 0x83, 0x06, 0x73, 0x49,
+	0x21, 0x42, 0xaa, 0x4c, 0x52, 0x14, 0x2b, 0x47, 0xe1, 0x77, 0x04, 0x81, 0x4d, 0xac, 0xa7, 0x11,
+	0x68, 0x0c, 0x38, 0x66, 0x43, 0xab, 0xa3, 0xf7, 0x1a, 0xc0, 0xbd, 0x7a, 0xa1, 0xbd, 0xcc, 0xa9,
+	0x4b, 0xbc, 0x01, 0x3d, 0xeb, 0x99, 0xe1, 0x9a, 0x20, 0x81, 0xd3, 0x49, 0x98, 0x42, 0x0a, 0x1a,
+	0xe2, 0x29, 0xa2, 0x5b, 0x98, 0x89, 0x64, 0x0e, 0xfd, 0xae, 0x1e, 0xc0, 0xef, 0x22, 0xb0, 0x2d,
+	0x08, 0xfc, 0x82, 0xd6, 0x53, 0x08, 0xc8, 0xf8, 0xbc, 0x1d, 0x1f, 0x35, 0x98, 0xbd, 0x93, 0x36,
+	0xf4, 0x47, 0xc6, 0x54, 0x25, 0x45, 0x56, 0xdf, 0xcb, 0xe7, 0x1c, 0x0d, 0x20, 0x16, 0x74, 0xd6,
+	0x91, 0xa2, 0x1e, 0xe8, 0x0a, 0xe0, 0x5e, 0x94, 0x94, 0x0d, 0x99, 0xd0, 0xae, 0x47, 0xa7, 0x31,
+	0x2a, 0x43, 0x5d, 0x5d, 0x06, 0x36, 0x95, 0x70, 0xaf, 0xb6, 0xca, 0xd0, 0x13, 0xa2, 0x9c, 0xdd,
+	0x8a, 0xba, 0xe0, 0xb0, 0xad, 0x2b, 0x39, 0x44, 0xd3, 0xc0, 0xa6, 0xb2, 0x1c, 0x0b, 0xae, 0x52,
+	0x90, 0xc6, 0x54, 0x39, 0x9b, 0xc5, 0x9e, 0x60, 0xb1, 0x8b, 0x7f, 0x55, 0xb2, 0x18, 0x30, 0x58,
+	0xf6, 0x3a, 0x8e, 0x4c, 0xd8, 0x60, 0x7f, 0x2e, 0x1f, 0xc7, 0x3c, 0x9a, 0x8b, 0x44, 0xbc, 0xc9,
+	0xeb, 0xdd, 0xd4, 0xba, 0xd3, 0xa2, 0xf0, 0x87, 0xdf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x39,
+	0x37, 0x73, 0x49, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/annotations.pb.go b/googleapis/genomics/v1/annotations.pb.go
index e170086a..d347b9fd 100644
--- a/googleapis/genomics/v1/annotations.pb.go
+++ b/googleapis/genomics/v1/annotations.pb.go
@@ -874,6 +874,14 @@ type BatchCreateAnnotationsRequest struct {
 	// The annotations to be created. At most 4096 can be specified in a single
 	// request.
 	Annotations []*Annotation `protobuf:"bytes,1,rep,name=annotations" json:"annotations,omitempty"`
+	// A unique request ID which enables the server to detect duplicated requests.
+	// If provided, duplicated requests will result in the same response; if not
+	// provided, duplicated requests may result in duplicated data. For a given
+	// annotation set, callers should not reuse `request_id`s when writing
+	// different batches of annotations - behavior in this case is undefined.
+	// A common approach is to use a UUID. For batch jobs where worker crashes are
+	// a possibility, consider using some unique variant of a worker or run ID.
+	RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId" json:"request_id,omitempty"`
 }
 
 func (m *BatchCreateAnnotationsRequest) Reset()                    { *m = BatchCreateAnnotationsRequest{} }
@@ -1724,143 +1732,143 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 2204 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0xdb, 0xc8,
-	0xf5, 0x0f, 0xf5, 0xd3, 0x7e, 0xb2, 0x65, 0x7a, 0xe2, 0xb5, 0xb5, 0xf2, 0x37, 0x89, 0xc3, 0x6c,
-	0x12, 0xc3, 0xdf, 0x44, 0xda, 0x28, 0xfd, 0x91, 0xcd, 0x76, 0xd3, 0x95, 0x69, 0xda, 0x9e, 0xae,
-	0x4c, 0x09, 0x24, 0xe5, 0xc2, 0x27, 0x82, 0xa6, 0x46, 0x0a, 0x11, 0x9b, 0x54, 0x49, 0xda, 0x8d,
-	0xb7, 0x58, 0xa0, 0x58, 0x6c, 0xd1, 0x53, 0x2f, 0xbb, 0x7b, 0xef, 0xa5, 0x40, 0xfb, 0x3f, 0xf4,
-	0x52, 0xa0, 0xf7, 0xf6, 0x50, 0xf4, 0x3f, 0xe8, 0x65, 0xaf, 0x3d, 0x15, 0xe8, 0xa5, 0x98, 0x21,
-	0x25, 0x51, 0x14, 0x65, 0xc9, 0x0d, 0xd0, 0x8b, 0x4d, 0x3e, 0xbe, 0xf7, 0xe6, 0x33, 0x9f, 0x79,
-	0xbf, 0x46, 0x20, 0xf6, 0x1c, 0xa7, 0x77, 0x46, 0x2a, 0x3d, 0xe7, 0xcc, 0xb0, 0x7b, 0x15, 0xc7,
-	0xed, 0x55, 0x7b, 0xc4, 0xee, 0xbb, 0x8e, 0xef, 0x54, 0x83, 0x4f, 0x46, 0xdf, 0xf2, 0xa8, 0xcc,
-	0x39, 0xb7, 0x4c, 0xaf, 0x7a, 0xf9, 0xac, 0x6a, 0xd8, 0xb6, 0xe3, 0x1b, 0xbe, 0xe5, 0xd8, 0x5e,
-	0x85, 0x29, 0x22, 0x34, 0x70, 0x12, 0x6a, 0x55, 0x2e, 0x9f, 0x95, 0xf1, 0x7c, 0x8e, 0x8d, 0xbe,
-	0x55, 0xf5, 0x88, 0x7b, 0x69, 0x99, 0xc4, 0x74, 0xec, 0xae, 0xd5, 0x9b, 0x74, 0x5f, 0x7e, 0xde,
-	0xb3, 0xfc, 0xd7, 0x17, 0xa7, 0x15, 0xd3, 0x39, 0xaf, 0x06, 0xee, 0xaa, 0xec, 0xc3, 0xe9, 0x45,
-	0xb7, 0xda, 0xf7, 0xaf, 0xfa, 0xc4, 0xab, 0x92, 0xf3, 0xbe, 0x7f, 0x15, 0xfc, 0x0d, 0x8d, 0xbe,
-	0x77, 0xcd, 0xfa, 0x43, 0xeb, 0xae, 0x45, 0xce, 0x3a, 0xfa, 0xb9, 0xe1, 0xbd, 0x09, 0xad, 0xbe,
-	0x3f, 0x7b, 0x29, 0xcf, 0x77, 0x2f, 0x4c, 0x3f, 0xfc, 0x17, 0x9a, 0x7d, 0x34, 0xdb, 0xec, 0xe7,
-	0xae, 0xd1, 0xef, 0x13, 0x77, 0xf4, 0x10, 0x9a, 0x7e, 0x32, 0x1f, 0x4f, 0x6e, 0xdf, 0xac, 0x7a,
-	0xbe, 0xe1, 0x5f, 0x78, 0xe1, 0xbf, 0xc0, 0x5c, 0xf8, 0x2e, 0x05, 0xcb, 0xf5, 0x21, 0x63, 0x2a,
-	0xf1, 0x51, 0x11, 0x52, 0x56, 0xa7, 0xc4, 0x6d, 0x71, 0xdb, 0x8b, 0x4a, 0xca, 0xea, 0xa0, 0x3b,
-	0x00, 0x1d, 0xc3, 0x37, 0x3c, 0xe2, 0xeb, 0x56, 0xa7, 0x94, 0x62, 0xf2, 0xc5, 0x50, 0x82, 0x3b,
-	0x68, 0x1b, 0x78, 0x97, 0x74, 0x89, 0x4b, 0x6c, 0x93, 0xe8, 0xa1, 0x52, 0x9a, 0x29, 0x15, 0x87,
-	0x72, 0x95, 0x69, 0x22, 0xc8, 0xd8, 0xc6, 0x39, 0x29, 0x65, 0xd8, 0x57, 0xf6, 0x4c, 0x9d, 0x7b,
-	0xce, 0x85, 0x6b, 0x12, 0xfd, 0xc2, 0xb5, 0x4a, 0xd9, 0xc0, 0x79, 0x20, 0x69, 0xbb, 0x16, 0xfa,
-	0x01, 0x64, 0xe8, 0xee, 0x4b, 0xb9, 0x2d, 0x6e, 0xbb, 0x58, 0x13, 0x2a, 0x93, 0x71, 0x52, 0x19,
-	0x81, 0xd7, 0xae, 0xfa, 0x44, 0x61, 0xfa, 0xe8, 0xc7, 0x90, 0xb1, 0xec, 0xae, 0x53, 0x5a, 0xdd,
-	0x4a, 0x6f, 0x17, 0x6a, 0xff, 0x7f, 0xbd, 0x9d, 0x4a, 0xfc, 0x0a, 0xb6, 0xbb, 0x8e, 0x64, 0xfb,
-	0xee, 0x95, 0xc2, 0x0c, 0xcb, 0x2a, 0x2c, 0x0e, 0x45, 0x88, 0x87, 0xf4, 0x1b, 0x72, 0x15, 0x52,
-	0x42, 0x1f, 0xd1, 0x87, 0x90, 0xbd, 0x34, 0xce, 0x2e, 0x08, 0xa3, 0xa3, 0x50, 0x2b, 0x0f, 0x16,
-	0x18, 0x1c, 0x5a, 0xa5, 0x61, 0x79, 0xfe, 0x31, 0xd5, 0x50, 0x02, 0xc5, 0x97, 0xa9, 0x17, 0x9c,
-	0xf0, 0x97, 0x0c, 0xc0, 0x68, 0xd9, 0x09, 0xa2, 0x77, 0x60, 0x75, 0x14, 0xbb, 0xfa, 0x18, 0xdf,
-	0x2b, 0x46, 0x14, 0x6d, 0x84, 0xcb, 0x74, 0x84, 0xcb, 0xfb, 0xb0, 0x34, 0x3a, 0x09, 0xab, 0x13,
-	0xf2, 0x5c, 0x18, 0xca, 0x70, 0x07, 0x3d, 0x84, 0xd1, 0xa1, 0xe8, 0xcc, 0x41, 0x40, 0xf9, 0xf2,
-	0x50, 0x2a, 0x53, 0x4f, 0x6b, 0x90, 0xf5, 0x7c, 0xc3, 0xf5, 0x19, 0xef, 0x69, 0x25, 0x78, 0xa1,
-	0x34, 0x10, 0xbb, 0x53, 0xca, 0x33, 0x19, 0x7d, 0x0c, 0xdc, 0x5d, 0x12, 0xd7, 0x23, 0xba, 0xe7,
-	0xbb, 0x86, 0xdd, 0x29, 0x2d, 0x6c, 0x71, 0xdb, 0x0b, 0xd4, 0x1d, 0x93, 0xaa, 0x4c, 0x38, 0x3c,
-	0xc5, 0xc5, 0x1b, 0x9e, 0x62, 0x1d, 0xf2, 0x97, 0x86, 0x6b, 0x19, 0xb6, 0x5f, 0x02, 0xc6, 0xf3,
-	0xc3, 0x24, 0xd3, 0xe3, 0x40, 0x65, 0xe4, 0xe1, 0xf0, 0x96, 0x32, 0xb0, 0x43, 0x9f, 0x02, 0x50,
-	0x0c, 0x9e, 0xe9, 0x5a, 0x7d, 0xbf, 0x54, 0x60, 0x5e, 0xee, 0x26, 0x79, 0xd1, 0x86, 0x5a, 0x87,
-	0xb7, 0x94, 0x88, 0x0d, 0xfa, 0x51, 0x18, 0x4a, 0x4b, 0x2c, 0x94, 0xb6, 0xaf, 0x07, 0xff, 0x3f,
-	0x89, 0xa3, 0xdd, 0x7c, 0x68, 0x25, 0xfc, 0x7b, 0x11, 0x56, 0x27, 0xb6, 0x8f, 0x5e, 0x85, 0x74,
-	0x73, 0x8c, 0xee, 0x9d, 0xb9, 0x38, 0xab, 0x44, 0x68, 0xdf, 0x83, 0x1c, 0xe9, 0x76, 0x89, 0xe9,
-	0x33, 0x54, 0xc5, 0xda, 0x93, 0xf9, 0x3c, 0x48, 0xcc, 0x46, 0x09, 0x6d, 0xd1, 0x63, 0x58, 0x31,
-	0xce, 0x7c, 0xe2, 0xda, 0x86, 0x4f, 0xf4, 0x53, 0xc3, 0x23, 0xde, 0xa0, 0x2c, 0x0c, 0xc5, 0xbb,
-	0x54, 0x8a, 0x36, 0x20, 0xdf, 0x23, 0x76, 0x24, 0x62, 0x73, 0xf4, 0x35, 0x08, 0xd6, 0xd1, 0x39,
-	0xe8, 0x56, 0xc7, 0x2b, 0x65, 0xb7, 0xd2, 0x34, 0x58, 0x47, 0x52, 0xdc, 0xf1, 0xd0, 0x4f, 0x01,
-	0x4c, 0xc7, 0xee, 0x58, 0xac, 0xe2, 0x97, 0x72, 0xec, 0x98, 0x7e, 0x38, 0x1f, 0x64, 0xf1, 0xcc,
-	0xb2, 0x2d, 0xd3, 0x38, 0x13, 0x07, 0xf6, 0x4a, 0xc4, 0x15, 0x72, 0xe0, 0x3d, 0x33, 0x54, 0xd0,
-	0x3d, 0xab, 0x67, 0x5b, 0x5d, 0xcb, 0x34, 0x6c, 0x93, 0xb0, 0x0c, 0x28, 0xd6, 0x5e, 0xde, 0x6c,
-	0x0d, 0x35, 0xe2, 0x41, 0x59, 0x33, 0x13, 0xa4, 0xe5, 0xdf, 0x71, 0xb0, 0x3a, 0x01, 0x89, 0x26,
-	0x23, 0xcd, 0x54, 0xaf, 0xc4, 0xb1, 0xdd, 0x07, 0x2f, 0xa8, 0x0e, 0x4b, 0xe4, 0x2d, 0xe3, 0xf1,
-	0x8c, 0x51, 0x93, 0x62, 0xfb, 0x4e, 0x0c, 0x6d, 0x29, 0xd4, 0xc3, 0x1d, 0xa5, 0x40, 0x86, 0xcf,
-	0x1e, 0xad, 0xbd, 0xa6, 0x63, 0x9b, 0xa4, 0x1f, 0xa9, 0xd9, 0x8b, 0xa1, 0x04, 0x77, 0xe8, 0xb9,
-	0x38, 0xe7, 0xd6, 0x79, 0xe4, 0x5c, 0xe8, 0x2b, 0xee, 0x08, 0x5f, 0x40, 0x86, 0x46, 0x0b, 0x5a,
-	0x03, 0x5e, 0x3b, 0x69, 0x49, 0x7a, 0x5b, 0x56, 0x5b, 0x92, 0x88, 0xf7, 0xb1, 0xb4, 0xc7, 0xdf,
-	0x42, 0x45, 0x00, 0x26, 0x6d, 0x6a, 0x87, 0x92, 0xc2, 0x73, 0x68, 0x19, 0x16, 0xb1, 0xac, 0x4a,
-	0x8a, 0x86, 0x9b, 0x32, 0x9f, 0x42, 0x4b, 0xb0, 0xb0, 0x27, 0x35, 0x24, 0xf6, 0x96, 0x46, 0x3c,
-	0x2c, 0xa9, 0xed, 0x5d, 0x55, 0xc3, 0x5a, 0x9b, 0x49, 0x32, 0x28, 0x0f, 0x69, 0x55, 0x6e, 0xf1,
-	0x59, 0xea, 0x47, 0xd5, 0x94, 0xb6, 0xa8, 0xb5, 0x95, 0x7a, 0x83, 0xcf, 0xd1, 0x0f, 0xa2, 0x7c,
-	0xcc, 0xe7, 0x85, 0x3f, 0x73, 0x90, 0x0b, 0x62, 0x0d, 0xad, 0x03, 0x92, 0xf6, 0xf7, 0x25, 0x51,
-	0x8b, 0x61, 0xe0, 0x61, 0x29, 0x94, 0x0f, 0x50, 0x14, 0x01, 0xf6, 0x95, 0xfa, 0x91, 0xa4, 0x1e,
-	0xe2, 0x7d, 0x8d, 0x4f, 0xa1, 0x32, 0xac, 0xb3, 0x77, 0xbd, 0xa5, 0x48, 0xaa, 0xa4, 0x1c, 0x63,
-	0xf9, 0x40, 0xc7, 0xf2, 0x9e, 0xd4, 0xe0, 0xd3, 0x08, 0x41, 0x51, 0x3d, 0x91, 0x9b, 0xf2, 0xc9,
-	0x51, 0xb3, 0xad, 0xea, 0x14, 0x4d, 0x06, 0xbd, 0x07, 0xab, 0x72, 0x53, 0x8e, 0x89, 0xb3, 0x74,
-	0x73, 0xaa, 0xd6, 0x6c, 0xe9, 0x07, 0x75, 0x2c, 0xf3, 0xb9, 0xe1, 0x6b, 0xa3, 0xa9, 0xaa, 0x7c,
-	0x9e, 0x2e, 0xa2, 0xb6, 0x1a, 0x58, 0x94, 0x74, 0x15, 0x6b, 0x92, 0xbe, 0x87, 0x55, 0xa5, 0xdd,
-	0x62, 0xfb, 0x5c, 0x10, 0xfe, 0x94, 0x82, 0xb5, 0xa4, 0xd0, 0x40, 0x0f, 0xe1, 0xbe, 0xd8, 0xc0,
-	0x32, 0x16, 0xeb, 0x0d, 0x5d, 0xc5, 0x07, 0x32, 0xde, 0xc7, 0x62, 0x5d, 0x16, 0xe3, 0x34, 0xdf,
-	0x83, 0xcd, 0x64, 0xb5, 0x08, 0xef, 0x6d, 0x59, 0x94, 0x14, 0x8d, 0x42, 0x4b, 0x21, 0x80, 0xdc,
-	0xae, 0x24, 0xe3, 0x03, 0xca, 0xfa, 0x2a, 0x2c, 0x37, 0xf0, 0x67, 0x52, 0xe3, 0x44, 0x0f, 0x45,
-	0x6c, 0x7f, 0xa1, 0xa8, 0x55, 0xd7, 0x0e, 0x9b, 0x07, 0x92, 0x8c, 0xc5, 0xe0, 0x10, 0x22, 0xef,
-	0x39, 0x6a, 0xb9, 0xa7, 0xb4, 0x0f, 0x74, 0x45, 0x52, 0x5b, 0x4d, 0x59, 0x95, 0xf8, 0x3c, 0x3d,
-	0x83, 0x43, 0xac, 0x6a, 0x4d, 0xb1, 0x79, 0xd4, 0xaa, 0x6b, 0x78, 0x17, 0x37, 0xb0, 0x76, 0xc2,
-	0x2f, 0xa0, 0x0d, 0xb8, 0x2d, 0x36, 0xe5, 0x7d, 0x49, 0x51, 0x75, 0x55, 0x92, 0x55, 0xac, 0xe1,
-	0x63, 0xfa, 0x61, 0x11, 0xad, 0x40, 0x41, 0xc1, 0xea, 0x67, 0xfa, 0x7e, 0x5d, 0xd4, 0x9a, 0x0a,
-	0x0f, 0x54, 0x50, 0x57, 0xd5, 0xa6, 0x88, 0xeb, 0x8c, 0x9b, 0x02, 0x5b, 0x55, 0x69, 0x6a, 0x92,
-	0xa8, 0xe1, 0x63, 0x89, 0x5f, 0xa2, 0xe0, 0x8e, 0xda, 0x0d, 0x0d, 0xb7, 0x1a, 0x92, 0xae, 0x48,
-	0xad, 0xa6, 0xa2, 0x49, 0x7b, 0xfc, 0xb2, 0xf0, 0xf7, 0x14, 0xc0, 0xa8, 0x6c, 0x47, 0xeb, 0x08,
-	0x37, 0x56, 0x47, 0x3e, 0x82, 0x2c, 0x79, 0x4b, 0x6b, 0x43, 0x90, 0x23, 0x0f, 0xae, 0x2f, 0xff,
-	0x15, 0xe9, 0xad, 0x63, 0x2b, 0x81, 0x05, 0x3a, 0x86, 0x15, 0xd3, 0xe9, 0x58, 0x76, 0x4f, 0xf7,
-	0xc8, 0xcf, 0x2e, 0x68, 0x7f, 0x64, 0x79, 0x52, 0xa8, 0x3d, 0x9d, 0xe1, 0x44, 0x64, 0x56, 0x6a,
-	0x68, 0xa4, 0x14, 0xcd, 0xb1, 0xf7, 0xb2, 0x01, 0x19, 0xba, 0xcc, 0xa8, 0xd1, 0x72, 0x09, 0x8d,
-	0x36, 0x35, 0x6a, 0xb4, 0xcf, 0x20, 0xdb, 0x75, 0x07, 0xfd, 0xbe, 0x50, 0xdb, 0x9c, 0xe8, 0x13,
-	0xd8, 0xf6, 0x9f, 0xd7, 0xc2, 0x46, 0xc1, 0x34, 0xcb, 0x2f, 0xa0, 0x38, 0x0e, 0x62, 0xde, 0xc5,
-	0x84, 0x4f, 0x00, 0x46, 0x25, 0x03, 0xdd, 0x83, 0x42, 0x38, 0xa1, 0xb1, 0x79, 0x21, 0xa0, 0x36,
-	0x1c, 0xda, 0xd8, 0xb0, 0x10, 0x8c, 0x31, 0xa9, 0xc1, 0x18, 0x23, 0x74, 0xa1, 0x2c, 0xba, 0xc4,
-	0xf0, 0xc9, 0xd8, 0x84, 0xa5, 0x50, 0x14, 0x9e, 0x8f, 0x0e, 0xa1, 0x38, 0x3e, 0xe4, 0x30, 0x8f,
-	0x85, 0xda, 0xfd, 0x99, 0x33, 0x9a, 0xb2, 0x3c, 0x36, 0x04, 0x09, 0x12, 0x6c, 0x1c, 0x10, 0x3f,
-	0x71, 0x91, 0xc4, 0x49, 0x8a, 0x4b, 0x9c, 0xa4, 0x84, 0xbf, 0x72, 0x50, 0x6e, 0xf7, 0x3b, 0xd3,
-	0xf0, 0xde, 0xc0, 0x55, 0xc2, 0xde, 0x52, 0xff, 0xdd, 0xde, 0xd0, 0xc7, 0x50, 0xb8, 0x60, 0x98,
-	0xd8, 0xdd, 0x22, 0x3c, 0xf5, 0xc9, 0xe9, 0x60, 0x9f, 0x5e, 0x3f, 0x8e, 0x0c, 0xef, 0x8d, 0x02,
-	0x81, 0x3a, 0x7d, 0x16, 0x0e, 0xa1, 0xbc, 0x47, 0xce, 0xc8, 0xbb, 0x6f, 0x48, 0xf8, 0x27, 0x07,
-	0x9b, 0x2a, 0x31, 0x5c, 0xf3, 0xf5, 0x98, 0x2b, 0x6f, 0xe0, 0xeb, 0x1e, 0x14, 0x46, 0x57, 0x83,
-	0x41, 0x83, 0x82, 0xe1, 0xdd, 0xc0, 0x4b, 0xbc, 0x1c, 0xa4, 0xae, 0xbd, 0x1c, 0x44, 0x07, 0xda,
-	0x17, 0x90, 0x65, 0x77, 0x9f, 0x52, 0x66, 0x2b, 0x3d, 0xe7, 0xe0, 0x18, 0x18, 0xd0, 0xd6, 0xd6,
-	0x37, 0x7a, 0x44, 0xf7, 0x9d, 0x37, 0xc4, 0x1e, 0x5c, 0x2b, 0xa8, 0x44, 0xa3, 0x02, 0xb4, 0x09,
-	0xec, 0x45, 0xf7, 0xac, 0xcf, 0x83, 0xbb, 0x45, 0x56, 0x59, 0xa0, 0x02, 0xd5, 0xfa, 0x9c, 0x08,
-	0x5f, 0x73, 0xf0, 0x7f, 0xc9, 0x9b, 0xf6, 0xfa, 0x8e, 0xed, 0x11, 0xf4, 0x13, 0x58, 0x19, 0x67,
-	0x30, 0xd8, 0xf9, 0x5c, 0xe7, 0x5c, 0x1c, 0xa3, 0xd8, 0x43, 0x8f, 0x60, 0xc5, 0x26, 0x6f, 0x7d,
-	0x3d, 0x82, 0x36, 0xe0, 0x67, 0x99, 0x8a, 0x5b, 0x03, 0xc4, 0xc2, 0x09, 0x6c, 0xc4, 0x93, 0x6a,
-	0x70, 0x08, 0xaf, 0x00, 0x46, 0x4e, 0xc3, 0x6c, 0xba, 0x7b, 0x3d, 0x12, 0x25, 0x62, 0x21, 0x18,
-	0x70, 0x67, 0xd7, 0xf0, 0xcd, 0xd7, 0x71, 0xff, 0xc3, 0x53, 0xfe, 0x14, 0x0a, 0x91, 0x3b, 0x75,
-	0xb8, 0xd7, 0x59, 0x2b, 0x44, 0x4d, 0x84, 0xef, 0x38, 0xb8, 0x3b, 0x6d, 0x8d, 0x90, 0x54, 0x05,
-	0xf2, 0xc4, 0xf6, 0x5d, 0x8b, 0x0c, 0x16, 0x78, 0x91, 0xb4, 0xc0, 0xf5, 0x4e, 0x2a, 0xc1, 0xe4,
-	0x3d, 0x70, 0x54, 0xf6, 0x20, 0x1b, 0x0c, 0xde, 0x3b, 0x90, 0x0b, 0x2e, 0xbd, 0x21, 0x3d, 0x68,
-	0xe0, 0xdb, 0xed, 0x9b, 0x15, 0x95, 0x7d, 0x51, 0x42, 0x8d, 0x18, 0x9d, 0xa9, 0x1b, 0xd3, 0xf9,
-	0x31, 0xac, 0x8d, 0x95, 0xa5, 0x01, 0x8b, 0x0f, 0x20, 0x92, 0xe3, 0xa3, 0x9c, 0x5b, 0x1a, 0x09,
-	0x71, 0x47, 0xf8, 0x23, 0x07, 0x1b, 0xf1, 0x62, 0x74, 0x13, 0x07, 0xef, 0x8a, 0xfe, 0xdd, 0x0a,
-	0xcf, 0x2b, 0xd8, 0x88, 0x17, 0x9e, 0x1b, 0xed, 0xfe, 0xd7, 0x29, 0x28, 0xc5, 0x33, 0x6f, 0x18,
-	0x85, 0x4f, 0x00, 0x4d, 0xd4, 0xad, 0x41, 0xc9, 0xe1, 0x63, 0x85, 0xcb, 0x43, 0x0f, 0x62, 0x77,
-	0x61, 0x96, 0x54, 0x87, 0xb7, 0xc6, 0x6f, 0xc3, 0x8f, 0x27, 0x6e, 0xc3, 0xe9, 0x50, 0x6d, 0xda,
-	0x7d, 0x38, 0x93, 0xd0, 0x39, 0xb3, 0xa3, 0x36, 0x3d, 0x5e, 0x76, 0x72, 0xd7, 0x96, 0x9d, 0xfc,
-	0x78, 0xd9, 0xd9, 0x2d, 0xc0, 0xe2, 0x70, 0x51, 0xe1, 0x57, 0x1c, 0xbc, 0x9f, 0xc0, 0x44, 0x98,
-	0x2b, 0xef, 0x9c, 0x90, 0xf3, 0x96, 0x9d, 0x1d, 0x02, 0xc5, 0xf1, 0x02, 0x4b, 0xe7, 0xce, 0xba,
-	0x2c, 0x37, 0x35, 0x36, 0xab, 0xe9, 0x09, 0xf3, 0x7f, 0x01, 0xf2, 0x07, 0x92, 0x2c, 0x29, 0x58,
-	0xe4, 0x39, 0xfa, 0x72, 0x5c, 0x57, 0x70, 0x5d, 0xa6, 0x33, 0xf7, 0x02, 0x64, 0xe8, 0x17, 0x3e,
-	0xcd, 0xee, 0x08, 0x4a, 0x5d, 0x56, 0x45, 0x05, 0xb7, 0x34, 0x3e, 0x53, 0xfb, 0x6a, 0x19, 0x6e,
-	0x47, 0xeb, 0x24, 0xfb, 0x39, 0xef, 0xf8, 0x19, 0xfa, 0x96, 0x83, 0xdb, 0x09, 0xb3, 0x04, 0xaa,
-	0x24, 0xed, 0x75, 0xfa, 0xd0, 0x51, 0x9e, 0x5d, 0x98, 0x85, 0x9d, 0x2f, 0xff, 0xf6, 0x8f, 0x6f,
-	0x52, 0x1f, 0x08, 0x28, 0xf6, 0x0b, 0x25, 0xf1, 0xbd, 0x97, 0xb1, 0xae, 0x8e, 0xbe, 0xe6, 0x80,
-	0x8f, 0x8f, 0x1e, 0x28, 0xf1, 0x47, 0xa6, 0x29, 0x03, 0xca, 0x3c, 0x80, 0x2a, 0x0c, 0xd0, 0x36,
-	0x7a, 0x34, 0x09, 0xa8, 0xfa, 0x8b, 0x89, 0x4c, 0xf8, 0x02, 0xfd, 0x81, 0x83, 0xdb, 0x09, 0x73,
-	0x4c, 0x32, 0x57, 0xd3, 0x07, 0x9e, 0x79, 0xa0, 0xbd, 0x62, 0xd0, 0x5e, 0x94, 0xe7, 0x84, 0x36,
-	0xc1, 0xdf, 0x6f, 0x38, 0xb8, 0x9d, 0x30, 0xa1, 0x24, 0x43, 0x9d, 0x3e, 0xca, 0x94, 0xd7, 0x27,
-	0xea, 0x92, 0x74, 0xde, 0xf7, 0xaf, 0x06, 0xd4, 0xed, 0xcc, 0x4b, 0xdd, 0x6f, 0x39, 0x58, 0x4b,
-	0xea, 0xf8, 0xa8, 0x9a, 0x04, 0xe8, 0x9a, 0x81, 0xa8, 0xfc, 0xe1, 0xfc, 0x06, 0x41, 0x2e, 0x0b,
-	0x1f, 0x30, 0xac, 0x77, 0x85, 0xf7, 0x13, 0xb0, 0x7a, 0xcc, 0xf0, 0x25, 0xb7, 0x83, 0xbe, 0xe2,
-	0x80, 0x8f, 0xc7, 0x77, 0x72, 0xc4, 0x4d, 0x99, 0x12, 0xca, 0x33, 0xca, 0x83, 0xf0, 0x80, 0xe1,
-	0xb8, 0x23, 0xac, 0xc4, 0x70, 0xbc, 0x8c, 0x76, 0x87, 0xdf, 0x73, 0xb0, 0x9e, 0xdc, 0x82, 0xd1,
-	0xb3, 0x9b, 0xb4, 0xeb, 0x00, 0x52, 0xed, 0xe6, 0x1d, 0x5e, 0x78, 0xc4, 0x60, 0x6e, 0x09, 0x9b,
-	0x71, 0x98, 0xa7, 0x23, 0x3b, 0x4a, 0xd8, 0x97, 0x1c, 0x2c, 0x8f, 0x25, 0x1f, 0xda, 0x9e, 0x99,
-	0x9f, 0xf3, 0x52, 0xf5, 0x98, 0x61, 0xb8, 0x8f, 0xee, 0xc5, 0x30, 0x8c, 0xc5, 0x16, 0x8d, 0xab,
-	0x6f, 0x39, 0xe0, 0xe3, 0x99, 0x96, 0x7c, 0x6a, 0x53, 0x7a, 0xfe, 0x4c, 0x28, 0xcf, 0x19, 0x94,
-	0xa7, 0xe5, 0x59, 0x50, 0xc6, 0x4e, 0xf1, 0x97, 0x1c, 0xf0, 0xf1, 0xac, 0x4a, 0x86, 0x35, 0xa5,
-	0x9b, 0x4f, 0x4d, 0xbc, 0x90, 0x99, 0x9d, 0x99, 0xcc, 0x7c, 0xc3, 0xc1, 0xea, 0x44, 0x7f, 0x43,
-	0x4f, 0xe6, 0xc9, 0x9e, 0x61, 0xf8, 0x3c, 0x9d, 0x53, 0x3b, 0x8c, 0x9c, 0xfb, 0x0c, 0xdb, 0xa6,
-	0xb0, 0x1e, 0xc7, 0x36, 0xcc, 0xb2, 0xdd, 0x2a, 0xac, 0x9b, 0xce, 0x79, 0x82, 0xdb, 0x5d, 0x3e,
-	0xe2, 0xb1, 0x45, 0xf7, 0xdc, 0xe2, 0xfe, 0xc5, 0x71, 0xa7, 0x39, 0xb6, 0xff, 0xe7, 0xff, 0x09,
-	0x00, 0x00, 0xff, 0xff, 0xd4, 0xc3, 0x69, 0x38, 0x05, 0x1b, 0x00, 0x00,
+	// 2195 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6f, 0xe3, 0xc6,
+	0x15, 0x0f, 0xf5, 0x69, 0x3f, 0xd9, 0xb2, 0x3c, 0xd9, 0xd8, 0x8e, 0xdc, 0xdd, 0xac, 0xb9, 0xc9,
+	0xae, 0xe1, 0xee, 0x4a, 0xb1, 0xb6, 0x1f, 0x8e, 0xd3, 0x6c, 0x23, 0xd3, 0xb4, 0xcd, 0x46, 0xa6,
+	0x04, 0x92, 0x72, 0xe1, 0x13, 0x41, 0x4b, 0x94, 0x96, 0x58, 0x5b, 0x52, 0x49, 0xda, 0xcd, 0xb6,
+	0x08, 0x50, 0x04, 0x29, 0x7a, 0xea, 0xa5, 0xe9, 0xbd, 0x97, 0x02, 0xed, 0xff, 0xd0, 0x4b, 0x81,
+	0xde, 0xdb, 0x43, 0xd1, 0xff, 0xa0, 0x97, 0x5c, 0x7b, 0x2a, 0xd0, 0x4b, 0xdf, 0x0c, 0x49, 0x89,
+	0xa2, 0x28, 0x4b, 0xee, 0x02, 0xbd, 0xd8, 0x9c, 0x37, 0xf3, 0xde, 0xfc, 0xe6, 0x37, 0xef, 0x6b,
+	0x04, 0x42, 0xb7, 0xdf, 0xef, 0x5e, 0x9a, 0xa5, 0x6e, 0xff, 0xd2, 0xe8, 0x75, 0x4b, 0x7d, 0xbb,
+	0x5b, 0xee, 0x9a, 0xbd, 0x81, 0xdd, 0x77, 0xfb, 0x65, 0x6f, 0xca, 0x18, 0x58, 0x0e, 0x95, 0xf5,
+	0xaf, 0xac, 0x96, 0x53, 0xbe, 0xd9, 0x2d, 0x1b, 0xbd, 0x5e, 0xdf, 0x35, 0x5c, 0xab, 0xdf, 0x73,
+	0x4a, 0x6c, 0x21, 0x21, 0x81, 0x11, 0x7f, 0x55, 0xe9, 0x66, 0xb7, 0x28, 0xcd, 0x67, 0x18, 0xff,
+	0x94, 0x1d, 0xd3, 0xbe, 0xb1, 0x5a, 0x66, 0xab, 0xdf, 0xeb, 0x58, 0xdd, 0x49, 0xf3, 0xc5, 0xe7,
+	0x5d, 0xcb, 0x7d, 0x79, 0x7d, 0x51, 0x6a, 0xf5, 0xaf, 0xca, 0x9e, 0xb9, 0x32, 0x9b, 0xb8, 0xb8,
+	0xee, 0x94, 0x07, 0xee, 0xeb, 0x81, 0xe9, 0x94, 0xcd, 0x2b, 0xfc, 0xf0, 0xfe, 0xfa, 0x4a, 0xdf,
+	0xb9, 0x65, 0xff, 0xa1, 0x76, 0xc7, 0x32, 0x2f, 0xdb, 0xfa, 0x95, 0xe1, 0xbc, 0xf2, 0xb5, 0xbe,
+	0x3b, 0x7b, 0x2b, 0xc7, 0xb5, 0xaf, 0x5b, 0xae, 0xff, 0xcf, 0x57, 0xfb, 0x68, 0xb6, 0xda, 0x4f,
+	0x6d, 0x63, 0x30, 0x30, 0xed, 0xd1, 0x87, 0xaf, 0xfa, 0xc9, 0x7c, 0x3c, 0xd9, 0x83, 0x16, 0x6e,
+	0x69, 0xb8, 0xd7, 0x8e, 0xff, 0xcf, 0x53, 0xe7, 0xbf, 0x49, 0xc0, 0x72, 0x75, 0xc8, 0x98, 0x6a,
+	0xba, 0x24, 0x0f, 0x09, 0xab, 0xbd, 0xc1, 0x3d, 0xe4, 0xb6, 0x17, 0x15, 0xfc, 0x22, 0xf7, 0x01,
+	0xda, 0x86, 0x6b, 0x38, 0xa6, 0xab, 0xa3, 0x3c, 0xc1, 0xe4, 0x8b, 0xbe, 0x44, 0x6a, 0x93, 0x6d,
+	0x28, 0xd8, 0x66, 0xc7, 0xb4, 0xcd, 0x5e, 0xcb, 0xd4, 0xfd, 0x45, 0x49, 0xb6, 0x28, 0x3f, 0x94,
+	0xab, 0x6c, 0x25, 0x81, 0x54, 0xcf, 0xb8, 0x32, 0x37, 0x52, 0x6c, 0x96, 0x7d, 0x53, 0xe3, 0x4e,
+	0xff, 0xda, 0x46, 0xd5, 0x6b, 0xdb, 0xda, 0x48, 0x7b, 0xc6, 0x3d, 0x49, 0xd3, 0xb6, 0xc8, 0xf7,
+	0x20, 0x45, 0x4f, 0xbf, 0x91, 0xc1, 0x89, 0x7c, 0x85, 0x2f, 0x4d, 0xfa, 0x49, 0x69, 0x04, 0x5e,
+	0xc3, 0x95, 0x0a, 0x5b, 0x4f, 0x7e, 0x08, 0x29, 0xab, 0xd7, 0xe9, 0x6f, 0xac, 0x3e, 0x4c, 0x6e,
+	0xe7, 0x2a, 0xdf, 0xbe, 0x5d, 0x0f, 0xd1, 0x95, 0x24, 0x5c, 0x2d, 0xf6, 0x5c, 0xfb, 0xb5, 0xc2,
+	0x14, 0x8b, 0x2a, 0x2c, 0x0e, 0x45, 0xa4, 0x00, 0xc9, 0x57, 0xe6, 0x6b, 0x9f, 0x12, 0xfa, 0x49,
+	0x3e, 0x84, 0xf4, 0x8d, 0x71, 0x79, 0x6d, 0x32, 0x3a, 0x72, 0x95, 0x62, 0xb0, 0x41, 0x70, 0x69,
+	0xa5, 0x9a, 0xe5, 0xb8, 0x67, 0x74, 0x85, 0xe2, 0x2d, 0xdc, 0x4f, 0xec, 0x71, 0xfc, 0x5f, 0x53,
+	0x00, 0xa3, 0x6d, 0x27, 0x88, 0xde, 0x81, 0xd5, 0x91, 0xef, 0xea, 0x63, 0x7c, 0xaf, 0x18, 0x61,
+	0xb4, 0x21, 0x2e, 0x93, 0x21, 0x2e, 0xb7, 0x60, 0x69, 0x74, 0x13, 0xa8, 0xea, 0xf1, 0x9c, 0x1b,
+	0xca, 0x50, 0xed, 0x03, 0x18, 0x5d, 0x8a, 0xce, 0x0c, 0x78, 0x94, 0x2f, 0x0f, 0xa5, 0x32, 0xb5,
+	0x74, 0x0f, 0xd2, 0xe8, 0x24, 0xb6, 0xcb, 0x78, 0x4f, 0x2a, 0xde, 0x80, 0xd2, 0x60, 0xf6, 0xda,
+	0x1b, 0x59, 0x26, 0xa3, 0x9f, 0x9e, 0xb9, 0x1b, 0xf4, 0x45, 0xbc, 0x79, 0xd7, 0x36, 0x70, 0x72,
+	0x01, 0x27, 0x17, 0xa8, 0x39, 0x26, 0x55, 0x99, 0x70, 0x78, 0x8b, 0x8b, 0x77, 0xbc, 0xc5, 0x2a,
+	0x64, 0x6f, 0x0c, 0xdb, 0x32, 0x7a, 0xee, 0x06, 0x30, 0x9e, 0x3f, 0x88, 0x53, 0x3d, 0xf3, 0x96,
+	0x8c, 0x2c, 0x9c, 0xbc, 0xa5, 0x04, 0x7a, 0xe4, 0x53, 0x00, 0x8a, 0xc1, 0x69, 0xd9, 0xd6, 0xc0,
+	0xdd, 0xc8, 0x31, 0x2b, 0x0f, 0xe2, 0xac, 0x68, 0xc3, 0x55, 0xa8, 0x1e, 0xd2, 0x21, 0x3f, 0xf0,
+	0x5d, 0x69, 0x89, 0xb9, 0xd2, 0xf6, 0xed, 0xe0, 0xff, 0x2f, 0x7e, 0x74, 0x90, 0xf5, 0xb5, 0xf8,
+	0xff, 0x2c, 0xc2, 0xea, 0xc4, 0xf1, 0xc9, 0x0b, 0x9f, 0x6e, 0x8e, 0xd1, 0xbd, 0x33, 0x17, 0x67,
+	0xa5, 0x10, 0xed, 0x87, 0x90, 0x31, 0x3b, 0x1d, 0xb3, 0xe5, 0x32, 0x54, 0xf9, 0xca, 0xd3, 0xf9,
+	0x2c, 0x88, 0x4c, 0x47, 0xf1, 0x75, 0xc9, 0x13, 0x58, 0x31, 0x2e, 0x5d, 0xd3, 0xee, 0x19, 0xae,
+	0xa9, 0x5f, 0x60, 0xb2, 0x70, 0x82, 0xb4, 0x30, 0x14, 0x1f, 0x50, 0x29, 0x59, 0x87, 0x2c, 0x1a,
+	0x0e, 0x79, 0x6c, 0x86, 0x0e, 0x3d, 0x67, 0x1d, 0xdd, 0x03, 0x4e, 0x3b, 0xe8, 0xac, 0x49, 0xea,
+	0xac, 0x23, 0xa9, 0xd4, 0x76, 0xc8, 0x8f, 0x01, 0x30, 0xf3, 0xb7, 0x2d, 0x96, 0xf1, 0xd1, 0x63,
+	0xe9, 0x35, 0x7d, 0x7f, 0x3e, 0xc8, 0xc2, 0xa5, 0xd5, 0xb3, 0x5a, 0xc6, 0xa5, 0x10, 0xe8, 0x2b,
+	0x21, 0x53, 0xa4, 0x0f, 0xef, 0xb4, 0xfc, 0x05, 0xba, 0x63, 0x75, 0x7b, 0x56, 0x07, 0x3f, 0x31,
+	0x44, 0x58, 0x04, 0xe4, 0x2b, 0xfb, 0x77, 0xdb, 0x43, 0x0d, 0x59, 0x50, 0xee, 0xb5, 0x62, 0xa4,
+	0xc5, 0xdf, 0x73, 0xb0, 0x3a, 0x01, 0x89, 0x06, 0x23, 0x8d, 0x54, 0x07, 0xef, 0x93, 0x9e, 0xde,
+	0x1b, 0x60, 0x6c, 0x2c, 0x99, 0x9f, 0x33, 0x1e, 0x2f, 0x19, 0x35, 0x09, 0x76, 0xee, 0x58, 0xd7,
+	0x16, 0xfd, 0x75, 0x52, 0x5b, 0xc9, 0x99, 0xc3, 0x6f, 0x87, 0xe6, 0x5e, 0x3c, 0x6d, 0xcb, 0x1c,
+	0x84, 0x72, 0xf6, 0xa2, 0x2f, 0x41, 0xfa, 0xf1, 0x5e, 0xd0, 0xc4, 0x55, 0xe8, 0x5e, 0xe8, 0x50,
+	0x6a, 0xf3, 0x5f, 0x40, 0x8a, 0x7a, 0x0b, 0x02, 0x2b, 0x68, 0xe7, 0x0d, 0x51, 0x6f, 0xca, 0x6a,
+	0x43, 0x14, 0xa4, 0x23, 0x49, 0x3c, 0x2c, 0xbc, 0x85, 0x59, 0x0d, 0x98, 0xb4, 0xae, 0x9d, 0x88,
+	0x4a, 0x81, 0x23, 0xcb, 0x18, 0x01, 0xb2, 0x2a, 0x2a, 0x9a, 0x54, 0x97, 0x0b, 0x09, 0xb2, 0x04,
+	0x0b, 0x87, 0x62, 0x4d, 0x64, 0xa3, 0x24, 0x46, 0xc4, 0x92, 0xda, 0x3c, 0x50, 0x35, 0x49, 0x6b,
+	0x32, 0x49, 0x8a, 0x64, 0x21, 0xa9, 0xca, 0x8d, 0x42, 0x9a, 0xda, 0x51, 0x35, 0xa5, 0x29, 0x68,
+	0x4d, 0xa5, 0x5a, 0x2b, 0x64, 0xe8, 0x84, 0x20, 0x9f, 0x15, 0xb2, 0xfc, 0x5f, 0x38, 0xc8, 0x78,
+	0xbe, 0x46, 0xd6, 0x80, 0x88, 0x47, 0x47, 0xa2, 0xa0, 0x45, 0x30, 0xa0, 0x59, 0x5f, 0x1e, 0xa0,
+	0x40, 0x6b, 0x47, 0x4a, 0xf5, 0x54, 0x54, 0x4f, 0xa4, 0x23, 0x0d, 0x61, 0x14, 0x61, 0x8d, 0x8d,
+	0xf5, 0x86, 0x22, 0x22, 0xb8, 0x33, 0x49, 0x3e, 0xd6, 0x25, 0x19, 0x91, 0x21, 0x28, 0x02, 0x79,
+	0xf5, 0x5c, 0xae, 0xcb, 0xe7, 0xa7, 0xf5, 0xa6, 0xaa, 0x53, 0x34, 0x29, 0xf2, 0x0e, 0xac, 0xa2,
+	0x24, 0x22, 0x4e, 0xd3, 0xc3, 0xa9, 0x5a, 0xbd, 0xa1, 0x1f, 0x57, 0x25, 0x19, 0x31, 0x06, 0xc3,
+	0x5a, 0x5d, 0x55, 0x0b, 0x59, 0xba, 0x89, 0xda, 0xa8, 0x49, 0x82, 0xa8, 0xab, 0x92, 0x26, 0xea,
+	0x87, 0x92, 0xaa, 0x34, 0x1b, 0xec, 0x9c, 0x0b, 0xfc, 0x9f, 0x13, 0x70, 0x2f, 0xce, 0x35, 0xd0,
+	0xeb, 0xb7, 0x84, 0x9a, 0x24, 0x4b, 0x42, 0xb5, 0x86, 0x6a, 0xc7, 0x32, 0x9e, 0x49, 0xa8, 0xca,
+	0x42, 0x94, 0xe6, 0xf7, 0x60, 0x33, 0x7e, 0x59, 0x88, 0xf7, 0x26, 0x8e, 0x15, 0x8d, 0x42, 0x4b,
+	0x10, 0x80, 0xcc, 0x81, 0x28, 0xe3, 0x42, 0x3c, 0xe0, 0x2a, 0x2c, 0xd7, 0xa4, 0xcf, 0xc4, 0xda,
+	0xb9, 0xee, 0x8b, 0xd8, 0xf9, 0x7c, 0x51, 0xa3, 0xaa, 0x9d, 0xd4, 0x8f, 0x51, 0x2e, 0x78, 0x97,
+	0x10, 0x1a, 0x67, 0xa8, 0xe6, 0xa1, 0xd2, 0x3c, 0xd6, 0x91, 0xb4, 0x06, 0xd2, 0x21, 0xe2, 0x21,
+	0xf1, 0x0e, 0x4e, 0x24, 0x3c, 0xb5, 0x50, 0x3f, 0xc5, 0xa5, 0xd2, 0x81, 0x54, 0x93, 0xb4, 0xf3,
+	0xc2, 0x02, 0xba, 0xcf, 0xdb, 0x42, 0x5d, 0x3e, 0x12, 0x15, 0xe4, 0x4a, 0x94, 0x91, 0x00, 0xe9,
+	0x8c, 0x4e, 0x2c, 0x92, 0x15, 0xc8, 0x29, 0x92, 0xfa, 0x99, 0x7e, 0x54, 0x15, 0xb4, 0xba, 0x52,
+	0x00, 0x2a, 0xa8, 0xaa, 0x6a, 0x5d, 0x90, 0xaa, 0x8c, 0x9b, 0x1c, 0xdb, 0x55, 0xa9, 0x6b, 0x78,
+	0x7f, 0xd2, 0x99, 0x58, 0x58, 0xa2, 0xe0, 0x4e, 0x9b, 0x35, 0x4d, 0x6a, 0xd4, 0x44, 0xdc, 0xb9,
+	0x51, 0x57, 0x34, 0xa4, 0x60, 0x99, 0xff, 0x47, 0x02, 0x5d, 0x6d, 0x94, 0xa8, 0x43, 0x79, 0x84,
+	0x1b, 0xcb, 0x23, 0x1f, 0x41, 0xda, 0xfc, 0x9c, 0xe6, 0x06, 0x2f, 0x46, 0x1e, 0xdd, 0x9e, 0xfe,
+	0x31, 0x5c, 0x30, 0x0f, 0x78, 0x1a, 0xe4, 0x0c, 0x56, 0x5a, 0xfd, 0xb6, 0xd5, 0xeb, 0x62, 0x39,
+	0xfe, 0xc9, 0x35, 0xad, 0x8f, 0x2c, 0x4e, 0x72, 0x95, 0x67, 0x33, 0x8c, 0x08, 0x4c, 0x4b, 0xf5,
+	0x95, 0x94, 0x7c, 0x6b, 0x6c, 0x5c, 0x34, 0x20, 0x45, 0xb7, 0x19, 0x15, 0x5a, 0x2e, 0xa6, 0xd0,
+	0x26, 0x46, 0x85, 0x76, 0x17, 0xd2, 0x1d, 0x3b, 0xa8, 0xf7, 0xb9, 0xca, 0xe6, 0x44, 0x9d, 0x90,
+	0x7a, 0xee, 0xf3, 0x8a, 0x5f, 0x28, 0xd8, 0xca, 0xe2, 0x1e, 0xe4, 0xc7, 0x41, 0xcc, 0xbb, 0x19,
+	0xff, 0x09, 0xc0, 0x28, 0x65, 0xa0, 0xa3, 0xe5, 0xfc, 0x0e, 0x8d, 0xf5, 0x0b, 0x1e, 0xb5, 0x7e,
+	0xd3, 0xc6, 0x9a, 0x05, 0xaf, 0x8d, 0x49, 0x04, 0x6d, 0x0c, 0xdf, 0x81, 0xa2, 0x60, 0x9b, 0x98,
+	0xde, 0xc7, 0x3a, 0x2c, 0x85, 0xa2, 0x70, 0x5c, 0x72, 0x02, 0xf9, 0xf1, 0x26, 0x87, 0x59, 0xcc,
+	0x55, 0xb6, 0x66, 0xf6, 0x68, 0xca, 0xf2, 0x58, 0x13, 0xc4, 0x8b, 0xb0, 0x7e, 0x6c, 0xba, 0xb1,
+	0x9b, 0xc4, 0x76, 0x52, 0x5c, 0x6c, 0x27, 0xc5, 0xff, 0x8d, 0x83, 0x62, 0x73, 0xd0, 0x9e, 0x86,
+	0xf7, 0x0e, 0xa6, 0x62, 0xce, 0x96, 0xf8, 0xdf, 0xce, 0x46, 0x3e, 0x86, 0xdc, 0x35, 0xc3, 0xc4,
+	0xde, 0x16, 0xfe, 0xad, 0x4f, 0x76, 0x07, 0x47, 0xf4, 0xf9, 0x71, 0x8a, 0x2b, 0x14, 0xf0, 0x96,
+	0xd3, 0x6f, 0xfe, 0x04, 0x8a, 0x87, 0xe6, 0xa5, 0xf9, 0xe6, 0x07, 0xe2, 0xff, 0xc5, 0xc1, 0xa6,
+	0x6a, 0x1a, 0x76, 0xeb, 0xe5, 0x98, 0x29, 0x27, 0xb0, 0x85, 0xbe, 0x31, 0x7a, 0x1a, 0x04, 0x05,
+	0x0a, 0x86, 0x6f, 0x03, 0x27, 0xf6, 0x71, 0x90, 0xb8, 0xf5, 0x71, 0x10, 0x6e, 0x68, 0xf7, 0x20,
+	0xcd, 0xde, 0x3e, 0x58, 0x7f, 0x92, 0x73, 0x36, 0x8e, 0x9e, 0x02, 0x2d, 0x6d, 0x03, 0xa3, 0x6b,
+	0xea, 0x6e, 0xff, 0x95, 0xd9, 0x0b, 0x9e, 0x15, 0x54, 0xa2, 0x51, 0x01, 0xd9, 0x04, 0x36, 0xc0,
+	0xaa, 0xfe, 0x33, 0xef, 0x6d, 0x91, 0x56, 0x16, 0xa8, 0x40, 0xc5, 0x31, 0xff, 0x1b, 0x0e, 0xbe,
+	0x15, 0x7f, 0x68, 0x67, 0x80, 0x39, 0xc1, 0x24, 0x3f, 0x82, 0x95, 0x71, 0x06, 0xbd, 0x93, 0xcf,
+	0x75, 0xcf, 0xf9, 0x31, 0x8a, 0x1d, 0xf2, 0x18, 0x56, 0x7a, 0x58, 0x93, 0xf5, 0x10, 0x5a, 0x8f,
+	0x9f, 0x65, 0x2a, 0x6e, 0x04, 0x88, 0xf9, 0x73, 0x58, 0x8f, 0x06, 0x55, 0x70, 0x09, 0x2f, 0x00,
+	0x46, 0x46, 0xfd, 0x68, 0x7a, 0x70, 0x3b, 0x12, 0x25, 0xa4, 0xc1, 0xff, 0x82, 0x83, 0xfb, 0x07,
+	0x86, 0xdb, 0x7a, 0x19, 0xdd, 0x60, 0x78, 0xcd, 0x9f, 0x42, 0x2e, 0xf4, 0xa8, 0xf6, 0x0f, 0x3b,
+	0x6b, 0x8b, 0xb0, 0x0a, 0xbd, 0x0f, 0xdb, 0x33, 0x16, 0x7a, 0x43, 0xfa, 0x12, 0xf4, 0xb3, 0x6f,
+	0x38, 0x78, 0x30, 0x0d, 0x82, 0x4f, 0xba, 0x02, 0x59, 0x13, 0x9b, 0x68, 0xcb, 0x0c, 0xf6, 0xdf,
+	0x8b, 0xdb, 0xff, 0x76, 0x23, 0x25, 0xaf, 0x33, 0x0f, 0x0c, 0x15, 0x1d, 0x48, 0x7b, 0x8d, 0xf9,
+	0x0e, 0x64, 0xbc, 0x47, 0xb1, 0x4f, 0x1f, 0x09, 0x6c, 0xe3, 0xab, 0xb9, 0xa4, 0xb2, 0x19, 0xc5,
+	0x5f, 0x11, 0xa1, 0x3b, 0x71, 0x67, 0xba, 0x3f, 0x86, 0x7b, 0x63, 0x69, 0x2b, 0x20, 0xf9, 0x11,
+	0x84, 0x72, 0xc0, 0x28, 0x26, 0x97, 0x46, 0x42, 0x24, 0xea, 0x4f, 0x1c, 0xac, 0x47, 0x93, 0xd5,
+	0x5d, 0x0c, 0xbc, 0x29, 0xfa, 0x37, 0x4b, 0x4c, 0x2f, 0x60, 0x3d, 0x9a, 0x98, 0xee, 0x74, 0xfa,
+	0x5f, 0x25, 0x60, 0x23, 0x1a, 0x99, 0x43, 0x27, 0x7d, 0x0a, 0x64, 0x22, 0xaf, 0x05, 0x29, 0xa9,
+	0x10, 0x49, 0x6c, 0x0e, 0xee, 0x37, 0xfe, 0x56, 0x66, 0x2e, 0x89, 0x2f, 0xbf, 0xb1, 0xd7, 0xf2,
+	0x93, 0x89, 0xd7, 0x72, 0xd2, 0x5f, 0x36, 0xed, 0xbd, 0x9c, 0x8a, 0xa9, 0xac, 0xe9, 0x51, 0x19,
+	0x1f, 0x4f, 0x4b, 0x99, 0x5b, 0xd3, 0x52, 0x76, 0x3c, 0x2d, 0x1d, 0xe4, 0x60, 0x71, 0xb8, 0x29,
+	0xff, 0x4b, 0x0e, 0xde, 0x8d, 0x61, 0xc2, 0x8f, 0x95, 0x37, 0x8f, 0xd7, 0x39, 0xd3, 0xd2, 0x8e,
+	0x09, 0xf9, 0xf1, 0x04, 0x4c, 0xfb, 0xd2, 0xaa, 0x2c, 0xd7, 0x35, 0xd6, 0xcb, 0xe9, 0x31, 0xef,
+	0x83, 0x1c, 0x64, 0xb1, 0x9b, 0x14, 0x15, 0xec, 0x27, 0x39, 0x3a, 0x38, 0xab, 0x2a, 0x52, 0x55,
+	0xa6, 0x3d, 0xf9, 0x02, 0xa4, 0xe8, 0x0c, 0x36, 0xa8, 0xf4, 0x0d, 0xa1, 0x54, 0x65, 0x55, 0x50,
+	0xa4, 0x86, 0x56, 0x48, 0x55, 0xbe, 0x5a, 0x86, 0xb7, 0xc3, 0x79, 0x94, 0xfd, 0xdc, 0x77, 0xb6,
+	0x4b, 0x7e, 0xcb, 0x61, 0x93, 0x39, 0xd9, 0x6b, 0x90, 0x52, 0xdc, 0x59, 0xa7, 0x37, 0x25, 0xc5,
+	0xd9, 0x89, 0x9b, 0xdf, 0xf9, 0xf2, 0xef, 0xff, 0xfc, 0x3a, 0xf1, 0x3e, 0x4f, 0x22, 0xbf, 0x60,
+	0x62, 0x12, 0xdf, 0x8f, 0x54, 0x7d, 0x82, 0x15, 0xa4, 0x10, 0x6d, 0x4d, 0x48, 0xec, 0x8f, 0x50,
+	0x53, 0x1a, 0x98, 0x79, 0x00, 0x95, 0x18, 0xa0, 0x6d, 0xf2, 0x78, 0x12, 0x50, 0xf9, 0xe7, 0x13,
+	0x91, 0xf0, 0x05, 0xf9, 0x23, 0x72, 0x15, 0xd3, 0xe7, 0xc4, 0x73, 0x35, 0xbd, 0x21, 0x9a, 0x07,
+	0xda, 0x0b, 0x06, 0x6d, 0xaf, 0x38, 0x27, 0xb4, 0x09, 0xfe, 0x7e, 0x8d, 0x50, 0x63, 0x3a, 0x98,
+	0x78, 0xa8, 0xd3, 0x5b, 0x9d, 0xe2, 0xda, 0x44, 0x5e, 0x12, 0xe9, 0x0f, 0xbc, 0x01, 0x75, 0x3b,
+	0xf3, 0x52, 0xf7, 0x3b, 0x0e, 0xee, 0xc5, 0x75, 0x04, 0xa4, 0x1c, 0x07, 0xe8, 0x96, 0x86, 0xa9,
+	0xf8, 0xe1, 0xfc, 0x0a, 0x5e, 0x2c, 0xf3, 0xef, 0x33, 0xac, 0x0f, 0xf8, 0x77, 0x63, 0xb0, 0x3a,
+	0x4c, 0x71, 0x9f, 0xdb, 0x21, 0x5f, 0xa1, 0xc7, 0x45, 0xfd, 0x3b, 0xde, 0xe3, 0xa6, 0x74, 0x11,
+	0xc5, 0x19, 0xe9, 0x81, 0x7f, 0xc4, 0x70, 0xdc, 0xe7, 0x57, 0x22, 0x38, 0xf6, 0xc3, 0xd5, 0xe1,
+	0x0f, 0x1c, 0xac, 0xc5, 0x97, 0x60, 0xb2, 0x7b, 0x97, 0x72, 0xed, 0x41, 0xaa, 0xdc, 0xbd, 0xc2,
+	0xf3, 0x8f, 0x19, 0xcc, 0x87, 0xfc, 0x66, 0x14, 0xe6, 0xc5, 0x48, 0x8f, 0x12, 0xf6, 0x25, 0x07,
+	0xcb, 0x63, 0xc1, 0x47, 0xb6, 0x67, 0xc6, 0xe7, 0xbc, 0x54, 0x3d, 0x61, 0x18, 0xb6, 0xc8, 0x7b,
+	0x11, 0x0c, 0x63, 0xbe, 0x45, 0xfd, 0x0a, 0xd3, 0x57, 0x21, 0x1a, 0x69, 0xf1, 0xb7, 0x36, 0xa5,
+	0xe6, 0xcf, 0x84, 0xf2, 0x9c, 0x41, 0x79, 0x56, 0x9c, 0x05, 0x65, 0xec, 0x16, 0xb1, 0x21, 0x2c,
+	0x44, 0xa3, 0x2a, 0x1e, 0xd6, 0x94, 0x6a, 0x3e, 0x35, 0xf0, 0x7c, 0x66, 0x76, 0x66, 0x32, 0xf3,
+	0x35, 0x07, 0xab, 0x13, 0xf5, 0x8d, 0x3c, 0x9d, 0x27, 0x7a, 0x86, 0xee, 0xf3, 0x6c, 0xce, 0xd5,
+	0xbe, 0xe7, 0x6c, 0x31, 0x6c, 0x9b, 0xfc, 0x5a, 0x14, 0xdb, 0x30, 0xca, 0x0e, 0xca, 0xb0, 0xd6,
+	0xea, 0x5f, 0xc5, 0x98, 0x3d, 0x28, 0x84, 0x2c, 0x36, 0xe8, 0x99, 0x1b, 0xdc, 0xbf, 0x39, 0xee,
+	0x22, 0xc3, 0xce, 0xff, 0xfc, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x0c, 0x54, 0xd2, 0x25,
+	0x1b, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/annotations.proto b/googleapis/genomics/v1/annotations.proto
index 82a1fda3..38c07afb 100644
--- a/googleapis/genomics/v1/annotations.proto
+++ b/googleapis/genomics/v1/annotations.proto
@@ -545,6 +545,15 @@ message BatchCreateAnnotationsRequest {
   // The annotations to be created. At most 4096 can be specified in a single
   // request.
   repeated Annotation annotations = 1;
+
+  // A unique request ID which enables the server to detect duplicated requests.
+  // If provided, duplicated requests will result in the same response; if not
+  // provided, duplicated requests may result in duplicated data. For a given
+  // annotation set, callers should not reuse `request_id`s when writing
+  // different batches of annotations - behavior in this case is undefined.
+  // A common approach is to use a UUID. For batch jobs where worker crashes are
+  // a possibility, consider using some unique variant of a worker or run ID.
+  string request_id = 2;
 }
 
 message BatchCreateAnnotationsResponse {
diff --git a/googleapis/genomics/v1/cigar.pb.go b/googleapis/genomics/v1/cigar.pb.go
index 3c4fe575..0a1e371d 100644
--- a/googleapis/genomics/v1/cigar.pb.go
+++ b/googleapis/genomics/v1/cigar.pb.go
@@ -123,29 +123,29 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 371 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0x4f, 0xaf, 0x93, 0x40,
-	0x10, 0x77, 0xcb, 0xb3, 0xef, 0x31, 0x89, 0xef, 0x6d, 0xd7, 0xd4, 0x54, 0x4f, 0x4d, 0x2f, 0xb6,
-	0x07, 0x21, 0xd5, 0xb3, 0x07, 0x0a, 0x5b, 0xbb, 0x91, 0x02, 0x02, 0x3d, 0x13, 0x24, 0xdb, 0x75,
-	0x93, 0x76, 0x17, 0x01, 0xfb, 0xb5, 0xfc, 0x46, 0x7e, 0x0e, 0x8f, 0x06, 0xda, 0xd2, 0x83, 0x1e,
-	0xbc, 0xcd, 0xfc, 0xfe, 0xcd, 0x64, 0x06, 0x3e, 0x0a, 0xad, 0xc5, 0x81, 0x5b, 0x42, 0x1f, 0x72,
-	0x25, 0x2c, 0x5d, 0x09, 0x5b, 0x70, 0x55, 0x56, 0xba, 0xd1, 0xf6, 0x99, 0xca, 0x4b, 0x59, 0xb7,
-	0x98, 0x3e, 0xca, 0xa2, 0xb6, 0x4f, 0x4b, 0xbb, 0x90, 0x22, 0xaf, 0xac, 0x4e, 0x42, 0xc8, 0xd5,
-	0x7e, 0xe1, 0xad, 0xd3, 0xf2, 0x0d, 0xfb, 0xbf, 0xc8, 0xbc, 0x94, 0x76, 0xcd, 0xab, 0x93, 0x2c,
-	0x78, 0xa1, 0xd5, 0x5e, 0x0a, 0x3b, 0x57, 0x4a, 0x37, 0x79, 0x23, 0xb5, 0xaa, 0xcf, 0xf1, 0xb3,
-	0x5f, 0x03, 0x30, 0xdd, 0x76, 0xdc, 0x4e, 0xc9, 0x86, 0x50, 0x30, 0x75, 0xc9, 0xab, 0x4e, 0x31,
-	0x41, 0x53, 0x34, 0x7f, 0x7c, 0xff, 0xd6, 0xfa, 0x7b, 0x01, 0xab, 0x77, 0x58, 0xe1, 0x55, 0x1e,
-	0xdf, 0x9c, 0x64, 0x01, 0xb8, 0x6f, 0xb2, 0x03, 0x57, 0xa2, 0xf9, 0x36, 0x19, 0x4c, 0xd1, 0xdc,
-	0x88, 0x9f, 0x7a, 0xdc, 0xef, 0x60, 0xf2, 0x0e, 0x48, 0xc5, 0xf7, 0xbc, 0xe2, 0xaa, 0xe0, 0x59,
-	0xcd, 0xbf, 0xff, 0x68, 0x8b, 0x89, 0x31, 0x45, 0x73, 0x33, 0x1e, 0xf5, 0x4c, 0x72, 0x21, 0x66,
-	0x3f, 0x11, 0x98, 0xfd, 0x48, 0xf2, 0x1a, 0xc6, 0x61, 0x44, 0x63, 0x27, 0x65, 0x61, 0x90, 0xed,
-	0x82, 0x24, 0xa2, 0x2e, 0x5b, 0x33, 0xea, 0xe1, 0x67, 0xe4, 0x25, 0x3c, 0x39, 0x3e, 0xfb, 0x14,
-	0x6c, 0x69, 0x90, 0x66, 0x5b, 0x27, 0x75, 0x37, 0x18, 0x11, 0x80, 0x21, 0x0b, 0x12, 0x1a, 0xa7,
-	0x78, 0xd0, 0xd6, 0x1e, 0xf5, 0x69, 0x4a, 0xb1, 0x41, 0x1e, 0xe0, 0x2e, 0xf9, 0xcc, 0x22, 0x7c,
-	0x47, 0x5e, 0x80, 0xe9, 0xfa, 0x2c, 0xca, 0x92, 0x70, 0x9d, 0xe2, 0xe7, 0x7d, 0xbb, 0x71, 0x62,
-	0x0f, 0x0f, 0xc9, 0x3d, 0x18, 0x91, 0xe3, 0xe1, 0x7b, 0x42, 0xe0, 0x31, 0xa1, 0x5f, 0x76, 0x34,
-	0x70, 0xe9, 0x25, 0xfc, 0x81, 0x8c, 0x61, 0x74, 0xc3, 0x58, 0x72, 0x86, 0xcd, 0xd5, 0x02, 0x5e,
-	0x15, 0xfa, 0xf8, 0x8f, 0x23, 0xae, 0xa0, 0xbb, 0x62, 0xd4, 0xbe, 0x21, 0x42, 0xbf, 0x11, 0xfa,
-	0x3a, 0xec, 0x5e, 0xf2, 0xe1, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x86, 0x00, 0x39, 0x32,
-	0x02, 0x00, 0x00,
+	// 372 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x51, 0xc1, 0x92, 0x9a, 0x40,
+	0x10, 0x0d, 0x62, 0x54, 0xba, 0x2a, 0x3a, 0x4e, 0xca, 0x94, 0xc9, 0x29, 0xe5, 0x25, 0xf1, 0x10,
+	0x28, 0x93, 0x73, 0x0e, 0x08, 0x63, 0x9c, 0x0a, 0x02, 0x01, 0x3c, 0x53, 0x84, 0x1a, 0x27, 0x54,
+	0xe9, 0x8c, 0x01, 0xd6, 0xdf, 0xda, 0x3f, 0xda, 0xef, 0xd8, 0xe3, 0x02, 0x2a, 0x1e, 0x76, 0x0f,
+	0x7b, 0x99, 0xea, 0x7e, 0xef, 0xf5, 0xeb, 0xa9, 0xd7, 0xf0, 0x93, 0x4b, 0xc9, 0xf7, 0x4c, 0xe7,
+	0x72, 0x9f, 0x08, 0xae, 0xcb, 0x9c, 0x1b, 0x9c, 0x89, 0x63, 0x2e, 0x4b, 0x69, 0x9c, 0xa9, 0xe4,
+	0x98, 0x15, 0x35, 0x26, 0x0f, 0x59, 0x5a, 0x18, 0xa7, 0x85, 0x91, 0x66, 0x3c, 0xc9, 0xf5, 0x46,
+	0x82, 0xf1, 0x75, 0xfc, 0xc2, 0xeb, 0xa7, 0xc5, 0x27, 0xfa, 0x3a, 0xcb, 0xea, 0x31, 0x0a, 0x96,
+	0x9f, 0xb2, 0x94, 0xa5, 0x52, 0xec, 0x32, 0x6e, 0x24, 0x42, 0xc8, 0x32, 0x29, 0x33, 0x29, 0x8a,
+	0xb3, 0xfd, 0xec, 0xa1, 0x03, 0x9a, 0x55, 0xaf, 0xdb, 0x8a, 0xac, 0xc4, 0x04, 0x34, 0x79, 0x64,
+	0x79, 0xa3, 0x98, 0x2a, 0x9f, 0x95, 0xaf, 0xc3, 0xef, 0x5f, 0xf4, 0xe7, 0x1f, 0xd0, 0xdb, 0x09,
+	0xdd, 0xbb, 0xca, 0x83, 0xdb, 0x24, 0x9e, 0x03, 0x6a, 0x9b, 0x78, 0xcf, 0x04, 0x2f, 0xff, 0x4d,
+	0x3b, 0x95, 0x9b, 0x1a, 0x8c, 0x5a, 0xdc, 0x69, 0x60, 0xfc, 0x0d, 0x70, 0xce, 0x76, 0x2c, 0x67,
+	0x22, 0x65, 0x71, 0xc1, 0xfe, 0xdf, 0xd5, 0xc5, 0x54, 0xad, 0xc4, 0x5a, 0x30, 0x6e, 0x99, 0xf0,
+	0x42, 0xcc, 0xee, 0x15, 0xd0, 0xda, 0x95, 0xf8, 0x23, 0x4c, 0x3c, 0x9f, 0x04, 0x66, 0x44, 0x3d,
+	0x37, 0xde, 0xba, 0xa1, 0x4f, 0x2c, 0xba, 0xa2, 0xc4, 0x46, 0x6f, 0xf0, 0x7b, 0x18, 0x99, 0x0e,
+	0xfd, 0xe5, 0x6e, 0x88, 0x1b, 0xc5, 0x1b, 0x33, 0xb2, 0xd6, 0x48, 0xc1, 0x00, 0x3d, 0xea, 0x86,
+	0x24, 0x88, 0x50, 0xa7, 0xae, 0x6d, 0xe2, 0x90, 0x88, 0x20, 0x15, 0x0f, 0xa0, 0x1b, 0xfe, 0xa6,
+	0x3e, 0xea, 0xe2, 0x77, 0x55, 0x1a, 0x0e, 0xf5, 0xe3, 0xd0, 0x5b, 0x45, 0xe8, 0x6d, 0xdb, 0xae,
+	0xcd, 0xc0, 0x46, 0x3d, 0xdc, 0x07, 0xd5, 0x37, 0x6d, 0xd4, 0xc7, 0x18, 0x86, 0x21, 0xf9, 0xb3,
+	0x25, 0xae, 0x45, 0x2e, 0xe6, 0x03, 0x3c, 0x81, 0xf1, 0x0d, 0xa3, 0xe1, 0x19, 0xd6, 0x96, 0x73,
+	0xf8, 0x90, 0xca, 0xc3, 0x0b, 0x21, 0x2e, 0xa1, 0x49, 0xd1, 0xaf, 0xcf, 0xe0, 0x2b, 0x8f, 0x8a,
+	0xf2, 0xb7, 0xd7, 0x9c, 0xe4, 0xc7, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfa, 0x86, 0x00, 0x39,
+	0x32, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/datasets.pb.go b/googleapis/genomics/v1/datasets.pb.go
index ef8cc34a..060b5c68 100644
--- a/googleapis/genomics/v1/datasets.pb.go
+++ b/googleapis/genomics/v1/datasets.pb.go
@@ -649,56 +649,56 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 813 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x96, 0x41, 0x4f, 0xe3, 0x46,
-	0x14, 0xc7, 0xe5, 0x40, 0x0b, 0x79, 0x10, 0x68, 0xa7, 0x29, 0x4d, 0x83, 0x90, 0xa8, 0xd5, 0x42,
-	0x9a, 0x52, 0x5b, 0x09, 0x45, 0xa8, 0x41, 0x48, 0x15, 0xa5, 0x45, 0x91, 0x8a, 0x14, 0x05, 0xe8,
-	0x35, 0x1a, 0xec, 0xc1, 0x9d, 0x12, 0x7b, 0x5c, 0xcf, 0x04, 0x0a, 0x94, 0x0b, 0x37, 0xce, 0xfd,
-	0x00, 0x95, 0x7a, 0xdb, 0xcf, 0xb3, 0x5f, 0x61, 0x3f, 0xc4, 0x1e, 0x57, 0x33, 0x1e, 0x27, 0x4e,
-	0x62, 0x42, 0x58, 0xed, 0x05, 0x59, 0x6f, 0xde, 0x7b, 0xbf, 0xff, 0x9b, 0xf7, 0xb7, 0x09, 0xfc,
-	0xe4, 0x31, 0xe6, 0x75, 0x89, 0xe5, 0xb1, 0x2e, 0x0e, 0x3c, 0x8b, 0x45, 0x9e, 0xed, 0x91, 0x20,
-	0x8c, 0x98, 0x60, 0x76, 0x7c, 0x84, 0x43, 0xca, 0x65, 0x8c, 0xf9, 0xd4, 0xe1, 0xf6, 0x55, 0xcd,
-	0x76, 0xb1, 0xc0, 0x9c, 0x08, 0x6e, 0xa9, 0x2c, 0x84, 0x92, 0x0e, 0x3a, 0xc5, 0xba, 0xaa, 0x95,
-	0x9b, 0xd3, 0x75, 0xc5, 0x21, 0xb5, 0x39, 0x89, 0xae, 0xa8, 0x43, 0x1c, 0x16, 0x5c, 0x50, 0xcf,
-	0xc6, 0x41, 0xc0, 0x04, 0x16, 0x94, 0x05, 0xba, 0x7d, 0x79, 0x7f, 0xba, 0x56, 0x14, 0xfb, 0x52,
-	0x1b, 0xc5, 0x7e, 0x27, 0x64, 0x5d, 0xea, 0xdc, 0xe8, 0xf2, 0x1f, 0x5f, 0x54, 0x3e, 0x54, 0xba,
-	0xed, 0x51, 0xf1, 0x47, 0xef, 0xdc, 0x72, 0x98, 0x6f, 0xc7, 0xe5, 0xb6, 0x3a, 0x38, 0xef, 0x5d,
-	0xd8, 0xa1, 0xb8, 0x09, 0x09, 0xb7, 0x89, 0x1f, 0x8a, 0x9b, 0xf8, 0xaf, 0x2e, 0xfa, 0x61, 0x02,
-	0xaf, 0x5f, 0x7d, 0x41, 0x49, 0xd7, 0xed, 0xf8, 0x98, 0x5f, 0xea, 0xaa, 0xbd, 0xe7, 0x51, 0x82,
-	0xfa, 0x84, 0x0b, 0xec, 0x87, 0x83, 0xa7, 0xb8, 0xd8, 0x7c, 0x34, 0x60, 0xee, 0x30, 0xde, 0x09,
-	0x5a, 0x82, 0x1c, 0x75, 0x4b, 0xc6, 0xba, 0x51, 0xc9, 0xb7, 0x73, 0xd4, 0x45, 0x6b, 0x00, 0x61,
-	0xc4, 0xfe, 0x24, 0x8e, 0xe8, 0x50, 0xb7, 0x94, 0x53, 0xf1, 0xbc, 0x8e, 0x34, 0x5d, 0x84, 0x60,
-	0x36, 0xc0, 0x3e, 0x29, 0xcd, 0xa8, 0x03, 0xf5, 0x8c, 0xf6, 0x60, 0xc1, 0x89, 0x08, 0x16, 0xa4,
-	0x23, 0x41, 0xa5, 0xd9, 0x75, 0xa3, 0xb2, 0x50, 0x2f, 0x5b, 0x7a, 0xae, 0x44, 0x96, 0x75, 0x9a,
-	0xa8, 0x68, 0x43, 0x9c, 0x2e, 0x03, 0x66, 0x08, 0x9f, 0xfd, 0x46, 0xb9, 0xd0, 0x72, 0x78, 0x9b,
-	0xfc, 0xd5, 0x23, 0x5c, 0x8c, 0xc8, 0x30, 0x46, 0x65, 0xac, 0x42, 0x3e, 0xc4, 0x1e, 0xe9, 0x70,
-	0x7a, 0x4b, 0x94, 0xc8, 0x8f, 0xda, 0xf3, 0x32, 0x70, 0x42, 0x6f, 0x89, 0xaa, 0x95, 0x87, 0x82,
-	0x5d, 0x92, 0x40, 0x2b, 0x55, 0xe9, 0xa7, 0x32, 0x60, 0x5e, 0x43, 0x71, 0x98, 0xc8, 0x43, 0x16,
-	0x70, 0x82, 0x76, 0x61, 0x3e, 0x31, 0x6a, 0xc9, 0x58, 0x9f, 0xa9, 0x2c, 0xd4, 0x57, 0xad, 0x71,
-	0xa7, 0x5a, 0xba, 0xae, 0xdd, 0x4f, 0x46, 0x1b, 0xb0, 0x1c, 0x90, 0xbf, 0x45, 0x27, 0x05, 0x8d,
-	0xef, 0xad, 0x20, 0xc3, 0xad, 0x3e, 0xf8, 0x18, 0x8a, 0x3f, 0xab, 0xc1, 0x93, 0x16, 0x7a, 0xd6,
-	0x1d, 0x98, 0xd3, 0xbd, 0xd4, 0xa0, 0xcf, 0x70, 0x93, 0x5c, 0xf3, 0x95, 0x01, 0xc5, 0xb3, 0xd0,
-	0x1d, 0xef, 0xb7, 0x06, 0xa0, 0x73, 0x52, 0x77, 0xa7, 0x23, 0x4d, 0x37, 0x8d, 0xcb, 0x4d, 0x8f,
-	0x93, 0x5b, 0xee, 0x29, 0x9a, 0xb2, 0xa1, 0xba, 0xd6, 0xac, 0x2d, 0xff, 0x2a, 0x9d, 0x7a, 0x8c,
-	0xf9, 0x65, 0x1b, 0xe2, 0x74, 0xf9, 0x6c, 0xee, 0x40, 0xf1, 0x90, 0x74, 0xc9, 0x0b, 0xa5, 0x9a,
-	0xbb, 0xb0, 0x72, 0x16, 0xb8, 0xef, 0x51, 0x58, 0x87, 0x4f, 0x8f, 0x88, 0x78, 0x51, 0x4d, 0xfd,
-	0xbf, 0x3c, 0x7c, 0xa2, 0x2b, 0x4e, 0xe2, 0x4f, 0xcc, 0xef, 0x35, 0x74, 0x0d, 0x8b, 0x69, 0xb3,
-	0xa0, 0xcd, 0xac, 0xbb, 0xca, 0x30, 0x70, 0xb9, 0xf2, 0x7c, 0x62, 0xec, 0x3b, 0xb3, 0xf8, 0xf0,
-	0xfa, 0xcd, 0xbf, 0xb9, 0x25, 0xb4, 0x98, 0xfe, 0x54, 0xa2, 0x1e, 0x14, 0x86, 0xcc, 0x82, 0x32,
-	0x1b, 0x66, 0xf9, 0xa9, 0x3c, 0x69, 0x9f, 0xe6, 0x9a, 0xa2, 0x7d, 0x61, 0x0e, 0xd1, 0x1a, 0xfd,
-	0x2d, 0x73, 0x80, 0xc1, 0xc5, 0xa1, 0x6f, 0xb2, 0x3a, 0x8d, 0x5d, 0xec, 0x64, 0xe0, 0x57, 0x0a,
-	0xb8, 0x8a, 0xbe, 0x4c, 0x03, 0xed, 0xbb, 0xc1, 0x26, 0xee, 0xd1, 0x83, 0x01, 0x85, 0x21, 0x27,
-	0x67, 0x0f, 0x9b, 0x65, 0xf6, 0xc9, 0xec, 0xaa, 0x62, 0x7f, 0x5d, 0x7f, 0x9a, 0x3d, 0x98, 0x5c,
-	0x40, 0x61, 0xc8, 0xa2, 0xd9, 0x1a, 0xb2, 0x5c, 0x5c, 0x5e, 0x19, 0x7b, 0x0b, 0x7e, 0x91, 0x1f,
-	0xf8, 0x64, 0xf4, 0xea, 0x84, 0xd1, 0x1f, 0x0d, 0x58, 0x1e, 0xb1, 0x38, 0xaa, 0x66, 0x0e, 0x9f,
-	0xf9, 0x1e, 0x4c, 0x1e, 0xff, 0x7b, 0xc5, 0xdf, 0x34, 0xcd, 0xa7, 0xc7, 0xef, 0xe9, 0xb6, 0x0d,
-	0xa3, 0x8a, 0xfe, 0x81, 0xc5, 0x13, 0x22, 0x9a, 0xd8, 0x6f, 0xa9, 0x7f, 0x6a, 0xc8, 0x4c, 0x7a,
-	0x53, 0xec, 0xcb, 0xb6, 0xe9, 0xc3, 0x84, 0xff, 0xf9, 0x48, 0x4e, 0x7c, 0x6a, 0xd6, 0x14, 0xf9,
-	0x3b, 0x73, 0x43, 0x92, 0xef, 0x22, 0xc2, 0x59, 0x2f, 0x72, 0xc8, 0x7e, 0x5f, 0x43, 0xf5, 0xbe,
-	0xc1, 0x53, 0xdd, 0x34, 0xfd, 0x68, 0x12, 0xfd, 0xe8, 0x83, 0xd2, 0xbd, 0x11, 0xfa, 0xff, 0x06,
-	0xa0, 0x53, 0xc2, 0x55, 0x90, 0x44, 0x3e, 0xe5, 0x5c, 0xfe, 0xa2, 0x18, 0x78, 0x40, 0x03, 0xc6,
-	0x53, 0x12, 0x29, 0xdf, 0x4e, 0x91, 0xa9, 0x5f, 0xf8, 0x5d, 0x25, 0xaf, 0x66, 0x6e, 0x3d, 0x2d,
-	0x4f, 0x8c, 0x55, 0x37, 0x8c, 0xea, 0xc1, 0x16, 0xac, 0x38, 0xcc, 0xcf, 0xd8, 0xf8, 0x41, 0x21,
-	0xf9, 0xaa, 0xb4, 0xa4, 0x03, 0x5b, 0xc6, 0x5b, 0xc3, 0x38, 0xff, 0x58, 0xb9, 0x71, 0xfb, 0x5d,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0xba, 0x65, 0x28, 0x36, 0xb1, 0x09, 0x00, 0x00,
+	// 804 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x4e, 0x13, 0x41,
+	0x14, 0xce, 0x16, 0x14, 0x7a, 0xa0, 0xa0, 0x63, 0x45, 0x2c, 0x21, 0xd1, 0x89, 0x02, 0x56, 0xdc,
+	0x4d, 0x8b, 0x84, 0x08, 0x21, 0x31, 0x88, 0x12, 0x12, 0x49, 0x9a, 0x02, 0xde, 0x36, 0xcb, 0x76,
+	0x58, 0x57, 0xba, 0x3f, 0x76, 0xa6, 0x20, 0x22, 0x37, 0xdc, 0x79, 0xed, 0x03, 0x98, 0x78, 0xe7,
+	0xf3, 0xf8, 0x0a, 0x3e, 0x84, 0x97, 0xce, 0xcc, 0xce, 0xb6, 0xdb, 0x76, 0x59, 0x8a, 0xf1, 0x66,
+	0x19, 0xce, 0x7c, 0xe7, 0x7c, 0xdf, 0x99, 0xf3, 0xed, 0x6c, 0xe1, 0xa5, 0xed, 0xfb, 0x76, 0x83,
+	0xe8, 0xb6, 0xdf, 0x30, 0x3d, 0x5b, 0xf7, 0x9b, 0xb6, 0x61, 0x13, 0x2f, 0x68, 0xfa, 0xcc, 0x37,
+	0xc2, 0x2d, 0x33, 0x70, 0xa8, 0x88, 0xf9, 0xae, 0x63, 0x51, 0xe3, 0xb8, 0x64, 0xd4, 0x4d, 0x66,
+	0x52, 0xc2, 0xa8, 0x2e, 0x51, 0x08, 0x45, 0x15, 0x14, 0x44, 0x3f, 0x2e, 0x15, 0xb6, 0x07, 0xab,
+	0xca, 0x1f, 0x06, 0x25, 0xcd, 0x63, 0xc7, 0x22, 0x96, 0xef, 0x1d, 0x3a, 0xb6, 0x61, 0x7a, 0x9e,
+	0xcf, 0x4c, 0xe6, 0xf8, 0x9e, 0x2a, 0x5f, 0x58, 0x1f, 0xac, 0x94, 0x63, 0xba, 0x42, 0x1b, 0xff,
+	0x53, 0x0b, 0xfc, 0x86, 0x63, 0x9d, 0xaa, 0xf4, 0x17, 0xd7, 0x4a, 0xef, 0x4a, 0x5d, 0xb2, 0x1d,
+	0xf6, 0xbe, 0x75, 0xa0, 0x5b, 0xbe, 0x6b, 0x84, 0xe9, 0x86, 0xdc, 0x38, 0x68, 0x1d, 0x1a, 0x01,
+	0x3b, 0x0d, 0x08, 0x35, 0x88, 0xcb, 0x17, 0xe1, 0x53, 0x25, 0x3d, 0x4f, 0xe1, 0x6b, 0x67, 0x1f,
+	0x3a, 0xa4, 0x51, 0xaf, 0xb9, 0x26, 0x3d, 0x52, 0x59, 0x6b, 0x57, 0x53, 0x31, 0xc7, 0x25, 0x94,
+	0x99, 0x6e, 0xd0, 0x59, 0x85, 0xc9, 0xf8, 0xab, 0x06, 0x23, 0x9b, 0xe1, 0x4c, 0xd0, 0x04, 0x64,
+	0x9c, 0xfa, 0xb4, 0xf6, 0x40, 0x5b, 0xc8, 0x56, 0xf9, 0x0a, 0xcd, 0x02, 0x70, 0xd0, 0x07, 0x62,
+	0xb1, 0x1a, 0x8f, 0x67, 0x64, 0x3c, 0xab, 0x22, 0xdb, 0x75, 0x84, 0x60, 0xd8, 0x33, 0x5d, 0x32,
+	0x3d, 0x24, 0x37, 0xe4, 0x1a, 0xad, 0xc1, 0x98, 0xd5, 0x24, 0x26, 0x23, 0x35, 0x41, 0x34, 0x3d,
+	0xcc, 0xb7, 0xc6, 0xca, 0x05, 0x5d, 0xf5, 0x15, 0xc9, 0xd2, 0xf7, 0x22, 0x15, 0x55, 0x08, 0xe1,
+	0x22, 0x80, 0x03, 0xb8, 0xf3, 0xd6, 0xa1, 0x4c, 0xc9, 0xa1, 0x55, 0xf2, 0xb1, 0xc5, 0x51, 0x3d,
+	0x32, 0xb4, 0x5e, 0x19, 0x33, 0x90, 0x0d, 0x4c, 0x9b, 0xd4, 0xa8, 0xf3, 0x99, 0x48, 0x91, 0x37,
+	0xaa, 0xa3, 0x22, 0xb0, 0xcb, 0xff, 0x97, 0xb9, 0x62, 0x93, 0xf9, 0x47, 0xc4, 0x53, 0x4a, 0x25,
+	0x7c, 0x4f, 0x04, 0xf0, 0x09, 0xe4, 0xbb, 0x19, 0x69, 0xc0, 0xcd, 0x43, 0xd0, 0x0a, 0x8c, 0x46,
+	0x46, 0xe5, 0x84, 0x43, 0xbc, 0x87, 0x19, 0xbd, 0xdf, 0xa9, 0xba, 0xca, 0xab, 0xb6, 0xc1, 0x68,
+	0x0e, 0x26, 0x3d, 0xf2, 0x89, 0xd5, 0x62, 0xa4, 0xe1, 0xb9, 0xe5, 0x44, 0xb8, 0xd2, 0x26, 0xde,
+	0x81, 0xfc, 0x2b, 0xd9, 0x78, 0x54, 0x42, 0xf5, 0xba, 0x0c, 0x23, 0xaa, 0x96, 0x6c, 0xf4, 0x0a,
+	0xde, 0x08, 0x8b, 0x7f, 0x6a, 0x90, 0xdf, 0x0f, 0xea, 0xfd, 0xf5, 0x78, 0xff, 0x0a, 0x13, 0x3b,
+	0x3b, 0x15, 0xe1, 0x67, 0x17, 0xa3, 0xcb, 0x0c, 0x4e, 0x27, 0xa6, 0xdc, 0x92, 0x6c, 0xd2, 0x86,
+	0xf2, 0x58, 0x93, 0xa6, 0xfc, 0x46, 0x38, 0x75, 0x87, 0x23, 0xaa, 0x10, 0xc2, 0xc5, 0x1a, 0x2f,
+	0x43, 0x7e, 0x93, 0x34, 0xc8, 0x35, 0xa5, 0xe2, 0x15, 0x98, 0xda, 0xf7, 0xea, 0xff, 0x90, 0x58,
+	0x86, 0xdb, 0x5b, 0x84, 0x5d, 0x2b, 0xa7, 0xfc, 0x3d, 0x0b, 0xb7, 0x54, 0xc6, 0x6e, 0x78, 0xc5,
+	0xbc, 0x2b, 0xa1, 0x13, 0x18, 0x8f, 0x9b, 0x05, 0xcd, 0x27, 0x9d, 0x55, 0x82, 0x81, 0x0b, 0x0b,
+	0x57, 0x03, 0x43, 0xdf, 0xe1, 0xfc, 0xc5, 0xaf, 0xdf, 0xdf, 0x32, 0x13, 0x68, 0x3c, 0x7e, 0x55,
+	0xa2, 0x16, 0xe4, 0xba, 0xcc, 0x82, 0x12, 0x0b, 0x26, 0xf9, 0xa9, 0x90, 0x36, 0x4f, 0x3c, 0x2b,
+	0xd9, 0xee, 0xe1, 0x2e, 0xb6, 0xd5, 0xf6, 0x94, 0x29, 0x40, 0xe7, 0xe0, 0xd0, 0xe3, 0xa4, 0x4a,
+	0x7d, 0x07, 0x9b, 0x4e, 0xf8, 0x50, 0x12, 0xce, 0xa0, 0xfb, 0x71, 0x42, 0xe3, 0xac, 0x33, 0x89,
+	0x73, 0x74, 0xa1, 0x41, 0xae, 0xcb, 0xc9, 0xc9, 0xcd, 0x26, 0x99, 0x3d, 0x9d, 0xbb, 0x28, 0xb9,
+	0x1f, 0x95, 0x2f, 0xe7, 0xee, 0x74, 0xce, 0x20, 0xd7, 0x65, 0xd1, 0x64, 0x0d, 0x49, 0x2e, 0x2e,
+	0x4c, 0xf5, 0xbd, 0x05, 0xaf, 0xc5, 0x05, 0x1f, 0xb5, 0x5e, 0x4c, 0x69, 0x9d, 0x5f, 0xc5, 0x93,
+	0x3d, 0x16, 0x47, 0xc5, 0xc4, 0xe6, 0x13, 0xdf, 0x83, 0xf4, 0xf6, 0x9f, 0x49, 0xfe, 0x79, 0x8c,
+	0x2f, 0x6f, 0xbf, 0xa5, 0xca, 0xae, 0x6a, 0x45, 0xf4, 0x05, 0xc6, 0x77, 0xf9, 0x9b, 0x60, 0xba,
+	0x15, 0xf9, 0x51, 0x43, 0x38, 0xaa, 0xcd, 0xbf, 0x75, 0xa2, 0x6c, 0x7c, 0x33, 0xe2, 0xbf, 0xdb,
+	0x83, 0x09, 0x77, 0x71, 0x49, 0x32, 0x3f, 0xc5, 0x73, 0x82, 0xf9, 0xac, 0x49, 0xa8, 0xdf, 0x6a,
+	0x5a, 0x64, 0xbd, 0xad, 0xa1, 0x78, 0xbe, 0x4a, 0x63, 0xd5, 0x14, 0xfb, 0x56, 0x1a, 0xfb, 0xd6,
+	0x7f, 0x65, 0xb7, 0x7b, 0xd8, 0x7f, 0x68, 0x80, 0xf6, 0x78, 0x49, 0x11, 0x24, 0x4d, 0xd7, 0xa1,
+	0x54, 0xfc, 0xa2, 0xe8, 0x78, 0x40, 0x11, 0xf4, 0x43, 0x22, 0x29, 0x4f, 0x06, 0x40, 0xaa, 0x17,
+	0x7e, 0x45, 0xca, 0x2b, 0xe1, 0xc5, 0xcb, 0xe5, 0xb1, 0xbe, 0x6c, 0x2e, 0x72, 0x63, 0x11, 0xa6,
+	0xf8, 0xf7, 0x3e, 0x61, 0xe2, 0x1b, 0xb9, 0xe8, 0x56, 0xa9, 0x08, 0x07, 0x56, 0xb4, 0x3f, 0x9a,
+	0x76, 0x70, 0x53, 0xba, 0x71, 0xe9, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xba, 0x65, 0x28, 0x36,
+	0xb1, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/operations.pb.go b/googleapis/genomics/v1/operations.pb.go
index da1ffd78..50534431 100644
--- a/googleapis/genomics/v1/operations.pb.go
+++ b/googleapis/genomics/v1/operations.pb.go
@@ -128,31 +128,31 @@ func init() {
 }
 
 var fileDescriptor3 = []byte{
-	// 415 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x91, 0xc1, 0x8b, 0x13, 0x31,
-	0x14, 0xc6, 0xc9, 0x56, 0xdb, 0xce, 0x2b, 0xb8, 0x1a, 0x44, 0x86, 0x8a, 0x50, 0x7a, 0xea, 0x29,
-	0x61, 0x57, 0x3c, 0xe8, 0x1e, 0xc4, 0x82, 0x87, 0x1e, 0xc4, 0x65, 0xf0, 0x5e, 0xd2, 0xcc, 0xdb,
-	0x18, 0xe9, 0x24, 0x31, 0x49, 0x0b, 0xfd, 0x7f, 0xbc, 0xf9, 0x0f, 0x7a, 0x94, 0x64, 0x66, 0xd6,
-	0xd5, 0x15, 0x5b, 0x3c, 0x14, 0xca, 0xcb, 0xf7, 0xfb, 0xbe, 0x37, 0xdf, 0x83, 0xa5, 0xb2, 0x56,
-	0x6d, 0x91, 0x29, 0xbb, 0x15, 0x46, 0x31, 0xeb, 0x15, 0x57, 0x68, 0x9c, 0xb7, 0xd1, 0xf2, 0xf6,
-	0x49, 0x38, 0x1d, 0xd2, 0xcc, 0x36, 0x5a, 0x06, 0xbe, 0xbf, 0xe0, 0xd6, 0xa1, 0x17, 0x51, 0x5b,
-	0x13, 0x58, 0xd6, 0x51, 0xda, 0x7b, 0x74, 0x22, 0xb6, 0xbf, 0x98, 0xae, 0x4e, 0xf3, 0x15, 0x4e,
-	0xf3, 0x80, 0x7e, 0xaf, 0x25, 0x4a, 0x6b, 0x6e, 0xb4, 0xe2, 0xc2, 0x18, 0x1b, 0xef, 0xda, 0x4f,
-	0xb9, 0xd2, 0xf1, 0xf3, 0x6e, 0xc3, 0xa4, 0x6d, 0x78, 0x6b, 0xc7, 0xf3, 0xc3, 0x66, 0x77, 0xc3,
-	0x5d, 0x3c, 0x38, 0x0c, 0x5c, 0x98, 0x43, 0xfa, 0x75, 0xc0, 0xd5, 0x71, 0x20, 0xea, 0x06, 0x43,
-	0x14, 0x8d, 0xfb, 0xf5, 0xaf, 0x85, 0xe7, 0xdf, 0x07, 0xf0, 0xe4, 0x63, 0xff, 0x85, 0x1f, 0x30,
-	0x8a, 0x5a, 0x44, 0x41, 0x5f, 0x00, 0x38, 0x6f, 0xbf, 0xa0, 0x8c, 0x6b, 0x5d, 0x97, 0x64, 0x46,
-	0x16, 0x45, 0x55, 0x74, 0x93, 0x55, 0x4d, 0xaf, 0x60, 0x22, 0x3d, 0x8a, 0x88, 0xeb, 0x64, 0x57,
-	0x9e, 0xcd, 0xc8, 0x62, 0x72, 0x39, 0x65, 0x5d, 0x07, 0x7d, 0x38, 0xfb, 0xd4, 0x67, 0x55, 0xd0,
-	0xca, 0xd3, 0x80, 0xbe, 0x06, 0x08, 0x51, 0xf8, 0xd8, 0xb2, 0x83, 0xa3, 0x6c, 0x91, 0xd5, 0x19,
-	0x7d, 0x05, 0x63, 0x34, 0x75, 0x0b, 0x3e, 0x38, 0x0a, 0x8e, 0xd0, 0xd4, 0x19, 0x63, 0x30, 0xf2,
-	0xf8, 0x75, 0x87, 0x21, 0x96, 0x0f, 0x33, 0xf5, 0xf4, 0x1e, 0xf5, 0xce, 0x1c, 0xaa, 0x5e, 0x44,
-	0xdf, 0xc0, 0x10, 0xf7, 0x68, 0x62, 0x28, 0x87, 0xb3, 0xc1, 0x62, 0x72, 0x39, 0x67, 0xf7, 0x2f,
-	0xce, 0x6e, 0x4b, 0x7b, 0x9f, 0xa4, 0x55, 0x47, 0xd0, 0xe7, 0x50, 0xc8, 0xad, 0x46, 0x93, 0x8b,
-	0x1b, 0xe5, 0xe2, 0xc6, 0xed, 0x60, 0x55, 0xd3, 0xb7, 0xf0, 0xd8, 0xef, 0x4c, 0x5a, 0x7f, 0xdd,
-	0x74, 0x55, 0x97, 0xe3, 0x7f, 0x6c, 0x74, 0xde, 0xa9, 0xfb, 0xbb, 0xcc, 0xbf, 0x11, 0x78, 0xf4,
-	0x7b, 0xf0, 0x1f, 0x75, 0x92, 0xff, 0xad, 0xf3, 0xec, 0xf4, 0x3a, 0x67, 0x30, 0xa9, 0x31, 0x48,
-	0xaf, 0x5d, 0xda, 0x22, 0x5f, 0xb0, 0xa8, 0xee, 0x8e, 0x96, 0x0c, 0x9e, 0x49, 0xdb, 0xfc, 0xa5,
-	0xb5, 0xe5, 0xf9, 0xed, 0xf6, 0xe1, 0x3a, 0x45, 0x5c, 0x93, 0x1f, 0x84, 0x6c, 0x86, 0x39, 0xee,
-	0xe5, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x33, 0x68, 0x2e, 0x11, 0x9e, 0x03, 0x00, 0x00,
+	// 413 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x41, 0x8f, 0xd3, 0x30,
+	0x10, 0x85, 0x95, 0x2d, 0xb4, 0xcd, 0x54, 0x62, 0x21, 0x42, 0x28, 0x2a, 0x42, 0xaa, 0x7a, 0xe2,
+	0x64, 0x6b, 0x41, 0x1c, 0x60, 0x0f, 0x88, 0x4a, 0x1c, 0xf6, 0x80, 0x58, 0x45, 0xdc, 0x2b, 0xd7,
+	0x99, 0x35, 0x46, 0x8d, 0x1d, 0x6c, 0x27, 0x52, 0xff, 0x0f, 0x37, 0xfe, 0x20, 0x47, 0x6c, 0x27,
+	0x29, 0x85, 0x22, 0x5a, 0x71, 0x48, 0x64, 0xbd, 0x79, 0xdf, 0xcc, 0xe4, 0x39, 0xb0, 0x12, 0x5a,
+	0x8b, 0x2d, 0x12, 0xa1, 0xb7, 0x4c, 0x09, 0xa2, 0x8d, 0xa0, 0x02, 0x55, 0x6d, 0xb4, 0xd3, 0xb4,
+	0x2b, 0xb1, 0x5a, 0xda, 0xa0, 0xe9, 0x4a, 0x72, 0x4b, 0xdb, 0x2b, 0xaa, 0x6b, 0x34, 0xcc, 0x49,
+	0xad, 0x2c, 0x89, 0xbe, 0x2c, 0x1b, 0x7a, 0xf4, 0x26, 0xd2, 0x5e, 0xcd, 0x6f, 0xce, 0xeb, 0xeb,
+	0x5f, 0xd4, 0xa2, 0x69, 0x25, 0x47, 0xae, 0xd5, 0x9d, 0x14, 0x94, 0x29, 0xa5, 0xdd, 0x61, 0xfb,
+	0x39, 0x15, 0xd2, 0x7d, 0x6e, 0x36, 0x84, 0xeb, 0x8a, 0x76, 0xed, 0x68, 0x2c, 0x6c, 0x9a, 0x3b,
+	0x5a, 0xbb, 0x5d, 0x8d, 0xbe, 0x8d, 0xda, 0x85, 0xa7, 0x07, 0xae, 0x4f, 0x03, 0x4e, 0x56, 0x68,
+	0x1d, 0xab, 0xea, 0x5f, 0xa7, 0x0e, 0x5e, 0x7e, 0x1f, 0xc1, 0xa3, 0x8f, 0xc3, 0x17, 0x7e, 0x40,
+	0xc7, 0x4a, 0xe6, 0x58, 0xf6, 0x0c, 0xc0, 0x97, 0xbf, 0x20, 0x77, 0x6b, 0x59, 0xe6, 0xc9, 0x22,
+	0x79, 0x9e, 0x16, 0x69, 0xaf, 0xdc, 0x94, 0xd9, 0x35, 0xcc, 0xb8, 0x41, 0xe6, 0x70, 0x1d, 0xda,
+	0xe5, 0x17, 0xbe, 0x3e, 0x7b, 0x31, 0x27, 0x7d, 0x06, 0xc3, 0x70, 0xf2, 0x69, 0x98, 0x55, 0x40,
+	0x67, 0x0f, 0x42, 0xf6, 0x1a, 0xc0, 0x8b, 0xc6, 0x75, 0xec, 0xe8, 0x24, 0x9b, 0x46, 0x77, 0x44,
+	0x5f, 0xc1, 0x14, 0x55, 0xd9, 0x81, 0xf7, 0x4e, 0x82, 0x13, 0xef, 0x8d, 0x18, 0x81, 0x89, 0xc1,
+	0xaf, 0x8d, 0x97, 0xf3, 0xfb, 0x91, 0x7a, 0x7c, 0x44, 0xbd, 0x53, 0xbb, 0x62, 0x30, 0x65, 0x6f,
+	0x60, 0x8c, 0x2d, 0x2a, 0x67, 0xf3, 0xf1, 0x62, 0xe4, 0xed, 0x4b, 0x72, 0x7c, 0xe3, 0x64, 0x1f,
+	0xda, 0xfb, 0x60, 0x2d, 0x7a, 0x22, 0x7b, 0x0a, 0x29, 0xdf, 0x4a, 0x7f, 0x0c, 0xc1, 0x4d, 0x62,
+	0x70, 0xd3, 0x4e, 0xf0, 0xb9, 0xbd, 0x85, 0x87, 0xa6, 0x51, 0x61, 0xfd, 0x75, 0xd5, 0x47, 0x9d,
+	0x4f, 0xff, 0xb1, 0xd1, 0x65, 0xef, 0x1e, 0xee, 0x65, 0xf9, 0x2d, 0x81, 0x07, 0xbf, 0x0f, 0xfe,
+	0x23, 0xce, 0xe4, 0x7f, 0xe3, 0xbc, 0x38, 0x3f, 0xce, 0x05, 0xcc, 0x4a, 0xb4, 0xdc, 0xc8, 0x3a,
+	0x6c, 0x11, 0x6f, 0x30, 0x2d, 0x0e, 0xa5, 0x15, 0x81, 0x27, 0xfe, 0x67, 0xfc, 0x4b, 0x6a, 0xab,
+	0xcb, 0xfd, 0xf6, 0xf6, 0x36, 0x8c, 0xb8, 0x4d, 0x7e, 0x24, 0xc9, 0x66, 0x1c, 0xc7, 0xbd, 0xfc,
+	0x19, 0x00, 0x00, 0xff, 0xff, 0x33, 0x68, 0x2e, 0x11, 0x9e, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/position.pb.go b/googleapis/genomics/v1/position.pb.go
index 13332c0b..6b3f679f 100644
--- a/googleapis/genomics/v1/position.pb.go
+++ b/googleapis/genomics/v1/position.pb.go
@@ -42,19 +42,19 @@ func init() {
 }
 
 var fileDescriptor4 = []byte{
-	// 223 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0xb1, 0x6a, 0xc3, 0x30,
-	0x10, 0x86, 0x51, 0x03, 0xc5, 0x15, 0xa4, 0x83, 0x87, 0x62, 0x32, 0x99, 0x42, 0xc1, 0x43, 0x91,
-	0x08, 0x7d, 0x81, 0x92, 0xad, 0x4b, 0x31, 0xe9, 0x03, 0x84, 0xab, 0x7a, 0x11, 0x82, 0xf8, 0x4e,
-	0x48, 0x42, 0xcf, 0xde, 0xb1, 0x48, 0x8e, 0xbd, 0x74, 0xc9, 0xa8, 0x4f, 0x3f, 0x9f, 0x3e, 0xc9,
-	0x77, 0xcb, 0x6c, 0x2f, 0xa8, 0x2c, 0x5f, 0x80, 0xac, 0xe2, 0x60, 0xb5, 0x45, 0xf2, 0x81, 0x13,
-	0xeb, 0xf9, 0x0a, 0xbc, 0x8b, 0x85, 0xf1, 0xe4, 0x4c, 0xd4, 0x79, 0xaf, 0x3d, 0x47, 0x97, 0x1c,
-	0x93, 0xaa, 0xab, 0xb6, 0x5d, 0x0c, 0xd7, 0x89, 0xca, 0xfb, 0xdd, 0xc7, 0x6d, 0x56, 0xf0, 0x4e,
-	0x47, 0x0c, 0xd9, 0x19, 0x34, 0x4c, 0x67, 0x67, 0x35, 0x10, 0x71, 0x82, 0x62, 0x8f, 0xb3, 0xfe,
-	0x39, 0xc9, 0x66, 0xbc, 0x3e, 0xd8, 0xbe, 0xc8, 0xc7, 0x80, 0x67, 0x0c, 0x48, 0x06, 0x4f, 0x04,
-	0x13, 0x76, 0xa2, 0x17, 0xc3, 0xc3, 0x71, 0xbb, 0xd2, 0x4f, 0x98, 0xb0, 0xdd, 0xc9, 0x66, 0x69,
-	0xec, 0xee, 0x7a, 0x31, 0x6c, 0x8e, 0xeb, 0x79, 0x56, 0x64, 0x0c, 0x11, 0x4f, 0x31, 0x05, 0xa0,
-	0x9f, 0x6e, 0xd3, 0x8b, 0xa1, 0x29, 0x8a, 0x4a, 0xbf, 0x2a, 0x3c, 0xbc, 0xca, 0x27, 0xc3, 0x93,
-	0xfa, 0xff, 0xb5, 0xc3, 0x76, 0xa9, 0x19, 0x4b, 0xde, 0x28, 0x7e, 0x85, 0xf8, 0xbe, 0xaf, 0xa9,
-	0x6f, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x54, 0xea, 0x40, 0x4d, 0x01, 0x00, 0x00,
+	// 222 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0xbf, 0x4a, 0x04, 0x31,
+	0x10, 0xc6, 0x89, 0x07, 0xb2, 0x06, 0xce, 0x22, 0x85, 0x2c, 0x57, 0x89, 0x20, 0x58, 0x48, 0xc2,
+	0xe1, 0x0b, 0xc8, 0x75, 0x36, 0xb2, 0x9c, 0x0f, 0x70, 0xc4, 0x38, 0x1b, 0x02, 0xbb, 0x33, 0x4b,
+	0x12, 0xf2, 0xec, 0x96, 0x26, 0xd9, 0x3f, 0x8d, 0xcd, 0x35, 0x81, 0xfc, 0xe6, 0xe3, 0x37, 0xdf,
+	0xf0, 0x77, 0x4b, 0x64, 0x07, 0x90, 0x96, 0x06, 0x8d, 0x56, 0x92, 0xb7, 0xca, 0x02, 0x4e, 0x9e,
+	0x22, 0xa9, 0x79, 0xa4, 0x27, 0x17, 0x0a, 0xa3, 0xd1, 0x99, 0xa0, 0xd2, 0x51, 0x4d, 0x14, 0x5c,
+	0x74, 0x84, 0xb2, 0xa6, 0x84, 0x58, 0x0d, 0x4b, 0x44, 0xa6, 0xe3, 0xe1, 0xe3, 0x3a, 0x6b, 0x7e,
+	0x54, 0x00, 0x9f, 0x9c, 0x01, 0x43, 0xd8, 0x3b, 0xab, 0x34, 0x22, 0x45, 0x5d, 0xec, 0x61, 0xd6,
+	0x3f, 0x45, 0xde, 0x74, 0xcb, 0x42, 0xf1, 0xcc, 0xef, 0x3d, 0xf4, 0xe0, 0x01, 0x0d, 0x5c, 0x50,
+	0x8f, 0xd0, 0xb2, 0x47, 0xf6, 0x72, 0x77, 0xde, 0x6f, 0xf4, 0x33, 0x43, 0x71, 0xe0, 0xcd, 0xda,
+	0xb1, 0xbd, 0xc9, 0x81, 0xdd, 0x79, 0xfb, 0xcf, 0x8a, 0x04, 0x3e, 0xc0, 0x25, 0x44, 0xaf, 0xf1,
+	0xa7, 0xdd, 0xe5, 0x44, 0x53, 0x14, 0x95, 0x7e, 0x55, 0x78, 0x7a, 0xe5, 0x0f, 0x86, 0x46, 0xf9,
+	0xff, 0xb4, 0xd3, 0x7e, 0x6d, 0xd3, 0x95, 0x7a, 0x1d, 0xfb, 0x65, 0xec, 0xfb, 0xb6, 0x56, 0x7d,
+	0xfb, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x54, 0xea, 0x40, 0x4d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/range.pb.go b/googleapis/genomics/v1/range.pb.go
index c438db98..6b2ddb45 100644
--- a/googleapis/genomics/v1/range.pb.go
+++ b/googleapis/genomics/v1/range.pb.go
@@ -39,19 +39,19 @@ func init() {
 }
 
 var fileDescriptor5 = []byte{
-	// 212 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8e, 0x31, 0x4b, 0x04, 0x31,
-	0x10, 0x85, 0x89, 0xcb, 0x09, 0x06, 0x14, 0x09, 0x22, 0x8b, 0xd5, 0x21, 0x08, 0x67, 0x93, 0x70,
-	0x58, 0xdb, 0x5c, 0x67, 0x23, 0xc7, 0x16, 0xb6, 0x32, 0xc6, 0xd9, 0x21, 0xb0, 0x99, 0x59, 0x92,
-	0xb0, 0xbf, 0xdd, 0x52, 0x92, 0x55, 0x1b, 0x9b, 0xeb, 0x66, 0xde, 0x9b, 0x79, 0xdf, 0xd3, 0xcf,
-	0x24, 0x42, 0x13, 0x5a, 0x92, 0x09, 0x98, 0xac, 0x24, 0x72, 0x84, 0x3c, 0x27, 0x29, 0xe2, 0x56,
-	0x0b, 0xe6, 0x90, 0xab, 0x26, 0x31, 0xf8, 0xec, 0x96, 0xbd, 0x4b, 0xc0, 0x84, 0xb6, 0x9d, 0x18,
-	0xf3, 0xfb, 0xfe, 0xe3, 0xdb, 0x65, 0x7f, 0xf7, 0x72, 0x5a, 0x24, 0xcc, 0xc1, 0x65, 0x4c, 0x4b,
-	0xf0, 0xe8, 0x85, 0xc7, 0x40, 0x0e, 0x98, 0xa5, 0x40, 0x09, 0xc2, 0x79, 0x8d, 0xbf, 0x7f, 0xd3,
-	0x9b, 0xa1, 0xd2, 0xcc, 0x83, 0xbe, 0x4a, 0x38, 0x62, 0x42, 0xf6, 0xf8, 0xce, 0x10, 0xb1, 0x57,
-	0x5b, 0xb5, 0xbb, 0x18, 0x2e, 0xff, 0xd4, 0x57, 0x88, 0x68, 0x6e, 0xf4, 0x26, 0x17, 0x48, 0xa5,
-	0x3f, 0xdb, 0xaa, 0x5d, 0x37, 0xac, 0x8b, 0xb9, 0xd6, 0x1d, 0xf2, 0x67, 0xdf, 0x35, 0xad, 0x8e,
-	0x87, 0x47, 0x7d, 0xeb, 0x25, 0xda, 0xff, 0xe5, 0x0f, 0xba, 0xf1, 0x8e, 0x95, 0x7e, 0x54, 0x5f,
-	0x4a, 0x7d, 0x9c, 0xb7, 0x26, 0x4f, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x33, 0x75, 0x3d, 0xcd,
-	0x29, 0x01, 0x00, 0x00,
+	// 211 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8e, 0xb1, 0x4b, 0xc4, 0x30,
+	0x18, 0xc5, 0x89, 0xa5, 0x82, 0x01, 0x45, 0x82, 0x48, 0x71, 0x12, 0x41, 0xd0, 0x25, 0xa1, 0x38,
+	0xbb, 0x74, 0x73, 0x91, 0xd2, 0xc1, 0x55, 0x62, 0xfc, 0x1a, 0x02, 0xed, 0xf7, 0x95, 0x24, 0xf4,
+	0x6f, 0xbf, 0xf1, 0x92, 0xf4, 0xee, 0x96, 0x5b, 0x6e, 0x09, 0xc9, 0xef, 0xbd, 0xbc, 0xf7, 0xf8,
+	0xa7, 0x25, 0xb2, 0x13, 0x48, 0x4b, 0x93, 0x46, 0x2b, 0xc9, 0x5b, 0x65, 0x01, 0x17, 0x4f, 0x91,
+	0xd4, 0x26, 0xe9, 0xc5, 0x85, 0xcc, 0x68, 0x76, 0x26, 0xa8, 0xb5, 0x55, 0x3e, 0x19, 0x41, 0x16,
+	0x8b, 0x10, 0xc7, 0xef, 0x07, 0x5d, 0xae, 0xed, 0xd3, 0xd7, 0x65, 0x91, 0xe9, 0x50, 0x01, 0xfc,
+	0xea, 0x0c, 0x18, 0xc2, 0xd1, 0x59, 0xa5, 0x11, 0x29, 0xea, 0xe8, 0x08, 0xc3, 0x16, 0xff, 0xf2,
+	0xc3, 0xeb, 0x21, 0xb7, 0x89, 0x57, 0x7e, 0xe7, 0x61, 0x04, 0x0f, 0x68, 0xe0, 0x17, 0xf5, 0x0c,
+	0x0d, 0x7b, 0x66, 0x6f, 0x37, 0xc3, 0xed, 0x89, 0x7e, 0x27, 0x28, 0x1e, 0x78, 0x1d, 0xa2, 0xf6,
+	0xb1, 0xb9, 0x4a, 0x6a, 0x35, 0x6c, 0x0f, 0x71, 0xcf, 0x2b, 0xc0, 0xff, 0xa6, 0x2a, 0x2c, 0x5f,
+	0xbb, 0x77, 0xfe, 0x68, 0x68, 0x96, 0xe7, 0xe3, 0x3b, 0x5e, 0xfa, 0xfa, 0xdc, 0xde, 0xb3, 0x1d,
+	0x63, 0x7f, 0xd7, 0x65, 0xc9, 0xc7, 0x3e, 0x00, 0x00, 0xff, 0xff, 0x33, 0x75, 0x3d, 0xcd, 0x29,
+	0x01, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readalignment.pb.go b/googleapis/genomics/v1/readalignment.pb.go
index 6367d683..cf78c436 100644
--- a/googleapis/genomics/v1/readalignment.pb.go
+++ b/googleapis/genomics/v1/readalignment.pb.go
@@ -244,49 +244,49 @@ func init() {
 }
 
 var fileDescriptor6 = []byte{
-	// 703 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x94, 0xdd, 0x4e, 0x1b, 0x47,
-	0x14, 0xc7, 0xb5, 0x36, 0xa6, 0x78, 0x0c, 0xb6, 0x99, 0x4a, 0x74, 0x6b, 0x51, 0xd5, 0x35, 0x17,
-	0x35, 0x17, 0xdd, 0x2d, 0xa0, 0xb6, 0xa8, 0x52, 0x94, 0x00, 0x22, 0x91, 0x23, 0x82, 0x9c, 0x45,
-	0xe1, 0x76, 0x35, 0xde, 0x3d, 0x5e, 0x46, 0xec, 0xce, 0x0c, 0x33, 0xb3, 0x56, 0xfc, 0x48, 0x79,
-	0xb7, 0x3c, 0x40, 0x2e, 0xa3, 0x99, 0xfd, 0x70, 0x48, 0x7c, 0x01, 0x57, 0xa0, 0xff, 0xf9, 0x9d,
-	0xff, 0x9c, 0x3d, 0x1f, 0x46, 0x97, 0x09, 0xe7, 0x49, 0x0a, 0x5e, 0xc2, 0x53, 0xc2, 0x12, 0x8f,
-	0xcb, 0xc4, 0x4f, 0x80, 0x09, 0xc9, 0x35, 0xf7, 0x8b, 0x10, 0x11, 0x54, 0x19, 0x8d, 0x67, 0x34,
-	0x52, 0xfe, 0xe2, 0xc8, 0x97, 0x40, 0x62, 0x92, 0xd2, 0x84, 0x65, 0xc0, 0xb4, 0x67, 0x51, 0x8c,
-	0x2b, 0x9b, 0x92, 0xf3, 0x16, 0x47, 0x83, 0xc9, 0xd3, 0xac, 0x89, 0xa0, 0xbe, 0x02, 0xb9, 0xa0,
-	0x11, 0x44, 0x9c, 0xcd, 0x69, 0xe2, 0x13, 0xc6, 0xb8, 0x26, 0x9a, 0x72, 0xa6, 0x0a, 0xfb, 0xc1,
-	0x8b, 0xe7, 0x57, 0x19, 0xd1, 0x84, 0xc8, 0x32, 0xfd, 0xd5, 0xf3, 0xd3, 0x05, 0x57, 0xd4, 0x54,
-	0x50, 0x3a, 0xfc, 0x93, 0x50, 0x7d, 0x97, 0xcf, 0xbc, 0x88, 0x67, 0x7e, 0xe1, 0xe2, 0xdb, 0xc0,
-	0x2c, 0x9f, 0xfb, 0x42, 0x2f, 0x05, 0x28, 0x5f, 0x69, 0x99, 0x47, 0xba, 0xfc, 0x53, 0xa4, 0x8d,
-	0x3e, 0x39, 0xa8, 0x77, 0x45, 0x19, 0x10, 0x79, 0x56, 0x35, 0x0c, 0x9f, 0xa2, 0xad, 0xca, 0xdc,
-	0x75, 0x86, 0xce, 0xb8, 0x73, 0xbc, 0xef, 0xfd, 0xd8, 0x3d, 0x6f, 0x5a, 0x32, 0x41, 0x4d, 0xe3,
-	0x3f, 0x51, 0x2f, 0x23, 0x42, 0x50, 0x96, 0x84, 0x0f, 0x39, 0x49, 0xa9, 0x5e, 0xba, 0x8d, 0xa1,
-	0x33, 0x6e, 0x05, 0xdd, 0x52, 0x7e, 0x5f, 0xa8, 0xf8, 0x04, 0xb5, 0xec, 0xe7, 0xbb, 0xcd, 0x61,
-	0x73, 0xdc, 0x39, 0xfe, 0x6d, 0x9d, 0xff, 0x85, 0x01, 0x3e, 0x30, 0xaa, 0x83, 0x82, 0x1d, 0x7d,
-	0xde, 0x44, 0x1b, 0x01, 0x90, 0x18, 0x77, 0x51, 0x83, 0xc6, 0xb6, 0xb4, 0x76, 0xd0, 0xa0, 0x31,
-	0x1e, 0xa1, 0x1d, 0x33, 0xf2, 0x30, 0x91, 0x3c, 0x17, 0x21, 0x8d, 0xed, 0xa3, 0xed, 0xa0, 0x63,
-	0xc4, 0x37, 0x46, 0x9b, 0xc4, 0xf8, 0x10, 0xed, 0x7e, 0xc3, 0x28, 0xd0, 0x86, 0x6b, 0x5a, 0xae,
-	0x5b, 0x73, 0x37, 0xa0, 0x27, 0x31, 0x3e, 0x40, 0x3b, 0x73, 0x49, 0x12, 0xd3, 0x8b, 0x90, 0x91,
-	0x0c, 0xdc, 0x0d, 0x8b, 0x6d, 0x57, 0xe2, 0x35, 0xc9, 0x00, 0x1f, 0xa2, 0xbe, 0x90, 0x5c, 0x80,
-	0x0c, 0x45, 0x4a, 0x22, 0x30, 0xba, 0xdb, 0x1a, 0x3a, 0xe3, 0xad, 0xa0, 0x57, 0xe8, 0xd3, 0x4a,
-	0xc6, 0x7f, 0x21, 0x1c, 0xe7, 0x22, 0xa5, 0x11, 0xd1, 0x10, 0x56, 0x26, 0xee, 0xa6, 0x85, 0x77,
-	0xeb, 0xc8, 0xeb, 0x32, 0x60, 0x9a, 0x58, 0x3f, 0x9f, 0x02, 0x4b, 0xf4, 0x9d, 0xfb, 0x53, 0xd1,
-	0xc4, 0x4a, 0xbe, 0xb2, 0x2a, 0xfe, 0x1d, 0xd9, 0x2f, 0x0c, 0x59, 0x9e, 0xcd, 0x40, 0xba, 0x5b,
-	0x16, 0x42, 0x46, 0xba, 0xb6, 0x0a, 0xfe, 0x03, 0x6d, 0x17, 0xb1, 0xd0, 0x88, 0xca, 0x6d, 0x5b,
-	0xa2, 0x53, 0x68, 0xa6, 0x93, 0x0a, 0xbf, 0x44, 0xfb, 0x73, 0x42, 0x53, 0x88, 0xc3, 0x05, 0xb0,
-	0x98, 0xcb, 0x6a, 0x6e, 0x61, 0x74, 0x07, 0xd1, 0xbd, 0x72, 0x91, 0xad, 0xf2, 0xd7, 0x82, 0xb9,
-	0xb5, 0x48, 0x39, 0xc3, 0x0b, 0x0b, 0xe0, 0x33, 0xd4, 0xae, 0x4f, 0xcd, 0xed, 0xd8, 0x6d, 0x39,
-	0x58, 0x37, 0xcd, 0xef, 0x96, 0x2c, 0x58, 0x65, 0x61, 0x1f, 0xfd, 0xac, 0xcc, 0x65, 0xc5, 0x44,
-	0x2e, 0xc3, 0x95, 0xd9, 0xb6, 0x7d, 0x1a, 0xd7, 0xa1, 0xd5, 0x82, 0xfe, 0x87, 0x7e, 0x51, 0xb9,
-	0x10, 0xa9, 0x6d, 0xef, 0xe3, 0xa4, 0x1d, 0x9b, 0xb4, 0xf7, 0x28, 0xbc, 0x4a, 0x3c, 0x44, 0x7d,
-	0x8b, 0x42, 0x1c, 0x2a, 0x78, 0xc8, 0x81, 0x45, 0xe0, 0x76, 0xed, 0x70, 0x7b, 0xa5, 0x7e, 0x53,
-	0xca, 0x66, 0x0a, 0x15, 0x5a, 0xad, 0x72, 0x6f, 0xd8, 0x34, 0x53, 0x28, 0xe5, 0x6a, 0x95, 0xdf,
-	0x22, 0xcc, 0xe0, 0xa3, 0x0e, 0x33, 0x33, 0xdd, 0xfa, 0x6e, 0xfa, 0x4f, 0xb8, 0x9b, 0xbe, 0xc9,
-	0x7b, 0x47, 0x34, 0x54, 0x0a, 0xfe, 0x17, 0x6d, 0x50, 0x36, 0xe7, 0xee, 0xae, 0xbd, 0x8a, 0xd1,
-	0xba, 0x6c, 0x33, 0x36, 0x6f, 0xc2, 0xe6, 0xfc, 0x92, 0x69, 0xb9, 0x0c, 0x2c, 0x3f, 0xb8, 0x41,
-	0xed, 0x5a, 0xc2, 0x7d, 0xd4, 0xbc, 0x87, 0x65, 0x79, 0x1e, 0xe6, 0x5f, 0xfc, 0x37, 0x6a, 0x2d,
-	0x48, 0x9a, 0x83, 0xbd, 0x8b, 0xce, 0xf1, 0xa0, 0xf2, 0xad, 0x7e, 0x20, 0xbc, 0x2b, 0xaa, 0xf4,
-	0xad, 0x21, 0x82, 0x02, 0xfc, 0xbf, 0x71, 0xea, 0x9c, 0x1f, 0xa1, 0xbd, 0x88, 0x67, 0x6b, 0x6a,
-	0x38, 0xc7, 0xa6, 0x88, 0xba, 0xab, 0x53, 0xe3, 0x32, 0x75, 0xbe, 0x38, 0xce, 0x6c, 0xd3, 0x3a,
-	0x9e, 0x7c, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xb5, 0xa0, 0xb1, 0xbc, 0xb4, 0x05, 0x00, 0x00,
+	// 697 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x94, 0x51, 0x4f, 0xdb, 0x3a,
+	0x14, 0xc7, 0xd5, 0x96, 0x72, 0xa9, 0x0b, 0x6d, 0xf1, 0x95, 0xb8, 0xb9, 0x15, 0x57, 0x97, 0x95,
+	0x87, 0x6d, 0x0f, 0x4b, 0x06, 0x68, 0x1b, 0x9a, 0x34, 0x6d, 0x80, 0xd8, 0xc4, 0xc4, 0x50, 0x17,
+	0x34, 0x5e, 0x23, 0x37, 0x71, 0x8d, 0x45, 0x62, 0x07, 0xdb, 0xa9, 0xd6, 0x8f, 0xb4, 0xef, 0xb6,
+	0x0f, 0xb0, 0xc7, 0xd9, 0x4e, 0x9c, 0x8e, 0xad, 0x0f, 0xf0, 0x02, 0xd5, 0xff, 0xfc, 0xce, 0x3f,
+	0xce, 0xf9, 0xfb, 0x04, 0x9c, 0x12, 0xce, 0x49, 0x8a, 0x7d, 0xc2, 0x53, 0xc4, 0x88, 0xcf, 0x05,
+	0x09, 0x08, 0x66, 0xb9, 0xe0, 0x8a, 0x07, 0x65, 0x09, 0xe5, 0x54, 0x1a, 0x8d, 0x67, 0x34, 0x96,
+	0xc1, 0x6c, 0x2f, 0x10, 0x18, 0x25, 0x28, 0xa5, 0x84, 0x65, 0x98, 0x29, 0xdf, 0xa2, 0x10, 0x3a,
+	0x9b, 0x8a, 0xf3, 0x67, 0x7b, 0xc3, 0xb3, 0xfb, 0x59, 0xeb, 0x3f, 0x81, 0xc4, 0x62, 0x46, 0x63,
+	0x1c, 0x73, 0x36, 0xa5, 0x24, 0x40, 0x8c, 0x71, 0x85, 0x14, 0xe5, 0x4c, 0x96, 0xf6, 0xc3, 0x37,
+	0x0f, 0x3f, 0x65, 0x4c, 0x09, 0x12, 0x55, 0xfb, 0xbb, 0x87, 0xb7, 0xe7, 0x5c, 0x52, 0x73, 0x82,
+	0xca, 0xe1, 0x05, 0xa1, 0xea, 0xba, 0x98, 0xf8, 0x31, 0xcf, 0x82, 0xd2, 0x25, 0xb0, 0x85, 0x49,
+	0x31, 0x0d, 0x72, 0x35, 0xcf, 0xb1, 0x0c, 0xa4, 0x12, 0x45, 0xac, 0xaa, 0x7f, 0x65, 0xdb, 0xe8,
+	0x5b, 0x03, 0xf4, 0xcf, 0x29, 0xc3, 0x48, 0x1c, 0xb9, 0x81, 0xc1, 0x43, 0xb0, 0xe6, 0xcc, 0xbd,
+	0xc6, 0x4e, 0xe3, 0x49, 0x77, 0x7f, 0xdb, 0xff, 0x73, 0x7a, 0xfe, 0xb8, 0x62, 0xc2, 0x9a, 0x86,
+	0x8f, 0x41, 0x3f, 0x43, 0x79, 0x4e, 0x19, 0x89, 0x6e, 0x0b, 0x9d, 0x80, 0x9a, 0x7b, 0x4d, 0x6d,
+	0xd0, 0x0e, 0x7b, 0x95, 0xfc, 0xb9, 0x54, 0xe1, 0x01, 0x68, 0xdb, 0xd7, 0xf7, 0x5a, 0x3b, 0x2d,
+	0xed, 0xff, 0xdf, 0x32, 0xff, 0x13, 0x03, 0x7c, 0x61, 0x54, 0x85, 0x25, 0x3b, 0xfa, 0xbe, 0x0a,
+	0x56, 0x42, 0x1d, 0x2d, 0xec, 0x81, 0x26, 0x4d, 0xec, 0xd1, 0x3a, 0xa1, 0xfe, 0x05, 0x47, 0x60,
+	0xc3, 0x44, 0x1e, 0x11, 0xc1, 0x8b, 0x3c, 0xd2, 0xa5, 0xa6, 0x2d, 0x75, 0x8d, 0xf8, 0xc1, 0x68,
+	0x67, 0x09, 0x7c, 0x0a, 0x36, 0x7f, 0x61, 0x24, 0x56, 0x86, 0x6b, 0x59, 0xae, 0x57, 0x73, 0x97,
+	0x58, 0x69, 0x74, 0x17, 0x6c, 0x4c, 0x05, 0x22, 0x66, 0x16, 0x11, 0x43, 0x19, 0xf6, 0x56, 0x2c,
+	0xb6, 0xee, 0xc4, 0x0b, 0xad, 0x69, 0xbf, 0x81, 0x9e, 0x60, 0x8e, 0x45, 0x94, 0xa7, 0x28, 0xc6,
+	0x46, 0xf7, 0xda, 0x9a, 0x5b, 0x0b, 0xfb, 0xa5, 0x3e, 0x76, 0x32, 0x7c, 0x06, 0x60, 0x52, 0xe4,
+	0x29, 0x8d, 0x91, 0xc2, 0x91, 0x33, 0xf1, 0x56, 0x2d, 0xbc, 0x59, 0x57, 0xde, 0x57, 0x05, 0x33,
+	0xc4, 0xfa, 0xf1, 0x29, 0x66, 0x44, 0x5d, 0x7b, 0x7f, 0x95, 0x43, 0x74, 0xf2, 0xb9, 0x55, 0xe1,
+	0xff, 0xc0, 0xbe, 0x61, 0xc4, 0x8a, 0x6c, 0x82, 0x85, 0xb7, 0x66, 0x21, 0x60, 0xa4, 0x0b, 0xab,
+	0xc0, 0x47, 0x60, 0xbd, 0xac, 0x45, 0x46, 0x94, 0x5e, 0xc7, 0x12, 0xdd, 0x52, 0x33, 0x93, 0x94,
+	0xf0, 0x2d, 0xd8, 0x9e, 0x22, 0x9a, 0xe2, 0x24, 0x9a, 0x61, 0x96, 0x70, 0xe1, 0x72, 0x8b, 0xe2,
+	0x6b, 0x1c, 0xdf, 0x48, 0x0f, 0xd8, 0x53, 0xfe, 0x5b, 0x32, 0x57, 0x16, 0xa9, 0x32, 0x3c, 0xb1,
+	0x00, 0x3c, 0x02, 0x9d, 0x7a, 0xd5, 0xbc, 0xae, 0xbd, 0x2d, 0xbb, 0xcb, 0xd2, 0xfc, 0xed, 0x92,
+	0x85, 0x8b, 0x2e, 0x18, 0x80, 0xbf, 0xa5, 0xd9, 0xac, 0x04, 0x89, 0x79, 0xb4, 0x30, 0x5b, 0xb7,
+	0x8f, 0x86, 0x75, 0x69, 0x71, 0x41, 0x5f, 0x81, 0x7f, 0x64, 0x91, 0xe7, 0xa9, 0x1d, 0xef, 0xdd,
+	0xa6, 0x0d, 0xdb, 0xb4, 0x75, 0xa7, 0xbc, 0x68, 0xd4, 0xa1, 0x59, 0x54, 0xbf, 0xae, 0xc4, 0xb7,
+	0x05, 0x66, 0x31, 0xf6, 0x7a, 0x36, 0xdc, 0x7e, 0xa5, 0x5f, 0x56, 0xb2, 0x49, 0xc1, 0xa1, 0xee,
+	0x2a, 0xf7, 0xf5, 0x5d, 0xd5, 0x29, 0x54, 0xb2, 0xbb, 0xca, 0x1f, 0x01, 0x64, 0xf8, 0xab, 0x8a,
+	0x32, 0x93, 0x6e, 0xbd, 0x37, 0x83, 0x7b, 0xec, 0xcd, 0xc0, 0xf4, 0x7d, 0xd2, 0x6d, 0x4e, 0x81,
+	0x2f, 0xc1, 0x0a, 0x65, 0x53, 0xee, 0x6d, 0xda, 0xad, 0x18, 0x2d, 0xeb, 0x36, 0xb1, 0xf9, 0x67,
+	0x1a, 0x3a, 0x65, 0x4a, 0xcc, 0x43, 0xcb, 0x0f, 0x2f, 0x41, 0xa7, 0x96, 0xe0, 0x00, 0xb4, 0x6e,
+	0xf0, 0xbc, 0x5a, 0x0f, 0xf3, 0x13, 0x3e, 0x07, 0xed, 0x19, 0x4a, 0x0b, 0x6c, 0xf7, 0xa2, 0xbb,
+	0x3f, 0x74, 0xbe, 0xee, 0x03, 0xa1, 0xc3, 0x91, 0xea, 0xca, 0x10, 0x61, 0x09, 0xbe, 0x6e, 0x1e,
+	0x36, 0x8e, 0xf7, 0xc0, 0x96, 0xfe, 0x98, 0x2c, 0x39, 0xc3, 0x31, 0x34, 0x87, 0xa8, 0xa7, 0x3a,
+	0x36, 0x2e, 0xe3, 0xc6, 0x8f, 0x46, 0x63, 0xb2, 0x6a, 0x1d, 0x0f, 0x7e, 0x06, 0x00, 0x00, 0xff,
+	0xff, 0xb5, 0xa0, 0xb1, 0xbc, 0xb4, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroup.pb.go b/googleapis/genomics/v1/readgroup.pb.go
index 622bec36..29adf71a 100644
--- a/googleapis/genomics/v1/readgroup.pb.go
+++ b/googleapis/genomics/v1/readgroup.pb.go
@@ -125,43 +125,43 @@ func init() {
 }
 
 var fileDescriptor7 = []byte{
-	// 604 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x53, 0xdd, 0x8a, 0xd3, 0x40,
-	0x14, 0x26, 0xdd, 0xdf, 0x9e, 0xee, 0x4f, 0x1d, 0x51, 0x42, 0x45, 0xa8, 0x8a, 0x5a, 0x11, 0x13,
-	0xb7, 0x22, 0x88, 0x5e, 0xed, 0xca, 0xa2, 0x81, 0x15, 0x96, 0x2c, 0x7a, 0x1b, 0xa6, 0x99, 0xd3,
-	0x38, 0x98, 0xcc, 0xc4, 0x99, 0x49, 0xb1, 0xfb, 0x18, 0x3e, 0x85, 0xcf, 0xe2, 0x13, 0x79, 0x29,
-	0x33, 0x99, 0xa6, 0x0b, 0x2e, 0x8b, 0x57, 0x9d, 0x7e, 0xdf, 0x39, 0xdf, 0xf9, 0xf9, 0x4e, 0xe0,
-	0xb8, 0x90, 0xb2, 0x28, 0x31, 0x2a, 0x64, 0x49, 0x45, 0x11, 0x49, 0x55, 0xc4, 0x05, 0x8a, 0x5a,
-	0x49, 0x23, 0xe3, 0x96, 0xa2, 0x35, 0xd7, 0x16, 0x93, 0x15, 0xcf, 0x75, 0xbc, 0x38, 0x8a, 0x15,
-	0x52, 0x56, 0x28, 0xd9, 0xd4, 0x91, 0x0b, 0x23, 0x64, 0x25, 0xe1, 0x63, 0xa2, 0xc5, 0xd1, 0x28,
-	0xf9, 0x3f, 0x59, 0x5a, 0xf3, 0x58, 0xa3, 0x5a, 0xf0, 0x1c, 0x73, 0x29, 0xe6, 0xbc, 0x88, 0xa9,
-	0x10, 0xd2, 0x50, 0xc3, 0xa5, 0xd0, 0xad, 0xfc, 0xe8, 0x75, 0xc1, 0xcd, 0xd7, 0x66, 0x16, 0xe5,
-	0xb2, 0x8a, 0x5b, 0xb9, 0xd8, 0x11, 0xb3, 0x66, 0x1e, 0xd7, 0x66, 0x59, 0xa3, 0x8e, 0xb5, 0x51,
-	0x4d, 0x6e, 0xfc, 0x4f, 0x9b, 0xf6, 0xf0, 0xf7, 0x36, 0xf4, 0x53, 0xa4, 0xec, 0x83, 0xed, 0x94,
-	0x1c, 0x40, 0x8f, 0xb3, 0x30, 0x18, 0x07, 0x93, 0x7e, 0xda, 0xe3, 0x8c, 0xdc, 0x07, 0x60, 0xd4,
-	0x50, 0x8d, 0x26, 0xe3, 0x2c, 0xec, 0x39, 0xbc, 0xef, 0x91, 0x84, 0x11, 0x02, 0x9b, 0x82, 0x56,
-	0x18, 0x6e, 0x38, 0xc2, 0xbd, 0xc9, 0x18, 0x06, 0x0c, 0x75, 0xae, 0x78, 0x6d, 0xbb, 0x0b, 0x37,
-	0x1d, 0x75, 0x15, 0x22, 0xf7, 0xa0, 0xaf, 0x69, 0x55, 0x97, 0x68, 0x35, 0xb7, 0x1c, 0xbf, 0xdb,
-	0x02, 0x09, 0x23, 0x1f, 0x01, 0xf0, 0x47, 0x8d, 0x8a, 0x57, 0x28, 0x4c, 0xb8, 0x3d, 0x0e, 0x26,
-	0x83, 0xe9, 0x24, 0xfa, 0x77, 0x75, 0x51, 0xd7, 0x74, 0x74, 0xda, 0xc5, 0xa7, 0x57, 0x72, 0xc9,
-	0x14, 0xee, 0xd4, 0x0a, 0x19, 0xcf, 0x0d, 0xb2, 0x8c, 0x0b, 0x8d, 0xca, 0x64, 0x9a, 0x5f, 0x62,
-	0xb8, 0x33, 0x0e, 0x26, 0x5b, 0xe9, 0xed, 0x8e, 0x4c, 0x1c, 0x77, 0xc1, 0x2f, 0x91, 0x1c, 0xc3,
-	0x6e, 0xad, 0x64, 0xa1, 0x68, 0xa5, 0x43, 0x18, 0x6f, 0x4c, 0x06, 0xd3, 0xc7, 0x37, 0xd7, 0x3e,
-	0x6f, 0xa3, 0xd3, 0x2e, 0x8d, 0x4c, 0x60, 0xa8, 0x70, 0x8e, 0x0a, 0x45, 0x8e, 0x99, 0x5f, 0xdc,
-	0xc0, 0x0d, 0x79, 0xd0, 0xe1, 0x17, 0x6e, 0x7b, 0xef, 0x60, 0x93, 0x8b, 0xb9, 0x0c, 0xf7, 0x5c,
-	0xa1, 0xa7, 0x37, 0x17, 0x4a, 0xc4, 0x5c, 0x9e, 0x0a, 0xa3, 0x96, 0xa9, 0x4b, 0x1a, 0xfd, 0x0a,
-	0x00, 0xd6, 0x83, 0x5b, 0xa3, 0x4a, 0x3e, 0x53, 0x54, 0x2d, 0xb3, 0xce, 0xc0, 0xbe, 0x47, 0x12,
-	0x46, 0x1e, 0xc1, 0x7e, 0x5d, 0x52, 0x33, 0x97, 0xaa, 0xca, 0x1a, 0xc1, 0x8d, 0xb7, 0x72, 0x6f,
-	0x05, 0x7e, 0x16, 0xdc, 0x90, 0xe7, 0x70, 0x4b, 0xe3, 0xf7, 0x06, 0x45, 0xce, 0x45, 0x91, 0xe5,
-	0x28, 0x0c, 0x2a, 0x6f, 0xed, 0x70, 0x4d, 0xbc, 0x77, 0x38, 0x79, 0x06, 0x43, 0x2e, 0xec, 0x25,
-	0xd9, 0xf2, 0x59, 0x25, 0x19, 0x96, 0xde, 0xeb, 0xc3, 0x35, 0xfe, 0xc9, 0xc2, 0xa3, 0x9f, 0x01,
-	0xec, 0xf8, 0x3d, 0x91, 0x07, 0xb0, 0x97, 0xcb, 0xaa, 0xa2, 0x82, 0x65, 0x25, 0x17, 0xe8, 0x3b,
-	0x1d, 0x78, 0xec, 0x8c, 0x0b, 0xf4, 0x37, 0xd8, 0xeb, 0x6e, 0xf0, 0xba, 0x23, 0x7b, 0x02, 0x87,
-	0xb5, 0xc2, 0x45, 0xe6, 0xb7, 0x6e, 0x67, 0x6e, 0x8b, 0xef, 0x5b, 0xd8, 0x17, 0x4b, 0x18, 0x09,
-	0x61, 0x67, 0x81, 0x4a, 0xdb, 0x43, 0x6c, 0x0f, 0x6d, 0xf5, 0x77, 0x74, 0x01, 0xfd, 0x6e, 0xa5,
-	0x64, 0x08, 0x1b, 0xdf, 0x70, 0xe9, 0x9b, 0xb1, 0x4f, 0xf2, 0x12, 0xb6, 0x16, 0xb4, 0x6c, 0xd0,
-	0xf5, 0x31, 0x98, 0x8e, 0x56, 0xe6, 0xac, 0x3e, 0xa9, 0xe8, 0x8c, 0x6b, 0xf3, 0xc5, 0x46, 0xa4,
-	0x6d, 0xe0, 0xdb, 0xde, 0x9b, 0xe0, 0xe4, 0x05, 0xdc, 0xcd, 0x65, 0x75, 0x8d, 0x91, 0x27, 0x07,
-	0x9d, 0x93, 0xe7, 0x56, 0xe1, 0x3c, 0xf8, 0x13, 0x04, 0xb3, 0x6d, 0xa7, 0xf6, 0xea, 0x6f, 0x00,
-	0x00, 0x00, 0xff, 0xff, 0xe4, 0x3f, 0xff, 0x3d, 0x5d, 0x04, 0x00, 0x00,
+	// 602 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x53, 0xef, 0x6e, 0xd3, 0x3e,
+	0x14, 0x55, 0xba, 0xbf, 0xbd, 0xdd, 0x9f, 0xfe, 0xfc, 0x13, 0x28, 0x2a, 0x42, 0x1a, 0x20, 0x60,
+	0x08, 0x91, 0xb0, 0x21, 0x24, 0x04, 0x9f, 0x36, 0x34, 0x41, 0xa5, 0x21, 0x4d, 0x99, 0xe0, 0x6b,
+	0xe4, 0x26, 0xb7, 0xc1, 0x22, 0xb1, 0x83, 0xed, 0x44, 0x94, 0xc7, 0xe0, 0x29, 0x78, 0x16, 0x9e,
+	0x88, 0x8f, 0xd8, 0x8e, 0x9b, 0x4e, 0x62, 0x9a, 0xf8, 0xd2, 0xba, 0xe7, 0x5c, 0x9f, 0x7b, 0x7d,
+	0xce, 0x2d, 0x9c, 0x14, 0x42, 0x14, 0x25, 0x46, 0x85, 0x28, 0x29, 0x2f, 0x22, 0x21, 0x8b, 0xb8,
+	0x40, 0x5e, 0x4b, 0xa1, 0x45, 0xdc, 0x51, 0xb4, 0x66, 0xca, 0x62, 0xa2, 0x62, 0x99, 0x8a, 0xdb,
+	0xa3, 0x58, 0x22, 0xcd, 0x0b, 0x29, 0x9a, 0x3a, 0x72, 0x65, 0x84, 0x2c, 0x25, 0x7c, 0x4d, 0xd4,
+	0x1e, 0x4d, 0xa6, 0xff, 0x26, 0x6b, 0x3e, 0x62, 0x85, 0xb2, 0x65, 0x19, 0x66, 0x82, 0xcf, 0x59,
+	0x11, 0x53, 0xce, 0x85, 0xa6, 0x9a, 0x09, 0xae, 0x3a, 0xf9, 0xc9, 0xcb, 0x82, 0xe9, 0xcf, 0xcd,
+	0x2c, 0xca, 0x44, 0x15, 0x77, 0x72, 0xb1, 0x23, 0x66, 0xcd, 0x3c, 0xae, 0xf5, 0xa2, 0x46, 0x15,
+	0x2b, 0x2d, 0x9b, 0x4c, 0xfb, 0xaf, 0xee, 0xda, 0xfd, 0x5f, 0x9b, 0x30, 0x4c, 0xcc, 0xa4, 0xef,
+	0xec, 0xa4, 0x64, 0x0f, 0x06, 0x2c, 0x0f, 0x83, 0x83, 0xe0, 0x70, 0x98, 0x98, 0x13, 0xb9, 0x0b,
+	0x90, 0x53, 0x4d, 0x15, 0xea, 0xd4, 0xe0, 0x03, 0x87, 0x0f, 0x3d, 0x32, 0xcd, 0x09, 0x81, 0x75,
+	0x4e, 0x2b, 0x0c, 0xd7, 0x1c, 0xe1, 0xce, 0xe4, 0x00, 0x46, 0x39, 0xaa, 0x4c, 0xb2, 0xda, 0x4e,
+	0x17, 0xae, 0x3b, 0xea, 0x2a, 0x44, 0xee, 0xc0, 0x50, 0xd1, 0xaa, 0x2e, 0xd1, 0x6a, 0x6e, 0x38,
+	0x7e, 0xbb, 0x03, 0x8c, 0xe4, 0x7b, 0x00, 0xfc, 0x56, 0xa3, 0x64, 0x15, 0x72, 0x1d, 0x6e, 0x1a,
+	0x76, 0x74, 0x7c, 0x18, 0xfd, 0x6d, 0x5d, 0xd4, 0x0f, 0x1d, 0x9d, 0xf5, 0xf5, 0xc9, 0x95, 0xbb,
+	0xe4, 0x18, 0x6e, 0xd5, 0x12, 0x73, 0x96, 0x69, 0xcc, 0x53, 0xc6, 0x8d, 0x7f, 0x3a, 0x55, 0xec,
+	0x3b, 0x86, 0x5b, 0x46, 0x74, 0x23, 0xf9, 0xbf, 0x27, 0xa7, 0x8e, 0xbb, 0x34, 0x14, 0x39, 0x81,
+	0x6d, 0x63, 0x4b, 0x21, 0x69, 0xa5, 0x42, 0x38, 0x58, 0x33, 0xbd, 0x1f, 0xde, 0xdc, 0xfb, 0xa2,
+	0xab, 0x4e, 0xfa, 0x6b, 0xe4, 0x10, 0xc6, 0x12, 0xe7, 0x28, 0x91, 0x67, 0x98, 0x7a, 0xe3, 0x46,
+	0xee, 0x91, 0x7b, 0x3d, 0x7e, 0xe9, 0xdc, 0x7b, 0x03, 0xeb, 0x8c, 0xcf, 0x45, 0xb8, 0xe3, 0x1a,
+	0x3d, 0xbe, 0xb9, 0xd1, 0xd4, 0x54, 0x9e, 0x71, 0x2d, 0x17, 0x89, 0xbb, 0x34, 0xf9, 0x19, 0x00,
+	0xac, 0x1e, 0x6e, 0x83, 0x2a, 0xd9, 0x4c, 0x52, 0xb9, 0x48, 0xfb, 0x00, 0x87, 0x1e, 0x31, 0xad,
+	0x1e, 0xc0, 0x6e, 0x5d, 0x52, 0x3d, 0x17, 0xb2, 0x4a, 0x1b, 0xce, 0xb4, 0x8f, 0x72, 0x67, 0x09,
+	0x7e, 0x34, 0x18, 0x79, 0x0a, 0xff, 0x29, 0xfc, 0xda, 0x98, 0x01, 0x19, 0x2f, 0xd2, 0xcc, 0xc8,
+	0xa2, 0xf4, 0xd1, 0x8e, 0x57, 0xc4, 0x5b, 0x87, 0x93, 0x27, 0x30, 0x36, 0x9e, 0x9a, 0x4d, 0xb2,
+	0xed, 0xd3, 0x4a, 0xe4, 0x58, 0xfa, 0xac, 0xf7, 0x57, 0xf8, 0x07, 0x0b, 0x4f, 0x7e, 0x04, 0xb0,
+	0xe5, 0x7d, 0x22, 0xf7, 0x60, 0xc7, 0x2c, 0x68, 0x45, 0x79, 0x9e, 0x96, 0x8c, 0xa3, 0x9f, 0x74,
+	0xe4, 0xb1, 0x73, 0x03, 0xf9, 0x1d, 0x1c, 0xf4, 0x3b, 0x78, 0xdd, 0x92, 0x3d, 0x82, 0x7d, 0x13,
+	0x5f, 0x9b, 0x7a, 0xd7, 0xed, 0x9b, 0xbb, 0xe6, 0xbb, 0x16, 0xf6, 0xcd, 0xcc, 0xbb, 0x43, 0xd8,
+	0x6a, 0x51, 0x2a, 0xbb, 0x88, 0xdd, 0xa2, 0x2d, 0x7f, 0x4e, 0x2e, 0x61, 0xd8, 0x5b, 0x4a, 0xc6,
+	0xb0, 0xf6, 0x05, 0x17, 0x7e, 0x18, 0x7b, 0x24, 0xcf, 0x61, 0xa3, 0xa5, 0x65, 0x83, 0x6e, 0x8e,
+	0xd1, 0xf1, 0x64, 0x19, 0xce, 0xf2, 0x2f, 0x15, 0x9d, 0x33, 0xa5, 0x3f, 0xd9, 0x8a, 0xa4, 0x2b,
+	0x7c, 0x3d, 0x78, 0x15, 0x9c, 0x3e, 0x83, 0xdb, 0xe6, 0x25, 0xd7, 0x04, 0x79, 0xba, 0xd7, 0x27,
+	0x79, 0x61, 0x15, 0x2e, 0x82, 0xdf, 0x41, 0x30, 0xdb, 0x74, 0x6a, 0x2f, 0xfe, 0x04, 0x00, 0x00,
+	0xff, 0xff, 0xe4, 0x3f, 0xff, 0x3d, 0x5d, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroupset.pb.go b/googleapis/genomics/v1/readgroupset.pb.go
index 8fe6c5ed..d6cb9233 100644
--- a/googleapis/genomics/v1/readgroupset.pb.go
+++ b/googleapis/genomics/v1/readgroupset.pb.go
@@ -73,30 +73,30 @@ func init() {
 }
 
 var fileDescriptor8 = []byte{
-	// 387 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x91, 0x4f, 0x8b, 0xdb, 0x30,
-	0x10, 0xc5, 0xb1, 0xf3, 0xa7, 0x8d, 0x52, 0x42, 0xaa, 0x43, 0x31, 0x86, 0x40, 0xe8, 0x29, 0xf4,
-	0x20, 0x25, 0x29, 0x85, 0xd2, 0x43, 0xa0, 0xa1, 0xa5, 0x04, 0x7a, 0x08, 0x36, 0xf4, 0x1a, 0x14,
-	0x7b, 0xac, 0x8a, 0xda, 0x92, 0x91, 0x64, 0x43, 0xbe, 0x73, 0x3f, 0xc0, 0x1e, 0x17, 0xcb, 0x7f,
-	0x58, 0xd8, 0x65, 0x59, 0xd8, 0x93, 0xc7, 0x6f, 0xde, 0xfc, 0x78, 0x9a, 0x41, 0x3f, 0xb8, 0x52,
-	0x3c, 0x07, 0xc2, 0x55, 0xce, 0x24, 0x27, 0x4a, 0x73, 0xca, 0x41, 0x96, 0x5a, 0x59, 0x45, 0xdb,
-	0x16, 0x2b, 0x85, 0x69, 0x34, 0x55, 0x88, 0xc4, 0xd0, 0x7a, 0x47, 0x35, 0xb0, 0x94, 0x6b, 0x55,
-	0x95, 0x06, 0x2c, 0x71, 0x4e, 0x8c, 0x7b, 0x4a, 0x67, 0x23, 0xf5, 0x2e, 0x3c, 0xbd, 0x8c, 0xcc,
-	0x4a, 0x41, 0x0d, 0xe8, 0x5a, 0x24, 0x90, 0x28, 0x99, 0x09, 0x4e, 0x99, 0x94, 0xca, 0x32, 0x2b,
-	0x94, 0x34, 0x2d, 0x3e, 0xfc, 0xfe, 0x8a, 0x90, 0x1d, 0xe2, 0x0b, 0x17, 0xf6, 0x6f, 0x75, 0x25,
-	0x89, 0x2a, 0x68, 0x8b, 0xa1, 0xae, 0x71, 0xad, 0x32, 0x5a, 0xda, 0x5b, 0x09, 0x86, 0x1a, 0xab,
-	0xab, 0xc4, 0x76, 0x9f, 0x76, 0xec, 0xe3, 0x7f, 0x1f, 0xbd, 0x8b, 0x80, 0xa5, 0xbf, 0x1a, 0x54,
-	0x0c, 0x16, 0x2f, 0x90, 0x2f, 0xd2, 0xc0, 0x5b, 0x7b, 0x9b, 0x59, 0xe4, 0x8b, 0x14, 0xaf, 0x10,
-	0x4a, 0x99, 0x65, 0x06, 0xec, 0x45, 0xa4, 0x81, 0xef, 0xf4, 0x59, 0xa7, 0x9c, 0x52, 0xbc, 0x41,
-	0x4b, 0x0d, 0x19, 0x68, 0x90, 0x09, 0x5c, 0x3a, 0xd3, 0xc8, 0x99, 0x16, 0x83, 0x1e, 0x3b, 0x27,
-	0x46, 0x63, 0xc9, 0x0a, 0x08, 0xc6, 0xae, 0xeb, 0x6a, 0x1c, 0xa2, 0xb7, 0x99, 0xc8, 0xc1, 0xe9,
-	0x13, 0xa7, 0x0f, 0xff, 0xf8, 0x80, 0xe6, 0xcd, 0x1b, 0x2f, 0xed, 0x25, 0x82, 0xe9, 0x7a, 0xb4,
-	0x99, 0xef, 0x57, 0xe4, 0xf1, 0x21, 0xc8, 0x90, 0x3f, 0x42, 0xba, 0x2f, 0x0d, 0x3e, 0xa0, 0xb1,
-	0x90, 0x99, 0x0a, 0xde, 0xb8, 0xc1, 0x4f, 0xcf, 0x0e, 0xc6, 0x60, 0xc9, 0x49, 0x66, 0xea, 0xa7,
-	0xb4, 0xfa, 0x16, 0xb9, 0xb9, 0x30, 0x46, 0xb3, 0x41, 0xc2, 0x4b, 0x34, 0xfa, 0x07, 0xb7, 0x6e,
-	0x2d, 0x4d, 0x89, 0xb7, 0x68, 0x52, 0xb3, 0xbc, 0x02, 0xb7, 0x92, 0xf9, 0x3e, 0xec, 0xf9, 0xfd,
-	0xd2, 0xc9, 0x6f, 0x61, 0xec, 0x9f, 0xc6, 0x11, 0xb5, 0xc6, 0x6f, 0xfe, 0x57, 0xef, 0xb8, 0x45,
-	0x1f, 0x12, 0x55, 0x3c, 0x91, 0xe5, 0xf8, 0xfe, 0x61, 0x98, 0x73, 0x03, 0x39, 0x7b, 0x77, 0x9e,
-	0x77, 0x9d, 0x3a, 0xe0, 0xe7, 0xfb, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xc2, 0x82, 0x2e, 0xc8,
-	0x02, 0x00, 0x00,
+	// 385 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x91, 0x5f, 0xcb, 0xd3, 0x30,
+	0x14, 0xc6, 0x69, 0xf7, 0x47, 0x97, 0xc9, 0x98, 0xb9, 0x90, 0x52, 0x18, 0x0c, 0xaf, 0x86, 0x17,
+	0xc9, 0x36, 0x11, 0xc4, 0x0b, 0xc1, 0xa1, 0xc8, 0xc0, 0x8b, 0xd1, 0x81, 0xb7, 0x23, 0x6b, 0x4f,
+	0x63, 0xb0, 0x4b, 0x4a, 0x92, 0x16, 0xf6, 0x9d, 0xfd, 0x00, 0x5e, 0x9a, 0xa6, 0x7f, 0x10, 0x94,
+	0x97, 0x17, 0xde, 0x9b, 0xf6, 0xf4, 0x39, 0xcf, 0xf9, 0xf1, 0xf4, 0x1c, 0xf4, 0x99, 0x2b, 0xc5,
+	0x0b, 0x20, 0x5c, 0x15, 0x4c, 0x72, 0xa2, 0x34, 0xa7, 0x1c, 0x64, 0xa9, 0x95, 0x55, 0xb4, 0x6d,
+	0xb1, 0x52, 0x98, 0x46, 0x53, 0x37, 0x91, 0x1a, 0x5a, 0xef, 0xa8, 0x06, 0x96, 0x71, 0xad, 0xaa,
+	0xd2, 0x80, 0x25, 0xde, 0x89, 0x71, 0x4f, 0xe9, 0x6c, 0xa4, 0xde, 0xc5, 0xc7, 0xc7, 0x91, 0xdd,
+	0x83, 0x1a, 0xd0, 0xb5, 0x48, 0x21, 0x55, 0x32, 0x17, 0x9c, 0x32, 0x29, 0x95, 0x65, 0x56, 0x28,
+	0x69, 0x5a, 0x7c, 0xfc, 0xe9, 0x09, 0x21, 0x3b, 0xc4, 0x3b, 0x2e, 0xec, 0x8f, 0xea, 0x4a, 0x52,
+	0x75, 0xa3, 0x2d, 0x86, 0xfa, 0xc6, 0xb5, 0xca, 0x69, 0x69, 0xef, 0x25, 0x18, 0x6a, 0xac, 0xae,
+	0x52, 0xdb, 0xbd, 0xda, 0xb1, 0xd7, 0xbf, 0x42, 0xf4, 0x22, 0x71, 0xa8, 0xaf, 0x0d, 0xea, 0x0c,
+	0x16, 0x2f, 0x50, 0x28, 0xb2, 0x28, 0x58, 0x07, 0x9b, 0x59, 0xe2, 0x2a, 0xbc, 0x42, 0x28, 0x63,
+	0x96, 0xb9, 0x55, 0x5c, 0x9c, 0x1e, 0x7a, 0x7d, 0xd6, 0x29, 0xc7, 0x0c, 0x6f, 0xd0, 0x52, 0x43,
+	0x0e, 0x1a, 0x64, 0x0a, 0x97, 0xce, 0x34, 0xf2, 0xa6, 0xc5, 0xa0, 0x9f, 0xbd, 0x13, 0xa3, 0xb1,
+	0x64, 0x37, 0x88, 0xc6, 0xbe, 0xeb, 0x6b, 0x1c, 0xa3, 0xe7, 0xb9, 0x28, 0xc0, 0xeb, 0x13, 0xaf,
+	0x0f, 0xdf, 0xf8, 0x23, 0x9a, 0x37, 0xff, 0x78, 0x69, 0x2f, 0x11, 0x4d, 0xd7, 0xa3, 0xcd, 0x7c,
+	0xbf, 0x22, 0xff, 0x1e, 0x82, 0x0c, 0xf9, 0x13, 0xa4, 0xfb, 0xd2, 0xb8, 0xf9, 0xb1, 0x90, 0xb9,
+	0x8a, 0x9e, 0xf9, 0xc1, 0x37, 0x0f, 0x0e, 0xba, 0x84, 0xe4, 0xe8, 0xcc, 0x5f, 0xa4, 0xd5, 0xf7,
+	0xc4, 0xcf, 0xc5, 0x67, 0x34, 0x1b, 0x24, 0xbc, 0x44, 0xa3, 0x9f, 0x70, 0xef, 0xd6, 0xd2, 0x94,
+	0x78, 0x8b, 0x26, 0x35, 0x2b, 0x2a, 0xf0, 0x2b, 0x99, 0xef, 0xe3, 0x9e, 0xdf, 0x2f, 0x9d, 0x7c,
+	0x13, 0xc6, 0x7e, 0x6f, 0x1c, 0x49, 0x6b, 0xfc, 0x10, 0xbe, 0x0f, 0x0e, 0x5b, 0xf4, 0xca, 0x1d,
+	0xe8, 0x3f, 0x59, 0x0e, 0x2f, 0xff, 0x0e, 0x73, 0x6a, 0x20, 0xa7, 0xe0, 0x77, 0x10, 0x5c, 0xa7,
+	0x1e, 0xf8, 0xf6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xc2, 0x82, 0x2e, 0xc8, 0x02, 0x00,
+	0x00,
 }
diff --git a/googleapis/genomics/v1/reads.pb.go b/googleapis/genomics/v1/reads.pb.go
index 8956f077..7b9b5643 100644
--- a/googleapis/genomics/v1/reads.pb.go
+++ b/googleapis/genomics/v1/reads.pb.go
@@ -578,7 +578,7 @@ type ReadServiceV1Client interface {
 	//
 	// Note that currently there may be some differences between exported BAM
 	// files and the original BAM file at the time of import. See
-	// [ImportReadGroupSets](google.genomics.v1.ReadServiceV1.ImportReadGroupSets)
+	// [ImportReadGroupSets][google.genomics.v1.ReadServiceV1.ImportReadGroupSets]
 	// for caveats.
 	ExportReadGroupSet(ctx context.Context, in *ExportReadGroupSetRequest, opts ...grpc.CallOption) (*google_longrunning.Operation, error)
 	// Searches for read group sets matching the criteria.
@@ -761,7 +761,7 @@ type ReadServiceV1Server interface {
 	//
 	// Note that currently there may be some differences between exported BAM
 	// files and the original BAM file at the time of import. See
-	// [ImportReadGroupSets](google.genomics.v1.ReadServiceV1.ImportReadGroupSets)
+	// [ImportReadGroupSets][google.genomics.v1.ReadServiceV1.ImportReadGroupSets]
 	// for caveats.
 	ExportReadGroupSet(context.Context, *ExportReadGroupSetRequest) (*google_longrunning.Operation, error)
 	// Searches for read group sets matching the criteria.
@@ -1028,90 +1028,90 @@ func init() {
 }
 
 var fileDescriptor9 = []byte{
-	// 1358 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5,
-	0x17, 0xff, 0x8e, 0x1d, 0xb7, 0xcd, 0x73, 0x93, 0x38, 0xe3, 0x7e, 0x8b, 0xe3, 0x28, 0x34, 0x6c,
-	0x69, 0x9b, 0x06, 0xea, 0x25, 0x2e, 0xa8, 0x28, 0xa8, 0x12, 0x49, 0xeb, 0x04, 0xa3, 0xa4, 0xb5,
-	0xd6, 0x09, 0x88, 0xd3, 0x6a, 0xe2, 0x9d, 0x6c, 0x96, 0xd8, 0xbb, 0xcb, 0xce, 0x38, 0xfd, 0xa5,
-	0x5e, 0x7a, 0x03, 0x09, 0x38, 0x20, 0x4e, 0x5c, 0xb9, 0x72, 0x44, 0xfc, 0x11, 0x9c, 0x10, 0x17,
-	0xfe, 0x00, 0xc4, 0x1f, 0xc0, 0x89, 0x23, 0x9a, 0xd9, 0xdd, 0x78, 0xd7, 0x3b, 0x4e, 0x9c, 0x56,
-	0xe2, 0x12, 0x79, 0xdf, 0xbc, 0xf9, 0xcc, 0xe7, 0xfd, 0x7e, 0x81, 0xbb, 0xb6, 0xe7, 0xd9, 0x5d,
-	0x5a, 0xb3, 0xbd, 0x2e, 0x71, 0xed, 0x9a, 0x17, 0xd8, 0xba, 0x4d, 0x5d, 0x3f, 0xf0, 0xb8, 0xa7,
-	0x87, 0x47, 0xc4, 0x77, 0x98, 0x90, 0x79, 0x3d, 0xa7, 0xc3, 0xf4, 0xa3, 0x15, 0x3d, 0xa0, 0xc4,
-	0x62, 0x35, 0xa9, 0x82, 0x71, 0x7c, 0x3d, 0x3a, 0xaf, 0x1d, 0xad, 0x54, 0x9b, 0xe3, 0x41, 0x12,
-	0xdf, 0xd1, 0x19, 0x0d, 0x8e, 0x9c, 0x0e, 0xed, 0x78, 0xee, 0xbe, 0x63, 0xeb, 0xc4, 0x75, 0x3d,
-	0x4e, 0xb8, 0xe3, 0xb9, 0x11, 0x7c, 0xf5, 0x65, 0xd8, 0x11, 0xd7, 0xa6, 0xd1, 0xf5, 0xc6, 0xcb,
-	0x19, 0x47, 0xba, 0x8e, 0xed, 0xf6, 0xa8, 0xcb, 0x23, 0x98, 0xfb, 0x2f, 0x07, 0x63, 0x07, 0x5e,
-	0xdf, 0x67, 0x34, 0x46, 0x59, 0x1f, 0x0f, 0xa5, 0xeb, 0xb9, 0x76, 0xd0, 0x77, 0x5d, 0xc7, 0xb5,
-	0x75, 0xcf, 0xa7, 0x41, 0xca, 0x1f, 0xb7, 0x6d, 0x87, 0x1f, 0xf4, 0xf7, 0x6a, 0x1d, 0xaf, 0xa7,
-	0x87, 0x38, 0xba, 0x3c, 0xd8, 0xeb, 0xef, 0xeb, 0x3e, 0x7f, 0xe2, 0x53, 0xa6, 0xd3, 0x9e, 0xcf,
-	0x9f, 0x84, 0x7f, 0xa3, 0x4b, 0xef, 0x9e, 0xf0, 0xf0, 0xf1, 0xed, 0x7d, 0x87, 0x76, 0x2d, 0xb3,
-	0x47, 0xd8, 0x61, 0x78, 0x4b, 0xfb, 0x1a, 0x41, 0xb5, 0x4d, 0x49, 0xd0, 0x39, 0x30, 0x28, 0xb1,
-	0x36, 0x85, 0x2d, 0x6d, 0xca, 0x99, 0x41, 0xbf, 0xe8, 0x53, 0xc6, 0xf1, 0x15, 0x28, 0x5a, 0x84,
-	0x13, 0x46, 0xb9, 0xe9, 0x58, 0xac, 0x82, 0x16, 0xf3, 0x4b, 0x93, 0x06, 0x44, 0xa2, 0xa6, 0xc5,
-	0x30, 0x86, 0x09, 0x97, 0xf4, 0x68, 0x25, 0xbf, 0x88, 0x96, 0x26, 0x0d, 0xf9, 0x1b, 0x2f, 0x00,
-	0xf8, 0xc4, 0xa6, 0x26, 0xf7, 0x0e, 0xa9, 0x5b, 0xc9, 0xc9, 0x93, 0x49, 0x21, 0xd9, 0x11, 0x02,
-	0x3c, 0x0f, 0xf2, 0xc3, 0x64, 0xce, 0x53, 0x5a, 0x99, 0x58, 0x44, 0x4b, 0x05, 0xe3, 0x82, 0x10,
-	0xb4, 0x9d, 0xa7, 0x54, 0xfb, 0x16, 0xc1, 0xbc, 0x92, 0x0f, 0xf3, 0x3d, 0x97, 0x51, 0xfc, 0x11,
-	0xcc, 0x08, 0xa7, 0x9b, 0xd2, 0xeb, 0x26, 0xa3, 0x3c, 0x24, 0x55, 0xac, 0x2f, 0xd6, 0xb2, 0x39,
-	0x5a, 0x4b, 0x62, 0x18, 0x53, 0x41, 0x12, 0x11, 0x5f, 0x87, 0x19, 0x97, 0x3e, 0xe6, 0x66, 0x86,
-	0xea, 0x94, 0x10, 0xb7, 0x62, 0xba, 0xda, 0x1f, 0x39, 0xa8, 0x36, 0x7b, 0xbe, 0x17, 0x70, 0xa5,
-	0x87, 0x16, 0x00, 0x06, 0x1e, 0xaa, 0xa0, 0xd0, 0xd8, 0x63, 0x07, 0xe1, 0x25, 0x28, 0x05, 0x74,
-	0x9f, 0x06, 0xd4, 0xed, 0x50, 0x33, 0x52, 0x9a, 0x90, 0x4a, 0xd3, 0xc7, 0xf2, 0xb6, 0xd4, 0xbc,
-	0x02, 0x45, 0xe6, 0xf5, 0x83, 0x0e, 0x35, 0xfb, 0x81, 0xc3, 0x2a, 0xb9, 0xd0, 0xd5, 0xa1, 0x68,
-	0x37, 0x70, 0x18, 0xf6, 0x00, 0xfb, 0x24, 0xe0, 0x8e, 0xc8, 0x14, 0x93, 0xf1, 0x80, 0x70, 0x6a,
-	0x3f, 0xa9, 0x14, 0x16, 0xd1, 0xd2, 0x74, 0xfd, 0x43, 0x95, 0xf5, 0xa3, 0x59, 0xd7, 0x5a, 0x31,
-	0x50, 0x3b, 0xc2, 0x31, 0x66, 0xfd, 0x61, 0x91, 0x66, 0xc2, 0x6c, 0x46, 0x0f, 0x6b, 0xf0, 0x7a,
-	0x6b, 0xcd, 0xd8, 0x69, 0xee, 0x34, 0x1f, 0x3e, 0x30, 0xdb, 0x3b, 0xc6, 0xda, 0x4e, 0x63, 0xf3,
-	0x33, 0x73, 0xf7, 0x41, 0xbb, 0xd5, 0xb8, 0xd7, 0xdc, 0x68, 0x36, 0xee, 0x97, 0xfe, 0x87, 0x5f,
-	0x83, 0x72, 0xab, 0x61, 0x98, 0x1b, 0xcd, 0xad, 0x86, 0x29, 0x7e, 0xb4, 0xd7, 0xb6, 0x5b, 0x5b,
-	0x8d, 0x12, 0xc2, 0x53, 0x30, 0xb9, 0xdd, 0x30, 0x36, 0x1b, 0xe6, 0xda, 0xd6, 0x56, 0x29, 0xa7,
-	0x7d, 0x0c, 0xf3, 0x4a, 0x8e, 0x51, 0xac, 0xdf, 0x02, 0x9c, 0x8e, 0x75, 0x22, 0x07, 0x67, 0x92,
-	0xc1, 0x6c, 0x5a, 0x4c, 0xfb, 0x09, 0xc1, 0x5c, 0xe3, 0xf1, 0x30, 0x58, 0x22, 0x4a, 0x7e, 0xe0,
-	0x7d, 0x4e, 0x3b, 0xc9, 0x28, 0x45, 0x92, 0xa6, 0x25, 0x8e, 0xa9, 0xbc, 0x2b, 0x7c, 0x1f, 0x67,
-	0x6c, 0x28, 0xd9, 0x0d, 0x1c, 0x7c, 0x13, 0x66, 0x33, 0x44, 0xa2, 0x8c, 0x9f, 0x4e, 0xf3, 0xc0,
-	0x37, 0x44, 0x7e, 0xc6, 0xf1, 0x16, 0xd5, 0xc0, 0x2a, 0x13, 0x92, 0xf0, 0x20, 0xdc, 0x0f, 0x84,
-	0x54, 0xfb, 0x15, 0xc1, 0xdc, 0xae, 0x6f, 0x11, 0x4e, 0x55, 0x7c, 0x95, 0x2f, 0x22, 0xe5, 0x8b,
-	0x1b, 0x30, 0x9d, 0x56, 0x95, 0xfc, 0xc7, 0x29, 0x88, 0x8b, 0x49, 0x24, 0xfc, 0x01, 0x14, 0xfb,
-	0x92, 0x8f, 0x6c, 0x0f, 0xd2, 0xbc, 0x62, 0xbd, 0x1a, 0x83, 0xc4, 0x1d, 0xa4, 0xb6, 0x21, 0x3a,
-	0xc8, 0x36, 0x61, 0x87, 0x06, 0x84, 0xea, 0xe2, 0xb7, 0xb6, 0x01, 0x73, 0xf7, 0x69, 0x97, 0xbe,
-	0xaa, 0x31, 0xda, 0x3d, 0xb8, 0xbc, 0x49, 0xf9, 0x2b, 0x82, 0xbc, 0xc8, 0x41, 0x75, 0xcb, 0x61,
-	0xfc, 0x9e, 0x77, 0x44, 0x03, 0x62, 0xd3, 0xf5, 0x7e, 0xe7, 0x30, 0x51, 0xb1, 0x67, 0xf0, 0xed,
-	0x35, 0x98, 0x4e, 0x47, 0x33, 0x8a, 0xfa, 0x54, 0x2a, 0x98, 0xf8, 0x12, 0x14, 0x18, 0x27, 0x01,
-	0x97, 0x95, 0x9d, 0x37, 0xc2, 0x0f, 0x5c, 0x82, 0x3c, 0x75, 0x2d, 0x59, 0xa0, 0x79, 0x43, 0xfc,
-	0xc4, 0x35, 0x28, 0x73, 0x12, 0xd8, 0x94, 0x9b, 0x7b, 0x92, 0x92, 0xf9, 0xc8, 0xb1, 0xf8, 0x41,
-	0xe5, 0x9c, 0xd4, 0x98, 0x0d, 0x8f, 0x42, 0xb2, 0x9f, 0x8a, 0x83, 0xa1, 0x46, 0x7a, 0xfe, 0xc4,
-	0x46, 0x7a, 0x61, 0xa8, 0x91, 0xee, 0xc3, 0x74, 0xda, 0x7e, 0xac, 0x43, 0x41, 0x4e, 0x4d, 0x69,
-	0x6b, 0xb1, 0x3e, 0xa7, 0xcc, 0x0f, 0xa1, 0x60, 0x84, 0x7a, 0xf8, 0x2a, 0x4c, 0xf5, 0x28, 0x71,
-	0xcd, 0x4e, 0x84, 0x23, 0x13, 0x2b, 0x67, 0x5c, 0x14, 0xc2, 0x18, 0x5b, 0xfb, 0x05, 0xc1, 0xbc,
-	0xd2, 0xd9, 0x51, 0x11, 0xbf, 0x01, 0x17, 0x53, 0xc6, 0x22, 0x69, 0x6c, 0x71, 0x2f, 0x61, 0xe6,
-	0x36, 0x94, 0xe2, 0x27, 0x22, 0xc7, 0x84, 0xed, 0xaf, 0x58, 0xd7, 0x54, 0x1c, 0xd3, 0x2f, 0x19,
-	0x33, 0x9d, 0xf4, 0xcb, 0xaa, 0xc6, 0x9e, 0x57, 0x35, 0xf6, 0xbf, 0x11, 0xe0, 0xc1, 0xa8, 0x39,
-	0x4e, 0x8f, 0xb3, 0x74, 0x1d, 0xfc, 0x66, 0xaa, 0xf8, 0x84, 0x62, 0x41, 0x2a, 0x0e, 0x4a, 0x4b,
-	0x68, 0x65, 0xd3, 0xe8, 0xfc, 0x89, 0x69, 0x74, 0x41, 0x91, 0x46, 0x93, 0x83, 0x34, 0x4a, 0xa7,
-	0x45, 0xfe, 0x4c, 0xf3, 0xf5, 0x11, 0x94, 0x53, 0x36, 0x47, 0x51, 0x7a, 0x1f, 0xe0, 0x78, 0x1d,
-	0x8a, 0x27, 0x6a, 0x65, 0x54, 0x03, 0x31, 0x12, 0xba, 0x63, 0x8f, 0xd1, 0xbf, 0x84, 0xb7, 0x79,
-	0x40, 0x49, 0x2f, 0xe5, 0xed, 0x53, 0x1a, 0xb3, 0xb2, 0x56, 0x73, 0xff, 0x45, 0xad, 0x0a, 0xbd,
-	0x03, 0x12, 0x58, 0xb2, 0x3a, 0x0b, 0x46, 0xf8, 0x21, 0xb2, 0x99, 0x7b, 0x9c, 0x74, 0x4d, 0xf9,
-	0xc9, 0x64, 0x1c, 0x0b, 0x46, 0x51, 0xca, 0xda, 0x52, 0xa4, 0x3d, 0x84, 0x72, 0xca, 0xce, 0x57,
-	0xf5, 0x70, 0xfd, 0x7b, 0x04, 0x97, 0x42, 0x44, 0xc7, 0xb5, 0xc5, 0x69, 0x3b, 0x5c, 0xa7, 0xf1,
-	0x73, 0x28, 0x26, 0x5e, 0xc2, 0xd7, 0x55, 0x68, 0x59, 0x97, 0x57, 0x6f, 0x9c, 0xaa, 0x17, 0x52,
-	0xd6, 0xe6, 0x5f, 0xfc, 0xfe, 0xe7, 0x77, 0xb9, 0xff, 0x6b, 0xa5, 0xe3, 0x7f, 0x07, 0x56, 0x99,
-	0x54, 0x5b, 0x45, 0xcb, 0xef, 0xa0, 0xfa, 0x6f, 0x93, 0x30, 0x95, 0xa0, 0xf3, 0xc9, 0x0a, 0xfe,
-	0x12, 0x41, 0x59, 0x31, 0xd0, 0x71, 0xed, 0x6c, 0xdb, 0x49, 0x75, 0x21, 0xd6, 0x4f, 0x6c, 0xc9,
-	0xb5, 0x87, 0xf1, 0x96, 0xac, 0x5d, 0x95, 0xbc, 0x16, 0xb4, 0xca, 0xf0, 0x0a, 0xce, 0x56, 0x1d,
-	0x09, 0xba, 0x8a, 0x96, 0xf1, 0x0f, 0x08, 0x70, 0x76, 0x1f, 0xc0, 0xb7, 0x54, 0x54, 0x46, 0xee,
-	0x0d, 0xa7, 0x31, 0xb9, 0x23, 0x99, 0xac, 0x68, 0x6f, 0x67, 0x98, 0xe8, 0xcf, 0x32, 0x79, 0xfb,
-	0x7c, 0x35, 0xdc, 0x28, 0x22, 0x76, 0x65, 0xc5, 0x9a, 0xab, 0xf6, 0xd4, 0xe8, 0xfd, 0xbc, 0xaa,
-	0x8f, 0xad, 0x1f, 0xc5, 0x74, 0xb4, 0xef, 0x74, 0x26, 0xaf, 0x09, 0x76, 0x3f, 0x22, 0xc0, 0xd9,
-	0xdd, 0x44, 0xed, 0xbb, 0x91, 0x3b, 0x4c, 0xf5, 0xd4, 0x05, 0x44, 0xbb, 0x2b, 0xc9, 0xdc, 0xa9,
-	0x5f, 0x1b, 0xcf, 0x7d, 0x43, 0x7b, 0x0e, 0xfe, 0x0a, 0x01, 0xce, 0x6e, 0x1d, 0x6a, 0x9a, 0x23,
-	0xb7, 0x93, 0xea, 0xe5, 0xcc, 0x8a, 0xd3, 0x10, 0xff, 0x55, 0x69, 0xb7, 0x24, 0xb9, 0x1b, 0xcb,
-	0xe3, 0x91, 0xc3, 0xdf, 0x20, 0x98, 0x19, 0x5a, 0x5d, 0xf0, 0xb2, 0x8a, 0x89, 0x7a, 0xbf, 0x19,
-	0xc3, 0x5b, 0x11, 0x21, 0x3c, 0x26, 0xa1, 0x9f, 0x11, 0x94, 0x15, 0x83, 0x59, 0x9d, 0x62, 0xa3,
-	0xd7, 0x25, 0x75, 0x8a, 0x9d, 0x30, 0xf1, 0xe3, 0xa8, 0xe2, 0xf7, 0xc6, 0xe2, 0xa9, 0xc7, 0xe3,
-	0x3b, 0x9a, 0xfc, 0xf8, 0x19, 0x14, 0x13, 0x13, 0x6a, 0x44, 0x57, 0xcb, 0x8c, 0xed, 0x11, 0x5d,
-	0x2d, 0x3b, 0xea, 0x14, 0x5d, 0x6d, 0x90, 0xf9, 0xeb, 0x37, 0xe1, 0x72, 0xc7, 0xeb, 0x29, 0xa0,
-	0xd6, 0x41, 0xa2, 0xb4, 0x44, 0x8e, 0xb4, 0xd0, 0x3f, 0x08, 0xed, 0x9d, 0x93, 0xf9, 0x72, 0xfb,
-	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x77, 0xa2, 0x5d, 0x97, 0x5b, 0x11, 0x00, 0x00,
+	// 1355 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0xe3, 0xc4,
+	0x17, 0xff, 0x3a, 0x69, 0x76, 0xdb, 0x97, 0x26, 0x4d, 0xa7, 0xfb, 0x2d, 0x69, 0xaa, 0x42, 0xf1,
+	0xb2, 0xdb, 0xdd, 0xc2, 0xda, 0x34, 0x0b, 0x5a, 0x54, 0xb4, 0x12, 0xfd, 0xe1, 0x96, 0xa0, 0xfe,
+	0x88, 0x9c, 0x16, 0xc4, 0xc9, 0x72, 0x93, 0xa9, 0x6b, 0x9a, 0xd8, 0xc6, 0x76, 0xba, 0xbb, 0xac,
+	0xf6, 0xb2, 0x37, 0x90, 0x80, 0x03, 0xe2, 0xc4, 0x95, 0x2b, 0x47, 0xc4, 0x1f, 0xc1, 0x09, 0x71,
+	0xe1, 0x0f, 0x40, 0xfc, 0x01, 0x9c, 0x38, 0x32, 0x33, 0xb6, 0x13, 0x3b, 0x9e, 0xb4, 0x69, 0x2b,
+	0x71, 0x89, 0xec, 0x37, 0xcf, 0x6f, 0x3e, 0xef, 0xf3, 0x3e, 0xf3, 0xe6, 0x05, 0x1e, 0x1b, 0xb6,
+	0x6d, 0xb4, 0xb1, 0x64, 0xd8, 0x6d, 0xdd, 0x32, 0x24, 0xdb, 0x35, 0x64, 0x03, 0x5b, 0x8e, 0x6b,
+	0xfb, 0xb6, 0x1c, 0x2c, 0xe9, 0x8e, 0xe9, 0x51, 0x9b, 0xdd, 0x31, 0x9b, 0x9e, 0x7c, 0xb6, 0x22,
+	0xbb, 0x58, 0x6f, 0x79, 0x12, 0x73, 0x41, 0x28, 0xfa, 0x3c, 0x5c, 0x97, 0xce, 0x56, 0x2a, 0xb5,
+	0xd1, 0x42, 0x92, 0x1f, 0xd9, 0xc3, 0xee, 0x99, 0xd9, 0xc4, 0x4d, 0xdb, 0x3a, 0x36, 0x0d, 0x59,
+	0xb7, 0x2c, 0xdb, 0xd7, 0x7d, 0xd3, 0xb6, 0xc2, 0xf0, 0x95, 0xab, 0xa0, 0x23, 0x8e, 0x38, 0xfc,
+	0x5c, 0xb9, 0x5a, 0x72, 0x7a, 0xdb, 0x34, 0xac, 0x0e, 0xb6, 0xfc, 0x30, 0xcc, 0xe6, 0xd5, 0xc2,
+	0x18, 0xae, 0xdd, 0x75, 0x3c, 0x1c, 0x45, 0x59, 0x1f, 0x2d, 0x4a, 0xdb, 0xb6, 0x0c, 0xb7, 0x6b,
+	0x59, 0xa6, 0x65, 0xc8, 0xb6, 0x83, 0xdd, 0x04, 0x1f, 0x0f, 0x0d, 0xd3, 0x3f, 0xe9, 0x1e, 0x49,
+	0x4d, 0xbb, 0x23, 0x07, 0x71, 0x64, 0xb6, 0x70, 0xd4, 0x3d, 0x96, 0x1d, 0xff, 0x99, 0x83, 0x3d,
+	0x19, 0x77, 0xc8, 0x43, 0xf0, 0x1b, 0x7e, 0xf4, 0xce, 0x39, 0x1b, 0xf7, 0xbe, 0x3e, 0x36, 0x71,
+	0xbb, 0xa5, 0x75, 0x74, 0xef, 0x34, 0xf8, 0x4a, 0xfc, 0x5a, 0x80, 0x4a, 0x03, 0xeb, 0x6e, 0xf3,
+	0x44, 0x25, 0xb9, 0x6c, 0xd3, 0x5c, 0x1a, 0xd8, 0xf7, 0x54, 0xfc, 0x79, 0x17, 0x7b, 0x3e, 0x7a,
+	0x0d, 0xf2, 0x2d, 0xdd, 0xd7, 0x49, 0x7a, 0x9a, 0xd9, 0xf2, 0xca, 0xc2, 0x62, 0xf6, 0xde, 0x84,
+	0x0a, 0xa1, 0xa9, 0xd6, 0xf2, 0x10, 0x82, 0x31, 0x4b, 0xef, 0xe0, 0x72, 0x76, 0x51, 0x20, 0x2b,
+	0xec, 0x19, 0x2d, 0x00, 0x38, 0xba, 0x81, 0x35, 0xdf, 0x3e, 0xc5, 0x56, 0x39, 0xc3, 0x56, 0x26,
+	0xa8, 0xe5, 0x80, 0x1a, 0xd0, 0x3c, 0xb0, 0x17, 0xcd, 0x33, 0xbf, 0xc0, 0xe5, 0x31, 0xb2, 0x9a,
+	0x53, 0xc7, 0xa9, 0xa1, 0x41, 0xde, 0xc5, 0x6f, 0x05, 0x98, 0xe7, 0xe2, 0xf1, 0x1c, 0xc2, 0x0f,
+	0x46, 0x1f, 0xc2, 0x14, 0x25, 0x5d, 0x63, 0xac, 0x6b, 0x04, 0x44, 0x00, 0x2a, 0x5f, 0x5d, 0x94,
+	0xd2, 0x1a, 0x95, 0xe2, 0x31, 0xd4, 0x82, 0x1b, 0x8f, 0x88, 0xee, 0xc2, 0x94, 0x85, 0x9f, 0xfa,
+	0x5a, 0x0a, 0x6a, 0x81, 0x9a, 0xeb, 0x11, 0x5c, 0xf1, 0x8f, 0x0c, 0x54, 0x6a, 0x1d, 0xc7, 0x76,
+	0x7d, 0x2e, 0x43, 0x24, 0xd9, 0x3e, 0x43, 0x04, 0x0b, 0x4b, 0xb6, 0x47, 0x10, 0xba, 0x07, 0x25,
+	0x17, 0x1f, 0x63, 0x17, 0x5b, 0x4d, 0xac, 0x85, 0x4e, 0x63, 0xcc, 0xa9, 0xd8, 0xb3, 0x37, 0x98,
+	0x27, 0xa1, 0xda, 0xb3, 0xbb, 0x2e, 0x71, 0xeb, 0xba, 0xa6, 0x47, 0xb0, 0x30, 0xaa, 0x03, 0xd3,
+	0x21, 0xb1, 0x20, 0x1b, 0x90, 0xa3, 0xbb, 0xbe, 0x49, 0x95, 0xa2, 0x79, 0x3e, 0x91, 0x0c, 0x36,
+	0x9e, 0x95, 0x73, 0x24, 0x58, 0xb1, 0xfa, 0x01, 0x2f, 0xfb, 0xe1, 0xa8, 0xa5, 0x7a, 0x14, 0xa8,
+	0x11, 0xc6, 0x51, 0xa7, 0x9d, 0x41, 0x93, 0xa8, 0xc1, 0x74, 0xca, 0x0f, 0x89, 0xf0, 0x6a, 0x7d,
+	0x4d, 0x3d, 0xa8, 0x1d, 0xd4, 0xf6, 0xf7, 0xb4, 0xc6, 0x81, 0xba, 0x76, 0xa0, 0x6c, 0x7f, 0xaa,
+	0x1d, 0xee, 0x35, 0xea, 0xca, 0x46, 0x6d, 0xab, 0xa6, 0x6c, 0x96, 0xfe, 0x87, 0x5e, 0x81, 0x99,
+	0xba, 0xa2, 0x6a, 0x5b, 0xb5, 0x1d, 0x45, 0xa3, 0x0f, 0x8d, 0xb5, 0xdd, 0xfa, 0x8e, 0x52, 0x12,
+	0x50, 0x01, 0x26, 0x76, 0x15, 0x75, 0x5b, 0xd1, 0xd6, 0x76, 0x76, 0x4a, 0x19, 0xf1, 0x23, 0x98,
+	0xe7, 0x62, 0x0c, 0x6b, 0xfd, 0x26, 0xa0, 0x64, 0xad, 0x63, 0x1a, 0x9c, 0x8a, 0x17, 0x93, 0x08,
+	0x51, 0xfc, 0x49, 0x80, 0x39, 0xe5, 0xe9, 0x60, 0xb0, 0x58, 0x95, 0x88, 0xde, 0x3f, 0xc3, 0xcd,
+	0x78, 0x95, 0x42, 0x0b, 0xe1, 0x9e, 0x2c, 0x63, 0xf6, 0x2d, 0xe5, 0x3e, 0x52, 0x6c, 0x60, 0x21,
+	0xd4, 0xa3, 0xfb, 0x30, 0x9d, 0x02, 0x12, 0x2a, 0xbe, 0x98, 0xc4, 0x81, 0x96, 0xa8, 0x3e, 0xa3,
+	0x7a, 0xd3, 0xd3, 0xe0, 0x91, 0x72, 0x67, 0x13, 0xe5, 0xde, 0xa3, 0x56, 0xf1, 0x57, 0x82, 0xf7,
+	0xd0, 0x21, 0x42, 0xc1, 0x3c, 0xbc, 0xdc, 0x1d, 0x05, 0xee, 0x8e, 0x5b, 0x50, 0x4c, 0xba, 0x32,
+	0xfc, 0xa3, 0x1c, 0x88, 0xc9, 0x78, 0x24, 0xf4, 0x3e, 0xe4, 0xbb, 0x0c, 0x0f, 0x6b, 0x0f, 0x2c,
+	0xbd, 0x7c, 0xb5, 0x12, 0x05, 0x89, 0x3a, 0x88, 0xb4, 0x45, 0x3b, 0xc8, 0x2e, 0xf1, 0x50, 0x21,
+	0x70, 0xa7, 0xcf, 0xe2, 0x16, 0xcc, 0x6d, 0xe2, 0x36, 0xbe, 0x6e, 0x32, 0xe2, 0x06, 0xcc, 0x6e,
+	0x63, 0xff, 0x9a, 0x41, 0x5e, 0x92, 0x13, 0xbb, 0x63, 0x7a, 0xfe, 0x86, 0x7d, 0x46, 0x1a, 0xab,
+	0x81, 0xd7, 0xbb, 0xcd, 0xd3, 0xd8, 0x89, 0xbd, 0x04, 0xb7, 0x77, 0xa0, 0x98, 0xac, 0x66, 0x58,
+	0xf5, 0x42, 0xa2, 0x98, 0xe8, 0x16, 0xe4, 0x3c, 0x9f, 0x9c, 0x14, 0x76, 0xb2, 0xb3, 0x6a, 0xf0,
+	0x82, 0x4a, 0x90, 0xc5, 0x56, 0x8b, 0x1d, 0xd0, 0xac, 0x4a, 0x1f, 0x91, 0x04, 0x33, 0x64, 0xc5,
+	0x20, 0x3b, 0x1e, 0x31, 0x48, 0xda, 0x13, 0xb3, 0xe5, 0x9f, 0x94, 0x6f, 0x30, 0x8f, 0xe9, 0x60,
+	0x29, 0x00, 0xfb, 0x09, 0x5d, 0x18, 0x68, 0xa4, 0x37, 0xcf, 0x6d, 0xa4, 0xe3, 0x03, 0x8d, 0xf4,
+	0x18, 0x8a, 0xc9, 0xfc, 0x91, 0x0c, 0x39, 0x76, 0x6b, 0xb2, 0x5c, 0xf3, 0xd5, 0x39, 0xae, 0x3e,
+	0xa8, 0x83, 0x1a, 0xf8, 0xa1, 0xdb, 0x50, 0xe8, 0x60, 0xdd, 0xd2, 0x9a, 0x61, 0x1c, 0x26, 0xac,
+	0x8c, 0x3a, 0x49, 0x8d, 0x51, 0x6c, 0xf1, 0x17, 0xd2, 0xb0, 0xb9, 0x64, 0x87, 0x87, 0xf8, 0x75,
+	0x98, 0x4c, 0x24, 0x2b, 0xb0, 0x64, 0xf3, 0x47, 0xb1, 0x34, 0x77, 0xa1, 0x14, 0x6d, 0x11, 0x12,
+	0x13, 0xb4, 0xbf, 0x7c, 0x55, 0xe4, 0x61, 0x4c, 0xee, 0xa4, 0x4e, 0x35, 0x93, 0x3b, 0xf3, 0x1a,
+	0x7b, 0x96, 0xd7, 0xd8, 0xff, 0x16, 0x00, 0xf5, 0xaf, 0x9a, 0x9e, 0x3c, 0x2e, 0xd3, 0x75, 0xd0,
+	0x1b, 0x89, 0xc3, 0x47, 0x1d, 0x73, 0xcc, 0xb1, 0x7f, 0xb4, 0xa8, 0x57, 0x5a, 0x46, 0x37, 0xcf,
+	0x95, 0xd1, 0x38, 0x47, 0x46, 0x13, 0x7d, 0x19, 0x25, 0x65, 0x91, 0xbd, 0xd4, 0xfd, 0xfa, 0x04,
+	0x66, 0x12, 0x39, 0x87, 0x55, 0x7a, 0x0f, 0xa0, 0x37, 0x0e, 0x45, 0x37, 0x6a, 0x79, 0x58, 0x03,
+	0x51, 0x63, 0xbe, 0x23, 0x5f, 0xa3, 0x7f, 0x51, 0xb6, 0x7d, 0x42, 0x4b, 0x27, 0xc1, 0xf6, 0x05,
+	0x8d, 0x99, 0x7b, 0x56, 0x33, 0xff, 0xc5, 0x59, 0xa5, 0x7e, 0x27, 0xba, 0xdb, 0x62, 0xa7, 0x33,
+	0xa7, 0x06, 0x2f, 0x54, 0xcd, 0x3e, 0x19, 0x5e, 0xdb, 0x1a, 0x7b, 0xf5, 0x58, 0x1d, 0x73, 0x6a,
+	0x9e, 0xd9, 0x1a, 0xcc, 0x24, 0xee, 0x13, 0x86, 0xe3, 0x79, 0x5e, 0x97, 0xe1, 0xea, 0xf7, 0x02,
+	0xdc, 0x0a, 0x22, 0x92, 0x61, 0x91, 0xae, 0x36, 0x82, 0x71, 0x1a, 0xbd, 0x80, 0x7c, 0x6c, 0x27,
+	0x74, 0x97, 0x17, 0x2d, 0x4d, 0x79, 0x65, 0xe9, 0x42, 0xbf, 0x00, 0xb2, 0x38, 0xff, 0xf2, 0xf7,
+	0x3f, 0xbf, 0xcb, 0xfc, 0x5f, 0x2c, 0xf5, 0xfe, 0x0e, 0xac, 0x7a, 0xcc, 0x6d, 0x55, 0x58, 0x7e,
+	0x5b, 0xa8, 0xfe, 0x36, 0x01, 0x85, 0x18, 0x9c, 0x8f, 0x57, 0xd0, 0x97, 0x02, 0xcc, 0x70, 0x2e,
+	0x74, 0x24, 0x5d, 0x6e, 0x3a, 0xa9, 0x2c, 0x44, 0xfe, 0xb1, 0x29, 0x59, 0xda, 0x8f, 0xa6, 0x64,
+	0xf1, 0x36, 0xc3, 0xb5, 0x20, 0x96, 0x07, 0x47, 0x70, 0x6f, 0xd5, 0x64, 0x41, 0x09, 0x3e, 0xf4,
+	0x03, 0xd1, 0x5b, 0x7a, 0x1e, 0x40, 0x0f, 0x78, 0x50, 0x86, 0xce, 0x0d, 0x17, 0x21, 0x79, 0xc4,
+	0x90, 0xac, 0x88, 0x6f, 0xa5, 0x90, 0xc8, 0xcf, 0x53, 0xba, 0x7d, 0xb1, 0x1a, 0x4c, 0x14, 0x21,
+	0xba, 0x19, 0xce, 0x98, 0xcb, 0x67, 0x6a, 0xf8, 0x7c, 0x5e, 0x91, 0x47, 0xf6, 0x0f, 0x6b, 0x3a,
+	0x9c, 0x3b, 0xf2, 0x2f, 0x8d, 0x7e, 0x46, 0xd1, 0xfd, 0x48, 0xb8, 0x4b, 0xcf, 0x26, 0x7c, 0xee,
+	0x86, 0xce, 0x30, 0x95, 0x0b, 0x07, 0x10, 0xf1, 0x31, 0x03, 0xf3, 0xa8, 0x7a, 0x67, 0x34, 0xfa,
+	0x06, 0xe6, 0x1c, 0xf4, 0x15, 0x81, 0x99, 0x9e, 0x3a, 0xf8, 0x30, 0x87, 0x4e, 0x27, 0x95, 0xd9,
+	0xd4, 0x88, 0xa3, 0xd0, 0x7f, 0x55, 0xe2, 0x03, 0x06, 0x6e, 0x69, 0x79, 0x34, 0x70, 0xe8, 0x1b,
+	0x01, 0xa6, 0x06, 0x46, 0x17, 0xb4, 0xcc, 0x43, 0xc2, 0x9f, 0x6f, 0x46, 0x60, 0x2b, 0x04, 0x84,
+	0x46, 0x04, 0xf4, 0x33, 0x91, 0x18, 0xe7, 0x62, 0xe6, 0x4b, 0x6c, 0xf8, 0xb8, 0xc4, 0x97, 0xd8,
+	0x39, 0x37, 0x7e, 0x54, 0x55, 0xf4, 0xee, 0x48, 0x38, 0xe5, 0xe8, 0xfa, 0x0e, 0x6f, 0x7e, 0xf4,
+	0x9c, 0x74, 0xb5, 0xfe, 0x0d, 0x35, 0xa4, 0xab, 0xa5, 0xae, 0xed, 0x21, 0x5d, 0x2d, 0x7d, 0xd5,
+	0x71, 0xba, 0x5a, 0x5f, 0xf9, 0xeb, 0xf7, 0x61, 0x96, 0xfc, 0xe9, 0xe6, 0x84, 0x5a, 0x07, 0x16,
+	0xa5, 0x4e, 0x35, 0x52, 0x17, 0xfe, 0x11, 0x84, 0xa3, 0x1b, 0x4c, 0x2f, 0x0f, 0xff, 0x0d, 0x00,
+	0x00, 0xff, 0xff, 0x77, 0xa2, 0x5d, 0x97, 0x5b, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/reads.proto b/googleapis/genomics/v1/reads.proto
index e03672ce..c590fa34 100644
--- a/googleapis/genomics/v1/reads.proto
+++ b/googleapis/genomics/v1/reads.proto
@@ -39,7 +39,6 @@ service StreamingReadService {
 }
 
 // The Readstore. A data store for DNA sequencing Reads.
-//
 service ReadServiceV1 {
   // Creates read group sets by asynchronously importing the provided
   // information.
@@ -71,7 +70,7 @@ service ReadServiceV1 {
   //
   // Note that currently there may be some differences between exported BAM
   // files and the original BAM file at the time of import. See
-  // [ImportReadGroupSets](google.genomics.v1.ReadServiceV1.ImportReadGroupSets)
+  // [ImportReadGroupSets][google.genomics.v1.ReadServiceV1.ImportReadGroupSets]
   // for caveats.
   rpc ExportReadGroupSet(ExportReadGroupSetRequest) returns (google.longrunning.Operation) {
     option (google.api.http) = { post: "/v1/readgroupsets/{read_group_set_id}:export" body: "*" };
diff --git a/googleapis/genomics/v1/references.pb.go b/googleapis/genomics/v1/references.pb.go
index ffbb6871..f00c8e95 100644
--- a/googleapis/genomics/v1/references.pb.go
+++ b/googleapis/genomics/v1/references.pb.go
@@ -550,58 +550,58 @@ func init() {
 }
 
 var fileDescriptor10 = []byte{
-	// 847 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x41, 0x6f, 0x1b, 0x45,
-	0x14, 0xd6, 0x78, 0x63, 0x37, 0x7e, 0x76, 0x12, 0xf7, 0x15, 0xc2, 0xca, 0x55, 0xa8, 0xd9, 0x34,
-	0xc5, 0x6a, 0x2a, 0xaf, 0x52, 0x84, 0x84, 0x90, 0x38, 0xe0, 0x4b, 0x65, 0x89, 0x43, 0xb4, 0x29,
-	0x5c, 0xad, 0xcd, 0xee, 0x64, 0x33, 0x6a, 0x3c, 0x63, 0x76, 0x26, 0x51, 0x69, 0x95, 0x03, 0x48,
-	0x1c, 0x81, 0x03, 0x17, 0x10, 0xbf, 0x85, 0x13, 0x3f, 0x81, 0x13, 0xe2, 0xca, 0x8f, 0xe0, 0x88,
-	0x66, 0x76, 0x6c, 0x4f, 0xd6, 0x4b, 0x6c, 0xa9, 0xbd, 0x79, 0xbe, 0x79, 0xf3, 0xde, 0xf7, 0x7d,
-	0x6f, 0xde, 0x78, 0x61, 0x98, 0x09, 0x91, 0x5d, 0xd0, 0x41, 0x26, 0x2e, 0x62, 0x9e, 0x0d, 0x44,
-	0x9e, 0x85, 0x19, 0xe5, 0xd3, 0x5c, 0x28, 0x11, 0x16, 0x5b, 0xf1, 0x94, 0x49, 0x8d, 0x89, 0x09,
-	0x4b, 0x64, 0x78, 0x75, 0x14, 0xe6, 0xf4, 0x8c, 0xe6, 0x94, 0x27, 0x54, 0x0e, 0x4c, 0x1c, 0xe2,
-	0x2c, 0x87, 0x0d, 0x1a, 0x5c, 0x1d, 0x75, 0x47, 0xeb, 0xe5, 0x8d, 0xa7, 0x2c, 0x94, 0x34, 0xbf,
-	0x62, 0x09, 0x4d, 0x04, 0x3f, 0x63, 0x59, 0x18, 0x73, 0x2e, 0x54, 0xac, 0x98, 0xe0, 0x36, 0x7d,
-	0xf0, 0x17, 0x81, 0x66, 0x34, 0xab, 0x89, 0xdb, 0x50, 0x63, 0xa9, 0x4f, 0x7a, 0xa4, 0xdf, 0x8c,
-	0x6a, 0x2c, 0xc5, 0x5d, 0x68, 0x5c, 0x50, 0x9e, 0xa9, 0x73, 0xbf, 0xd6, 0x23, 0x7d, 0x2f, 0xb2,
-	0x2b, 0xec, 0x41, 0x6b, 0x92, 0x7e, 0x9c, 0x9c, 0xd3, 0xe4, 0x85, 0xbc, 0x9c, 0xf8, 0x9e, 0x39,
-	0xe0, 0x42, 0x88, 0xb0, 0xc1, 0xe3, 0x09, 0xf5, 0x37, 0xcc, 0x96, 0xf9, 0x8d, 0x7b, 0x00, 0x52,
-	0x5c, 0xe6, 0x09, 0x1d, 0x5f, 0xe6, 0xcc, 0xaf, 0x9b, 0x9d, 0x66, 0x81, 0x7c, 0x99, 0x33, 0x3c,
-	0x84, 0xbb, 0x76, 0x3b, 0x4e, 0x12, 0x2a, 0xa5, 0x66, 0xe9, 0x37, 0x7a, 0x5e, 0xbf, 0x19, 0x75,
-	0x8a, 0x8d, 0xcf, 0xe7, 0x38, 0x06, 0xb0, 0xc5, 0x93, 0x53, 0x36, 0x56, 0xf1, 0x4b, 0xc1, 0xc7,
-	0x2c, 0xf5, 0xef, 0xf4, 0x48, 0xbf, 0x1e, 0xb5, 0x34, 0xf8, 0x5c, 0x63, 0xa3, 0x34, 0xf8, 0xa5,
-	0x06, 0xed, 0xb9, 0xb6, 0x13, 0xaa, 0x96, 0xe4, 0xed, 0xc3, 0xd6, 0xdc, 0xef, 0x31, 0x4b, 0xa5,
-	0x5f, 0x33, 0xd5, 0xda, 0x73, 0x70, 0x94, 0xca, 0x35, 0xb4, 0x2e, 0x71, 0xd9, 0x58, 0xe2, 0xa2,
-	0xb3, 0xa4, 0x54, 0x26, 0x39, 0x9b, 0x6a, 0xf7, 0xad, 0x78, 0x17, 0xc2, 0x07, 0xd0, 0x8a, 0xa5,
-	0xa4, 0x93, 0xd3, 0x8b, 0x6f, 0x74, 0x8e, 0x86, 0x89, 0x80, 0x19, 0x34, 0x4a, 0x4b, 0xf6, 0xdd,
-	0x59, 0xcb, 0xbe, 0xcd, 0x6a, 0xfb, 0x82, 0xdf, 0x09, 0x74, 0x4f, 0x68, 0x9c, 0x27, 0xe7, 0xae,
-	0x41, 0x32, 0xa2, 0x5f, 0x5f, 0x52, 0xa9, 0x30, 0x80, 0xb6, 0x23, 0x50, 0xfa, 0xa4, 0xf0, 0xc5,
-	0xc5, 0xf0, 0x7d, 0x00, 0xa7, 0x50, 0xe1, 0x9c, 0x83, 0x94, 0xf5, 0x78, 0x55, 0x7a, 0xa6, 0x71,
-	0x46, 0xc7, 0x4a, 0xbc, 0xa0, 0xdc, 0x5e, 0x94, 0xa6, 0x46, 0x9e, 0x6b, 0x00, 0xef, 0x83, 0x59,
-	0x8c, 0x25, 0x7b, 0x45, 0x8d, 0x5f, 0xf5, 0x68, 0x53, 0x03, 0x27, 0xec, 0x15, 0x0d, 0x7e, 0x24,
-	0x70, 0xbf, 0x92, 0xbf, 0x9c, 0x0a, 0x2e, 0x29, 0x3e, 0x83, 0xed, 0x45, 0x67, 0x25, 0x55, 0x85,
-	0x84, 0xd6, 0xd3, 0xde, 0x60, 0x79, 0x9c, 0x06, 0x6e, 0x8a, 0x68, 0x71, 0x23, 0x74, 0x42, 0x7c,
-	0x04, 0x3b, 0x9c, 0xbe, 0x54, 0x63, 0x87, 0x69, 0xcd, 0x30, 0xdd, 0xd2, 0xf0, 0xf1, 0x8c, 0x6d,
-	0x30, 0x84, 0xdd, 0x67, 0x54, 0xdd, 0xc8, 0x64, 0xbd, 0xec, 0x43, 0xe7, 0x06, 0x95, 0xf1, 0xfc,
-	0x0a, 0x6e, 0xbb, 0xa5, 0x46, 0x69, 0xf0, 0x07, 0x81, 0xf7, 0x4a, 0xa2, 0xde, 0x6a, 0x47, 0xaa,
-	0x98, 0x78, 0x55, 0x4c, 0xde, 0xa8, 0x35, 0xdf, 0x12, 0xf0, 0x97, 0x55, 0xd8, 0xbe, 0x7c, 0x06,
-	0xb0, 0x78, 0xe1, 0x6c, 0x4f, 0xf6, 0x6e, 0xed, 0x49, 0xe4, 0x1c, 0x58, 0xbb, 0x1b, 0x9f, 0xc0,
-	0x3d, 0xb7, 0x1b, 0x33, 0x13, 0x3f, 0x80, 0xb6, 0x3b, 0xef, 0xb6, 0x0d, 0x2d, 0x67, 0xdc, 0x83,
-	0x5f, 0x09, 0x74, 0xbe, 0x60, 0x52, 0x0d, 0x63, 0xb9, 0x30, 0x7f, 0xf5, 0x39, 0x7c, 0x07, 0xea,
-	0x52, 0xc5, 0xb9, 0xb2, 0x0f, 0x65, 0xb1, 0xc0, 0x0e, 0x78, 0x94, 0x17, 0x26, 0x7b, 0x91, 0xfe,
-	0xf9, 0x46, 0xce, 0x0a, 0xb8, 0xeb, 0x50, 0xb3, 0x8e, 0xee, 0x42, 0x43, 0x9c, 0x9d, 0x49, 0xaa,
-	0x0c, 0x2b, 0x2f, 0xb2, 0x2b, 0xec, 0xc2, 0xa6, 0xd4, 0xf4, 0x79, 0x42, 0xad, 0x47, 0xf3, 0x75,
-	0x95, 0x8d, 0x5e, 0x85, 0x8d, 0x4f, 0xff, 0xae, 0x03, 0x3a, 0x57, 0xda, 0xfc, 0x93, 0x7c, 0x75,
-	0x84, 0xbf, 0x11, 0xb8, 0x57, 0x31, 0x7c, 0x38, 0xa8, 0x6a, 0xe4, 0xff, 0xbf, 0x32, 0xdd, 0x70,
-	0xed, 0xf8, 0x42, 0x6b, 0xb0, 0xff, 0xdd, 0x9f, 0xff, 0xfc, 0x5c, 0xdb, 0x0b, 0xfc, 0x9b, 0xff,
-	0x94, 0x54, 0xc9, 0x50, 0x9a, 0x63, 0x9f, 0x92, 0xc7, 0xf8, 0x03, 0x81, 0x9d, 0xd2, 0x28, 0xe2,
-	0xe3, 0xaa, 0x4a, 0xd5, 0xf3, 0xda, 0x5d, 0xf9, 0x44, 0x04, 0x4f, 0x0c, 0x8d, 0x47, 0xf8, 0x70,
-	0x99, 0xc6, 0xeb, 0xf2, 0x80, 0x5d, 0xe3, 0x4f, 0x04, 0x3a, 0xe5, 0x79, 0xc0, 0xc3, 0x35, 0xa4,
-	0xcf, 0x7d, 0x7a, 0xb2, 0x5e, 0xb0, 0x35, 0xa9, 0x67, 0xd8, 0x75, 0x83, 0x77, 0x6f, 0xb2, 0x73,
-	0x1c, 0xba, 0x86, 0xb6, 0xab, 0x1d, 0x3f, 0x5c, 0xe5, 0xce, 0x8c, 0xc8, 0xed, 0x93, 0x1a, 0x1c,
-	0x98, 0xca, 0x0f, 0x70, 0xaf, 0x54, 0xf9, 0xb5, 0x3b, 0x3c, 0xd7, 0xf8, 0x3d, 0x81, 0xe6, 0xfc,
-	0x1e, 0xe3, 0xc3, 0xaa, 0x9c, 0xe5, 0x09, 0xec, 0x1e, 0xac, 0x88, 0xb2, 0xda, 0x0f, 0x0d, 0x83,
-	0x03, 0xdc, 0xbf, 0x95, 0x41, 0x78, 0xaa, 0x0f, 0x0d, 0x07, 0xb0, 0x9b, 0x88, 0x49, 0x45, 0xe2,
-	0xe1, 0xce, 0xc2, 0xd6, 0x63, 0xfd, 0x95, 0x74, 0x4c, 0xfe, 0x25, 0xe4, 0xb4, 0x61, 0xbe, 0x98,
-	0x3e, 0xfa, 0x2f, 0x00, 0x00, 0xff, 0xff, 0xae, 0x49, 0x82, 0x46, 0xd6, 0x09, 0x00, 0x00,
+	// 846 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4d, 0x6f, 0xd3, 0x4a,
+	0x14, 0x95, 0xe3, 0x26, 0x6d, 0x6e, 0xd2, 0x36, 0x9d, 0xbe, 0xd7, 0x67, 0xa5, 0xca, 0x6b, 0x70,
+	0x3f, 0xa8, 0xda, 0xca, 0x56, 0x8b, 0x90, 0x10, 0x12, 0x0b, 0xb2, 0xa9, 0x2a, 0xb1, 0xa8, 0xdc,
+	0xc2, 0x36, 0x72, 0x9c, 0x89, 0x6b, 0x35, 0xf1, 0x04, 0x8f, 0x53, 0x15, 0xaa, 0x2e, 0x40, 0x62,
+	0x09, 0x2c, 0xd8, 0x80, 0xf8, 0x2d, 0xac, 0xf8, 0x09, 0xac, 0x10, 0x5b, 0x7e, 0x04, 0x4b, 0x66,
+	0xc6, 0x8e, 0x33, 0x49, 0x4c, 0x13, 0xa9, 0x6c, 0x2c, 0xcf, 0x99, 0x99, 0x7b, 0xcf, 0x39, 0x77,
+	0xee, 0xd8, 0x50, 0x73, 0x09, 0x71, 0xdb, 0xd8, 0x70, 0x49, 0xdb, 0xf6, 0x5d, 0x83, 0x04, 0xae,
+	0xe9, 0x62, 0xbf, 0x1b, 0x90, 0x90, 0x98, 0xd1, 0x94, 0xdd, 0xf5, 0x28, 0xc7, 0x48, 0xc7, 0x73,
+	0xa8, 0x79, 0xb1, 0x6f, 0x06, 0xb8, 0x85, 0x03, 0xec, 0x3b, 0x98, 0x1a, 0x62, 0x1d, 0x42, 0xfd,
+	0x18, 0xf1, 0x22, 0xe3, 0x62, 0xbf, 0x7c, 0x34, 0x5d, 0x5c, 0xf6, 0x30, 0x29, 0x0e, 0x2e, 0x3c,
+	0x07, 0x3b, 0xc4, 0x6f, 0x79, 0xae, 0x69, 0xfb, 0x3e, 0x09, 0xed, 0xd0, 0x23, 0x7e, 0x1c, 0x5e,
+	0xff, 0xae, 0x40, 0xde, 0xea, 0xe7, 0x44, 0x0b, 0x90, 0xf1, 0x9a, 0x9a, 0x52, 0x55, 0xb6, 0xf3,
+	0x16, 0x7b, 0x43, 0x2b, 0x90, 0x6b, 0x63, 0xdf, 0x0d, 0xcf, 0xb4, 0x0c, 0xc3, 0x54, 0x2b, 0x1e,
+	0xa1, 0x2a, 0x14, 0x3a, 0xcd, 0xfb, 0xce, 0x19, 0x76, 0xce, 0x69, 0xaf, 0xa3, 0xa9, 0x62, 0x83,
+	0x0c, 0x21, 0x04, 0x33, 0xbe, 0xdd, 0xc1, 0xda, 0x8c, 0x98, 0x12, 0xef, 0xa8, 0x02, 0x40, 0x49,
+	0x2f, 0x70, 0x70, 0xbd, 0x17, 0x78, 0x5a, 0x56, 0xcc, 0xe4, 0x23, 0xe4, 0x69, 0xe0, 0xa1, 0x5d,
+	0x58, 0x8a, 0xa7, 0x6d, 0x87, 0xe9, 0xa7, 0x9c, 0xa5, 0x96, 0xab, 0xaa, 0x6c, 0x55, 0x29, 0x9a,
+	0x78, 0x9c, 0xe0, 0x48, 0x87, 0x79, 0xdf, 0x69, 0x78, 0xf5, 0xd0, 0xbe, 0x24, 0x7e, 0x9d, 0x91,
+	0x9e, 0x65, 0xe1, 0xb2, 0x56, 0x81, 0x83, 0xa7, 0x1c, 0x3b, 0x6a, 0xea, 0x1f, 0x33, 0x50, 0x4c,
+	0xb4, 0x9d, 0xe0, 0x70, 0x4c, 0xde, 0x3a, 0xcc, 0x27, 0x7e, 0xb3, 0x18, 0x94, 0xa9, 0xe4, 0xd9,
+	0x8a, 0x09, 0x78, 0xd4, 0xa4, 0x53, 0x68, 0x1d, 0xe3, 0x32, 0x33, 0xc6, 0x85, 0x47, 0x69, 0x62,
+	0xea, 0x04, 0x5e, 0x97, 0xbb, 0x1f, 0x8b, 0x97, 0x21, 0xb4, 0x06, 0x05, 0x9b, 0x52, 0xdc, 0x69,
+	0xb4, 0x5f, 0xf0, 0x18, 0x39, 0xb1, 0x02, 0xfa, 0x10, 0x0b, 0x31, 0x6c, 0xdf, 0xec, 0x54, 0xf6,
+	0xcd, 0xa5, 0xdb, 0xa7, 0x7f, 0x51, 0xa0, 0x7c, 0x82, 0xed, 0xc0, 0x39, 0x93, 0x0d, 0xa2, 0x16,
+	0x7e, 0xde, 0xc3, 0x34, 0x64, 0x8a, 0x8a, 0x92, 0x40, 0xca, 0x2c, 0x13, 0xbe, 0xc8, 0x18, 0xfa,
+	0x1f, 0x40, 0x4a, 0x14, 0x39, 0x27, 0x21, 0xa3, 0x7a, 0xd4, 0x34, 0x3d, 0x5d, 0xdb, 0xc5, 0xf5,
+	0x90, 0x9c, 0x63, 0x3f, 0x3e, 0x28, 0x79, 0x8e, 0x9c, 0x72, 0x00, 0xad, 0x82, 0x18, 0xd4, 0xa9,
+	0xf7, 0x12, 0x0b, 0xbf, 0xb2, 0xd6, 0x1c, 0x07, 0x4e, 0xd8, 0x58, 0x7f, 0xa7, 0xc0, 0x6a, 0x2a,
+	0x7f, 0xda, 0x65, 0xb9, 0x31, 0x3a, 0x84, 0x85, 0x41, 0x65, 0x29, 0x9b, 0x11, 0x12, 0x0a, 0x07,
+	0x55, 0x63, 0xbc, 0x9d, 0x0c, 0x39, 0x84, 0x35, 0x38, 0x11, 0x3c, 0x20, 0xda, 0x82, 0x45, 0x1f,
+	0x5f, 0x86, 0x75, 0x89, 0x69, 0x46, 0x30, 0x9d, 0xe7, 0xf0, 0x71, 0x9f, 0xad, 0x5e, 0x83, 0x95,
+	0x43, 0xb6, 0x5b, 0x8e, 0x14, 0x7b, 0xb9, 0x0d, 0xa5, 0x21, 0x2a, 0xf5, 0xe4, 0x08, 0x2e, 0xc8,
+	0xa9, 0xd8, 0x79, 0xfd, 0xaa, 0xc0, 0x7f, 0x23, 0xa2, 0xfe, 0x6a, 0x45, 0xd2, 0x98, 0xa8, 0x69,
+	0x4c, 0x6e, 0x55, 0x9a, 0x57, 0x0a, 0x68, 0xe3, 0x2a, 0xe2, 0xba, 0x3c, 0x02, 0x18, 0xdc, 0x70,
+	0x71, 0x4d, 0x2a, 0x37, 0xd6, 0xc4, 0x92, 0x36, 0x4c, 0x5d, 0x8d, 0x07, 0xb0, 0x2c, 0x57, 0xa3,
+	0x6f, 0xe2, 0x1d, 0x28, 0xca, 0xfd, 0x1e, 0x97, 0xa1, 0x20, 0xb5, 0xbb, 0xfe, 0x49, 0x81, 0xd2,
+	0x13, 0x8f, 0x86, 0x35, 0x9b, 0x0e, 0xcc, 0x9f, 0xbc, 0x0f, 0xfd, 0x03, 0x59, 0x1a, 0xda, 0x41,
+	0x18, 0x5f, 0x94, 0xd1, 0x00, 0x95, 0x40, 0xc5, 0x7e, 0x64, 0xb2, 0x6a, 0xf1, 0xd7, 0x5b, 0x39,
+	0x4b, 0x60, 0x49, 0xa2, 0x16, 0x3b, 0xca, 0xae, 0x68, 0xd2, 0x6a, 0xb1, 0x6a, 0x0a, 0x56, 0xec,
+	0x8a, 0x8e, 0x46, 0xa8, 0x0c, 0x73, 0x94, 0xd3, 0x67, 0xf4, 0x62, 0x8f, 0x92, 0x71, 0x9a, 0x8d,
+	0x6a, 0x8a, 0x8d, 0x07, 0x3f, 0xb2, 0x80, 0xa4, 0x23, 0x2d, 0xbe, 0x24, 0xcf, 0xf6, 0xd1, 0x67,
+	0x05, 0x96, 0x53, 0x9a, 0x0f, 0x19, 0x69, 0x85, 0xfc, 0xf3, 0x2d, 0x53, 0x36, 0xa7, 0x5e, 0x1f,
+	0x69, 0xd5, 0xd7, 0x5f, 0x7f, 0xfb, 0xf9, 0x21, 0x53, 0xd1, 0xb5, 0xe1, 0x2f, 0x25, 0x5b, 0xc2,
+	0xbe, 0x73, 0x7c, 0xdb, 0x43, 0x65, 0x07, 0xbd, 0x55, 0x60, 0x71, 0xa4, 0x15, 0xd1, 0x4e, 0x5a,
+	0xa6, 0xf4, 0x7e, 0x2d, 0x4f, 0xbc, 0x22, 0xf4, 0x3d, 0x41, 0x63, 0x0b, 0x6d, 0x8c, 0xd3, 0xb8,
+	0x1a, 0x6d, 0xb0, 0x6b, 0xf4, 0x9e, 0x9d, 0xa8, 0xd1, 0x7e, 0x40, 0xbb, 0x53, 0x48, 0x4f, 0x7c,
+	0xda, 0x9b, 0x6e, 0x71, 0x6c, 0x52, 0x55, 0xb0, 0x2b, 0xeb, 0xff, 0x0e, 0xb3, 0x93, 0x1c, 0xba,
+	0x86, 0xa2, 0xac, 0x1d, 0xdd, 0x9d, 0xe4, 0x4e, 0x9f, 0xc8, 0xcd, 0x9d, 0xaa, 0x6f, 0x8a, 0xcc,
+	0x6b, 0xa8, 0x32, 0x92, 0xf9, 0x4a, 0x6e, 0x9e, 0x6b, 0xf4, 0x86, 0xfd, 0x72, 0x24, 0xe7, 0x18,
+	0x6d, 0xa4, 0xc5, 0x1c, 0xed, 0xc0, 0xf2, 0xe6, 0x84, 0x55, 0xb1, 0xf6, 0x5d, 0xc1, 0x60, 0x13,
+	0xad, 0xdf, 0xc8, 0xc0, 0x6c, 0xf0, 0x4d, 0x35, 0x03, 0x56, 0x1c, 0xd2, 0x49, 0x09, 0x5c, 0x5b,
+	0x1c, 0xd8, 0x7a, 0xcc, 0xff, 0x92, 0x8e, 0x95, 0x5f, 0x8a, 0xd2, 0xc8, 0x89, 0x3f, 0xa6, 0x7b,
+	0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xae, 0x49, 0x82, 0x46, 0xd6, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/variants.pb.go b/googleapis/genomics/v1/variants.pb.go
index 762cf3a3..d5371375 100644
--- a/googleapis/genomics/v1/variants.pb.go
+++ b/googleapis/genomics/v1/variants.pb.go
@@ -613,7 +613,6 @@ type SearchVariantsRequest struct {
 	// Only return variant calls which belong to call sets with these ids.
 	// Leaving this blank returns all variant calls. If a variant has no
 	// calls belonging to any of these call sets, it won't be returned at all.
-	// Currently, variants with no calls from any call set will never be returned.
 	CallSetIds []string `protobuf:"bytes,3,rep,name=call_set_ids,json=callSetIds" json:"call_set_ids,omitempty"`
 	// Required. Only return variants in this reference sequence.
 	ReferenceName string `protobuf:"bytes,4,opt,name=reference_name,json=referenceName" json:"reference_name,omitempty"`
@@ -2101,154 +2100,153 @@ func init() {
 }
 
 var fileDescriptor11 = []byte{
-	// 2369 bytes of a gzipped FileDescriptorProto
+	// 2362 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x5f, 0x6f, 0x1b, 0xc7,
-	0x11, 0xef, 0x1d, 0x49, 0x89, 0x1c, 0x8a, 0x14, 0xbd, 0x51, 0xa4, 0x0b, 0x13, 0xdb, 0xca, 0xc1,
-	0x76, 0x14, 0xd5, 0x25, 0x6d, 0xba, 0x4a, 0x53, 0x35, 0xa9, 0x2b, 0xd1, 0x94, 0xc2, 0x42, 0x22,
-	0x95, 0x13, 0xed, 0xd6, 0x05, 0x0a, 0xe2, 0x44, 0xae, 0xe8, 0xb3, 0xc9, 0x3b, 0xfa, 0xee, 0xa8,
-	0x5a, 0x36, 0xfc, 0xd0, 0xf4, 0x1f, 0x02, 0x14, 0x28, 0xd0, 0x00, 0x7d, 0xea, 0x6b, 0x1f, 0x8a,
-	0x16, 0xfd, 0x06, 0xfe, 0x06, 0x6d, 0x5f, 0x8a, 0x7e, 0x83, 0x7e, 0x88, 0x3e, 0x16, 0xbb, 0xb7,
-	0x7b, 0xbc, 0x3b, 0x2e, 0x8f, 0x94, 0x83, 0x04, 0x7d, 0xb1, 0xb9, 0xb3, 0xb3, 0x33, 0xb3, 0x33,
-	0xbf, 0x99, 0x9d, 0x39, 0xc1, 0x0f, 0x7a, 0x96, 0xd5, 0xeb, 0xe3, 0x52, 0xcf, 0xea, 0xeb, 0x66,
-	0xaf, 0x64, 0xd9, 0xbd, 0x72, 0x0f, 0x9b, 0x43, 0xdb, 0x72, 0xad, 0xb2, 0xb7, 0xa5, 0x0f, 0x0d,
-	0x87, 0xd0, 0xac, 0x81, 0xd1, 0x71, 0xca, 0x67, 0xb7, 0xcb, 0x67, 0xba, 0x6d, 0xe8, 0xa6, 0xeb,
-	0x94, 0x28, 0x17, 0x42, 0x5c, 0x02, 0x63, 0x29, 0x9d, 0xdd, 0x2e, 0xd6, 0xe7, 0x93, 0xaa, 0x0f,
-	0x8d, 0xb2, 0x83, 0xed, 0x33, 0xa3, 0x83, 0x3b, 0x96, 0x79, 0x6a, 0xf4, 0xca, 0xba, 0x69, 0x5a,
-	0xae, 0xee, 0x1a, 0x96, 0xc9, 0xc4, 0x17, 0x77, 0xe7, 0x13, 0xd5, 0xb7, 0xcc, 0x9e, 0x3d, 0x32,
-	0x4d, 0xc3, 0xec, 0x95, 0xad, 0x21, 0xb6, 0x43, 0x32, 0xee, 0xf4, 0x0c, 0xf7, 0xd1, 0xe8, 0xa4,
-	0xd4, 0xb1, 0x06, 0x65, 0x4f, 0x4e, 0x99, 0x6e, 0x9c, 0x8c, 0x4e, 0xcb, 0x43, 0xf7, 0x7c, 0x88,
-	0x9d, 0x32, 0x1e, 0x0c, 0xdd, 0x73, 0xef, 0x5f, 0x76, 0xe8, 0xdb, 0x31, 0x8a, 0xfd, 0xd3, 0xa7,
-	0x06, 0xee, 0x77, 0xdb, 0x03, 0xdd, 0x79, 0xc2, 0x4e, 0x6d, 0xcd, 0x56, 0xe5, 0xb8, 0xf6, 0xa8,
-	0xe3, 0xb2, 0xff, 0xbc, 0x63, 0xea, 0xab, 0x04, 0xa0, 0x07, 0x9e, 0x5f, 0x8f, 0xb1, 0x7b, 0x88,
-	0x5d, 0xbd, 0xab, 0xbb, 0x3a, 0x2a, 0x40, 0xe2, 0x09, 0x3e, 0x57, 0xa4, 0x75, 0x69, 0x23, 0xa3,
-	0x91, 0x9f, 0x68, 0x05, 0x52, 0x67, 0x7a, 0x7f, 0x84, 0x15, 0x99, 0xd2, 0xbc, 0x05, 0xca, 0x83,
-	0x6c, 0x74, 0x95, 0x24, 0x25, 0xc9, 0x46, 0x17, 0xdd, 0x85, 0x24, 0xd1, 0xa5, 0xa4, 0xd6, 0xa5,
-	0x8d, 0x7c, 0xe5, 0x9b, 0xa5, 0xc9, 0x10, 0x95, 0x26, 0xb5, 0x95, 0x5a, 0xe7, 0x43, 0xac, 0xd1,
-	0x83, 0x68, 0x15, 0x16, 0xcc, 0xd1, 0xe0, 0x04, 0xdb, 0x4a, 0x9a, 0x0a, 0x65, 0x2b, 0xb4, 0x0e,
-	0xd9, 0x2e, 0x76, 0x3a, 0xb6, 0x31, 0x24, 0xfe, 0x55, 0x16, 0xe9, 0x66, 0x90, 0x84, 0xee, 0x41,
-	0xd2, 0x30, 0x4f, 0x2d, 0x25, 0xb1, 0x9e, 0xd8, 0xc8, 0x56, 0x6e, 0xcd, 0xa9, 0xba, 0x6e, 0x9e,
-	0x5a, 0x35, 0xd3, 0xb5, 0xcf, 0x35, 0x7a, 0xba, 0x78, 0x0c, 0x19, 0x9f, 0x24, 0xf0, 0xc2, 0xad,
-	0xa0, 0x17, 0xb2, 0x95, 0x22, 0xd7, 0xc2, 0x5d, 0x5d, 0x3a, 0x30, 0x1c, 0xf7, 0x01, 0xe1, 0x60,
-	0x1e, 0xda, 0x96, 0x3f, 0x94, 0xd4, 0x87, 0x90, 0x24, 0x57, 0x44, 0x2b, 0x50, 0x68, 0x3d, 0x3c,
-	0xaa, 0xb5, 0xef, 0x37, 0x8e, 0x8f, 0x6a, 0xd5, 0xfa, 0x5e, 0xbd, 0x76, 0xaf, 0xf0, 0x0d, 0x94,
-	0x85, 0xc5, 0x7a, 0xa3, 0x55, 0xdb, 0xaf, 0x69, 0x05, 0x09, 0x65, 0x20, 0xb5, 0x77, 0xd0, 0xdc,
-	0x69, 0x15, 0x64, 0x94, 0x86, 0xe4, 0xde, 0xc1, 0xce, 0x7e, 0x21, 0x81, 0x72, 0x90, 0xa9, 0x7e,
-	0xb2, 0xa3, 0xed, 0x54, 0x5b, 0x35, 0xad, 0x90, 0x44, 0x00, 0x0b, 0xc7, 0x2d, 0xad, 0xde, 0xd8,
-	0x2f, 0xa4, 0xd4, 0xbf, 0xc9, 0x00, 0xe3, 0x6b, 0xa1, 0xcb, 0x00, 0xe4, 0x5a, 0x0e, 0x76, 0xdb,
-	0x46, 0x97, 0x19, 0x9e, 0x61, 0x94, 0x7a, 0x97, 0x85, 0x4b, 0xf6, 0xc3, 0xb5, 0x01, 0x05, 0x1b,
-	0x9f, 0x62, 0x1b, 0x9b, 0x1d, 0xdc, 0x66, 0x87, 0x16, 0xe8, 0x6e, 0xde, 0xa7, 0x1f, 0xd3, 0x93,
-	0x87, 0x41, 0xce, 0x13, 0x6b, 0x64, 0x76, 0x1d, 0x25, 0x45, 0x3d, 0xad, 0x8a, 0x3c, 0xad, 0x71,
-	0xde, 0x5d, 0xc2, 0xaa, 0x2d, 0xdb, 0xa1, 0xb5, 0x83, 0x76, 0x21, 0x3d, 0x60, 0x21, 0x50, 0x92,
-	0x54, 0xcc, 0x8d, 0xf9, 0x02, 0xa6, 0xf9, 0xe7, 0x10, 0x82, 0xa4, 0xa9, 0x0f, 0x30, 0xc3, 0x02,
-	0xfd, 0x1d, 0x85, 0x49, 0x7a, 0x02, 0x26, 0xea, 0xe7, 0x49, 0x58, 0x64, 0x62, 0xd1, 0x35, 0xc8,
-	0xb3, 0x9a, 0xc2, 0x2f, 0xbf, 0x4c, 0x0f, 0x2c, 0x9d, 0xf9, 0x7a, 0x05, 0x4e, 0x5b, 0x81, 0x14,
-	0xd1, 0xe5, 0x50, 0xa4, 0x65, 0x34, 0x6f, 0x81, 0x14, 0x58, 0xec, 0xd8, 0x58, 0x77, 0x71, 0x57,
-	0x59, 0x5a, 0x97, 0x36, 0x12, 0x1a, 0x5f, 0xa2, 0xeb, 0x30, 0x76, 0x66, 0x9b, 0x5a, 0x9c, 0xa7,
-	0xb2, 0x72, 0x3e, 0xb5, 0x41, 0x4c, 0x5f, 0x81, 0x94, 0xe3, 0xea, 0xb6, 0xab, 0x14, 0xe8, 0x71,
-	0x6f, 0x41, 0x20, 0x88, 0xcd, 0xae, 0x92, 0xa3, 0x34, 0xf2, 0x13, 0xbd, 0x07, 0xcb, 0x81, 0x48,
-	0xe8, 0x0e, 0x76, 0x26, 0x42, 0xb6, 0x4b, 0xa8, 0x84, 0x51, 0xef, 0xbb, 0xd8, 0x36, 0x75, 0x97,
-	0x33, 0x2e, 0x52, 0x8b, 0xf3, 0x3e, 0xd9, 0x63, 0x54, 0x60, 0xf1, 0xe9, 0x48, 0xef, 0x1b, 0xee,
-	0x39, 0x75, 0x98, 0xa4, 0xf1, 0x25, 0xc9, 0xc6, 0x53, 0x83, 0x30, 0x2b, 0x19, 0x7a, 0x92, 0xad,
-	0xd0, 0x77, 0x59, 0xae, 0x01, 0x0d, 0xdd, 0xf5, 0x98, 0xd0, 0x45, 0x13, 0x0c, 0x6d, 0x41, 0xaa,
-	0xa3, 0xf7, 0xfb, 0x8e, 0x92, 0xa5, 0x67, 0xaf, 0xc6, 0x9c, 0xad, 0xea, 0xfd, 0xbe, 0xe6, 0x71,
-	0x7f, 0x35, 0x79, 0xf9, 0x4f, 0x19, 0xb2, 0x01, 0x5d, 0xe8, 0x0a, 0x64, 0x89, 0x36, 0x0e, 0x06,
-	0x0f, 0x3d, 0x19, 0x42, 0xf2, 0x90, 0xa0, 0x42, 0xce, 0xdf, 0xa7, 0x81, 0xcc, 0x78, 0xf8, 0x62,
-	0x1c, 0x34, 0x8c, 0x45, 0x48, 0x93, 0xab, 0xd0, 0x2a, 0x48, 0xdc, 0x9d, 0xd2, 0xfc, 0x35, 0xd9,
-	0x1b, 0x3e, 0x22, 0x2e, 0xc7, 0x2e, 0xad, 0x90, 0x19, 0xcd, 0x5f, 0xa3, 0x32, 0xbc, 0xc1, 0xf9,
-	0xda, 0x7d, 0xe3, 0x09, 0xee, 0x1b, 0x8f, 0x2c, 0x8b, 0x64, 0x63, 0x62, 0x43, 0xd2, 0x10, 0xdf,
-	0x3a, 0xf0, 0x77, 0xd0, 0xc7, 0x2c, 0x06, 0x32, 0xf5, 0xe3, 0xfb, 0x33, 0xfc, 0xf8, 0xf5, 0x14,
-	0xba, 0x3f, 0xca, 0xb0, 0x58, 0xf5, 0x9c, 0xc1, 0xd2, 0x46, 0xf2, 0xd3, 0x86, 0xa7, 0xab, 0x1c,
-	0x48, 0xd7, 0xb7, 0x21, 0xe3, 0xe8, 0x83, 0x61, 0x1f, 0x13, 0x77, 0x7b, 0x79, 0x9c, 0xf6, 0x08,
-	0xf5, 0x2e, 0xba, 0x01, 0xcb, 0xe1, 0xec, 0x74, 0xa8, 0x37, 0x32, 0x5a, 0x2e, 0x98, 0x9e, 0xa1,
-	0xcc, 0x4b, 0x85, 0x33, 0x8f, 0xc3, 0x34, 0x39, 0x1d, 0xa6, 0xcc, 0xda, 0xaf, 0xc7, 0x3d, 0x3f,
-	0x86, 0x7c, 0xb8, 0x30, 0x0a, 0x6a, 0x83, 0x24, 0xaa, 0x0d, 0x57, 0x21, 0x3b, 0x1a, 0x0e, 0xb1,
-	0xed, 0x55, 0x5e, 0xaa, 0x34, 0xa1, 0x01, 0x25, 0x51, 0x39, 0xea, 0x6f, 0x93, 0xf0, 0x66, 0x7d,
-	0x30, 0xb4, 0x6c, 0x97, 0xc5, 0xdc, 0xd1, 0xf0, 0xd3, 0x11, 0x76, 0x44, 0x35, 0x4e, 0x12, 0xd4,
-	0xb8, 0xab, 0x90, 0x75, 0xac, 0x91, 0xdd, 0xc1, 0xed, 0x91, 0x6d, 0x38, 0x14, 0x53, 0x19, 0x0d,
-	0x3c, 0xd2, 0x7d, 0xdb, 0x70, 0xd0, 0x27, 0xb0, 0x70, 0x6a, 0xd9, 0x03, 0xdd, 0x55, 0x12, 0xf4,
-	0x69, 0x17, 0xbe, 0xaf, 0x42, 0x0b, 0x4a, 0x7b, 0xf4, 0x9c, 0xc6, 0xce, 0xa3, 0x6d, 0x78, 0xcb,
-	0x24, 0xbf, 0xfa, 0xc6, 0x73, 0xdc, 0x0e, 0x5f, 0xde, 0xa1, 0x01, 0x4c, 0x6b, 0x6b, 0x3e, 0x83,
-	0x16, 0x74, 0x83, 0x83, 0x1e, 0xc3, 0x25, 0x12, 0x9d, 0xf6, 0x00, 0xdb, 0x3d, 0xdc, 0xf6, 0x5a,
-	0x37, 0x0a, 0x8a, 0x6c, 0xe5, 0xfb, 0xf3, 0x1b, 0x44, 0x02, 0x7b, 0x48, 0x24, 0x54, 0xa9, 0x00,
-	0x2f, 0xec, 0xcb, 0x46, 0x98, 0x5a, 0x7c, 0x0c, 0x2b, 0x22, 0x46, 0x01, 0x18, 0x3e, 0x0a, 0x82,
-	0x21, 0x2f, 0x7e, 0xc9, 0x7c, 0x51, 0x4d, 0xde, 0x23, 0x06, 0x81, 0xd1, 0x80, 0x05, 0xcf, 0x4b,
-	0x68, 0x15, 0xd0, 0x5e, 0x53, 0x3b, 0xdc, 0x69, 0x45, 0x9a, 0x84, 0x3c, 0x00, 0xa3, 0x3f, 0xa8,
-	0xee, 0x15, 0x24, 0xf4, 0x0e, 0x28, 0x6c, 0x5d, 0x6d, 0x1e, 0x1e, 0x1d, 0xd4, 0x5a, 0xb5, 0xf6,
-	0x7e, 0xad, 0xd1, 0x3c, 0xac, 0x57, 0x8f, 0x0b, 0xb2, 0xba, 0x0d, 0xab, 0xd1, 0xab, 0x3b, 0x43,
-	0xcb, 0x74, 0xc8, 0x03, 0xb9, 0x14, 0x28, 0x71, 0x8e, 0x22, 0x79, 0x91, 0xf6, 0x6b, 0x9c, 0xa3,
-	0xfe, 0x04, 0xd6, 0xaa, 0x34, 0x7f, 0xc6, 0x8f, 0x2f, 0xc7, 0xd2, 0x5d, 0xc8, 0x06, 0xb0, 0x44,
-	0x5d, 0x90, 0xad, 0x5c, 0x89, 0x7f, 0xb8, 0x35, 0x18, 0x03, 0x4d, 0xfd, 0xb7, 0x0c, 0x6b, 0xb5,
-	0x67, 0x01, 0xc3, 0x02, 0xc2, 0xe7, 0x03, 0x6a, 0xd4, 0x7e, 0x39, 0x6a, 0x3f, 0x69, 0x81, 0x86,
-	0xb6, 0xf5, 0x18, 0x77, 0xa8, 0x8c, 0x84, 0x57, 0xc3, 0x19, 0xa5, 0xde, 0x45, 0x3f, 0xf4, 0x81,
-	0x9c, 0xa4, 0xd1, 0xaa, 0x88, 0xcc, 0x9f, 0x62, 0x63, 0x14, 0xca, 0xef, 0x43, 0xe1, 0xc4, 0xe8,
-	0x3d, 0x1d, 0x61, 0xfb, 0xbc, 0xcd, 0x9a, 0x2c, 0x56, 0xd7, 0x97, 0x39, 0xfd, 0x9e, 0x47, 0x26,
-	0x89, 0xee, 0xb3, 0xba, 0xfa, 0x49, 0x1f, 0xb3, 0x47, 0x3b, 0xc7, 0xa9, 0x2d, 0x42, 0x54, 0xb7,
-	0x66, 0x02, 0xe1, 0x0d, 0x58, 0x66, 0xf4, 0xdd, 0xfa, 0xfe, 0xa7, 0xf7, 0x6b, 0xda, 0xc3, 0x82,
-	0xa4, 0x7e, 0x04, 0x2b, 0xfb, 0xf8, 0x75, 0x7d, 0xaa, 0xfe, 0x0c, 0x94, 0x63, 0xac, 0xdb, 0x9d,
-	0x47, 0x63, 0x01, 0x7e, 0xf9, 0xb8, 0x0a, 0xd9, 0x71, 0x43, 0xe9, 0xc3, 0xc5, 0xef, 0x28, 0x3d,
-	0x77, 0xeb, 0x3d, 0xdc, 0x76, 0xad, 0x27, 0xd8, 0x64, 0xc5, 0x3d, 0x43, 0x28, 0x2d, 0x42, 0x20,
-	0x15, 0x9e, 0x6e, 0x3b, 0xc6, 0x73, 0x4c, 0x83, 0x91, 0xd2, 0xd2, 0x84, 0x70, 0x6c, 0x3c, 0xc7,
-	0xea, 0xaf, 0x25, 0x78, 0x4b, 0xa0, 0x99, 0x41, 0x75, 0x07, 0x96, 0x02, 0xc6, 0x7b, 0xba, 0x67,
-	0xc3, 0x2d, 0x3b, 0xbe, 0x9a, 0x43, 0x9e, 0x10, 0x13, 0x3f, 0x73, 0xdb, 0x13, 0x16, 0xe6, 0x08,
-	0xf9, 0x88, 0x5b, 0xa9, 0xde, 0x85, 0xb5, 0x7b, 0xb8, 0x8f, 0x45, 0x98, 0x9f, 0xcf, 0x85, 0xaf,
-	0x24, 0x58, 0xbb, 0x3f, 0xec, 0xea, 0xaf, 0x2d, 0x21, 0x9a, 0x5b, 0xf2, 0x45, 0x73, 0x0b, 0x7d,
-	0x8f, 0xbc, 0x11, 0xc4, 0x02, 0x3a, 0x15, 0x52, 0x1c, 0x8a, 0x1e, 0xa6, 0x3d, 0x32, 0x38, 0x1e,
-	0xea, 0xce, 0x13, 0xf2, 0x7e, 0x10, 0x76, 0xf2, 0x5b, 0xfd, 0xab, 0x0c, 0x6f, 0x86, 0x22, 0xe1,
-	0x03, 0x40, 0xf0, 0x0a, 0x4b, 0xa2, 0x57, 0xf8, 0xdd, 0x71, 0xb4, 0x02, 0xcf, 0x3c, 0xbf, 0x53,
-	0xc3, 0x6b, 0xce, 0xc3, 0xb9, 0x9b, 0x98, 0xc8, 0xdd, 0xc9, 0xe7, 0x30, 0x19, 0xdb, 0x2a, 0xa7,
-	0x04, 0xad, 0xf2, 0xc2, 0xb8, 0x55, 0x0e, 0x63, 0x73, 0x31, 0x16, 0x9b, 0xe9, 0x30, 0x36, 0xc9,
-	0xe6, 0x40, 0x7f, 0xd6, 0xf6, 0x7a, 0xd5, 0x8c, 0xb7, 0x39, 0xd0, 0x9f, 0x91, 0x7e, 0xc1, 0x51,
-	0xcf, 0x61, 0x35, 0xea, 0x2d, 0x06, 0xda, 0xef, 0x40, 0x9a, 0x7f, 0xa6, 0x60, 0x80, 0x7d, 0x3b,
-	0x26, 0x86, 0x9a, 0xcf, 0x3c, 0x37, 0x54, 0x0f, 0x61, 0x25, 0x54, 0x9e, 0x79, 0x9c, 0xb6, 0x60,
-	0x91, 0xc9, 0x62, 0x75, 0x39, 0x56, 0x2f, 0xe7, 0x55, 0xff, 0x2c, 0xc1, 0x4a, 0x08, 0xb8, 0x5c,
-	0xde, 0x65, 0xe0, 0xe0, 0x0a, 0x4c, 0x92, 0x8c, 0x52, 0xef, 0x06, 0xd5, 0xc9, 0xf3, 0xab, 0x8b,
-	0x82, 0x34, 0x71, 0x21, 0x90, 0x6e, 0xc1, 0x4a, 0x28, 0x4b, 0xe7, 0x33, 0x55, 0xad, 0xc0, 0xa5,
-	0x71, 0x71, 0x9c, 0xf3, 0xcc, 0xdf, 0x65, 0x58, 0xa1, 0xcf, 0xf5, 0xeb, 0xb5, 0x53, 0x41, 0x14,
-	0xc8, 0x17, 0x41, 0x81, 0x21, 0x6a, 0x70, 0xbc, 0x2f, 0x1a, 0x1f, 0x8b, 0x24, 0x88, 0x6c, 0xfc,
-	0x3f, 0xec, 0x6f, 0x7e, 0x27, 0xf1, 0xf2, 0xc2, 0xfa, 0xed, 0x0b, 0x97, 0x17, 0xd1, 0xf4, 0x10,
-	0x4e, 0xef, 0x44, 0x6c, 0x7a, 0x27, 0x23, 0x4f, 0xcf, 0x73, 0x9e, 0xc1, 0x63, 0x83, 0x58, 0x06,
-	0x7f, 0x08, 0x19, 0x5e, 0xa5, 0x62, 0x53, 0x98, 0x1d, 0xd4, 0xd2, 0xac, 0x7e, 0xcd, 0x9f, 0xc2,
-	0x0d, 0x9e, 0xc2, 0x5c, 0x04, 0xf3, 0xc5, 0x07, 0x90, 0xe6, 0x9a, 0xe3, 0x72, 0x98, 0x9f, 0x5a,
-	0x64, 0x8a, 0xd5, 0xbf, 0xf8, 0x39, 0x1c, 0x11, 0x18, 0x99, 0x67, 0xa5, 0xe8, 0x3c, 0x1b, 0x54,
-	0x28, 0xcf, 0xaf, 0xf0, 0xcb, 0x65, 0xf1, 0x07, 0x3c, 0x8b, 0x2f, 0x66, 0xac, 0x7a, 0x87, 0xa6,
-	0xf1, 0x05, 0x0f, 0xfd, 0x83, 0x00, 0xcf, 0xb5, 0xb1, 0x3e, 0x88, 0x26, 0x72, 0xb8, 0x4d, 0x94,
-	0xa2, 0x6d, 0xe2, 0x64, 0x9e, 0xcb, 0x73, 0x74, 0xa3, 0x5f, 0xf5, 0x8b, 0xa6, 0x7e, 0x0a, 0xab,
-	0xd1, 0xeb, 0x7c, 0xc9, 0x87, 0x67, 0xf3, 0xa7, 0x80, 0x26, 0x93, 0x17, 0x5d, 0x83, 0xf5, 0x7a,
-	0x63, 0xaf, 0xd9, 0x3e, 0xac, 0x69, 0xfb, 0xb5, 0x76, 0xf3, 0xa8, 0xa6, 0xed, 0xb4, 0xea, 0xcd,
-	0xc6, 0xe4, 0x54, 0x52, 0xdf, 0x6f, 0x34, 0xb5, 0x5a, 0xbb, 0x51, 0xfb, 0x51, 0x41, 0x42, 0x97,
-	0x20, 0x77, 0xd8, 0x7c, 0x50, 0x6b, 0xb7, 0x9a, 0xed, 0xea, 0xce, 0xc1, 0xc1, 0x71, 0x41, 0xae,
-	0xfc, 0x49, 0x82, 0x35, 0xcf, 0x64, 0xc3, 0xec, 0xf9, 0xad, 0x0b, 0xfd, 0xf4, 0x8e, 0x3e, 0x97,
-	0x20, 0x1f, 0xbe, 0x0e, 0x12, 0x7e, 0xc7, 0x10, 0x46, 0xb0, 0xb8, 0x39, 0x0f, 0xab, 0xe7, 0x1d,
-	0xf5, 0xca, 0x67, 0xff, 0xfa, 0xcf, 0x17, 0xb2, 0xa2, 0xbe, 0x11, 0xfc, 0x3b, 0xc2, 0xb6, 0x43,
-	0x99, 0xb7, 0xa5, 0xcd, 0x5b, 0x52, 0xe5, 0x15, 0x82, 0x42, 0xd8, 0xbc, 0x07, 0xb7, 0xd1, 0x73,
-	0xc8, 0x87, 0xe7, 0x28, 0xb1, 0x7d, 0xc2, 0x31, 0xb3, 0x78, 0x99, 0xb3, 0x06, 0xfe, 0x44, 0x50,
-	0xf2, 0x3d, 0x3c, 0xc5, 0x24, 0x83, 0x8a, 0xda, 0x96, 0x36, 0xd1, 0xaf, 0x24, 0x28, 0x44, 0x07,
-	0x31, 0x24, 0xfc, 0xa2, 0x3e, 0x65, 0x5c, 0x2b, 0xce, 0xe8, 0x1e, 0xd5, 0x6b, 0xd4, 0x82, 0x2b,
-	0xea, 0x72, 0xd0, 0x02, 0xec, 0x3a, 0xdb, 0xc1, 0x4e, 0x14, 0xfd, 0x5e, 0x82, 0x42, 0x74, 0x1e,
-	0x12, 0xdb, 0x31, 0x65, 0x6a, 0x9a, 0xe5, 0x88, 0x0a, 0x35, 0xe3, 0xa6, 0xfa, 0x5e, 0xc4, 0x8c,
-	0xf2, 0x8b, 0x70, 0x06, 0xbe, 0xdc, 0xc6, 0xcf, 0xb8, 0x73, 0x7e, 0x21, 0x41, 0x2e, 0x34, 0xf1,
-	0xa0, 0x0d, 0x91, 0x45, 0xa2, 0xa1, 0x68, 0xa6, 0x5b, 0x36, 0xa8, 0x3d, 0x2a, 0x5a, 0x9f, 0x65,
-	0x0f, 0xfa, 0x42, 0x82, 0x4b, 0x13, 0xf3, 0x0b, 0xba, 0x29, 0xc4, 0xe5, 0x94, 0x01, 0xab, 0xf8,
-	0xad, 0x39, 0xb9, 0x19, 0x90, 0xdf, 0xa5, 0xc6, 0xbd, 0xad, 0xae, 0x46, 0x8d, 0x73, 0xe8, 0x11,
-	0xe2, 0x9b, 0x9f, 0x4b, 0x50, 0x88, 0x4e, 0x33, 0xe2, 0x80, 0x4d, 0x99, 0x79, 0x8a, 0xab, 0x13,
-	0xa5, 0xbc, 0x36, 0x18, 0xba, 0xe7, 0xdc, 0x33, 0x9b, 0xb3, 0x3d, 0xf3, 0x07, 0x09, 0x0a, 0xd1,
-	0x79, 0x48, 0x6c, 0xc3, 0x94, 0xa9, 0x69, 0x66, 0x94, 0xb6, 0xa8, 0x2d, 0xe5, 0xca, 0x4c, 0x5b,
-	0xc2, 0x68, 0xfe, 0x0d, 0x29, 0x39, 0xa1, 0xd6, 0x7d, 0x4a, 0xc9, 0x11, 0x0d, 0x43, 0x53, 0x4a,
-	0x8e, 0x70, 0x12, 0x10, 0xe7, 0x77, 0x20, 0x4c, 0x23, 0xc8, 0x85, 0x12, 0x57, 0x8c, 0x60, 0x51,
-	0xaf, 0x5f, 0x8c, 0xab, 0xec, 0xea, 0x65, 0xaa, 0x77, 0x4d, 0x5d, 0x0a, 0xd5, 0x15, 0xbf, 0x03,
-	0xff, 0x4c, 0x82, 0x5c, 0xc8, 0xe7, 0x62, 0xbd, 0xa2, 0x99, 0x20, 0x5e, 0xef, 0x26, 0xd5, 0x7b,
-	0xad, 0xf2, 0x56, 0xe8, 0xbe, 0x2f, 0xc6, 0x5d, 0xf6, 0xcb, 0xb1, 0x11, 0x2e, 0xe4, 0x42, 0xd8,
-	0x13, 0xdb, 0x20, 0x6a, 0xf6, 0xa7, 0x62, 0x93, 0x25, 0xc6, 0xe6, 0x74, 0xf5, 0xc8, 0x01, 0x18,
-	0x17, 0x04, 0x74, 0x3d, 0xbe, 0x60, 0xcc, 0x75, 0x67, 0xa6, 0x14, 0xc5, 0x28, 0x1d, 0x42, 0x2e,
-	0xd4, 0xa4, 0x8b, 0xaf, 0x2a, 0xea, 0xe3, 0xa7, 0x5e, 0x95, 0x47, 0x18, 0x85, 0x22, 0x4c, 0x47,
-	0x06, 0x02, 0xac, 0x31, 0xc4, 0x79, 0x6f, 0x1b, 0x07, 0xf1, 0x48, 0x43, 0x1e, 0x07, 0xf1, 0x68,
-	0xab, 0x1c, 0x86, 0x38, 0x9d, 0x94, 0xc3, 0x95, 0xe8, 0x8c, 0x43, 0x9c, 0xff, 0x4d, 0x20, 0x06,
-	0xe2, 0xe1, 0xc6, 0xae, 0x18, 0xd7, 0x88, 0xfa, 0x7a, 0x97, 0x82, 0x7a, 0xb7, 0xfd, 0x5e, 0x16,
-	0xfd, 0xd2, 0xc7, 0x78, 0xac, 0x62, 0x51, 0xcf, 0x1c, 0xaf, 0xf8, 0x26, 0x55, 0x7c, 0xa3, 0x52,
-	0x0c, 0x5d, 0xf8, 0x45, 0xa0, 0x07, 0x7c, 0x19, 0x30, 0x63, 0xc4, 0x51, 0x1e, 0x6b, 0x85, 0xa8,
-	0x19, 0x9e, 0x1a, 0x7a, 0x95, 0x1a, 0xf0, 0xce, 0x66, 0x8c, 0x01, 0xc8, 0xa5, 0x30, 0xe7, 0x3a,
-	0xa7, 0xc1, 0xfc, 0x22, 0xd7, 0x66, 0x5a, 0x51, 0x8c, 0xd6, 0xdd, 0x9b, 0xb0, 0xda, 0xb1, 0x06,
-	0x02, 0x29, 0xbb, 0x39, 0x8e, 0xeb, 0x23, 0x72, 0x97, 0x23, 0xe9, 0xbf, 0x92, 0x74, 0xb2, 0x40,
-	0xef, 0x75, 0xe7, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x72, 0x79, 0xf0, 0x06, 0x22, 0x00,
-	0x00,
+	0x11, 0xef, 0x1d, 0x29, 0x89, 0x1c, 0x8a, 0x14, 0xbd, 0x51, 0x24, 0x9a, 0x8e, 0x1d, 0xe7, 0x60,
+	0x3b, 0x8e, 0xea, 0x92, 0x36, 0x5d, 0xa5, 0xa9, 0x9a, 0xd4, 0x95, 0x68, 0x4a, 0x61, 0x21, 0x92,
+	0xca, 0x89, 0x76, 0xeb, 0x02, 0x05, 0x71, 0xa2, 0x56, 0xf4, 0xd9, 0xe4, 0x1d, 0x73, 0x77, 0x54,
+	0x2d, 0x1b, 0x7e, 0x68, 0xfa, 0x0f, 0x01, 0x0a, 0x14, 0x68, 0x80, 0x3e, 0xf5, 0xb5, 0x0f, 0x45,
+	0x8b, 0x7e, 0x03, 0x7f, 0x83, 0xb6, 0x2f, 0x45, 0xbf, 0x41, 0x3f, 0x44, 0x1f, 0xbb, 0xbb, 0xb7,
+	0x77, 0xbc, 0x3b, 0x2e, 0x8f, 0x94, 0x83, 0x04, 0x7d, 0xb1, 0x6f, 0x67, 0x67, 0x67, 0x66, 0x67,
+	0x7e, 0x33, 0x3b, 0x43, 0xc1, 0x0f, 0x7a, 0xa6, 0xd9, 0xeb, 0xe3, 0x52, 0xcf, 0xec, 0x6b, 0x46,
+	0xaf, 0x64, 0x5a, 0xbd, 0x72, 0x0f, 0x1b, 0x43, 0xcb, 0x74, 0xcc, 0xb2, 0xbb, 0xa5, 0x0d, 0x75,
+	0x9b, 0xd2, 0xcc, 0x81, 0xde, 0xb5, 0xcb, 0xa7, 0x77, 0xca, 0xa7, 0x9a, 0xa5, 0x6b, 0x86, 0x63,
+	0x97, 0x18, 0x17, 0x42, 0x9e, 0x04, 0xce, 0x52, 0x3a, 0xbd, 0x53, 0xac, 0xcf, 0x27, 0x95, 0xfc,
+	0x53, 0xb6, 0xb1, 0x75, 0xaa, 0x77, 0x71, 0xd7, 0x34, 0x4e, 0xf4, 0x5e, 0x59, 0x33, 0x0c, 0xd3,
+	0xd1, 0x1c, 0xdd, 0x34, 0xb8, 0xf8, 0xe2, 0xce, 0x7c, 0xa2, 0xfa, 0xa6, 0xd1, 0xb3, 0x46, 0x86,
+	0xa1, 0x1b, 0xbd, 0xb2, 0x39, 0xc4, 0x56, 0x48, 0xc6, 0xdd, 0x9e, 0xee, 0x3c, 0x1e, 0x1d, 0x95,
+	0xba, 0xe6, 0xa0, 0xec, 0xca, 0x29, 0xb3, 0x8d, 0xa3, 0xd1, 0x49, 0x79, 0xe8, 0x9c, 0x0d, 0xb1,
+	0x5d, 0xc6, 0x03, 0xf2, 0xe1, 0xfe, 0xcb, 0x0f, 0x7d, 0x3b, 0x46, 0xb1, 0x7f, 0xfa, 0x44, 0xc7,
+	0xfd, 0xe3, 0xce, 0x40, 0xb3, 0x9f, 0xf2, 0x53, 0x9b, 0xb3, 0x55, 0xd9, 0x8e, 0x35, 0xea, 0x3a,
+	0xfc, 0x3f, 0xf7, 0x98, 0xf2, 0x2a, 0x01, 0xe8, 0xa1, 0xeb, 0xd7, 0x43, 0xec, 0x34, 0xb0, 0xa3,
+	0x1d, 0x6b, 0x8e, 0x86, 0xf2, 0x90, 0x78, 0x8a, 0xcf, 0x0a, 0xd2, 0x55, 0xe9, 0x66, 0x5a, 0xa5,
+	0x9f, 0x68, 0x15, 0x16, 0x4e, 0xb5, 0xfe, 0x08, 0x17, 0x64, 0x46, 0x73, 0x17, 0x28, 0x07, 0xb2,
+	0x7e, 0x5c, 0x48, 0x32, 0x12, 0xf9, 0x42, 0xf7, 0x20, 0x49, 0x75, 0x15, 0x16, 0x08, 0x25, 0x57,
+	0xf9, 0x66, 0x69, 0x32, 0x44, 0xa5, 0x49, 0x6d, 0xa5, 0x36, 0x39, 0xa2, 0xb2, 0x83, 0x68, 0x0d,
+	0x16, 0x8d, 0xd1, 0xe0, 0x08, 0x5b, 0x85, 0x14, 0x13, 0xca, 0x57, 0xe8, 0x2a, 0x64, 0x8e, 0xb1,
+	0xdd, 0xb5, 0xf4, 0x21, 0xf5, 0x6f, 0x61, 0x89, 0x6d, 0x06, 0x49, 0xe8, 0x3e, 0x24, 0x75, 0xe3,
+	0xc4, 0x2c, 0x24, 0xae, 0x26, 0x6e, 0x66, 0x2a, 0xb7, 0xe7, 0x54, 0x5d, 0x27, 0x47, 0x6a, 0x86,
+	0x63, 0x9d, 0xa9, 0xec, 0x74, 0xf1, 0x10, 0xd2, 0x3e, 0x49, 0xe0, 0x85, 0xdb, 0x41, 0x2f, 0x64,
+	0x2a, 0x45, 0x4f, 0x8b, 0xe7, 0xea, 0xd2, 0xbe, 0x6e, 0x3b, 0x0f, 0x29, 0x07, 0xf7, 0xd0, 0x96,
+	0xfc, 0x81, 0xa4, 0x3c, 0x82, 0x24, 0xbd, 0x22, 0xf1, 0x61, 0xbe, 0xfd, 0xe8, 0xa0, 0xd6, 0x79,
+	0xd0, 0x3c, 0x3c, 0xa8, 0x55, 0xeb, 0xbb, 0xf5, 0xda, 0xfd, 0xfc, 0x37, 0x50, 0x06, 0x96, 0xea,
+	0xcd, 0x76, 0x6d, 0xaf, 0xa6, 0xe6, 0x25, 0x94, 0x86, 0x85, 0xdd, 0xfd, 0xd6, 0x76, 0x3b, 0x2f,
+	0xa3, 0x14, 0x24, 0x77, 0xf7, 0xb7, 0xf7, 0xf2, 0x09, 0x94, 0x85, 0x74, 0xf5, 0xe3, 0x6d, 0x75,
+	0xbb, 0xda, 0x26, 0x3c, 0x49, 0x04, 0xb0, 0x78, 0xd8, 0x56, 0xeb, 0xcd, 0xbd, 0xfc, 0x82, 0xf2,
+	0x37, 0x19, 0x60, 0x7c, 0x2d, 0x74, 0x19, 0x80, 0x5e, 0xcb, 0xc6, 0x4e, 0x87, 0xc4, 0xc5, 0x35,
+	0x3c, 0xcd, 0x29, 0xf5, 0x63, 0x1e, 0x2e, 0xd9, 0x0f, 0xd7, 0x4d, 0xc8, 0x5b, 0xf8, 0x04, 0x5b,
+	0xd8, 0xe8, 0xe2, 0x0e, 0x3f, 0xb4, 0xc8, 0x76, 0x73, 0x3e, 0xfd, 0x90, 0x9d, 0x6c, 0x04, 0x39,
+	0x8f, 0xcc, 0x91, 0x71, 0x6c, 0x93, 0x20, 0x53, 0x4f, 0x2b, 0x22, 0x4f, 0xab, 0x1e, 0xef, 0x0e,
+	0x65, 0x55, 0x57, 0xac, 0xd0, 0xda, 0x46, 0x3b, 0x90, 0x1a, 0xf0, 0x10, 0x10, 0xf4, 0x50, 0x31,
+	0x37, 0xe6, 0x0b, 0x98, 0xea, 0x9f, 0x43, 0x08, 0x92, 0x86, 0x36, 0xc0, 0x1c, 0x0b, 0xec, 0x3b,
+	0x0a, 0x93, 0xd4, 0x04, 0x4c, 0x94, 0xcf, 0x93, 0xb0, 0xc4, 0xc5, 0xa2, 0x6b, 0x90, 0xe3, 0x35,
+	0xc5, 0xbb, 0xfc, 0x0a, 0x3b, 0xb0, 0x7c, 0xea, 0xeb, 0x15, 0x38, 0x8d, 0x64, 0x02, 0xd5, 0x65,
+	0x33, 0xa4, 0x91, 0x4c, 0x60, 0x0b, 0x54, 0x80, 0xa5, 0xae, 0x85, 0x35, 0x07, 0x1f, 0x17, 0x96,
+	0x09, 0x6b, 0x42, 0xf5, 0x96, 0xe8, 0x3a, 0x8c, 0x9d, 0xd9, 0x61, 0x16, 0xe7, 0x98, 0xac, 0xac,
+	0x4f, 0x6d, 0x52, 0xd3, 0x89, 0x58, 0xdb, 0xd1, 0x2c, 0xa7, 0x90, 0x67, 0xc7, 0xdd, 0x05, 0x85,
+	0x20, 0x36, 0x8e, 0x0b, 0x59, 0x46, 0xa3, 0x9f, 0xe8, 0x5d, 0x58, 0x09, 0x44, 0x82, 0x04, 0xd6,
+	0x9e, 0x08, 0xd9, 0x0e, 0xa5, 0x52, 0x46, 0xad, 0xef, 0x60, 0xcb, 0x20, 0x56, 0x70, 0xc6, 0x25,
+	0x66, 0x71, 0xce, 0x27, 0xbb, 0x8c, 0xc4, 0xf4, 0x4f, 0x47, 0x5a, 0x5f, 0x77, 0xce, 0x98, 0xc3,
+	0x24, 0xd5, 0x5b, 0xd2, 0x6c, 0x3c, 0xd1, 0x29, 0x73, 0x21, 0xcd, 0x4e, 0xf2, 0x15, 0xfa, 0x2e,
+	0xcf, 0x35, 0x60, 0xa1, 0xbb, 0x1e, 0x13, 0xba, 0x68, 0x82, 0xa1, 0x4d, 0x58, 0xe8, 0x6a, 0xfd,
+	0xbe, 0x5d, 0xc8, 0xb0, 0xb3, 0x6f, 0xc7, 0x9c, 0xad, 0x12, 0x3e, 0xd5, 0xe5, 0xfe, 0x6a, 0xf2,
+	0xf2, 0x9f, 0x32, 0x64, 0x02, 0xba, 0xd0, 0x15, 0xc8, 0x50, 0x6d, 0x1e, 0x18, 0x5c, 0xf4, 0xa4,
+	0x29, 0xc9, 0x45, 0x82, 0x02, 0x59, 0x7f, 0x9f, 0x05, 0x32, 0xed, 0xe2, 0x8b, 0x73, 0xb0, 0x30,
+	0x16, 0x21, 0x45, 0xaf, 0xc2, 0xaa, 0x20, 0x75, 0xf7, 0x82, 0xea, 0xaf, 0xe9, 0xde, 0xf0, 0x31,
+	0x75, 0x39, 0x76, 0x58, 0x85, 0x4c, 0xab, 0xfe, 0x1a, 0x95, 0xe1, 0x0d, 0x8f, 0xaf, 0xd3, 0xd7,
+	0x9f, 0xe2, 0xbe, 0xfe, 0xd8, 0x34, 0x69, 0x36, 0x26, 0x48, 0x40, 0x90, 0xb7, 0xb5, 0xef, 0xef,
+	0xa0, 0x8f, 0x78, 0x0c, 0x64, 0xe6, 0xc7, 0xf7, 0x66, 0xf8, 0xf1, 0xeb, 0x29, 0x74, 0x7f, 0x94,
+	0x61, 0xa9, 0xea, 0x3a, 0x83, 0xa7, 0x8d, 0xe4, 0xa7, 0x8d, 0x97, 0xae, 0x72, 0x20, 0x5d, 0x2f,
+	0x41, 0xda, 0xd6, 0x06, 0xc3, 0x3e, 0xa6, 0xee, 0x76, 0xf3, 0x38, 0xe5, 0x12, 0x88, 0xb7, 0x6f,
+	0xc0, 0x4a, 0x38, 0x3b, 0x6d, 0xe6, 0x0d, 0x92, 0x38, 0xc1, 0xf4, 0x0c, 0x65, 0xde, 0x42, 0x38,
+	0xf3, 0x3c, 0x98, 0x26, 0xa7, 0xc3, 0x94, 0x5b, 0xfb, 0xf5, 0xb8, 0xe7, 0xc7, 0x90, 0x0b, 0x17,
+	0x46, 0x41, 0x6d, 0x90, 0x44, 0xb5, 0xe1, 0x6d, 0xc8, 0x8c, 0x86, 0xa4, 0xb9, 0x70, 0x2b, 0x2f,
+	0x53, 0x9a, 0x50, 0x81, 0x91, 0x98, 0x1c, 0xe5, 0xb7, 0x49, 0x78, 0xb3, 0x3e, 0x18, 0x9a, 0x96,
+	0xc3, 0x63, 0x6e, 0xab, 0xf8, 0xd3, 0x11, 0xb6, 0x45, 0x35, 0x4e, 0x12, 0xd4, 0x38, 0xa2, 0xc0,
+	0x36, 0x47, 0x16, 0x31, 0x62, 0x64, 0xe9, 0x36, 0xc3, 0x54, 0x5a, 0x05, 0x97, 0xf4, 0x80, 0x50,
+	0xd0, 0xc7, 0xa4, 0x12, 0x98, 0xd6, 0x40, 0x73, 0x48, 0xd5, 0xa3, 0x4f, 0xbb, 0xf0, 0x7d, 0x15,
+	0x5a, 0x50, 0xda, 0x65, 0xe7, 0x54, 0x7e, 0x1e, 0x6d, 0xc1, 0x45, 0x83, 0x7e, 0xf5, 0xf5, 0xe7,
+	0xb8, 0x13, 0xbe, 0xbc, 0xcd, 0x02, 0x98, 0x52, 0xd7, 0x7d, 0x06, 0x35, 0xe8, 0x06, 0x1b, 0x3d,
+	0x81, 0x0b, 0x34, 0x3a, 0x9d, 0x01, 0xb6, 0x7a, 0xb8, 0xe3, 0xb6, 0x6e, 0x0c, 0x14, 0x99, 0xca,
+	0xf7, 0xe7, 0x37, 0x88, 0x06, 0xb6, 0x41, 0x25, 0x54, 0x99, 0x00, 0x37, 0xec, 0x2b, 0x7a, 0x98,
+	0x5a, 0x7c, 0x02, 0xab, 0x22, 0x46, 0x01, 0x18, 0x3e, 0x0c, 0x82, 0x21, 0x27, 0x7e, 0xc9, 0x7c,
+	0x51, 0x2d, 0xaf, 0x47, 0x0c, 0x02, 0xa3, 0x09, 0x8b, 0xae, 0x97, 0x48, 0xc5, 0x45, 0xbb, 0x2d,
+	0xb5, 0xb1, 0xdd, 0x8e, 0x34, 0x09, 0x39, 0x00, 0x4e, 0x7f, 0x58, 0xdd, 0x25, 0x7d, 0xc2, 0x5b,
+	0x50, 0xe0, 0xeb, 0x6a, 0xab, 0x71, 0xb0, 0x5f, 0x6b, 0xd7, 0x3a, 0x7b, 0xb5, 0x66, 0xab, 0x51,
+	0xaf, 0x1e, 0xe6, 0x65, 0x65, 0x0b, 0xd6, 0xa2, 0x57, 0xb7, 0x87, 0xa4, 0x2d, 0xa5, 0x0f, 0xe4,
+	0x72, 0xa0, 0xc4, 0xd9, 0xe4, 0x1a, 0x2c, 0xd2, 0x7e, 0x8d, 0xb3, 0x95, 0x9f, 0xc0, 0x7a, 0x95,
+	0xe5, 0xcf, 0xf8, 0xf1, 0xf5, 0xb0, 0x74, 0x0f, 0x32, 0x01, 0x2c, 0x31, 0x17, 0x64, 0x2a, 0x57,
+	0xe2, 0x1f, 0x6e, 0x15, 0xc6, 0x40, 0x53, 0xfe, 0x2d, 0xc3, 0x7a, 0xed, 0x59, 0xc0, 0xb0, 0x80,
+	0xf0, 0xf9, 0x80, 0x1a, 0xb5, 0x5f, 0x8e, 0xda, 0x4f, 0x5b, 0x20, 0x92, 0x85, 0x4f, 0x70, 0x97,
+	0xc9, 0x48, 0xb8, 0x35, 0x9c, 0x53, 0x88, 0x80, 0x1f, 0xfa, 0x40, 0x4e, 0xb2, 0x68, 0x55, 0x44,
+	0xe6, 0x4f, 0xb1, 0x31, 0x0a, 0xe5, 0xf7, 0x20, 0x7f, 0xa4, 0xf7, 0xc8, 0x96, 0x75, 0xd6, 0xe1,
+	0x4d, 0x16, 0xaf, 0xeb, 0x2b, 0x1e, 0xfd, 0xbe, 0x4b, 0xa6, 0x89, 0xee, 0xb3, 0x3a, 0xda, 0x51,
+	0x1f, 0xf3, 0x47, 0x3b, 0xeb, 0x51, 0xdb, 0x94, 0xa8, 0x6c, 0xce, 0x04, 0xc2, 0x1b, 0xb0, 0xc2,
+	0xe9, 0x3b, 0xf5, 0xbd, 0x4f, 0x1e, 0xd4, 0xd4, 0x47, 0x79, 0x49, 0xf9, 0x10, 0x56, 0xf7, 0xf0,
+	0xeb, 0xfa, 0x54, 0xf9, 0x19, 0x14, 0x0e, 0xb1, 0x66, 0x75, 0x1f, 0x8f, 0x05, 0xf8, 0xe5, 0x83,
+	0x14, 0x86, 0x71, 0x43, 0xe9, 0xc3, 0xc5, 0xef, 0x28, 0x5d, 0x77, 0x6b, 0x24, 0x19, 0x1d, 0xf3,
+	0x29, 0x36, 0x78, 0x71, 0x4f, 0x53, 0x4a, 0x9b, 0x12, 0x68, 0x85, 0x67, 0xdb, 0x36, 0x49, 0x66,
+	0x16, 0x0c, 0xf2, 0x1e, 0x52, 0xc2, 0x21, 0x59, 0x2b, 0xbf, 0x96, 0xe0, 0xa2, 0x40, 0x33, 0x87,
+	0xea, 0x36, 0x2c, 0x07, 0x8c, 0x77, 0x75, 0xcf, 0x86, 0x5b, 0x66, 0x7c, 0x35, 0x9b, 0x3e, 0x21,
+	0x06, 0x7e, 0xe6, 0x74, 0x26, 0x2c, 0xcc, 0x52, 0xf2, 0x81, 0x67, 0xa5, 0x72, 0x0f, 0xd6, 0xef,
+	0xe3, 0x3e, 0x16, 0x61, 0x7e, 0x3e, 0x17, 0xbe, 0x92, 0x60, 0xfd, 0xc1, 0xf0, 0x58, 0x7b, 0x6d,
+	0x09, 0xd1, 0xdc, 0x92, 0xcf, 0x9b, 0x5b, 0xe8, 0x7b, 0xf4, 0x8d, 0xa0, 0x16, 0xb0, 0xa9, 0x90,
+	0xe1, 0x50, 0xf4, 0x30, 0xed, 0xd2, 0xc1, 0xb1, 0x41, 0x38, 0xe8, 0xfb, 0x41, 0xd9, 0xe9, 0xb7,
+	0xf2, 0x57, 0x19, 0xde, 0x0c, 0x45, 0xc2, 0x07, 0x80, 0xe0, 0x15, 0x96, 0x44, 0xaf, 0xf0, 0x3b,
+	0xe3, 0x68, 0x05, 0x9e, 0x79, 0xef, 0x4e, 0x4d, 0xb7, 0x39, 0x0f, 0xe7, 0x6e, 0x62, 0x22, 0x77,
+	0x27, 0x9f, 0xc3, 0x64, 0x6c, 0xab, 0xbc, 0x20, 0x68, 0x95, 0x17, 0xc7, 0xad, 0x72, 0x18, 0x9b,
+	0x4b, 0xb1, 0xd8, 0x4c, 0x85, 0xb1, 0x49, 0x37, 0x07, 0xda, 0xb3, 0x8e, 0xdb, 0xab, 0xa6, 0xdd,
+	0x4d, 0x42, 0xa0, 0xfd, 0x82, 0xad, 0x9c, 0xc1, 0x5a, 0xd4, 0x5b, 0x1c, 0xb4, 0xdf, 0x81, 0x94,
+	0xf7, 0x33, 0x05, 0x07, 0xec, 0xa5, 0x98, 0x18, 0xaa, 0x3e, 0xf3, 0xdc, 0x50, 0x6d, 0xc0, 0x6a,
+	0xa8, 0x3c, 0x7b, 0x71, 0xda, 0x84, 0x25, 0x2e, 0x8b, 0xd7, 0xe5, 0x58, 0xbd, 0x1e, 0xaf, 0xf2,
+	0x67, 0x09, 0x56, 0x43, 0xc0, 0xf5, 0xe4, 0x11, 0xdf, 0x79, 0xf1, 0x1c, 0x4f, 0x92, 0x9c, 0x42,
+	0xe0, 0x1a, 0x50, 0x27, 0xcf, 0xaf, 0x2e, 0x0a, 0xd2, 0xc4, 0xb9, 0x40, 0xba, 0x09, 0xab, 0xa1,
+	0x2c, 0x9d, 0xcf, 0x54, 0xa5, 0x02, 0x17, 0xc6, 0xc5, 0x71, 0xce, 0x33, 0x7f, 0x97, 0x61, 0x95,
+	0x3d, 0xd7, 0xaf, 0xd7, 0x4e, 0x05, 0x51, 0x20, 0x9f, 0x07, 0x05, 0xba, 0xa8, 0xc1, 0x71, 0x7f,
+	0xd1, 0xf8, 0x48, 0x24, 0x41, 0x64, 0xe3, 0xff, 0x61, 0x7f, 0xf3, 0x3b, 0xc9, 0x2b, 0x2f, 0xbc,
+	0xdf, 0x3e, 0x77, 0x79, 0x11, 0x4d, 0x0f, 0xe1, 0xf4, 0x4e, 0xc4, 0xa6, 0x77, 0x32, 0xf2, 0xf4,
+	0x3c, 0xf7, 0x32, 0x78, 0x6c, 0x10, 0xcf, 0xe0, 0x0f, 0x20, 0xed, 0x55, 0xa9, 0xd8, 0x14, 0xe6,
+	0x07, 0xd5, 0x14, 0xaf, 0x5f, 0xf3, 0xa7, 0x70, 0xd3, 0x4b, 0x61, 0x4f, 0x04, 0xf7, 0xc5, 0xfb,
+	0x90, 0xf2, 0x34, 0xc7, 0xe5, 0xb0, 0x77, 0x6a, 0x89, 0x2b, 0x56, 0xfe, 0xe2, 0xe7, 0x70, 0x44,
+	0x60, 0x64, 0x9e, 0x95, 0xa2, 0xf3, 0x6c, 0x50, 0xa1, 0x3c, 0xbf, 0xc2, 0x2f, 0x97, 0xc5, 0xef,
+	0x7b, 0x59, 0x7c, 0x3e, 0x63, 0x95, 0xbb, 0x2c, 0x8d, 0xcf, 0x79, 0xe8, 0x1f, 0x14, 0x78, 0x0e,
+	0x71, 0xf6, 0x20, 0x9a, 0xc8, 0xe1, 0x36, 0x51, 0x8a, 0xb6, 0x89, 0x93, 0x79, 0x2e, 0xcf, 0xd1,
+	0x8d, 0x7e, 0xd5, 0x2f, 0x9a, 0xf2, 0x09, 0x81, 0x6d, 0xe4, 0x3a, 0x5f, 0xf2, 0xe1, 0xd9, 0xf8,
+	0x29, 0xa0, 0xc9, 0xe4, 0x25, 0xf7, 0xbf, 0x5a, 0x6f, 0xee, 0xb6, 0x3a, 0x8d, 0x9a, 0xba, 0x57,
+	0xeb, 0xb4, 0x0e, 0x6a, 0xea, 0x76, 0xbb, 0xde, 0x6a, 0x4e, 0x4e, 0x25, 0xf5, 0xbd, 0x66, 0x4b,
+	0xad, 0x75, 0x9a, 0xb5, 0x1f, 0x91, 0xa9, 0xe4, 0x02, 0x64, 0x1b, 0xad, 0x87, 0xb5, 0x4e, 0xbb,
+	0xd5, 0xa9, 0x6e, 0xef, 0xef, 0x93, 0x51, 0xa4, 0xf2, 0x27, 0xd2, 0x19, 0xb9, 0x26, 0xeb, 0x46,
+	0xcf, 0x6f, 0x5d, 0xd8, 0x4f, 0xef, 0xe8, 0x73, 0x09, 0x72, 0xe1, 0xeb, 0x20, 0xe1, 0xef, 0x18,
+	0xc2, 0x08, 0x16, 0x37, 0xe6, 0x61, 0x75, 0xbd, 0xa3, 0x5c, 0xf9, 0xec, 0x5f, 0xff, 0xf9, 0x42,
+	0x2e, 0x28, 0x6f, 0x04, 0xff, 0x8e, 0xb0, 0x65, 0x33, 0xe6, 0x2d, 0x69, 0xe3, 0xb6, 0x54, 0x79,
+	0x85, 0x20, 0x1f, 0x36, 0xef, 0xe1, 0x1d, 0xf4, 0x1c, 0x72, 0xe1, 0x39, 0x4a, 0x6c, 0x9f, 0x70,
+	0xcc, 0x2c, 0x5e, 0xf6, 0x58, 0x03, 0x7f, 0x22, 0x28, 0xf9, 0x1e, 0x9e, 0x62, 0x92, 0xce, 0x44,
+	0x11, 0x93, 0xd0, 0xaf, 0x24, 0xc8, 0x47, 0x07, 0x31, 0x24, 0xfc, 0x45, 0x7d, 0xca, 0xb8, 0x56,
+	0x9c, 0xd1, 0x3d, 0x2a, 0xd7, 0x98, 0x05, 0x57, 0x94, 0x95, 0xa0, 0x05, 0xa4, 0x90, 0x6d, 0x05,
+	0x3b, 0x51, 0xf4, 0x7b, 0x62, 0x47, 0x74, 0x1e, 0x12, 0xdb, 0x31, 0x65, 0x6a, 0x9a, 0xe5, 0x88,
+	0x0a, 0x33, 0xe3, 0x96, 0xf2, 0x6e, 0xc4, 0x8c, 0xf2, 0x8b, 0x70, 0x06, 0xbe, 0xdc, 0xc2, 0xcf,
+	0x3c, 0xe7, 0xfc, 0x42, 0x82, 0x6c, 0x68, 0xe2, 0x41, 0x37, 0x45, 0x16, 0x89, 0x86, 0xa2, 0x99,
+	0x6e, 0xb9, 0xc9, 0xec, 0x51, 0xd0, 0xd5, 0x59, 0xf6, 0xa0, 0x2f, 0x24, 0xb8, 0x30, 0x31, 0xbf,
+	0xa0, 0x5b, 0x42, 0x5c, 0x4e, 0x19, 0xb0, 0x8a, 0xdf, 0x9a, 0x93, 0x9b, 0x03, 0xf9, 0x1d, 0x66,
+	0xdc, 0x25, 0x65, 0x2d, 0x6a, 0x9c, 0xcd, 0x8e, 0x50, 0xdf, 0xfc, 0x9c, 0x04, 0x2c, 0x3a, 0xcd,
+	0x88, 0x03, 0x36, 0x65, 0xe6, 0x29, 0xae, 0x4d, 0x94, 0xf2, 0x1a, 0xfd, 0xfb, 0x94, 0xe7, 0x99,
+	0x8d, 0xd9, 0x9e, 0xf9, 0x03, 0xb1, 0x21, 0x3a, 0x0f, 0x89, 0x6d, 0x98, 0x32, 0x35, 0xcd, 0x8c,
+	0xd2, 0x26, 0xb3, 0xa5, 0x5c, 0x99, 0x69, 0x4b, 0x18, 0xcd, 0xbf, 0xa1, 0x25, 0x27, 0xd4, 0xba,
+	0x4f, 0x29, 0x39, 0xa2, 0x61, 0x68, 0x4a, 0xc9, 0x11, 0x4e, 0x02, 0xe2, 0xfc, 0x0e, 0x84, 0x69,
+	0x04, 0xd9, 0x50, 0xe2, 0x8a, 0x11, 0x2c, 0xea, 0xf5, 0x8b, 0x71, 0x95, 0x5d, 0xb9, 0xcc, 0xf4,
+	0xae, 0x2b, 0xcb, 0xa1, 0xba, 0xe2, 0x77, 0xe0, 0x9f, 0x91, 0xcc, 0x09, 0xf9, 0x5c, 0xac, 0x57,
+	0x34, 0x13, 0xc4, 0xeb, 0xdd, 0x60, 0x7a, 0xaf, 0x55, 0x2e, 0x86, 0xee, 0xfb, 0x62, 0xdc, 0x65,
+	0xbf, 0x1c, 0x1b, 0xe1, 0x40, 0x36, 0x84, 0x3d, 0xb1, 0x0d, 0xa2, 0x66, 0x7f, 0x2a, 0x36, 0x79,
+	0x62, 0x6c, 0x4c, 0x57, 0x8f, 0x6c, 0x80, 0x71, 0x41, 0x40, 0xd7, 0xe3, 0x0b, 0xc6, 0x5c, 0x77,
+	0xe6, 0x4a, 0x51, 0x8c, 0xd2, 0x21, 0x79, 0x12, 0x83, 0x4d, 0xba, 0xf8, 0xaa, 0xa2, 0x3e, 0x7e,
+	0xea, 0x55, 0xbd, 0x08, 0xa3, 0x50, 0x84, 0xd9, 0xc8, 0x40, 0x81, 0x35, 0x86, 0xb8, 0xd7, 0xdb,
+	0xc6, 0x41, 0x3c, 0xd2, 0x90, 0xc7, 0x41, 0x3c, 0xda, 0x2a, 0x87, 0x21, 0xce, 0x26, 0xe5, 0x70,
+	0x25, 0x3a, 0xf5, 0x20, 0xee, 0xfd, 0x4d, 0x20, 0x06, 0xe2, 0xe1, 0xc6, 0xae, 0x18, 0xd7, 0x88,
+	0xfa, 0x7a, 0x97, 0x83, 0x7a, 0xb7, 0xfc, 0x5e, 0x16, 0xfd, 0xd2, 0xc7, 0x78, 0xac, 0x62, 0x51,
+	0xcf, 0x1c, 0xaf, 0xf8, 0x16, 0x53, 0x7c, 0xa3, 0x52, 0x0c, 0x5d, 0xf8, 0x45, 0xa0, 0x07, 0x7c,
+	0x19, 0x30, 0x63, 0xe4, 0xa1, 0x3c, 0xd6, 0x0a, 0x51, 0x33, 0x3c, 0x35, 0xf4, 0x0a, 0x33, 0xe0,
+	0xad, 0x8d, 0x18, 0x03, 0x48, 0x72, 0xc1, 0xb8, 0x51, 0x9e, 0x0a, 0xf3, 0xf3, 0x5c, 0x9b, 0x6b,
+	0x45, 0x31, 0x5a, 0x77, 0x6e, 0xc1, 0x5a, 0xd7, 0x1c, 0x08, 0xa4, 0xec, 0x64, 0x3d, 0x5c, 0x1f,
+	0xd0, 0xbb, 0x1c, 0x48, 0xff, 0x95, 0xa4, 0xa3, 0x45, 0x76, 0xaf, 0xbb, 0xff, 0x0b, 0x00, 0x00,
+	0xff, 0xff, 0xc2, 0x72, 0x79, 0xf0, 0x06, 0x22, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/variants.proto b/googleapis/genomics/v1/variants.proto
index 408813aa..1b874365 100644
--- a/googleapis/genomics/v1/variants.proto
+++ b/googleapis/genomics/v1/variants.proto
@@ -712,7 +712,6 @@ message SearchVariantsRequest {
   // Only return variant calls which belong to call sets with these ids.
   // Leaving this blank returns all variant calls. If a variant has no
   // calls belonging to any of these call sets, it won't be returned at all.
-  // Currently, variants with no calls from any call set will never be returned.
   repeated string call_set_ids = 3;
 
   // Required. Only return variants in this reference sequence.
diff --git a/googleapis/genomics/v1alpha2/pipelines.pb.go b/googleapis/genomics/v1alpha2/pipelines.pb.go
index d4a3b232..79a86926 100644
--- a/googleapis/genomics/v1alpha2/pipelines.pb.go
+++ b/googleapis/genomics/v1alpha2/pipelines.pb.go
@@ -36,8 +36,9 @@ import fmt "fmt"
 import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc1 "google.golang.org/genproto/googleapis/rpc/code"
 
 import (
@@ -63,12 +64,10 @@ const (
 	// Default disk type. Use one of the other options below.
 	PipelineResources_Disk_TYPE_UNSPECIFIED PipelineResources_Disk_Type = 0
 	// Specifies a Google Compute Engine persistent hard disk. See
-	// https://cloud.google.com/compute/docs/disks/persistent-disks#typeofdisks
-	// for details.
+	// https://cloud.google.com/compute/docs/disks/#pdspecs for details.
 	PipelineResources_Disk_PERSISTENT_HDD PipelineResources_Disk_Type = 1
 	// Specifies a Google Compute Engine persistent solid-state disk. See
-	// https://cloud.google.com/compute/docs/disks/persistent-disks#typeofdisks
-	// for details.
+	// https://cloud.google.com/compute/docs/disks/#pdspecs for details.
 	PipelineResources_Disk_PERSISTENT_SSD PipelineResources_Disk_Type = 2
 	// Specifies a Google Compute Engine local SSD.
 	// See https://cloud.google.com/compute/docs/disks/local-ssd for details.
@@ -325,6 +324,10 @@ type RunPipelineArgs struct {
 	// Required. Logging options. Used by the service to communicate results
 	// to the user.
 	Logging *LoggingOptions `protobuf:"bytes,7,opt,name=logging" json:"logging,omitempty"`
+	// How long to keep the VM up after a failure (for example docker command
+	// failed, copying input or output files failed, etc). While the VM is up, one
+	// can ssh into the VM to debug. Default is 0; maximum allowed value is 1 day.
+	KeepVmAliveOnFailureDuration *google_protobuf3.Duration `protobuf:"bytes,8,opt,name=keep_vm_alive_on_failure_duration,json=keepVmAliveOnFailureDuration" json:"keep_vm_alive_on_failure_duration,omitempty"`
 }
 
 func (m *RunPipelineArgs) Reset()                    { *m = RunPipelineArgs{} }
@@ -367,6 +370,13 @@ func (m *RunPipelineArgs) GetLogging() *LoggingOptions {
 	return nil
 }
 
+func (m *RunPipelineArgs) GetKeepVmAliveOnFailureDuration() *google_protobuf3.Duration {
+	if m != nil {
+		return m.KeepVmAliveOnFailureDuration
+	}
+	return nil
+}
+
 // The request to run a pipeline. If `pipelineId` is specified, it
 // refers to a saved pipeline created with CreatePipeline and set as
 // the `pipelineId` of the returned Pipeline object. If
@@ -652,7 +662,7 @@ type TimestampEvent struct {
 	// String indicating the type of event
 	Description string `protobuf:"bytes,1,opt,name=description" json:"description,omitempty"`
 	// The time this event occured.
-	Timestamp *google_protobuf3.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
+	Timestamp *google_protobuf4.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
 }
 
 func (m *TimestampEvent) Reset()                    { *m = TimestampEvent{} }
@@ -660,7 +670,7 @@ func (m *TimestampEvent) String() string            { return proto.CompactTextSt
 func (*TimestampEvent) ProtoMessage()               {}
 func (*TimestampEvent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
-func (m *TimestampEvent) GetTimestamp() *google_protobuf3.Timestamp {
+func (m *TimestampEvent) GetTimestamp() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.Timestamp
 	}
@@ -1312,130 +1322,133 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1999 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0x23, 0x49,
-	0xf5, 0x9f, 0x76, 0x9c, 0xc4, 0xfd, 0x9c, 0x38, 0x4e, 0xed, 0xcc, 0x8e, 0xd7, 0xfb, 0x5d, 0x4d,
-	0xa6, 0xe7, 0xcb, 0x6e, 0x92, 0x41, 0x36, 0x93, 0xd9, 0x81, 0x4c, 0x90, 0x56, 0x24, 0x8e, 0x37,
-	0xb1, 0xc8, 0x24, 0xa6, 0x9d, 0x1d, 0x40, 0x1c, 0x5a, 0x95, 0x76, 0x4d, 0xa7, 0x37, 0xdd, 0x5d,
-	0x4d, 0x57, 0x75, 0x34, 0x1e, 0x04, 0x12, 0x88, 0x03, 0x5a, 0xc1, 0x05, 0xf6, 0x8f, 0xe0, 0x3f,
-	0x41, 0x42, 0xe2, 0xc4, 0x89, 0x03, 0x37, 0x0e, 0xfc, 0x09, 0x70, 0x43, 0x55, 0xd5, 0xdd, 0x6e,
-	0xc7, 0x8e, 0x63, 0x4b, 0x88, 0x8b, 0x55, 0xf5, 0xba, 0xde, 0xa7, 0x3e, 0xf5, 0xea, 0xd5, 0xfb,
-	0x61, 0x38, 0x72, 0x28, 0x75, 0x3c, 0xd2, 0x70, 0xa8, 0x87, 0x03, 0xa7, 0x41, 0x23, 0xa7, 0xe9,
-	0x90, 0x20, 0x8c, 0x28, 0xa7, 0x4d, 0xf5, 0x09, 0x87, 0x2e, 0x13, 0x32, 0xea, 0xbb, 0x36, 0x6b,
-	0x5e, 0x3f, 0xc3, 0x5e, 0x78, 0x89, 0x77, 0x9a, 0xa1, 0x1b, 0x12, 0xcf, 0x0d, 0x08, 0x6b, 0xc8,
-	0xc5, 0xa8, 0x96, 0x02, 0x25, 0x2b, 0x1b, 0xe9, 0xca, 0x7a, 0x67, 0xb6, 0x2d, 0x70, 0xe8, 0x36,
-	0x19, 0x89, 0xae, 0x5d, 0x9b, 0xd8, 0x34, 0x78, 0xe3, 0x3a, 0x4d, 0x1c, 0x04, 0x94, 0x63, 0xee,
-	0xd2, 0x20, 0xd9, 0xa4, 0x7e, 0x30, 0x1b, 0x94, 0x47, 0x03, 0x27, 0x8a, 0x83, 0xc0, 0x0d, 0x9c,
-	0x26, 0x0d, 0x49, 0x34, 0x82, 0xf1, 0xdc, 0x71, 0xf9, 0x65, 0x7c, 0xd1, 0xb0, 0xa9, 0xdf, 0x54,
-	0x38, 0x4d, 0xf9, 0xe1, 0x22, 0x7e, 0xd3, 0x0c, 0xf9, 0x20, 0x24, 0xac, 0x49, 0xfc, 0x90, 0x0f,
-	0xd4, 0x6f, 0xa2, 0xf4, 0xdd, 0xbb, 0x95, 0xb8, 0xeb, 0x13, 0xc6, 0xb1, 0x1f, 0x0e, 0x47, 0x89,
-	0xf2, 0xcb, 0xd9, 0x58, 0x47, 0xa1, 0xdd, 0xb4, 0x69, 0x9f, 0xc8, 0x1f, 0xa5, 0x6a, 0x7c, 0xa5,
-	0xc1, 0x6a, 0x8b, 0xfa, 0x61, 0xcc, 0x49, 0x3b, 0x70, 0xdc, 0x80, 0xa0, 0x27, 0xb0, 0xea, 0x06,
-	0x8c, 0xe3, 0xc0, 0x26, 0x56, 0x80, 0x7d, 0x52, 0xd3, 0x36, 0xb4, 0x4d, 0xdd, 0x5c, 0x49, 0x85,
-	0xa7, 0xd8, 0x27, 0x08, 0x41, 0xf1, 0x1d, 0x0d, 0x48, 0xad, 0x20, 0xbf, 0xc9, 0x31, 0x7a, 0x0c,
-	0x2b, 0x3e, 0xb6, 0x2f, 0xdd, 0x80, 0x58, 0x82, 0x70, 0x6d, 0x41, 0x7e, 0x2b, 0x27, 0xb2, 0xf3,
-	0x41, 0x48, 0xd0, 0x47, 0x00, 0x7d, 0x97, 0x5d, 0x49, 0x5c, 0x56, 0x2b, 0x6e, 0x2c, 0x6c, 0xea,
-	0xa6, 0x2e, 0x24, 0x02, 0x94, 0x19, 0x18, 0xd6, 0xcc, 0x38, 0x10, 0xa7, 0x7b, 0x45, 0x38, 0xee,
-	0x63, 0x8e, 0xd1, 0x29, 0x54, 0x6c, 0x45, 0xcf, 0x22, 0x92, 0x9f, 0xa4, 0x53, 0xde, 0xf9, 0xa4,
-	0x71, 0x9b, 0x3b, 0x34, 0x46, 0x8e, 0x63, 0xae, 0xda, 0xf9, 0xa9, 0xf1, 0x97, 0x05, 0x28, 0x75,
-	0x13, 0xcf, 0x12, 0x74, 0xc2, 0x88, 0x7e, 0x49, 0x6c, 0x6e, 0xb9, 0xfd, 0xe4, 0x9c, 0x7a, 0x22,
-	0xe9, 0xf4, 0xc5, 0x21, 0xa5, 0x01, 0x92, 0x43, 0x8a, 0x31, 0xda, 0x80, 0x72, 0x9f, 0x30, 0x3b,
-	0x72, 0x43, 0x71, 0xe5, 0xe9, 0x19, 0x73, 0x22, 0xf4, 0x1a, 0xaa, 0x6e, 0x10, 0xc6, 0xdc, 0x0a,
-	0x71, 0x84, 0x7d, 0xc2, 0x49, 0xc4, 0x6a, 0xa5, 0x8d, 0x85, 0xcd, 0xf2, 0xce, 0xd3, 0xdb, 0x39,
-	0xa7, 0x94, 0xba, 0xa9, 0x8e, 0xb9, 0x26, 0x41, 0xb2, 0x39, 0x43, 0x3f, 0x82, 0x75, 0x1a, 0xf3,
-	0x1b, 0xc0, 0xfa, 0xfc, 0xc0, 0x55, 0x85, 0x92, 0x43, 0x3e, 0x80, 0xa5, 0x3e, 0xb5, 0xaf, 0x48,
-	0x54, 0x5b, 0x94, 0xb6, 0xdd, 0xbc, 0x1d, 0xee, 0x50, 0xae, 0x6b, 0xbf, 0x25, 0x76, 0xcc, 0x69,
-	0x74, 0x7c, 0xcf, 0x4c, 0x34, 0x51, 0x07, 0xf4, 0x88, 0x30, 0x1a, 0x47, 0x36, 0x61, 0xb5, 0x25,
-	0x09, 0x33, 0x03, 0x2b, 0x33, 0x55, 0x31, 0x87, 0xda, 0xe8, 0x11, 0x94, 0xd3, 0xb7, 0x2f, 0xae,
-	0x65, 0x59, 0x9a, 0x18, 0x52, 0x51, 0xa7, 0x7f, 0x00, 0x50, 0x22, 0x09, 0x03, 0xe3, 0x87, 0xf0,
-	0xa0, 0x15, 0x11, 0xcc, 0xc9, 0x10, 0xf2, 0xa7, 0x31, 0x61, 0x1c, 0x7d, 0x06, 0xa5, 0x54, 0x25,
-	0x71, 0x19, 0x63, 0x06, 0x3e, 0x99, 0x8e, 0xf1, 0xa7, 0xa2, 0x74, 0xc6, 0xf4, 0xcb, 0x7e, 0xe4,
-	0xb0, 0xbb, 0xfc, 0xe5, 0x15, 0x2c, 0xc9, 0x4b, 0x63, 0xb5, 0x82, 0xbc, 0x96, 0x17, 0xb7, 0x6f,
-	0x78, 0x03, 0xb9, 0xd1, 0x91, 0x7a, 0xed, 0x80, 0x47, 0x03, 0x33, 0x01, 0x41, 0x5d, 0x58, 0x56,
-	0x57, 0xc5, 0x6a, 0x0b, 0x12, 0xef, 0xdb, 0xb3, 0xe3, 0x9d, 0x29, 0x45, 0x05, 0x98, 0xc2, 0xa0,
-	0x1f, 0xc0, 0x5a, 0x12, 0x00, 0x2d, 0x6c, 0xdb, 0x34, 0x0e, 0x78, 0xad, 0x78, 0xd7, 0x8d, 0xf7,
-	0x94, 0xc2, 0xbe, 0x5a, 0x6f, 0x56, 0xd8, 0xc8, 0x1c, 0x7d, 0x08, 0xba, 0xed, 0xb9, 0x24, 0x90,
-	0x16, 0x59, 0x94, 0x16, 0x29, 0x29, 0x41, 0xa7, 0xff, 0xdf, 0x74, 0x8a, 0x03, 0x58, 0xf6, 0xa8,
-	0xe3, 0xb8, 0x81, 0x23, 0x1d, 0x62, 0x2a, 0xe5, 0x13, 0xb5, 0xf0, 0x4c, 0xbe, 0x47, 0x66, 0xa6,
-	0x8a, 0xf5, 0x97, 0x50, 0xce, 0xd9, 0x19, 0x55, 0x61, 0xe1, 0x8a, 0x0c, 0x92, 0x6b, 0x14, 0x43,
-	0x74, 0x1f, 0x16, 0xaf, 0xb1, 0x17, 0xa7, 0x2f, 0x5e, 0x4d, 0xf6, 0x0a, 0xbb, 0x5a, 0x7d, 0x0f,
-	0x56, 0xf2, 0x26, 0x9d, 0x47, 0xd7, 0xf8, 0xa7, 0x06, 0x28, 0x77, 0x3f, 0xa9, 0x83, 0x3e, 0x1e,
-	0x75, 0x73, 0x09, 0x75, 0x7c, 0x2f, 0xef, 0xe8, 0xa8, 0x07, 0x88, 0x84, 0x97, 0xc4, 0x27, 0x11,
-	0xf6, 0xac, 0xcc, 0x9b, 0x0b, 0xb3, 0x7a, 0xf3, 0xf1, 0x3d, 0x73, 0x3d, 0xd3, 0xcf, 0x82, 0xde,
-	0x29, 0xac, 0x66, 0xfb, 0xe2, 0xc8, 0x61, 0x32, 0x86, 0x95, 0x77, 0xb6, 0x66, 0x76, 0x2e, 0x73,
-	0x25, 0xcc, 0xcd, 0xc4, 0x6b, 0xcc, 0x1e, 0xcd, 0x0b, 0x40, 0x47, 0x84, 0xdf, 0x3c, 0xe9, 0xa3,
-	0x09, 0x27, 0xcd, 0x9f, 0xd3, 0xf8, 0xbd, 0x06, 0xf7, 0x4f, 0x5c, 0x96, 0x29, 0xb2, 0x54, 0xf3,
-	0x8e, 0x07, 0xf7, 0x08, 0xca, 0x22, 0x28, 0x5b, 0x61, 0x44, 0xde, 0xb8, 0x6f, 0x13, 0xcb, 0x83,
-	0x10, 0x75, 0xa5, 0x44, 0x78, 0x67, 0x88, 0x1d, 0x62, 0x31, 0xf7, 0x9d, 0xca, 0x47, 0x8b, 0x66,
-	0x49, 0x08, 0x7a, 0xee, 0x3b, 0x15, 0xfd, 0xc5, 0x47, 0x4e, 0xaf, 0x48, 0x20, 0x1f, 0x82, 0x00,
-	0xc7, 0x0e, 0x39, 0x17, 0x02, 0xe3, 0x97, 0x1a, 0x3c, 0xb8, 0x41, 0x8a, 0x85, 0x34, 0x60, 0x04,
-	0x7d, 0x0f, 0xf4, 0xac, 0x38, 0xa9, 0x69, 0xf2, 0x69, 0xce, 0x12, 0x5b, 0x86, 0x4a, 0xe8, 0x63,
-	0x58, 0x0b, 0xc8, 0x5b, 0x11, 0xc9, 0xb3, 0xfd, 0x15, 0xf9, 0x55, 0x21, 0xee, 0x66, 0x1c, 0x76,
-	0xe1, 0xc1, 0x21, 0xf1, 0xc8, 0x78, 0x74, 0xbb, 0xd3, 0xa4, 0x5f, 0x42, 0xfd, 0x88, 0xf0, 0x16,
-	0x0d, 0x78, 0x44, 0x3d, 0x8f, 0x44, 0x2d, 0x59, 0xf1, 0x0c, 0x7d, 0x6f, 0x25, 0x2b, 0x5b, 0x86,
-	0xfa, 0xe5, 0x4c, 0xd6, 0xe9, 0xa3, 0x2d, 0xa8, 0x5e, 0x63, 0xcf, 0xed, 0xab, 0x35, 0x43, 0x8e,
-	0x45, 0x73, 0x6d, 0x28, 0x57, 0x2c, 0xff, 0xb6, 0x04, 0xd5, 0x9b, 0x3b, 0x89, 0xf7, 0xe0, 0xfa,
-	0xd8, 0x49, 0xcb, 0x07, 0x35, 0x11, 0xef, 0xc6, 0xf6, 0xfb, 0xc9, 0x61, 0xc5, 0x10, 0x6d, 0xc0,
-	0x8a, 0x63, 0x33, 0xcb, 0xa3, 0x8e, 0x15, 0x62, 0x7e, 0x99, 0x64, 0x54, 0x70, 0x6c, 0x76, 0x42,
-	0x9d, 0x2e, 0xe6, 0x97, 0x63, 0x75, 0x45, 0x71, 0xbc, 0xae, 0x38, 0x86, 0xe2, 0x35, 0x8e, 0x58,
-	0x6d, 0x51, 0x5e, 0xc6, 0xa7, 0xd3, 0x6a, 0x83, 0x51, 0x9a, 0x8d, 0xd7, 0x38, 0x4a, 0xa2, 0xa4,
-	0x44, 0x40, 0xdf, 0x87, 0x45, 0x51, 0x8f, 0x88, 0x70, 0x75, 0x47, 0x08, 0x1f, 0x83, 0x3a, 0x14,
-	0x7a, 0x0a, 0x4b, 0x61, 0xa0, 0x9f, 0x40, 0x59, 0x9c, 0x2d, 0x8d, 0x80, 0xcb, 0x12, 0x72, 0x6f,
-	0x0e, 0xc8, 0x23, 0x9b, 0xf5, 0x94, 0xb2, 0xc2, 0x15, 0x66, 0x49, 0x04, 0xe8, 0x0b, 0xd0, 0x25,
-	0xb8, 0x1b, 0x5c, 0xa5, 0x05, 0xc6, 0xee, 0x9c, 0xd0, 0x42, 0x55, 0x01, 0x97, 0x9c, 0x64, 0x5a,
-	0xdf, 0x84, 0x8a, 0x49, 0x42, 0x91, 0x51, 0xfb, 0x3d, 0x1e, 0xb9, 0x81, 0x83, 0xde, 0x87, 0x25,
-	0x19, 0xcc, 0x94, 0xaf, 0xeb, 0x66, 0x32, 0xab, 0x7f, 0x07, 0xf4, 0xcc, 0x7a, 0x73, 0x05, 0xd3,
-	0x5d, 0x80, 0xa1, 0xad, 0xe6, 0xd2, 0x7c, 0x0b, 0x6b, 0x37, 0x4c, 0x32, 0x41, 0xfd, 0x2c, 0xaf,
-	0x5e, 0xde, 0x79, 0x39, 0x87, 0x51, 0x46, 0x4f, 0x9e, 0xdf, 0xf9, 0x1a, 0x56, 0x47, 0x2c, 0xf6,
-	0x3f, 0xda, 0xd7, 0xf0, 0xa0, 0x72, 0x9e, 0x56, 0xfb, 0xed, 0x6b, 0x12, 0xf0, 0x9b, 0x15, 0xa8,
-	0x36, 0x5e, 0x81, 0xee, 0x82, 0x9e, 0x75, 0x08, 0x09, 0x99, 0x7a, 0x4a, 0x26, 0x6d, 0x2a, 0x1a,
-	0x19, 0xaa, 0x39, 0x5c, 0x6c, 0x7c, 0x5d, 0x80, 0x0f, 0x7a, 0x84, 0x9f, 0xa5, 0x71, 0xa0, 0xc7,
-	0x31, 0x8f, 0xd9, 0x1c, 0x51, 0xa3, 0x07, 0xd5, 0x0c, 0xcd, 0x22, 0x82, 0x6f, 0x5a, 0x0c, 0x4d,
-	0xc9, 0xd7, 0xa3, 0x07, 0x34, 0xd7, 0xf8, 0xc8, 0x9c, 0xa1, 0x26, 0x00, 0x89, 0x22, 0x1a, 0x59,
-	0xa2, 0x6f, 0x91, 0x01, 0xa2, 0xb2, 0x53, 0x4d, 0xe1, 0xa2, 0xd0, 0x6e, 0xb4, 0x68, 0x9f, 0x98,
-	0xba, 0x5c, 0x23, 0x86, 0xa2, 0x85, 0x51, 0x0a, 0x3e, 0x61, 0x4c, 0xc4, 0x20, 0x15, 0x32, 0x56,
-	0xa4, 0xf0, 0x95, 0x92, 0x4d, 0x0c, 0x70, 0x8b, 0x93, 0x03, 0xdc, 0x67, 0x50, 0x19, 0x2d, 0x83,
-	0x84, 0x8b, 0x12, 0x1f, 0xbb, 0x5e, 0x1a, 0xdd, 0xe4, 0x44, 0xbc, 0x14, 0x66, 0xd3, 0x90, 0xa8,
-	0x33, 0xeb, 0x66, 0x32, 0x33, 0x9e, 0x42, 0x65, 0xb4, 0x26, 0x41, 0x1f, 0x80, 0x78, 0x71, 0x2a,
-	0xe2, 0x29, 0x88, 0x65, 0xc7, 0x66, 0x22, 0xdc, 0x19, 0x7f, 0x2f, 0xc2, 0xfa, 0x58, 0x29, 0x84,
-	0xb6, 0x61, 0xdd, 0x77, 0x03, 0xd7, 0x8f, 0x7d, 0xcb, 0x0e, 0x63, 0xcb, 0xa6, 0x91, 0x7c, 0x8f,
-	0x22, 0xa3, 0xad, 0x25, 0x1f, 0x5a, 0x61, 0xdc, 0x12, 0x62, 0xe1, 0x21, 0x61, 0x44, 0x44, 0x77,
-	0xe9, 0x5e, 0x78, 0xca, 0x1d, 0x4b, 0x66, 0x5e, 0x84, 0xfe, 0x1f, 0x2a, 0x29, 0x5a, 0x84, 0x7d,
-	0xcb, 0xb9, 0x90, 0x56, 0xd5, 0xcc, 0x95, 0x44, 0x6a, 0x62, 0xff, 0xe8, 0x02, 0x7d, 0x9e, 0xc6,
-	0xc2, 0xa2, 0xbc, 0xc1, 0x6f, 0xcd, 0x51, 0xba, 0xc9, 0x60, 0x98, 0x86, 0xc1, 0xfb, 0xb0, 0x28,
-	0x1a, 0x44, 0x15, 0x9e, 0x75, 0x53, 0x4d, 0xd0, 0x16, 0xac, 0x5f, 0x50, 0xca, 0x2d, 0xd9, 0x10,
-	0x8a, 0x04, 0x2d, 0x68, 0x2c, 0xc9, 0x13, 0x55, 0xc4, 0x07, 0x81, 0x20, 0xf2, 0xf4, 0xd1, 0x45,
-	0xfd, 0xcf, 0x05, 0x28, 0x8a, 0x69, 0xd6, 0x91, 0x69, 0xb9, 0x8e, 0xac, 0x03, 0x45, 0x99, 0x16,
-	0x0a, 0xd2, 0x2f, 0x5e, 0xcc, 0x4b, 0xb2, 0x21, 0x12, 0x88, 0x29, 0x21, 0xd0, 0x43, 0x58, 0x4e,
-	0x89, 0xa8, 0x62, 0x61, 0x89, 0x49, 0x02, 0xf2, 0x62, 0xa5, 0x4e, 0xe2, 0x49, 0xc9, 0x4c, 0xa4,
-	0x61, 0x1c, 0x73, 0x6a, 0xf5, 0x65, 0x92, 0x96, 0xec, 0x4b, 0x26, 0x08, 0x91, 0x4a, 0xdb, 0xa2,
-	0x00, 0x89, 0x08, 0xee, 0x5b, 0x34, 0xf0, 0x06, 0xb2, 0x70, 0x2d, 0x99, 0x25, 0x21, 0x38, 0x0b,
-	0xbc, 0x81, 0xd0, 0xf6, 0x85, 0x37, 0x59, 0x21, 0x75, 0x03, 0x5e, 0x2b, 0xa9, 0xcc, 0x27, 0x45,
-	0x5d, 0x21, 0x31, 0x7a, 0x50, 0x94, 0xe9, 0xed, 0x3e, 0x54, 0xcf, 0x7f, 0xdc, 0x6d, 0x5b, 0x5f,
-	0x9c, 0xf6, 0xba, 0xed, 0x56, 0xe7, 0xf3, 0x4e, 0xfb, 0xb0, 0x7a, 0x0f, 0x21, 0xa8, 0x74, 0xdb,
-	0x66, 0xaf, 0xd3, 0x3b, 0x6f, 0x9f, 0x9e, 0x5b, 0xc7, 0x87, 0x87, 0x55, 0xed, 0x86, 0xac, 0xd7,
-	0x3b, 0xac, 0x16, 0xd0, 0x2a, 0xe8, 0x27, 0x67, 0xad, 0xfd, 0x13, 0x39, 0x5d, 0x30, 0xfe, 0xad,
-	0x0d, 0xfd, 0x2b, 0x6b, 0x02, 0x27, 0x5a, 0xf6, 0x46, 0xa4, 0x29, 0x8c, 0x47, 0x9a, 0x27, 0xb0,
-	0xda, 0x27, 0x6f, 0x70, 0xec, 0x71, 0x4b, 0x85, 0x3e, 0xd5, 0x01, 0xac, 0x24, 0xc2, 0xd7, 0x42,
-	0x86, 0xce, 0x01, 0x3c, 0x6a, 0x63, 0xcf, 0xb2, 0x69, 0x38, 0x48, 0xda, 0x80, 0x17, 0x73, 0x74,
-	0xac, 0x8d, 0x13, 0xa1, 0xdd, 0xa2, 0xe1, 0xc0, 0xd4, 0xbd, 0x74, 0x58, 0x7f, 0x0e, 0x7a, 0x26,
-	0x17, 0xec, 0x73, 0x4f, 0x49, 0x8e, 0x85, 0x4c, 0xb8, 0x56, 0xda, 0xbd, 0x8b, 0xb1, 0xb1, 0x0f,
-	0x95, 0xd1, 0x0e, 0x56, 0x14, 0x81, 0xb2, 0x32, 0xc9, 0xff, 0xd5, 0xa1, 0x4b, 0x89, 0xfc, 0x9f,
-	0x63, 0xac, 0x5e, 0xd9, 0xf9, 0x4d, 0x69, 0x68, 0x3e, 0xf6, 0xfa, 0xd9, 0xbe, 0x24, 0x8d, 0x7e,
-	0xab, 0x41, 0x65, 0xb4, 0x0f, 0x45, 0xcd, 0x29, 0xf1, 0x7f, 0x52, 0xc7, 0x5a, 0x9f, 0xa1, 0x86,
-	0x34, 0xbe, 0xf1, 0xab, 0xbf, 0xfe, 0xe3, 0x0f, 0x85, 0x47, 0xc6, 0x7b, 0x13, 0xfe, 0x27, 0xdb,
-	0xcb, 0xea, 0x70, 0xf4, 0x0b, 0x28, 0xe7, 0x8a, 0x76, 0xf4, 0xcd, 0x99, 0x6a, 0xfb, 0x94, 0xc7,
-	0x47, 0xe9, 0xea, 0xdc, 0xbf, 0x5c, 0x8d, 0x2c, 0x25, 0x18, 0x86, 0xa4, 0xf0, 0x7f, 0xc6, 0xc3,
-	0x49, 0x14, 0xa2, 0x38, 0xd8, 0xd3, 0xb6, 0xd1, 0x57, 0x1a, 0x94, 0x73, 0x8d, 0xc0, 0x34, 0x02,
-	0xe3, 0xfd, 0xc2, 0x4c, 0x86, 0xd8, 0x92, 0x2c, 0x9e, 0xa0, 0xc7, 0x13, 0x58, 0x34, 0x7f, 0x96,
-	0xab, 0x8d, 0x7f, 0x8e, 0x7e, 0xa7, 0xc1, 0xea, 0x48, 0x21, 0x8f, 0x1a, 0x53, 0x7a, 0xc7, 0x09,
-	0x6d, 0x48, 0xbd, 0x39, 0xf3, 0x7a, 0xd5, 0x21, 0x18, 0x1f, 0x4a, 0x76, 0x0f, 0xd0, 0xa4, 0x6b,
-	0x42, 0xbf, 0xd6, 0xa0, 0x32, 0x5a, 0xd5, 0x4f, 0xf3, 0x95, 0x89, 0xf5, 0x7f, 0xfd, 0xfd, 0xb1,
-	0x7c, 0xde, 0xf6, 0x43, 0x3e, 0x48, 0xcd, 0xb2, 0x3d, 0x83, 0x59, 0xfe, 0xa8, 0xc1, 0x7b, 0x13,
-	0x5a, 0x04, 0xf4, 0xe9, 0xd4, 0xbb, 0xba, 0xa5, 0xa3, 0xa8, 0x6f, 0xcf, 0x5e, 0xed, 0x18, 0x4d,
-	0x49, 0x72, 0x0b, 0x7d, 0x32, 0xc9, 0x83, 0x9c, 0x09, 0x94, 0xbe, 0xd6, 0x00, 0x8d, 0x97, 0x25,
-	0xe8, 0xf9, 0xb4, 0x7f, 0x2d, 0x6e, 0x29, 0x62, 0x6e, 0xb5, 0xdc, 0x33, 0x49, 0xea, 0x69, 0xfd,
-	0xe3, 0x49, 0xa4, 0xd8, 0x18, 0xdc, 0x9e, 0xb6, 0x7d, 0xd0, 0x80, 0x87, 0x36, 0xf5, 0x27, 0x91,
-	0x38, 0xa8, 0x64, 0x3e, 0xd1, 0x15, 0xdb, 0x74, 0xb5, 0x7f, 0x69, 0xda, 0xc5, 0x92, 0xdc, 0xf2,
-	0xf9, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x00, 0xc3, 0xa9, 0x3b, 0x13, 0x17, 0x00, 0x00,
+	// 2047 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6f, 0x23, 0x49,
+	0x15, 0xdf, 0x4e, 0x9c, 0xc4, 0x7e, 0x4e, 0x1c, 0xa7, 0x76, 0x66, 0x27, 0xe3, 0xdd, 0xd5, 0xcc,
+	0xf4, 0xc2, 0xee, 0x7c, 0x20, 0x9b, 0xc9, 0xec, 0x40, 0x26, 0x48, 0x2b, 0xf2, 0xe1, 0xc9, 0x44,
+	0xcc, 0x24, 0xa6, 0x9d, 0x0d, 0x20, 0x0e, 0xad, 0x4e, 0xbb, 0xd2, 0xe9, 0x4d, 0x7f, 0xd1, 0xdd,
+	0x8e, 0x26, 0x8b, 0x40, 0x02, 0x71, 0x40, 0x2b, 0xb8, 0xc0, 0xfe, 0x11, 0x48, 0xfc, 0x27, 0x48,
+	0x9c, 0x38, 0x71, 0xe0, 0xc6, 0x81, 0x3f, 0x01, 0x6e, 0xbc, 0x57, 0xd5, 0xd5, 0x6e, 0xc7, 0x4e,
+	0x62, 0x4b, 0x88, 0x8b, 0x55, 0xf5, 0xba, 0xde, 0xaf, 0xde, 0x7b, 0xf5, 0x3e, 0x0d, 0xbb, 0x4e,
+	0x18, 0x3a, 0x1e, 0x6f, 0x3a, 0xa1, 0x67, 0x05, 0x4e, 0x33, 0x8c, 0x9d, 0x96, 0xc3, 0x83, 0x28,
+	0x0e, 0xd3, 0xb0, 0x25, 0x3f, 0x59, 0x91, 0x9b, 0x10, 0x2d, 0xf4, 0x5d, 0x3b, 0x69, 0x9d, 0x3f,
+	0xb5, 0xbc, 0xe8, 0xd4, 0x5a, 0x6b, 0x45, 0x6e, 0xc4, 0x3d, 0x37, 0xe0, 0x49, 0x53, 0x1c, 0x66,
+	0xab, 0x0a, 0x28, 0x3b, 0xd9, 0x54, 0x27, 0x1b, 0x7b, 0x93, 0x5d, 0x81, 0x3f, 0xad, 0x84, 0xc7,
+	0xe7, 0xae, 0xcd, 0xed, 0x30, 0x38, 0x71, 0x9d, 0x96, 0x15, 0x04, 0x61, 0x6a, 0xa5, 0x6e, 0x18,
+	0x64, 0x97, 0x34, 0xb6, 0x26, 0x83, 0xf2, 0xc2, 0xc0, 0x89, 0xfb, 0x41, 0xe0, 0x06, 0x4e, 0x2b,
+	0x8c, 0x78, 0x3c, 0x84, 0xf1, 0xc2, 0x71, 0xd3, 0xd3, 0xfe, 0x71, 0xd3, 0x0e, 0xfd, 0x96, 0xc4,
+	0x69, 0x89, 0x0f, 0xc7, 0xfd, 0x93, 0x56, 0x94, 0x5e, 0x44, 0x3c, 0x69, 0xf5, 0xfa, 0x92, 0x25,
+	0x5f, 0x64, 0xac, 0xcf, 0x6e, 0x66, 0xe5, 0x3e, 0x2e, 0xe4, 0x6f, 0xc6, 0xf4, 0xbd, 0x9b, 0x99,
+	0x52, 0xd7, 0xe7, 0x49, 0x6a, 0xf9, 0xd1, 0x60, 0x95, 0x0b, 0x3b, 0x91, 0xc2, 0x71, 0x64, 0xb7,
+	0xec, 0xb0, 0xc7, 0xc5, 0x8f, 0x64, 0xd5, 0xbf, 0xd2, 0x60, 0x69, 0x3b, 0xf4, 0xa3, 0x7e, 0xca,
+	0xdb, 0x81, 0x83, 0x2f, 0xc5, 0x3e, 0x82, 0x25, 0x37, 0x40, 0xf4, 0xc0, 0xe6, 0x66, 0x60, 0xf9,
+	0x7c, 0x55, 0xbb, 0xaf, 0x3d, 0xac, 0x18, 0x8b, 0x8a, 0xb8, 0x8f, 0x34, 0xc6, 0xa0, 0xf4, 0x65,
+	0x18, 0xf0, 0xd5, 0x19, 0xf1, 0x4d, 0xac, 0xd9, 0x03, 0x58, 0xf4, 0x2d, 0xfb, 0x14, 0x31, 0x4c,
+	0x12, 0x78, 0x75, 0x56, 0x7c, 0xab, 0x66, 0xb4, 0x43, 0x24, 0xb1, 0x0f, 0x01, 0x7a, 0x6e, 0x72,
+	0x26, 0x70, 0x93, 0xd5, 0xd2, 0xfd, 0x59, 0x3c, 0x50, 0x21, 0x0a, 0x81, 0x26, 0xba, 0x05, 0xcb,
+	0x46, 0x3f, 0x20, 0xed, 0xde, 0xf0, 0xd4, 0xea, 0x59, 0xa9, 0xc5, 0xf6, 0xa1, 0x66, 0x4b, 0xf1,
+	0x4c, 0x2e, 0xe4, 0x13, 0xe2, 0x54, 0xd7, 0x3e, 0x69, 0x5e, 0xe5, 0x49, 0xcd, 0x21, 0x75, 0x8c,
+	0x25, 0xbb, 0xb8, 0xd5, 0xff, 0x3a, 0x0b, 0xe5, 0x4e, 0xe6, 0x94, 0x24, 0x0e, 0x5a, 0xe1, 0x0b,
+	0x6e, 0xa7, 0xa6, 0xdb, 0xcb, 0xf4, 0xac, 0x64, 0x94, 0xbd, 0x1e, 0x29, 0x29, 0x0c, 0x90, 0x29,
+	0x49, 0x6b, 0x76, 0x1f, 0xaa, 0x3d, 0x9e, 0xd8, 0xb1, 0x1b, 0xd1, 0x8b, 0x2b, 0x1d, 0x0b, 0x24,
+	0x76, 0x04, 0x75, 0x37, 0xc0, 0x1b, 0xcd, 0xc8, 0x8a, 0x91, 0x23, 0xe5, 0x71, 0xb2, 0x5a, 0x46,
+	0x4d, 0xab, 0x6b, 0x4f, 0xae, 0x96, 0x59, 0x89, 0xd4, 0x51, 0x3c, 0xc6, 0xb2, 0x00, 0xc9, 0xf7,
+	0x09, 0xfb, 0x31, 0xac, 0x84, 0xfd, 0xf4, 0x12, 0x70, 0x65, 0x7a, 0xe0, 0xba, 0x44, 0x29, 0x20,
+	0x6f, 0xc1, 0x7c, 0x2f, 0xb4, 0xcf, 0x78, 0xbc, 0x3a, 0x27, 0x6c, 0xfb, 0xf0, 0x6a, 0xb8, 0x1d,
+	0x71, 0xae, 0xfd, 0x96, 0xdb, 0xfd, 0x34, 0x8c, 0x5f, 0xbd, 0x63, 0x64, 0x9c, 0x6c, 0x0f, 0x2a,
+	0x31, 0x4f, 0xc2, 0x7e, 0x6c, 0xe3, 0xc3, 0xce, 0x0b, 0x98, 0x09, 0xa4, 0x32, 0x14, 0x8b, 0x31,
+	0xe0, 0x66, 0xf7, 0xa0, 0xaa, 0xd2, 0x06, 0x3d, 0xcb, 0x82, 0x30, 0x31, 0x28, 0xd2, 0x5e, 0x6f,
+	0x0b, 0xa0, 0xcc, 0x33, 0x09, 0xf4, 0x1f, 0xc1, 0xed, 0xed, 0x98, 0x5b, 0x29, 0x1f, 0x40, 0xfe,
+	0xac, 0x8f, 0xc1, 0xc1, 0x3e, 0x83, 0xb2, 0x62, 0xc9, 0x5c, 0x46, 0x9f, 0x40, 0x9e, 0x9c, 0x47,
+	0xff, 0xf3, 0x9c, 0x70, 0x46, 0xf5, 0x65, 0x33, 0x76, 0x92, 0x9b, 0xfc, 0xe5, 0x0d, 0xcc, 0x8b,
+	0x47, 0x4b, 0xd0, 0x63, 0xe8, 0x59, 0x9e, 0x5f, 0x7d, 0xe1, 0x25, 0xe4, 0xe6, 0x9e, 0xe0, 0x6b,
+	0x07, 0x69, 0x7c, 0x61, 0x64, 0x20, 0xac, 0x03, 0x0b, 0xf2, 0xa9, 0x12, 0x74, 0x33, 0xc2, 0xfb,
+	0xce, 0xe4, 0x78, 0x07, 0x92, 0x51, 0x02, 0x2a, 0x18, 0xf6, 0x43, 0x58, 0xce, 0x72, 0xa7, 0x69,
+	0xd9, 0x76, 0x88, 0xa1, 0x86, 0x31, 0x78, 0xc3, 0x8b, 0x77, 0x25, 0xc3, 0xa6, 0x3c, 0x6f, 0xd4,
+	0x92, 0xa1, 0x3d, 0x7b, 0x1f, 0x2a, 0xb6, 0xe7, 0xf2, 0x40, 0x58, 0x64, 0x4e, 0x58, 0xa4, 0x2c,
+	0x09, 0x68, 0x90, 0xff, 0xa1, 0x53, 0x6c, 0xc1, 0x82, 0x17, 0x3a, 0x18, 0xc2, 0x8e, 0x70, 0x88,
+	0x6b, 0x45, 0x7e, 0x2d, 0x0f, 0x1e, 0x88, 0x78, 0x4c, 0x0c, 0xc5, 0xc8, 0x8e, 0xe1, 0xc1, 0x19,
+	0xe7, 0x91, 0x79, 0xee, 0x9b, 0x96, 0xe7, 0x9e, 0x73, 0x33, 0x0c, 0xcc, 0x13, 0xcb, 0xf5, 0xfa,
+	0x31, 0x37, 0x55, 0x0e, 0xc7, 0x50, 0x25, 0xf4, 0xbb, 0x0a, 0x5d, 0x25, 0xe1, 0xe6, 0x4e, 0x76,
+	0xc0, 0xf8, 0x80, 0x30, 0x8e, 0xfc, 0x4d, 0x42, 0x38, 0x08, 0x5e, 0x4a, 0x7e, 0xf5, 0xb5, 0xf1,
+	0x02, 0xaa, 0x85, 0xb7, 0x64, 0x75, 0x98, 0x3d, 0xe3, 0x17, 0x99, 0xab, 0xd0, 0x92, 0xdd, 0x82,
+	0xb9, 0x73, 0xcb, 0xeb, 0xab, 0xac, 0x22, 0x37, 0x1b, 0x33, 0xeb, 0x5a, 0x63, 0x03, 0x16, 0x8b,
+	0xcf, 0x36, 0x0d, 0xaf, 0xfe, 0x2f, 0x0d, 0x58, 0xc1, 0x07, 0x54, 0x10, 0x3c, 0x18, 0x0e, 0x25,
+	0x01, 0x85, 0x41, 0x5b, 0x08, 0x26, 0xd6, 0x05, 0xc6, 0xa3, 0x53, 0xee, 0x63, 0xfd, 0xf3, 0xcc,
+	0x3c, 0x62, 0x66, 0x26, 0x8d, 0x18, 0x44, 0x5b, 0xc9, 0xf9, 0xf3, 0xc4, 0xba, 0x0f, 0x4b, 0xf9,
+	0xbd, 0x16, 0xfa, 0xa3, 0xc8, 0x93, 0xd5, 0xb5, 0x47, 0x13, 0x3b, 0xb0, 0xb1, 0x18, 0x15, 0x76,
+	0x14, 0xf1, 0x79, 0x60, 0x3e, 0x07, 0xb6, 0xcb, 0xd3, 0xcb, 0x9a, 0xde, 0x1b, 0xa3, 0x69, 0x51,
+	0x4f, 0xfd, 0x0f, 0x1a, 0xdc, 0x7a, 0xed, 0x26, 0x39, 0x63, 0xa2, 0x38, 0x6f, 0x08, 0x6a, 0x04,
+	0xa6, 0xc4, 0x6f, 0x46, 0x31, 0x3f, 0x71, 0xdf, 0x66, 0x96, 0x07, 0x22, 0x75, 0x04, 0x85, 0x22,
+	0x20, 0xb2, 0x1c, 0x6e, 0x26, 0xee, 0x97, 0xb2, 0xe6, 0xcd, 0x61, 0x16, 0x41, 0x42, 0x17, 0xf7,
+	0x02, 0x9c, 0x3e, 0xa6, 0xe1, 0x19, 0x0f, 0x44, 0xb0, 0x11, 0x38, 0x52, 0x0e, 0x89, 0xa0, 0xff,
+	0x4a, 0x83, 0xdb, 0x97, 0x84, 0x4a, 0x22, 0xf4, 0x59, 0xce, 0xbe, 0x8f, 0xa8, 0x8a, 0x88, 0x42,
+	0xcd, 0x4e, 0x98, 0xbf, 0x06, 0x4c, 0xec, 0x63, 0x58, 0x0e, 0xf8, 0x5b, 0xaa, 0x16, 0xf9, 0xfd,
+	0x52, 0xf8, 0x25, 0x22, 0x77, 0x72, 0x19, 0xd6, 0xe1, 0xf6, 0x0e, 0xf7, 0xf8, 0x68, 0x06, 0xbd,
+	0xd1, 0xa4, 0x5f, 0x40, 0x03, 0x5f, 0x62, 0x3b, 0x44, 0x6f, 0x0d, 0x3d, 0x8f, 0xc7, 0xdb, 0xa2,
+	0x21, 0x1b, 0xf8, 0xde, 0x62, 0xde, 0x55, 0x0d, 0xf8, 0xab, 0x39, 0x0d, 0x6d, 0xfb, 0x08, 0xea,
+	0xe8, 0xc2, 0x6e, 0x4f, 0x9e, 0x19, 0xc8, 0x58, 0x32, 0x96, 0x07, 0x74, 0x29, 0xe5, 0xdf, 0xe7,
+	0xa1, 0x7e, 0xf9, 0x26, 0x8a, 0x07, 0xd7, 0x47, 0x45, 0x32, 0x6c, 0xb9, 0xa1, 0xb8, 0xb1, 0xfd,
+	0x5e, 0xa6, 0x2c, 0x2d, 0xb1, 0x68, 0x2f, 0x3a, 0x76, 0x62, 0x62, 0x1e, 0x40, 0x6b, 0xa4, 0xa7,
+	0x59, 0xd5, 0x06, 0xa4, 0x61, 0xaa, 0xe8, 0x20, 0x65, 0xa4, 0x77, 0x29, 0x8d, 0xf6, 0x2e, 0xaf,
+	0xa0, 0x74, 0x6e, 0x61, 0xc9, 0x9d, 0x13, 0x8f, 0xf1, 0xe9, 0x75, 0xfd, 0xc7, 0xb0, 0x98, 0xcd,
+	0x23, 0x64, 0x93, 0x99, 0x58, 0x20, 0xb0, 0x1f, 0xc0, 0x1c, 0xf5, 0x3c, 0x94, 0x12, 0x6f, 0x28,
+	0x13, 0x23, 0x50, 0x3b, 0xc4, 0x27, 0xb1, 0x24, 0x06, 0xfb, 0x29, 0x54, 0x49, 0x37, 0x95, 0x65,
+	0x17, 0x04, 0xe4, 0xc6, 0x14, 0x90, 0xbb, 0x76, 0xd2, 0x95, 0xcc, 0x12, 0x97, 0xcc, 0x92, 0x11,
+	0xd8, 0xe7, 0x50, 0x11, 0xe0, 0x6e, 0x70, 0xa6, 0x9a, 0x98, 0xf5, 0x29, 0xa1, 0x89, 0x55, 0x02,
+	0x97, 0x9d, 0x6c, 0xdb, 0x78, 0x08, 0x35, 0x83, 0x47, 0x54, 0xb5, 0x7b, 0xdd, 0x34, 0xa6, 0xd4,
+	0xfc, 0x1e, 0xcc, 0x8b, 0x64, 0x26, 0x7d, 0xbd, 0x62, 0x64, 0xbb, 0xc6, 0x77, 0xa1, 0x92, 0x5b,
+	0x6f, 0xaa, 0x64, 0xba, 0x0e, 0x30, 0xb0, 0xd5, 0x54, 0x9c, 0x6f, 0x61, 0xf9, 0x92, 0x49, 0xc6,
+	0xb0, 0x1f, 0x14, 0xd9, 0xab, 0x6b, 0x2f, 0xa6, 0x30, 0xca, 0xb0, 0xe6, 0xc5, 0x9b, 0xcf, 0x61,
+	0x69, 0xc8, 0x62, 0xff, 0xa7, 0x7b, 0x75, 0x0f, 0x6a, 0x87, 0x6a, 0xa2, 0x68, 0x9f, 0x63, 0xe9,
+	0xbe, 0xdc, 0xe5, 0x6a, 0xa3, 0x5d, 0xee, 0x3a, 0x54, 0xf2, 0x29, 0x24, 0x13, 0xa6, 0x31, 0x52,
+	0x33, 0x73, 0x54, 0x63, 0x70, 0x58, 0xff, 0x7a, 0x06, 0xee, 0x76, 0x79, 0x7a, 0xa0, 0xf2, 0x40,
+	0x17, 0x87, 0xb7, 0x7e, 0x32, 0x45, 0xd6, 0xe8, 0x42, 0x3d, 0x47, 0x33, 0x39, 0xc9, 0xab, 0x1a,
+	0xae, 0x6b, 0x7a, 0x82, 0x61, 0x05, 0x8d, 0xe5, 0x74, 0x68, 0x9f, 0xb0, 0x16, 0x00, 0x8f, 0xe3,
+	0x30, 0x36, 0x69, 0x36, 0x12, 0x09, 0xa2, 0xb6, 0x56, 0x57, 0x70, 0x38, 0x38, 0xa1, 0x3d, 0x7b,
+	0x98, 0x5e, 0xc5, 0x19, 0x5a, 0xd2, 0x98, 0x24, 0x19, 0x10, 0x27, 0xa1, 0x1c, 0x24, 0x53, 0xc6,
+	0xa2, 0x20, 0xbe, 0x91, 0xb4, 0xb1, 0x09, 0x6e, 0x6e, 0x7c, 0x82, 0xfb, 0x0c, 0x6a, 0xc3, 0xad,
+	0x16, 0xb9, 0x28, 0xf7, 0xb1, 0xbd, 0x50, 0xd9, 0x4d, 0x6c, 0x28, 0x52, 0x12, 0x1b, 0xcd, 0x21,
+	0x75, 0xc6, 0x48, 0x91, 0x3b, 0xfd, 0x09, 0xd4, 0x86, 0xfb, 0x1e, 0x76, 0x17, 0x28, 0xe2, 0x64,
+	0xc6, 0x93, 0x10, 0x0b, 0xb8, 0xa7, 0x74, 0xa7, 0xff, 0xa3, 0x04, 0x2b, 0x23, 0xed, 0x16, 0x7b,
+	0x0c, 0x2b, 0xbe, 0x1b, 0xb8, 0x7e, 0xdf, 0x37, 0xed, 0xa8, 0x8f, 0x96, 0x88, 0x45, 0x3c, 0x52,
+	0x45, 0x5b, 0xce, 0x3e, 0x6c, 0x47, 0xfd, 0x6d, 0x22, 0x93, 0x87, 0x60, 0x45, 0xa4, 0x09, 0xd6,
+	0x3d, 0xf6, 0xa4, 0x3b, 0x96, 0x8d, 0x22, 0x89, 0x7d, 0x03, 0x6a, 0x0a, 0x0d, 0x27, 0x0d, 0xd3,
+	0x39, 0x16, 0x56, 0xd5, 0x8c, 0xc5, 0x8c, 0x6a, 0x58, 0xfe, 0xee, 0x31, 0x7b, 0xa9, 0x72, 0x61,
+	0x49, 0xbc, 0xe0, 0xb7, 0xa7, 0x68, 0x0f, 0x45, 0x32, 0x54, 0x69, 0x10, 0x8d, 0x45, 0x43, 0xa8,
+	0x4c, 0xcf, 0x68, 0x2c, 0xb1, 0x41, 0xfb, 0xaf, 0x1c, 0x87, 0x61, 0x6a, 0x8a, 0xa1, 0x93, 0x0a,
+	0x34, 0x89, 0x31, 0x2f, 0x34, 0xaa, 0xd1, 0x07, 0x42, 0xa0, 0x3a, 0xbd, 0x7b, 0xdc, 0xf8, 0xcb,
+	0x0c, 0x94, 0x68, 0x9b, 0x4f, 0x7d, 0x5a, 0x61, 0xea, 0xdb, 0x83, 0x92, 0x28, 0x0b, 0x33, 0xc2,
+	0x2f, 0x9e, 0x4f, 0x2b, 0x64, 0x93, 0x0a, 0x88, 0x21, 0x20, 0xd8, 0x1d, 0x58, 0x50, 0x82, 0xc8,
+	0x66, 0x61, 0x3e, 0x11, 0x02, 0x88, 0x87, 0x15, 0x3c, 0x99, 0x27, 0x65, 0x3b, 0x2a, 0xc3, 0x16,
+	0x8e, 0x3a, 0x66, 0x4f, 0x14, 0x69, 0x21, 0x7d, 0xd9, 0x00, 0x22, 0xc9, 0xb2, 0x4d, 0x0d, 0x08,
+	0x4e, 0x40, 0x3d, 0xec, 0x66, 0xbd, 0x0b, 0xd1, 0x1c, 0x97, 0x8d, 0x32, 0x11, 0x0e, 0x70, 0x4f,
+	0xdc, 0x3e, 0x79, 0x93, 0x19, 0x85, 0x2e, 0xb6, 0xfb, 0x65, 0x59, 0xf9, 0x04, 0xa9, 0x43, 0x14,
+	0xbd, 0x0b, 0x25, 0x51, 0xde, 0x6e, 0x41, 0xfd, 0xf0, 0x27, 0x9d, 0xb6, 0xf9, 0xf9, 0x7e, 0xb7,
+	0xd3, 0xde, 0xde, 0x7b, 0xb9, 0xd7, 0xde, 0xa9, 0xbf, 0x83, 0xc6, 0xa8, 0x75, 0xda, 0x46, 0x77,
+	0xaf, 0x7b, 0xd8, 0xde, 0x3f, 0x34, 0x5f, 0xed, 0xec, 0xd4, 0xb5, 0x4b, 0xb4, 0x6e, 0x77, 0xa7,
+	0x3e, 0xc3, 0x96, 0xa0, 0xf2, 0xfa, 0x60, 0x7b, 0xf3, 0xb5, 0xd8, 0xce, 0xea, 0xff, 0xd1, 0x06,
+	0xfe, 0x95, 0x0f, 0x9a, 0x63, 0x2d, 0x7b, 0x29, 0xd3, 0xcc, 0x8c, 0x66, 0x1a, 0x0c, 0xb4, 0x1e,
+	0x3f, 0xb1, 0xfa, 0x5e, 0x6a, 0xca, 0xd4, 0x27, 0xa7, 0x8c, 0xc5, 0x8c, 0x78, 0x44, 0x34, 0x76,
+	0x08, 0xe0, 0x85, 0x36, 0x76, 0xb0, 0x18, 0x0c, 0x17, 0xd9, 0xa8, 0xf1, 0x7c, 0x8a, 0xa9, 0x18,
+	0x67, 0x06, 0xe4, 0xde, 0x46, 0x66, 0xa3, 0xe2, 0xa9, 0x65, 0xe3, 0x19, 0x6a, 0xa5, 0x36, 0x24,
+	0x7d, 0x21, 0x94, 0xc4, 0x9a, 0x68, 0xe4, 0x5a, 0xea, 0x1f, 0x02, 0x5a, 0xeb, 0x9b, 0x50, 0x1b,
+	0x9e, 0x92, 0xa9, 0x09, 0x14, 0x9d, 0x49, 0xf1, 0xef, 0x94, 0x8a, 0xa0, 0x88, 0xff, 0x52, 0x46,
+	0xfa, 0x95, 0xb5, 0xdf, 0x96, 0x07, 0xe6, 0x4b, 0x8e, 0x9e, 0x6e, 0x0a, 0xa1, 0xd9, 0xef, 0x34,
+	0xa8, 0x0d, 0xcf, 0xba, 0xac, 0x75, 0x4d, 0xfe, 0x1f, 0x37, 0x15, 0x37, 0x26, 0xe8, 0x21, 0xf5,
+	0x6f, 0xfe, 0xfa, 0x6f, 0xff, 0xfc, 0xe3, 0xcc, 0x3d, 0xfd, 0xdd, 0x31, 0x7f, 0xe3, 0x6d, 0xe4,
+	0x7d, 0x38, 0xfb, 0x25, 0x54, 0x0b, 0x4d, 0x3b, 0xfb, 0xd6, 0x44, 0xbd, 0xbd, 0x92, 0xe3, 0x43,
+	0x75, 0xba, 0xf0, 0x27, 0x5c, 0x33, 0x2f, 0x09, 0xba, 0x2e, 0x44, 0xf8, 0x40, 0xbf, 0x33, 0x4e,
+	0x04, 0x3c, 0xbe, 0xa1, 0x3d, 0x66, 0x5f, 0x69, 0x50, 0x2d, 0x0c, 0x02, 0xd7, 0x09, 0x30, 0x3a,
+	0x2f, 0x4c, 0x64, 0x88, 0x47, 0x42, 0x8a, 0x8f, 0xd8, 0x83, 0x31, 0x52, 0xb4, 0x7e, 0x5e, 0xe8,
+	0x8d, 0x7f, 0xc1, 0x7e, 0xaf, 0xc1, 0xd2, 0x50, 0x23, 0xcf, 0x9a, 0xd7, 0xcc, 0xa7, 0x63, 0xc6,
+	0x90, 0x46, 0x6b, 0xe2, 0xf3, 0x72, 0x42, 0xd0, 0xdf, 0x17, 0xd2, 0xdd, 0x66, 0xe3, 0x9e, 0x89,
+	0xfd, 0x06, 0x7d, 0x65, 0xb8, 0xab, 0xbf, 0xce, 0x57, 0xc6, 0xf6, 0xff, 0x8d, 0xf7, 0x46, 0xea,
+	0x79, 0x9b, 0xfe, 0xb0, 0x54, 0x66, 0x79, 0x3c, 0x81, 0x59, 0xfe, 0xa4, 0xc1, 0xbb, 0x63, 0x46,
+	0x04, 0xf6, 0xe9, 0xb5, 0x6f, 0x75, 0xc5, 0x44, 0xd1, 0x78, 0x3c, 0x79, 0xb7, 0xa3, 0xb7, 0x84,
+	0x90, 0x8f, 0xd8, 0x27, 0xe3, 0x3c, 0xc8, 0x19, 0x23, 0xd2, 0xd7, 0x38, 0x41, 0x8f, 0xb6, 0x25,
+	0xec, 0xd9, 0x75, 0xff, 0x8c, 0x5c, 0xd1, 0xc4, 0x5c, 0x69, 0xb9, 0xa7, 0x42, 0xa8, 0x27, 0x8d,
+	0x8f, 0xc7, 0x09, 0x95, 0x8c, 0xc0, 0xa1, 0x97, 0x6f, 0x35, 0xe1, 0x8e, 0x1d, 0xfa, 0xe3, 0x84,
+	0xd8, 0xaa, 0xe5, 0x3e, 0xd1, 0xa1, 0x6b, 0x3a, 0xda, 0xbf, 0x35, 0xed, 0x78, 0x5e, 0x5c, 0xf9,
+	0xec, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x4c, 0xf5, 0x4a, 0xb2, 0x17, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1alpha2/pipelines.proto b/googleapis/genomics/v1alpha2/pipelines.proto
index 5f8c647c..2fa9417c 100644
--- a/googleapis/genomics/v1alpha2/pipelines.proto
+++ b/googleapis/genomics/v1alpha2/pipelines.proto
@@ -18,6 +18,7 @@ package google.genomics.v1alpha2;
 
 import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
 import "google.golang.org/genproto/googleapis/longrunning/operations.proto"; // from google/longrunning/operations.proto
+import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
 import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
 import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
 import "google.golang.org/genproto/googleapis/rpc/code/code.proto"; // from google/rpc/code.proto
@@ -199,6 +200,11 @@ message RunPipelineArgs {
   // Required. Logging options. Used by the service to communicate results
   // to the user.
   LoggingOptions logging = 7;
+
+  // How long to keep the VM up after a failure (for example docker command
+  // failed, copying input or output files failed, etc). While the VM is up, one
+  // can ssh into the VM to debug. Default is 0; maximum allowed value is 1 day.
+  google.protobuf.Duration keep_vm_alive_on_failure_duration = 8;
 }
 
 // The request to run a pipeline. If `pipelineId` is specified, it
@@ -369,13 +375,11 @@ message PipelineResources {
       TYPE_UNSPECIFIED = 0;
 
       // Specifies a Google Compute Engine persistent hard disk. See
-      // https://cloud.google.com/compute/docs/disks/persistent-disks#typeofdisks
-      // for details.
+      // https://cloud.google.com/compute/docs/disks/#pdspecs for details.
       PERSISTENT_HDD = 1;
 
       // Specifies a Google Compute Engine persistent solid-state disk. See
-      // https://cloud.google.com/compute/docs/disks/persistent-disks#typeofdisks
-      // for details.
+      // https://cloud.google.com/compute/docs/disks/#pdspecs for details.
       PERSISTENT_SSD = 2;
 
       // Specifies a Google Compute Engine local SSD.
diff --git a/googleapis/iam/admin/v1/iam.pb.go b/googleapis/iam/admin/v1/iam.pb.go
new file mode 100644
index 00000000..0639dc04
--- /dev/null
+++ b/googleapis/iam/admin/v1/iam.pb.go
@@ -0,0 +1,1248 @@
+// Code generated by protoc-gen-go.
+// source: google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+// DO NOT EDIT!
+
+/*
+Package google_iam_admin_v1 is a generated protocol buffer package.
+
+It is generated from these files:
+	google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+
+It has these top-level messages:
+	ServiceAccount
+	CreateServiceAccountRequest
+	ListServiceAccountsRequest
+	ListServiceAccountsResponse
+	GetServiceAccountRequest
+	DeleteServiceAccountRequest
+	ListServiceAccountKeysRequest
+	ListServiceAccountKeysResponse
+	GetServiceAccountKeyRequest
+	ServiceAccountKey
+	CreateServiceAccountKeyRequest
+	DeleteServiceAccountKeyRequest
+	SignBlobRequest
+	SignBlobResponse
+	Role
+	QueryGrantableRolesRequest
+	QueryGrantableRolesResponse
+*/
+package google_iam_admin_v1 // import "google.golang.org/genproto/googleapis/iam/admin/v1"
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_iam_v11 "google.golang.org/genproto/googleapis/iam/v1"
+import google_iam_v1 "google.golang.org/genproto/googleapis/iam/v1"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
+import _ "google.golang.org/genproto/protobuf"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+
+import (
+	context "golang.org/x/net/context"
+	grpc "google.golang.org/grpc"
+)
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ = proto.Marshal
+var _ = fmt.Errorf
+var _ = math.Inf
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the proto package it is being compiled against.
+// A compilation error at this line likely means your copy of the
+// proto package needs to be updated.
+const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
+
+// Supported key algorithms.
+type ServiceAccountKeyAlgorithm int32
+
+const (
+	// An unspecified key algorithm.
+	ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED ServiceAccountKeyAlgorithm = 0
+	// 1k RSA Key.
+	ServiceAccountKeyAlgorithm_KEY_ALG_RSA_1024 ServiceAccountKeyAlgorithm = 1
+	// 2k RSA Key.
+	ServiceAccountKeyAlgorithm_KEY_ALG_RSA_2048 ServiceAccountKeyAlgorithm = 2
+)
+
+var ServiceAccountKeyAlgorithm_name = map[int32]string{
+	0: "KEY_ALG_UNSPECIFIED",
+	1: "KEY_ALG_RSA_1024",
+	2: "KEY_ALG_RSA_2048",
+}
+var ServiceAccountKeyAlgorithm_value = map[string]int32{
+	"KEY_ALG_UNSPECIFIED": 0,
+	"KEY_ALG_RSA_1024":    1,
+	"KEY_ALG_RSA_2048":    2,
+}
+
+func (x ServiceAccountKeyAlgorithm) String() string {
+	return proto.EnumName(ServiceAccountKeyAlgorithm_name, int32(x))
+}
+func (ServiceAccountKeyAlgorithm) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+// Supported private key output formats.
+type ServiceAccountPrivateKeyType int32
+
+const (
+	// Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.
+	ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED ServiceAccountPrivateKeyType = 0
+	// PKCS12 format.
+	// The password for the PKCS12 file is `notasecret`.
+	// For more information, see https://tools.ietf.org/html/rfc7292.
+	ServiceAccountPrivateKeyType_TYPE_PKCS12_FILE ServiceAccountPrivateKeyType = 1
+	// Google Credentials File format.
+	ServiceAccountPrivateKeyType_TYPE_GOOGLE_CREDENTIALS_FILE ServiceAccountPrivateKeyType = 2
+)
+
+var ServiceAccountPrivateKeyType_name = map[int32]string{
+	0: "TYPE_UNSPECIFIED",
+	1: "TYPE_PKCS12_FILE",
+	2: "TYPE_GOOGLE_CREDENTIALS_FILE",
+}
+var ServiceAccountPrivateKeyType_value = map[string]int32{
+	"TYPE_UNSPECIFIED":             0,
+	"TYPE_PKCS12_FILE":             1,
+	"TYPE_GOOGLE_CREDENTIALS_FILE": 2,
+}
+
+func (x ServiceAccountPrivateKeyType) String() string {
+	return proto.EnumName(ServiceAccountPrivateKeyType_name, int32(x))
+}
+func (ServiceAccountPrivateKeyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+// Supported public key output formats.
+type ServiceAccountPublicKeyType int32
+
+const (
+	// Unspecified. Returns nothing here.
+	ServiceAccountPublicKeyType_TYPE_NONE ServiceAccountPublicKeyType = 0
+	// X509 PEM format.
+	ServiceAccountPublicKeyType_TYPE_X509_PEM_FILE ServiceAccountPublicKeyType = 1
+	// Raw public key.
+	ServiceAccountPublicKeyType_TYPE_RAW_PUBLIC_KEY ServiceAccountPublicKeyType = 2
+)
+
+var ServiceAccountPublicKeyType_name = map[int32]string{
+	0: "TYPE_NONE",
+	1: "TYPE_X509_PEM_FILE",
+	2: "TYPE_RAW_PUBLIC_KEY",
+}
+var ServiceAccountPublicKeyType_value = map[string]int32{
+	"TYPE_NONE":           0,
+	"TYPE_X509_PEM_FILE":  1,
+	"TYPE_RAW_PUBLIC_KEY": 2,
+}
+
+func (x ServiceAccountPublicKeyType) String() string {
+	return proto.EnumName(ServiceAccountPublicKeyType_name, int32(x))
+}
+func (ServiceAccountPublicKeyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// `KeyType` filters to selectively retrieve certain varieties
+// of keys.
+type ListServiceAccountKeysRequest_KeyType int32
+
+const (
+	// Unspecified key type. The presence of this in the
+	// message will immediately result in an error.
+	ListServiceAccountKeysRequest_KEY_TYPE_UNSPECIFIED ListServiceAccountKeysRequest_KeyType = 0
+	// User-managed keys (managed and rotated by the user).
+	ListServiceAccountKeysRequest_USER_MANAGED ListServiceAccountKeysRequest_KeyType = 1
+	// System-managed keys (managed and rotated by Google).
+	ListServiceAccountKeysRequest_SYSTEM_MANAGED ListServiceAccountKeysRequest_KeyType = 2
+)
+
+var ListServiceAccountKeysRequest_KeyType_name = map[int32]string{
+	0: "KEY_TYPE_UNSPECIFIED",
+	1: "USER_MANAGED",
+	2: "SYSTEM_MANAGED",
+}
+var ListServiceAccountKeysRequest_KeyType_value = map[string]int32{
+	"KEY_TYPE_UNSPECIFIED": 0,
+	"USER_MANAGED":         1,
+	"SYSTEM_MANAGED":       2,
+}
+
+func (x ListServiceAccountKeysRequest_KeyType) String() string {
+	return proto.EnumName(ListServiceAccountKeysRequest_KeyType_name, int32(x))
+}
+func (ListServiceAccountKeysRequest_KeyType) EnumDescriptor() ([]byte, []int) {
+	return fileDescriptor0, []int{6, 0}
+}
+
+// A service account in the Identity and Access Management API.
+//
+// To create a service account, specify the `project_id` and the `account_id`
+// for the account.  The `account_id` is unique within the project, and is used
+// to generate the service account email address and a stable
+// `unique_id`.
+//
+// If the account already exists, the account's resource name is returned
+// in util::Status's ResourceInfo.resource_name in the format of
+// projects/{project}/serviceAccounts/{email}. The caller can use the name in
+// other methods to access the account.
+//
+// All other methods can identify the service account using the format
+// `projects/{project}/serviceAccounts/{account}`.
+// Using `-` as a wildcard for the project will infer the project from
+// the account. The `account` value can be the `email` address or the
+// `unique_id` of the service account.
+type ServiceAccount struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	//
+	// Requests using `-` as a wildcard for the project will infer the project
+	// from the `account` and the `account` value can be the `email` address or
+	// the `unique_id` of the service account.
+	//
+	// In responses the resource name will always be in the format
+	// `projects/{project}/serviceAccounts/{email}`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// @OutputOnly The id of the project that owns the service account.
+	ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId" json:"project_id,omitempty"`
+	// @OutputOnly The unique and stable id of the service account.
+	UniqueId string `protobuf:"bytes,4,opt,name=unique_id,json=uniqueId" json:"unique_id,omitempty"`
+	// @OutputOnly The email address of the service account.
+	Email string `protobuf:"bytes,5,opt,name=email" json:"email,omitempty"`
+	// Optional. A user-specified description of the service account.  Must be
+	// fewer than 100 UTF-8 bytes.
+	DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
+	// Used to perform a consistent read-modify-write.
+	Etag []byte `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
+	// @OutputOnly. The OAuth2 client id for the service account.
+	// This is used in conjunction with the OAuth2 clientconfig API to make
+	// three legged OAuth2 (3LO) flows to access the data of Google users.
+	Oauth2ClientId string `protobuf:"bytes,9,opt,name=oauth2_client_id,json=oauth2ClientId" json:"oauth2_client_id,omitempty"`
+}
+
+func (m *ServiceAccount) Reset()                    { *m = ServiceAccount{} }
+func (m *ServiceAccount) String() string            { return proto.CompactTextString(m) }
+func (*ServiceAccount) ProtoMessage()               {}
+func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+// The service account create request.
+type CreateServiceAccountRequest struct {
+	// Required. The resource name of the project associated with the service
+	// accounts, such as `projects/my-project-123`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Required. The account id that is used to generate the service account
+	// email address and a stable unique id. It is unique within a project,
+	// must be 6-30 characters long, and match the regular expression
+	// `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
+	AccountId string `protobuf:"bytes,2,opt,name=account_id,json=accountId" json:"account_id,omitempty"`
+	// The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to create.
+	// Currently, only the following values are user assignable:
+	// `display_name` .
+	ServiceAccount *ServiceAccount `protobuf:"bytes,3,opt,name=service_account,json=serviceAccount" json:"service_account,omitempty"`
+}
+
+func (m *CreateServiceAccountRequest) Reset()                    { *m = CreateServiceAccountRequest{} }
+func (m *CreateServiceAccountRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateServiceAccountRequest) ProtoMessage()               {}
+func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
+	if m != nil {
+		return m.ServiceAccount
+	}
+	return nil
+}
+
+// The service account list request.
+type ListServiceAccountsRequest struct {
+	// Required. The resource name of the project associated with the service
+	// accounts, such as `projects/my-project-123`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Optional limit on the number of service accounts to include in the
+	// response. Further accounts can subsequently be obtained by including the
+	// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]
+	// in a subsequent request.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// Optional pagination token returned in an earlier
+	// [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token].
+	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListServiceAccountsRequest) Reset()                    { *m = ListServiceAccountsRequest{} }
+func (m *ListServiceAccountsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceAccountsRequest) ProtoMessage()               {}
+func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+// The service account list response.
+type ListServiceAccountsResponse struct {
+	// The list of matching service accounts.
+	Accounts []*ServiceAccount `protobuf:"bytes,1,rep,name=accounts" json:"accounts,omitempty"`
+	// To retrieve the next page of results, set
+	// [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token]
+	// to this value.
+	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+}
+
+func (m *ListServiceAccountsResponse) Reset()                    { *m = ListServiceAccountsResponse{} }
+func (m *ListServiceAccountsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceAccountsResponse) ProtoMessage()               {}
+func (*ListServiceAccountsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *ListServiceAccountsResponse) GetAccounts() []*ServiceAccount {
+	if m != nil {
+		return m.Accounts
+	}
+	return nil
+}
+
+// The service account get request.
+type GetServiceAccountRequest struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *GetServiceAccountRequest) Reset()                    { *m = GetServiceAccountRequest{} }
+func (m *GetServiceAccountRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetServiceAccountRequest) ProtoMessage()               {}
+func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+// The service account delete request.
+type DeleteServiceAccountRequest struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *DeleteServiceAccountRequest) Reset()                    { *m = DeleteServiceAccountRequest{} }
+func (m *DeleteServiceAccountRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteServiceAccountRequest) ProtoMessage()               {}
+func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
+
+// The service account keys list request.
+type ListServiceAccountKeysRequest struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	//
+	// Using `-` as a wildcard for the project, will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Filters the types of keys the user wants to include in the list
+	// response. Duplicate key types are not allowed. If no key type
+	// is provided, all keys are returned.
+	KeyTypes []ListServiceAccountKeysRequest_KeyType `protobuf:"varint,2,rep,packed,name=key_types,json=keyTypes,enum=google.iam.admin.v1.ListServiceAccountKeysRequest_KeyType" json:"key_types,omitempty"`
+}
+
+func (m *ListServiceAccountKeysRequest) Reset()                    { *m = ListServiceAccountKeysRequest{} }
+func (m *ListServiceAccountKeysRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceAccountKeysRequest) ProtoMessage()               {}
+func (*ListServiceAccountKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
+
+// The service account keys list response.
+type ListServiceAccountKeysResponse struct {
+	// The public keys for the service account.
+	Keys []*ServiceAccountKey `protobuf:"bytes,1,rep,name=keys" json:"keys,omitempty"`
+}
+
+func (m *ListServiceAccountKeysResponse) Reset()                    { *m = ListServiceAccountKeysResponse{} }
+func (m *ListServiceAccountKeysResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListServiceAccountKeysResponse) ProtoMessage()               {}
+func (*ListServiceAccountKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
+
+func (m *ListServiceAccountKeysResponse) GetKeys() []*ServiceAccountKey {
+	if m != nil {
+		return m.Keys
+	}
+	return nil
+}
+
+// The service account key get by id request.
+type GetServiceAccountKeyRequest struct {
+	// The resource name of the service account key in the following format:
+	// `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+	//
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The output format of the public key requested.
+	// X509_PEM is the default output format.
+	PublicKeyType ServiceAccountPublicKeyType `protobuf:"varint,2,opt,name=public_key_type,json=publicKeyType,enum=google.iam.admin.v1.ServiceAccountPublicKeyType" json:"public_key_type,omitempty"`
+}
+
+func (m *GetServiceAccountKeyRequest) Reset()                    { *m = GetServiceAccountKeyRequest{} }
+func (m *GetServiceAccountKeyRequest) String() string            { return proto.CompactTextString(m) }
+func (*GetServiceAccountKeyRequest) ProtoMessage()               {}
+func (*GetServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
+
+// Represents a service account key.
+//
+// A service account has two sets of key-pairs: user-managed, and
+// system-managed.
+//
+// User-managed key-pairs can be created and deleted by users.  Users are
+// responsible for rotating these keys periodically to ensure security of
+// their service accounts.  Users retain the private key of these key-pairs,
+// and Google retains ONLY the public key.
+//
+// System-managed key-pairs are managed automatically by Google, and rotated
+// daily without user intervention.  The private key never leaves Google's
+// servers to maximize security.
+//
+// Public keys for all service accounts are also published at the OAuth2
+// Service Account API.
+type ServiceAccountKey struct {
+	// The resource name of the service account key in the following format
+	// `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The output format for the private key.
+	// Only provided in `CreateServiceAccountKey` responses, not
+	// in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
+	//
+	// Google never exposes system-managed private keys, and never retains
+	// user-managed private keys.
+	PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"`
+	// Specifies the algorithm (and possibly key size) for the key.
+	KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,8,opt,name=key_algorithm,json=keyAlgorithm,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"`
+	// The private key data. Only provided in `CreateServiceAccountKey`
+	// responses.
+	PrivateKeyData []byte `protobuf:"bytes,3,opt,name=private_key_data,json=privateKeyData,proto3" json:"private_key_data,omitempty"`
+	// The public key data. Only provided in `GetServiceAccountKey` responses.
+	PublicKeyData []byte `protobuf:"bytes,7,opt,name=public_key_data,json=publicKeyData,proto3" json:"public_key_data,omitempty"`
+	// The key can be used after this timestamp.
+	ValidAfterTime *google_protobuf3.Timestamp `protobuf:"bytes,4,opt,name=valid_after_time,json=validAfterTime" json:"valid_after_time,omitempty"`
+	// The key can be used before this timestamp.
+	ValidBeforeTime *google_protobuf3.Timestamp `protobuf:"bytes,5,opt,name=valid_before_time,json=validBeforeTime" json:"valid_before_time,omitempty"`
+}
+
+func (m *ServiceAccountKey) Reset()                    { *m = ServiceAccountKey{} }
+func (m *ServiceAccountKey) String() string            { return proto.CompactTextString(m) }
+func (*ServiceAccountKey) ProtoMessage()               {}
+func (*ServiceAccountKey) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
+
+func (m *ServiceAccountKey) GetValidAfterTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.ValidAfterTime
+	}
+	return nil
+}
+
+func (m *ServiceAccountKey) GetValidBeforeTime() *google_protobuf3.Timestamp {
+	if m != nil {
+		return m.ValidBeforeTime
+	}
+	return nil
+}
+
+// The service account key create request.
+type CreateServiceAccountKeyRequest struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
+	// default output format.
+	PrivateKeyType ServiceAccountPrivateKeyType `protobuf:"varint,2,opt,name=private_key_type,json=privateKeyType,enum=google.iam.admin.v1.ServiceAccountPrivateKeyType" json:"private_key_type,omitempty"`
+	// Which type of key and algorithm to use for the key.
+	// The default is currently a 4K RSA key.  However this may change in the
+	// future.
+	KeyAlgorithm ServiceAccountKeyAlgorithm `protobuf:"varint,3,opt,name=key_algorithm,json=keyAlgorithm,enum=google.iam.admin.v1.ServiceAccountKeyAlgorithm" json:"key_algorithm,omitempty"`
+}
+
+func (m *CreateServiceAccountKeyRequest) Reset()                    { *m = CreateServiceAccountKeyRequest{} }
+func (m *CreateServiceAccountKeyRequest) String() string            { return proto.CompactTextString(m) }
+func (*CreateServiceAccountKeyRequest) ProtoMessage()               {}
+func (*CreateServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
+
+// The service account key delete request.
+type DeleteServiceAccountKeyRequest struct {
+	// The resource name of the service account key in the following format:
+	// `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+}
+
+func (m *DeleteServiceAccountKeyRequest) Reset()                    { *m = DeleteServiceAccountKeyRequest{} }
+func (m *DeleteServiceAccountKeyRequest) String() string            { return proto.CompactTextString(m) }
+func (*DeleteServiceAccountKeyRequest) ProtoMessage()               {}
+func (*DeleteServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
+
+// The service account sign blob request.
+type SignBlobRequest struct {
+	// The resource name of the service account in the following format:
+	// `projects/{project}/serviceAccounts/{account}`.
+	// Using `-` as a wildcard for the project will infer the project from
+	// the account. The `account` value can be the `email` address or the
+	// `unique_id` of the service account.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// The bytes to sign.
+	BytesToSign []byte `protobuf:"bytes,2,opt,name=bytes_to_sign,json=bytesToSign,proto3" json:"bytes_to_sign,omitempty"`
+}
+
+func (m *SignBlobRequest) Reset()                    { *m = SignBlobRequest{} }
+func (m *SignBlobRequest) String() string            { return proto.CompactTextString(m) }
+func (*SignBlobRequest) ProtoMessage()               {}
+func (*SignBlobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
+
+// The service account sign blob response.
+type SignBlobResponse struct {
+	// The id of the key used to sign the blob.
+	KeyId string `protobuf:"bytes,1,opt,name=key_id,json=keyId" json:"key_id,omitempty"`
+	// The signed blob.
+	Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
+}
+
+func (m *SignBlobResponse) Reset()                    { *m = SignBlobResponse{} }
+func (m *SignBlobResponse) String() string            { return proto.CompactTextString(m) }
+func (*SignBlobResponse) ProtoMessage()               {}
+func (*SignBlobResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
+
+// A role in the Identity and Access Management API.
+type Role struct {
+	// The name of the role.
+	//
+	// When Role is used in CreateRole, the role name must not be set.
+	//
+	// When Role is used in output and other input such as UpdateRole, the role
+	// name is the complete path, e.g., roles/logging.viewer for curated roles
+	// and organizations/{organization-id}/roles/logging.viewer for custom roles.
+	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
+	// Optional.  A human-readable title for the role.  Typically this
+	// is limited to 100 UTF-8 bytes.
+	Title string `protobuf:"bytes,2,opt,name=title" json:"title,omitempty"`
+	// Optional.  A human-readable description for the role.
+	Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
+}
+
+func (m *Role) Reset()                    { *m = Role{} }
+func (m *Role) String() string            { return proto.CompactTextString(m) }
+func (*Role) ProtoMessage()               {}
+func (*Role) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
+
+// The grantable role query request.
+type QueryGrantableRolesRequest struct {
+	// Required. The full resource name to query from the list of grantable roles.
+	//
+	// The name follows the Google Cloud Platform resource format.
+	// For example, a Cloud Platform project with id `my-project` will be named
+	// `//cloudresourcemanager.googleapis.com/projects/my-project`.
+	FullResourceName string `protobuf:"bytes,1,opt,name=full_resource_name,json=fullResourceName" json:"full_resource_name,omitempty"`
+}
+
+func (m *QueryGrantableRolesRequest) Reset()                    { *m = QueryGrantableRolesRequest{} }
+func (m *QueryGrantableRolesRequest) String() string            { return proto.CompactTextString(m) }
+func (*QueryGrantableRolesRequest) ProtoMessage()               {}
+func (*QueryGrantableRolesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
+
+// The grantable role query response.
+type QueryGrantableRolesResponse struct {
+	// The list of matching roles.
+	Roles []*Role `protobuf:"bytes,1,rep,name=roles" json:"roles,omitempty"`
+}
+
+func (m *QueryGrantableRolesResponse) Reset()                    { *m = QueryGrantableRolesResponse{} }
+func (m *QueryGrantableRolesResponse) String() string            { return proto.CompactTextString(m) }
+func (*QueryGrantableRolesResponse) ProtoMessage()               {}
+func (*QueryGrantableRolesResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
+
+func (m *QueryGrantableRolesResponse) GetRoles() []*Role {
+	if m != nil {
+		return m.Roles
+	}
+	return nil
+}
+
+func init() {
+	proto.RegisterType((*ServiceAccount)(nil), "google.iam.admin.v1.ServiceAccount")
+	proto.RegisterType((*CreateServiceAccountRequest)(nil), "google.iam.admin.v1.CreateServiceAccountRequest")
+	proto.RegisterType((*ListServiceAccountsRequest)(nil), "google.iam.admin.v1.ListServiceAccountsRequest")
+	proto.RegisterType((*ListServiceAccountsResponse)(nil), "google.iam.admin.v1.ListServiceAccountsResponse")
+	proto.RegisterType((*GetServiceAccountRequest)(nil), "google.iam.admin.v1.GetServiceAccountRequest")
+	proto.RegisterType((*DeleteServiceAccountRequest)(nil), "google.iam.admin.v1.DeleteServiceAccountRequest")
+	proto.RegisterType((*ListServiceAccountKeysRequest)(nil), "google.iam.admin.v1.ListServiceAccountKeysRequest")
+	proto.RegisterType((*ListServiceAccountKeysResponse)(nil), "google.iam.admin.v1.ListServiceAccountKeysResponse")
+	proto.RegisterType((*GetServiceAccountKeyRequest)(nil), "google.iam.admin.v1.GetServiceAccountKeyRequest")
+	proto.RegisterType((*ServiceAccountKey)(nil), "google.iam.admin.v1.ServiceAccountKey")
+	proto.RegisterType((*CreateServiceAccountKeyRequest)(nil), "google.iam.admin.v1.CreateServiceAccountKeyRequest")
+	proto.RegisterType((*DeleteServiceAccountKeyRequest)(nil), "google.iam.admin.v1.DeleteServiceAccountKeyRequest")
+	proto.RegisterType((*SignBlobRequest)(nil), "google.iam.admin.v1.SignBlobRequest")
+	proto.RegisterType((*SignBlobResponse)(nil), "google.iam.admin.v1.SignBlobResponse")
+	proto.RegisterType((*Role)(nil), "google.iam.admin.v1.Role")
+	proto.RegisterType((*QueryGrantableRolesRequest)(nil), "google.iam.admin.v1.QueryGrantableRolesRequest")
+	proto.RegisterType((*QueryGrantableRolesResponse)(nil), "google.iam.admin.v1.QueryGrantableRolesResponse")
+	proto.RegisterEnum("google.iam.admin.v1.ServiceAccountKeyAlgorithm", ServiceAccountKeyAlgorithm_name, ServiceAccountKeyAlgorithm_value)
+	proto.RegisterEnum("google.iam.admin.v1.ServiceAccountPrivateKeyType", ServiceAccountPrivateKeyType_name, ServiceAccountPrivateKeyType_value)
+	proto.RegisterEnum("google.iam.admin.v1.ServiceAccountPublicKeyType", ServiceAccountPublicKeyType_name, ServiceAccountPublicKeyType_value)
+	proto.RegisterEnum("google.iam.admin.v1.ListServiceAccountKeysRequest_KeyType", ListServiceAccountKeysRequest_KeyType_name, ListServiceAccountKeysRequest_KeyType_value)
+}
+
+// Reference imports to suppress errors if they are not otherwise used.
+var _ context.Context
+var _ grpc.ClientConn
+
+// This is a compile-time assertion to ensure that this generated file
+// is compatible with the grpc package it is being compiled against.
+const _ = grpc.SupportPackageIsVersion3
+
+// Client API for IAM service
+
+type IAMClient interface {
+	// Lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project.
+	ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error)
+	// Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
+	// Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]
+	// and returns it.
+	CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
+	// Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	//
+	// Currently, only the following fields are updatable:
+	// `display_name` .
+	// The `etag` is mandatory.
+	UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error)
+	// Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
+	// Lists [ServiceAccountKeys][google.iam.admin.v1.ServiceAccountKey].
+	ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error)
+	// Gets the [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+	// by key id.
+	GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error)
+	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+	// and returns it.
+	CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error)
+	// Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
+	DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
+	// Signs a blob using a service account's system-managed private key.
+	SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error)
+	// Returns the IAM access control policy for a
+	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	GetIamPolicy(ctx context.Context, in *google_iam_v11.GetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error)
+	// Sets the IAM access control policy for a
+	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	SetIamPolicy(ctx context.Context, in *google_iam_v11.SetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error)
+	// Tests the specified permissions against the IAM access control policy
+	// for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	TestIamPermissions(ctx context.Context, in *google_iam_v11.TestIamPermissionsRequest, opts ...grpc.CallOption) (*google_iam_v11.TestIamPermissionsResponse, error)
+	// Queries roles that can be granted on a particular resource.
+	// A role is grantable if it can be used as the role in a binding for a policy
+	// for that resource.
+	QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error)
+}
+
+type iAMClient struct {
+	cc *grpc.ClientConn
+}
+
+func NewIAMClient(cc *grpc.ClientConn) IAMClient {
+	return &iAMClient{cc}
+}
+
+func (c *iAMClient) ListServiceAccounts(ctx context.Context, in *ListServiceAccountsRequest, opts ...grpc.CallOption) (*ListServiceAccountsResponse, error) {
+	out := new(ListServiceAccountsResponse)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccounts", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
+	out := new(ServiceAccount)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccount", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) CreateServiceAccount(ctx context.Context, in *CreateServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
+	out := new(ServiceAccount)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccount", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) UpdateServiceAccount(ctx context.Context, in *ServiceAccount, opts ...grpc.CallOption) (*ServiceAccount, error) {
+	out := new(ServiceAccount)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/UpdateServiceAccount", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) DeleteServiceAccount(ctx context.Context, in *DeleteServiceAccountRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
+	out := new(google_protobuf1.Empty)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccount", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) ListServiceAccountKeys(ctx context.Context, in *ListServiceAccountKeysRequest, opts ...grpc.CallOption) (*ListServiceAccountKeysResponse, error) {
+	out := new(ListServiceAccountKeysResponse)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/ListServiceAccountKeys", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) GetServiceAccountKey(ctx context.Context, in *GetServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) {
+	out := new(ServiceAccountKey)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetServiceAccountKey", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) CreateServiceAccountKey(ctx context.Context, in *CreateServiceAccountKeyRequest, opts ...grpc.CallOption) (*ServiceAccountKey, error) {
+	out := new(ServiceAccountKey)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/CreateServiceAccountKey", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) DeleteServiceAccountKey(ctx context.Context, in *DeleteServiceAccountKeyRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
+	out := new(google_protobuf1.Empty)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/DeleteServiceAccountKey", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) SignBlob(ctx context.Context, in *SignBlobRequest, opts ...grpc.CallOption) (*SignBlobResponse, error) {
+	out := new(SignBlobResponse)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/SignBlob", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) GetIamPolicy(ctx context.Context, in *google_iam_v11.GetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error) {
+	out := new(google_iam_v1.Policy)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/GetIamPolicy", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) SetIamPolicy(ctx context.Context, in *google_iam_v11.SetIamPolicyRequest, opts ...grpc.CallOption) (*google_iam_v1.Policy, error) {
+	out := new(google_iam_v1.Policy)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/SetIamPolicy", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) TestIamPermissions(ctx context.Context, in *google_iam_v11.TestIamPermissionsRequest, opts ...grpc.CallOption) (*google_iam_v11.TestIamPermissionsResponse, error) {
+	out := new(google_iam_v11.TestIamPermissionsResponse)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/TestIamPermissions", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *iAMClient) QueryGrantableRoles(ctx context.Context, in *QueryGrantableRolesRequest, opts ...grpc.CallOption) (*QueryGrantableRolesResponse, error) {
+	out := new(QueryGrantableRolesResponse)
+	err := grpc.Invoke(ctx, "/google.iam.admin.v1.IAM/QueryGrantableRoles", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+// Server API for IAM service
+
+type IAMServer interface {
+	// Lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project.
+	ListServiceAccounts(context.Context, *ListServiceAccountsRequest) (*ListServiceAccountsResponse, error)
+	// Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error)
+	// Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]
+	// and returns it.
+	CreateServiceAccount(context.Context, *CreateServiceAccountRequest) (*ServiceAccount, error)
+	// Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	//
+	// Currently, only the following fields are updatable:
+	// `display_name` .
+	// The `etag` is mandatory.
+	UpdateServiceAccount(context.Context, *ServiceAccount) (*ServiceAccount, error)
+	// Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	DeleteServiceAccount(context.Context, *DeleteServiceAccountRequest) (*google_protobuf1.Empty, error)
+	// Lists [ServiceAccountKeys][google.iam.admin.v1.ServiceAccountKey].
+	ListServiceAccountKeys(context.Context, *ListServiceAccountKeysRequest) (*ListServiceAccountKeysResponse, error)
+	// Gets the [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+	// by key id.
+	GetServiceAccountKey(context.Context, *GetServiceAccountKeyRequest) (*ServiceAccountKey, error)
+	// Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+	// and returns it.
+	CreateServiceAccountKey(context.Context, *CreateServiceAccountKeyRequest) (*ServiceAccountKey, error)
+	// Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
+	DeleteServiceAccountKey(context.Context, *DeleteServiceAccountKeyRequest) (*google_protobuf1.Empty, error)
+	// Signs a blob using a service account's system-managed private key.
+	SignBlob(context.Context, *SignBlobRequest) (*SignBlobResponse, error)
+	// Returns the IAM access control policy for a
+	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	GetIamPolicy(context.Context, *google_iam_v11.GetIamPolicyRequest) (*google_iam_v1.Policy, error)
+	// Sets the IAM access control policy for a
+	// [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	SetIamPolicy(context.Context, *google_iam_v11.SetIamPolicyRequest) (*google_iam_v1.Policy, error)
+	// Tests the specified permissions against the IAM access control policy
+	// for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+	TestIamPermissions(context.Context, *google_iam_v11.TestIamPermissionsRequest) (*google_iam_v11.TestIamPermissionsResponse, error)
+	// Queries roles that can be granted on a particular resource.
+	// A role is grantable if it can be used as the role in a binding for a policy
+	// for that resource.
+	QueryGrantableRoles(context.Context, *QueryGrantableRolesRequest) (*QueryGrantableRolesResponse, error)
+}
+
+func RegisterIAMServer(s *grpc.Server, srv IAMServer) {
+	s.RegisterService(&_IAM_serviceDesc, srv)
+}
+
+func _IAM_ListServiceAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListServiceAccountsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).ListServiceAccounts(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccounts",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).ListServiceAccounts(ctx, req.(*ListServiceAccountsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_GetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetServiceAccountRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).GetServiceAccount(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccount",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).GetServiceAccount(ctx, req.(*GetServiceAccountRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_CreateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateServiceAccountRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).CreateServiceAccount(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccount",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).CreateServiceAccount(ctx, req.(*CreateServiceAccountRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_UpdateServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ServiceAccount)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).UpdateServiceAccount(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/UpdateServiceAccount",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).UpdateServiceAccount(ctx, req.(*ServiceAccount))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_DeleteServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteServiceAccountRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).DeleteServiceAccount(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccount",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).DeleteServiceAccount(ctx, req.(*DeleteServiceAccountRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_ListServiceAccountKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListServiceAccountKeysRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).ListServiceAccountKeys(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/ListServiceAccountKeys",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).ListServiceAccountKeys(ctx, req.(*ListServiceAccountKeysRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_GetServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetServiceAccountKeyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).GetServiceAccountKey(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/GetServiceAccountKey",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).GetServiceAccountKey(ctx, req.(*GetServiceAccountKeyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_CreateServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CreateServiceAccountKeyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).CreateServiceAccountKey(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/CreateServiceAccountKey",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).CreateServiceAccountKey(ctx, req.(*CreateServiceAccountKeyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_DeleteServiceAccountKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteServiceAccountKeyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).DeleteServiceAccountKey(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/DeleteServiceAccountKey",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).DeleteServiceAccountKey(ctx, req.(*DeleteServiceAccountKeyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_SignBlob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(SignBlobRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).SignBlob(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/SignBlob",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).SignBlob(ctx, req.(*SignBlobRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(google_iam_v11.GetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).GetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/GetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).GetIamPolicy(ctx, req.(*google_iam_v11.GetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(google_iam_v11.SetIamPolicyRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).SetIamPolicy(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/SetIamPolicy",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).SetIamPolicy(ctx, req.(*google_iam_v11.SetIamPolicyRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(google_iam_v11.TestIamPermissionsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).TestIamPermissions(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/TestIamPermissions",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).TestIamPermissions(ctx, req.(*google_iam_v11.TestIamPermissionsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _IAM_QueryGrantableRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(QueryGrantableRolesRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(IAMServer).QueryGrantableRoles(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.iam.admin.v1.IAM/QueryGrantableRoles",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(IAMServer).QueryGrantableRoles(ctx, req.(*QueryGrantableRolesRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+var _IAM_serviceDesc = grpc.ServiceDesc{
+	ServiceName: "google.iam.admin.v1.IAM",
+	HandlerType: (*IAMServer)(nil),
+	Methods: []grpc.MethodDesc{
+		{
+			MethodName: "ListServiceAccounts",
+			Handler:    _IAM_ListServiceAccounts_Handler,
+		},
+		{
+			MethodName: "GetServiceAccount",
+			Handler:    _IAM_GetServiceAccount_Handler,
+		},
+		{
+			MethodName: "CreateServiceAccount",
+			Handler:    _IAM_CreateServiceAccount_Handler,
+		},
+		{
+			MethodName: "UpdateServiceAccount",
+			Handler:    _IAM_UpdateServiceAccount_Handler,
+		},
+		{
+			MethodName: "DeleteServiceAccount",
+			Handler:    _IAM_DeleteServiceAccount_Handler,
+		},
+		{
+			MethodName: "ListServiceAccountKeys",
+			Handler:    _IAM_ListServiceAccountKeys_Handler,
+		},
+		{
+			MethodName: "GetServiceAccountKey",
+			Handler:    _IAM_GetServiceAccountKey_Handler,
+		},
+		{
+			MethodName: "CreateServiceAccountKey",
+			Handler:    _IAM_CreateServiceAccountKey_Handler,
+		},
+		{
+			MethodName: "DeleteServiceAccountKey",
+			Handler:    _IAM_DeleteServiceAccountKey_Handler,
+		},
+		{
+			MethodName: "SignBlob",
+			Handler:    _IAM_SignBlob_Handler,
+		},
+		{
+			MethodName: "GetIamPolicy",
+			Handler:    _IAM_GetIamPolicy_Handler,
+		},
+		{
+			MethodName: "SetIamPolicy",
+			Handler:    _IAM_SetIamPolicy_Handler,
+		},
+		{
+			MethodName: "TestIamPermissions",
+			Handler:    _IAM_TestIamPermissions_Handler,
+		},
+		{
+			MethodName: "QueryGrantableRoles",
+			Handler:    _IAM_QueryGrantableRoles_Handler,
+		},
+	},
+	Streams:  []grpc.StreamDesc{},
+	Metadata: fileDescriptor0,
+}
+
+func init() {
+	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto", fileDescriptor0)
+}
+
+var fileDescriptor0 = []byte{
+	// 1615 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0x1b, 0xc5,
+	0x17, 0xff, 0x6e, 0x7e, 0xb4, 0xc9, 0x4b, 0xe2, 0x38, 0xd3, 0xb4, 0xf1, 0xd7, 0x69, 0xab, 0x7e,
+	0xe7, 0x4b, 0xdb, 0xd4, 0x6a, 0xbd, 0x8e, 0x93, 0x42, 0x9b, 0x52, 0xc0, 0x71, 0xdc, 0xc8, 0xd4,
+	0x75, 0xcd, 0xda, 0x51, 0x5b, 0x01, 0x5a, 0xad, 0xed, 0xc9, 0x76, 0xc9, 0x7a, 0x77, 0xbb, 0xbb,
+	0x8e, 0x30, 0x88, 0x0b, 0x07, 0x2e, 0x48, 0x48, 0x08, 0x0e, 0x9c, 0x40, 0xe2, 0x02, 0x37, 0x2e,
+	0x48, 0x48, 0xfc, 0x1b, 0x1c, 0x38, 0x23, 0x21, 0xf1, 0x2f, 0x70, 0x64, 0x66, 0x76, 0x37, 0x71,
+	0xec, 0xf5, 0x66, 0x8d, 0x10, 0x97, 0x68, 0xe7, 0xbd, 0x79, 0xef, 0x7d, 0xde, 0x7b, 0x33, 0x6f,
+	0x3e, 0x0e, 0xbc, 0xaa, 0x9a, 0xa6, 0xaa, 0x93, 0xac, 0x6a, 0xea, 0x8a, 0xa1, 0x66, 0x4d, 0x5b,
+	0x15, 0x55, 0x62, 0x58, 0xb6, 0xe9, 0x9a, 0xa2, 0xa7, 0x52, 0x2c, 0xcd, 0x11, 0x35, 0xa5, 0x23,
+	0x2a, 0xed, 0x8e, 0x66, 0x88, 0x87, 0xeb, 0x6c, 0x91, 0xe5, 0x3b, 0xd0, 0x39, 0xdf, 0x9a, 0x49,
+	0xb8, 0x3a, 0x7b, 0xb8, 0x9e, 0x2e, 0xc7, 0x73, 0x49, 0xff, 0x88, 0x0e, 0xb1, 0x0f, 0xb5, 0x16,
+	0x69, 0x99, 0xc6, 0xbe, 0xa6, 0x8a, 0x8a, 0x61, 0x98, 0xae, 0xe2, 0x6a, 0xa6, 0xe1, 0x78, 0xfe,
+	0xd3, 0xf7, 0xe3, 0xa3, 0xf3, 0x70, 0xc9, 0x96, 0xa9, 0x6b, 0xad, 0x9e, 0x6f, 0x7e, 0x77, 0x2c,
+	0xf3, 0x13, 0xa6, 0x1b, 0xaa, 0xe6, 0x3e, 0xef, 0x36, 0xb3, 0x2d, 0xb3, 0x23, 0x7a, 0xe6, 0x22,
+	0x57, 0x34, 0xbb, 0xfb, 0xa2, 0xe5, 0xf6, 0x2c, 0xe2, 0x88, 0xa4, 0x43, 0x3f, 0xbc, 0xbf, 0xbe,
+	0xd1, 0x66, 0x44, 0xbc, 0x23, 0xeb, 0x7d, 0x8d, 0xe8, 0x6d, 0xb9, 0xa3, 0x38, 0x07, 0xbe, 0xd5,
+	0xbd, 0xd3, 0x43, 0xb9, 0x5a, 0x87, 0x38, 0xae, 0xd2, 0xb1, 0x8e, 0xbf, 0x3c, 0x63, 0xfc, 0xab,
+	0x00, 0x89, 0xba, 0x57, 0xc5, 0x42, 0xab, 0x65, 0x76, 0x0d, 0x17, 0x21, 0x98, 0x32, 0x94, 0x0e,
+	0x49, 0x09, 0x57, 0x84, 0xb5, 0x59, 0x89, 0x7f, 0xa3, 0x4b, 0x00, 0x74, 0xff, 0x7b, 0xa4, 0xe5,
+	0xca, 0x5a, 0x3b, 0x35, 0xc1, 0x35, 0xb3, 0xbe, 0xa4, 0xdc, 0x46, 0xab, 0x30, 0xdb, 0x35, 0xb4,
+	0x17, 0x5d, 0xc2, 0xb4, 0x53, 0x5c, 0x3b, 0xe3, 0x09, 0xa8, 0x72, 0x19, 0xa6, 0x49, 0x47, 0xd1,
+	0xf4, 0xd4, 0x34, 0x57, 0x78, 0x0b, 0xf4, 0x3f, 0x98, 0x6f, 0x6b, 0x8e, 0xa5, 0x2b, 0x3d, 0x99,
+	0x47, 0x3b, 0xc3, 0x95, 0x73, 0xbe, 0xac, 0xca, 0x82, 0x52, 0x20, 0xc4, 0x55, 0xd4, 0xd4, 0x59,
+	0xaa, 0x9a, 0x97, 0xf8, 0x37, 0x5a, 0x83, 0xa4, 0xa9, 0x74, 0xdd, 0xe7, 0x79, 0xb9, 0xa5, 0x6b,
+	0xc4, 0xe0, 0x70, 0x66, 0xb9, 0x69, 0xc2, 0x93, 0x17, 0xb9, 0xb8, 0xdc, 0xc6, 0x5f, 0x0b, 0xb0,
+	0x5a, 0xb4, 0x89, 0xe2, 0x92, 0x93, 0xf9, 0x49, 0x84, 0xc2, 0x72, 0x46, 0xa6, 0xa9, 0x78, 0xbb,
+	0xfa, 0xd2, 0xf4, 0x25, 0x34, 0x93, 0x0a, 0x2c, 0xfa, 0x27, 0x4e, 0xf6, 0x85, 0xa9, 0x49, 0xba,
+	0x67, 0x2e, 0xff, 0xff, 0x6c, 0xc8, 0x41, 0xce, 0x0e, 0xc4, 0x4d, 0x38, 0x27, 0xd6, 0x58, 0x87,
+	0x74, 0x45, 0x73, 0xdc, 0x93, 0xbb, 0x9c, 0x28, 0x78, 0xb4, 0xcc, 0x96, 0xa2, 0x12, 0xd9, 0xd1,
+	0x3e, 0x20, 0x1c, 0xdd, 0xb4, 0x34, 0xc3, 0x04, 0x75, 0xba, 0xe6, 0x2d, 0x62, 0x4a, 0xd7, 0x3c,
+	0x20, 0x06, 0xc7, 0xc5, 0x5a, 0x44, 0x25, 0x0d, 0x26, 0xc0, 0x9f, 0xd0, 0x72, 0x84, 0x86, 0x73,
+	0x2c, 0x7a, 0x5f, 0x08, 0x7a, 0x1d, 0x66, 0xfc, 0x9c, 0x1c, 0x1a, 0x73, 0x32, 0x6e, 0x52, 0x47,
+	0x46, 0xe8, 0x1a, 0x2c, 0x1a, 0xe4, 0x7d, 0x57, 0xee, 0x03, 0xe1, 0x15, 0x70, 0x81, 0x89, 0x6b,
+	0x47, 0x40, 0xb2, 0x90, 0xda, 0x25, 0x6e, 0xec, 0x9e, 0xe0, 0x75, 0x58, 0xdd, 0x21, 0x3a, 0x19,
+	0xa3, 0x8d, 0xec, 0x50, 0x5f, 0x1a, 0xce, 0xf5, 0x21, 0xe9, 0x45, 0x56, 0xf7, 0x09, 0xcc, 0x1e,
+	0x90, 0x9e, 0xcc, 0x6f, 0x0c, 0x85, 0x3e, 0xb9, 0x96, 0xc8, 0x6f, 0x85, 0x96, 0x20, 0xd2, 0x75,
+	0x96, 0x7e, 0x37, 0xa8, 0x0b, 0x69, 0xe6, 0xc0, 0xfb, 0x70, 0x70, 0x19, 0xce, 0xfa, 0x42, 0x94,
+	0x82, 0xe5, 0x87, 0xa5, 0x67, 0x72, 0xe3, 0x59, 0xad, 0x24, 0xef, 0x55, 0xeb, 0xb5, 0x52, 0xb1,
+	0xfc, 0xa0, 0x5c, 0xda, 0x49, 0xfe, 0x07, 0x25, 0x61, 0x7e, 0xaf, 0x5e, 0x92, 0xe4, 0x47, 0x85,
+	0x6a, 0x61, 0x97, 0x4a, 0x04, 0x8a, 0x31, 0x51, 0x7f, 0x56, 0x6f, 0x94, 0x1e, 0x1d, 0xc9, 0x26,
+	0xf0, 0x3b, 0x70, 0x79, 0x54, 0x74, 0xbf, 0x8f, 0x5b, 0x30, 0x45, 0x03, 0x07, 0x3d, 0xbc, 0x16,
+	0xa3, 0x87, 0xd4, 0x5c, 0xe2, 0x36, 0xf8, 0x53, 0x7a, 0x46, 0x86, 0x7a, 0xc3, 0xd4, 0x11, 0x55,
+	0x7b, 0x0a, 0x8b, 0x56, 0xb7, 0x49, 0x27, 0x9f, 0x1c, 0x14, 0x8f, 0xb7, 0x3d, 0x91, 0xcf, 0xc5,
+	0x08, 0x5d, 0xe3, 0x96, 0x41, 0xc5, 0x16, 0xac, 0xfe, 0x25, 0xfe, 0x79, 0x12, 0x96, 0x86, 0xa0,
+	0x84, 0x62, 0x78, 0x1b, 0x92, 0x96, 0xad, 0x1d, 0xd2, 0xab, 0x3e, 0x08, 0x62, 0x3d, 0x0e, 0x08,
+	0xcf, 0x34, 0x40, 0x91, 0xb0, 0x4e, 0xac, 0x51, 0x03, 0x16, 0x98, 0x53, 0x45, 0x57, 0x4d, 0x9b,
+	0x0e, 0xda, 0x4e, 0x6a, 0x86, 0x7b, 0x16, 0xe3, 0x55, 0xb6, 0x10, 0x98, 0x49, 0xf3, 0x07, 0x7d,
+	0x2b, 0x36, 0xc7, 0xfa, 0x21, 0xb7, 0x15, 0x57, 0xe1, 0x77, 0x76, 0xbe, 0x3f, 0xfe, 0x0e, 0x95,
+	0xb2, 0x7b, 0xd5, 0x57, 0x60, 0xbe, 0xd1, 0x1b, 0x88, 0xc7, 0xe5, 0xe2, 0xfb, 0x76, 0x20, 0x79,
+	0xa8, 0xe8, 0x5a, 0x5b, 0x56, 0xf6, 0x5d, 0x62, 0xcb, 0x6c, 0xd0, 0xf3, 0x51, 0x3c, 0x97, 0x4f,
+	0x07, 0x50, 0x83, 0x67, 0x21, 0xdb, 0x08, 0x5e, 0x01, 0x29, 0xc1, 0x6d, 0x0a, 0xcc, 0x84, 0x09,
+	0xd1, 0x03, 0x58, 0xf2, 0xbc, 0x34, 0xc9, 0xbe, 0x69, 0x13, 0xcf, 0xcd, 0xf4, 0xa9, 0x6e, 0x16,
+	0xb9, 0xd1, 0x36, 0xb7, 0x61, 0x52, 0xfc, 0x87, 0x00, 0x97, 0xc3, 0xa6, 0xef, 0x29, 0xa7, 0xe9,
+	0xdf, 0xed, 0xe4, 0xe4, 0x3f, 0xd0, 0x49, 0xbc, 0x09, 0x97, 0xc3, 0xe6, 0x53, 0x74, 0xa2, 0x74,
+	0x26, 0x2c, 0xd6, 0x35, 0xd5, 0xd8, 0xd6, 0xcd, 0x66, 0x54, 0x3d, 0x30, 0x2c, 0x34, 0x7b, 0x2e,
+	0x71, 0xe8, 0x40, 0xa5, 0x53, 0x5f, 0xf5, 0x46, 0xea, 0xbc, 0x34, 0xc7, 0x85, 0x0d, 0x93, 0xb9,
+	0xc0, 0xbb, 0x90, 0x3c, 0x76, 0xe5, 0x4f, 0x81, 0xf3, 0x70, 0x86, 0xa5, 0x4a, 0x1f, 0x31, 0xcf,
+	0xdb, 0x34, 0x5d, 0xd1, 0x07, 0xec, 0x22, 0xcc, 0x32, 0x2f, 0x8a, 0xdb, 0xb5, 0x89, 0xef, 0xea,
+	0x58, 0x80, 0x25, 0x98, 0x92, 0x4c, 0x9d, 0x84, 0x02, 0xa1, 0x8f, 0xb8, 0xab, 0xb9, 0x3a, 0xf1,
+	0x67, 0xba, 0xb7, 0x40, 0x57, 0x60, 0xae, 0x4d, 0x9c, 0x96, 0xad, 0x59, 0x8c, 0x75, 0xf9, 0x8f,
+	0x4e, 0xbf, 0x08, 0xbf, 0x09, 0xe9, 0xb7, 0xba, 0xc4, 0xee, 0xed, 0xda, 0x8a, 0xe1, 0x2a, 0x4d,
+	0x9d, 0xb0, 0x08, 0x47, 0x63, 0xf8, 0x26, 0xa0, 0xfd, 0xae, 0xae, 0xcb, 0x36, 0x71, 0xcc, 0xae,
+	0x4d, 0x9f, 0xd5, 0xbe, 0xb8, 0x49, 0xa6, 0x91, 0x7c, 0x05, 0xe3, 0x03, 0xb8, 0x0a, 0xab, 0xa1,
+	0xbe, 0xfc, 0x9c, 0x45, 0x98, 0xb6, 0x99, 0xc0, 0x1f, 0x7d, 0xff, 0x0d, 0x6d, 0x2b, 0x33, 0x91,
+	0xbc, 0x7d, 0x19, 0x05, 0xd2, 0xa3, 0xbb, 0x8c, 0x56, 0xe0, 0x1c, 0x1b, 0xd5, 0x85, 0xca, 0xee,
+	0xc0, 0xa4, 0x5e, 0x86, 0x64, 0xa0, 0x90, 0xea, 0x05, 0x79, 0x3d, 0x97, 0xdf, 0xa4, 0xd3, 0x7a,
+	0x40, 0x9a, 0xcf, 0x6d, 0xde, 0x49, 0x4e, 0x64, 0x74, 0xb8, 0x18, 0x75, 0x44, 0x99, 0x55, 0xc8,
+	0x5b, 0x10, 0x48, 0x6b, 0x0f, 0x8b, 0xf5, 0xf5, 0xbc, 0xfc, 0xa0, 0x5c, 0x29, 0xd1, 0x08, 0x57,
+	0xe0, 0x22, 0x97, 0xee, 0x3e, 0x7e, 0xbc, 0x5b, 0x29, 0xc9, 0x45, 0xa9, 0xb4, 0x53, 0xaa, 0x36,
+	0xca, 0x85, 0x4a, 0xdd, 0xdb, 0x31, 0x91, 0x79, 0x17, 0x56, 0x23, 0xe6, 0x2b, 0x5a, 0x80, 0x59,
+	0xee, 0xa0, 0xfa, 0xb8, 0x5a, 0xa2, 0x51, 0x2e, 0x00, 0xe2, 0xcb, 0xa7, 0xb7, 0x73, 0x77, 0xe5,
+	0x1a, 0x7d, 0x66, 0xfc, 0x38, 0x34, 0x71, 0x2e, 0x97, 0x0a, 0x4f, 0xe4, 0xda, 0xde, 0x76, 0xa5,
+	0x5c, 0x94, 0x69, 0x66, 0xc9, 0x89, 0xfc, 0x6f, 0x4b, 0x30, 0x59, 0x2e, 0x3c, 0x42, 0xdf, 0x09,
+	0x70, 0x2e, 0x84, 0x4a, 0x20, 0x31, 0xe6, 0x6b, 0x19, 0xb4, 0x3f, 0x9d, 0x8b, 0x6f, 0xe0, 0xf5,
+	0x18, 0xdf, 0xfa, 0xf8, 0x97, 0xdf, 0xbf, 0x98, 0xb8, 0x8e, 0xae, 0x32, 0xc2, 0xfd, 0x21, 0x3b,
+	0x2d, 0xf7, 0x7d, 0x16, 0xea, 0x88, 0x99, 0x8f, 0x44, 0x67, 0x00, 0xd1, 0x57, 0x02, 0x2c, 0x0d,
+	0x3d, 0x68, 0xe8, 0x56, 0x68, 0xd8, 0x51, 0xa4, 0x24, 0x1d, 0x87, 0x07, 0x61, 0x91, 0x03, 0xbb,
+	0x81, 0xae, 0x87, 0x01, 0x1b, 0xc4, 0x45, 0xa1, 0xa2, 0x6f, 0x04, 0x58, 0x0e, 0x1b, 0x90, 0x28,
+	0xbc, 0x28, 0x11, 0x4c, 0x36, 0x1e, 0xc0, 0x1c, 0x07, 0x98, 0xc1, 0xf1, 0x2a, 0xb7, 0x25, 0x64,
+	0xd0, 0x97, 0x14, 0xe1, 0x9e, 0xd5, 0x1e, 0x46, 0x18, 0x27, 0x5e, 0x3c, 0x50, 0x79, 0x0e, 0xea,
+	0x66, 0x3a, 0x6e, 0xd5, 0x18, 0xac, 0xcf, 0x29, 0xac, 0xb0, 0x81, 0x3b, 0xa2, 0x70, 0x11, 0xdc,
+	0x31, 0x7d, 0x61, 0xe8, 0x45, 0x2b, 0xb1, 0x5f, 0x63, 0x41, 0x33, 0x33, 0xb1, 0x9b, 0xf9, 0x93,
+	0x00, 0x17, 0xc2, 0x79, 0x19, 0xca, 0x8f, 0x4f, 0x21, 0xd3, 0x1b, 0x63, 0xd9, 0xf8, 0x57, 0x63,
+	0x93, 0x83, 0xce, 0xa2, 0x9b, 0x31, 0x41, 0x8b, 0x8c, 0xf2, 0xa1, 0xef, 0x69, 0x35, 0xc3, 0x28,
+	0xdf, 0x88, 0x6a, 0x46, 0xb0, 0xc3, 0x74, 0x4c, 0xae, 0x89, 0x5f, 0xe6, 0x40, 0x73, 0x28, 0x1b,
+	0x0f, 0x28, 0xc7, 0xc9, 0x8a, 0xfc, 0x83, 0x00, 0x2b, 0x23, 0x28, 0x05, 0xda, 0x88, 0x7d, 0x69,
+	0xfe, 0x06, 0xe0, 0x57, 0x38, 0xe0, 0x75, 0x3c, 0x56, 0x65, 0xd9, 0x51, 0xa5, 0x3f, 0x41, 0x57,
+	0x46, 0x70, 0x83, 0x11, 0x88, 0xa3, 0x99, 0xc4, 0xc8, 0x03, 0xeb, 0x97, 0x34, 0x33, 0x6e, 0x49,
+	0xe9, 0x15, 0x9f, 0x09, 0xb8, 0x03, 0x7a, 0x29, 0xbc, 0x1c, 0x27, 0x59, 0x4a, 0xfa, 0xea, 0x29,
+	0xbb, 0xfc, 0xd3, 0x78, 0x8f, 0x23, 0xba, 0x8d, 0x73, 0x71, 0x6f, 0xb6, 0xe3, 0x7b, 0x60, 0x75,
+	0xa3, 0xbf, 0x43, 0xe6, 0xe9, 0x49, 0x2b, 0x2b, 0x9d, 0x1a, 0xff, 0x9f, 0x0a, 0xc2, 0xfd, 0x41,
+	0xbd, 0x63, 0x78, 0xa4, 0x0c, 0x80, 0x9d, 0x1f, 0xd8, 0xe3, 0x69, 0xf1, 0x1b, 0x1c, 0xc8, 0x16,
+	0xbe, 0xc3, 0x81, 0x04, 0x44, 0xe3, 0x14, 0x30, 0x6a, 0x7f, 0xf0, 0xcf, 0x28, 0x9a, 0x7a, 0x14,
+	0x9a, 0x7a, 0x7c, 0x34, 0x45, 0x8e, 0xe6, 0xfe, 0x78, 0x68, 0x9c, 0x3e, 0xff, 0xac, 0x3c, 0x3f,
+	0x0a, 0xf4, 0xe5, 0xa6, 0x41, 0x98, 0x90, 0xd8, 0x1d, 0xcd, 0x71, 0xd8, 0xbf, 0xbc, 0xd0, 0xda,
+	0x40, 0xc8, 0xe1, 0x2d, 0x01, 0xb8, 0x1b, 0x31, 0x76, 0xfa, 0x7d, 0x2c, 0x73, 0xc0, 0x45, 0xfc,
+	0xda, 0x38, 0x80, 0xdd, 0x21, 0x7f, 0x0c, 0xf6, 0xb7, 0x94, 0x36, 0x84, 0xf0, 0xb7, 0x11, 0xb4,
+	0x61, 0x34, 0x6b, 0x1c, 0x41, 0x1b, 0x22, 0xa8, 0x21, 0x5e, 0xe3, 0x59, 0x60, 0x7c, 0x89, 0x65,
+	0xc1, 0xc9, 0xdf, 0xd6, 0x8b, 0xe1, 0xed, 0x14, 0xe4, 0xf6, 0x1a, 0xac, 0xb4, 0xcc, 0x4e, 0x58,
+	0x80, 0xed, 0x19, 0x96, 0x12, 0xbb, 0x77, 0x35, 0xe1, 0x4f, 0x41, 0x68, 0x9e, 0xe1, 0x77, 0x70,
+	0xe3, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xa1, 0xbb, 0xec, 0x02, 0x15, 0x00, 0x00,
+}
diff --git a/googleapis/iam/admin/v1/iam.proto b/googleapis/iam/admin/v1/iam.proto
new file mode 100644
index 00000000..d7236dba
--- /dev/null
+++ b/googleapis/iam/admin/v1/iam.proto
@@ -0,0 +1,468 @@
+// Copyright 2016 Google Inc.
+//
+// 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.iam.admin.v1;
+
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto"; // from google/iam/v1/iam_policy.proto
+import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
+import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
+import "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
+import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
+
+option cc_enable_arenas = true;
+option java_multiple_files = true;
+option java_outer_classname = "IamProto";
+option java_package = "com.google.iam.admin.v1";
+
+
+// Creates and manages service account objects.
+//
+// Service account is an account that belongs to your project instead
+// of to an individual end user. It is used to authenticate calls
+// to a Google API.
+//
+// To create a service account, specify the `project_id` and `account_id`
+// for the account.  The `account_id` is unique within the project, and used
+// to generate the service account email address and a stable
+// `unique_id`.
+//
+// All other methods can identify accounts using the format
+// `projects/{project}/serviceAccounts/{account}`.
+// Using `-` as a wildcard for the project will infer the project from
+// the account. The `account` value can be the `email` address or the
+// `unique_id` of the service account.
+service IAM {
+  // Lists [ServiceAccounts][google.iam.admin.v1.ServiceAccount] for a project.
+  rpc ListServiceAccounts(ListServiceAccountsRequest) returns (ListServiceAccountsResponse) {
+    option (google.api.http) = { get: "/v1/{name=projects/*}/serviceAccounts" };
+  }
+
+  // Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  rpc GetServiceAccount(GetServiceAccountRequest) returns (ServiceAccount) {
+    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*}" };
+  }
+
+  // Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]
+  // and returns it.
+  rpc CreateServiceAccount(CreateServiceAccountRequest) returns (ServiceAccount) {
+    option (google.api.http) = { post: "/v1/{name=projects/*}/serviceAccounts" body: "*" };
+  }
+
+  // Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  //
+  // Currently, only the following fields are updatable:
+  // `display_name` .
+  // The `etag` is mandatory.
+  rpc UpdateServiceAccount(ServiceAccount) returns (ServiceAccount) {
+    option (google.api.http) = { put: "/v1/{name=projects/*/serviceAccounts/*}" body: "*" };
+  }
+
+  // Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  rpc DeleteServiceAccount(DeleteServiceAccountRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = { delete: "/v1/{name=projects/*/serviceAccounts/*}" };
+  }
+
+  // Lists [ServiceAccountKeys][google.iam.admin.v1.ServiceAccountKey].
+  rpc ListServiceAccountKeys(ListServiceAccountKeysRequest) returns (ListServiceAccountKeysResponse) {
+    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*}/keys" };
+  }
+
+  // Gets the [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+  // by key id.
+  rpc GetServiceAccountKey(GetServiceAccountKeyRequest) returns (ServiceAccountKey) {
+    option (google.api.http) = { get: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" };
+  }
+
+  // Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]
+  // and returns it.
+  rpc CreateServiceAccountKey(CreateServiceAccountKeyRequest) returns (ServiceAccountKey) {
+    option (google.api.http) = { post: "/v1/{name=projects/*/serviceAccounts/*}/keys" body: "*" };
+  }
+
+  // Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
+  rpc DeleteServiceAccountKey(DeleteServiceAccountKeyRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = { delete: "/v1/{name=projects/*/serviceAccounts/*/keys/*}" };
+  }
+
+  // Signs a blob using a service account's system-managed private key.
+  rpc SignBlob(SignBlobRequest) returns (SignBlobResponse) {
+    option (google.api.http) = { post: "/v1/{name=projects/*/serviceAccounts/*}:signBlob" body: "*" };
+  }
+
+  // Returns the IAM access control policy for a
+  // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
+    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:getIamPolicy" body: "" };
+  }
+
+  // Sets the IAM access control policy for a
+  // [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
+    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:setIamPolicy" body: "*" };
+  }
+
+  // Tests the specified permissions against the IAM access control policy
+  // for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
+  rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
+    option (google.api.http) = { post: "/v1/{resource=projects/*/serviceAccounts/*}:testIamPermissions" body: "*" };
+  }
+
+  // Queries roles that can be granted on a particular resource.
+  // A role is grantable if it can be used as the role in a binding for a policy
+  // for that resource.
+  rpc QueryGrantableRoles(QueryGrantableRolesRequest) returns (QueryGrantableRolesResponse) {
+    option (google.api.http) = { post: "/v1/roles:queryGrantableRoles" body: "*" };
+  }
+}
+
+// A service account in the Identity and Access Management API.
+//
+// To create a service account, specify the `project_id` and the `account_id`
+// for the account.  The `account_id` is unique within the project, and is used
+// to generate the service account email address and a stable
+// `unique_id`.
+//
+// If the account already exists, the account's resource name is returned
+// in util::Status's ResourceInfo.resource_name in the format of
+// projects/{project}/serviceAccounts/{email}. The caller can use the name in
+// other methods to access the account.
+//
+// All other methods can identify the service account using the format
+// `projects/{project}/serviceAccounts/{account}`.
+// Using `-` as a wildcard for the project will infer the project from
+// the account. The `account` value can be the `email` address or the
+// `unique_id` of the service account.
+message ServiceAccount {
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  //
+  // Requests using `-` as a wildcard for the project will infer the project
+  // from the `account` and the `account` value can be the `email` address or
+  // the `unique_id` of the service account.
+  //
+  // In responses the resource name will always be in the format
+  // `projects/{project}/serviceAccounts/{email}`.
+  string name = 1;
+
+  // @OutputOnly The id of the project that owns the service account.
+  string project_id = 2;
+
+  // @OutputOnly The unique and stable id of the service account.
+  string unique_id = 4;
+
+  // @OutputOnly The email address of the service account.
+  string email = 5;
+
+  // Optional. A user-specified description of the service account.  Must be
+  // fewer than 100 UTF-8 bytes.
+  string display_name = 6;
+
+  // Used to perform a consistent read-modify-write.
+  bytes etag = 7;
+
+  // @OutputOnly. The OAuth2 client id for the service account.
+  // This is used in conjunction with the OAuth2 clientconfig API to make
+  // three legged OAuth2 (3LO) flows to access the data of Google users.
+  string oauth2_client_id = 9;
+}
+
+// The service account create request.
+message CreateServiceAccountRequest {
+  // Required. The resource name of the project associated with the service
+  // accounts, such as `projects/my-project-123`.
+  string name = 1;
+
+  // Required. The account id that is used to generate the service account
+  // email address and a stable unique id. It is unique within a project,
+  // must be 6-30 characters long, and match the regular expression
+  // `[a-z]([-a-z0-9]*[a-z0-9])` to comply with RFC1035.
+  string account_id = 2;
+
+  // The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to create.
+  // Currently, only the following values are user assignable:
+  // `display_name` .
+  ServiceAccount service_account = 3;
+}
+
+// The service account list request.
+message ListServiceAccountsRequest {
+  // Required. The resource name of the project associated with the service
+  // accounts, such as `projects/my-project-123`.
+  string name = 1;
+
+  // Optional limit on the number of service accounts to include in the
+  // response. Further accounts can subsequently be obtained by including the
+  // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token]
+  // in a subsequent request.
+  int32 page_size = 2;
+
+  // Optional pagination token returned in an earlier
+  // [ListServiceAccountsResponse.next_page_token][google.iam.admin.v1.ListServiceAccountsResponse.next_page_token].
+  string page_token = 3;
+}
+
+// The service account list response.
+message ListServiceAccountsResponse {
+  // The list of matching service accounts.
+  repeated ServiceAccount accounts = 1;
+
+  // To retrieve the next page of results, set
+  // [ListServiceAccountsRequest.page_token][google.iam.admin.v1.ListServiceAccountsRequest.page_token]
+  // to this value.
+  string next_page_token = 2;
+}
+
+// The service account get request.
+message GetServiceAccountRequest {
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+}
+
+// The service account delete request.
+message DeleteServiceAccountRequest {
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+}
+
+// The service account keys list request.
+message ListServiceAccountKeysRequest {
+  // `KeyType` filters to selectively retrieve certain varieties
+  // of keys.
+  enum KeyType {
+    // Unspecified key type. The presence of this in the
+    // message will immediately result in an error.
+    KEY_TYPE_UNSPECIFIED = 0;
+
+    // User-managed keys (managed and rotated by the user).
+    USER_MANAGED = 1;
+
+    // System-managed keys (managed and rotated by Google).
+    SYSTEM_MANAGED = 2;
+  }
+
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  //
+  // Using `-` as a wildcard for the project, will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+
+  // Filters the types of keys the user wants to include in the list
+  // response. Duplicate key types are not allowed. If no key type
+  // is provided, all keys are returned.
+  repeated KeyType key_types = 2;
+}
+
+// The service account keys list response.
+message ListServiceAccountKeysResponse {
+  // The public keys for the service account.
+  repeated ServiceAccountKey keys = 1;
+}
+
+// The service account key get by id request.
+message GetServiceAccountKeyRequest {
+  // The resource name of the service account key in the following format:
+  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+  //
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+
+  // The output format of the public key requested.
+  // X509_PEM is the default output format.
+  ServiceAccountPublicKeyType public_key_type = 2;
+}
+
+// Represents a service account key.
+//
+// A service account has two sets of key-pairs: user-managed, and
+// system-managed.
+//
+// User-managed key-pairs can be created and deleted by users.  Users are
+// responsible for rotating these keys periodically to ensure security of
+// their service accounts.  Users retain the private key of these key-pairs,
+// and Google retains ONLY the public key.
+//
+// System-managed key-pairs are managed automatically by Google, and rotated
+// daily without user intervention.  The private key never leaves Google's
+// servers to maximize security.
+//
+// Public keys for all service accounts are also published at the OAuth2
+// Service Account API.
+message ServiceAccountKey {
+  // The resource name of the service account key in the following format
+  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+  string name = 1;
+
+  // The output format for the private key.
+  // Only provided in `CreateServiceAccountKey` responses, not
+  // in `GetServiceAccountKey` or `ListServiceAccountKey` responses.
+  //
+  // Google never exposes system-managed private keys, and never retains
+  // user-managed private keys.
+  ServiceAccountPrivateKeyType private_key_type = 2;
+
+  // Specifies the algorithm (and possibly key size) for the key.
+  ServiceAccountKeyAlgorithm key_algorithm = 8;
+
+  // The private key data. Only provided in `CreateServiceAccountKey`
+  // responses.
+  bytes private_key_data = 3;
+
+  // The public key data. Only provided in `GetServiceAccountKey` responses.
+  bytes public_key_data = 7;
+
+  // The key can be used after this timestamp.
+  google.protobuf.Timestamp valid_after_time = 4;
+
+  // The key can be used before this timestamp.
+  google.protobuf.Timestamp valid_before_time = 5;
+}
+
+// The service account key create request.
+message CreateServiceAccountKeyRequest {
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+
+  // The output format of the private key. `GOOGLE_CREDENTIALS_FILE` is the
+  // default output format.
+  ServiceAccountPrivateKeyType private_key_type = 2;
+
+  // Which type of key and algorithm to use for the key.
+  // The default is currently a 4K RSA key.  However this may change in the
+  // future.
+  ServiceAccountKeyAlgorithm key_algorithm = 3;
+}
+
+// The service account key delete request.
+message DeleteServiceAccountKeyRequest {
+  // The resource name of the service account key in the following format:
+  // `projects/{project}/serviceAccounts/{account}/keys/{key}`.
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+}
+
+// The service account sign blob request.
+message SignBlobRequest {
+  // The resource name of the service account in the following format:
+  // `projects/{project}/serviceAccounts/{account}`.
+  // Using `-` as a wildcard for the project will infer the project from
+  // the account. The `account` value can be the `email` address or the
+  // `unique_id` of the service account.
+  string name = 1;
+
+  // The bytes to sign.
+  bytes bytes_to_sign = 2;
+}
+
+// The service account sign blob response.
+message SignBlobResponse {
+  // The id of the key used to sign the blob.
+  string key_id = 1;
+
+  // The signed blob.
+  bytes signature = 2;
+}
+
+// A role in the Identity and Access Management API.
+message Role {
+  // The name of the role.
+  //
+  // When Role is used in CreateRole, the role name must not be set.
+  //
+  // When Role is used in output and other input such as UpdateRole, the role
+  // name is the complete path, e.g., roles/logging.viewer for curated roles
+  // and organizations/{organization-id}/roles/logging.viewer for custom roles.
+  string name = 1;
+
+  // Optional.  A human-readable title for the role.  Typically this
+  // is limited to 100 UTF-8 bytes.
+  string title = 2;
+
+  // Optional.  A human-readable description for the role.
+  string description = 3;
+}
+
+// The grantable role query request.
+message QueryGrantableRolesRequest {
+  // Required. The full resource name to query from the list of grantable roles.
+  //
+  // The name follows the Google Cloud Platform resource format.
+  // For example, a Cloud Platform project with id `my-project` will be named
+  // `//cloudresourcemanager.googleapis.com/projects/my-project`.
+  string full_resource_name = 1;
+}
+
+// The grantable role query response.
+message QueryGrantableRolesResponse {
+  // The list of matching roles.
+  repeated Role roles = 1;
+}
+
+// Supported key algorithms.
+enum ServiceAccountKeyAlgorithm {
+  // An unspecified key algorithm.
+  KEY_ALG_UNSPECIFIED = 0;
+
+  // 1k RSA Key.
+  KEY_ALG_RSA_1024 = 1;
+
+  // 2k RSA Key.
+  KEY_ALG_RSA_2048 = 2;
+}
+
+// Supported private key output formats.
+enum ServiceAccountPrivateKeyType {
+  // Unspecified. Equivalent to `TYPE_GOOGLE_CREDENTIALS_FILE`.
+  TYPE_UNSPECIFIED = 0;
+
+  // PKCS12 format.
+  // The password for the PKCS12 file is `notasecret`.
+  // For more information, see https://tools.ietf.org/html/rfc7292.
+  TYPE_PKCS12_FILE = 1;
+
+  // Google Credentials File format.
+  TYPE_GOOGLE_CREDENTIALS_FILE = 2;
+}
+
+// Supported public key output formats.
+enum ServiceAccountPublicKeyType {
+  // Unspecified. Returns nothing here.
+  TYPE_NONE = 0;
+
+  // X509 PEM format.
+  TYPE_X509_PEM_FILE = 1;
+
+  // Raw public key.
+  TYPE_RAW_PUBLIC_KEY = 2;
+}
diff --git a/googleapis/iam/v1/iam_policy.pb.go b/googleapis/iam/v1/iam_policy.pb.go
index 0b683b31..6b02698f 100644
--- a/googleapis/iam/v1/iam_policy.pb.go
+++ b/googleapis/iam/v1/iam_policy.pb.go
@@ -22,6 +22,7 @@ package google_iam_v1 // import "google.golang.org/genproto/googleapis/iam/v1"
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 
 import (
 	context "golang.org/x/net/context"
@@ -41,13 +42,14 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // Request message for `SetIamPolicy` method.
 type SetIamPolicyRequest struct {
-	// REQUIRED: The resource for which policy is being specified.
-	// Resource is usually specified as a path, such as,
-	// projects/{project}/zones/{zone}/disks/{disk}.
+	// REQUIRED: The resource for which the policy is being specified.
+	// `resource` is usually specified as a path. For example, a Project
+	// resource is specified as `projects/{project}`.
 	Resource string `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
-	// REQUIRED: The complete policy to be applied to the 'resource'. The size of
-	// the policy is limited to a few 10s of KB. An empty policy is in general a
-	// valid policy but certain services (like Projects) might reject them.
+	// REQUIRED: The complete policy to be applied to the `resource`. The size of
+	// the policy is limited to a few 10s of KB. An empty policy is a
+	// valid policy but certain Cloud Platform services (such as Projects)
+	// might reject them.
 	Policy *Policy `protobuf:"bytes,2,opt,name=policy" json:"policy,omitempty"`
 }
 
@@ -65,8 +67,9 @@ func (m *SetIamPolicyRequest) GetPolicy() *Policy {
 
 // Request message for `GetIamPolicy` method.
 type GetIamPolicyRequest struct {
-	// REQUIRED: The resource for which policy is being requested. Resource
-	// is usually specified as a path, such as, projects/{project}.
+	// REQUIRED: The resource for which the policy is being requested.
+	// `resource` is usually specified as a path. For example, a Project
+	// resource is specified as `projects/{project}`.
 	Resource string `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
 }
 
@@ -77,11 +80,14 @@ func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor
 
 // Request message for `TestIamPermissions` method.
 type TestIamPermissionsRequest struct {
-	// REQUIRED: The resource for which policy detail is being requested.
-	// Resource is usually specified as a path, such as, projects/{project}.
+	// REQUIRED: The resource for which the policy detail is being requested.
+	// `resource` is usually specified as a path. For example, a Project
+	// resource is specified as `projects/{project}`.
 	Resource string `protobuf:"bytes,1,opt,name=resource" json:"resource,omitempty"`
-	// The set of permissions to check for the 'resource'. Permissions with
-	// wildcards (such as '*' or 'storage.*') are not allowed.
+	// The set of permissions to check for the `resource`. Permissions with
+	// wildcards (such as '*' or 'storage.*') are not allowed. For more
+	// information see
+	// [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
 	Permissions []string `protobuf:"bytes,2,rep,name=permissions" json:"permissions,omitempty"`
 }
 
@@ -123,8 +129,9 @@ type IAMPolicyClient interface {
 	// Sets the access control policy on the specified resource. Replaces any
 	// existing policy.
 	SetIamPolicy(ctx context.Context, in *SetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
-	// Gets the access control policy for a resource. Is empty if the
-	// policy or the resource does not exist.
+	// Gets the access control policy for a resource.
+	// Returns an empty policy if the resource exists and does not have a policy
+	// set.
 	GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
 	TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)
@@ -171,8 +178,9 @@ type IAMPolicyServer interface {
 	// Sets the access control policy on the specified resource. Replaces any
 	// existing policy.
 	SetIamPolicy(context.Context, *SetIamPolicyRequest) (*Policy, error)
-	// Gets the access control policy for a resource. Is empty if the
-	// policy or the resource does not exist.
+	// Gets the access control policy for a resource.
+	// Returns an empty policy if the resource exists and does not have a policy
+	// set.
 	GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
 	TestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
@@ -262,24 +270,29 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 297 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x92, 0xcf, 0x4b, 0x84, 0x40,
-	0x14, 0xc7, 0xd1, 0x60, 0xc9, 0xb7, 0x15, 0x34, 0x4b, 0x60, 0x9e, 0x44, 0x08, 0xec, 0xd0, 0x88,
-	0xdb, 0xa9, 0x43, 0x41, 0x7b, 0x11, 0x0f, 0x81, 0x58, 0x97, 0x4e, 0x65, 0x32, 0x0c, 0x03, 0xea,
-	0xb3, 0x19, 0x77, 0xa1, 0xff, 0xa1, 0x3f, 0x3a, 0xfc, 0xc1, 0xe6, 0xae, 0x16, 0xee, 0x69, 0x98,
-	0x37, 0xdf, 0xef, 0x67, 0xde, 0xfb, 0xf2, 0xe0, 0x9e, 0x23, 0xf2, 0x8c, 0x51, 0x8e, 0x59, 0x52,
-	0x70, 0x8a, 0x92, 0x7b, 0x9c, 0x15, 0xa5, 0xc4, 0x0a, 0xbd, 0xf6, 0x29, 0x29, 0x85, 0xf2, 0x44,
-	0x92, 0x7b, 0x1b, 0xbf, 0x3e, 0xde, 0x4a, 0xcc, 0x44, 0xfa, 0x45, 0x1b, 0x09, 0x39, 0xed, 0xec,
-	0x22, 0xc9, 0xe9, 0xc6, 0xb7, 0xee, 0x0e, 0xa2, 0xf5, 0x49, 0xce, 0x3b, 0x2c, 0x9e, 0x59, 0x15,
-	0x26, 0x79, 0xd4, 0x54, 0x63, 0xf6, 0xb9, 0x66, 0xaa, 0x22, 0x16, 0x1c, 0x4b, 0xa6, 0x70, 0x2d,
-	0x53, 0x66, 0x6a, 0xb6, 0xe6, 0x1a, 0xf1, 0xf6, 0x4e, 0x6e, 0x60, 0xd6, 0x22, 0x4c, 0xdd, 0xd6,
-	0xdc, 0xf9, 0xf2, 0x82, 0xee, 0x74, 0x43, 0x3b, 0x52, 0x27, 0x72, 0x7c, 0x58, 0x04, 0x87, 0xfd,
-	0xe0, 0xbc, 0xc2, 0xe5, 0x0b, 0x53, 0x8d, 0x87, 0xc9, 0x5c, 0x28, 0x25, 0xb0, 0x50, 0x53, 0x5a,
-	0xb3, 0x61, 0x5e, 0xfe, 0x3a, 0x4c, 0xdd, 0x3e, 0x72, 0x8d, 0xb8, 0x5f, 0x72, 0x1e, 0xc0, 0x1a,
-	0x43, 0xab, 0x12, 0x0b, 0x35, 0xf0, 0x6b, 0x03, 0xff, 0xf2, 0x5b, 0x07, 0x23, 0x7c, 0x7c, 0x6a,
-	0x67, 0x21, 0x21, 0x9c, 0xf4, 0xd3, 0x23, 0xce, 0x5e, 0x14, 0x23, 0xd1, 0x5a, 0xe3, 0x71, 0xd5,
-	0xa8, 0xe0, 0x3f, 0x54, 0x30, 0x1d, 0x25, 0x80, 0x0c, 0x67, 0x24, 0xee, 0x9e, 0xf8, 0xcf, 0x84,
-	0xad, 0xeb, 0x09, 0xca, 0x36, 0xb0, 0xd5, 0x15, 0x9c, 0xa7, 0x98, 0xef, 0xea, 0x57, 0x67, 0xdb,
-	0x46, 0xa3, 0x7a, 0xc7, 0x22, 0xed, 0x63, 0xd6, 0x2c, 0xdb, 0xed, 0x4f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x41, 0x72, 0x3a, 0x67, 0xf7, 0x02, 0x00, 0x00,
+	// 375 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0x4f, 0x4b, 0x02, 0x41,
+	0x14, 0x67, 0x14, 0x24, 0xc7, 0x0a, 0x1a, 0x09, 0x6c, 0x0f, 0x21, 0x53, 0x07, 0x15, 0xda, 0x41,
+	0x3b, 0x25, 0x18, 0xe4, 0x45, 0x3c, 0x04, 0x62, 0x5d, 0x3a, 0xd5, 0xb6, 0x4c, 0xc3, 0x80, 0xbb,
+	0x6f, 0xdb, 0x19, 0x85, 0x88, 0x2e, 0x7d, 0x85, 0x3a, 0xf5, 0xb5, 0xfa, 0x0a, 0x7d, 0x88, 0x8e,
+	0xcd, 0xee, 0x9a, 0xad, 0xae, 0x85, 0x42, 0x97, 0x1d, 0x76, 0xde, 0xfb, 0xfd, 0x79, 0xbf, 0x37,
+	0xb8, 0x23, 0x00, 0xc4, 0x88, 0xdb, 0x02, 0x46, 0x8e, 0x2f, 0x6c, 0x08, 0x05, 0x13, 0xdc, 0x0f,
+	0x42, 0xd0, 0xc0, 0x92, 0x92, 0x13, 0x48, 0xc5, 0xa4, 0xe3, 0xb1, 0x49, 0x33, 0x3a, 0xae, 0x03,
+	0x18, 0x49, 0xf7, 0xc1, 0x8e, 0x5b, 0xc8, 0xd6, 0x14, 0x6e, 0x0a, 0xf6, 0xa4, 0x69, 0xf5, 0x57,
+	0x63, 0x33, 0x1f, 0xa6, 0x78, 0x38, 0x91, 0x2e, 0x77, 0xc1, 0xbf, 0x93, 0x82, 0x39, 0xbe, 0x0f,
+	0xda, 0xd1, 0x12, 0x7c, 0x95, 0x30, 0x5b, 0x27, 0x6b, 0x19, 0x4b, 0x9b, 0xa2, 0x37, 0xb8, 0x7c,
+	0xc1, 0x75, 0xdf, 0xf1, 0x06, 0xf1, 0xed, 0x90, 0xdf, 0x8f, 0xb9, 0xd2, 0xc4, 0xc2, 0x1b, 0x21,
+	0x57, 0x30, 0x0e, 0x5d, 0x5e, 0x41, 0x55, 0x54, 0x2b, 0x0e, 0x67, 0xff, 0xe4, 0x08, 0x17, 0x12,
+	0x8a, 0x4a, 0xce, 0x54, 0x4a, 0xad, 0x5d, 0x7b, 0x6e, 0x30, 0x7b, 0xca, 0x34, 0x6d, 0xa2, 0x4d,
+	0x5c, 0xee, 0xad, 0xa7, 0x40, 0xaf, 0xf0, 0xde, 0xa5, 0xe9, 0x89, 0x30, 0x3c, 0xf4, 0xa4, 0x52,
+	0xd1, 0xac, 0xab, 0x58, 0xab, 0xe2, 0x52, 0xf0, 0x83, 0x30, 0xfe, 0xf2, 0xa6, 0x9c, 0xbe, 0xa2,
+	0xa7, 0xd8, 0x5a, 0x46, 0xad, 0x02, 0x73, 0x64, 0xf0, 0x28, 0x83, 0x6f, 0xbd, 0xe6, 0x71, 0xb1,
+	0x7f, 0x76, 0x9e, 0xcc, 0x42, 0x34, 0xde, 0x4c, 0xa7, 0x47, 0xe8, 0x42, 0x14, 0x4b, 0xa2, 0xb5,
+	0x96, 0xc7, 0x45, 0xeb, 0xcf, 0xef, 0x1f, 0x2f, 0xb9, 0x03, 0xba, 0x1f, 0xad, 0xe8, 0xf1, 0x7b,
+	0xa2, 0x4e, 0xa3, 0xf1, 0xd4, 0x56, 0x29, 0x96, 0x36, 0x6a, 0x44, 0xaa, 0xbd, 0xbf, 0x54, 0x7b,
+	0xff, 0xa2, 0x2a, 0x16, 0x54, 0xdf, 0x10, 0x26, 0xd9, 0xe8, 0x48, 0x6d, 0x81, 0xf8, 0xd7, 0xc5,
+	0x59, 0xf5, 0x15, 0x3a, 0x93, 0x3d, 0x50, 0x16, 0xdb, 0xaa, 0xd3, 0xc3, 0xac, 0x2d, 0x9d, 0x41,
+	0x19, 0x73, 0xdd, 0x1a, 0xde, 0x71, 0xc1, 0x9b, 0x17, 0xe8, 0x6e, 0xcf, 0xfc, 0x0f, 0xa2, 0xb7,
+	0x3e, 0x40, 0x9f, 0x08, 0xdd, 0x16, 0xe2, 0x77, 0x7f, 0xfc, 0x15, 0x00, 0x00, 0xff, 0xff, 0x17,
+	0xc5, 0x32, 0xda, 0xcd, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/iam_policy.proto b/googleapis/iam/v1/iam_policy.proto
index 2e9c5faa..ffc1e714 100644
--- a/googleapis/iam/v1/iam_policy.proto
+++ b/googleapis/iam/v1/iam_policy.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -16,8 +16,10 @@ syntax = "proto3";
 
 package google.iam.v1;
 
+import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
 import "google.golang.org/genproto/googleapis/iam/v1/policy.proto"; // from google/iam/v1/policy.proto
 
+option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "IamPolicyProto";
 option java_package = "com.google.iam.v1";
@@ -25,6 +27,8 @@ option java_package = "com.google.iam.v1";
 
 // ## API Overview
 //
+// Manages Identity and Access Management (IAM) policies.
+//
 // Any implementation of an API that offers access control features
 // implements the google.iam.v1.IAMPolicy interface.
 //
@@ -49,44 +53,56 @@ option java_package = "com.google.iam.v1";
 service IAMPolicy {
   // Sets the access control policy on the specified resource. Replaces any
   // existing policy.
-  rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy);
+  rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy) {
+    option (google.api.http) = { post: "/v1/{resource=**}:setIamPolicy" body: "*" };
+  }
 
-  // Gets the access control policy for a resource. Is empty if the
-  // policy or the resource does not exist.
-  rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy);
+  // Gets the access control policy for a resource.
+  // Returns an empty policy if the resource exists and does not have a policy
+  // set.
+  rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy) {
+    option (google.api.http) = { post: "/v1/{resource=**}:getIamPolicy" body: "*" };
+  }
 
   // Returns permissions that a caller has on the specified resource.
-  rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse);
+  rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse) {
+    option (google.api.http) = { post: "/v1/{resource=**}:testIamPermissions" body: "*" };
+  }
 }
 
 // Request message for `SetIamPolicy` method.
 message SetIamPolicyRequest {
-  // REQUIRED: The resource for which policy is being specified.
-  // Resource is usually specified as a path, such as,
-  // projects/{project}/zones/{zone}/disks/{disk}.
+  // REQUIRED: The resource for which the policy is being specified.
+  // `resource` is usually specified as a path. For example, a Project
+  // resource is specified as `projects/{project}`.
   string resource = 1;
 
-  // REQUIRED: The complete policy to be applied to the 'resource'. The size of
-  // the policy is limited to a few 10s of KB. An empty policy is in general a
-  // valid policy but certain services (like Projects) might reject them.
+  // REQUIRED: The complete policy to be applied to the `resource`. The size of
+  // the policy is limited to a few 10s of KB. An empty policy is a
+  // valid policy but certain Cloud Platform services (such as Projects)
+  // might reject them.
   Policy policy = 2;
 }
 
 // Request message for `GetIamPolicy` method.
 message GetIamPolicyRequest {
-  // REQUIRED: The resource for which policy is being requested. Resource
-  // is usually specified as a path, such as, projects/{project}.
+  // REQUIRED: The resource for which the policy is being requested.
+  // `resource` is usually specified as a path. For example, a Project
+  // resource is specified as `projects/{project}`.
   string resource = 1;
 }
 
 // Request message for `TestIamPermissions` method.
 message TestIamPermissionsRequest {
-  // REQUIRED: The resource for which policy detail is being requested.
-  // Resource is usually specified as a path, such as, projects/{project}.
+  // REQUIRED: The resource for which the policy detail is being requested.
+  // `resource` is usually specified as a path. For example, a Project
+  // resource is specified as `projects/{project}`.
   string resource = 1;
 
-  // The set of permissions to check for the 'resource'. Permissions with
-  // wildcards (such as '*' or 'storage.*') are not allowed.
+  // The set of permissions to check for the `resource`. Permissions with
+  // wildcards (such as '*' or 'storage.*') are not allowed. For more
+  // information see
+  // [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
   repeated string permissions = 2;
 }
 
diff --git a/googleapis/iam/v1/policy.pb.go b/googleapis/iam/v1/policy.pb.go
index cab33d59..1810a5d2 100644
--- a/googleapis/iam/v1/policy.pb.go
+++ b/googleapis/iam/v1/policy.pb.go
@@ -13,53 +13,54 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// # Overview
+// Defines an Identity and Access Management (IAM) policy. It is used to
+// specify access control policies for Cloud Platform resources.
 //
-// The `Policy` defines an access control policy language. It is used to
-// define policies that are attached to resources like files, folders, VMs,
-// etc.
 //
+// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
+// `members` to a `role`, where the members can be user accounts, Google groups,
+// Google domains, and service accounts. A `role` is a named list of permissions
+// defined by IAM.
 //
-// # Policy structure
+// **Example**
 //
-// A `Policy` consists of a list of bindings. A `Binding` binds a set of members
-// to a role, where the members include user accounts, user groups, user
-// domains, and service accounts. A 'role' is a named set of permissions,
-// defined by IAM. The definition of a role is outside the policy.
-//
-// A permission check first determines the roles that include the specified
-// permission, and then determines if the principal specified is a
-// member of a binding to at least one of these roles. The membership check is
-// recursive when a group is bound to a role.
-//
-// Policy examples:
-//
-// ```
-// {
-//   "bindings": [
 //     {
-//       "role": "roles/owner",
-//       "members": [
-//         "user:mike@example.com",
-//         "group:admins@example.com",
-//         "domain:google.com",
-//         "serviceAccount:frontend@example.iam.gserviceaccounts.com"]
-//     },
-//     {
-//       "role": "roles/viewer",
-//       "members": ["user:sean@example.com"]
+//       "bindings": [
+//         {
+//           "role": "roles/owner",
+//           "members": [
+//             "user:mike@example.com",
+//             "group:admins@example.com",
+//             "domain:google.com",
+//             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
+//           ]
+//         },
+//         {
+//           "role": "roles/viewer",
+//           "members": ["user:sean@example.com"]
+//         }
+//       ]
 //     }
-//   ]
-// }
-// ```
+//
+// For a description of IAM and its features, see the
+// [IAM developer's guide](https://cloud.google.com/iam).
 type Policy struct {
-	// The policy language version. The version of the policy is
-	// represented by the etag. The default version is 0.
+	// Version of the `Policy`. The default version is 0.
 	Version int32 `protobuf:"varint,1,opt,name=version" json:"version,omitempty"`
-	// It is an error to specify multiple bindings for the same role.
-	// It is an error to specify a binding with no members.
+	// Associates a list of `members` to a `role`.
+	// Multiple `bindings` must not be specified for the same `role`.
+	// `bindings` with no members will result in an error.
 	Bindings []*Binding `protobuf:"bytes,4,rep,name=bindings" json:"bindings,omitempty"`
-	// Can be used to perform a read-modify-write.
+	// `etag` is used for optimistic concurrency control as a way to help
+	// prevent simultaneous updates of a policy from overwriting each other.
+	// It is strongly suggested that systems make use of the `etag` in the
+	// read-modify-write cycle to perform policy updates in order to avoid race
+	// conditions: An `etag` is returned in the response to `getIamPolicy`, and
+	// systems are expected to put that etag in the request to `setIamPolicy` to
+	// ensure that their change will be applied to the same version of the policy.
+	//
+	// If no `etag` is provided in the call to `setIamPolicy`, then the existing
+	// policy is overwritten blindly.
 	Etag []byte `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"`
 }
 
@@ -75,35 +76,34 @@ func (m *Policy) GetBindings() []*Binding {
 	return nil
 }
 
-// Associates members with roles. See below for allowed
-// formats of members.
+// Associates `members` with a `role`.
 type Binding struct {
-	// The name of the role to which the members should be bound.
-	// Examples: "roles/viewer", "roles/editor", "roles/owner".
+	// Role that is assigned to `members`.
+	// For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
 	// Required
 	Role string `protobuf:"bytes,1,opt,name=role" json:"role,omitempty"`
-	// Format of member entries:
-	// 1. allUsers
-	//    Matches any requesting principal (users, service accounts or anonymous).
+	// Specifies the identities requesting access for a Cloud Platform resource.
+	// `members` can have the following values:
+	//
+	// * `allUsers`: A special identifier that represents anyone who is
+	//    on the internet; with or without a Google account.
+	//
+	// * `allAuthenticatedUsers`: A special identifier that represents anyone
+	//    who is authenticated with a Google account or a service account.
+	//
+	// * `user:{emailid}`: An email address that represents a specific Google
+	//    account. For example, `alice@gmail.com` or `joe@example.com`.
 	//
-	// 2. allAuthenticatedUsers
-	//    Matches any requesting authenticated principal (users or service
-	//    accounts).
+	// * `serviceAccount:{emailid}`: An email address that represents a service
+	//    account. For example, `my-other-app@appspot.gserviceaccount.com`.
 	//
-	// 3. user:{emailid}
-	//    A google user account using an email address.
-	//    For example alice@gmail.com, joe@example.com
+	// * `group:{emailid}`: An email address that represents a Google group.
+	//    For example, `admins@example.com`.
 	//
-	// 4. serviceAccount:{emailid}
-	//    An service account email.
+	// * `domain:{domain}`: A Google Apps domain name that represents all the
+	//    users of that domain. For example, `google.com` or `example.com`.
 	//
-	// 5. group:{emailid}
-	//    A google group with an email address. For example
-	//    auth-ti-cloud@google.com
 	//
-	// 6. domain:{domain}
-	//    A Google Apps domain name.
-	//    For example google.com, example.com
 	Members []string `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"`
 }
 
@@ -122,19 +122,19 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 211 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x54, 0x8f, 0xb1, 0x6e, 0xc3, 0x20,
-	0x18, 0x84, 0x45, 0x9d, 0x26, 0x0d, 0x69, 0x87, 0x32, 0x54, 0x8c, 0xc8, 0x13, 0x13, 0x28, 0xe9,
-	0x50, 0x75, 0xf5, 0x13, 0x58, 0xbc, 0x01, 0x4e, 0xd1, 0x2f, 0x2a, 0xe0, 0xb7, 0x20, 0xb2, 0xd4,
-	0xb7, 0xaf, 0x8c, 0xe3, 0x48, 0xde, 0xfe, 0xd3, 0x77, 0x70, 0x77, 0xf4, 0x1b, 0x10, 0x21, 0x38,
-	0x05, 0x18, 0x6c, 0x02, 0x85, 0x19, 0x34, 0xb8, 0x34, 0x66, 0xbc, 0xa1, 0x5e, 0x90, 0x1d, 0x7d,
-	0xd1, 0xde, 0x46, 0x3d, 0x9d, 0xf5, 0x88, 0xc1, 0x5f, 0xff, 0x54, 0xc5, 0xec, 0xed, 0xfe, 0xd4,
-	0xdb, 0xa8, 0xa6, 0x73, 0xfb, 0x4b, 0xf7, 0x7d, 0xc5, 0x8c, 0xd3, 0xc3, 0xe4, 0x72, 0xf1, 0x98,
-	0x38, 0x11, 0x44, 0x3e, 0x9b, 0x55, 0xb2, 0x0b, 0x7d, 0x19, 0x7c, 0xfa, 0xf1, 0x09, 0x0a, 0xdf,
-	0x89, 0x46, 0x9e, 0x2e, 0x1f, 0x6a, 0xf3, 0x8b, 0xea, 0x16, 0x6c, 0x1e, 0x3e, 0xc6, 0xe8, 0xce,
-	0xdd, 0x2c, 0xf0, 0x46, 0x10, 0xf9, 0x6a, 0xea, 0xdd, 0x7e, 0xd1, 0xc3, 0xdd, 0x38, 0xe3, 0x8c,
-	0xc1, 0xd5, 0xa4, 0xa3, 0xa9, 0xf7, 0x5c, 0x20, 0xba, 0x38, 0xb8, 0x5c, 0xf8, 0x93, 0x68, 0xe4,
-	0xd1, 0xac, 0xb2, 0x6b, 0xe9, 0xfb, 0x15, 0xe3, 0x36, 0xb3, 0x3b, 0x2d, 0xbd, 0xfb, 0x79, 0x55,
-	0x4f, 0x86, 0x7d, 0x9d, 0xf7, 0xf9, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x17, 0x1d, 0x81, 0xd6, 0x1b,
-	0x01, 0x00, 0x00,
+	// 215 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x54, 0x8f, 0xb1, 0x6a, 0xc3, 0x30,
+	0x10, 0x86, 0x51, 0x93, 0x26, 0x8d, 0xd2, 0x0e, 0xd5, 0x50, 0x34, 0x86, 0x40, 0x21, 0x93, 0x84,
+	0xdd, 0xa1, 0x74, 0xf5, 0x13, 0x18, 0xbd, 0x81, 0xec, 0x8a, 0x43, 0x45, 0xd2, 0x19, 0xd9, 0x18,
+	0xfa, 0xe6, 0x1d, 0x2b, 0xcb, 0x76, 0xc0, 0xdb, 0x1d, 0xdf, 0xdd, 0x7d, 0xf7, 0xd3, 0x2f, 0x40,
+	0x04, 0x67, 0x04, 0xa0, 0xd3, 0x01, 0x04, 0x46, 0x90, 0x60, 0x42, 0x17, 0x71, 0x40, 0x39, 0x23,
+	0xdd, 0xd9, 0x5e, 0x5a, 0xed, 0xe5, 0x58, 0xc8, 0x0e, 0x9d, 0x6d, 0x7f, 0x45, 0xc6, 0xec, 0x65,
+	0x59, 0x4d, 0x4c, 0x8c, 0xc5, 0xf5, 0x87, 0x1e, 0xea, 0x8c, 0x19, 0xa7, 0xc7, 0xd1, 0xc4, 0xde,
+	0x62, 0xe0, 0xe4, 0x42, 0x6e, 0x8f, 0x6a, 0x6d, 0x59, 0x49, 0x9f, 0x1a, 0x1b, 0xbe, 0x6d, 0x80,
+	0x9e, 0xef, 0x2f, 0xbb, 0xdb, 0xb9, 0x7c, 0x13, 0x9b, 0x2b, 0xa2, 0x9a, 0xb1, 0xba, 0xcf, 0x31,
+	0x46, 0xf7, 0x66, 0xd0, 0xc0, 0x77, 0xe9, 0xd4, 0xb3, 0xca, 0xf5, 0xf5, 0x93, 0x1e, 0x97, 0xc1,
+	0x09, 0x47, 0x74, 0x26, 0x9b, 0x4e, 0x2a, 0xd7, 0xd3, 0x03, 0xde, 0xf8, 0x26, 0x49, 0xf9, 0x43,
+	0xb2, 0x9c, 0xd4, 0xda, 0x56, 0xef, 0xf4, 0xb5, 0x45, 0xbf, 0x75, 0x56, 0xe7, 0xf9, 0xef, 0x7a,
+	0x4a, 0x55, 0x93, 0x3f, 0x42, 0x9a, 0x43, 0x4e, 0xf8, 0xf1, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xcc,
+	0x5d, 0xa8, 0xf7, 0x1e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/policy.proto b/googleapis/iam/v1/policy.proto
index 076f9cd3..74d79bb0 100644
--- a/googleapis/iam/v1/policy.proto
+++ b/googleapis/iam/v1/policy.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -16,92 +16,93 @@ syntax = "proto3";
 
 package google.iam.v1;
 
+option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "PolicyProto";
 option java_package = "com.google.iam.v1";
 
 
-// # Overview
+// Defines an Identity and Access Management (IAM) policy. It is used to
+// specify access control policies for Cloud Platform resources.
 //
-// The `Policy` defines an access control policy language. It is used to
-// define policies that are attached to resources like files, folders, VMs,
-// etc.
 //
+// A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
+// `members` to a `role`, where the members can be user accounts, Google groups,
+// Google domains, and service accounts. A `role` is a named list of permissions
+// defined by IAM.
 //
-// # Policy structure
+// **Example**
 //
-// A `Policy` consists of a list of bindings. A `Binding` binds a set of members
-// to a role, where the members include user accounts, user groups, user
-// domains, and service accounts. A 'role' is a named set of permissions,
-// defined by IAM. The definition of a role is outside the policy.
-//
-// A permission check first determines the roles that include the specified
-// permission, and then determines if the principal specified is a
-// member of a binding to at least one of these roles. The membership check is
-// recursive when a group is bound to a role.
-//
-// Policy examples:
-//
-// ```
-// {
-//   "bindings": [
 //     {
-//       "role": "roles/owner",
-//       "members": [
-//         "user:mike@example.com",
-//         "group:admins@example.com",
-//         "domain:google.com",
-//         "serviceAccount:frontend@example.iam.gserviceaccounts.com"]
-//     },
-//     {
-//       "role": "roles/viewer",
-//       "members": ["user:sean@example.com"]
+//       "bindings": [
+//         {
+//           "role": "roles/owner",
+//           "members": [
+//             "user:mike@example.com",
+//             "group:admins@example.com",
+//             "domain:google.com",
+//             "serviceAccount:my-other-app@appspot.gserviceaccount.com",
+//           ]
+//         },
+//         {
+//           "role": "roles/viewer",
+//           "members": ["user:sean@example.com"]
+//         }
+//       ]
 //     }
-//   ]
-// }
-// ```
+//
+// For a description of IAM and its features, see the
+// [IAM developer's guide](https://cloud.google.com/iam).
 message Policy {
-  // The policy language version. The version of the policy is
-  // represented by the etag. The default version is 0.
+  // Version of the `Policy`. The default version is 0.
   int32 version = 1;
 
-  // It is an error to specify multiple bindings for the same role.
-  // It is an error to specify a binding with no members.
+  // Associates a list of `members` to a `role`.
+  // Multiple `bindings` must not be specified for the same `role`.
+  // `bindings` with no members will result in an error.
   repeated Binding bindings = 4;
 
-  // Can be used to perform a read-modify-write.
+  // `etag` is used for optimistic concurrency control as a way to help
+  // prevent simultaneous updates of a policy from overwriting each other.
+  // It is strongly suggested that systems make use of the `etag` in the
+  // read-modify-write cycle to perform policy updates in order to avoid race
+  // conditions: An `etag` is returned in the response to `getIamPolicy`, and
+  // systems are expected to put that etag in the request to `setIamPolicy` to
+  // ensure that their change will be applied to the same version of the policy.
+  //
+  // If no `etag` is provided in the call to `setIamPolicy`, then the existing
+  // policy is overwritten blindly.
   bytes etag = 3;
 }
 
-// Associates members with roles. See below for allowed
-// formats of members.
+// Associates `members` with a `role`.
 message Binding {
-  // The name of the role to which the members should be bound.
-  // Examples: "roles/viewer", "roles/editor", "roles/owner".
+  // Role that is assigned to `members`.
+  // For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
   // Required
   string role = 1;
 
-  // Format of member entries:
-  // 1. allUsers
-  //    Matches any requesting principal (users, service accounts or anonymous).
+  // Specifies the identities requesting access for a Cloud Platform resource.
+  // `members` can have the following values:
+  //
+  // * `allUsers`: A special identifier that represents anyone who is
+  //    on the internet; with or without a Google account.
+  //
+  // * `allAuthenticatedUsers`: A special identifier that represents anyone
+  //    who is authenticated with a Google account or a service account.
+  //
+  // * `user:{emailid}`: An email address that represents a specific Google
+  //    account. For example, `alice@gmail.com` or `joe@example.com`.
   //
-  // 2. allAuthenticatedUsers
-  //    Matches any requesting authenticated principal (users or service
-  //    accounts).
+  // * `serviceAccount:{emailid}`: An email address that represents a service
+  //    account. For example, `my-other-app@appspot.gserviceaccount.com`.
   //
-  // 3. user:{emailid}
-  //    A google user account using an email address.
-  //    For example alice@gmail.com, joe@example.com
+  // * `group:{emailid}`: An email address that represents a Google group.
+  //    For example, `admins@example.com`.
   //
-  // 4. serviceAccount:{emailid}
-  //    An service account email.
+  // * `domain:{domain}`: A Google Apps domain name that represents all the
+  //    users of that domain. For example, `google.com` or `example.com`.
   //
-  // 5. group:{emailid}
-  //    A google group with an email address. For example
-  //    auth-ti-cloud@google.com
   //
-  // 6. domain:{domain}
-  //    A Google Apps domain name.
-  //    For example google.com, example.com
   repeated string members = 2;
 }
diff --git a/googleapis/logging/type/http_request.pb.go b/googleapis/logging/type/http_request.pb.go
index ddabb4e5..eab8232c 100644
--- a/googleapis/logging/type/http_request.pb.go
+++ b/googleapis/logging/type/http_request.pb.go
@@ -18,6 +18,7 @@ import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
+import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -30,8 +31,9 @@ var _ = math.Inf
 // proto package needs to be updated.
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
-// A common proto for logging HTTP requests.
-//
+// A common proto for logging HTTP requests. Only contains semantics
+// defined by the HTTP specification. Product-specific logging
+// information MUST be defined in a separate message.
 type HttpRequest struct {
 	// The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
 	RequestMethod string `protobuf:"bytes,1,opt,name=request_method,json=requestMethod" json:"request_method,omitempty"`
@@ -60,6 +62,9 @@ type HttpRequest struct {
 	// The referer URL of the request, as defined in
 	// [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
 	Referer string `protobuf:"bytes,8,opt,name=referer" json:"referer,omitempty"`
+	// The request processing latency on the server, from the time the request was
+	// received until the response was sent.
+	Latency *google_protobuf1.Duration `protobuf:"bytes,14,opt,name=latency" json:"latency,omitempty"`
 	// Whether or not a cache lookup was attempted.
 	CacheLookup bool `protobuf:"varint,11,opt,name=cache_lookup,json=cacheLookup" json:"cache_lookup,omitempty"`
 	// Whether or not an entity was served from cache
@@ -79,6 +84,13 @@ func (m *HttpRequest) String() string            { return proto.CompactTextStrin
 func (*HttpRequest) ProtoMessage()               {}
 func (*HttpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *HttpRequest) GetLatency() *google_protobuf1.Duration {
+	if m != nil {
+		return m.Latency
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*HttpRequest)(nil), "google.logging.type.HttpRequest")
 }
@@ -88,32 +100,35 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 425 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x51, 0x6f, 0xd3, 0x3c,
-	0x14, 0x86, 0x95, 0xaf, 0xdf, 0xba, 0xd6, 0x6d, 0xa7, 0xc9, 0x48, 0x60, 0x81, 0x80, 0x32, 0x84,
-	0xd4, 0x1b, 0x92, 0x0b, 0x7e, 0x01, 0x95, 0x40, 0x2b, 0x02, 0x31, 0x65, 0x02, 0x2e, 0x23, 0x2f,
-	0x3d, 0x75, 0x2c, 0x5c, 0xdb, 0xd8, 0x27, 0x43, 0xdb, 0x8f, 0xe5, 0xb7, 0x20, 0x1f, 0x27, 0x12,
-	0x17, 0x5c, 0x70, 0xe9, 0xe7, 0x7d, 0xce, 0x6b, 0xc7, 0x31, 0x7b, 0xa7, 0x9c, 0x53, 0x06, 0x4a,
-	0xe5, 0x8c, 0xb4, 0xaa, 0x74, 0x41, 0x55, 0x0a, 0xac, 0x0f, 0x0e, 0x5d, 0x95, 0x23, 0xe9, 0x75,
-	0xac, 0x8c, 0x53, 0x4a, 0x5b, 0x55, 0xe1, 0x9d, 0x87, 0xaa, 0x43, 0xf4, 0x4d, 0x80, 0x1f, 0x3d,
-	0x44, 0x2c, 0x49, 0xe5, 0x0f, 0x86, 0x9a, 0xc1, 0x2b, 0x93, 0xf7, 0x78, 0xf7, 0x6f, 0xdd, 0xd2,
-	0xeb, 0x2a, 0x42, 0xb8, 0xd5, 0x2d, 0xb4, 0xce, 0x1e, 0xb4, 0xaa, 0xa4, 0xb5, 0x0e, 0x25, 0x6a,
-	0x67, 0x63, 0xee, 0xbf, 0xf8, 0x35, 0x61, 0x8b, 0x4b, 0x44, 0x5f, 0xe7, 0x5d, 0xf9, 0x2b, 0x76,
-	0x36, 0x1c, 0xa0, 0x39, 0x02, 0x76, 0x6e, 0x2f, 0x8a, 0x75, 0xb1, 0x99, 0xd7, 0xab, 0x81, 0x7e,
-	0x22, 0xc8, 0x9f, 0xb3, 0xc5, 0xa8, 0xf5, 0xc1, 0x88, 0xff, 0xc8, 0x61, 0x03, 0xfa, 0x12, 0x0c,
-	0x7f, 0xc1, 0x96, 0xa3, 0x10, 0xf5, 0x3d, 0x88, 0xc9, 0xba, 0xd8, 0x4c, 0xea, 0x71, 0xe8, 0x5a,
-	0xdf, 0x03, 0x7f, 0xc8, 0xa6, 0x11, 0x25, 0xf6, 0x51, 0xfc, 0xbf, 0x2e, 0x36, 0x27, 0xf5, 0xb0,
-	0xe2, 0x2f, 0xd9, 0x2a, 0x40, 0xf4, 0xce, 0x46, 0xc8, 0xb3, 0x27, 0x34, 0xbb, 0x1c, 0x21, 0x0d,
-	0x3f, 0x65, 0xac, 0x8f, 0x10, 0x1a, 0xa9, 0xc0, 0xa2, 0x98, 0xd2, 0xfe, 0xf3, 0x44, 0xde, 0x26,
-	0xc0, 0x9f, 0xb0, 0x79, 0x80, 0xa3, 0x43, 0x68, 0xb4, 0x17, 0xa7, 0x94, 0xce, 0x32, 0xd8, 0xf9,
-	0x14, 0xa6, 0x6b, 0x81, 0x90, 0xc2, 0x55, 0x0e, 0x33, 0xd8, 0x79, 0x2e, 0xd8, 0x69, 0x80, 0x03,
-	0x04, 0x08, 0x62, 0x46, 0xd1, 0xb8, 0x4c, 0x9f, 0xd4, 0xca, 0xb6, 0x83, 0xc6, 0x38, 0xf7, 0xbd,
-	0xf7, 0x62, 0xb1, 0x2e, 0x36, 0xb3, 0x7a, 0x41, 0xec, 0x23, 0xa1, 0xd4, 0x9c, 0x95, 0x4e, 0xa3,
-	0x98, 0x53, 0x3e, 0x23, 0x70, 0xa9, 0x91, 0x7f, 0x60, 0x17, 0x39, 0xbc, 0x95, 0x46, 0xef, 0x25,
-	0xc2, 0xbe, 0xf9, 0xa9, 0xb1, 0x6b, 0x5c, 0xd0, 0x4a, 0xdb, 0x26, 0x9f, 0x40, 0x30, 0x9a, 0x7a,
-	0x46, 0xe6, 0xd7, 0x51, 0xfc, 0xa6, 0xb1, 0xfb, 0x4c, 0xda, 0x35, 0x59, 0x7c, 0xc3, 0xce, 0x73,
-	0xd7, 0x41, 0x1b, 0xd3, 0xdc, 0xdc, 0x21, 0x44, 0xb1, 0xa4, 0x6b, 0x3a, 0x23, 0xfe, 0x5e, 0x1b,
-	0xb3, 0x4d, 0x74, 0xfb, 0x9a, 0x3d, 0x6a, 0xdd, 0xb1, 0xfc, 0xcb, 0x33, 0xda, 0x9e, 0xff, 0xf1,
-	0xe3, 0xaf, 0xd2, 0x6b, 0xb8, 0x2a, 0x6e, 0xa6, 0xf4, 0x2c, 0xde, 0xfc, 0x0e, 0x00, 0x00, 0xff,
-	0xff, 0xdf, 0xd7, 0xa9, 0xed, 0xbf, 0x02, 0x00, 0x00,
+	// 477 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x6f, 0x13, 0x31,
+	0x10, 0xc5, 0x15, 0xda, 0xe6, 0x8f, 0x37, 0x8d, 0x2a, 0x23, 0x81, 0x29, 0xe2, 0x5f, 0x11, 0x52,
+	0x2f, 0xac, 0x25, 0x7a, 0xe2, 0x48, 0x04, 0xa8, 0x45, 0x20, 0xaa, 0xad, 0x80, 0xe3, 0x6a, 0xb3,
+	0x71, 0xbc, 0x16, 0xce, 0xda, 0xd8, 0xde, 0xa0, 0xf0, 0x35, 0xf8, 0xc2, 0x8c, 0xc7, 0xbb, 0x88,
+	0x03, 0x87, 0x5e, 0xa2, 0xec, 0xef, 0xbd, 0x37, 0x1e, 0x8f, 0x87, 0xbc, 0x93, 0xc6, 0x48, 0x2d,
+	0x72, 0x69, 0x74, 0xd5, 0xca, 0xdc, 0x38, 0xc9, 0xa5, 0x68, 0xad, 0x33, 0xc1, 0xf0, 0x24, 0x55,
+	0x56, 0x79, 0xae, 0x8d, 0x94, 0xaa, 0x95, 0x3c, 0xec, 0xad, 0xe0, 0x4d, 0x08, 0xb6, 0x74, 0xe2,
+	0x47, 0x27, 0x7c, 0xc8, 0xd1, 0x4a, 0xef, 0xf6, 0x65, 0x7a, 0x5f, 0x1e, 0x7d, 0xa7, 0x57, 0xb7,
+	0xab, 0x0d, 0x3f, 0xdc, 0x0b, 0xb7, 0x53, 0xb5, 0xa8, 0x4d, 0xbb, 0x51, 0x92, 0x57, 0x6d, 0x6b,
+	0x42, 0x15, 0x94, 0x69, 0x7d, 0xaa, 0x7f, 0xfa, 0x5a, 0xaa, 0xd0, 0x74, 0xab, 0xbc, 0x36, 0x5b,
+	0x9e, 0xca, 0x71, 0x14, 0x56, 0xdd, 0x86, 0xdb, 0x78, 0x98, 0xe7, 0xeb, 0xce, 0x61, 0xe4, 0xef,
+	0x9f, 0x14, 0x3d, 0xfb, 0x7d, 0x48, 0xb2, 0x4b, 0xe8, 0xb8, 0x48, 0x0d, 0xd3, 0x17, 0x64, 0xd1,
+	0xf7, 0x5e, 0x6e, 0x45, 0x68, 0xcc, 0x9a, 0x8d, 0x9e, 0x8e, 0xce, 0x67, 0xc5, 0x71, 0x4f, 0x3f,
+	0x21, 0xa4, 0x4f, 0x48, 0x36, 0xd8, 0x3a, 0xa7, 0xd9, 0x1d, 0xf4, 0x90, 0x1e, 0x7d, 0x71, 0x9a,
+	0x3e, 0x23, 0xf3, 0xc1, 0xe0, 0xd5, 0x2f, 0xc1, 0x0e, 0xc0, 0x71, 0x50, 0x0c, 0xa1, 0x1b, 0x40,
+	0xf4, 0x1e, 0x19, 0x7b, 0xb8, 0x47, 0xe7, 0xd9, 0x21, 0x88, 0x47, 0x45, 0xff, 0x45, 0x9f, 0x13,
+	0x38, 0xcc, 0x5b, 0xb8, 0x9e, 0x48, 0xd9, 0x23, 0xcc, 0xce, 0x07, 0x88, 0xe1, 0x47, 0x84, 0x74,
+	0x30, 0x96, 0xb2, 0x82, 0x99, 0x05, 0x36, 0xc6, 0xf3, 0x67, 0x91, 0xbc, 0x89, 0x80, 0x3e, 0x24,
+	0x33, 0x27, 0xb6, 0x26, 0x88, 0x52, 0x59, 0x36, 0x41, 0x75, 0x9a, 0xc0, 0x95, 0x8d, 0x62, 0x9c,
+	0x28, 0xa4, 0x41, 0x3c, 0x4e, 0x62, 0x02, 0x20, 0x32, 0x32, 0x71, 0x62, 0x23, 0x9c, 0x70, 0x6c,
+	0x8a, 0xd2, 0xf0, 0x49, 0x2f, 0xc8, 0x44, 0x57, 0x41, 0xb4, 0xf5, 0x9e, 0x2d, 0x40, 0xc9, 0x5e,
+	0x3d, 0xc8, 0xfb, 0x27, 0x1c, 0x86, 0x9d, 0xbf, 0xed, 0x87, 0x5b, 0x0c, 0xce, 0x38, 0x87, 0xba,
+	0xaa, 0x1b, 0x51, 0x6a, 0x63, 0xbe, 0x77, 0x96, 0x65, 0x90, 0x9c, 0x16, 0x19, 0xb2, 0x8f, 0x88,
+	0x62, 0x3b, 0xc9, 0xd2, 0xa8, 0xc0, 0x66, 0xa8, 0x4f, 0x11, 0x5c, 0xaa, 0x40, 0x3f, 0x90, 0xb3,
+	0x24, 0xee, 0x2a, 0xad, 0xd6, 0x50, 0x74, 0x5d, 0xfe, 0x84, 0xc7, 0x2e, 0x8d, 0x53, 0xb0, 0x4a,
+	0x65, 0x6a, 0x9b, 0x11, 0x4c, 0x3d, 0x46, 0xe7, 0xd7, 0xc1, 0xf8, 0x0d, 0x7c, 0x9f, 0xd1, 0x76,
+	0x83, 0x2e, 0x7a, 0x4e, 0x4e, 0x52, 0xad, 0x8d, 0xd2, 0xba, 0x5c, 0xed, 0x83, 0xf0, 0x6c, 0x8e,
+	0xb3, 0x5d, 0x20, 0x7f, 0x0f, 0x78, 0x19, 0xe9, 0xf2, 0x25, 0xb9, 0x0f, 0xbb, 0x94, 0xff, 0x67,
+	0x6d, 0x97, 0x27, 0xff, 0x6c, 0xcb, 0x75, 0xbc, 0xf7, 0xf5, 0x68, 0x35, 0xc6, 0x01, 0x5c, 0xfc,
+	0x09, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x1c, 0x8f, 0x8c, 0x2f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/http_request.proto b/googleapis/logging/type/http_request.proto
index 1dccb011..34345b7a 100644
--- a/googleapis/logging/type/http_request.proto
+++ b/googleapis/logging/type/http_request.proto
@@ -17,14 +17,16 @@ syntax = "proto3";
 package google.logging.type;
 
 import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
+import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
 
 option java_multiple_files = true;
 option java_outer_classname = "HttpRequestProto";
 option java_package = "com.google.logging.type";
 
 
-// A common proto for logging HTTP requests.
-//
+// A common proto for logging HTTP requests. Only contains semantics
+// defined by the HTTP specification. Product-specific logging
+// information MUST be defined in a separate message.
 message HttpRequest {
   // The request method. Examples: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`.
   string request_method = 1;
@@ -62,6 +64,10 @@ message HttpRequest {
   // [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
   string referer = 8;
 
+  // The request processing latency on the server, from the time the request was
+  // received until the response was sent.
+  google.protobuf.Duration latency = 14;
+
   // Whether or not a cache lookup was attempted.
   bool cache_lookup = 11;
 
diff --git a/googleapis/logging/type/log_severity.pb.go b/googleapis/logging/type/log_severity.pb.go
index 997c1858..47f12199 100644
--- a/googleapis/logging/type/log_severity.pb.go
+++ b/googleapis/logging/type/log_severity.pb.go
@@ -14,35 +14,42 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// The severity of the event described in a log entry.  These guideline severity
-// levels are ordered, with numerically smaller levels treated as less severe
-// than numerically larger levels. If the source of the log entries uses a
-// different set of severity levels, the client should select the closest
-// corresponding `LogSeverity` value. For example, Java's FINE, FINER, and
-// FINEST levels might all map to `LogSeverity.DEBUG`. If the original severity
-// code must be preserved, it can be stored in the payload.
+// The severity of the event described in a log entry, expressed as one of the
+// standard severity levels listed below.  For your reference, the levels are
+// assigned the listed numeric values. The effect of using numeric values other
+// than those listed is undefined.
 //
+// You can filter for log entries by severity.  For example, the following
+// filter expression will match log entries with severities `INFO`, `NOTICE`,
+// and `WARNING`:
+//
+//     severity > DEBUG AND severity <= WARNING
+//
+// If you are writing log entries, you should map other severity encodings to
+// one of these standard levels. For example, you might map all of Java's FINE,
+// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the
+// original severity level in the log entry payload if you wish.
 type LogSeverity int32
 
 const (
-	// The log entry has no assigned severity level.
+	// (0) The log entry has no assigned severity level.
 	LogSeverity_DEFAULT LogSeverity = 0
-	// Debug or trace information.
+	// (100) Debug or trace information.
 	LogSeverity_DEBUG LogSeverity = 100
-	// Routine information, such as ongoing status or performance.
+	// (200) Routine information, such as ongoing status or performance.
 	LogSeverity_INFO LogSeverity = 200
-	// Normal but significant events, such as start up, shut down, or
-	// configuration.
+	// (300) Normal but significant events, such as start up, shut down, or
+	// a configuration change.
 	LogSeverity_NOTICE LogSeverity = 300
-	// Warning events might cause problems.
+	// (400) Warning events might cause problems.
 	LogSeverity_WARNING LogSeverity = 400
-	// Error events are likely to cause problems.
+	// (500) Error events are likely to cause problems.
 	LogSeverity_ERROR LogSeverity = 500
-	// Critical events cause more severe problems or brief outages.
+	// (600) Critical events cause more severe problems or outages.
 	LogSeverity_CRITICAL LogSeverity = 600
-	// A person must take an action immediately.
+	// (700) A person must take an action immediately.
 	LogSeverity_ALERT LogSeverity = 700
-	// One or more systems are unusable.
+	// (800) One or more systems are unusable.
 	LogSeverity_EMERGENCY LogSeverity = 800
 )
 
@@ -83,23 +90,23 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 282 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x41, 0x4a, 0xfb, 0x40,
-	0x14, 0x87, 0xff, 0xfd, 0xb7, 0x49, 0xcd, 0x8b, 0xca, 0x30, 0x2e, 0x04, 0x8f, 0x20, 0x98, 0x59,
-	0x78, 0x82, 0x24, 0x9d, 0x86, 0x81, 0x98, 0x94, 0x31, 0x45, 0x5c, 0x49, 0x8c, 0xe3, 0x30, 0x10,
-	0xe7, 0x85, 0x24, 0x14, 0xba, 0xf5, 0x04, 0x1e, 0xc1, 0x03, 0x78, 0x04, 0x0f, 0xe0, 0x11, 0x3c,
-	0x88, 0x07, 0x90, 0xb4, 0x59, 0xb8, 0x70, 0xe1, 0x72, 0xf8, 0x7d, 0x7c, 0xf3, 0x3d, 0xe0, 0x1a,
-	0x51, 0xd7, 0x2a, 0xd0, 0x58, 0x97, 0x56, 0x07, 0xd8, 0x6a, 0xa6, 0x95, 0x6d, 0x5a, 0xec, 0x91,
-	0xed, 0xa7, 0xb2, 0x31, 0x1d, 0xab, 0x51, 0x6b, 0x63, 0x35, 0xeb, 0xb7, 0x8d, 0x1a, 0x1e, 0x77,
-	0x9d, 0xda, 0xa8, 0xd6, 0xf4, 0xdb, 0x60, 0x87, 0xd2, 0x93, 0x51, 0x33, 0x72, 0xc1, 0xc0, 0x9d,
-	0x89, 0xbf, 0xb9, 0xcb, 0xc6, 0xb0, 0x4e, 0xb5, 0x1b, 0x53, 0xa9, 0x0a, 0xed, 0xa3, 0xd1, 0xac,
-	0xb4, 0x16, 0xfb, 0xb2, 0x37, 0x68, 0xbb, 0xbd, 0xff, 0xfc, 0x79, 0x02, 0x7e, 0x8a, 0xfa, 0x7a,
-	0xfc, 0x95, 0xfa, 0x30, 0x5f, 0xf0, 0x65, 0xb8, 0x4e, 0x0b, 0xf2, 0x8f, 0x7a, 0xe0, 0x2c, 0x78,
-	0xb4, 0x4e, 0xc8, 0x03, 0xf5, 0x60, 0x26, 0xb2, 0x65, 0x4e, 0x3e, 0x26, 0xd4, 0x07, 0x37, 0xcb,
-	0x0b, 0x11, 0x73, 0xf2, 0xf6, 0x9f, 0x1e, 0xc2, 0xfc, 0x26, 0x94, 0x99, 0xc8, 0x12, 0xf2, 0x32,
-	0xa5, 0x00, 0x0e, 0x97, 0x32, 0x97, 0xe4, 0x6b, 0x4a, 0x8f, 0xe0, 0x20, 0x96, 0xa2, 0x10, 0x71,
-	0x98, 0x92, 0xcf, 0xd9, 0x30, 0x85, 0x29, 0x97, 0x05, 0x79, 0x77, 0xe8, 0x31, 0x78, 0xfc, 0x8a,
-	0xcb, 0x84, 0x67, 0xf1, 0x2d, 0x79, 0x75, 0xa3, 0x0b, 0x38, 0xad, 0xf0, 0x29, 0xf8, 0xe5, 0xd4,
-	0x88, 0xfc, 0x88, 0x5b, 0x0d, 0xc5, 0xab, 0xc9, 0xbd, 0xbb, 0x4b, 0xbf, 0xfc, 0x0e, 0x00, 0x00,
-	0xff, 0xff, 0x01, 0xa8, 0xad, 0x71, 0x63, 0x01, 0x00, 0x00,
+	// 278 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x4d, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
+	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0xe7, 0xe4,
+	0xa7, 0xa7, 0x67, 0xe6, 0xa5, 0xeb, 0x97, 0x54, 0x16, 0xa4, 0x82, 0x38, 0xf1, 0xc5, 0xa9, 0x65,
+	0xa9, 0x45, 0x99, 0x25, 0x95, 0x7a, 0x60, 0xa5, 0x42, 0xc2, 0x50, 0x63, 0xa0, 0xea, 0xf4, 0x40,
+	0xea, 0xa4, 0x3c, 0x89, 0x33, 0x1b, 0x48, 0xe8, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x26,
+	0xe7, 0xe7, 0xa5, 0x65, 0xa6, 0xeb, 0x27, 0xe6, 0xe5, 0xe5, 0x97, 0x24, 0x96, 0x64, 0xe6, 0xe7,
+	0x15, 0x43, 0xcc, 0xd7, 0x6a, 0x62, 0xe4, 0xe2, 0xf6, 0xc9, 0x4f, 0x0f, 0x86, 0xda, 0x2a, 0xc4,
+	0xcd, 0xc5, 0xee, 0xe2, 0xea, 0xe6, 0x18, 0xea, 0x13, 0x22, 0xc0, 0x20, 0xc4, 0xc9, 0xc5, 0xea,
+	0xe2, 0xea, 0x14, 0xea, 0x2e, 0x90, 0x02, 0x64, 0xb2, 0x78, 0xfa, 0xb9, 0xf9, 0x0b, 0x9c, 0x60,
+	0x04, 0x2a, 0x61, 0xf3, 0xf3, 0x0f, 0xf1, 0x74, 0x76, 0x15, 0x58, 0xc3, 0x24, 0xc4, 0xc3, 0xc5,
+	0x1e, 0xee, 0x18, 0xe4, 0xe7, 0xe9, 0xe7, 0x2e, 0x30, 0x81, 0x59, 0x88, 0x8b, 0x8b, 0xd5, 0x35,
+	0x28, 0xc8, 0x3f, 0x48, 0xe0, 0x0b, 0xb3, 0x10, 0x2f, 0x17, 0x87, 0x73, 0x90, 0x27, 0x50, 0x9d,
+	0xa3, 0x8f, 0xc0, 0x0d, 0x16, 0x90, 0x94, 0xa3, 0x8f, 0x6b, 0x50, 0x88, 0xc0, 0x1e, 0x56, 0x21,
+	0x3e, 0x2e, 0x4e, 0x57, 0x5f, 0xd7, 0x20, 0x77, 0x57, 0x3f, 0xe7, 0x48, 0x81, 0x05, 0x6c, 0x4e,
+	0xba, 0x5c, 0xe2, 0xc9, 0xf9, 0xb9, 0x7a, 0x58, 0xbc, 0xea, 0x24, 0x80, 0xe4, 0xb8, 0x00, 0x90,
+	0x8b, 0x03, 0x18, 0x93, 0xd8, 0xc0, 0x4e, 0x37, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x01, 0xa8,
+	0xad, 0x71, 0x63, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/log_severity.proto b/googleapis/logging/type/log_severity.proto
index 90e2a808..bcb451ac 100644
--- a/googleapis/logging/type/log_severity.proto
+++ b/googleapis/logging/type/log_severity.proto
@@ -23,40 +23,47 @@ option java_outer_classname = "LogSeverityProto";
 option java_package = "com.google.logging.type";
 
 
-// The severity of the event described in a log entry.  These guideline severity
-// levels are ordered, with numerically smaller levels treated as less severe
-// than numerically larger levels. If the source of the log entries uses a
-// different set of severity levels, the client should select the closest
-// corresponding `LogSeverity` value. For example, Java's FINE, FINER, and
-// FINEST levels might all map to `LogSeverity.DEBUG`. If the original severity
-// code must be preserved, it can be stored in the payload.
+// The severity of the event described in a log entry, expressed as one of the
+// standard severity levels listed below.  For your reference, the levels are
+// assigned the listed numeric values. The effect of using numeric values other
+// than those listed is undefined.
 //
+// You can filter for log entries by severity.  For example, the following
+// filter expression will match log entries with severities `INFO`, `NOTICE`,
+// and `WARNING`:
+//
+//     severity > DEBUG AND severity <= WARNING
+//
+// If you are writing log entries, you should map other severity encodings to
+// one of these standard levels. For example, you might map all of Java's FINE,
+// FINER, and FINEST levels to `LogSeverity.DEBUG`. You can preserve the
+// original severity level in the log entry payload if you wish.
 enum LogSeverity {
-  // The log entry has no assigned severity level.
+  // (0) The log entry has no assigned severity level.
   DEFAULT = 0;
 
-  // Debug or trace information.
+  // (100) Debug or trace information.
   DEBUG = 100;
 
-  // Routine information, such as ongoing status or performance.
+  // (200) Routine information, such as ongoing status or performance.
   INFO = 200;
 
-  // Normal but significant events, such as start up, shut down, or
-  // configuration.
+  // (300) Normal but significant events, such as start up, shut down, or
+  // a configuration change.
   NOTICE = 300;
 
-  // Warning events might cause problems.
+  // (400) Warning events might cause problems.
   WARNING = 400;
 
-  // Error events are likely to cause problems.
+  // (500) Error events are likely to cause problems.
   ERROR = 500;
 
-  // Critical events cause more severe problems or brief outages.
+  // (600) Critical events cause more severe problems or outages.
   CRITICAL = 600;
 
-  // A person must take an action immediately.
+  // (700) A person must take an action immediately.
   ALERT = 700;
 
-  // One or more systems are unusable.
+  // (800) One or more systems are unusable.
   EMERGENCY = 800;
 }
diff --git a/googleapis/logging/v2/log_entry.pb.go b/googleapis/logging/v2/log_entry.pb.go
index 18197b98..c2e9852b 100644
--- a/googleapis/logging/v2/log_entry.pb.go
+++ b/googleapis/logging/v2/log_entry.pb.go
@@ -7,13 +7,20 @@ Package v2 is a generated protocol buffer package.
 
 It is generated from these files:
 	google.golang.org/genproto/googleapis/logging/v2/log_entry.proto
+	google.golang.org/genproto/googleapis/logging/v2/logging.proto
 	google.golang.org/genproto/googleapis/logging/v2/logging_config.proto
 	google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging.proto
 
 It has these top-level messages:
 	LogEntry
 	LogEntryOperation
+	DeleteLogRequest
+	WriteLogEntriesRequest
+	WriteLogEntriesResponse
+	ListLogEntriesRequest
+	ListLogEntriesResponse
+	ListMonitoredResourceDescriptorsRequest
+	ListMonitoredResourceDescriptorsResponse
 	LogSink
 	ListSinksRequest
 	ListSinksResponse
@@ -28,13 +35,6 @@ It has these top-level messages:
 	CreateLogMetricRequest
 	UpdateLogMetricRequest
 	DeleteLogMetricRequest
-	DeleteLogRequest
-	WriteLogEntriesRequest
-	WriteLogEntriesResponse
-	ListLogEntriesRequest
-	ListLogEntriesResponse
-	ListMonitoredResourceDescriptorsRequest
-	ListMonitoredResourceDescriptorsResponse
 */
 package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
 
@@ -45,9 +45,9 @@ import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_logging_type "google.golang.org/genproto/googleapis/logging/type"
 import google_logging_type1 "google.golang.org/genproto/googleapis/logging/type"
-import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
-import google_protobuf2 "github.com/golang/protobuf/ptypes/struct"
-import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
+import google_protobuf2 "github.com/golang/protobuf/ptypes/any"
+import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
+import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -79,7 +79,7 @@ type LogEntry struct {
 	// associated with the monitored resource designating the particular
 	// database that reported the error.
 	Resource *google_api3.MonitoredResource `protobuf:"bytes,8,opt,name=resource" json:"resource,omitempty"`
-	// Required. The log entry payload, which can be one of multiple types.
+	// Optional. The log entry payload, which can be one of multiple types.
 	//
 	// Types that are valid to be assigned to Payload:
 	//	*LogEntry_ProtoPayload
@@ -88,18 +88,18 @@ type LogEntry struct {
 	Payload isLogEntry_Payload `protobuf_oneof:"payload"`
 	// Optional. The time the event described by the log entry occurred.  If
 	// omitted, Stackdriver Logging will use the time the log entry is received.
-	Timestamp *google_protobuf3.Timestamp `protobuf:"bytes,9,opt,name=timestamp" json:"timestamp,omitempty"`
+	Timestamp *google_protobuf4.Timestamp `protobuf:"bytes,9,opt,name=timestamp" json:"timestamp,omitempty"`
 	// Optional. The severity of the log entry. The default value is
 	// `LogSeverity.DEFAULT`.
 	Severity google_logging_type1.LogSeverity `protobuf:"varint,10,opt,name=severity,enum=google.logging.type.LogSeverity" json:"severity,omitempty"`
 	// Optional. A unique ID for the log entry. If you provide this
 	// field, the logging service considers other log entries in the
-	// same log with the same ID as duplicates which can be removed.  If
+	// same project with the same ID as duplicates which can be removed.  If
 	// omitted, Stackdriver Logging will generate a unique ID for this
 	// log entry.
 	InsertId string `protobuf:"bytes,4,opt,name=insert_id,json=insertId" json:"insert_id,omitempty"`
-	// Optional. Information about the HTTP request associated with this log entry,
-	// if applicable.
+	// Optional. Information about the HTTP request associated with this
+	// log entry, if applicable.
 	HttpRequest *google_logging_type.HttpRequest `protobuf:"bytes,7,opt,name=http_request,json=httpRequest" json:"http_request,omitempty"`
 	// Optional. A set of user-defined (key, value) data that provides additional
 	// information about the log entry.
@@ -119,13 +119,13 @@ type isLogEntry_Payload interface {
 }
 
 type LogEntry_ProtoPayload struct {
-	ProtoPayload *google_protobuf1.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,oneof"`
+	ProtoPayload *google_protobuf2.Any `protobuf:"bytes,2,opt,name=proto_payload,json=protoPayload,oneof"`
 }
 type LogEntry_TextPayload struct {
 	TextPayload string `protobuf:"bytes,3,opt,name=text_payload,json=textPayload,oneof"`
 }
 type LogEntry_JsonPayload struct {
-	JsonPayload *google_protobuf2.Struct `protobuf:"bytes,6,opt,name=json_payload,json=jsonPayload,oneof"`
+	JsonPayload *google_protobuf3.Struct `protobuf:"bytes,6,opt,name=json_payload,json=jsonPayload,oneof"`
 }
 
 func (*LogEntry_ProtoPayload) isLogEntry_Payload() {}
@@ -146,7 +146,7 @@ func (m *LogEntry) GetResource() *google_api3.MonitoredResource {
 	return nil
 }
 
-func (m *LogEntry) GetProtoPayload() *google_protobuf1.Any {
+func (m *LogEntry) GetProtoPayload() *google_protobuf2.Any {
 	if x, ok := m.GetPayload().(*LogEntry_ProtoPayload); ok {
 		return x.ProtoPayload
 	}
@@ -160,14 +160,14 @@ func (m *LogEntry) GetTextPayload() string {
 	return ""
 }
 
-func (m *LogEntry) GetJsonPayload() *google_protobuf2.Struct {
+func (m *LogEntry) GetJsonPayload() *google_protobuf3.Struct {
 	if x, ok := m.GetPayload().(*LogEntry_JsonPayload); ok {
 		return x.JsonPayload
 	}
 	return nil
 }
 
-func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
+func (m *LogEntry) GetTimestamp() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.Timestamp
 	}
@@ -235,7 +235,7 @@ func _LogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
 		if wire != proto.WireBytes {
 			return true, proto.ErrInternalBadWireType
 		}
-		msg := new(google_protobuf1.Any)
+		msg := new(google_protobuf2.Any)
 		err := b.DecodeMessage(msg)
 		m.Payload = &LogEntry_ProtoPayload{msg}
 		return true, err
@@ -250,7 +250,7 @@ func _LogEntry_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffe
 		if wire != proto.WireBytes {
 			return true, proto.ErrInternalBadWireType
 		}
-		msg := new(google_protobuf2.Struct)
+		msg := new(google_protobuf3.Struct)
 		err := b.DecodeMessage(msg)
 		m.Payload = &LogEntry_JsonPayload{msg}
 		return true, err
@@ -287,14 +287,12 @@ func _LogEntry_OneofSizer(msg proto.Message) (n int) {
 // Additional information about a potentially long-running operation with which
 // a log entry is associated.
 type LogEntryOperation struct {
-	// Required. An arbitrary operation identifier. Log entries with the
+	// Optional. An arbitrary operation identifier. Log entries with the
 	// same identifier are assumed to be part of the same operation.
-	//
 	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
-	// Required. An arbitrary producer identifier. The combination of
+	// Optional. An arbitrary producer identifier. The combination of
 	// `id` and `producer` must be globally unique.  Examples for `producer`:
 	// `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
-	//
 	Producer string `protobuf:"bytes,2,opt,name=producer" json:"producer,omitempty"`
 	// Optional. Set this to True if this is the first log entry in the operation.
 	First bool `protobuf:"varint,3,opt,name=first" json:"first,omitempty"`
@@ -317,44 +315,44 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 622 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xef, 0x6b, 0x13, 0x31,
-	0x18, 0xde, 0x75, 0xbf, 0xee, 0xd2, 0x6e, 0xba, 0x30, 0xf1, 0xac, 0x08, 0x65, 0x0a, 0xf6, 0x53,
-	0x4e, 0x2a, 0xc2, 0xe6, 0x06, 0x6a, 0x65, 0xb0, 0xc1, 0x74, 0x23, 0xf3, 0x93, 0x20, 0x25, 0xbd,
-	0xcb, 0xd2, 0xe8, 0x5d, 0x72, 0x26, 0xb9, 0x62, 0xff, 0x20, 0xff, 0x47, 0x3f, 0x4a, 0x72, 0xb9,
-	0x76, 0x58, 0x71, 0x1b, 0x7e, 0x28, 0x7d, 0xdf, 0xe4, 0x79, 0x9e, 0xf7, 0xcd, 0xf3, 0x26, 0x07,
-	0xde, 0x32, 0x29, 0x59, 0x4e, 0x11, 0x93, 0x39, 0x11, 0x0c, 0x49, 0xc5, 0x12, 0x46, 0x45, 0xa9,
-	0xa4, 0x91, 0x49, 0xbd, 0x45, 0x4a, 0xae, 0x93, 0x5c, 0x32, 0xc6, 0x05, 0x4b, 0xa6, 0x03, 0x1b,
-	0x8e, 0xa8, 0x30, 0x6a, 0x86, 0x1c, 0x0a, 0xee, 0x78, 0x05, 0x0f, 0x41, 0xd3, 0x41, 0xf7, 0xf4,
-	0x76, 0xa2, 0xa4, 0xe4, 0x89, 0xa6, 0x6a, 0xca, 0x53, 0x9a, 0x4a, 0x71, 0xc5, 0x59, 0x42, 0x84,
-	0x90, 0x86, 0x18, 0x2e, 0x85, 0xae, 0xd5, 0xbb, 0xe7, 0xb7, 0x97, 0x2a, 0xa4, 0xe0, 0x46, 0x2a,
-	0x9a, 0x29, 0xaa, 0x17, 0xc9, 0x48, 0x51, 0x2d, 0x2b, 0x95, 0x52, 0x2f, 0x78, 0x7c, 0xb7, 0x03,
-	0x9b, 0x59, 0x49, 0x93, 0x89, 0x31, 0xe5, 0x48, 0xd1, 0xef, 0x15, 0xd5, 0xe6, 0x3f, 0x64, 0xac,
-	0x73, 0x9a, 0x4e, 0xa9, 0xe2, 0xc6, 0x9b, 0xd7, 0x4d, 0x18, 0x37, 0x93, 0x6a, 0x8c, 0x52, 0x59,
-	0x24, 0xb5, 0x54, 0xe2, 0x36, 0xc6, 0xd5, 0x55, 0x52, 0x5a, 0x92, 0x4e, 0x88, 0x98, 0xd9, 0x9f,
-	0x27, 0xbc, 0xba, 0x99, 0xa0, 0x8d, 0xaa, 0x52, 0xe3, 0xff, 0x3c, 0xed, 0xf0, 0x66, 0x9a, 0xe1,
-	0x05, 0xd5, 0x86, 0x14, 0xe5, 0x22, 0xaa, 0xc9, 0x7b, 0x3f, 0xd7, 0x41, 0x78, 0x26, 0xd9, 0xb1,
-	0x1d, 0x3a, 0x7c, 0x04, 0x42, 0x7b, 0x0e, 0x41, 0x0a, 0x1a, 0x77, 0x7a, 0x41, 0x3f, 0xc2, 0x9b,
-	0xb9, 0x64, 0x1f, 0x49, 0x41, 0xe1, 0x01, 0x08, 0x1b, 0xb3, 0xe3, 0xb0, 0x17, 0xf4, 0xdb, 0x83,
-	0x27, 0xc8, 0xdb, 0x44, 0x4a, 0x8e, 0x3e, 0x34, 0x23, 0xc1, 0x1e, 0x84, 0xe7, 0x70, 0x78, 0x08,
-	0xb6, 0x5c, 0xad, 0x51, 0x49, 0x66, 0xb9, 0x24, 0x59, 0xdc, 0x72, 0xfc, 0xdd, 0x86, 0xdf, 0x34,
-	0x8b, 0xde, 0x89, 0xd9, 0xc9, 0x0a, 0xee, 0xb8, 0xfc, 0xa2, 0xc6, 0xc2, 0xa7, 0xa0, 0x63, 0xe8,
-	0x0f, 0x33, 0xe7, 0xae, 0xda, 0xb6, 0x4e, 0x56, 0x70, 0xdb, 0xae, 0x36, 0xa0, 0x23, 0xd0, 0xf9,
-	0xaa, 0xa5, 0x98, 0x83, 0x36, 0x5c, 0x81, 0x87, 0x4b, 0x05, 0x2e, 0x9d, 0x6d, 0x96, 0x6d, 0xe1,
-	0x0d, 0x7b, 0x1f, 0x44, 0x73, 0x57, 0xe2, 0xc8, 0x51, 0xbb, 0x4b, 0xd4, 0x4f, 0x0d, 0x02, 0x2f,
-	0xc0, 0xf0, 0x08, 0x84, 0xcd, 0xcc, 0x63, 0xd0, 0x0b, 0xfa, 0xdb, 0x83, 0x1e, 0xfa, 0xe3, 0xc5,
-	0x58, 0xff, 0xd1, 0x99, 0x64, 0x97, 0x1e, 0x87, 0xe7, 0x0c, 0xf8, 0x18, 0x44, 0x5c, 0x68, 0xaa,
-	0xcc, 0x88, 0x67, 0xf1, 0x9a, 0xb3, 0x3b, 0xac, 0x17, 0x4e, 0x33, 0xf8, 0x1e, 0x74, 0xae, 0xdf,
-	0xcc, 0x78, 0xd3, 0xf5, 0xf5, 0x77, 0xf9, 0x13, 0x63, 0x4a, 0x5c, 0xe3, 0x70, 0x7b, 0xb2, 0x48,
-	0xe0, 0x1b, 0xb0, 0x91, 0x93, 0x31, 0xcd, 0x75, 0xdc, 0xee, 0xad, 0xf6, 0xdb, 0x83, 0xe7, 0x68,
-	0xe9, 0x3d, 0xa3, 0x66, 0xf8, 0xe8, 0xcc, 0x21, 0x5d, 0x8c, 0x3d, 0x0d, 0x0e, 0x41, 0x24, 0x4b,
-	0xaa, 0xdc, 0xab, 0x8d, 0xef, 0xb9, 0x16, 0x9e, 0xfd, 0x43, 0xe3, 0xbc, 0xc1, 0xe2, 0x05, 0xad,
-	0x7b, 0x00, 0xda, 0xd7, 0xa4, 0xe1, 0x7d, 0xb0, 0xfa, 0x8d, 0xce, 0xe2, 0xc0, 0x9d, 0xd7, 0x86,
-	0x70, 0x17, 0xac, 0x4f, 0x49, 0x5e, 0x51, 0x77, 0x2f, 0x22, 0x5c, 0x27, 0xaf, 0x5b, 0xfb, 0xc1,
-	0x30, 0x02, 0x9b, 0x7e, 0xa4, 0x7b, 0x1c, 0xec, 0x2c, 0x55, 0x81, 0xdb, 0xa0, 0xc5, 0x33, 0x2f,
-	0xd5, 0xe2, 0x19, 0xec, 0x82, 0xb0, 0x54, 0x32, 0xab, 0x52, 0xaa, 0xbc, 0xd8, 0x3c, 0xb7, 0x55,
-	0xae, 0xb8, 0xd2, 0xc6, 0xdd, 0xa0, 0x10, 0xd7, 0x09, 0x84, 0x60, 0x2d, 0x27, 0xda, 0x38, 0xfb,
-	0x43, 0xec, 0xe2, 0xe1, 0x17, 0xf0, 0x20, 0x95, 0xc5, 0xf2, 0x31, 0x87, 0x5b, 0x4d, 0x07, 0x17,
-	0xee, 0x86, 0x06, 0x9f, 0x5f, 0xdc, 0xf5, 0x03, 0xfb, 0x2b, 0x08, 0xc6, 0x1b, 0x6e, 0xff, 0xe5,
-	0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x1e, 0x4b, 0x59, 0x17, 0x9e, 0x05, 0x00, 0x00,
+	// 617 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0x5f, 0x6f, 0xd3, 0x3e,
+	0x14, 0xfd, 0x65, 0xff, 0x9a, 0xb8, 0xdd, 0x7e, 0xcc, 0x1a, 0x22, 0x04, 0x21, 0x55, 0x03, 0x09,
+	0x9e, 0x1c, 0x54, 0x84, 0xb4, 0x31, 0x24, 0xa0, 0x68, 0xd2, 0x26, 0x0d, 0x36, 0x79, 0x3c, 0x21,
+	0xa1, 0x2a, 0x4d, 0x5d, 0xd7, 0x90, 0xda, 0xc1, 0x71, 0x2a, 0xf2, 0x81, 0xf8, 0x8e, 0x3c, 0x62,
+	0x3b, 0x4e, 0x3a, 0x51, 0xc4, 0x36, 0xf1, 0xd0, 0xf6, 0x5e, 0xfb, 0x9c, 0x73, 0x7d, 0xcf, 0xb5,
+	0x0b, 0xde, 0x50, 0x21, 0x68, 0x46, 0x10, 0x15, 0x59, 0xc2, 0x29, 0x12, 0x92, 0xc6, 0x94, 0xf0,
+	0x5c, 0x0a, 0x25, 0xe2, 0x7a, 0x2b, 0xc9, 0x59, 0x11, 0x67, 0x82, 0x52, 0xc6, 0x69, 0xbc, 0x18,
+	0x98, 0x70, 0x44, 0xb8, 0x92, 0x15, 0xb2, 0x28, 0xb8, 0xeb, 0x14, 0x1c, 0x04, 0x2d, 0x06, 0xd1,
+	0xe9, 0xcd, 0x44, 0xf5, 0x57, 0x5c, 0x10, 0xb9, 0x60, 0x29, 0x49, 0x05, 0x9f, 0x32, 0x1a, 0x27,
+	0x9c, 0x0b, 0x95, 0x28, 0x26, 0x78, 0x51, 0xab, 0x47, 0xe7, 0x37, 0x97, 0x9a, 0x0b, 0xce, 0x94,
+	0x90, 0x64, 0x22, 0x49, 0xb1, 0x4c, 0x46, 0x3a, 0x13, 0xa5, 0x4c, 0x89, 0x13, 0x3c, 0xbe, 0x5d,
+	0xc3, 0xaa, 0xca, 0x49, 0x3c, 0x53, 0x2a, 0xd7, 0x3a, 0xdf, 0x4a, 0x52, 0xa8, 0x7f, 0x90, 0x31,
+	0xce, 0x15, 0x64, 0x41, 0x24, 0x53, 0xce, 0xbc, 0x28, 0xa6, 0x4c, 0xcd, 0xca, 0x31, 0x4a, 0xc5,
+	0x3c, 0xae, 0xa5, 0x62, 0xbb, 0x31, 0x2e, 0xa7, 0x71, 0x6e, 0x48, 0xba, 0x35, 0x5e, 0x99, 0x8f,
+	0x23, 0xbc, 0xb8, 0x9e, 0x50, 0x28, 0x59, 0xa6, 0xca, 0xfd, 0x38, 0xda, 0xd1, 0xf5, 0x34, 0xc5,
+	0xe6, 0xba, 0xbd, 0x64, 0x9e, 0x2f, 0xa3, 0x9a, 0xbc, 0xff, 0x63, 0x13, 0xf8, 0x67, 0x82, 0x1e,
+	0x9b, 0xa1, 0xc3, 0xfb, 0xc0, 0x37, 0x7d, 0xf0, 0x64, 0x4e, 0xc2, 0x5e, 0xdf, 0x7b, 0x1a, 0xe0,
+	0x8e, 0xce, 0x3f, 0xe8, 0x14, 0x1e, 0x02, 0xbf, 0x31, 0x3b, 0xf4, 0xf5, 0x56, 0x77, 0xf0, 0x10,
+	0x39, 0x9b, 0xb4, 0x19, 0xe8, 0x7d, 0x33, 0x12, 0xec, 0x40, 0xb8, 0x85, 0xc3, 0x23, 0xb0, 0x6d,
+	0x6b, 0x8d, 0xf2, 0xa4, 0xca, 0x44, 0x32, 0x09, 0xd7, 0x2c, 0x7f, 0xaf, 0xe1, 0x37, 0x87, 0x45,
+	0x6f, 0x79, 0x75, 0xf2, 0x1f, 0xee, 0xd9, 0xfc, 0xa2, 0xc6, 0xc2, 0x47, 0xa0, 0xa7, 0xc8, 0x77,
+	0xd5, 0x72, 0xd7, 0xcd, 0xb1, 0x34, 0xaa, 0x6b, 0x56, 0x1b, 0xd0, 0x2b, 0xd0, 0xfb, 0x52, 0x08,
+	0xde, 0x82, 0xb6, 0x6c, 0x81, 0x7b, 0x2b, 0x05, 0x2e, 0xad, 0x6d, 0x86, 0x6d, 0xe0, 0x0d, 0xfb,
+	0x00, 0x04, 0xad, 0x2b, 0x61, 0x60, 0xa9, 0xd1, 0x0a, 0xf5, 0x63, 0x83, 0xc0, 0x4b, 0xb0, 0xae,
+	0xeb, 0x37, 0x33, 0x0f, 0x81, 0x26, 0xee, 0x0c, 0xfa, 0xe8, 0xb7, 0x17, 0x63, 0xfc, 0x47, 0xda,
+	0xe0, 0x4b, 0x87, 0xc3, 0x2d, 0x03, 0x3e, 0x00, 0x01, 0xe3, 0xfa, 0x8d, 0xa8, 0x11, 0x9b, 0x84,
+	0x1b, 0xd6, 0x6e, 0xbf, 0x5e, 0x38, 0x9d, 0xc0, 0x77, 0xa0, 0x77, 0xf5, 0x66, 0x86, 0x1d, 0x7b,
+	0xae, 0x3f, 0xcb, 0x9f, 0x68, 0x20, 0xae, 0x71, 0xb8, 0x3b, 0x5b, 0x26, 0xf0, 0x35, 0xd8, 0xca,
+	0x92, 0x31, 0xc9, 0x8a, 0xb0, 0xdb, 0x5f, 0xd7, 0xf4, 0x27, 0x68, 0xe5, 0x3d, 0xa3, 0x66, 0xf8,
+	0xe8, 0xcc, 0x22, 0x6d, 0x8c, 0x1d, 0x0d, 0x0e, 0x41, 0x20, 0x72, 0x22, 0xed, 0xab, 0x0d, 0xff,
+	0xb7, 0x47, 0x78, 0xfc, 0x17, 0x8d, 0xf3, 0x06, 0x8b, 0x97, 0xb4, 0xe8, 0x10, 0x74, 0xaf, 0x48,
+	0xc3, 0x3b, 0x60, 0xfd, 0x2b, 0xa9, 0x42, 0xcf, 0xf6, 0x6b, 0x42, 0xb8, 0x07, 0x36, 0x17, 0x49,
+	0x56, 0x12, 0x7b, 0x2f, 0x02, 0x5c, 0x27, 0x2f, 0xd7, 0x0e, 0xbc, 0x61, 0x00, 0x3a, 0x6e, 0xa4,
+	0xfb, 0x0c, 0xec, 0xae, 0x54, 0x81, 0x3b, 0x60, 0x4d, 0x5b, 0x57, 0x4b, 0xe9, 0x08, 0x46, 0xc0,
+	0xd7, 0x03, 0x9b, 0x94, 0x29, 0x91, 0x4e, 0xac, 0xcd, 0x4d, 0x95, 0x29, 0x93, 0xda, 0x49, 0x73,
+	0x83, 0x7c, 0x5c, 0x27, 0x10, 0x82, 0x8d, 0x2c, 0xd1, 0x8b, 0x1b, 0x76, 0xd1, 0xc6, 0xc3, 0xcf,
+	0xe0, 0xae, 0x7e, 0x4a, 0xab, 0x6d, 0x0e, 0xb7, 0x9b, 0x13, 0x5c, 0xd8, 0x1b, 0xea, 0x7d, 0x7a,
+	0x76, 0xdb, 0x3f, 0xd8, 0x9f, 0x9e, 0x37, 0xde, 0xb2, 0xfb, 0xcf, 0x7f, 0x05, 0x00, 0x00, 0xff,
+	0xff, 0x1e, 0x4b, 0x59, 0x17, 0x9e, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/log_entry.proto b/googleapis/logging/v2/log_entry.proto
index 70173389..709a98fd 100644
--- a/googleapis/logging/v2/log_entry.proto
+++ b/googleapis/logging/v2/log_entry.proto
@@ -52,11 +52,11 @@ message LogEntry {
   // database that reported the error.
   google.api.MonitoredResource resource = 8;
 
-  // Required. The log entry payload, which can be one of multiple types.
+  // Optional. The log entry payload, which can be one of multiple types.
   oneof payload {
-    // The log entry payload, represented as a protocol buffer.
-    // You can only use `protoPayload` values that belong to a set of approved
-    // types.
+    // The log entry payload, represented as a protocol buffer.  Some
+    // Google Cloud Platform services use this field for their log
+    // entry payloads.
     google.protobuf.Any proto_payload = 2;
 
     // The log entry payload, represented as a Unicode string (UTF-8).
@@ -77,13 +77,13 @@ message LogEntry {
 
   // Optional. A unique ID for the log entry. If you provide this
   // field, the logging service considers other log entries in the
-  // same log with the same ID as duplicates which can be removed.  If
+  // same project with the same ID as duplicates which can be removed.  If
   // omitted, Stackdriver Logging will generate a unique ID for this
   // log entry.
   string insert_id = 4;
 
-  // Optional. Information about the HTTP request associated with this log entry,
-  // if applicable.
+  // Optional. Information about the HTTP request associated with this
+  // log entry, if applicable.
   google.logging.type.HttpRequest http_request = 7;
 
   // Optional. A set of user-defined (key, value) data that provides additional
@@ -98,15 +98,13 @@ message LogEntry {
 // Additional information about a potentially long-running operation with which
 // a log entry is associated.
 message LogEntryOperation {
-  // Required. An arbitrary operation identifier. Log entries with the
+  // Optional. An arbitrary operation identifier. Log entries with the
   // same identifier are assumed to be part of the same operation.
-  //
   string id = 1;
 
-  // Required. An arbitrary producer identifier. The combination of
+  // Optional. An arbitrary producer identifier. The combination of
   // `id` and `producer` must be globally unique.  Examples for `producer`:
   // `"MyDivision.MyBigCompany.com"`, `"github.com/MyProject/MyApplication"`.
-  //
   string producer = 2;
 
   // Optional. Set this to True if this is the first log entry in the operation.
diff --git a/googleapis/logging/v2/logging.pb.go b/googleapis/logging/v2/logging.pb.go
index 9b2e9fc6..198dc898 100644
--- a/googleapis/logging/v2/logging.pb.go
+++ b/googleapis/logging/v2/logging.pb.go
@@ -10,7 +10,7 @@ import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
 import _ "github.com/golang/protobuf/ptypes/duration"
-import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 import _ "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -34,29 +34,38 @@ type DeleteLogRequest struct {
 func (m *DeleteLogRequest) Reset()                    { *m = DeleteLogRequest{} }
 func (m *DeleteLogRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteLogRequest) ProtoMessage()               {}
-func (*DeleteLogRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*DeleteLogRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 // The parameters to WriteLogEntries.
 type WriteLogEntriesRequest struct {
-	// Optional. A default log resource name for those log entries in `entries`
-	// that do not specify their own `logName`.  Example:
+	// Optional. A default log resource name that is assigned to all log entries
+	// in `entries` that do not specify a value for `log_name`.  Example:
 	// `"projects/my-project/logs/syslog"`.  See
 	// [LogEntry][google.logging.v2.LogEntry].
 	LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName" json:"log_name,omitempty"`
-	// Optional. A default monitored resource for those log entries in `entries`
-	// that do not specify their own `resource`.
+	// Optional. A default monitored resource object that is assigned to all log
+	// entries in `entries` that do not specify a value for `resource`. Example:
+	//
+	//     { "type": "gce_instance",
+	//       "labels": {
+	//         "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
+	//
+	// See [LogEntry][google.logging.v2.LogEntry].
 	Resource *google_api3.MonitoredResource `protobuf:"bytes,2,opt,name=resource" json:"resource,omitempty"`
-	// Optional. User-defined `key:value` items that are added to
-	// the `labels` field of each log entry in `entries`, except when a log
-	// entry specifies its own `key:value` item with the same key.
-	// Example: `{ "size": "large", "color":"red" }`
+	// Optional. Default labels that are added to the `labels` field of all log
+	// entries in `entries`. If a log entry already has a label with the same key
+	// as a label in this parameter, then the log entry's label is not changed.
+	// See [LogEntry][google.logging.v2.LogEntry].
 	Labels map[string]string `protobuf:"bytes,3,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
-	// Required. The log entries to write. The log entries must have values for
-	// all required fields.
+	// Required. The log entries to write. Values supplied for the fields
+	// `log_name`, `resource`, and `labels` in this `entries.write` request are
+	// added to those log entries that do not provide their own values for the
+	// fields.
 	//
-	// To improve throughput and to avoid exceeding the quota limit for calls
-	// to `entries.write`, use this field to write multiple log entries at once
-	// rather than  // calling this method for each log entry.
+	// To improve throughput and to avoid exceeding the
+	// [quota limit](/logging/quota-policy) for calls to `entries.write`,
+	// you should write multiple log entries at once rather than
+	// calling this method for each individual log entry.
 	Entries []*LogEntry `protobuf:"bytes,4,rep,name=entries" json:"entries,omitempty"`
 	// Optional. Whether valid entries should be written even if some other
 	// entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any
@@ -69,7 +78,7 @@ type WriteLogEntriesRequest struct {
 func (m *WriteLogEntriesRequest) Reset()                    { *m = WriteLogEntriesRequest{} }
 func (m *WriteLogEntriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*WriteLogEntriesRequest) ProtoMessage()               {}
-func (*WriteLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+func (*WriteLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
 func (m *WriteLogEntriesRequest) GetResource() *google_api3.MonitoredResource {
 	if m != nil {
@@ -100,17 +109,23 @@ type WriteLogEntriesResponse struct {
 func (m *WriteLogEntriesResponse) Reset()                    { *m = WriteLogEntriesResponse{} }
 func (m *WriteLogEntriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*WriteLogEntriesResponse) ProtoMessage()               {}
-func (*WriteLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
+func (*WriteLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
 // The parameters to `ListLogEntries`.
 type ListLogEntriesRequest struct {
-	// Required. One or more project IDs or project numbers from which to retrieve
-	// log entries.  Examples of a project ID: `"my-project-1A"`, `"1234567890"`.
+	// Deprecated. One or more project identifiers or project numbers from which
+	// to retrieve log entries.  Examples: `"my-project-1A"`, `"1234567890"`. If
+	// present, these project identifiers are converted to resource format and
+	// added to the list of resources in `resourceNames`. Callers should use
+	// `resourceNames` rather than this parameter.
 	ProjectIds []string `protobuf:"bytes,1,rep,name=project_ids,json=projectIds" json:"project_ids,omitempty"`
-	// Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
-	// The filter is compared against all log entries in the projects specified by
-	// `projectIds`.  Only entries that match the filter are retrieved.  An empty
-	// filter matches all log entries.
+	// Optional. One or more cloud resources from which to retrieve log entries.
+	// Example: `"projects/my-project-1A"`, `"projects/1234567890"`.  Projects
+	// listed in `projectIds` are added to this list.
+	ResourceNames []string `protobuf:"bytes,8,rep,name=resource_names,json=resourceNames" json:"resource_names,omitempty"`
+	// Optional. A filter that chooses which log entries to return.  See [Advanced
+	// Logs Filters](/logging/docs/view/advanced_filters).  Only log entries that
+	// match the filter are returned.  An empty filter matches all log entries.
 	Filter string `protobuf:"bytes,2,opt,name=filter" json:"filter,omitempty"`
 	// Optional. How the results should be sorted.  Presently, the only permitted
 	// values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
@@ -120,29 +135,27 @@ type ListLogEntriesRequest struct {
 	// timestamps are returned in order of `LogEntry.insertId`.
 	OrderBy string `protobuf:"bytes,3,opt,name=order_by,json=orderBy" json:"order_by,omitempty"`
 	// Optional. The maximum number of results to return from this request.
-	// You must check for presence of `nextPageToken` to determine if additional
-	// results are available, which you can retrieve by passing the
-	// `nextPageToken` value as the `pageToken` parameter in the next request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
 	PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
-	// Optional. If the `pageToken` parameter is supplied, then the next page of
-	// results is retrieved.  The `pageToken` parameter must be set to the value
-	// of the `nextPageToken` from the previous response.
-	// The values of `projectIds`, `filter`, and `orderBy` must be the same
-	// as in the previous request.
+	// Optional. If present, then retrieve the next batch of results from the
+	// preceding call to this method.  `pageToken` must be the value of
+	// `nextPageToken` from the previous response.  The values of other method
+	// parameters should be identical to those in the previous call.
 	PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
 }
 
 func (m *ListLogEntriesRequest) Reset()                    { *m = ListLogEntriesRequest{} }
 func (m *ListLogEntriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListLogEntriesRequest) ProtoMessage()               {}
-func (*ListLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
+func (*ListLogEntriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
 // Result returned from `ListLogEntries`.
 type ListLogEntriesResponse struct {
 	// A list of log entries.
 	Entries []*LogEntry `protobuf:"bytes,1,rep,name=entries" json:"entries,omitempty"`
-	// If there are more results than were returned, then `nextPageToken` is
-	// included in the response.  To get the next set of results, call this
+	// If there might be more results than appear in this response, then
+	// `nextPageToken` is included.  To get the next set of results, call this
 	// method again using the value of `nextPageToken` as `pageToken`.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
@@ -150,7 +163,7 @@ type ListLogEntriesResponse struct {
 func (m *ListLogEntriesResponse) Reset()                    { *m = ListLogEntriesResponse{} }
 func (m *ListLogEntriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListLogEntriesResponse) ProtoMessage()               {}
-func (*ListLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
+func (*ListLogEntriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
 func (m *ListLogEntriesResponse) GetEntries() []*LogEntry {
 	if m != nil {
@@ -162,13 +175,13 @@ func (m *ListLogEntriesResponse) GetEntries() []*LogEntry {
 // The parameters to ListMonitoredResourceDescriptors
 type ListMonitoredResourceDescriptorsRequest struct {
 	// Optional. The maximum number of results to return from this request.
-	// You must check for presence of `nextPageToken` to determine if additional
-	// results are available, which you can retrieve by passing the
-	// `nextPageToken` value as the `pageToken` parameter in the next request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
 	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
-	// Optional. If the `pageToken` parameter is supplied, then the next page of
-	// results is retrieved.  The `pageToken` parameter must be set to the value
-	// of the `nextPageToken` from the previous response.
+	// Optional. If present, then retrieve the next batch of results from the
+	// preceding call to this method.  `pageToken` must be the value of
+	// `nextPageToken` from the previous response.  The values of other method
+	// parameters should be identical to those in the previous call.
 	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
 }
 
@@ -178,15 +191,15 @@ func (m *ListMonitoredResourceDescriptorsRequest) Reset() {
 func (m *ListMonitoredResourceDescriptorsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsRequest) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor3, []int{5}
+	return fileDescriptor1, []int{5}
 }
 
 // Result returned from ListMonitoredResourceDescriptors.
 type ListMonitoredResourceDescriptorsResponse struct {
 	// A list of resource descriptors.
 	ResourceDescriptors []*google_api3.MonitoredResourceDescriptor `protobuf:"bytes,1,rep,name=resource_descriptors,json=resourceDescriptors" json:"resource_descriptors,omitempty"`
-	// If there are more results than were returned, then `nextPageToken` is
-	// included in the response.  To get the next set of results, call this
+	// If there might be more results than appear in this response, then
+	// `nextPageToken` is included.  To get the next set of results, call this
 	// method again using the value of `nextPageToken` as `pageToken`.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
@@ -197,7 +210,7 @@ func (m *ListMonitoredResourceDescriptorsResponse) Reset() {
 func (m *ListMonitoredResourceDescriptorsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsResponse) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor3, []int{6}
+	return fileDescriptor1, []int{6}
 }
 
 func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*google_api3.MonitoredResourceDescriptor {
@@ -230,16 +243,13 @@ const _ = grpc.SupportPackageIsVersion3
 type LoggingServiceV2Client interface {
 	// Deletes a log and all its log entries.
 	// The log will reappear if it receives new entries.
-	//
-	DeleteLog(ctx context.Context, in *DeleteLogRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
+	DeleteLog(ctx context.Context, in *DeleteLogRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 	// Writes log entries to Stackdriver Logging.  All log entries are
 	// written by this method.
-	//
 	WriteLogEntries(ctx context.Context, in *WriteLogEntriesRequest, opts ...grpc.CallOption) (*WriteLogEntriesResponse, error)
 	// Lists log entries.  Use this method to retrieve log entries from Cloud
 	// Logging.  For ways to export log entries, see
 	// [Exporting Logs](/logging/docs/export).
-	//
 	ListLogEntries(ctx context.Context, in *ListLogEntriesRequest, opts ...grpc.CallOption) (*ListLogEntriesResponse, error)
 	// Lists the monitored resource descriptors used by Stackdriver Logging.
 	ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
@@ -253,8 +263,8 @@ func NewLoggingServiceV2Client(cc *grpc.ClientConn) LoggingServiceV2Client {
 	return &loggingServiceV2Client{cc}
 }
 
-func (c *loggingServiceV2Client) DeleteLog(ctx context.Context, in *DeleteLogRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error) {
-	out := new(google_protobuf4.Empty)
+func (c *loggingServiceV2Client) DeleteLog(ctx context.Context, in *DeleteLogRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error) {
+	out := new(google_protobuf5.Empty)
 	err := grpc.Invoke(ctx, "/google.logging.v2.LoggingServiceV2/DeleteLog", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
@@ -294,16 +304,13 @@ func (c *loggingServiceV2Client) ListMonitoredResourceDescriptors(ctx context.Co
 type LoggingServiceV2Server interface {
 	// Deletes a log and all its log entries.
 	// The log will reappear if it receives new entries.
-	//
-	DeleteLog(context.Context, *DeleteLogRequest) (*google_protobuf4.Empty, error)
+	DeleteLog(context.Context, *DeleteLogRequest) (*google_protobuf5.Empty, error)
 	// Writes log entries to Stackdriver Logging.  All log entries are
 	// written by this method.
-	//
 	WriteLogEntries(context.Context, *WriteLogEntriesRequest) (*WriteLogEntriesResponse, error)
 	// Lists log entries.  Use this method to retrieve log entries from Cloud
 	// Logging.  For ways to export log entries, see
 	// [Exporting Logs](/logging/docs/export).
-	//
 	ListLogEntries(context.Context, *ListLogEntriesRequest) (*ListLogEntriesResponse, error)
 	// Lists the monitored resource descriptors used by Stackdriver Logging.
 	ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
@@ -407,66 +414,66 @@ var _LoggingServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor3,
+	Metadata: fileDescriptor1,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging.proto", fileDescriptor3)
-}
-
-var fileDescriptor3 = []byte{
-	// 835 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0x41, 0x6f, 0xdc, 0x44,
-	0x14, 0xd6, 0xec, 0x26, 0x69, 0x76, 0x02, 0x4d, 0x18, 0x9a, 0xc5, 0x75, 0x54, 0x61, 0x8c, 0x20,
-	0xee, 0x4a, 0xb5, 0x61, 0xab, 0x4a, 0x24, 0x55, 0x11, 0x8a, 0xda, 0x43, 0xa5, 0x2d, 0x44, 0x0e,
-	0x02, 0xa9, 0x42, 0xb2, 0x66, 0xbd, 0x2f, 0x66, 0xa8, 0xed, 0x31, 0x33, 0xe3, 0x0d, 0x2e, 0xe2,
-	0xc2, 0x85, 0x03, 0x47, 0x7e, 0x04, 0x37, 0x7e, 0x08, 0x57, 0x2e, 0xfc, 0x00, 0x7e, 0x00, 0x47,
-	0x8e, 0xc8, 0xf6, 0x78, 0x37, 0xdd, 0xdd, 0x66, 0xdd, 0x5e, 0x76, 0x67, 0xde, 0xbc, 0xef, 0xbd,
-	0xf7, 0xbd, 0xf7, 0xcd, 0x18, 0x7f, 0x1a, 0x71, 0x1e, 0xc5, 0xe0, 0x46, 0x3c, 0xa6, 0x69, 0xe4,
-	0x72, 0x11, 0x79, 0x11, 0xa4, 0x99, 0xe0, 0x8a, 0x7b, 0xf5, 0x11, 0xcd, 0x98, 0xf4, 0x62, 0x1e,
-	0x45, 0x2c, 0x8d, 0xbc, 0xe9, 0xb0, 0x59, 0xba, 0x95, 0x0f, 0x79, 0x4b, 0xe3, 0x1b, 0xeb, 0x74,
-	0x68, 0x3e, 0x6e, 0x17, 0x92, 0x66, 0xcc, 0x93, 0x20, 0xa6, 0x2c, 0x84, 0x90, 0xa7, 0xe7, 0x2c,
-	0xf2, 0x68, 0x9a, 0x72, 0x45, 0x15, 0xe3, 0xa9, 0xac, 0xa3, 0x9b, 0x5f, 0xb4, 0x0f, 0x95, 0xf0,
-	0x94, 0x29, 0x2e, 0x60, 0x22, 0x40, 0xce, 0x37, 0x81, 0x00, 0xc9, 0x73, 0x11, 0x82, 0x0e, 0xf8,
-	0xd9, 0xeb, 0xd0, 0x0d, 0x20, 0x55, 0xa2, 0xd0, 0x11, 0x8e, 0x22, 0xa6, 0xbe, 0xcd, 0xc7, 0x6e,
-	0xc8, 0x13, 0xaf, 0x8e, 0xe2, 0x55, 0x07, 0xe3, 0xfc, 0xdc, 0xcb, 0x54, 0x91, 0x81, 0xf4, 0x26,
-	0xb9, 0xa8, 0x58, 0xcc, 0x16, 0x1a, 0x7a, 0x77, 0x3d, 0x14, 0x92, 0x4c, 0x15, 0xf5, 0xaf, 0x06,
-	0xdd, 0x5f, 0x0f, 0x52, 0x2c, 0x01, 0xa9, 0x68, 0x92, 0xcd, 0x57, 0x1a, 0xfc, 0xa0, 0x1d, 0x5d,
-	0x91, 0x85, 0x9e, 0x54, 0x54, 0xe5, 0x52, 0xff, 0xd5, 0x70, 0xfb, 0x0e, 0xde, 0x7b, 0x08, 0x31,
-	0x28, 0x18, 0xf1, 0xc8, 0x87, 0xef, 0x73, 0x90, 0x8a, 0xdc, 0xc4, 0xdb, 0x65, 0x4b, 0x52, 0x9a,
-	0x80, 0x81, 0x2c, 0xe4, 0xf4, 0xfc, 0x6b, 0x31, 0x8f, 0x3e, 0xa7, 0x09, 0xd8, 0x7f, 0x77, 0x70,
-	0xff, 0x6b, 0xc1, 0x2a, 0xf7, 0x47, 0xa9, 0x12, 0x0c, 0xe4, 0x7a, 0x14, 0x39, 0xc2, 0xdb, 0xcd,
-	0x90, 0x8c, 0x8e, 0x85, 0x9c, 0x9d, 0xe1, 0x2d, 0x57, 0x97, 0x4d, 0x33, 0xe6, 0x3e, 0x69, 0x46,
-	0xe9, 0x6b, 0x27, 0x7f, 0xe6, 0x4e, 0x9e, 0xe0, 0xad, 0x98, 0x8e, 0x21, 0x96, 0x46, 0xd7, 0xea,
-	0x3a, 0x3b, 0xc3, 0x7b, 0xee, 0x92, 0x1a, 0xdd, 0xd5, 0x05, 0xb9, 0xa3, 0x0a, 0x57, 0x1a, 0x0b,
-	0x5f, 0x07, 0x21, 0xf7, 0xf0, 0x35, 0xa8, 0xbd, 0x8c, 0x8d, 0x2a, 0xde, 0xc1, 0x8a, 0x78, 0x3a,
-	0x54, 0xe1, 0x37, 0xbe, 0xe4, 0x10, 0xef, 0x66, 0x54, 0x28, 0x46, 0xe3, 0x40, 0xe6, 0x61, 0x08,
-	0x52, 0x1a, 0x9b, 0x16, 0x72, 0xb6, 0xfd, 0xeb, 0xda, 0x7c, 0x56, 0x5b, 0xcd, 0x23, 0xbc, 0x73,
-	0x29, 0x2d, 0xd9, 0xc3, 0xdd, 0x67, 0x50, 0xe8, 0x76, 0x94, 0x4b, 0x72, 0x03, 0x6f, 0x4e, 0x69,
-	0x9c, 0xd7, 0x7d, 0xe8, 0xf9, 0xf5, 0xe6, 0xb8, 0xf3, 0x09, 0xb2, 0x6f, 0xe2, 0x77, 0x96, 0x88,
-	0xc8, 0x8c, 0xa7, 0x12, 0xec, 0xdf, 0x11, 0xde, 0x1f, 0x31, 0xa9, 0x96, 0x9b, 0xfe, 0x2e, 0xde,
-	0xc9, 0x04, 0xff, 0x0e, 0x42, 0x15, 0xb0, 0x89, 0x34, 0x90, 0xd5, 0x75, 0x7a, 0x3e, 0xd6, 0xa6,
-	0xc7, 0x13, 0x49, 0xfa, 0x78, 0xeb, 0x9c, 0xc5, 0x0a, 0x84, 0x4e, 0xa8, 0x77, 0xe5, 0xb4, 0xb8,
-	0x98, 0x80, 0x08, 0xc6, 0x85, 0xd1, 0xad, 0xa7, 0x55, 0xed, 0x4f, 0x0a, 0x72, 0x80, 0x7b, 0x19,
-	0x8d, 0x20, 0x90, 0xec, 0x39, 0x18, 0x1b, 0x16, 0x72, 0x36, 0xfd, 0xed, 0xd2, 0x70, 0xc6, 0x9e,
-	0x03, 0xb9, 0x85, 0x71, 0x75, 0xa8, 0xf8, 0x33, 0x48, 0xab, 0x26, 0xf4, 0xfc, 0xca, 0xfd, 0xcb,
-	0xd2, 0x60, 0x5f, 0xe0, 0xfe, 0x62, 0xa1, 0x35, 0x87, 0xcb, 0x9d, 0x47, 0xaf, 0xd0, 0xf9, 0x0f,
-	0xf1, 0x6e, 0x0a, 0x3f, 0xa8, 0xe0, 0x52, 0xd2, 0x9a, 0xc8, 0x9b, 0xa5, 0xf9, 0x74, 0x96, 0x18,
-	0xf0, 0x61, 0x99, 0x78, 0x49, 0x4a, 0x0f, 0x41, 0x86, 0x82, 0x65, 0x8a, 0x8b, 0x59, 0xcf, 0x5e,
-	0xe0, 0x87, 0xae, 0xe4, 0xd7, 0x59, 0xe4, 0xf7, 0x07, 0xc2, 0xce, 0xfa, 0x3c, 0x9a, 0xf2, 0x53,
-	0x7c, 0xa3, 0xd1, 0x71, 0x30, 0x99, 0x9f, 0x6b, 0xfe, 0x87, 0x57, 0x5e, 0x81, 0x79, 0x3c, 0xff,
-	0x6d, 0xb1, 0x9c, 0xa3, 0x6d, 0x5f, 0x86, 0xff, 0x6e, 0xe0, 0xbd, 0x51, 0xdd, 0xe0, 0xb3, 0xfa,
-	0x25, 0xfe, 0x6a, 0x48, 0x2e, 0x70, 0x6f, 0x76, 0xe9, 0xc9, 0xfb, 0x2b, 0xe6, 0xb0, 0xf8, 0x24,
-	0x98, 0xfd, 0xc6, 0xa9, 0x79, 0x98, 0xdc, 0x47, 0xe5, 0x03, 0x66, 0xdf, 0xf9, 0xf9, 0xaf, 0x7f,
-	0x7e, 0xeb, 0x1c, 0x0e, 0x3e, 0xf0, 0xa6, 0xc3, 0x31, 0x28, 0xfa, 0xb1, 0xf7, 0x63, 0xf3, 0x08,
-	0x3c, 0xd0, 0x2a, 0x94, 0xde, 0xa0, 0x7c, 0x61, 0xa5, 0x37, 0xf8, 0x89, 0xfc, 0x8a, 0xf0, 0xee,
-	0x82, 0xc8, 0xc9, 0xed, 0xd6, 0x37, 0xda, 0x1c, 0xb4, 0x71, 0xd5, 0x77, 0xe6, 0xbd, 0xaa, 0xb2,
-	0x03, 0xbb, 0x3f, 0xab, 0x4c, 0x4b, 0xea, 0xf8, 0xa2, 0x44, 0x1c, 0xa3, 0x01, 0xf9, 0x05, 0xe1,
-	0xeb, 0x2f, 0xaa, 0x95, 0x38, 0xab, 0x44, 0xb9, 0xea, 0xe6, 0x99, 0xb7, 0x5b, 0x78, 0xea, 0x52,
-	0xac, 0xaa, 0x14, 0xd3, 0xde, 0x5f, 0x2a, 0x25, 0x66, 0x52, 0x95, 0x95, 0xfc, 0x89, 0xb0, 0xb5,
-	0x4e, 0x56, 0xe4, 0xf8, 0x25, 0x19, 0x5b, 0x68, 0xde, 0xbc, 0xff, 0x5a, 0x58, 0x5d, 0xbf, 0x1e,
-	0x32, 0x99, 0x0f, 0x39, 0xb9, 0x02, 0x76, 0xf2, 0x0d, 0xde, 0x0f, 0x79, 0xb2, 0x9c, 0xf0, 0xe4,
-	0x0d, 0x2d, 0xc4, 0xd3, 0x52, 0x43, 0xa7, 0xe8, 0xe9, 0x47, 0xaf, 0xfa, 0xa5, 0xfe, 0x0f, 0xa1,
-	0xf1, 0x56, 0x75, 0x7e, 0xf7, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5b, 0x63, 0x2c, 0x2c, 0xd6,
-	0x08, 0x00, 0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging.proto", fileDescriptor1)
+}
+
+var fileDescriptor1 = []byte{
+	// 846 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0x41, 0x6f, 0xeb, 0x44,
+	0x10, 0x96, 0x93, 0xd7, 0xbe, 0x64, 0xcb, 0x6b, 0xf3, 0x96, 0xd7, 0x90, 0x97, 0xf2, 0x44, 0x64,
+	0x54, 0x92, 0x46, 0xaa, 0x0d, 0xa9, 0x2a, 0xd1, 0x54, 0x45, 0xa8, 0x6a, 0x0f, 0x95, 0x52, 0xa8,
+	0x5c, 0x04, 0x52, 0x85, 0x14, 0x39, 0xce, 0xd6, 0x2c, 0x75, 0xbc, 0x66, 0x77, 0x9d, 0x12, 0x10,
+	0x97, 0x1e, 0xf8, 0x03, 0xfc, 0x0f, 0xfe, 0x05, 0x57, 0x2e, 0x5c, 0xb8, 0x22, 0xf1, 0x23, 0x38,
+	0xb2, 0xbb, 0x5e, 0x27, 0x69, 0x92, 0xd7, 0xb8, 0xbd, 0x24, 0x3b, 0xb3, 0x33, 0xdf, 0xcc, 0x37,
+	0x33, 0x3b, 0x06, 0x9f, 0xf9, 0x84, 0xf8, 0x01, 0xb2, 0x7c, 0x12, 0xb8, 0xa1, 0x6f, 0x11, 0xea,
+	0xdb, 0x3e, 0x0a, 0x23, 0x4a, 0x38, 0xb1, 0x93, 0x2b, 0x37, 0xc2, 0xcc, 0x0e, 0x88, 0xef, 0xe3,
+	0xd0, 0xb7, 0x87, 0xad, 0xf4, 0x68, 0x29, 0x1b, 0xf8, 0x52, 0xfb, 0xa7, 0xda, 0x61, 0xab, 0x7a,
+	0x96, 0x0d, 0x52, 0xfc, 0xd8, 0x0c, 0xd1, 0x21, 0xf6, 0x90, 0x47, 0xc2, 0x6b, 0xec, 0xdb, 0x6e,
+	0x18, 0x12, 0xee, 0x72, 0x4c, 0x42, 0x96, 0xa0, 0x57, 0xbf, 0xcc, 0x0e, 0x35, 0x20, 0x21, 0xe6,
+	0x84, 0xa2, 0x3e, 0x45, 0x6c, 0x22, 0x74, 0x85, 0x44, 0x62, 0xea, 0x21, 0x0d, 0xf8, 0xf9, 0x53,
+	0xe8, 0x76, 0x51, 0xc8, 0xe9, 0x48, 0x23, 0x1c, 0xf8, 0x98, 0x7f, 0x17, 0xf7, 0x2c, 0x8f, 0x0c,
+	0xec, 0x04, 0xc5, 0x56, 0x17, 0xbd, 0xf8, 0xda, 0x8e, 0xf8, 0x28, 0x12, 0xd1, 0xfb, 0x31, 0x55,
+	0x2c, 0xc6, 0x07, 0xed, 0xba, 0xb7, 0xdc, 0x15, 0x0d, 0xc4, 0x21, 0xf9, 0xd5, 0x4e, 0x87, 0xcb,
+	0x9d, 0x38, 0x1e, 0x20, 0xc6, 0xdd, 0x41, 0x34, 0x39, 0x69, 0xe7, 0xa3, 0x6c, 0x74, 0x69, 0xe4,
+	0xd9, 0xc2, 0x8d, 0xc7, 0x4c, 0xff, 0x25, 0xee, 0xe6, 0x2e, 0x28, 0x9d, 0xa0, 0x00, 0x71, 0xd4,
+	0x21, 0xbe, 0x83, 0x7e, 0x88, 0x05, 0x36, 0x7c, 0x0d, 0x0a, 0xb2, 0x24, 0xa1, 0x3b, 0x40, 0x15,
+	0xa3, 0x66, 0x34, 0x8a, 0xce, 0x73, 0x21, 0x7f, 0x21, 0x44, 0xf3, 0xef, 0x1c, 0x28, 0x7f, 0x43,
+	0xb1, 0x32, 0x3f, 0x15, 0x25, 0xc3, 0x88, 0x2d, 0xf7, 0x82, 0x07, 0xa0, 0x90, 0x36, 0xa9, 0x92,
+	0x13, 0x57, 0x6b, 0xad, 0x37, 0x96, 0x4e, 0x5b, 0x24, 0x67, 0x9d, 0xa7, 0xad, 0x74, 0xb4, 0x91,
+	0x33, 0x36, 0x87, 0xe7, 0x60, 0x35, 0x70, 0x7b, 0x28, 0x60, 0x95, 0x7c, 0x2d, 0x2f, 0x1c, 0xf7,
+	0xad, 0xb9, 0x69, 0xb4, 0x16, 0x27, 0x64, 0x75, 0x94, 0x9f, 0x54, 0x8e, 0x1c, 0x0d, 0x02, 0xf7,
+	0xc1, 0x73, 0x94, 0x58, 0x55, 0x9e, 0x29, 0xbc, 0xad, 0x05, 0x78, 0x1a, 0x6a, 0xe4, 0xa4, 0xb6,
+	0xb0, 0x0e, 0x36, 0x22, 0x97, 0x72, 0xec, 0x06, 0x5d, 0x16, 0x7b, 0x1e, 0x62, 0xac, 0xb2, 0x22,
+	0x78, 0x14, 0x9c, 0x75, 0xad, 0xbe, 0x4c, 0xb4, 0xd5, 0x03, 0xb0, 0x36, 0x15, 0x16, 0x96, 0x40,
+	0xfe, 0x06, 0x8d, 0x74, 0x39, 0xe4, 0x11, 0xbe, 0x02, 0x2b, 0x43, 0x37, 0x88, 0x93, 0x3a, 0x14,
+	0x9d, 0x44, 0x68, 0xe7, 0x3e, 0x35, 0xcc, 0xd7, 0xe0, 0xbd, 0x39, 0x22, 0x2c, 0x12, 0x0f, 0x05,
+	0x99, 0x7f, 0x1a, 0x60, 0xb3, 0x83, 0x19, 0x9f, 0x2f, 0xfa, 0x07, 0x60, 0x4d, 0xf4, 0xf1, 0x7b,
+	0xe4, 0xf1, 0x2e, 0xee, 0x33, 0x11, 0x28, 0x2f, 0x40, 0x81, 0x56, 0x9d, 0xf5, 0x19, 0xdc, 0x06,
+	0xeb, 0x69, 0x2d, 0x55, 0x6b, 0x58, 0xa5, 0xa0, 0x6c, 0x5e, 0xa4, 0x5a, 0xd9, 0x20, 0x06, 0xcb,
+	0x60, 0xf5, 0x1a, 0x07, 0x1c, 0x51, 0x9d, 0x97, 0x96, 0x64, 0x53, 0x09, 0xed, 0x23, 0xda, 0xed,
+	0x8d, 0x44, 0x03, 0x54, 0x53, 0x95, 0x7c, 0x3c, 0x82, 0x5b, 0xa0, 0x18, 0xb9, 0x3e, 0xea, 0x32,
+	0xfc, 0x13, 0x12, 0xc5, 0x34, 0x1a, 0x2b, 0x4e, 0x41, 0x2a, 0x2e, 0x85, 0x0c, 0xdf, 0x00, 0xa0,
+	0x2e, 0x39, 0xb9, 0x41, 0xa1, 0xaa, 0x55, 0xd1, 0x51, 0xe6, 0x5f, 0x49, 0x85, 0x79, 0x0b, 0xca,
+	0xb3, 0x7c, 0x12, 0xaa, 0xd3, 0x0d, 0x32, 0x1e, 0xd1, 0xa0, 0x8f, 0xc0, 0x46, 0x88, 0x7e, 0xe4,
+	0xdd, 0xa9, 0xa0, 0x09, 0x91, 0x17, 0x52, 0x7d, 0x31, 0x0e, 0x8c, 0x40, 0x5d, 0x06, 0x9e, 0x9b,
+	0xb8, 0x13, 0xc4, 0x3c, 0x8a, 0x23, 0xa1, 0x1b, 0x97, 0xf6, 0x1e, 0x3f, 0xe3, 0x41, 0x7e, 0xb9,
+	0x59, 0x7e, 0xbf, 0x1b, 0xa0, 0xb1, 0x3c, 0x8e, 0xa6, 0x7c, 0x05, 0x5e, 0x8d, 0x5b, 0xd4, 0x9f,
+	0xdc, 0x6b, 0xfe, 0xf5, 0x07, 0x5f, 0xca, 0x04, 0xcf, 0x79, 0x97, 0xce, 0xc7, 0xc8, 0x5a, 0x97,
+	0xd6, 0x3f, 0xcf, 0x40, 0xa9, 0x93, 0x14, 0xf8, 0x32, 0x59, 0xd8, 0x5f, 0xb7, 0xe0, 0x2d, 0x28,
+	0x8e, 0x77, 0x03, 0xfc, 0x70, 0x41, 0x1f, 0x66, 0x37, 0x47, 0xb5, 0x9c, 0x1a, 0xa5, 0xfb, 0xcb,
+	0x3a, 0x95, 0x7b, 0xce, 0xdc, 0xbd, 0xfb, 0xeb, 0xdf, 0xdf, 0x72, 0xf5, 0xe6, 0xb6, 0x58, 0xb7,
+	0x3d, 0xc4, 0xdd, 0x4f, 0xec, 0x9f, 0xd3, 0x5d, 0x71, 0xa4, 0x87, 0x95, 0xd9, 0x4d, 0xb9, 0x88,
+	0xc5, 0xdf, 0x2f, 0xf0, 0x57, 0x03, 0x6c, 0xcc, 0xbc, 0x05, 0xb8, 0x93, 0xf9, 0xe1, 0x57, 0x9b,
+	0x59, 0x4c, 0xf5, 0xd3, 0x7a, 0x5f, 0x65, 0x56, 0x36, 0x5f, 0xca, 0x0f, 0x81, 0x9e, 0xa6, 0xf6,
+	0xad, 0x34, 0x6e, 0x1b, 0x4d, 0x78, 0x67, 0x80, 0xf5, 0xfb, 0x83, 0x0a, 0x1b, 0x8b, 0xe6, 0x71,
+	0xd1, 0xdb, 0xac, 0xee, 0x64, 0xb0, 0xd4, 0x59, 0x6c, 0xa9, 0x2c, 0x36, 0xcd, 0xd2, 0x74, 0x16,
+	0x81, 0xb0, 0x95, 0x49, 0xfc, 0x61, 0x80, 0xda, 0xb2, 0x61, 0x82, 0xed, 0xb7, 0x04, 0xcb, 0x30,
+	0xe9, 0xd5, 0xc3, 0x27, 0xf9, 0xea, 0xd4, 0x1b, 0x2a, 0x75, 0x13, 0xd6, 0x64, 0xea, 0x83, 0x07,
+	0x3c, 0x8e, 0xbf, 0x05, 0x9b, 0xe2, 0x0b, 0x37, 0x1f, 0xeb, 0xf8, 0x1d, 0x3d, 0x79, 0x17, 0x72,
+	0x68, 0x2e, 0x8c, 0xab, 0x8f, 0x1f, 0xfb, 0x05, 0xff, 0xcf, 0x30, 0x7a, 0xab, 0xea, 0x7e, 0xef,
+	0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x93, 0x51, 0x60, 0xee, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging.proto b/googleapis/logging/v2/logging.proto
index f4911356..9258cf7a 100644
--- a/googleapis/logging/v2/logging.proto
+++ b/googleapis/logging/v2/logging.proto
@@ -35,29 +35,26 @@ option go_package = "google.golang.org/genproto/googleapis/logging/v2";
 service LoggingServiceV2 {
   // Deletes a log and all its log entries.
   // The log will reappear if it receives new entries.
-  //
   rpc DeleteLog(DeleteLogRequest) returns (google.protobuf.Empty) {
     option (google.api.http) = { delete: "/v2beta1/{log_name=projects/*/logs/*}" };
   }
 
   // Writes log entries to Stackdriver Logging.  All log entries are
   // written by this method.
-  //
   rpc WriteLogEntries(WriteLogEntriesRequest) returns (WriteLogEntriesResponse) {
-    option (google.api.http) = { post: "/v2beta1/entries:write" body: "*" };
+    option (google.api.http) = { post: "/v2/entries:write" body: "*" };
   }
 
   // Lists log entries.  Use this method to retrieve log entries from Cloud
   // Logging.  For ways to export log entries, see
   // [Exporting Logs](/logging/docs/export).
-  //
   rpc ListLogEntries(ListLogEntriesRequest) returns (ListLogEntriesResponse) {
-    option (google.api.http) = { post: "/v2beta1/entries:list" body: "*" };
+    option (google.api.http) = { post: "/v2/entries:list" body: "*" };
   }
 
   // Lists the monitored resource descriptors used by Stackdriver Logging.
   rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
-    option (google.api.http) = { get: "/v2beta1/monitoredResourceDescriptors" };
+    option (google.api.http) = { get: "/v2/monitoredResourceDescriptors" };
   }
 }
 
@@ -70,28 +67,37 @@ message DeleteLogRequest {
 
 // The parameters to WriteLogEntries.
 message WriteLogEntriesRequest {
-  // Optional. A default log resource name for those log entries in `entries`
-  // that do not specify their own `logName`.  Example:
+  // Optional. A default log resource name that is assigned to all log entries
+  // in `entries` that do not specify a value for `log_name`.  Example:
   // `"projects/my-project/logs/syslog"`.  See
   // [LogEntry][google.logging.v2.LogEntry].
   string log_name = 1;
 
-  // Optional. A default monitored resource for those log entries in `entries`
-  // that do not specify their own `resource`.
+  // Optional. A default monitored resource object that is assigned to all log
+  // entries in `entries` that do not specify a value for `resource`. Example:
+  //
+  //     { "type": "gce_instance",
+  //       "labels": {
+  //         "zone": "us-central1-a", "instance_id": "00000000000000000000" }}
+  //
+  // See [LogEntry][google.logging.v2.LogEntry].
   google.api.MonitoredResource resource = 2;
 
-  // Optional. User-defined `key:value` items that are added to
-  // the `labels` field of each log entry in `entries`, except when a log
-  // entry specifies its own `key:value` item with the same key.
-  // Example: `{ "size": "large", "color":"red" }`
+  // Optional. Default labels that are added to the `labels` field of all log
+  // entries in `entries`. If a log entry already has a label with the same key
+  // as a label in this parameter, then the log entry's label is not changed.
+  // See [LogEntry][google.logging.v2.LogEntry].
   map<string, string> labels = 3;
 
-  // Required. The log entries to write. The log entries must have values for
-  // all required fields.
+  // Required. The log entries to write. Values supplied for the fields
+  // `log_name`, `resource`, and `labels` in this `entries.write` request are
+  // added to those log entries that do not provide their own values for the
+  // fields.
   //
-  // To improve throughput and to avoid exceeding the quota limit for calls
-  // to `entries.write`, use this field to write multiple log entries at once
-  // rather than  // calling this method for each log entry.
+  // To improve throughput and to avoid exceeding the
+  // [quota limit](/logging/quota-policy) for calls to `entries.write`,
+  // you should write multiple log entries at once rather than
+  // calling this method for each individual log entry.
   repeated LogEntry entries = 4;
 
   // Optional. Whether valid entries should be written even if some other
@@ -110,14 +116,21 @@ message WriteLogEntriesResponse {
 
 // The parameters to `ListLogEntries`.
 message ListLogEntriesRequest {
-  // Required. One or more project IDs or project numbers from which to retrieve
-  // log entries.  Examples of a project ID: `"my-project-1A"`, `"1234567890"`.
+  // Deprecated. One or more project identifiers or project numbers from which
+  // to retrieve log entries.  Examples: `"my-project-1A"`, `"1234567890"`. If
+  // present, these project identifiers are converted to resource format and
+  // added to the list of resources in `resourceNames`. Callers should use
+  // `resourceNames` rather than this parameter.
   repeated string project_ids = 1;
 
-  // Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
-  // The filter is compared against all log entries in the projects specified by
-  // `projectIds`.  Only entries that match the filter are retrieved.  An empty
-  // filter matches all log entries.
+  // Optional. One or more cloud resources from which to retrieve log entries.
+  // Example: `"projects/my-project-1A"`, `"projects/1234567890"`.  Projects
+  // listed in `projectIds` are added to this list.
+  repeated string resource_names = 8;
+
+  // Optional. A filter that chooses which log entries to return.  See [Advanced
+  // Logs Filters](/logging/docs/view/advanced_filters).  Only log entries that
+  // match the filter are returned.  An empty filter matches all log entries.
   string filter = 2;
 
   // Optional. How the results should be sorted.  Presently, the only permitted
@@ -129,16 +142,14 @@ message ListLogEntriesRequest {
   string order_by = 3;
 
   // Optional. The maximum number of results to return from this request.
-  // You must check for presence of `nextPageToken` to determine if additional
-  // results are available, which you can retrieve by passing the
-  // `nextPageToken` value as the `pageToken` parameter in the next request.
+  // Non-positive values are ignored.  The presence of `nextPageToken` in the
+  // response indicates that more results might be available.
   int32 page_size = 4;
 
-  // Optional. If the `pageToken` parameter is supplied, then the next page of
-  // results is retrieved.  The `pageToken` parameter must be set to the value
-  // of the `nextPageToken` from the previous response.
-  // The values of `projectIds`, `filter`, and `orderBy` must be the same
-  // as in the previous request.
+  // Optional. If present, then retrieve the next batch of results from the
+  // preceding call to this method.  `pageToken` must be the value of
+  // `nextPageToken` from the previous response.  The values of other method
+  // parameters should be identical to those in the previous call.
   string page_token = 5;
 }
 
@@ -147,8 +158,8 @@ message ListLogEntriesResponse {
   // A list of log entries.
   repeated LogEntry entries = 1;
 
-  // If there are more results than were returned, then `nextPageToken` is
-  // included in the response.  To get the next set of results, call this
+  // If there might be more results than appear in this response, then
+  // `nextPageToken` is included.  To get the next set of results, call this
   // method again using the value of `nextPageToken` as `pageToken`.
   string next_page_token = 2;
 }
@@ -156,14 +167,14 @@ message ListLogEntriesResponse {
 // The parameters to ListMonitoredResourceDescriptors
 message ListMonitoredResourceDescriptorsRequest {
   // Optional. The maximum number of results to return from this request.
-  // You must check for presence of `nextPageToken` to determine if additional
-  // results are available, which you can retrieve by passing the
-  // `nextPageToken` value as the `pageToken` parameter in the next request.
+  // Non-positive values are ignored.  The presence of `nextPageToken` in the
+  // response indicates that more results might be available.
   int32 page_size = 1;
 
-  // Optional. If the `pageToken` parameter is supplied, then the next page of
-  // results is retrieved.  The `pageToken` parameter must be set to the value
-  // of the `nextPageToken` from the previous response.
+  // Optional. If present, then retrieve the next batch of results from the
+  // preceding call to this method.  `pageToken` must be the value of
+  // `nextPageToken` from the previous response.  The values of other method
+  // parameters should be identical to those in the previous call.
   string page_token = 2;
 }
 
@@ -172,8 +183,8 @@ message ListMonitoredResourceDescriptorsResponse {
   // A list of resource descriptors.
   repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
 
-  // If there are more results than were returned, then `nextPageToken` is
-  // included in the response.  To get the next set of results, call this
+  // If there might be more results than appear in this response, then
+  // `nextPageToken` is included.  To get the next set of results, call this
   // method again using the value of `nextPageToken` as `pageToken`.
   string next_page_token = 2;
 }
diff --git a/googleapis/logging/v2/logging_config.pb.go b/googleapis/logging/v2/logging_config.pb.go
index bfc02d88..293b1435 100644
--- a/googleapis/logging/v2/logging_config.pb.go
+++ b/googleapis/logging/v2/logging_config.pb.go
@@ -8,7 +8,7 @@ import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -49,68 +49,83 @@ var LogSink_VersionFormat_value = map[string]int32{
 func (x LogSink_VersionFormat) String() string {
 	return proto.EnumName(LogSink_VersionFormat_name, int32(x))
 }
-func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
+func (LogSink_VersionFormat) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
 
 // Describes a sink used to export log entries outside Stackdriver Logging.
 type LogSink struct {
-	// Required. The client-assigned sink identifier. Example:
-	// `"my-severe-errors-to-pubsub"`.
-	// Sink identifiers are limited to 1000 characters
-	// and can include only the following characters: `A-Z`, `a-z`,
-	// `0-9`, and the special characters `_-.`.
+	// Required. The client-assigned sink identifier, unique within the
+	// project. Example: `"my-syslog-errors-to-pubsub"`.  Sink identifiers are
+	// limited to 1000 characters and can include only the following characters:
+	// `A-Z`, `a-z`, `0-9`, and the special characters `_-.`.  The maximum length
+	// of the name is 100 characters.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// The export destination. See
+	// Required. The export destination. See
 	// [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-	// Examples: `"storage.googleapis.com/a-bucket"`,
-	// `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`.
+	// Examples:
+	//
+	//     "storage.googleapis.com/my-gcs-bucket"
+	//     "bigquery.googleapis.com/projects/my-project-id/datasets/my-dataset"
+	//     "pubsub.googleapis.com/projects/my-project/topics/my-topic"
 	Destination string `protobuf:"bytes,3,opt,name=destination" json:"destination,omitempty"`
-	// An [advanced logs filter](/logging/docs/view/advanced_filters). Only
-	// log entries matching that filter are exported. The filter must be
-	// consistent with the log entry format specified by the
+	// Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
+	// Only log entries matching the filter are exported. The filter
+	// must be consistent with the log entry format specified by the
 	// `outputVersionFormat` parameter, regardless of the format of the
 	// log entry that was originally written to Stackdriver Logging.
-	// Example (V2 format):
-	// `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`.
+	// Example filter (V2 format):
+	//
+	//     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
 	Filter string `protobuf:"bytes,5,opt,name=filter" json:"filter,omitempty"`
-	// The log entry version to use for this sink's exported log entries.
-	// This version does not have to correspond to the version of the log entry
-	// when it was written to Stackdriver Logging.
+	// Optional. The log entry version to use for this sink's exported log
+	// entries.  This version does not have to correspond to the version of the
+	// log entry that was written to Stackdriver Logging. If omitted, the
+	// v2 format is used.
 	OutputVersionFormat LogSink_VersionFormat `protobuf:"varint,6,opt,name=output_version_format,json=outputVersionFormat,enum=google.logging.v2.LogSink_VersionFormat" json:"output_version_format,omitempty"`
+	// Output only. The iam identity to which the destination needs to grant write
+	// access.  This may be a service account or a group.
+	// Examples (Do not assume these specific values):
+	//    "serviceAccount:cloud-logs@system.gserviceaccount.com"
+	//    "group:cloud-logs@google.com"
+	//
+	//   For GCS destinations, the role "roles/owner" is required on the bucket
+	//   For Cloud Pubsub destinations, the role "roles/pubsub.publisher" is
+	//     required on the topic
+	//   For BigQuery, the role "roles/editor" is required on the dataset
+	WriterIdentity string `protobuf:"bytes,8,opt,name=writer_identity,json=writerIdentity" json:"writer_identity,omitempty"`
 }
 
 func (m *LogSink) Reset()                    { *m = LogSink{} }
 func (m *LogSink) String() string            { return proto.CompactTextString(m) }
 func (*LogSink) ProtoMessage()               {}
-func (*LogSink) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*LogSink) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 // The parameters to `ListSinks`.
 type ListSinksRequest struct {
-	// Required. The resource name containing the sinks.
+	// Required. The cloud resource containing the sinks.
 	// Example: `"projects/my-logging-project"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
-	// Optional. If the `pageToken` parameter is supplied, then the next page of
-	// results is retrieved.  The `pageToken` parameter must be set to the value
-	// of the `nextPageToken` from the previous response.
-	// The value of `parent` must be the same as in the previous request.
+	// Optional. If present, then retrieve the next batch of results from the
+	// preceding call to this method.  `pageToken` must be the value of
+	// `nextPageToken` from the previous response.  The values of other method
+	// parameters should be identical to those in the previous call.
 	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
 	// Optional. The maximum number of results to return from this request.
-	// You must check for presence of `nextPageToken` to determine if additional
-	// results are available, which you can retrieve by passing the
-	// `nextPageToken` value as the `pageToken` parameter in the next request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
 	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
 }
 
 func (m *ListSinksRequest) Reset()                    { *m = ListSinksRequest{} }
 func (m *ListSinksRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListSinksRequest) ProtoMessage()               {}
-func (*ListSinksRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*ListSinksRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 // Result returned from `ListSinks`.
 type ListSinksResponse struct {
 	// A list of sinks.
 	Sinks []*LogSink `protobuf:"bytes,1,rep,name=sinks" json:"sinks,omitempty"`
-	// If there are more results than were returned, then `nextPageToken` is
-	// included in the response.  To get the next set of results, call this
+	// If there might be more results than appear in this response, then
+	// `nextPageToken` is included.  To get the next set of results, call the same
 	// method again using the value of `nextPageToken` as `pageToken`.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
@@ -118,7 +133,7 @@ type ListSinksResponse struct {
 func (m *ListSinksResponse) Reset()                    { *m = ListSinksResponse{} }
 func (m *ListSinksResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListSinksResponse) ProtoMessage()               {}
-func (*ListSinksResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*ListSinksResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
 func (m *ListSinksResponse) GetSinks() []*LogSink {
 	if m != nil {
@@ -129,7 +144,7 @@ func (m *ListSinksResponse) GetSinks() []*LogSink {
 
 // The parameters to `GetSink`.
 type GetSinkRequest struct {
-	// The resource name of the sink to return.
+	// Required. The resource name of the sink to return.
 	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 }
@@ -137,24 +152,23 @@ type GetSinkRequest struct {
 func (m *GetSinkRequest) Reset()                    { *m = GetSinkRequest{} }
 func (m *GetSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetSinkRequest) ProtoMessage()               {}
-func (*GetSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*GetSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
 // The parameters to `CreateSink`.
 type CreateSinkRequest struct {
-	// The resource in which to create the sink.
+	// Required. The resource in which to create the sink.
 	// Example: `"projects/my-project-id"`.
-	//
 	// The new sink must be provided in the request.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
-	// The new sink, which must not have an identifier that already
-	// exists.
+	// Required. The new sink, whose `name` parameter is a sink identifier that
+	// is not already in use.
 	Sink *LogSink `protobuf:"bytes,2,opt,name=sink" json:"sink,omitempty"`
 }
 
 func (m *CreateSinkRequest) Reset()                    { *m = CreateSinkRequest{} }
 func (m *CreateSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateSinkRequest) ProtoMessage()               {}
-func (*CreateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*CreateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
 func (m *CreateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -165,15 +179,12 @@ func (m *CreateSinkRequest) GetSink() *LogSink {
 
 // The parameters to `UpdateSink`.
 type UpdateSinkRequest struct {
-	// The resource name of the sink to update.
-	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
-	//
-	// The updated sink must be provided in the request and have the
-	// same name that is specified in `sinkName`.  If the sink does not
-	// exist, it is created.
+	// Required. The resource name of the sink to update, including the parent
+	// resource and the sink identifier.  If the sink does not exist, this method
+	// creates the sink.  Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
-	// The updated sink, whose name must be the same as the sink
-	// identifier in `sinkName`.  If `sinkName` does not exist, then
+	// Required. The updated sink, whose name is the same identifier that appears
+	// as part of `sinkName`.  If `sinkName` does not exist, then
 	// this method creates a new sink.
 	Sink *LogSink `protobuf:"bytes,2,opt,name=sink" json:"sink,omitempty"`
 }
@@ -181,7 +192,7 @@ type UpdateSinkRequest struct {
 func (m *UpdateSinkRequest) Reset()                    { *m = UpdateSinkRequest{} }
 func (m *UpdateSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateSinkRequest) ProtoMessage()               {}
-func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
+func (*UpdateSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
 func (m *UpdateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -192,15 +203,17 @@ func (m *UpdateSinkRequest) GetSink() *LogSink {
 
 // The parameters to `DeleteSink`.
 type DeleteSinkRequest struct {
-	// The resource name of the sink to delete.
-	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
+	// Required. The resource name of the sink to delete, including the parent
+	// resource and the sink identifier.  Example:
+	// `"projects/my-project-id/sinks/my-sink-id"`.  It is an error if the sink
+	// does not exist.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 }
 
 func (m *DeleteSinkRequest) Reset()                    { *m = DeleteSinkRequest{} }
 func (m *DeleteSinkRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteSinkRequest) ProtoMessage()               {}
-func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
+func (*DeleteSinkRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
 func init() {
 	proto.RegisterType((*LogSink)(nil), "google.logging.v2.LogSink")
@@ -230,10 +243,10 @@ type ConfigServiceV2Client interface {
 	GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
 	// Creates a sink.
 	CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Creates or updates a sink.
+	// Updates or creates a sink.
 	UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
 	// Deletes a sink.
-	DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
+	DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 }
 
 type configServiceV2Client struct {
@@ -280,8 +293,8 @@ func (c *configServiceV2Client) UpdateSink(ctx context.Context, in *UpdateSinkRe
 	return out, nil
 }
 
-func (c *configServiceV2Client) DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error) {
-	out := new(google_protobuf4.Empty)
+func (c *configServiceV2Client) DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error) {
+	out := new(google_protobuf5.Empty)
 	err := grpc.Invoke(ctx, "/google.logging.v2.ConfigServiceV2/DeleteSink", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
@@ -298,10 +311,10 @@ type ConfigServiceV2Server interface {
 	GetSink(context.Context, *GetSinkRequest) (*LogSink, error)
 	// Creates a sink.
 	CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error)
-	// Creates or updates a sink.
+	// Updates or creates a sink.
 	UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error)
 	// Deletes a sink.
-	DeleteSink(context.Context, *DeleteSinkRequest) (*google_protobuf4.Empty, error)
+	DeleteSink(context.Context, *DeleteSinkRequest) (*google_protobuf5.Empty, error)
 }
 
 func RegisterConfigServiceV2Server(s *grpc.Server, srv ConfigServiceV2Server) {
@@ -424,58 +437,58 @@ var _ConfigServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor1,
+	Metadata: fileDescriptor2,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_config.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 706 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x55, 0xdd, 0x4e, 0x13, 0x41,
-	0x14, 0x76, 0x0b, 0x2d, 0xf4, 0x10, 0xa0, 0x1d, 0x03, 0x69, 0x96, 0x68, 0xea, 0x4a, 0xb4, 0x36,
-	0x71, 0xa7, 0x2c, 0xf1, 0x46, 0x63, 0x8c, 0x40, 0x31, 0x4d, 0x10, 0x48, 0x0b, 0xbd, 0x40, 0x93,
-	0x75, 0x5b, 0xa6, 0xeb, 0x4a, 0x77, 0x66, 0xdd, 0x99, 0x36, 0x02, 0x21, 0x31, 0x24, 0x3e, 0x81,
-	0x57, 0x3e, 0x97, 0xaf, 0xe0, 0x33, 0x78, 0x6d, 0x76, 0x66, 0x4b, 0x0b, 0x2d, 0xb5, 0xdc, 0xb4,
-	0x33, 0xe7, 0xef, 0xfb, 0xce, 0x77, 0xce, 0xee, 0x42, 0xd9, 0x65, 0xcc, 0x6d, 0x13, 0xd3, 0x65,
-	0x6d, 0x87, 0xba, 0x26, 0x0b, 0x5d, 0xec, 0x12, 0x1a, 0x84, 0x4c, 0x30, 0xac, 0x5c, 0x4e, 0xe0,
-	0x71, 0xdc, 0x66, 0xae, 0xeb, 0x51, 0x17, 0x77, 0xad, 0xde, 0xd1, 0x6e, 0x32, 0xda, 0xf2, 0x5c,
-	0x53, 0x86, 0xa2, 0x6c, 0x5c, 0x26, 0x76, 0x9a, 0x5d, 0x4b, 0xaf, 0x4c, 0x56, 0xd9, 0x09, 0x3c,
-	0xcc, 0x49, 0xd8, 0xf5, 0x9a, 0x44, 0x55, 0xc4, 0x0e, 0xa5, 0x4c, 0x38, 0xc2, 0x63, 0x94, 0xab,
-	0xea, 0xfa, 0xba, 0xeb, 0x89, 0xcf, 0x9d, 0x86, 0xd9, 0x64, 0x3e, 0x56, 0xe5, 0xb0, 0x74, 0x34,
-	0x3a, 0x2d, 0x1c, 0x88, 0xd3, 0x80, 0x70, 0x4c, 0xfc, 0x40, 0x9c, 0xaa, 0xdf, 0x38, 0xe9, 0xd5,
-	0xff, 0x93, 0x84, 0xe7, 0x13, 0x2e, 0x1c, 0x3f, 0xe8, 0x9f, 0x54, 0xb2, 0xf1, 0x57, 0x83, 0x99,
-	0x1d, 0xe6, 0xd6, 0x3c, 0x7a, 0x82, 0x10, 0x4c, 0x53, 0xc7, 0x27, 0x39, 0x2d, 0xaf, 0x15, 0xd2,
-	0x55, 0x79, 0x46, 0x79, 0x98, 0x3b, 0x26, 0x5c, 0x78, 0x54, 0xf2, 0xcc, 0x4d, 0x49, 0xd7, 0xa0,
-	0x09, 0x2d, 0x43, 0xaa, 0xe5, 0xb5, 0x05, 0x09, 0x73, 0x49, 0xe9, 0x8c, 0x6f, 0xe8, 0x23, 0x2c,
-	0xb1, 0x8e, 0x08, 0x3a, 0xc2, 0xee, 0x92, 0x90, 0x7b, 0x8c, 0xda, 0x2d, 0x16, 0xfa, 0x8e, 0xc8,
-	0xa5, 0xf2, 0x5a, 0x61, 0xc1, 0x2a, 0x98, 0x43, 0x4a, 0x9a, 0x31, 0x11, 0xb3, 0xae, 0x12, 0xb6,
-	0x65, 0x7c, 0xf5, 0xbe, 0x2a, 0x73, 0xcd, 0x68, 0xbc, 0x81, 0xf9, 0x6b, 0x06, 0xf4, 0x10, 0xf4,
-	0x7a, 0xb9, 0x5a, 0xab, 0xec, 0xed, 0xda, 0xdb, 0x7b, 0xd5, 0xf7, 0x6f, 0x0f, 0xec, 0xc3, 0xdd,
-	0xda, 0x7e, 0x79, 0xb3, 0xb2, 0x5d, 0x29, 0x6f, 0x65, 0xee, 0xa1, 0x14, 0x24, 0xea, 0x56, 0x46,
-	0x93, 0xff, 0x6b, 0x99, 0x84, 0xd1, 0x82, 0xcc, 0x8e, 0xc7, 0x45, 0x84, 0xc7, 0xab, 0xe4, 0x6b,
-	0x87, 0x70, 0x11, 0xb5, 0x12, 0x38, 0x21, 0xa1, 0x22, 0x96, 0x20, 0xbe, 0xa1, 0x07, 0x00, 0x81,
-	0xe3, 0x12, 0x5b, 0xb0, 0x13, 0x42, 0x73, 0x09, 0xe9, 0x4b, 0x47, 0x96, 0x83, 0xc8, 0x80, 0x56,
-	0x40, 0x5e, 0x6c, 0xee, 0x9d, 0x11, 0xa9, 0x50, 0xb2, 0x3a, 0x1b, 0x19, 0x6a, 0xde, 0x19, 0x31,
-	0x7c, 0xc8, 0x0e, 0xe0, 0xf0, 0x80, 0x51, 0x4e, 0x50, 0x09, 0x92, 0x3c, 0x32, 0xe4, 0xb4, 0xfc,
-	0x54, 0x61, 0xce, 0xd2, 0x6f, 0xd7, 0xa2, 0xaa, 0x02, 0xd1, 0x13, 0x58, 0xa4, 0xe4, 0x9b, 0xb0,
-	0x87, 0x78, 0xcc, 0x47, 0xe6, 0xfd, 0x1e, 0x17, 0xe3, 0x39, 0x2c, 0xbc, 0x23, 0x12, 0xad, 0xd7,
-	0xd4, 0x0a, 0xa4, 0xa3, 0x12, 0xf6, 0xc0, 0x68, 0x67, 0x23, 0xc3, 0xae, 0xe3, 0x13, 0xe3, 0x03,
-	0x64, 0x37, 0x43, 0xe2, 0x08, 0x32, 0x98, 0x71, 0x9b, 0x0c, 0x26, 0x4c, 0x47, 0x89, 0x12, 0x78,
-	0x3c, 0x69, 0x19, 0x67, 0x7c, 0x82, 0xec, 0x61, 0x70, 0x7c, 0xa3, 0xf8, 0x38, 0x3a, 0x77, 0x46,
-	0x28, 0x41, 0x76, 0x8b, 0xb4, 0xc9, 0xe4, 0x08, 0xd6, 0xaf, 0x24, 0x2c, 0x6e, 0xca, 0xc7, 0xaf,
-	0xa6, 0x9e, 0xc5, 0xba, 0x85, 0x2e, 0x35, 0x48, 0x5f, 0xcd, 0x08, 0x3d, 0x1e, 0x85, 0x7a, 0x63,
-	0x53, 0xf4, 0xd5, 0xf1, 0x41, 0x6a, 0xcc, 0x46, 0xf1, 0xf2, 0xf7, 0x9f, 0x9f, 0x89, 0x55, 0x64,
-	0xe0, 0xae, 0xd5, 0x20, 0xc2, 0x59, 0xc3, 0xe7, 0x4a, 0xca, 0xd7, 0x41, 0xc8, 0xbe, 0x90, 0xa6,
-	0xe0, 0xb8, 0x78, 0x81, 0xd5, 0x80, 0x4f, 0x61, 0x26, 0x1e, 0x1c, 0x7a, 0x34, 0xa2, 0xf8, 0xf5,
-	0xa1, 0xea, 0x63, 0xa4, 0x31, 0xb0, 0x44, 0x7d, 0x86, 0x9e, 0xf6, 0x51, 0xaf, 0xf4, 0x18, 0x00,
-	0x56, 0xb8, 0xb8, 0x78, 0x81, 0xbe, 0x6b, 0x00, 0xfd, 0x2d, 0x40, 0xa3, 0x7a, 0x1b, 0x5a, 0x92,
-	0xb1, 0x0c, 0x4a, 0x92, 0x41, 0xd1, 0x98, 0xa0, 0xef, 0x97, 0x72, 0x90, 0xe8, 0x87, 0x06, 0xd0,
-	0xdf, 0x95, 0x91, 0x14, 0x86, 0x56, 0x69, 0x2c, 0x85, 0x17, 0x92, 0x02, 0xd6, 0x27, 0x15, 0x21,
-	0xe6, 0x71, 0x0e, 0xd0, 0x5f, 0xa8, 0x91, 0x34, 0x86, 0xf6, 0x4d, 0x5f, 0xee, 0x45, 0xf5, 0xde,
-	0xba, 0x66, 0x39, 0x7a, 0x3b, 0xf7, 0xe6, 0x50, 0x9c, 0x94, 0xc2, 0xc6, 0x11, 0x2c, 0x35, 0x99,
-	0x3f, 0x8c, 0xb9, 0x31, 0xbf, 0xa3, 0xce, 0x6a, 0x71, 0xf7, 0xb5, 0xa3, 0xd2, 0x5d, 0x3f, 0x66,
-	0x8d, 0x94, 0x74, 0xae, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x29, 0xea, 0xc3, 0xc9, 0x07, 0x07,
-	0x00, 0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_config.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 716 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x95, 0xdf, 0x4e, 0x13, 0x4d,
+	0x14, 0xc0, 0xbf, 0x16, 0x28, 0x70, 0x08, 0xd0, 0xce, 0x17, 0x48, 0xb3, 0x06, 0xc5, 0x15, 0x94,
+	0xd4, 0xb8, 0x5b, 0x97, 0x3b, 0x8d, 0x31, 0x02, 0xc5, 0x34, 0x41, 0x20, 0x5b, 0xe8, 0x05, 0x9a,
+	0xac, 0x4b, 0x99, 0xae, 0x23, 0xdd, 0x99, 0x75, 0x77, 0x5a, 0x45, 0x42, 0x62, 0x7c, 0x05, 0x1f,
+	0xc0, 0x87, 0xf2, 0x15, 0x7c, 0x0e, 0xe3, 0xec, 0xcc, 0x96, 0x16, 0x5a, 0xd6, 0x72, 0xb3, 0x9d,
+	0x39, 0xff, 0x7e, 0x67, 0xce, 0x39, 0x33, 0x85, 0x8a, 0xc7, 0x98, 0xd7, 0xc2, 0x86, 0xc7, 0x5a,
+	0x2e, 0xf5, 0x0c, 0x16, 0x7a, 0xa6, 0x87, 0x69, 0x10, 0x32, 0xce, 0x4c, 0xa5, 0x72, 0x03, 0x12,
+	0x99, 0x2d, 0xe6, 0x79, 0x84, 0x7a, 0x66, 0xc7, 0xea, 0x2e, 0x9d, 0x06, 0xa3, 0x4d, 0xe2, 0x19,
+	0xd2, 0x14, 0x15, 0x92, 0x30, 0x89, 0xd2, 0xe8, 0x58, 0x5a, 0x75, 0xb4, 0xc8, 0xe2, 0x63, 0x46,
+	0x38, 0xec, 0x90, 0x06, 0x56, 0x11, 0x4d, 0x97, 0x52, 0xc6, 0x5d, 0x4e, 0x18, 0x8d, 0x54, 0x74,
+	0x6d, 0xdd, 0x23, 0xfc, 0x43, 0xfb, 0xd8, 0x68, 0x30, 0xdf, 0x54, 0xe1, 0x4c, 0xa9, 0x38, 0x6e,
+	0x37, 0xcd, 0x80, 0x9f, 0x05, 0x38, 0x32, 0xb1, 0x2f, 0x16, 0xea, 0x9b, 0x38, 0x3d, 0xff, 0xb7,
+	0x13, 0x27, 0x3e, 0x8e, 0xb8, 0xeb, 0x07, 0xbd, 0x95, 0x72, 0xd6, 0x7f, 0x66, 0x61, 0x72, 0x87,
+	0x79, 0x35, 0x42, 0x4f, 0x11, 0x82, 0x71, 0xea, 0xfa, 0xb8, 0x98, 0x59, 0xce, 0xac, 0x4d, 0xdb,
+	0x72, 0x8d, 0x96, 0x61, 0xe6, 0x44, 0x38, 0x10, 0x2a, 0xf3, 0x2c, 0x8e, 0x49, 0x55, 0xbf, 0x08,
+	0x2d, 0x42, 0xae, 0x49, 0x5a, 0x1c, 0x87, 0xc5, 0x09, 0xa9, 0x4c, 0x76, 0xe8, 0x1d, 0x2c, 0xb0,
+	0x36, 0x0f, 0xda, 0xdc, 0xe9, 0xe0, 0x30, 0x12, 0x96, 0x4e, 0x93, 0x85, 0xbe, 0xcb, 0x8b, 0x39,
+	0x61, 0x36, 0x67, 0xad, 0x19, 0x03, 0x95, 0x34, 0x92, 0x44, 0x8c, 0xba, 0x72, 0xd8, 0x96, 0xf6,
+	0xf6, 0xff, 0x2a, 0xcc, 0x15, 0x21, 0x7a, 0x04, 0xf3, 0x9f, 0x43, 0x22, 0x38, 0x0e, 0x39, 0xc1,
+	0x94, 0x13, 0x7e, 0x56, 0x9c, 0x92, 0xf8, 0x39, 0x25, 0xae, 0x26, 0x52, 0xfd, 0x25, 0xcc, 0x5e,
+	0xf5, 0xbc, 0x0b, 0x5a, 0xbd, 0x62, 0xd7, 0xaa, 0x7b, 0xbb, 0xce, 0xf6, 0x9e, 0xfd, 0xe6, 0xd5,
+	0x81, 0x73, 0xb8, 0x5b, 0xdb, 0xaf, 0x6c, 0x56, 0xb7, 0xab, 0x95, 0xad, 0xfc, 0x7f, 0x28, 0x07,
+	0xd9, 0xba, 0x95, 0xcf, 0xc8, 0xdf, 0xa7, 0xf9, 0xac, 0xde, 0x84, 0xfc, 0x0e, 0x89, 0x78, 0x9c,
+	0x58, 0x64, 0xe3, 0x4f, 0x6d, 0x71, 0xf4, 0xf8, 0xcc, 0x81, 0x1b, 0x0a, 0x42, 0x52, 0xab, 0x64,
+	0x87, 0x96, 0x00, 0x02, 0xd7, 0xc3, 0x0e, 0x67, 0xa7, 0x98, 0x16, 0xb3, 0x52, 0x37, 0x1d, 0x4b,
+	0x0e, 0x62, 0x01, 0xba, 0x03, 0x72, 0xe3, 0x44, 0xe4, 0x2b, 0x96, 0xa5, 0x9c, 0xb0, 0xa7, 0x62,
+	0x41, 0x4d, 0xec, 0x75, 0x1f, 0x0a, 0x7d, 0x9c, 0x28, 0x10, 0x53, 0x81, 0x51, 0x19, 0x26, 0xa2,
+	0x58, 0x20, 0x38, 0x63, 0x6b, 0x33, 0x96, 0x76, 0x73, 0xd1, 0x6c, 0x65, 0x88, 0x1e, 0xc2, 0x3c,
+	0xc5, 0x5f, 0xb8, 0x33, 0x90, 0xc7, 0x6c, 0x2c, 0xde, 0xef, 0xe6, 0xa2, 0x3f, 0x81, 0xb9, 0xd7,
+	0x58, 0xd2, 0xba, 0x87, 0x12, 0xd9, 0xc5, 0x21, 0x9c, 0xbe, 0x19, 0x98, 0x8a, 0x05, 0xbb, 0x62,
+	0xaf, 0xbf, 0x85, 0xc2, 0x66, 0x88, 0x5d, 0x8e, 0xfb, 0x3d, 0x6e, 0x2a, 0x83, 0x01, 0xe3, 0xb1,
+	0xa3, 0x04, 0xa7, 0x27, 0x2d, 0xed, 0xf4, 0xf7, 0x50, 0x38, 0x0c, 0x4e, 0xae, 0x05, 0x4f, 0x4b,
+	0xe7, 0xd6, 0x84, 0x32, 0x14, 0xb6, 0x70, 0x0b, 0x8f, 0x4e, 0xb0, 0xfe, 0x8c, 0xc3, 0xfc, 0xa6,
+	0xbc, 0xa7, 0x35, 0x75, 0x69, 0xeb, 0x16, 0xba, 0x80, 0xe9, 0xcb, 0x16, 0xa1, 0x07, 0xc3, 0xa0,
+	0xd7, 0x06, 0x45, 0x5b, 0x49, 0x37, 0x52, 0x5d, 0xd6, 0x57, 0xbf, 0xff, 0xfa, 0xfd, 0x23, 0x7b,
+	0x0f, 0x2d, 0xc5, 0xcf, 0xce, 0xb9, 0x2a, 0xe2, 0x0b, 0x71, 0x3f, 0x3f, 0xe2, 0x06, 0x8f, 0xcc,
+	0xd2, 0x85, 0xa9, 0x5a, 0xcb, 0x61, 0x32, 0x69, 0x19, 0xba, 0x3f, 0x24, 0xee, 0xd5, 0x76, 0x6a,
+	0x29, 0x45, 0xd1, 0x4b, 0x12, 0xb8, 0x82, 0x74, 0x09, 0xbc, 0x2c, 0x42, 0x1f, 0x53, 0x21, 0x05,
+	0x1b, 0x9d, 0x03, 0xf4, 0x3a, 0x8f, 0x86, 0x1d, 0x68, 0x60, 0x30, 0x52, 0xd9, 0x8f, 0x25, 0x7b,
+	0x55, 0x4f, 0x3f, 0xec, 0x33, 0xd9, 0x37, 0xf4, 0x2d, 0x03, 0xd0, 0x1b, 0x8d, 0xa1, 0xf4, 0x81,
+	0xc9, 0x49, 0xa5, 0x97, 0x25, 0xbd, 0xa4, 0x8d, 0x70, 0xf2, 0x24, 0x85, 0x0e, 0x40, 0x6f, 0x74,
+	0x86, 0x66, 0x30, 0x30, 0x59, 0xda, 0x62, 0xd7, 0xaa, 0xfb, 0x10, 0x1b, 0x95, 0xf8, 0xc1, 0xee,
+	0xd6, 0xbd, 0x34, 0x02, 0x7d, 0xe3, 0x08, 0x16, 0xc4, 0x8b, 0x3e, 0x88, 0xdb, 0x98, 0xdd, 0x51,
+	0x6b, 0x35, 0x9d, 0xfb, 0x99, 0xa3, 0xf2, 0x6d, 0xff, 0xda, 0x8e, 0x73, 0x52, 0xb9, 0xfe, 0x37,
+	0x00, 0x00, 0xff, 0xff, 0x52, 0x86, 0xdf, 0xea, 0x15, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_config.proto b/googleapis/logging/v2/logging_config.proto
index ca521599..fb9df625 100644
--- a/googleapis/logging/v2/logging_config.proto
+++ b/googleapis/logging/v2/logging_config.proto
@@ -31,27 +31,27 @@ option go_package = "google.golang.org/genproto/googleapis/logging/v2";
 service ConfigServiceV2 {
   // Lists sinks.
   rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
-    option (google.api.http) = { get: "/v2beta1/{parent=projects/*}/sinks" };
+    option (google.api.http) = { get: "/v2/{parent=projects/*}/sinks" };
   }
 
   // Gets a sink.
   rpc GetSink(GetSinkRequest) returns (LogSink) {
-    option (google.api.http) = { get: "/v2beta1/{sink_name=projects/*/sinks/*}" };
+    option (google.api.http) = { get: "/v2/{sink_name=projects/*/sinks/*}" };
   }
 
   // Creates a sink.
   rpc CreateSink(CreateSinkRequest) returns (LogSink) {
-    option (google.api.http) = { post: "/v2beta1/{parent=projects/*}/sinks" body: "sink" };
+    option (google.api.http) = { post: "/v2/{parent=projects/*}/sinks" body: "sink" };
   }
 
-  // Creates or updates a sink.
+  // Updates or creates a sink.
   rpc UpdateSink(UpdateSinkRequest) returns (LogSink) {
-    option (google.api.http) = { put: "/v2beta1/{sink_name=projects/*/sinks/*}" body: "sink" };
+    option (google.api.http) = { put: "/v2/{sink_name=projects/*/sinks/*}" body: "sink" };
   }
 
   // Deletes a sink.
   rpc DeleteSink(DeleteSinkRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2beta1/{sink_name=projects/*/sinks/*}" };
+    option (google.api.http) = { delete: "/v2/{sink_name=projects/*/sinks/*}" };
   }
 }
 
@@ -71,50 +71,66 @@ message LogSink {
     V1 = 2;
   }
 
-  // Required. The client-assigned sink identifier. Example:
-  // `"my-severe-errors-to-pubsub"`.
-  // Sink identifiers are limited to 1000 characters
-  // and can include only the following characters: `A-Z`, `a-z`,
-  // `0-9`, and the special characters `_-.`.
+  // Required. The client-assigned sink identifier, unique within the
+  // project. Example: `"my-syslog-errors-to-pubsub"`.  Sink identifiers are
+  // limited to 1000 characters and can include only the following characters:
+  // `A-Z`, `a-z`, `0-9`, and the special characters `_-.`.  The maximum length
+  // of the name is 100 characters.
   string name = 1;
 
-  // The export destination. See
+  // Required. The export destination. See
   // [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-  // Examples: `"storage.googleapis.com/a-bucket"`,
-  // `"bigquery.googleapis.com/projects/a-project-id/datasets/a-dataset"`.
+  // Examples:
+  //
+  //     "storage.googleapis.com/my-gcs-bucket"
+  //     "bigquery.googleapis.com/projects/my-project-id/datasets/my-dataset"
+  //     "pubsub.googleapis.com/projects/my-project/topics/my-topic"
   string destination = 3;
 
-  // An [advanced logs filter](/logging/docs/view/advanced_filters). Only
-  // log entries matching that filter are exported. The filter must be
-  // consistent with the log entry format specified by the
+  // Optional. An [advanced logs filter](/logging/docs/view/advanced_filters).
+  // Only log entries matching the filter are exported. The filter
+  // must be consistent with the log entry format specified by the
   // `outputVersionFormat` parameter, regardless of the format of the
   // log entry that was originally written to Stackdriver Logging.
-  // Example (V2 format):
-  // `"logName=projects/my-projectid/logs/syslog AND severity>=ERROR"`.
+  // Example filter (V2 format):
+  //
+  //     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
   string filter = 5;
 
-  // The log entry version to use for this sink's exported log entries.
-  // This version does not have to correspond to the version of the log entry
-  // when it was written to Stackdriver Logging.
+  // Optional. The log entry version to use for this sink's exported log
+  // entries.  This version does not have to correspond to the version of the
+  // log entry that was written to Stackdriver Logging. If omitted, the
+  // v2 format is used.
   VersionFormat output_version_format = 6;
+
+  // Output only. The iam identity to which the destination needs to grant write
+  // access.  This may be a service account or a group.
+  // Examples (Do not assume these specific values):
+  //    "serviceAccount:cloud-logs@system.gserviceaccount.com"
+  //    "group:cloud-logs@google.com"
+  //
+  //   For GCS destinations, the role "roles/owner" is required on the bucket
+  //   For Cloud Pubsub destinations, the role "roles/pubsub.publisher" is
+  //     required on the topic
+  //   For BigQuery, the role "roles/editor" is required on the dataset
+  string writer_identity = 8;
 }
 
 // The parameters to `ListSinks`.
 message ListSinksRequest {
-  // Required. The resource name containing the sinks.
+  // Required. The cloud resource containing the sinks.
   // Example: `"projects/my-logging-project"`.
   string parent = 1;
 
-  // Optional. If the `pageToken` parameter is supplied, then the next page of
-  // results is retrieved.  The `pageToken` parameter must be set to the value
-  // of the `nextPageToken` from the previous response.
-  // The value of `parent` must be the same as in the previous request.
+  // Optional. If present, then retrieve the next batch of results from the
+  // preceding call to this method.  `pageToken` must be the value of
+  // `nextPageToken` from the previous response.  The values of other method
+  // parameters should be identical to those in the previous call.
   string page_token = 2;
 
   // Optional. The maximum number of results to return from this request.
-  // You must check for presence of `nextPageToken` to determine if additional
-  // results are available, which you can retrieve by passing the
-  // `nextPageToken` value as the `pageToken` parameter in the next request.
+  // Non-positive values are ignored.  The presence of `nextPageToken` in the
+  // response indicates that more results might be available.
   int32 page_size = 3;
 }
 
@@ -123,51 +139,49 @@ message ListSinksResponse {
   // A list of sinks.
   repeated LogSink sinks = 1;
 
-  // If there are more results than were returned, then `nextPageToken` is
-  // included in the response.  To get the next set of results, call this
+  // If there might be more results than appear in this response, then
+  // `nextPageToken` is included.  To get the next set of results, call the same
   // method again using the value of `nextPageToken` as `pageToken`.
   string next_page_token = 2;
 }
 
 // The parameters to `GetSink`.
 message GetSinkRequest {
-  // The resource name of the sink to return.
+  // Required. The resource name of the sink to return.
   // Example: `"projects/my-project-id/sinks/my-sink-id"`.
   string sink_name = 1;
 }
 
 // The parameters to `CreateSink`.
 message CreateSinkRequest {
-  // The resource in which to create the sink.
+  // Required. The resource in which to create the sink.
   // Example: `"projects/my-project-id"`.
-  //
   // The new sink must be provided in the request.
   string parent = 1;
 
-  // The new sink, which must not have an identifier that already
-  // exists.
+  // Required. The new sink, whose `name` parameter is a sink identifier that
+  // is not already in use.
   LogSink sink = 2;
 }
 
 // The parameters to `UpdateSink`.
 message UpdateSinkRequest {
-  // The resource name of the sink to update.
-  // Example: `"projects/my-project-id/sinks/my-sink-id"`.
-  //
-  // The updated sink must be provided in the request and have the
-  // same name that is specified in `sinkName`.  If the sink does not
-  // exist, it is created.
+  // Required. The resource name of the sink to update, including the parent
+  // resource and the sink identifier.  If the sink does not exist, this method
+  // creates the sink.  Example: `"projects/my-project-id/sinks/my-sink-id"`.
   string sink_name = 1;
 
-  // The updated sink, whose name must be the same as the sink
-  // identifier in `sinkName`.  If `sinkName` does not exist, then
+  // Required. The updated sink, whose name is the same identifier that appears
+  // as part of `sinkName`.  If `sinkName` does not exist, then
   // this method creates a new sink.
   LogSink sink = 2;
 }
 
 // The parameters to `DeleteSink`.
 message DeleteSinkRequest {
-  // The resource name of the sink to delete.
-  // Example: `"projects/my-project-id/sinks/my-sink-id"`.
+  // Required. The resource name of the sink to delete, including the parent
+  // resource and the sink identifier.  Example:
+  // `"projects/my-project-id/sinks/my-sink-id"`.  It is an error if the sink
+  // does not exist.
   string sink_name = 1;
 }
diff --git a/googleapis/logging/v2/logging_metrics.pb.go b/googleapis/logging/v2/logging_metrics.pb.go
index 386e907d..bf2245c1 100644
--- a/googleapis/logging/v2/logging_metrics.pb.go
+++ b/googleapis/logging/v2/logging_metrics.pb.go
@@ -8,7 +8,7 @@ import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
+import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
 
 import (
 	context "golang.org/x/net/context"
@@ -20,56 +20,85 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
+// Stackdriver Logging API version.
+type LogMetric_ApiVersion int32
+
+const (
+	// Stackdriver Logging API v2.
+	LogMetric_V2 LogMetric_ApiVersion = 0
+	// Stackdriver Logging API v1.
+	LogMetric_V1 LogMetric_ApiVersion = 1
+)
+
+var LogMetric_ApiVersion_name = map[int32]string{
+	0: "V2",
+	1: "V1",
+}
+var LogMetric_ApiVersion_value = map[string]int32{
+	"V2": 0,
+	"V1": 1,
+}
+
+func (x LogMetric_ApiVersion) String() string {
+	return proto.EnumName(LogMetric_ApiVersion_name, int32(x))
+}
+func (LogMetric_ApiVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{0, 0} }
+
 // Describes a logs-based metric.  The value of the metric is the
 // number of log entries that match a logs filter.
 type LogMetric struct {
 	// Required. The client-assigned metric identifier. Example:
-	// `"severe_errors"`.  Metric identifiers are limited to 1000
+	// `"severe_errors"`.  Metric identifiers are limited to 100
 	// characters and can include only the following characters: `A-Z`,
-	// `a-z`, `0-9`, and the special characters `_-.,+!*',()%/\`.  The
+	// `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`.  The
 	// forward-slash character (`/`) denotes a hierarchy of name pieces,
-	// and it cannot be the first character of the name.
+	// and it cannot be the first character of the name.  The '%' character
+	// is used to URL encode unsafe and reserved characters and must be
+	// followed by two hexadecimal digits according to RFC 1738.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// A description of this metric, which is used in documentation.
+	// Optional. A description of this metric, which is used in documentation.
 	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
-	// An [advanced logs filter](/logging/docs/view/advanced_filters).
-	// Example: `"logName:syslog AND severity>=ERROR"`.
+	// Required. An [advanced logs filter](/logging/docs/view/advanced_filters).
+	// Example: `"resource.type=gae_app AND severity>=ERROR"`.
 	Filter string `protobuf:"bytes,3,opt,name=filter" json:"filter,omitempty"`
+	// Output only. The API version that created or updated this metric.
+	// The version also dictates the syntax of the filter expression. When a value
+	// for this field is missing, the default value of V2 should be assumed.
+	Version LogMetric_ApiVersion `protobuf:"varint,4,opt,name=version,enum=google.logging.v2.LogMetric_ApiVersion" json:"version,omitempty"`
 }
 
 func (m *LogMetric) Reset()                    { *m = LogMetric{} }
 func (m *LogMetric) String() string            { return proto.CompactTextString(m) }
 func (*LogMetric) ProtoMessage()               {}
-func (*LogMetric) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*LogMetric) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
 // The parameters to ListLogMetrics.
 type ListLogMetricsRequest struct {
 	// Required. The resource name containing the metrics.
 	// Example: `"projects/my-project-id"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
-	// Optional. If the `pageToken` parameter is supplied, then the next page of
-	// results is retrieved.  The `pageToken` parameter must be set to the value
-	// of the `nextPageToken` from the previous response.
-	// The value of `parent` must be the same as in the previous request.
+	// Optional. If present, then retrieve the next batch of results from the
+	// preceding call to this method.  `pageToken` must be the value of
+	// `nextPageToken` from the previous response.  The values of other method
+	// parameters should be identical to those in the previous call.
 	PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
 	// Optional. The maximum number of results to return from this request.
-	// You must check for presence of `nextPageToken` to determine if additional
-	// results are available, which you can retrieve by passing the
-	// `nextPageToken` value as the `pageToken` parameter in the next request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
 	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
 }
 
 func (m *ListLogMetricsRequest) Reset()                    { *m = ListLogMetricsRequest{} }
 func (m *ListLogMetricsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListLogMetricsRequest) ProtoMessage()               {}
-func (*ListLogMetricsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*ListLogMetricsRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
 // Result returned from ListLogMetrics.
 type ListLogMetricsResponse struct {
 	// A list of logs-based metrics.
 	Metrics []*LogMetric `protobuf:"bytes,1,rep,name=metrics" json:"metrics,omitempty"`
-	// If there are more results than were returned, then `nextPageToken` is
-	// included in the response.  To get the next set of results, call this
+	// If there might be more results than appear in this response, then
+	// `nextPageToken` is included.  To get the next set of results, call this
 	// method again using the value of `nextPageToken` as `pageToken`.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
@@ -77,7 +106,7 @@ type ListLogMetricsResponse struct {
 func (m *ListLogMetricsResponse) Reset()                    { *m = ListLogMetricsResponse{} }
 func (m *ListLogMetricsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListLogMetricsResponse) ProtoMessage()               {}
-func (*ListLogMetricsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*ListLogMetricsResponse) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
 
 func (m *ListLogMetricsResponse) GetMetrics() []*LogMetric {
 	if m != nil {
@@ -96,7 +125,7 @@ type GetLogMetricRequest struct {
 func (m *GetLogMetricRequest) Reset()                    { *m = GetLogMetricRequest{} }
 func (m *GetLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetLogMetricRequest) ProtoMessage()               {}
-func (*GetLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+func (*GetLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
 
 // The parameters to CreateLogMetric.
 type CreateLogMetricRequest struct {
@@ -113,7 +142,7 @@ type CreateLogMetricRequest struct {
 func (m *CreateLogMetricRequest) Reset()                    { *m = CreateLogMetricRequest{} }
 func (m *CreateLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateLogMetricRequest) ProtoMessage()               {}
-func (*CreateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
+func (*CreateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{4} }
 
 func (m *CreateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -123,7 +152,6 @@ func (m *CreateLogMetricRequest) GetMetric() *LogMetric {
 }
 
 // The parameters to UpdateLogMetric.
-//
 type UpdateLogMetricRequest struct {
 	// The resource name of the metric to update.
 	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
@@ -141,7 +169,7 @@ type UpdateLogMetricRequest struct {
 func (m *UpdateLogMetricRequest) Reset()                    { *m = UpdateLogMetricRequest{} }
 func (m *UpdateLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateLogMetricRequest) ProtoMessage()               {}
-func (*UpdateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+func (*UpdateLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{5} }
 
 func (m *UpdateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -160,7 +188,7 @@ type DeleteLogMetricRequest struct {
 func (m *DeleteLogMetricRequest) Reset()                    { *m = DeleteLogMetricRequest{} }
 func (m *DeleteLogMetricRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteLogMetricRequest) ProtoMessage()               {}
-func (*DeleteLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+func (*DeleteLogMetricRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{6} }
 
 func init() {
 	proto.RegisterType((*LogMetric)(nil), "google.logging.v2.LogMetric")
@@ -170,6 +198,7 @@ func init() {
 	proto.RegisterType((*CreateLogMetricRequest)(nil), "google.logging.v2.CreateLogMetricRequest")
 	proto.RegisterType((*UpdateLogMetricRequest)(nil), "google.logging.v2.UpdateLogMetricRequest")
 	proto.RegisterType((*DeleteLogMetricRequest)(nil), "google.logging.v2.DeleteLogMetricRequest")
+	proto.RegisterEnum("google.logging.v2.LogMetric_ApiVersion", LogMetric_ApiVersion_name, LogMetric_ApiVersion_value)
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -192,7 +221,7 @@ type MetricsServiceV2Client interface {
 	// Creates or updates a logs-based metric.
 	UpdateLogMetric(ctx context.Context, in *UpdateLogMetricRequest, opts ...grpc.CallOption) (*LogMetric, error)
 	// Deletes a logs-based metric.
-	DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
+	DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 }
 
 type metricsServiceV2Client struct {
@@ -239,8 +268,8 @@ func (c *metricsServiceV2Client) UpdateLogMetric(ctx context.Context, in *Update
 	return out, nil
 }
 
-func (c *metricsServiceV2Client) DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error) {
-	out := new(google_protobuf4.Empty)
+func (c *metricsServiceV2Client) DeleteLogMetric(ctx context.Context, in *DeleteLogMetricRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error) {
+	out := new(google_protobuf5.Empty)
 	err := grpc.Invoke(ctx, "/google.logging.v2.MetricsServiceV2/DeleteLogMetric", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
@@ -260,7 +289,7 @@ type MetricsServiceV2Server interface {
 	// Creates or updates a logs-based metric.
 	UpdateLogMetric(context.Context, *UpdateLogMetricRequest) (*LogMetric, error)
 	// Deletes a logs-based metric.
-	DeleteLogMetric(context.Context, *DeleteLogMetricRequest) (*google_protobuf4.Empty, error)
+	DeleteLogMetric(context.Context, *DeleteLogMetricRequest) (*google_protobuf5.Empty, error)
 }
 
 func RegisterMetricsServiceV2Server(s *grpc.Server, srv MetricsServiceV2Server) {
@@ -383,51 +412,54 @@ var _MetricsServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: fileDescriptor2,
+	Metadata: fileDescriptor3,
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 604 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x95, 0xcf, 0x6e, 0xd3, 0x40,
-	0x10, 0xc6, 0xe5, 0x96, 0x16, 0x3a, 0x05, 0x02, 0x8b, 0x6a, 0x45, 0x06, 0x44, 0x65, 0xa1, 0xaa,
-	0x04, 0xf0, 0x82, 0x53, 0x2a, 0x01, 0xe2, 0xc2, 0x5f, 0x21, 0x0a, 0xaa, 0x52, 0x40, 0x82, 0x4b,
-	0xe4, 0xb8, 0x93, 0x65, 0x69, 0xec, 0x5d, 0xbc, 0x9b, 0xa8, 0x2d, 0xea, 0x85, 0x5b, 0x6f, 0x48,
-	0x3d, 0xf0, 0x60, 0xbc, 0x02, 0x57, 0xde, 0x01, 0x79, 0x6d, 0xa7, 0x21, 0x31, 0x24, 0xe9, 0x25,
-	0xb2, 0x67, 0x76, 0xe6, 0xfb, 0xed, 0xcc, 0x27, 0x07, 0x9e, 0x33, 0x21, 0x58, 0x07, 0x3d, 0x26,
-	0x3a, 0x41, 0xcc, 0x3c, 0x91, 0x30, 0xca, 0x30, 0x96, 0x89, 0xd0, 0x82, 0x66, 0xa9, 0x40, 0x72,
-	0x45, 0x3b, 0x82, 0x31, 0x1e, 0x33, 0xda, 0xf3, 0x8b, 0xc7, 0x66, 0x84, 0x3a, 0xe1, 0xa1, 0xf2,
-	0xcc, 0x59, 0x72, 0x31, 0xef, 0x93, 0x67, 0xbd, 0x9e, 0xef, 0xbc, 0x9c, 0xac, 0x75, 0x20, 0x39,
-	0x55, 0x98, 0xf4, 0x78, 0x88, 0xa1, 0x88, 0xdb, 0x9c, 0xd1, 0x20, 0x8e, 0x85, 0x0e, 0x34, 0x17,
-	0x71, 0xde, 0xdd, 0xa9, 0x33, 0xae, 0x3f, 0x75, 0x5b, 0x5e, 0x28, 0x22, 0x9a, 0xb5, 0xa3, 0x26,
-	0xd1, 0xea, 0xb6, 0xa9, 0xd4, 0x7b, 0x12, 0x15, 0xc5, 0x48, 0xea, 0xbd, 0xec, 0x37, 0x2b, 0x72,
-	0x3f, 0xc0, 0xc2, 0x86, 0x60, 0xaf, 0x0d, 0x26, 0x21, 0x70, 0x2a, 0x0e, 0x22, 0xac, 0x5a, 0xcb,
-	0xd6, 0xea, 0x42, 0xc3, 0x3c, 0x93, 0x65, 0x58, 0xdc, 0x46, 0x15, 0x26, 0x5c, 0xa6, 0x5a, 0xd5,
-	0x19, 0x93, 0x1a, 0x0c, 0x11, 0x1b, 0xe6, 0xdb, 0xbc, 0xa3, 0x31, 0xa9, 0xce, 0x9a, 0x64, 0xfe,
-	0xe6, 0xee, 0xc0, 0xd2, 0x06, 0x57, 0xba, 0xdf, 0x5e, 0x35, 0xf0, 0x4b, 0x17, 0x95, 0x4e, 0x0b,
-	0x64, 0x90, 0x60, 0xac, 0x73, 0xa1, 0xfc, 0x8d, 0x5c, 0x05, 0x90, 0x01, 0xc3, 0xa6, 0x16, 0x3b,
-	0x58, 0x28, 0x2d, 0xa4, 0x91, 0xb7, 0x69, 0x80, 0x5c, 0x06, 0xf3, 0xd2, 0x54, 0x7c, 0x1f, 0x8d,
-	0xd4, 0x5c, 0xe3, 0x4c, 0x1a, 0xd8, 0xe2, 0xfb, 0xe8, 0xee, 0x82, 0x3d, 0x2c, 0xa6, 0xa4, 0x88,
-	0x15, 0x92, 0x75, 0x38, 0x9d, 0x6f, 0xa1, 0x6a, 0x2d, 0xcf, 0xae, 0x2e, 0xfa, 0x57, 0xbc, 0x91,
-	0x35, 0x78, 0xfd, 0xba, 0x46, 0x71, 0x98, 0xac, 0x40, 0x25, 0xc6, 0x5d, 0xdd, 0x1c, 0x41, 0x3a,
-	0x97, 0x86, 0x37, 0x0b, 0x2c, 0x77, 0x1d, 0x2e, 0xbd, 0xc0, 0x63, 0xe1, 0xe2, 0x92, 0xd7, 0x60,
-	0x31, 0xeb, 0xd4, 0x1c, 0x18, 0x29, 0x64, 0xa1, 0x37, 0x41, 0x84, 0x6e, 0x1b, 0xec, 0x27, 0x09,
-	0x06, 0x1a, 0x47, 0x4a, 0xff, 0x35, 0x9f, 0x35, 0x98, 0xcf, 0xea, 0x0d, 0xc8, 0xb8, 0x8b, 0xe4,
-	0x67, 0x5d, 0x01, 0xf6, 0x3b, 0xb9, 0x5d, 0xa6, 0x33, 0x0e, 0xf1, 0x84, 0x82, 0xf7, 0xc1, 0x7e,
-	0x8a, 0x1d, 0x3c, 0x81, 0xa0, 0xff, 0x7b, 0x0e, 0x2e, 0xe4, 0xfb, 0xdb, 0xca, 0xdc, 0xfe, 0xde,
-	0x27, 0x47, 0x16, 0x9c, 0xff, 0x7b, 0xb7, 0x64, 0xb5, 0x0c, 0xa4, 0xcc, 0x6b, 0xce, 0x8d, 0x09,
-	0x4e, 0x66, 0x46, 0x71, 0x6f, 0x7d, 0xfb, 0xf9, 0xeb, 0x68, 0x66, 0x85, 0x5c, 0xa7, 0x3d, 0xbf,
-	0x85, 0x3a, 0xb8, 0x4b, 0xbf, 0x66, 0x83, 0x7f, 0x24, 0x13, 0xf1, 0x19, 0x43, 0xad, 0x68, 0xed,
-	0x80, 0x16, 0xf6, 0x38, 0xb4, 0xe0, 0xec, 0xe0, 0xde, 0xc9, 0x4a, 0x89, 0x52, 0x89, 0x31, 0x9c,
-	0xff, 0x0e, 0xd1, 0xad, 0x1b, 0x88, 0xdb, 0xe4, 0xe6, 0x31, 0xc4, 0xc0, 0xc8, 0x06, 0x48, 0x0a,
-	0x10, 0x5a, 0x3b, 0x20, 0xdf, 0x2d, 0xa8, 0x0c, 0x79, 0x89, 0x94, 0x5d, 0xbc, 0xdc, 0x6f, 0x63,
-	0x88, 0xd6, 0x0c, 0x91, 0xe7, 0x4e, 0x34, 0x96, 0x07, 0xb9, 0x09, 0xc8, 0x0f, 0x0b, 0x2a, 0x43,
-	0xb6, 0x2b, 0x45, 0x2a, 0xb7, 0xe6, 0x18, 0xa4, 0x87, 0x06, 0xe9, 0x9e, 0x33, 0xcd, 0x90, 0xfa,
-	0x64, 0x87, 0x16, 0x54, 0x86, 0xfc, 0x59, 0x4a, 0x56, 0xee, 0x61, 0xc7, 0x2e, 0x8e, 0x16, 0xdf,
-	0x56, 0xef, 0x59, 0xfa, 0x39, 0x2d, 0x16, 0x57, 0x9b, 0x86, 0xe9, 0xf1, 0x2b, 0x58, 0x0a, 0x45,
-	0x34, 0x2a, 0xbe, 0x69, 0x7d, 0xbc, 0x33, 0xed, 0x7f, 0x4e, 0x6b, 0xde, 0x24, 0xeb, 0x7f, 0x02,
-	0x00, 0x00, 0xff, 0xff, 0x4e, 0x9b, 0xfb, 0x38, 0xae, 0x06, 0x00, 0x00,
+	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto", fileDescriptor3)
+}
+
+var fileDescriptor3 = []byte{
+	// 648 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xcf, 0x4e, 0x14, 0x4f,
+	0x10, 0xfe, 0x0d, 0x7f, 0x96, 0x1f, 0x85, 0x02, 0xb6, 0x61, 0x43, 0x46, 0x0c, 0x38, 0x07, 0x58,
+	0x38, 0x4c, 0xe3, 0x60, 0x48, 0x34, 0xf1, 0x00, 0xfe, 0x8b, 0x09, 0x1a, 0xb2, 0x28, 0x07, 0x3d,
+	0x6c, 0x86, 0xa1, 0xb6, 0x6d, 0xd9, 0x9d, 0x1e, 0xa7, 0x9b, 0x0d, 0x6a, 0xbc, 0x18, 0x6f, 0x26,
+	0x1e, 0xf4, 0x6d, 0x7c, 0x0d, 0x7d, 0x04, 0x1f, 0xc4, 0x9e, 0xee, 0x19, 0x58, 0x77, 0x47, 0x76,
+	0xe5, 0x32, 0xdb, 0x5d, 0x55, 0x5d, 0xdf, 0x57, 0x55, 0x5f, 0xf7, 0xc2, 0x43, 0x26, 0x04, 0x6b,
+	0xa1, 0xcf, 0x44, 0x2b, 0x8c, 0x99, 0x2f, 0x52, 0x46, 0x19, 0xc6, 0x49, 0x2a, 0x94, 0xa0, 0xd6,
+	0x15, 0x26, 0x5c, 0xd2, 0x96, 0x60, 0x8c, 0xc7, 0x8c, 0x76, 0x82, 0x62, 0xd9, 0x68, 0xa3, 0x4a,
+	0x79, 0x24, 0x7d, 0x13, 0x4b, 0xae, 0xe4, 0x79, 0x72, 0xaf, 0xdf, 0x09, 0xdc, 0xc7, 0xc3, 0xa5,
+	0xd6, 0x1f, 0x2a, 0x31, 0xed, 0xf0, 0x08, 0x23, 0x11, 0x37, 0x39, 0xa3, 0x61, 0x1c, 0x0b, 0x15,
+	0x2a, 0x2e, 0xe2, 0x3c, 0xbb, 0xbb, 0xc1, 0xb8, 0x7a, 0x75, 0x7c, 0xe0, 0x47, 0xa2, 0x4d, 0x6d,
+	0x3a, 0x6a, 0x1c, 0x07, 0xc7, 0x4d, 0x9a, 0xa8, 0xb7, 0x09, 0x4a, 0x8a, 0x6d, 0xbd, 0xb0, 0x5f,
+	0x7b, 0xc8, 0xfb, 0xee, 0xc0, 0xe4, 0x8e, 0x60, 0x4f, 0x0c, 0x4f, 0x42, 0x60, 0x2c, 0x0e, 0xdb,
+	0x38, 0xef, 0x2c, 0x39, 0xb5, 0xc9, 0xba, 0x59, 0x93, 0x25, 0x98, 0x3a, 0x44, 0x19, 0xa5, 0x3c,
+	0xc9, 0xc0, 0xe6, 0x47, 0x8c, 0xab, 0xdb, 0x44, 0xaa, 0x50, 0x69, 0xf2, 0x96, 0xc2, 0x74, 0x7e,
+	0xd4, 0x38, 0xf3, 0x1d, 0xd9, 0x82, 0x89, 0x0e, 0xa6, 0x32, 0x3b, 0x35, 0xa6, 0x1d, 0xd3, 0xc1,
+	0x8a, 0xdf, 0xd7, 0x00, 0xff, 0x14, 0xdc, 0xdf, 0x4a, 0xf8, 0xbe, 0x0d, 0xaf, 0x17, 0xe7, 0xbc,
+	0x05, 0x80, 0x33, 0x33, 0xa9, 0xc0, 0xc8, 0x7e, 0x30, 0xfb, 0x9f, 0xf9, 0xbd, 0x39, 0xeb, 0x78,
+	0x47, 0x30, 0xb7, 0xc3, 0xa5, 0x3a, 0x4d, 0x21, 0xeb, 0xf8, 0xe6, 0x18, 0xa5, 0xca, 0x18, 0x25,
+	0x61, 0x8a, 0xb1, 0xca, 0x2b, 0xc9, 0x77, 0xe4, 0x3a, 0x40, 0x12, 0x32, 0x6c, 0x28, 0x71, 0x84,
+	0x45, 0x29, 0x93, 0x99, 0xe5, 0x59, 0x66, 0x20, 0xd7, 0xc0, 0x6c, 0x1a, 0x92, 0xbf, 0x43, 0x53,
+	0xcb, 0x78, 0xfd, 0xff, 0xcc, 0xb0, 0xa7, 0xf7, 0xde, 0x09, 0x54, 0x7b, 0xc1, 0x64, 0xa2, 0xbb,
+	0x8f, 0x64, 0x13, 0x26, 0xf2, 0x39, 0x6b, 0xb8, 0xd1, 0xda, 0x54, 0xb0, 0x70, 0x5e, 0x9d, 0xf5,
+	0x22, 0x98, 0x2c, 0xc3, 0x4c, 0x8c, 0x27, 0xaa, 0xd1, 0x47, 0xe9, 0x72, 0x66, 0xde, 0x2d, 0x68,
+	0x79, 0x9b, 0x70, 0xf5, 0x11, 0x9e, 0x01, 0x17, 0x45, 0x2e, 0xc2, 0x94, 0xcd, 0xd4, 0xe8, 0x9a,
+	0x19, 0x58, 0xd3, 0x53, 0x6d, 0xf1, 0x9a, 0x50, 0xbd, 0x97, 0x62, 0xa8, 0xb0, 0xef, 0xe8, 0xdf,
+	0xfa, 0x73, 0x0b, 0x2a, 0xf6, 0xbc, 0x21, 0x32, 0xa8, 0x90, 0x3c, 0xd6, 0x13, 0x50, 0x7d, 0x9e,
+	0x1c, 0x96, 0xe1, 0x0c, 0xa2, 0x78, 0x41, 0xc0, 0xdb, 0x50, 0xbd, 0x8f, 0x2d, 0xbc, 0x00, 0x60,
+	0xf0, 0x73, 0x1c, 0x66, 0xf3, 0xf9, 0xed, 0xd9, 0xfb, 0xb4, 0x1f, 0x90, 0x2f, 0x0e, 0x4c, 0xff,
+	0x39, 0x5b, 0x52, 0x2b, 0x23, 0x52, 0xa6, 0x35, 0x77, 0x75, 0x88, 0x48, 0x2b, 0x14, 0x6f, 0xe5,
+	0xe3, 0x8f, 0x5f, 0xdf, 0x46, 0x6e, 0x90, 0xc5, 0xec, 0x89, 0x78, 0x6f, 0x7b, 0x7e, 0x57, 0xdf,
+	0xc3, 0xd7, 0x18, 0x29, 0x49, 0xd7, 0x3e, 0xd0, 0x42, 0x19, 0x9f, 0x1c, 0xb8, 0xd4, 0x3d, 0x72,
+	0xb2, 0x5c, 0x02, 0x52, 0xa2, 0x09, 0xf7, 0xdc, 0xfe, 0x79, 0xbe, 0xc1, 0xaf, 0x91, 0x65, 0x83,
+	0xdf, 0xd5, 0xa8, 0x2e, 0x12, 0x05, 0x07, 0x4d, 0x87, 0x7c, 0x76, 0x60, 0xa6, 0x47, 0x41, 0xa4,
+	0xac, 0xdc, 0x72, 0x95, 0x0d, 0x20, 0x43, 0x0d, 0x99, 0x55, 0x6f, 0x50, 0x33, 0xee, 0xe4, 0x53,
+	0x27, 0x5f, 0x35, 0x9b, 0x1e, 0x9d, 0x95, 0xb2, 0x29, 0xd7, 0xe2, 0x00, 0x36, 0x9b, 0x86, 0xcd,
+	0xba, 0x3b, 0x64, 0x6b, 0x4e, 0x49, 0xe9, 0x49, 0xcd, 0xf4, 0x68, 0xb1, 0x94, 0x54, 0xb9, 0x5e,
+	0xdd, 0x6a, 0x11, 0x5a, 0xbc, 0xd4, 0xfe, 0x83, 0xec, 0x71, 0x2e, 0x26, 0xb5, 0x36, 0x24, 0x9d,
+	0xed, 0x97, 0x30, 0xa7, 0x9f, 0xfd, 0x7e, 0xdc, 0xed, 0xe9, 0x1d, 0xbb, 0xce, 0xa5, 0xb8, 0xeb,
+	0xbc, 0x58, 0xff, 0xd7, 0x3f, 0xb3, 0x83, 0x8a, 0x71, 0x6e, 0xfc, 0x0e, 0x00, 0x00, 0xff, 0xff,
+	0x46, 0x24, 0x21, 0x19, 0x07, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_metrics.proto b/googleapis/logging/v2/logging_metrics.proto
index 2811d426..3ef61903 100644
--- a/googleapis/logging/v2/logging_metrics.proto
+++ b/googleapis/logging/v2/logging_metrics.proto
@@ -20,6 +20,7 @@ import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.prot
 import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
 
 option java_multiple_files = true;
+option java_outer_classname = "LoggingMetrics";
 option java_package = "com.google.logging.v2";
 
 option go_package = "google.golang.org/genproto/googleapis/logging/v2";
@@ -28,47 +29,63 @@ option go_package = "google.golang.org/genproto/googleapis/logging/v2";
 service MetricsServiceV2 {
   // Lists logs-based metrics.
   rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) {
-    option (google.api.http) = { get: "/v2beta1/{parent=projects/*}/metrics" };
+    option (google.api.http) = { get: "/v2/{parent=projects/*}/metrics" };
   }
 
   // Gets a logs-based metric.
   rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { get: "/v2beta1/{metric_name=projects/*/metrics/*}" };
+    option (google.api.http) = { get: "/v2/{metric_name=projects/*/metrics/*}" };
   }
 
   // Creates a logs-based metric.
   rpc CreateLogMetric(CreateLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { post: "/v2beta1/{parent=projects/*}/metrics" body: "metric" };
+    option (google.api.http) = { post: "/v2/{parent=projects/*}/metrics" body: "metric" };
   }
 
   // Creates or updates a logs-based metric.
   rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) {
-    option (google.api.http) = { put: "/v2beta1/{metric_name=projects/*/metrics/*}" body: "metric" };
+    option (google.api.http) = { put: "/v2/{metric_name=projects/*/metrics/*}" body: "metric" };
   }
 
   // Deletes a logs-based metric.
   rpc DeleteLogMetric(DeleteLogMetricRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2beta1/{metric_name=projects/*/metrics/*}" };
+    option (google.api.http) = { delete: "/v2/{metric_name=projects/*/metrics/*}" };
   }
 }
 
 // Describes a logs-based metric.  The value of the metric is the
 // number of log entries that match a logs filter.
 message LogMetric {
+  // Stackdriver Logging API version.
+  enum ApiVersion {
+    // Stackdriver Logging API v2.
+    V2 = 0;
+
+    // Stackdriver Logging API v1.
+    V1 = 1;
+  }
+
   // Required. The client-assigned metric identifier. Example:
-  // `"severe_errors"`.  Metric identifiers are limited to 1000
+  // `"severe_errors"`.  Metric identifiers are limited to 100
   // characters and can include only the following characters: `A-Z`,
-  // `a-z`, `0-9`, and the special characters `_-.,+!*',()%/\`.  The
+  // `a-z`, `0-9`, and the special characters `_-.,+!*',()%/`.  The
   // forward-slash character (`/`) denotes a hierarchy of name pieces,
-  // and it cannot be the first character of the name.
+  // and it cannot be the first character of the name.  The '%' character
+  // is used to URL encode unsafe and reserved characters and must be
+  // followed by two hexadecimal digits according to RFC 1738.
   string name = 1;
 
-  // A description of this metric, which is used in documentation.
+  // Optional. A description of this metric, which is used in documentation.
   string description = 2;
 
-  // An [advanced logs filter](/logging/docs/view/advanced_filters).
-  // Example: `"logName:syslog AND severity>=ERROR"`.
+  // Required. An [advanced logs filter](/logging/docs/view/advanced_filters).
+  // Example: `"resource.type=gae_app AND severity>=ERROR"`.
   string filter = 3;
+
+  // Output only. The API version that created or updated this metric.
+  // The version also dictates the syntax of the filter expression. When a value
+  // for this field is missing, the default value of V2 should be assumed.
+  ApiVersion version = 4;
 }
 
 // The parameters to ListLogMetrics.
@@ -77,16 +94,15 @@ message ListLogMetricsRequest {
   // Example: `"projects/my-project-id"`.
   string parent = 1;
 
-  // Optional. If the `pageToken` parameter is supplied, then the next page of
-  // results is retrieved.  The `pageToken` parameter must be set to the value
-  // of the `nextPageToken` from the previous response.
-  // The value of `parent` must be the same as in the previous request.
+  // Optional. If present, then retrieve the next batch of results from the
+  // preceding call to this method.  `pageToken` must be the value of
+  // `nextPageToken` from the previous response.  The values of other method
+  // parameters should be identical to those in the previous call.
   string page_token = 2;
 
   // Optional. The maximum number of results to return from this request.
-  // You must check for presence of `nextPageToken` to determine if additional
-  // results are available, which you can retrieve by passing the
-  // `nextPageToken` value as the `pageToken` parameter in the next request.
+  // Non-positive values are ignored.  The presence of `nextPageToken` in the
+  // response indicates that more results might be available.
   int32 page_size = 3;
 }
 
@@ -95,8 +111,8 @@ message ListLogMetricsResponse {
   // A list of logs-based metrics.
   repeated LogMetric metrics = 1;
 
-  // If there are more results than were returned, then `nextPageToken` is
-  // included in the response.  To get the next set of results, call this
+  // If there might be more results than appear in this response, then
+  // `nextPageToken` is included.  To get the next set of results, call this
   // method again using the value of `nextPageToken` as `pageToken`.
   string next_page_token = 2;
 }
@@ -122,7 +138,6 @@ message CreateLogMetricRequest {
 }
 
 // The parameters to UpdateLogMetric.
-//
 message UpdateLogMetricRequest {
   // The resource name of the metric to update.
   // Example: `"projects/my-project-id/metrics/my-metric-id"`.
diff --git a/googleapis/longrunning/operations.pb.go b/googleapis/longrunning/operations.pb.go
index 14c62a22..93ce6400 100644
--- a/googleapis/longrunning/operations.pb.go
+++ b/googleapis/longrunning/operations.pb.go
@@ -45,17 +45,23 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 // This resource represents a long-running operation that is the result of a
 // network API call.
 type Operation struct {
-	// The name of the operation resource, which is only unique within the same
-	// service that originally returns it.
+	// The server-assigned name, which is only unique within the same service that
+	// originally returns it. If you use the default HTTP mapping, the
+	// `name` should have the format of `operations/some/unique/name`.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Some service-specific metadata associated with the operation.  It typically
+	// Service-specific metadata associated with the operation.  It typically
 	// contains progress information and common metadata such as create time.
-	// Some services may not provide such metadata.  Any method that returns a
+	// Some services might not provide such metadata.  Any method that returns a
 	// long-running operation should document the metadata type, if any.
 	Metadata *google_protobuf1.Any `protobuf:"bytes,2,opt,name=metadata" json:"metadata,omitempty"`
-	// If the value is false, it means the operation is still in progress.
-	// If true, the operation is completed and the `result` is available.
+	// If the value is `false`, it means the operation is still in progress.
+	// If true, the operation is completed, and either `error` or `response` is
+	// available.
 	Done bool `protobuf:"varint,3,opt,name=done" json:"done,omitempty"`
+	// The operation result, which can be either an `error` or a valid `response`.
+	// If `done` == `false`, neither `error` nor `response` is set.
+	// If `done` == `true`, exactly one of `error` or `response` is set.
+	//
 	// Types that are valid to be assigned to Result:
 	//	*Operation_Error
 	//	*Operation_Response
@@ -198,11 +204,11 @@ func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor
 type ListOperationsRequest struct {
 	// The name of the operation collection.
 	Name string `protobuf:"bytes,4,opt,name=name" json:"name,omitempty"`
-	// The standard List filter.
+	// The standard list filter.
 	Filter string `protobuf:"bytes,1,opt,name=filter" json:"filter,omitempty"`
-	// The standard List page size.
+	// The standard list page size.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
-	// The standard List page token.
+	// The standard list page token.
 	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
 }
 
@@ -213,7 +219,7 @@ func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescript
 
 // The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 type ListOperationsResponse struct {
-	// A list of operations that match the specified filter in the request.
+	// A list of operations that matches the specified filter in the request.
 	Operations []*Operation `protobuf:"bytes,1,rep,name=operations" json:"operations,omitempty"`
 	// The standard List next-page token.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
@@ -273,23 +279,31 @@ const _ = grpc.SupportPackageIsVersion3
 // Client API for Operations service
 
 type OperationsClient interface {
-	// Gets the latest state of a long-running operation.  Clients may use this
+	// Gets the latest state of a long-running operation.  Clients can use this
 	// method to poll the operation result at intervals as recommended by the API
 	// service.
 	GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error)
 	// Lists operations that match the specified filter in the request. If the
-	// server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.
+	// server doesn't support this method, it returns `UNIMPLEMENTED`.
+	//
+	// NOTE: the `name` binding below allows API services to override the binding
+	// to use different resource name schemes, such as `users/*/operations`.
 	ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error)
 	// Starts asynchronous cancellation on a long-running operation.  The server
 	// makes a best effort to cancel the operation, but success is not
 	// guaranteed.  If the server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.  Clients may use
-	// [Operations.GetOperation] or other methods to check whether the
-	// cancellation succeeded or the operation completed despite cancellation.
+	// `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
+	// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
+	// other methods to check whether the cancellation succeeded or whether the
+	// operation completed despite cancellation. On successful cancellation,
+	// the operation is not deleted; instead, it becomes an operation with
+	// an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+	// corresponding to `Code.CANCELLED`.
 	CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
-	// Deletes a long-running operation.  It indicates the client is no longer
-	// interested in the operation result. It does not cancel the operation.
+	// Deletes a long-running operation. This method indicates that the client is
+	// no longer interested in the operation result. It does not cancel the
+	// operation. If the server doesn't support this method, it returns
+	// `google.rpc.Code.UNIMPLEMENTED`.
 	DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error)
 }
 
@@ -340,23 +354,31 @@ func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperat
 // Server API for Operations service
 
 type OperationsServer interface {
-	// Gets the latest state of a long-running operation.  Clients may use this
+	// Gets the latest state of a long-running operation.  Clients can use this
 	// method to poll the operation result at intervals as recommended by the API
 	// service.
 	GetOperation(context.Context, *GetOperationRequest) (*Operation, error)
 	// Lists operations that match the specified filter in the request. If the
-	// server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.
+	// server doesn't support this method, it returns `UNIMPLEMENTED`.
+	//
+	// NOTE: the `name` binding below allows API services to override the binding
+	// to use different resource name schemes, such as `users/*/operations`.
 	ListOperations(context.Context, *ListOperationsRequest) (*ListOperationsResponse, error)
 	// Starts asynchronous cancellation on a long-running operation.  The server
 	// makes a best effort to cancel the operation, but success is not
 	// guaranteed.  If the server doesn't support this method, it returns
-	// `google.rpc.Code.UNIMPLEMENTED`.  Clients may use
-	// [Operations.GetOperation] or other methods to check whether the
-	// cancellation succeeded or the operation completed despite cancellation.
+	// `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
+	// [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
+	// other methods to check whether the cancellation succeeded or whether the
+	// operation completed despite cancellation. On successful cancellation,
+	// the operation is not deleted; instead, it becomes an operation with
+	// an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+	// corresponding to `Code.CANCELLED`.
 	CancelOperation(context.Context, *CancelOperationRequest) (*google_protobuf2.Empty, error)
-	// Deletes a long-running operation.  It indicates the client is no longer
-	// interested in the operation result. It does not cancel the operation.
+	// Deletes a long-running operation. This method indicates that the client is
+	// no longer interested in the operation result. It does not cancel the
+	// operation. If the server doesn't support this method, it returns
+	// `google.rpc.Code.UNIMPLEMENTED`.
 	DeleteOperation(context.Context, *DeleteOperationRequest) (*google_protobuf2.Empty, error)
 }
 
@@ -466,43 +488,43 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 600 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x6f, 0xd3, 0x30,
-	0x14, 0x5e, 0xb6, 0x6e, 0x6a, 0xdf, 0x80, 0x4a, 0x86, 0x95, 0xa8, 0x68, 0xa2, 0x8a, 0x10, 0x74,
-	0x61, 0x8a, 0xa1, 0xbb, 0x4d, 0xda, 0x81, 0x02, 0x62, 0x48, 0x48, 0x4c, 0x19, 0xf7, 0xc9, 0xcb,
-	0xde, 0x42, 0x44, 0x6a, 0x07, 0xdb, 0x19, 0xeb, 0xd0, 0x34, 0xc1, 0x81, 0x13, 0x37, 0x7e, 0x18,
-	0x07, 0xfe, 0x02, 0x3f, 0x04, 0xc5, 0x49, 0x9b, 0xd0, 0xa5, 0xd0, 0x43, 0x5b, 0xd7, 0xfe, 0xde,
-	0xf7, 0xbe, 0xf7, 0x7d, 0x4e, 0x60, 0x18, 0x0a, 0x11, 0xc6, 0xe8, 0x85, 0x22, 0x66, 0x3c, 0xf4,
-	0x84, 0x0c, 0x69, 0x88, 0x3c, 0x91, 0x42, 0x0b, 0x9a, 0x1f, 0xb1, 0x24, 0x52, 0x34, 0x16, 0x3c,
-	0x94, 0x29, 0xe7, 0x11, 0x0f, 0xa9, 0x48, 0x50, 0x32, 0x1d, 0x09, 0xae, 0x3c, 0x83, 0x23, 0xa4,
-	0xe0, 0xa8, 0x80, 0xba, 0xaf, 0x17, 0xe3, 0x65, 0x49, 0x44, 0x15, 0xca, 0xb3, 0x28, 0xc0, 0x40,
-	0xf0, 0xd3, 0x28, 0xa4, 0x8c, 0x73, 0xa1, 0xab, 0xf4, 0x5d, 0x1a, 0x46, 0xfa, 0x7d, 0x7a, 0xec,
-	0x05, 0x62, 0x44, 0x73, 0x3a, 0x6a, 0x0e, 0x8e, 0xd3, 0x53, 0x9a, 0xe8, 0x71, 0x82, 0x8a, 0x32,
-	0x3e, 0xce, 0x3e, 0x45, 0xc1, 0xce, 0xff, 0x0b, 0x70, 0x94, 0xe8, 0x71, 0xfe, 0x5d, 0x14, 0xed,
-	0x2d, 0x26, 0x58, 0x26, 0x01, 0x55, 0x9a, 0xe9, 0x54, 0x15, 0x3f, 0x79, 0xb9, 0xf3, 0xd3, 0x82,
-	0xd6, 0xdb, 0x89, 0x31, 0x84, 0x40, 0x83, 0xb3, 0x11, 0xda, 0x56, 0xcf, 0xea, 0xb7, 0x7c, 0xb3,
-	0x26, 0x4f, 0xa0, 0x39, 0x42, 0xcd, 0x4e, 0x98, 0x66, 0xf6, 0x72, 0xcf, 0xea, 0xaf, 0x0f, 0xee,
-	0x78, 0x45, 0xcf, 0x89, 0x3a, 0xef, 0x19, 0x1f, 0xfb, 0x53, 0x54, 0xc6, 0x72, 0x22, 0x38, 0xda,
-	0x2b, 0x3d, 0xab, 0xdf, 0xf4, 0xcd, 0x9a, 0xb8, 0xb0, 0x8a, 0x52, 0x0a, 0x69, 0x37, 0x0c, 0x05,
-	0x99, 0x50, 0xc8, 0x24, 0xf0, 0x0e, 0x8d, 0xa0, 0xfd, 0x25, 0x3f, 0x87, 0x90, 0x01, 0x34, 0x25,
-	0xaa, 0x44, 0x70, 0x85, 0xf6, 0xea, 0xfc, 0x8e, 0xfb, 0x4b, 0xfe, 0x14, 0x37, 0x6c, 0xc2, 0x9a,
-	0x44, 0x95, 0xc6, 0xda, 0xd9, 0x82, 0xdb, 0xaf, 0x50, 0x4f, 0x67, 0xf2, 0xf1, 0x63, 0x8a, 0x4a,
-	0xd7, 0x8d, 0xe6, 0x5c, 0xc1, 0xc6, 0x9b, 0x48, 0x95, 0x58, 0x35, 0x0b, 0x6e, 0x54, 0x7c, 0xe8,
-	0xc0, 0xda, 0x69, 0x14, 0x6b, 0x94, 0x05, 0x45, 0xf1, 0x8f, 0xdc, 0x83, 0x56, 0xc2, 0x42, 0x3c,
-	0x52, 0xd1, 0x05, 0x1a, 0x83, 0x56, 0xfd, 0x66, 0xb6, 0x71, 0x18, 0x5d, 0x20, 0xd9, 0x04, 0x30,
-	0x87, 0x5a, 0x7c, 0x40, 0x6e, 0x0c, 0x69, 0xf9, 0x06, 0xfe, 0x2e, 0xdb, 0x70, 0xae, 0xa0, 0x33,
-	0x2b, 0x20, 0x9f, 0x87, 0xec, 0x01, 0x94, 0xf7, 0xd5, 0xb6, 0x7a, 0x2b, 0xfd, 0xf5, 0xc1, 0xa6,
-	0x77, 0xfd, 0xc2, 0x7a, 0xe5, 0xa0, 0x95, 0x02, 0xf2, 0x10, 0xda, 0x1c, 0xcf, 0xf5, 0x51, 0xa5,
-	0xf9, 0xb2, 0x69, 0x7e, 0x33, 0xdb, 0x3e, 0x98, 0x0a, 0xd8, 0x86, 0xce, 0x73, 0xc6, 0x03, 0x8c,
-	0x17, 0xf2, 0x6b, 0x1b, 0x3a, 0x2f, 0x30, 0x46, 0x8d, 0x8b, 0xa0, 0x07, 0xdf, 0x1b, 0x00, 0xe5,
-	0x64, 0xe4, 0x1c, 0x6e, 0x54, 0x73, 0x21, 0x8f, 0xea, 0xa6, 0xa9, 0x49, 0xae, 0xfb, 0xef, 0xb1,
-	0x9d, 0xde, 0xd7, 0x5f, 0xbf, 0x7f, 0x2c, 0x77, 0x89, 0x4d, 0xcf, 0x9e, 0xd2, 0xcf, 0x59, 0xe7,
-	0xbd, 0xd2, 0x08, 0xea, 0xba, 0x97, 0xe4, 0x9b, 0x05, 0xb7, 0xfe, 0xb6, 0x99, 0x6c, 0xd5, 0x71,
-	0xd6, 0xde, 0x85, 0xae, 0xbb, 0x08, 0x34, 0x4f, 0xcd, 0xd9, 0x34, 0x5a, 0xee, 0x92, 0x8d, 0x3a,
-	0x2d, 0x97, 0xe4, 0x8b, 0x05, 0xed, 0x19, 0xbb, 0x49, 0x2d, 0x7d, 0x7d, 0x26, 0xdd, 0xce, 0xb5,
-	0xc7, 0xe0, 0x65, 0xf6, 0x26, 0x70, 0x5c, 0xd3, 0xf6, 0x81, 0x73, 0x7f, 0x9e, 0x05, 0xbb, 0x81,
-	0x21, 0xdc, 0xb5, 0x5c, 0xf2, 0x09, 0xda, 0x33, 0x19, 0xd6, 0x4b, 0xa8, 0x0f, 0x7a, 0xae, 0x84,
-	0x22, 0x05, 0x77, 0x6e, 0x0a, 0xc3, 0xc7, 0xd0, 0x09, 0xc4, 0xa8, 0xa6, 0xd5, 0xb0, 0x5d, 0x3a,
-	0x79, 0x90, 0xb1, 0x1e, 0x58, 0xc7, 0x6b, 0x86, 0x7e, 0xe7, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0xf2, 0x47, 0xec, 0x3f, 0xe7, 0x05, 0x00, 0x00,
+	// 593 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x41, 0x6f, 0xd3, 0x4c,
+	0x10, 0xfd, 0x9c, 0x26, 0x51, 0x32, 0x1f, 0x10, 0x69, 0xa1, 0xc1, 0x32, 0x8a, 0xa8, 0x2c, 0x04,
+	0xd4, 0x20, 0x2f, 0xa4, 0xb7, 0x4a, 0x39, 0x10, 0x40, 0x80, 0x84, 0x44, 0xe4, 0x72, 0xaf, 0x1c,
+	0x77, 0x62, 0x2c, 0x9c, 0x5d, 0x63, 0xaf, 0x4b, 0x03, 0xaa, 0x10, 0x1c, 0x38, 0x71, 0xe3, 0x87,
+	0x71, 0xe0, 0x2f, 0xf0, 0x43, 0x58, 0xaf, 0x9d, 0xd8, 0xa4, 0x0e, 0xe4, 0x10, 0x67, 0x3d, 0xfb,
+	0xe6, 0xcd, 0x9b, 0x37, 0xeb, 0x85, 0xb1, 0xcf, 0xb9, 0x1f, 0xa2, 0xed, 0xf3, 0xd0, 0x65, 0xbe,
+	0xcd, 0x63, 0x9f, 0xfa, 0xc8, 0xa2, 0x98, 0x0b, 0x4e, 0xf3, 0x2d, 0x37, 0x0a, 0x12, 0x1a, 0x72,
+	0xe6, 0xc7, 0x29, 0x63, 0x01, 0xf3, 0x29, 0x8f, 0x30, 0x76, 0x45, 0xc0, 0x59, 0x62, 0x2b, 0x1c,
+	0x21, 0x05, 0x47, 0x05, 0x64, 0xbc, 0xd8, 0x8e, 0x57, 0x3e, 0x68, 0x82, 0xf1, 0x69, 0xe0, 0xa1,
+	0xc7, 0xd9, 0x2c, 0xf0, 0xa9, 0xcb, 0x18, 0x17, 0x55, 0x7a, 0x83, 0xfa, 0x81, 0x78, 0x93, 0x4e,
+	0x6d, 0x8f, 0xcf, 0x69, 0x4e, 0x47, 0xd5, 0xc6, 0x34, 0x9d, 0xd1, 0x48, 0x2c, 0x22, 0x94, 0x34,
+	0x6c, 0x91, 0xfd, 0x8a, 0x84, 0x83, 0x7f, 0x27, 0xe0, 0x5c, 0x2e, 0xf2, 0x67, 0x91, 0x34, 0xda,
+	0x4e, 0x70, 0x1c, 0x79, 0x34, 0x91, 0xfa, 0xd2, 0xa4, 0xf8, 0xcb, 0xd3, 0xcd, 0x1f, 0x1a, 0x74,
+	0x5f, 0x2d, 0x8d, 0x21, 0x04, 0x9a, 0xcc, 0x9d, 0xa3, 0xae, 0xed, 0x69, 0x77, 0xbb, 0x8e, 0x5a,
+	0x93, 0x07, 0xd0, 0x99, 0xa3, 0x70, 0x4f, 0x5c, 0xe1, 0xea, 0x0d, 0x19, 0xff, 0x7f, 0x78, 0xcd,
+	0x2e, 0x6a, 0x2e, 0xd5, 0xd9, 0x8f, 0xd8, 0xc2, 0x59, 0xa1, 0x32, 0x96, 0x13, 0xce, 0x50, 0xdf,
+	0x91, 0xe8, 0x8e, 0xa3, 0xd6, 0xc4, 0x82, 0x16, 0xc6, 0x31, 0x8f, 0xf5, 0xa6, 0xa2, 0x20, 0x4b,
+	0x0a, 0xa9, 0xcb, 0x3e, 0x52, 0x82, 0x9e, 0xff, 0xe7, 0xe4, 0x10, 0x32, 0x84, 0x4e, 0x8c, 0x49,
+	0x24, 0x9d, 0x44, 0xbd, 0xb5, 0xb9, 0xa2, 0x4c, 0x58, 0xe1, 0xc6, 0x1d, 0x68, 0xcb, 0x75, 0x1a,
+	0x0a, 0x73, 0x1f, 0xae, 0x3e, 0x43, 0xb1, 0xea, 0xc9, 0xc1, 0x77, 0x29, 0x26, 0xa2, 0xae, 0x35,
+	0xf3, 0x13, 0xec, 0xbe, 0x0c, 0x92, 0x12, 0x9b, 0xac, 0x83, 0x9b, 0x15, 0x1f, 0xfa, 0xd0, 0x9e,
+	0x05, 0xa1, 0xc0, 0xb8, 0xa0, 0x28, 0xde, 0xc8, 0x0d, 0xe8, 0x46, 0xae, 0x8f, 0xc7, 0x49, 0xf0,
+	0x01, 0x95, 0x41, 0x2d, 0xa7, 0x93, 0x05, 0x8e, 0xe4, 0x3b, 0x19, 0x00, 0xa8, 0x4d, 0xc1, 0xdf,
+	0x22, 0x53, 0x86, 0x74, 0x1d, 0x05, 0x7f, 0x9d, 0x05, 0xa4, 0x80, 0xfe, 0xba, 0x80, 0xbc, 0x1f,
+	0x32, 0x02, 0x28, 0xcf, 0xab, 0xac, 0xb8, 0x23, 0x5d, 0x18, 0xd8, 0x17, 0x0f, 0xac, 0x5d, 0x36,
+	0x5a, 0x49, 0x20, 0xb7, 0xa1, 0xc7, 0xf0, 0x4c, 0x1c, 0x57, 0x8a, 0x37, 0x54, 0xf1, 0xcb, 0x59,
+	0x78, 0xb2, 0x12, 0x70, 0x1f, 0xfa, 0x8f, 0x5d, 0xe6, 0x61, 0xb8, 0x95, 0x5f, 0x12, 0xfd, 0x04,
+	0x43, 0x14, 0xb8, 0x0d, 0x7a, 0xf8, 0xad, 0x09, 0x50, 0x76, 0x46, 0xce, 0xe0, 0x52, 0x75, 0x2e,
+	0xe4, 0x4e, 0x5d, 0x37, 0x35, 0x93, 0x33, 0xfe, 0xde, 0xb6, 0xb9, 0xf7, 0xe5, 0xe7, 0xaf, 0xef,
+	0x0d, 0x83, 0xe8, 0xf4, 0xf4, 0x21, 0xfd, 0x98, 0x55, 0x1e, 0x95, 0x46, 0x50, 0xcb, 0x3a, 0x27,
+	0x5f, 0x35, 0xb8, 0xf2, 0xa7, 0xcd, 0x64, 0xbf, 0x8e, 0xb3, 0xf6, 0x2c, 0x18, 0xd6, 0x36, 0xd0,
+	0x7c, 0x6a, 0xe6, 0x40, 0x69, 0xb9, 0x4e, 0x76, 0xeb, 0xb4, 0x9c, 0x93, 0xcf, 0x1a, 0xf4, 0xd6,
+	0xec, 0x26, 0xb5, 0xf4, 0xf5, 0x33, 0x31, 0xfa, 0x17, 0x3e, 0x83, 0xa7, 0xd9, 0x4d, 0x60, 0x5a,
+	0xaa, 0xec, 0x2d, 0xf3, 0xe6, 0x26, 0x0b, 0x0e, 0x3d, 0x45, 0x78, 0xa8, 0x59, 0xe4, 0x3d, 0xf4,
+	0xd6, 0x66, 0x58, 0x2f, 0xa1, 0x7e, 0xd0, 0x1b, 0x25, 0x14, 0x53, 0xb0, 0x36, 0x4e, 0x61, 0x7c,
+	0x0f, 0xfa, 0xf2, 0x62, 0xab, 0x29, 0x35, 0xee, 0x95, 0x4e, 0x4e, 0x32, 0xd6, 0x89, 0x36, 0x6d,
+	0x2b, 0xfa, 0x83, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0xf2, 0x47, 0xec, 0x3f, 0xe7, 0x05, 0x00,
+	0x00,
 }
diff --git a/googleapis/longrunning/operations.proto b/googleapis/longrunning/operations.proto
index 37fa70b3..4ead0292 100644
--- a/googleapis/longrunning/operations.proto
+++ b/googleapis/longrunning/operations.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -31,13 +31,12 @@ option java_package = "com.google.longrunning";
 // When an API method normally takes long time to complete, it can be designed
 // to return [Operation][google.longrunning.Operation] to the client, and the client can use this
 // interface to receive the real response asynchronously by polling the
-// operation resource, or using `google.watcher.v1.Watcher` interface to watch
-// the response, or pass the operation resource to another API (such as Google
-// Cloud Pub/Sub API) to receive the response.  Any API service that returns
-// long-running operations should implement the `Operations` interface so
-// developers can have a consistent client experience.
+// operation resource, or pass the operation resource to another API (such as
+// Google Cloud Pub/Sub API) to receive the response.  Any API service that
+// returns long-running operations should implement the `Operations` interface
+// so developers can have a consistent client experience.
 service Operations {
-  // Gets the latest state of a long-running operation.  Clients may use this
+  // Gets the latest state of a long-running operation.  Clients can use this
   // method to poll the operation result at intervals as recommended by the API
   // service.
   rpc GetOperation(GetOperationRequest) returns (Operation) {
@@ -45,8 +44,10 @@ service Operations {
   }
 
   // Lists operations that match the specified filter in the request. If the
-  // server doesn't support this method, it returns
-  // `google.rpc.Code.UNIMPLEMENTED`.
+  // server doesn't support this method, it returns `UNIMPLEMENTED`.
+  //
+  // NOTE: the `name` binding below allows API services to override the binding
+  // to use different resource name schemes, such as `users/*/operations`.
   rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
     option (google.api.http) = { get: "/v1/{name=operations}" };
   }
@@ -54,15 +55,21 @@ service Operations {
   // Starts asynchronous cancellation on a long-running operation.  The server
   // makes a best effort to cancel the operation, but success is not
   // guaranteed.  If the server doesn't support this method, it returns
-  // `google.rpc.Code.UNIMPLEMENTED`.  Clients may use
-  // [Operations.GetOperation] or other methods to check whether the
-  // cancellation succeeded or the operation completed despite cancellation.
+  // `google.rpc.Code.UNIMPLEMENTED`.  Clients can use
+  // [Operations.GetOperation][google.longrunning.Operations.GetOperation] or
+  // other methods to check whether the cancellation succeeded or whether the
+  // operation completed despite cancellation. On successful cancellation,
+  // the operation is not deleted; instead, it becomes an operation with
+  // an [Operation.error][google.longrunning.Operation.error] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
+  // corresponding to `Code.CANCELLED`.
   rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) {
     option (google.api.http) = { post: "/v1/{name=operations/**}:cancel" body: "*" };
   }
 
-  // Deletes a long-running operation.  It indicates the client is no longer
-  // interested in the operation result. It does not cancel the operation.
+  // Deletes a long-running operation. This method indicates that the client is
+  // no longer interested in the operation result. It does not cancel the
+  // operation. If the server doesn't support this method, it returns
+  // `google.rpc.Code.UNIMPLEMENTED`.
   rpc DeleteOperation(DeleteOperationRequest) returns (google.protobuf.Empty) {
     option (google.api.http) = { delete: "/v1/{name=operations/**}" };
   }
@@ -71,31 +78,36 @@ service Operations {
 // This resource represents a long-running operation that is the result of a
 // network API call.
 message Operation {
-  // The name of the operation resource, which is only unique within the same
-  // service that originally returns it.
+  // The server-assigned name, which is only unique within the same service that
+  // originally returns it. If you use the default HTTP mapping, the
+  // `name` should have the format of `operations/some/unique/name`.
   string name = 1;
 
-  // Some service-specific metadata associated with the operation.  It typically
+  // Service-specific metadata associated with the operation.  It typically
   // contains progress information and common metadata such as create time.
-  // Some services may not provide such metadata.  Any method that returns a
+  // Some services might not provide such metadata.  Any method that returns a
   // long-running operation should document the metadata type, if any.
   google.protobuf.Any metadata = 2;
 
-  // If the value is false, it means the operation is still in progress.
-  // If true, the operation is completed and the `result` is available.
+  // If the value is `false`, it means the operation is still in progress.
+  // If true, the operation is completed, and either `error` or `response` is
+  // available.
   bool done = 3;
 
+  // The operation result, which can be either an `error` or a valid `response`.
+  // If `done` == `false`, neither `error` nor `response` is set.
+  // If `done` == `true`, exactly one of `error` or `response` is set.
   oneof result {
-    // The error result of the operation in case of failure.
+    // The error result of the operation in case of failure or cancellation.
     google.rpc.Status error = 4;
 
     // The normal response of the operation in case of success.  If the original
-    // method returns no data on success, such as `Delete`, the response will be
+    // method returns no data on success, such as `Delete`, the response is
     // `google.protobuf.Empty`.  If the original method is standard
     // `Get`/`Create`/`Update`, the response should be the resource.  For other
     // methods, the response should have the type `XxxResponse`, where `Xxx`
     // is the original method name.  For example, if the original method name
-    // is `TakeSnapshot()`, the inferred response type will be
+    // is `TakeSnapshot()`, the inferred response type is
     // `TakeSnapshotResponse`.
     google.protobuf.Any response = 5;
   }
@@ -112,19 +124,19 @@ message ListOperationsRequest {
   // The name of the operation collection.
   string name = 4;
 
-  // The standard List filter.
+  // The standard list filter.
   string filter = 1;
 
-  // The standard List page size.
+  // The standard list page size.
   int32 page_size = 2;
 
-  // The standard List page token.
+  // The standard list page token.
   string page_token = 3;
 }
 
 // The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 message ListOperationsResponse {
-  // A list of operations that match the specified filter in the request.
+  // A list of operations that matches the specified filter in the request.
   repeated Operation operations = 1;
 
   // The standard List next-page token.
diff --git a/googleapis/monitoring/v3/agent.pb.go b/googleapis/monitoring/v3/agent.pb.go
index 6e2526c1..b090c2b7 100644
--- a/googleapis/monitoring/v3/agent.pb.go
+++ b/googleapis/monitoring/v3/agent.pb.go
@@ -195,41 +195,41 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 566 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x5d, 0x8b, 0xd3, 0x40,
-	0x14, 0x35, 0xcd, 0x6e, 0xb7, 0x7b, 0xbb, 0xed, 0x86, 0x41, 0x24, 0x14, 0x1f, 0x42, 0xf7, 0xc1,
-	0x3c, 0x25, 0xd0, 0xa2, 0xa8, 0xfb, 0xa0, 0xfd, 0x88, 0x4b, 0x41, 0xdb, 0x92, 0xa6, 0x0b, 0x82,
-	0x12, 0xa6, 0xc9, 0x6c, 0x0c, 0x26, 0x33, 0x21, 0x99, 0x16, 0xfa, 0xc3, 0xfc, 0x53, 0xfe, 0x0a,
-	0x99, 0x49, 0xda, 0x5a, 0x28, 0xba, 0xfa, 0xd4, 0x3b, 0xf7, 0x9e, 0x73, 0x66, 0x7a, 0xce, 0x25,
-	0xf0, 0x2e, 0x62, 0x2c, 0x4a, 0x88, 0x15, 0xb1, 0x04, 0xd3, 0xc8, 0x62, 0x79, 0x64, 0x47, 0x84,
-	0x66, 0x39, 0xe3, 0xcc, 0x2e, 0x47, 0x38, 0x8b, 0x0b, 0x3b, 0x65, 0x34, 0xe6, 0x2c, 0x8f, 0x69,
-	0x64, 0x6f, 0xfa, 0x36, 0x8e, 0x08, 0xe5, 0x96, 0x04, 0xa1, 0xa7, 0x95, 0xc0, 0x01, 0x61, 0x6d,
-	0xfa, 0x9d, 0xc9, 0xe3, 0x64, 0x71, 0x16, 0xdb, 0x05, 0xc9, 0x37, 0x71, 0x40, 0x02, 0x46, 0x1f,
-	0xe2, 0xc8, 0xc6, 0x94, 0x32, 0x8e, 0x79, 0xcc, 0x68, 0x51, 0x5e, 0xd0, 0x79, 0xff, 0x3f, 0x2f,
-	0x0c, 0x58, 0x9a, 0x32, 0x5a, 0x29, 0xdc, 0x46, 0x31, 0xff, 0xb6, 0x5e, 0x59, 0x01, 0x4b, 0xed,
-	0x52, 0xc5, 0x96, 0x83, 0xd5, 0xfa, 0xc1, 0xce, 0xf8, 0x36, 0x23, 0x85, 0xcd, 0xe3, 0x94, 0x14,
-	0x1c, 0xa7, 0xd9, 0xa1, 0x2a, 0xc9, 0xdd, 0x1f, 0x35, 0x68, 0x8d, 0x58, 0x92, 0x90, 0x80, 0x87,
-	0xf7, 0x38, 0x59, 0x13, 0x64, 0x82, 0x16, 0x62, 0x8e, 0xfd, 0x82, 0xad, 0xf3, 0x80, 0xf8, 0x14,
-	0xa7, 0x44, 0x57, 0x0c, 0xc5, 0xbc, 0x74, 0xdb, 0xa2, 0xbf, 0x90, 0xed, 0x29, 0x4e, 0x09, 0xfa,
-	0x72, 0x8c, 0x14, 0x57, 0xe9, 0x35, 0x43, 0x31, 0xdb, 0xbd, 0x9e, 0x75, 0xca, 0x36, 0xeb, 0xe8,
-	0x22, 0x6b, 0xbc, 0x57, 0xf3, 0xb6, 0x19, 0xf9, 0x5d, 0x5d, 0x9c, 0xd1, 0x2b, 0x38, 0xdf, 0x08,
-	0x9c, 0xae, 0x1a, 0x8a, 0xd9, 0xec, 0x19, 0xa7, 0x25, 0x05, 0xb4, 0xd4, 0x73, 0x4b, 0x78, 0x37,
-	0x84, 0xf6, 0xb1, 0x32, 0x32, 0xe0, 0xf9, 0x72, 0xba, 0x98, 0x3b, 0xa3, 0xc9, 0x87, 0x89, 0x33,
-	0xf6, 0xc7, 0x03, 0x6f, 0xe0, 0x2f, 0x66, 0x4b, 0x77, 0xe4, 0xf8, 0xde, 0xe7, 0xb9, 0xa3, 0x3d,
-	0x41, 0x97, 0x70, 0x7e, 0x37, 0x58, 0xde, 0x39, 0x9a, 0x82, 0x9a, 0x70, 0x31, 0x9a, 0x2d, 0xa7,
-	0x9e, 0xe3, 0x6a, 0x35, 0x04, 0x50, 0x1f, 0x3b, 0xee, 0xe4, 0xde, 0xd1, 0x54, 0x74, 0x05, 0x8d,
-	0xc1, 0x70, 0x31, 0xfb, 0xb8, 0xf4, 0x1c, 0xed, 0xac, 0xfb, 0x53, 0x85, 0xeb, 0xdd, 0xdf, 0x99,
-	0xe3, 0x6d, 0xc2, 0x70, 0x88, 0x6e, 0xa1, 0x2e, 0x9f, 0x50, 0xe8, 0x8a, 0xa1, 0x9a, 0xcd, 0xde,
-	0xcd, 0x23, 0x5c, 0x70, 0x2b, 0x0a, 0x7a, 0x03, 0x50, 0x70, 0x9c, 0x73, 0x5f, 0x24, 0x24, 0x6d,
-	0x6c, 0xf6, 0x3a, 0x3b, 0x81, 0x5d, 0x9e, 0x96, 0xb7, 0x8b, 0xcf, 0xbd, 0x94, 0x68, 0x71, 0x46,
-	0x2f, 0xa1, 0x41, 0x68, 0x58, 0x12, 0xd5, 0xbf, 0x12, 0x2f, 0x08, 0x0d, 0x25, 0xed, 0x19, 0xd4,
-	0xb3, 0x64, 0x1d, 0xc5, 0x54, 0x3f, 0x93, 0xf1, 0x56, 0x27, 0xf4, 0x02, 0xae, 0xcb, 0xca, 0x8f,
-	0x69, 0xc1, 0x31, 0x0d, 0x88, 0x7e, 0x5e, 0xe6, 0x5f, 0xb6, 0x27, 0x55, 0x17, 0x21, 0x38, 0x93,
-	0x99, 0xd7, 0xe5, 0x54, 0xd6, 0xe8, 0x06, 0x5a, 0xe2, 0xf7, 0x40, 0xbd, 0x90, 0xc3, 0x2b, 0xd1,
-	0xdc, 0x13, 0x67, 0xd0, 0x48, 0x09, 0xc7, 0x22, 0x70, 0xbd, 0x21, 0xad, 0xea, 0xff, 0xd9, 0xaa,
-	0xca, 0x61, 0xeb, 0x53, 0xc5, 0x72, 0x28, 0xcf, 0xb7, 0xee, 0x5e, 0xa4, 0xf3, 0x15, 0x5a, 0x47,
-	0x23, 0xa4, 0x81, 0xfa, 0x9d, 0x6c, 0xab, 0xbd, 0x15, 0xe5, 0x61, 0x9d, 0x6a, 0xff, 0xb4, 0x4e,
-	0x6f, 0x6b, 0xaf, 0x95, 0xa1, 0x09, 0x7a, 0xc0, 0xd2, 0x93, 0x8c, 0x21, 0x0c, 0xc4, 0xd7, 0x62,
-	0x2e, 0x7c, 0x9e, 0x2b, 0xab, 0xba, 0x34, 0xbc, 0xff, 0x2b, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xbe,
-	0x6c, 0xfd, 0x78, 0x04, 0x00, 0x00,
+	// 562 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0x5d, 0x8f, 0xd2, 0x40,
+	0x14, 0x15, 0xba, 0xcb, 0xb2, 0x97, 0x85, 0x6d, 0x26, 0xc6, 0x34, 0xc4, 0x07, 0xc2, 0x3e, 0xc8,
+	0x53, 0x9b, 0x40, 0x34, 0xea, 0x3e, 0x28, 0x1f, 0x75, 0x43, 0xa2, 0x40, 0x4a, 0xd9, 0xc4, 0x44,
+	0xd3, 0x0c, 0x65, 0xb6, 0x36, 0xb6, 0x33, 0x4d, 0x3b, 0x90, 0xf0, 0xc3, 0xfc, 0x53, 0xfe, 0x0a,
+	0x67, 0xa6, 0x05, 0x24, 0x21, 0xba, 0xfa, 0x02, 0x77, 0xee, 0x3d, 0xe7, 0xcc, 0xf4, 0x9c, 0x69,
+	0xe1, 0x5d, 0xc0, 0x58, 0x10, 0x11, 0x33, 0x60, 0x11, 0xa6, 0x81, 0xc9, 0xd2, 0xc0, 0x0a, 0x08,
+	0x4d, 0x52, 0xc6, 0x99, 0x95, 0x8f, 0x70, 0x12, 0x66, 0x56, 0xcc, 0x68, 0xc8, 0x59, 0x1a, 0xd2,
+	0xc0, 0xda, 0xf4, 0x2c, 0x2c, 0x20, 0xdc, 0x54, 0x20, 0xf4, 0xb4, 0x10, 0x38, 0x20, 0xcc, 0x4d,
+	0xaf, 0x39, 0x7e, 0x9c, 0xac, 0xf8, 0xb1, 0x32, 0x92, 0x6e, 0x42, 0x9f, 0xf8, 0x8c, 0x3e, 0x84,
+	0x81, 0x85, 0x29, 0x65, 0x1c, 0xf3, 0x90, 0xd1, 0x2c, 0xdf, 0xa0, 0xf9, 0xfe, 0x7f, 0x4e, 0xe8,
+	0xb3, 0x58, 0x34, 0x0a, 0x85, 0xdb, 0x20, 0xe4, 0xdf, 0xd6, 0x4b, 0x53, 0x34, 0xad, 0x5c, 0xc5,
+	0x52, 0x83, 0xe5, 0xfa, 0xc1, 0x4a, 0xf8, 0x36, 0x21, 0x99, 0xc5, 0xc3, 0x98, 0x64, 0x1c, 0xc7,
+	0xc9, 0xa1, 0xca, 0xc9, 0xed, 0x1f, 0x65, 0xa8, 0x0f, 0x59, 0x14, 0x11, 0x9f, 0xaf, 0xee, 0x71,
+	0xb4, 0x26, 0xa8, 0x03, 0xfa, 0x0a, 0x73, 0xec, 0x65, 0x6c, 0x9d, 0xfa, 0xc4, 0xa3, 0x38, 0x26,
+	0x46, 0xa9, 0x55, 0xea, 0x5c, 0x3a, 0x0d, 0xd9, 0x9f, 0xab, 0xf6, 0x44, 0x74, 0xd1, 0x97, 0x63,
+	0xa4, 0xdc, 0xca, 0x28, 0x0b, 0x64, 0xa3, 0xdb, 0x35, 0x4f, 0xd9, 0x66, 0x1e, 0x6d, 0x64, 0x8e,
+	0xf6, 0x6a, 0xae, 0x60, 0xfe, 0xae, 0x2e, 0xd7, 0xe8, 0x15, 0x9c, 0x6f, 0x24, 0xce, 0xd0, 0x84,
+	0x64, 0xad, 0xdb, 0x3a, 0x2d, 0x29, 0xa1, 0xb9, 0x9e, 0x93, 0xc3, 0xdb, 0x2b, 0x68, 0x1c, 0x2b,
+	0xa3, 0x16, 0x3c, 0x5f, 0x4c, 0xe6, 0x33, 0x7b, 0x38, 0xfe, 0x30, 0xb6, 0x47, 0xde, 0xa8, 0xef,
+	0xf6, 0xbd, 0xf9, 0x74, 0xe1, 0x0c, 0x6d, 0xcf, 0xfd, 0x3c, 0xb3, 0xf5, 0x27, 0xe8, 0x12, 0xce,
+	0xef, 0xfa, 0x8b, 0x3b, 0x5b, 0x2f, 0xa1, 0x1a, 0x5c, 0x0c, 0xa7, 0x8b, 0x89, 0x6b, 0x3b, 0x7a,
+	0x19, 0x01, 0x54, 0x46, 0xb6, 0x33, 0xbe, 0xb7, 0x75, 0x0d, 0x5d, 0x41, 0xb5, 0x3f, 0x98, 0x4f,
+	0x3f, 0x2e, 0x5c, 0x5b, 0x3f, 0x6b, 0xff, 0xd4, 0xe0, 0x7a, 0xf7, 0x38, 0x33, 0xbc, 0x8d, 0x18,
+	0x5e, 0xa1, 0x5b, 0xa8, 0xa8, 0x23, 0x64, 0xc2, 0x2f, 0x4d, 0x1c, 0xf9, 0xe6, 0x11, 0x2e, 0x38,
+	0x05, 0x05, 0xbd, 0x01, 0x10, 0xb9, 0xa4, 0xdc, 0x93, 0x09, 0x29, 0x1b, 0x6b, 0xdd, 0xe6, 0x4e,
+	0x60, 0x97, 0xa7, 0xe9, 0xee, 0xe2, 0x73, 0x2e, 0x15, 0x5a, 0xae, 0xd1, 0x4b, 0xa8, 0x12, 0xba,
+	0xca, 0x89, 0xda, 0x5f, 0x89, 0x17, 0x02, 0xab, 0x68, 0xcf, 0xa0, 0x92, 0x44, 0xeb, 0x20, 0xa4,
+	0xc6, 0x99, 0x8a, 0xb7, 0x58, 0xa1, 0x17, 0x70, 0x9d, 0x57, 0x5e, 0x48, 0x05, 0x85, 0xfa, 0xc4,
+	0x38, 0xcf, 0xf3, 0xcf, 0xdb, 0xe3, 0xa2, 0x8b, 0x10, 0x9c, 0xa9, 0xcc, 0x2b, 0x6a, 0xaa, 0x6a,
+	0x74, 0x03, 0x75, 0xf9, 0x7f, 0xa0, 0x5e, 0xa8, 0xe1, 0x95, 0x6c, 0xee, 0x89, 0x53, 0xa8, 0xc6,
+	0x84, 0x63, 0x19, 0xb8, 0x51, 0x55, 0x56, 0xf5, 0xfe, 0x6c, 0x55, 0xe1, 0xb0, 0xf9, 0xa9, 0x60,
+	0xd9, 0x94, 0xa7, 0x5b, 0x67, 0x2f, 0xd2, 0xfc, 0x0a, 0xf5, 0xa3, 0x11, 0xd2, 0x41, 0xfb, 0x4e,
+	0xb6, 0xc5, 0xbd, 0x95, 0xe5, 0xe1, 0x3a, 0x95, 0xff, 0xe9, 0x3a, 0xbd, 0x2d, 0xbf, 0x2e, 0x0d,
+	0x3a, 0x60, 0x88, 0x97, 0xeb, 0x24, 0x63, 0x00, 0x7d, 0xf9, 0xb5, 0x98, 0x49, 0x9f, 0x67, 0xa5,
+	0x65, 0x45, 0x19, 0xde, 0xfb, 0x15, 0x00, 0x00, 0xff, 0xff, 0x9e, 0xbe, 0x6c, 0xfd, 0x78, 0x04,
+	0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/agent_service.pb.go b/googleapis/monitoring/v3/agent_service.pb.go
index 542a47b6..76471953 100644
--- a/googleapis/monitoring/v3/agent_service.pb.go
+++ b/googleapis/monitoring/v3/agent_service.pb.go
@@ -147,32 +147,32 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 426 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x51, 0x41, 0x6b, 0x14, 0x31,
-	0x18, 0x65, 0xda, 0x2a, 0x9a, 0x1e, 0xb4, 0x41, 0x74, 0x58, 0x10, 0x97, 0x05, 0x61, 0x2c, 0x98,
-	0xc0, 0x0e, 0x1e, 0x14, 0x44, 0x6c, 0x11, 0xf1, 0x20, 0x2e, 0xd3, 0xe2, 0x75, 0xc9, 0x66, 0xbf,
-	0xc6, 0xc8, 0x4c, 0xbe, 0x98, 0x64, 0x06, 0x16, 0xf1, 0xe2, 0x5f, 0xf0, 0xee, 0x0f, 0xf1, 0x6f,
-	0xf8, 0x17, 0xbc, 0xfb, 0x17, 0x64, 0x26, 0x99, 0xed, 0xc1, 0x56, 0x8a, 0x97, 0x61, 0xf2, 0xe5,
-	0xe5, 0xbd, 0xef, 0xbd, 0x47, 0x5e, 0x2b, 0x44, 0x55, 0x03, 0x53, 0x58, 0x0b, 0xa3, 0x18, 0x3a,
-	0xc5, 0x15, 0x18, 0xeb, 0x30, 0x20, 0x8f, 0x57, 0xc2, 0x6a, 0xcf, 0x1b, 0x34, 0x3a, 0xa0, 0xd3,
-	0x46, 0xf1, 0xae, 0xe4, 0x42, 0x81, 0x09, 0x4b, 0x0f, 0xae, 0xd3, 0x12, 0xd8, 0x00, 0xa6, 0x77,
-	0x12, 0xd1, 0x39, 0x92, 0x75, 0xe5, 0xe4, 0xcd, 0xd5, 0xe8, 0x85, 0xd5, 0x3c, 0xd1, 0x49, 0x34,
-	0x67, 0x5a, 0x71, 0x61, 0x0c, 0x06, 0x11, 0x34, 0x1a, 0x1f, 0x05, 0x26, 0xef, 0xae, 0x4e, 0x95,
-	0x76, 0x80, 0xb5, 0x03, 0x7f, 0x7e, 0x58, 0x3a, 0xf0, 0xd8, 0xba, 0x71, 0xe3, 0xc9, 0x8b, 0xff,
-	0xb6, 0x9e, 0x08, 0x4a, 0xa5, 0xc3, 0x87, 0x76, 0xc5, 0x24, 0x36, 0x3c, 0x92, 0xf0, 0xe1, 0x62,
-	0xd5, 0x9e, 0x71, 0x1b, 0x36, 0x16, 0x3c, 0x87, 0xc6, 0x86, 0x4d, 0xfc, 0xc6, 0x47, 0xb3, 0xdf,
-	0x19, 0x79, 0x70, 0xec, 0x40, 0x04, 0x38, 0xc6, 0xba, 0x06, 0x19, 0xd6, 0xa7, 0xba, 0x81, 0x13,
-	0x70, 0x1a, 0x7c, 0x05, 0x9f, 0x5a, 0xf0, 0x81, 0x52, 0xb2, 0x67, 0x44, 0x03, 0xf9, 0xb5, 0x69,
-	0x56, 0xdc, 0xac, 0x86, 0x7f, 0xfa, 0x94, 0xdc, 0x18, 0xf7, 0xcf, 0x77, 0xa6, 0x59, 0xb1, 0x3f,
-	0xbf, 0xcf, 0x92, 0x01, 0x61, 0x35, 0x7b, 0x3b, 0xba, 0xac, 0x12, 0xa8, 0xda, 0xc2, 0xe9, 0x23,
-	0x72, 0x5b, 0x26, 0xad, 0x65, 0x07, 0xce, 0x6b, 0x34, 0xf9, 0xee, 0x40, 0x7d, 0x6b, 0x9c, 0xbf,
-	0x8f, 0x63, 0x5a, 0x91, 0x83, 0x2d, 0xd4, 0x8a, 0x4d, 0x8d, 0x62, 0xed, 0xf3, 0xbd, 0xe9, 0x6e,
-	0xb1, 0x3f, 0x7f, 0xc8, 0x2e, 0x6a, 0x98, 0x8d, 0x2e, 0x16, 0x11, 0x5d, 0x6d, 0xa5, 0xd2, 0xc0,
-	0xcf, 0x7f, 0x64, 0xe4, 0xde, 0xcb, 0x3e, 0xb6, 0x53, 0x27, 0x8c, 0xaf, 0x87, 0x52, 0x4f, 0x62,
-	0xd9, 0xf4, 0x7b, 0x46, 0xf2, 0xcb, 0xd2, 0xa0, 0x4f, 0x2e, 0x51, 0xfc, 0x77, 0x7a, 0x93, 0xbb,
-	0xe3, 0xb3, 0xb1, 0x0c, 0xf6, 0xaa, 0xcf, 0x7f, 0x56, 0x7e, 0xfd, 0xf9, 0xeb, 0xdb, 0xce, 0xe3,
-	0x59, 0xd1, 0xf7, 0xf8, 0xb9, 0x0f, 0xf5, 0xb9, 0x75, 0xf8, 0x11, 0x64, 0xf0, 0xfc, 0xf0, 0x0b,
-	0x97, 0x7f, 0x11, 0x3e, 0xcb, 0x0e, 0x8f, 0x38, 0xc9, 0x25, 0x36, 0x17, 0x2e, 0x72, 0x74, 0x30,
-	0xb8, 0x4a, 0x56, 0x16, 0xbd, 0xd8, 0x22, 0x5b, 0x5d, 0x1f, 0x54, 0xcb, 0x3f, 0x01, 0x00, 0x00,
-	0xff, 0xff, 0x07, 0x6b, 0xcb, 0x33, 0x59, 0x03, 0x00, 0x00,
+	// 423 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x51, 0xc1, 0xaa, 0x13, 0x31,
+	0x14, 0x65, 0xde, 0x7b, 0x8a, 0xc6, 0x85, 0xbe, 0x20, 0x3a, 0x0c, 0x88, 0x8f, 0x82, 0xf0, 0x2c,
+	0x98, 0x40, 0x07, 0x17, 0x0a, 0x22, 0xb6, 0x88, 0xb8, 0x10, 0xcb, 0xb4, 0xb8, 0x2d, 0xe9, 0xf4,
+	0x36, 0x46, 0x66, 0x92, 0x31, 0xc9, 0x0c, 0x14, 0x71, 0xe3, 0x2f, 0xb8, 0xf7, 0x43, 0xfc, 0x0d,
+	0x7f, 0xc1, 0xbd, 0xbf, 0x60, 0x66, 0x92, 0x69, 0x17, 0xb6, 0x52, 0xde, 0x66, 0x98, 0xdc, 0x9c,
+	0x9c, 0x73, 0xcf, 0x39, 0xe8, 0x0d, 0x57, 0x8a, 0x17, 0x40, 0xb8, 0x2a, 0x98, 0xe4, 0x44, 0x69,
+	0x4e, 0x39, 0xc8, 0x4a, 0x2b, 0xab, 0xa8, 0xbf, 0x62, 0x95, 0x30, 0xb4, 0x54, 0x52, 0x58, 0xa5,
+	0x85, 0xe4, 0xb4, 0x49, 0x29, 0x73, 0x10, 0xbb, 0x30, 0xa0, 0x1b, 0x91, 0x03, 0xe9, 0xc0, 0xf8,
+	0x6e, 0x20, 0xda, 0x21, 0x49, 0x93, 0x26, 0x6f, 0x8f, 0xa3, 0x77, 0x1f, 0x1a, 0xe8, 0x72, 0x25,
+	0xd7, 0x82, 0x53, 0x26, 0xa5, 0xb2, 0xcc, 0x0a, 0x25, 0x8d, 0x17, 0x48, 0xde, 0x1f, 0x4f, 0x15,
+	0x76, 0x80, 0x95, 0x06, 0xb3, 0x3b, 0x2c, 0xdc, 0x49, 0xd5, 0xba, 0xdf, 0x38, 0x79, 0x79, 0x65,
+	0xeb, 0x81, 0x20, 0xe5, 0xc2, 0x7e, 0xac, 0x97, 0x24, 0x57, 0x25, 0xf5, 0x24, 0xb4, 0xbb, 0x58,
+	0xd6, 0x6b, 0x5a, 0xd9, 0x4d, 0xe5, 0xc4, 0xa1, 0x74, 0x3f, 0xfe, 0xeb, 0x1f, 0x0d, 0xfe, 0x44,
+	0xe8, 0xe1, 0x44, 0x03, 0xb3, 0x30, 0x51, 0x45, 0x01, 0xb9, 0x5d, 0xcd, 0x45, 0x09, 0x33, 0xd0,
+	0x02, 0x4c, 0x06, 0x9f, 0x6b, 0x30, 0x16, 0x63, 0x74, 0x26, 0x59, 0x09, 0xf1, 0xb5, 0x8b, 0xe8,
+	0xf2, 0x66, 0xd6, 0xfd, 0xe3, 0x67, 0xe8, 0x46, 0xbf, 0x7f, 0x7c, 0xe2, 0xe6, 0xb7, 0x46, 0x0f,
+	0x48, 0x30, 0xe0, 0xd6, 0x24, 0xef, 0x7a, 0x97, 0x59, 0x00, 0x65, 0x5b, 0x38, 0x7e, 0x8c, 0xee,
+	0xe4, 0x41, 0x6b, 0xd1, 0x80, 0x36, 0x2e, 0xd4, 0xf8, 0xb4, 0xa3, 0xbe, 0xdd, 0xcf, 0x3f, 0xf8,
+	0x31, 0xce, 0xd0, 0xf9, 0x16, 0x5a, 0xb1, 0x4d, 0xa1, 0xd8, 0xca, 0xc4, 0x67, 0x17, 0xa7, 0x4e,
+	0xee, 0x11, 0xd9, 0xd7, 0x30, 0xe9, 0x5d, 0x4c, 0x3d, 0x3a, 0xdb, 0x4a, 0x85, 0x81, 0x19, 0xfd,
+	0x8c, 0xd0, 0xfd, 0x57, 0x6d, 0x6c, 0x73, 0xcd, 0xa4, 0x29, 0xba, 0x52, 0x67, 0xbe, 0x6c, 0xfc,
+	0x23, 0x42, 0xf1, 0xa1, 0x34, 0xf0, 0xd3, 0x03, 0x8a, 0xff, 0x4f, 0x2f, 0xb9, 0xd7, 0x3f, 0xeb,
+	0xcb, 0x20, 0xaf, 0xdb, 0xfc, 0x07, 0xe9, 0xb7, 0x5f, 0xbf, 0xbf, 0x9f, 0x3c, 0x19, 0x5c, 0xb6,
+	0x3d, 0x7e, 0x69, 0x43, 0x7d, 0xe1, 0x10, 0x9f, 0x1c, 0x89, 0xa1, 0xc3, 0xaf, 0x34, 0xff, 0x87,
+	0xf0, 0x79, 0x34, 0x1c, 0x53, 0x14, 0xbb, 0x7a, 0xf7, 0x2e, 0x32, 0x3e, 0xef, 0x5c, 0x05, 0x2b,
+	0xd3, 0x56, 0x6c, 0x1a, 0x2d, 0xaf, 0x77, 0xaa, 0xe9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07,
+	0x6b, 0xcb, 0x33, 0x59, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/common.pb.go b/googleapis/monitoring/v3/common.pb.go
index 1014ba0d..24692192 100644
--- a/googleapis/monitoring/v3/common.pb.go
+++ b/googleapis/monitoring/v3/common.pb.go
@@ -474,16 +474,15 @@ func _TypedValue_OneofSizer(msg proto.Message) (n int) {
 	return n
 }
 
-// A time interval extending from after `startTime` through `endTime`.  If
-// `startTime` is omitted, the interval is the single point in time, `endTime`.
+// A time interval extending just after a start time through an end time.
+// If the start time is the same as the end time, then the interval
+// represents a single point in time.
 type TimeInterval struct {
-	// Required. The end of the interval. The interval includes this
-	// time.
+	// Required. The end of the time interval.
 	EndTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
-	// If this value is omitted, the interval is a point in time,
-	// `endTime`.  If `startTime` is present, it must be earlier than
-	// (less than) `endTime`.  The interval begins after
-	// `startTime`&mdash;it does not include `startTime`.
+	// Optional. The beginning of the time interval.  The default value
+	// for the start time is the end time. The start time must not be
+	// later than the end time.
 	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
 }
 
@@ -582,54 +581,53 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 775 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x55, 0xcf, 0x6e, 0xe2, 0x46,
-	0x18, 0xc7, 0x90, 0x2c, 0xe1, 0x33, 0x09, 0x93, 0x59, 0x56, 0xa5, 0xb9, 0x94, 0x52, 0xa9, 0x62,
-	0x2f, 0x76, 0x94, 0x94, 0x4a, 0x51, 0x2f, 0x75, 0xc0, 0xdb, 0x58, 0x22, 0x06, 0xcd, 0x3a, 0xdb,
-	0x48, 0x3d, 0x58, 0x06, 0xcf, 0xba, 0x23, 0x61, 0x8f, 0x35, 0x36, 0x91, 0x72, 0xeb, 0x6b, 0xf4,
-	0x15, 0xfa, 0x48, 0x7d, 0x88, 0x3e, 0x43, 0xe5, 0x99, 0x61, 0x71, 0x54, 0xaa, 0xdd, 0x1b, 0xdf,
-	0xef, 0xdf, 0x78, 0x7e, 0x9f, 0x2d, 0xe0, 0xe7, 0x84, 0xf3, 0x64, 0x43, 0xad, 0x84, 0x6f, 0xa2,
-	0x2c, 0xb1, 0xb8, 0x48, 0xec, 0x84, 0x66, 0xb9, 0xe0, 0x25, 0xb7, 0x15, 0x15, 0xe5, 0xac, 0xb0,
-	0x53, 0x9e, 0xb1, 0x92, 0x0b, 0x96, 0x25, 0xf6, 0xd3, 0xb5, 0xbd, 0xe6, 0x69, 0xca, 0x33, 0x4b,
-	0xaa, 0x70, 0x5f, 0x27, 0xec, 0x25, 0xd6, 0xd3, 0xf5, 0x85, 0xf7, 0x65, 0xb9, 0x51, 0xce, 0xec,
-	0x98, 0x15, 0xa5, 0x60, 0xab, 0x6d, 0xc9, 0x78, 0xf6, 0x62, 0x50, 0x07, 0x5c, 0xdc, 0x24, 0xac,
-	0xfc, 0x7d, 0xbb, 0xb2, 0xd6, 0x3c, 0xb5, 0x55, 0x9c, 0x2d, 0x89, 0xd5, 0xf6, 0xa3, 0x9d, 0x97,
-	0xcf, 0x39, 0x2d, 0xec, 0x78, 0x2b, 0x22, 0x65, 0xd7, 0x3f, 0xb4, 0xf5, 0xa7, 0xcf, 0x5b, 0x4b,
-	0x96, 0xd2, 0xa2, 0x8c, 0xd2, 0x7c, 0xff, 0x4b, 0x99, 0x47, 0xff, 0x18, 0x00, 0xc1, 0x73, 0x4e,
-	0xe3, 0x0f, 0xd1, 0x66, 0x4b, 0xf1, 0x37, 0x00, 0x2b, 0xce, 0x37, 0xe1, 0x53, 0x35, 0x0d, 0x8c,
-	0xa1, 0x31, 0x3e, 0xb9, 0x6b, 0x90, 0x4e, 0x85, 0x29, 0xc1, 0xb7, 0x60, 0xb2, 0xac, 0xfc, 0xf1,
-	0x07, 0xad, 0x68, 0x0e, 0x8d, 0x71, 0xeb, 0xae, 0x41, 0x40, 0x82, 0x4a, 0xf2, 0x1d, 0x74, 0x63,
-	0xbe, 0x5d, 0x6d, 0xa8, 0xd6, 0xb4, 0x86, 0xc6, 0xd8, 0xb8, 0x6b, 0x10, 0x53, 0xa1, 0x9f, 0x44,
-	0x55, 0x07, 0x59, 0xa2, 0x45, 0x47, 0x43, 0x63, 0xdc, 0xa9, 0x44, 0x0a, 0x55, 0x22, 0x0f, 0x70,
-	0xbd, 0x2a, 0x2d, 0x3d, 0x1e, 0x1a, 0x63, 0xf3, 0x6a, 0x60, 0xe9, 0xf2, 0xa3, 0x9c, 0x59, 0xb3,
-	0x9a, 0xea, 0xae, 0x41, 0xce, 0xeb, 0x2e, 0x19, 0x75, 0xdb, 0x86, 0x63, 0xe9, 0x1e, 0xfd, 0x61,
-	0x40, 0x37, 0x60, 0x29, 0xf5, 0xb2, 0x92, 0x8a, 0xa7, 0x68, 0x83, 0x27, 0x70, 0x42, 0xb3, 0x38,
-	0xac, 0x8a, 0x91, 0xd7, 0x31, 0xaf, 0x2e, 0x76, 0xd1, 0xbb, 0x1a, 0xad, 0x60, 0xd7, 0x1a, 0x69,
-	0xd3, 0x2c, 0xae, 0x26, 0x7c, 0x03, 0x50, 0x94, 0x91, 0x28, 0x95, 0xd1, 0xf8, 0xac, 0xb1, 0x23,
-	0xd5, 0xd5, 0x3c, 0xfa, 0xab, 0x0d, 0xa6, 0x93, 0x24, 0x82, 0x26, 0x72, 0x8d, 0x78, 0x06, 0x28,
-	0xda, 0xb0, 0x24, 0x4b, 0x69, 0x56, 0x86, 0x39, 0x15, 0x8c, 0xc7, 0x3a, 0xf0, 0xeb, 0xff, 0x04,
-	0xce, 0xf4, 0xee, 0x49, 0xef, 0x93, 0x65, 0x29, 0x1d, 0xf8, 0x57, 0xc0, 0x39, 0x15, 0x61, 0x41,
-	0x05, 0xa3, 0x45, 0x28, 0x59, 0x2a, 0xe4, 0x8d, 0xce, 0xae, 0xde, 0x5a, 0x87, 0xde, 0x5f, 0xab,
-	0xf6, 0x10, 0x96, 0xa3, 0x0c, 0x04, 0xe5, 0x54, 0xbc, 0x97, 0x19, 0x1a, 0xc1, 0xbf, 0x41, 0x7f,
-	0x2d, 0x78, 0x51, 0xec, 0xa2, 0x05, 0x8d, 0xb7, 0x6b, 0x2a, 0xe4, 0xca, 0xbe, 0x28, 0x9a, 0x28,
-	0x03, 0xc1, 0x32, 0x46, 0x85, 0x6b, 0x0c, 0x7f, 0x0f, 0xbd, 0x44, 0xf0, 0x6d, 0x1e, 0xae, 0x9e,
-	0xc3, 0x8f, 0x8c, 0x6e, 0xe2, 0x62, 0x70, 0x3c, 0x6c, 0x8d, 0x3b, 0xe4, 0x54, 0xc2, 0xb7, 0xcf,
-	0xef, 0x24, 0x38, 0xfa, 0xbb, 0x09, 0xed, 0xdd, 0x03, 0x9d, 0x01, 0x38, 0x73, 0xef, 0x17, 0x3f,
-	0xf4, 0x17, 0xbe, 0x8b, 0x1a, 0xb8, 0x07, 0xa6, 0x9a, 0x67, 0xee, 0x3c, 0x70, 0x90, 0xb1, 0x17,
-	0x10, 0x27, 0x70, 0x51, 0x13, 0xbf, 0x81, 0x73, 0x35, 0x7b, 0x7e, 0xe0, 0x92, 0xe5, 0x62, 0x5e,
-	0xc1, 0x2d, 0xdc, 0x07, 0xa4, 0x73, 0xdc, 0xc7, 0x20, 0x5c, 0xcc, 0x67, 0x2e, 0x41, 0x47, 0xf8,
-	0x14, 0x3a, 0x0a, 0xbd, 0xf7, 0x7c, 0x04, 0xb5, 0xd1, 0x79, 0x44, 0xe6, 0x3e, 0xfa, 0xde, 0x75,
-	0x7c, 0xd4, 0xdd, 0x9f, 0x3d, 0x5d, 0x3c, 0xf8, 0x01, 0x3a, 0xdd, 0xeb, 0xdf, 0x3f, 0xdc, 0xa3,
-	0x33, 0x8c, 0xa0, 0xab, 0xc7, 0x60, 0x36, 0x73, 0x3f, 0xa0, 0xde, 0xfe, 0x54, 0xe9, 0x08, 0x03,
-	0xf2, 0xe0, 0x22, 0x84, 0xbf, 0x82, 0xd7, 0x0a, 0x7d, 0x47, 0x9c, 0x69, 0xe0, 0x2d, 0x7c, 0x45,
-	0x9c, 0xef, 0x89, 0xa5, 0x4b, 0xa6, 0xae, 0x1f, 0x78, 0x73, 0x37, 0xbc, 0xb9, 0x41, 0xf8, 0x30,
-	0x31, 0x41, 0xaf, 0x0f, 0x12, 0x93, 0x4b, 0xd4, 0x3f, 0x48, 0x5c, 0x4e, 0xd0, 0x9b, 0xd1, 0x9f,
-	0x4d, 0x68, 0xef, 0x16, 0xd2, 0x03, 0x93, 0xb8, 0xb3, 0x87, 0xa9, 0x5b, 0x6b, 0x57, 0x03, 0xf2,
-	0xca, 0xb2, 0xdd, 0x1d, 0xe0, 0xf9, 0xa8, 0x59, 0x9f, 0x9d, 0x47, 0xd4, 0xaa, 0xcd, 0x55, 0x05,
-	0x47, 0xf8, 0x1c, 0x4e, 0x77, 0xb3, 0xea, 0xe0, 0xb8, 0x6a, 0x45, 0x43, 0xaa, 0xb6, 0x57, 0xd5,
-	0x8a, 0xea, 0x88, 0xba, 0x7d, 0x1b, 0x0f, 0xa0, 0xaf, 0xe1, 0x97, 0xbd, 0x9c, 0xd4, 0x98, 0x97,
-	0xc5, 0x74, 0xfe, 0x87, 0x99, 0x20, 0x38, 0xcc, 0x4c, 0x2e, 0x91, 0x79, 0x98, 0xb9, 0x9c, 0xa0,
-	0xee, 0xed, 0x5b, 0x18, 0xac, 0x79, 0x7a, 0xf0, 0x25, 0xbf, 0x35, 0xa7, 0xf2, 0x3f, 0x62, 0x59,
-	0x7d, 0x9c, 0x4b, 0x63, 0xf5, 0x4a, 0x7e, 0xa5, 0xd7, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xc5,
-	0xb8, 0x84, 0x60, 0x6f, 0x06, 0x00, 0x00,
+	// 758 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6e, 0x82, 0x56,
+	0x1c, 0x2f, 0x6a, 0x6b, 0xfd, 0xa3, 0xf5, 0x78, 0x6a, 0x33, 0xd7, 0x9b, 0x6d, 0x2e, 0x59, 0xda,
+	0x1b, 0x68, 0xda, 0xb9, 0xc4, 0xec, 0x66, 0x28, 0x74, 0x23, 0xb1, 0x68, 0x28, 0x76, 0x4d, 0x76,
+	0x41, 0xb4, 0x50, 0x46, 0xa2, 0x1c, 0xc3, 0x47, 0x93, 0xde, 0xed, 0x35, 0xf6, 0x0a, 0x7b, 0xa4,
+	0x3d, 0xc4, 0x9e, 0x61, 0x87, 0x73, 0x0e, 0x85, 0x66, 0x2e, 0xed, 0x8d, 0xe1, 0xff, 0xfb, 0x3a,
+	0x9c, 0xdf, 0x01, 0x81, 0x9f, 0x02, 0x42, 0x82, 0x8d, 0xaf, 0x04, 0x64, 0xb3, 0x8a, 0x02, 0x85,
+	0xc4, 0x81, 0x1a, 0xf8, 0xd1, 0x2e, 0x26, 0x29, 0x51, 0x39, 0xb5, 0xda, 0x85, 0x89, 0xba, 0x25,
+	0x51, 0x98, 0x92, 0x38, 0x8c, 0x02, 0xf5, 0xe5, 0x46, 0x7d, 0x22, 0x5b, 0x0a, 0x28, 0x4c, 0x85,
+	0xfb, 0x22, 0xa1, 0x94, 0x28, 0x2f, 0x37, 0xe7, 0xe6, 0xe7, 0x72, 0xe9, 0x8f, 0xea, 0x85, 0x49,
+	0x1a, 0x87, 0xeb, 0x2c, 0x0d, 0x49, 0xf4, 0x6e, 0xe0, 0x0b, 0x9c, 0x8f, 0x83, 0x30, 0xfd, 0x3d,
+	0x5b, 0x2b, 0x74, 0x55, 0x95, 0xc7, 0xa9, 0x8c, 0x58, 0x67, 0xcf, 0xea, 0x2e, 0x7d, 0xdd, 0xf9,
+	0x89, 0xea, 0x65, 0xf1, 0x8a, 0xdb, 0xc5, 0x85, 0xb0, 0xfe, 0xf8, 0xb1, 0x35, 0x0d, 0xb7, 0x7e,
+	0x92, 0xae, 0xb6, 0xbb, 0xf2, 0x8a, 0x9b, 0x87, 0xff, 0x48, 0x00, 0x0e, 0xd5, 0x78, 0x0f, 0xab,
+	0x4d, 0xe6, 0xe3, 0xaf, 0x00, 0xd6, 0x84, 0x6c, 0xdc, 0x97, 0x7c, 0x1a, 0x48, 0x5f, 0x4b, 0x17,
+	0xc7, 0xbf, 0x1c, 0xd8, 0xad, 0x1c, 0xe3, 0x82, 0x6f, 0x40, 0x0e, 0xa3, 0xf4, 0x87, 0xef, 0x85,
+	0xa2, 0x46, 0x15, 0x75, 0xaa, 0x00, 0x06, 0x72, 0xc9, 0xb7, 0xd0, 0xf6, 0x48, 0xb6, 0xde, 0xf8,
+	0x42, 0x53, 0xa7, 0x1a, 0x89, 0x6a, 0x64, 0x8e, 0xbe, 0x89, 0xf2, 0x0e, 0xa2, 0x40, 0x88, 0x1a,
+	0x54, 0xd4, 0xca, 0x45, 0x1c, 0xe5, 0x22, 0x13, 0x70, 0xb5, 0x2a, 0x21, 0x3d, 0xa4, 0x52, 0xf9,
+	0x7a, 0xa0, 0x88, 0xf2, 0x69, 0xbb, 0x8a, 0x5e, 0x51, 0xd1, 0x90, 0x5e, 0xd5, 0xc5, 0xa2, 0x26,
+	0x4d, 0x38, 0x64, 0xee, 0xe1, 0x1f, 0x12, 0xb4, 0x1d, 0x5a, 0x82, 0x19, 0xa5, 0x7e, 0x4c, 0x21,
+	0x3c, 0x82, 0x63, 0x3f, 0xf2, 0xdc, 0xbc, 0x18, 0xb6, 0x1d, 0xf9, 0xfa, 0xbc, 0x88, 0x2e, 0x6a,
+	0x54, 0x9c, 0xa2, 0x35, 0xbb, 0x49, 0xb5, 0xf9, 0x84, 0xc7, 0x00, 0x14, 0x89, 0x53, 0x6e, 0x94,
+	0x3e, 0x34, 0xb6, 0x98, 0x3a, 0x9f, 0x87, 0x7f, 0x35, 0x41, 0xd6, 0x82, 0x20, 0xf6, 0x03, 0x76,
+	0x8c, 0x58, 0x07, 0xb4, 0xda, 0x84, 0x41, 0xb4, 0xf5, 0xa3, 0xd4, 0xdd, 0xf9, 0x71, 0x48, 0x3c,
+	0x11, 0xf8, 0xe5, 0x7f, 0x02, 0x75, 0x71, 0xf6, 0x76, 0xf7, 0xcd, 0xb2, 0x60, 0x0e, 0xfc, 0x2b,
+	0x60, 0xea, 0x75, 0x13, 0x3a, 0xf9, 0x89, 0xcb, 0x58, 0x3f, 0x66, 0x3b, 0x3a, 0xb9, 0xbe, 0x54,
+	0xf6, 0x3d, 0xbf, 0x4a, 0xe5, 0x26, 0x14, 0x8d, 0x1b, 0x6c, 0x44, 0x43, 0xee, 0x59, 0x86, 0x40,
+	0xf0, 0x6f, 0xd0, 0x7f, 0x8a, 0x49, 0x92, 0x14, 0xd1, 0xb1, 0xef, 0x65, 0x4f, 0x34, 0xba, 0xf1,
+	0xd9, 0x68, 0x9b, 0x1b, 0x6c, 0xcc, 0x62, 0x78, 0xb8, 0xc0, 0xf0, 0x77, 0xd0, 0x0d, 0x62, 0x92,
+	0xed, 0xdc, 0xf5, 0xab, 0xfb, 0x1c, 0xfa, 0x1b, 0x2f, 0xa1, 0xe7, 0x5b, 0xbf, 0x68, 0xd9, 0x1d,
+	0x06, 0x4f, 0x5e, 0x6f, 0x19, 0x38, 0xfc, 0xbb, 0x06, 0xcd, 0xe2, 0x86, 0x4e, 0x00, 0xb4, 0x99,
+	0xf9, 0xb3, 0xe5, 0x5a, 0x73, 0xcb, 0x40, 0x07, 0xb8, 0x4b, 0xeb, 0x64, 0xb3, 0x6e, 0xcc, 0x1c,
+	0x0d, 0x49, 0xa5, 0xc0, 0xd6, 0x1c, 0x03, 0xd5, 0xf0, 0x19, 0xf4, 0xf8, 0x6c, 0x5a, 0x8e, 0x61,
+	0x2f, 0xe6, 0xb3, 0x1c, 0xae, 0xe3, 0x3e, 0x20, 0x91, 0x63, 0x3c, 0x3a, 0xee, 0x7c, 0xa6, 0x1b,
+	0x36, 0x6a, 0xe0, 0x0e, 0xb4, 0x38, 0x7a, 0x67, 0x5a, 0x08, 0x2a, 0xa3, 0xf6, 0x88, 0xe4, 0x32,
+	0xfa, 0xce, 0xd0, 0x2c, 0xd4, 0x2e, 0xd7, 0x9e, 0xce, 0x97, 0x96, 0x83, 0x3a, 0xa5, 0xfe, 0x7e,
+	0x79, 0x87, 0x4e, 0x30, 0x82, 0xb6, 0x18, 0x1d, 0x5d, 0x37, 0x1e, 0x50, 0xb7, 0x5c, 0x95, 0x39,
+	0x5c, 0xc7, 0x5e, 0x1a, 0x08, 0xe1, 0x2f, 0xe0, 0x94, 0xa3, 0xb7, 0xb6, 0x36, 0x75, 0xcc, 0xb9,
+	0xc5, 0x89, 0x5e, 0x49, 0x2c, 0x0c, 0x7b, 0x6a, 0x58, 0x8e, 0x39, 0x33, 0xdc, 0xf1, 0x18, 0xe1,
+	0xfd, 0xc4, 0x08, 0x9d, 0xee, 0x25, 0x46, 0x57, 0xa8, 0xbf, 0x97, 0xb8, 0x1a, 0xa1, 0xb3, 0xe1,
+	0x9f, 0xb4, 0xdc, 0xe2, 0x40, 0xe8, 0x86, 0x6c, 0x43, 0x5f, 0x4e, 0x8d, 0x4a, 0xbb, 0x02, 0x60,
+	0x5b, 0x66, 0xed, 0x16, 0x00, 0x6d, 0xa8, 0x56, 0x9d, 0x69, 0x45, 0xf5, 0xca, 0x9c, 0x57, 0xd0,
+	0xc0, 0x3d, 0xe8, 0x14, 0x33, 0xef, 0xe0, 0x30, 0x6f, 0x45, 0x40, 0xbc, 0xb6, 0xa3, 0xfc, 0x88,
+	0xaa, 0x08, 0xdf, 0x7d, 0x13, 0x0f, 0xa0, 0x2f, 0xe0, 0xf7, 0xbd, 0x1c, 0x57, 0x98, 0xf7, 0xc5,
+	0xb4, 0xfe, 0x87, 0x19, 0xd1, 0xb3, 0xdc, 0xcb, 0xd0, 0x6a, 0xe4, 0xfd, 0x0c, 0xed, 0xa6, 0x3d,
+	0xb9, 0x84, 0x01, 0xfd, 0x63, 0xdd, 0xfb, 0x90, 0x4f, 0xe4, 0x29, 0xfb, 0x46, 0x2c, 0xf2, 0x97,
+	0x73, 0x21, 0xad, 0x8f, 0xd8, 0x5b, 0x7a, 0xf3, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc5, 0xb8,
+	0x84, 0x60, 0x6f, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/common.proto b/googleapis/monitoring/v3/common.proto
index 79f9eb4d..f9746fbc 100644
--- a/googleapis/monitoring/v3/common.proto
+++ b/googleapis/monitoring/v3/common.proto
@@ -48,17 +48,16 @@ message TypedValue {
   }
 }
 
-// A time interval extending from after `startTime` through `endTime`.  If
-// `startTime` is omitted, the interval is the single point in time, `endTime`.
+// A time interval extending just after a start time through an end time.
+// If the start time is the same as the end time, then the interval
+// represents a single point in time.
 message TimeInterval {
-  // Required. The end of the interval. The interval includes this
-  // time.
+  // Required. The end of the time interval.
   google.protobuf.Timestamp end_time = 2;
 
-  // If this value is omitted, the interval is a point in time,
-  // `endTime`.  If `startTime` is present, it must be earlier than
-  // (less than) `endTime`.  The interval begins after
-  // `startTime`&mdash;it does not include `startTime`.
+  // Optional. The beginning of the time interval.  The default value
+  // for the start time is the end time. The start time must not be
+  // later than the end time.
   google.protobuf.Timestamp start_time = 1;
 }
 
diff --git a/googleapis/monitoring/v3/group.pb.go b/googleapis/monitoring/v3/group.pb.go
index 22953ca8..a69b9b96 100644
--- a/googleapis/monitoring/v3/group.pb.go
+++ b/googleapis/monitoring/v3/group.pb.go
@@ -40,13 +40,11 @@ var _ = math.Inf
 // depending on what resources exist and what filters are associated with the
 // group and its ancestors.
 type Group struct {
-	// The name of this group.
-	// The format is
+	// Output only. The name of this group. The format is
 	// `"projects/{project_id_or_number}/groups/{group_id}"`.
 	// When creating a group, this field is ignored and a new name is created
 	// consisting of the project specified in the call to `CreateGroup`
 	// and a unique `{group_id}` that is generated automatically.
-	// @OutputOnly
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// A user-assigned name for this group, used only for display purposes.
 	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName" json:"display_name,omitempty"`
@@ -76,18 +74,18 @@ func init() {
 
 var fileDescriptor3 = []byte{
 	// 216 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x8f, 0xc1, 0x4a, 0x03, 0x31,
-	0x10, 0x86, 0x89, 0xda, 0xc5, 0x4e, 0x3d, 0x05, 0x91, 0xbd, 0x88, 0xd5, 0xd3, 0x9e, 0x92, 0xc3,
-	0x3e, 0x80, 0x50, 0x0f, 0xde, 0xa4, 0xf4, 0x05, 0x4a, 0xac, 0x71, 0x08, 0x64, 0x33, 0x21, 0x49,
-	0x17, 0x7c, 0x11, 0x9f, 0x57, 0x32, 0x59, 0xf0, 0xd2, 0x5b, 0xf2, 0x7f, 0x1f, 0xc3, 0xff, 0xc3,
-	0x2b, 0x12, 0xa1, 0xb7, 0x0a, 0xc9, 0x9b, 0x80, 0x8a, 0x12, 0x6a, 0xb4, 0x21, 0x26, 0x2a, 0xa4,
-	0x1b, 0x32, 0xd1, 0x65, 0x3d, 0x51, 0x70, 0x85, 0x92, 0x0b, 0xa8, 0xe7, 0x51, 0x63, 0xa2, 0x73,
-	0x54, 0x2c, 0xc9, 0xfb, 0xe5, 0xc0, 0xbf, 0xa1, 0xe6, 0xf1, 0xe5, 0x57, 0xc0, 0xea, 0xbd, 0x5a,
-	0x52, 0xc2, 0x4d, 0x30, 0x93, 0xed, 0xc5, 0x56, 0x0c, 0xeb, 0x03, 0xbf, 0xe5, 0x33, 0xdc, 0x7d,
-	0xb9, 0x1c, 0xbd, 0xf9, 0x39, 0x32, 0xbb, 0x62, 0xb6, 0x59, 0xb2, 0x8f, 0xaa, 0x3c, 0xc1, 0x26,
-	0x9a, 0x64, 0x43, 0x69, 0xc6, 0x35, 0x1b, 0xd0, 0x22, 0x16, 0x1e, 0xa0, 0xfb, 0x76, 0xbe, 0xd8,
-	0xd4, 0xaf, 0x98, 0x2d, 0x3f, 0xf9, 0x08, 0xe0, 0xf2, 0xf1, 0xe4, 0xcf, 0xb9, 0xb2, 0x6e, 0x2b,
-	0x86, 0xdb, 0xc3, 0xda, 0xe5, 0xb7, 0x16, 0xec, 0x06, 0xe8, 0x4f, 0x34, 0xa9, 0x4b, 0xa5, 0x77,
-	0xc0, 0x8d, 0xf7, 0x75, 0xd6, 0x5e, 0x7c, 0x76, 0xbc, 0x6f, 0xfc, 0x0b, 0x00, 0x00, 0xff, 0xff,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x8f, 0xcd, 0x4a, 0x03, 0x31,
+	0x14, 0x85, 0x89, 0xda, 0xc1, 0xde, 0xba, 0x0a, 0x22, 0xb3, 0x11, 0x7f, 0x56, 0x5d, 0x25, 0x8b,
+	0x79, 0x00, 0xa1, 0x2e, 0xdc, 0x49, 0xe9, 0x0b, 0x94, 0x58, 0xe3, 0x25, 0x90, 0xc9, 0x0d, 0x49,
+	0x66, 0xc0, 0x17, 0xf1, 0x79, 0x35, 0x37, 0x03, 0x6e, 0xba, 0x4b, 0xce, 0xf7, 0x71, 0x39, 0x07,
+	0x5e, 0x90, 0x08, 0xbd, 0x55, 0x48, 0xde, 0x04, 0x54, 0x94, 0x50, 0xa3, 0x0d, 0x31, 0x51, 0x21,
+	0xdd, 0x90, 0x89, 0x2e, 0xeb, 0x91, 0x82, 0x2b, 0x94, 0x5c, 0x40, 0x3d, 0x0f, 0x1a, 0x13, 0x4d,
+	0x51, 0xb1, 0x24, 0x6f, 0x97, 0x03, 0xff, 0x86, 0x9a, 0x87, 0xe7, 0x1f, 0x01, 0xab, 0xb7, 0x6a,
+	0x49, 0x09, 0x57, 0xc1, 0x8c, 0xb6, 0x17, 0x8f, 0x62, 0xbb, 0x3e, 0xf0, 0x5b, 0x3e, 0xc1, 0xcd,
+	0xa7, 0xcb, 0xd1, 0x9b, 0xef, 0x23, 0xb3, 0x0b, 0x66, 0x9b, 0x25, 0x7b, 0xaf, 0xca, 0x03, 0x6c,
+	0xa2, 0x49, 0x36, 0x94, 0x66, 0x5c, 0xb2, 0x01, 0x2d, 0x62, 0xe1, 0x0e, 0xba, 0x2f, 0xe7, 0x8b,
+	0x4d, 0xfd, 0x8a, 0xd9, 0xf2, 0x93, 0xf7, 0x00, 0x2e, 0x1f, 0x4f, 0x7e, 0xca, 0x95, 0x75, 0x7f,
+	0xec, 0xfa, 0xb0, 0x76, 0xf9, 0xb5, 0x05, 0xbb, 0x2d, 0xf4, 0x27, 0x1a, 0xd5, 0xb9, 0xd2, 0x3b,
+	0xe0, 0xc6, 0xfb, 0x3a, 0x6b, 0x2f, 0x3e, 0x3a, 0xde, 0x37, 0xfc, 0x06, 0x00, 0x00, 0xff, 0xff,
 	0x76, 0x8a, 0xec, 0x63, 0x22, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group.proto b/googleapis/monitoring/v3/group.proto
index 6050b4d5..9471a859 100644
--- a/googleapis/monitoring/v3/group.proto
+++ b/googleapis/monitoring/v3/group.proto
@@ -48,13 +48,11 @@ option java_package = "com.google.monitoring.v3";
 // depending on what resources exist and what filters are associated with the
 // group and its ancestors.
 message Group {
-  // The name of this group.
-  // The format is
+  // Output only. The name of this group. The format is
   // `"projects/{project_id_or_number}/groups/{group_id}"`.
   // When creating a group, this field is ignored and a new name is created
   // consisting of the project specified in the call to `CreateGroup`
   // and a unique `{group_id}` that is generated automatically.
-  // @OutputOnly
   string name = 1;
 
   // A user-assigned name for this group, used only for display purposes.
diff --git a/googleapis/monitoring/v3/group_service.pb.go b/googleapis/monitoring/v3/group_service.pb.go
index 1b7dc444..54dea702 100644
--- a/googleapis/monitoring/v3/group_service.pb.go
+++ b/googleapis/monitoring/v3/group_service.pb.go
@@ -350,24 +350,18 @@ const _ = grpc.SupportPackageIsVersion3
 // Client API for GroupService service
 
 type GroupServiceClient interface {
-	// Lists the existing groups. The project ID in the URL path must refer
-	// to a Stackdriver account.
+	// Lists the existing groups.
 	ListGroups(ctx context.Context, in *ListGroupsRequest, opts ...grpc.CallOption) (*ListGroupsResponse, error)
-	// Gets a single group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Gets a single group.
 	GetGroup(ctx context.Context, in *GetGroupRequest, opts ...grpc.CallOption) (*Group, error)
-	// Creates a new group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Creates a new group.
 	CreateGroup(ctx context.Context, in *CreateGroupRequest, opts ...grpc.CallOption) (*Group, error)
 	// Updates an existing group.
 	// You can change any group attributes except `name`.
-	// The project ID in the URL path must refer to a Stackdriver account.
 	UpdateGroup(ctx context.Context, in *UpdateGroupRequest, opts ...grpc.CallOption) (*Group, error)
-	// Deletes an existing group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Deletes an existing group.
 	DeleteGroup(ctx context.Context, in *DeleteGroupRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
-	// Lists the monitored resources that are members of a group. The project ID
-	// in the URL path must refer to a Stackdriver account.
+	// Lists the monitored resources that are members of a group.
 	ListGroupMembers(ctx context.Context, in *ListGroupMembersRequest, opts ...grpc.CallOption) (*ListGroupMembersResponse, error)
 }
 
@@ -436,24 +430,18 @@ func (c *groupServiceClient) ListGroupMembers(ctx context.Context, in *ListGroup
 // Server API for GroupService service
 
 type GroupServiceServer interface {
-	// Lists the existing groups. The project ID in the URL path must refer
-	// to a Stackdriver account.
+	// Lists the existing groups.
 	ListGroups(context.Context, *ListGroupsRequest) (*ListGroupsResponse, error)
-	// Gets a single group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Gets a single group.
 	GetGroup(context.Context, *GetGroupRequest) (*Group, error)
-	// Creates a new group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Creates a new group.
 	CreateGroup(context.Context, *CreateGroupRequest) (*Group, error)
 	// Updates an existing group.
 	// You can change any group attributes except `name`.
-	// The project ID in the URL path must refer to a Stackdriver account.
 	UpdateGroup(context.Context, *UpdateGroupRequest) (*Group, error)
-	// Deletes an existing group. The project ID in the URL path must refer to a
-	// Stackdriver account.
+	// Deletes an existing group.
 	DeleteGroup(context.Context, *DeleteGroupRequest) (*google_protobuf4.Empty, error)
-	// Lists the monitored resources that are members of a group. The project ID
-	// in the URL path must refer to a Stackdriver account.
+	// Lists the monitored resources that are members of a group.
 	ListGroupMembers(context.Context, *ListGroupMembersRequest) (*ListGroupMembersResponse, error)
 }
 
@@ -607,57 +595,56 @@ func init() {
 }
 
 var fileDescriptor4 = []byte{
-	// 819 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdd, 0x4e, 0xdb, 0x48,
-	0x14, 0x5e, 0x93, 0x10, 0x92, 0x09, 0x08, 0x18, 0x21, 0x36, 0x32, 0x0b, 0x8a, 0xbc, 0xc0, 0x46,
-	0xec, 0x62, 0x6b, 0x93, 0x8b, 0x95, 0x56, 0xda, 0x1f, 0xb1, 0xbb, 0x62, 0x91, 0x8a, 0x40, 0x86,
-	0x5e, 0x47, 0x8e, 0x73, 0x62, 0xa6, 0xb5, 0x67, 0x5c, 0xcf, 0x24, 0x6d, 0xa8, 0x90, 0xda, 0x4a,
-	0xbd, 0xe8, 0x75, 0xef, 0x7a, 0xd7, 0xe7, 0xe8, 0x55, 0x9f, 0xa1, 0xaf, 0xd0, 0xf7, 0x68, 0xe5,
-	0xf1, 0x38, 0x31, 0xf9, 0x23, 0x42, 0xea, 0x4d, 0x14, 0xcf, 0x7c, 0x73, 0xbe, 0xef, 0x9c, 0xf9,
-	0xce, 0x19, 0x74, 0xec, 0x31, 0xe6, 0xf9, 0x60, 0x7a, 0xcc, 0x77, 0xa8, 0x67, 0xb2, 0xc8, 0xb3,
-	0x3c, 0xa0, 0x61, 0xc4, 0x04, 0xb3, 0x92, 0x2d, 0x27, 0x24, 0xdc, 0x0a, 0x18, 0x25, 0x82, 0x45,
-	0x84, 0x7a, 0x56, 0xaf, 0x61, 0x79, 0x11, 0xeb, 0x86, 0x4d, 0x0e, 0x51, 0x8f, 0xb8, 0x60, 0x4a,
-	0x30, 0xde, 0x50, 0x81, 0x86, 0x48, 0xb3, 0xd7, 0xd0, 0x4f, 0xe6, 0x0b, 0xef, 0x84, 0xc4, 0x52,
-	0xe1, 0x5c, 0x46, 0x3b, 0xc4, 0xb3, 0x1c, 0x4a, 0x99, 0x70, 0x04, 0x61, 0x94, 0x27, 0x04, 0xfa,
-	0xd9, 0xfc, 0xa1, 0x94, 0x06, 0x68, 0x47, 0xc0, 0x87, 0x1f, 0xcd, 0x08, 0x38, 0xeb, 0x46, 0xa9,
-	0x62, 0xfd, 0xef, 0xfb, 0xa4, 0xee, 0xb2, 0x20, 0x60, 0x54, 0x45, 0xf8, 0xeb, 0xde, 0xc5, 0x53,
-	0x01, 0x1a, 0x1e, 0x11, 0x57, 0xdd, 0x96, 0xe9, 0xb2, 0xc0, 0x4a, 0x82, 0x58, 0x72, 0xa3, 0xd5,
-	0xed, 0x58, 0xa1, 0xe8, 0x87, 0xc0, 0x2d, 0x08, 0x42, 0xd1, 0x4f, 0x7e, 0x93, 0x43, 0xc6, 0x17,
-	0x0d, 0xad, 0x3f, 0x20, 0x5c, 0x1c, 0xc7, 0x81, 0xb8, 0x0d, 0x4f, 0xba, 0xc0, 0x05, 0xc6, 0x28,
-	0x4f, 0x9d, 0x00, 0x2a, 0x4b, 0x55, 0xad, 0x56, 0xb2, 0xe5, 0x7f, 0xfc, 0x0b, 0x5a, 0x77, 0xaf,
-	0x88, 0xdf, 0x8e, 0x80, 0x36, 0x59, 0xa7, 0x29, 0x99, 0x2b, 0x0b, 0x31, 0xe0, 0xff, 0xef, 0xec,
-	0xd5, 0x74, 0xeb, 0xac, 0x23, 0x23, 0x61, 0x13, 0x61, 0x87, 0xba, 0xc0, 0x05, 0x8b, 0xf8, 0x10,
-	0x9e, 0x53, 0xf0, 0xb5, 0xc1, 0x5e, 0x8a, 0xaf, 0xa3, 0x8d, 0x36, 0x70, 0x17, 0x68, 0xdb, 0xa1,
-	0x22, 0x73, 0x22, 0xaf, 0x4e, 0xe0, 0xcc, 0x6e, 0x7a, 0x66, 0x0b, 0x95, 0x42, 0xc7, 0x83, 0x26,
-	0x27, 0xd7, 0x50, 0x59, 0xac, 0x6a, 0xb5, 0x45, 0xbb, 0x18, 0x2f, 0x5c, 0x90, 0x6b, 0xc0, 0xdb,
-	0x08, 0xc9, 0x4d, 0xc1, 0x1e, 0x03, 0xad, 0x14, 0x64, 0x22, 0x12, 0x7e, 0x19, 0x2f, 0x1c, 0x15,
-	0x51, 0xa1, 0x43, 0x7c, 0x01, 0x91, 0xc1, 0x10, 0xce, 0x16, 0x80, 0x87, 0x8c, 0x72, 0xc0, 0xbf,
-	0xa2, 0xc5, 0x44, 0x80, 0x56, 0xcd, 0xd5, 0xca, 0xf5, 0x2d, 0x73, 0x92, 0x23, 0x4d, 0x79, 0xc8,
-	0x4e, 0x90, 0x78, 0x1f, 0xad, 0x52, 0x78, 0x26, 0x9a, 0x19, 0x5a, 0x59, 0x1e, 0x7b, 0x25, 0x5e,
-	0x3e, 0x4f, 0xa9, 0x8d, 0x3d, 0xb4, 0x7a, 0x0c, 0x09, 0xdf, 0x68, 0xbd, 0x73, 0xc3, 0x7a, 0x1b,
-	0x2f, 0x34, 0x84, 0xff, 0x89, 0xc0, 0x11, 0x30, 0x11, 0x9a, 0xcf, 0x5c, 0xcd, 0x40, 0x6c, 0xcc,
-	0x37, 0x9f, 0xd8, 0x1f, 0xd1, 0x4a, 0xcf, 0xf1, 0x49, 0xdb, 0x11, 0xd0, 0x64, 0xd4, 0xef, 0x4b,
-	0xea, 0xa2, 0xbd, 0x9c, 0x2e, 0x9e, 0x51, 0xbf, 0x6f, 0xf8, 0x08, 0x3f, 0x0c, 0xdb, 0xa3, 0x0a,
-	0xbe, 0x15, 0x5b, 0x0d, 0xe1, 0x7f, 0xc1, 0x87, 0x29, 0xf9, 0x66, 0x4b, 0xf3, 0x51, 0x43, 0xdf,
-	0x0f, 0xee, 0xec, 0x14, 0x82, 0x16, 0x44, 0x33, 0xad, 0x7b, 0xcb, 0x28, 0xb9, 0x99, 0x46, 0xc9,
-	0x8f, 0x18, 0x05, 0x6f, 0xa6, 0x46, 0x91, 0x0e, 0x2b, 0xd9, 0xea, 0x0b, 0xff, 0x89, 0x8a, 0x84,
-	0x0a, 0x88, 0x7a, 0x8e, 0x2f, 0xdd, 0x55, 0xae, 0x1b, 0x93, 0x0b, 0x71, 0x49, 0x02, 0x38, 0x51,
-	0x48, 0x7b, 0x70, 0xc6, 0x78, 0xa7, 0xa1, 0xca, 0x78, 0x0e, 0xca, 0x7d, 0xbf, 0xa1, 0xa5, 0x20,
-	0x59, 0x52, 0xfe, 0xdb, 0x4e, 0x63, 0x3b, 0x21, 0x31, 0x4f, 0xd3, 0x21, 0x64, 0xab, 0x19, 0x64,
-	0xa7, 0xe8, 0x79, 0x3d, 0x18, 0x27, 0x2d, 0x98, 0x70, 0xfc, 0x6c, 0x49, 0x4a, 0x72, 0x25, 0xae,
-	0x49, 0xfd, 0x43, 0x01, 0x2d, 0x4b, 0x61, 0x17, 0xc9, 0x1c, 0xc5, 0xaf, 0x35, 0x84, 0x86, 0x5d,
-	0x82, 0x7f, 0x9a, 0x9c, 0xea, 0xd8, 0x20, 0xd1, 0x6b, 0x77, 0x03, 0x93, 0x94, 0x8d, 0xdd, 0x57,
-	0x9f, 0x3e, 0xbf, 0x5d, 0xd8, 0xc1, 0x3f, 0xc4, 0x63, 0xed, 0x79, 0x7c, 0x6d, 0x7f, 0x84, 0x11,
-	0x7b, 0x04, 0xae, 0xe0, 0xd6, 0xc1, 0x4d, 0x32, 0xe8, 0x38, 0xee, 0xa1, 0x62, 0xda, 0x3b, 0x78,
-	0x6f, 0x8a, 0xf1, 0x6e, 0xf7, 0x96, 0x3e, 0xcb, 0x9f, 0xc6, 0xbe, 0x64, 0xad, 0xe2, 0x9d, 0x49,
-	0xac, 0x8a, 0xd4, 0x3a, 0xb8, 0xc1, 0x2f, 0x35, 0x54, 0xce, 0x34, 0x23, 0x9e, 0x92, 0xd7, 0x78,
-	0xbf, 0xce, 0xa6, 0xff, 0x59, 0xd2, 0xef, 0x19, 0x33, 0x93, 0xfe, 0x5d, 0x35, 0xd1, 0x1b, 0x0d,
-	0x95, 0x33, 0xed, 0x38, 0x4d, 0xc3, 0x78, 0xc7, 0xce, 0xd6, 0xd0, 0x90, 0x1a, 0x0e, 0xf5, 0x5d,
-	0xa9, 0x21, 0x79, 0x50, 0xa6, 0x16, 0x22, 0xd5, 0xf2, 0x14, 0x95, 0x33, 0xbd, 0x3a, 0x4d, 0xca,
-	0x78, 0x3b, 0xeb, 0x9b, 0x29, 0x32, 0x7d, 0x9a, 0xcc, 0xff, 0xe2, 0xd7, 0x28, 0xbd, 0x88, 0x83,
-	0xbb, 0x2e, 0xe2, 0xbd, 0x86, 0xd6, 0x46, 0xdb, 0x06, 0x1f, 0xde, 0xe1, 0xb2, 0xdb, 0x23, 0x42,
-	0x37, 0xe7, 0x85, 0x2b, 0x6b, 0x9a, 0x52, 0x5b, 0x0d, 0xef, 0xcf, 0xd6, 0x66, 0xa9, 0x26, 0x3c,
-	0xb2, 0x50, 0xc5, 0x65, 0xc1, 0x44, 0x92, 0xa3, 0xf5, 0x6c, 0x5b, 0x9d, 0xc7, 0x35, 0x38, 0xd7,
-	0x5a, 0x05, 0x59, 0x8c, 0xc6, 0xd7, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x6f, 0x90, 0xee, 0x40,
-	0x09, 0x00, 0x00,
+	// 813 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xd3, 0x4a,
+	0x14, 0xbe, 0x6e, 0xd2, 0x34, 0x39, 0x69, 0xd5, 0x76, 0x54, 0xf5, 0x46, 0xee, 0x6d, 0x55, 0xf9,
+	0xb6, 0xbd, 0x51, 0x2f, 0xb5, 0x45, 0xb2, 0x40, 0x42, 0xe2, 0x47, 0x05, 0x54, 0x2a, 0x51, 0xb5,
+	0x72, 0xcb, 0x3a, 0x72, 0x92, 0x89, 0x6b, 0x70, 0x66, 0x8c, 0x3d, 0x09, 0x14, 0x84, 0x04, 0x48,
+	0x2c, 0x58, 0xb3, 0x63, 0xc7, 0x73, 0xb0, 0xe2, 0x19, 0x78, 0x05, 0xde, 0x03, 0xc6, 0xe3, 0x99,
+	0xc4, 0xcd, 0x5f, 0xa3, 0x4a, 0x6c, 0x2c, 0xcf, 0x99, 0x33, 0xe7, 0xfb, 0xce, 0x99, 0xef, 0x9c,
+	0x81, 0x03, 0x97, 0x52, 0xd7, 0xc7, 0xa6, 0x4b, 0x7d, 0x87, 0xb8, 0x26, 0x0d, 0x5d, 0xcb, 0xc5,
+	0x24, 0x08, 0x29, 0xa3, 0x56, 0xb2, 0xe5, 0x04, 0x5e, 0x64, 0xb5, 0x29, 0xf1, 0x18, 0x0d, 0x3d,
+	0xe2, 0x5a, 0xdd, 0xaa, 0xe5, 0x86, 0xb4, 0x13, 0xd4, 0x22, 0x1c, 0x76, 0xbd, 0x06, 0x36, 0x85,
+	0x33, 0x5a, 0x91, 0x81, 0xfa, 0x9e, 0x66, 0xb7, 0xaa, 0x1f, 0x4e, 0x17, 0x9e, 0x7f, 0x2c, 0x19,
+	0xae, 0x41, 0x49, 0xcb, 0x73, 0x2d, 0x87, 0x10, 0xca, 0x1c, 0xe6, 0x51, 0x12, 0x25, 0x00, 0xfa,
+	0xf1, 0xf4, 0xa1, 0x24, 0x07, 0xdc, 0x0c, 0x71, 0xd4, 0x5f, 0xd4, 0xf8, 0x8a, 0x76, 0x42, 0xc5,
+	0x58, 0xbf, 0x7f, 0x9d, 0xd4, 0x1b, 0xb4, 0xcd, 0x0d, 0x32, 0xc2, 0xbd, 0x6b, 0x17, 0x4f, 0x06,
+	0xa8, 0xba, 0x1e, 0x3b, 0xef, 0xd4, 0x4d, 0x1e, 0xd5, 0x4a, 0x82, 0x58, 0x62, 0xa3, 0xde, 0x69,
+	0x59, 0x01, 0xbb, 0x08, 0x38, 0x7d, 0xdc, 0xe6, 0x3f, 0xc9, 0x37, 0x39, 0x64, 0xfc, 0xd2, 0x60,
+	0xf9, 0x89, 0x17, 0xb1, 0x83, 0x38, 0x50, 0x64, 0xe3, 0x17, 0x1d, 0x1c, 0x31, 0x84, 0x20, 0x4b,
+	0x9c, 0x36, 0x2e, 0xcd, 0x6d, 0x6a, 0xe5, 0x82, 0x2d, 0xfe, 0xd1, 0x0d, 0x58, 0x6e, 0x9c, 0x7b,
+	0x3e, 0x2f, 0x03, 0xa9, 0xd1, 0x56, 0x4d, 0x20, 0x97, 0x66, 0x62, 0x87, 0xc7, 0x7f, 0xd9, 0x8b,
+	0x6a, 0xeb, 0xb8, 0x25, 0x22, 0x21, 0x13, 0x90, 0x43, 0x1a, 0x3c, 0x16, 0x0d, 0xa3, 0xbe, 0x7b,
+	0x46, 0xba, 0x2f, 0xf5, 0xf6, 0x94, 0x7f, 0x05, 0x56, 0x9a, 0x38, 0x6a, 0x60, 0xd2, 0x74, 0x08,
+	0x4b, 0x9d, 0xc8, 0xca, 0x13, 0x28, 0xb5, 0xab, 0xce, 0xac, 0x41, 0x21, 0x70, 0x5c, 0x5c, 0x8b,
+	0xbc, 0xd7, 0xb8, 0x34, 0xcb, 0x1d, 0x67, 0xed, 0x7c, 0x6c, 0x38, 0xe5, 0x6b, 0xb4, 0x0e, 0x20,
+	0x36, 0x19, 0x7d, 0x8e, 0x49, 0x29, 0x27, 0x12, 0x11, 0xee, 0x67, 0xb1, 0x61, 0x3f, 0x0f, 0xb9,
+	0x96, 0xe7, 0x33, 0x1c, 0x1a, 0x14, 0x50, 0xba, 0x00, 0x51, 0xc0, 0x55, 0x82, 0xd1, 0x4d, 0x98,
+	0x4d, 0x08, 0x68, 0x9b, 0x99, 0x72, 0xb1, 0xb2, 0x66, 0x8e, 0x52, 0xa4, 0x29, 0x0e, 0xd9, 0x89,
+	0x27, 0xda, 0x81, 0x45, 0x82, 0x5f, 0xb1, 0x5a, 0x0a, 0x56, 0x94, 0xc7, 0x5e, 0x88, 0xcd, 0x27,
+	0x0a, 0xda, 0xd8, 0x86, 0xc5, 0x03, 0x9c, 0xe0, 0x0d, 0xd6, 0x3b, 0xd3, 0xaf, 0xb7, 0xf1, 0x4e,
+	0x03, 0xf4, 0x20, 0xc4, 0x0e, 0xc3, 0x23, 0x5d, 0xb3, 0xa9, 0xab, 0xe9, 0x91, 0x8d, 0xf1, 0xa6,
+	0x23, 0xfb, 0x2f, 0x2c, 0x74, 0x1d, 0xdf, 0x6b, 0xf2, 0xf0, 0x35, 0x4a, 0xfc, 0x0b, 0x01, 0x9d,
+	0xb7, 0xe7, 0x95, 0xf1, 0x98, 0xdb, 0x0c, 0x1f, 0xd0, 0xd3, 0xa0, 0x39, 0xc8, 0xe0, 0x4f, 0xa1,
+	0x95, 0x01, 0x3d, 0xc4, 0x3e, 0x1e, 0x93, 0x6f, 0xba, 0x34, 0xdf, 0x35, 0xf8, 0xbb, 0x77, 0x67,
+	0x47, 0xb8, 0x5d, 0xc7, 0xe1, 0x44, 0xe9, 0x5e, 0x12, 0x4a, 0x66, 0xa2, 0x50, 0xb2, 0x03, 0x42,
+	0x41, 0xab, 0x4a, 0x28, 0x42, 0x61, 0x05, 0x5b, 0xae, 0xd0, 0x5d, 0xc8, 0x7b, 0x84, 0xff, 0xf0,
+	0x14, 0x84, 0xba, 0x8a, 0x15, 0x63, 0x74, 0x21, 0xce, 0xbc, 0x36, 0x3e, 0x94, 0x9e, 0x76, 0xef,
+	0x8c, 0xf1, 0x45, 0x83, 0xd2, 0x70, 0x0e, 0x52, 0x7d, 0xb7, 0x60, 0xae, 0x9d, 0x98, 0xa4, 0xfe,
+	0xd6, 0x55, 0x6c, 0x3e, 0x03, 0xcc, 0x23, 0x35, 0x84, 0x6c, 0x39, 0x83, 0x6c, 0xe5, 0x3d, 0xad,
+	0x06, 0xe3, 0xa4, 0x19, 0x1f, 0x89, 0x7e, 0xba, 0x24, 0x05, 0x61, 0x89, 0x6b, 0x52, 0xf9, 0x96,
+	0x83, 0x79, 0x41, 0xec, 0x34, 0x99, 0xa3, 0xe8, 0xa3, 0x06, 0xd0, 0xef, 0x12, 0xf4, 0xdf, 0xe8,
+	0x54, 0x87, 0x06, 0x89, 0x5e, 0xbe, 0xda, 0x31, 0x49, 0xd9, 0xd8, 0xfa, 0xf0, 0xe3, 0xe7, 0xe7,
+	0x99, 0x0d, 0xf4, 0x4f, 0x3c, 0xd6, 0xde, 0xc4, 0xd7, 0x76, 0x87, 0x4f, 0xa8, 0x67, 0xb8, 0xc1,
+	0x22, 0x6b, 0xf7, 0x6d, 0x32, 0xe8, 0x22, 0xd4, 0x85, 0xbc, 0xea, 0x1d, 0xb4, 0x3d, 0x46, 0x78,
+	0x97, 0x7b, 0x4b, 0x9f, 0xa4, 0x4f, 0x63, 0x47, 0xa0, 0x6e, 0xa2, 0x8d, 0x51, 0xa8, 0x12, 0x94,
+	0xc3, 0xa3, 0xf7, 0x1a, 0x14, 0x53, 0xcd, 0x88, 0xc6, 0xe4, 0x35, 0xdc, 0xaf, 0x93, 0xe1, 0xff,
+	0x17, 0xf0, 0xdb, 0xc6, 0xc4, 0xa4, 0x6f, 0xcb, 0x26, 0xfa, 0xc4, 0x39, 0xa4, 0xda, 0x71, 0x1c,
+	0x87, 0xe1, 0x8e, 0x9d, 0xcc, 0xa1, 0x2a, 0x38, 0xec, 0xe9, 0x5b, 0x82, 0x43, 0xf2, 0xa0, 0x8c,
+	0x2d, 0x84, 0xe2, 0xf2, 0x12, 0x8a, 0xa9, 0x5e, 0x1d, 0x47, 0x65, 0xb8, 0x9d, 0xf5, 0x55, 0xe5,
+	0xa9, 0x9e, 0x26, 0xf3, 0x51, 0xfc, 0x1a, 0xa9, 0x8b, 0xd8, 0xbd, 0xea, 0x22, 0xbe, 0x6a, 0xb0,
+	0x34, 0xd8, 0x36, 0x68, 0xef, 0x0a, 0x95, 0x5d, 0x1e, 0x11, 0xba, 0x39, 0xad, 0xbb, 0x94, 0xa6,
+	0x29, 0xb8, 0x95, 0xd1, 0xce, 0x64, 0x6e, 0x96, 0x6c, 0xc2, 0x7d, 0x0b, 0x4a, 0xfc, 0x0d, 0x1e,
+	0x09, 0xb2, 0xbf, 0x9c, 0x6e, 0xab, 0x93, 0xb8, 0x06, 0x27, 0x5a, 0x3d, 0x27, 0x8a, 0x51, 0xfd,
+	0x1d, 0x00, 0x00, 0xff, 0xff, 0xff, 0x6f, 0x90, 0xee, 0x40, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group_service.proto b/googleapis/monitoring/v3/group_service.proto
index c49c723c..4c049a97 100644
--- a/googleapis/monitoring/v3/group_service.proto
+++ b/googleapis/monitoring/v3/group_service.proto
@@ -40,39 +40,33 @@ option java_package = "com.google.monitoring.v3";
 // updated automatically as monitored resources are added and removed
 // from the infrastructure.
 service GroupService {
-  // Lists the existing groups. The project ID in the URL path must refer
-  // to a Stackdriver account.
+  // Lists the existing groups.
   rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
     option (google.api.http) = { get: "/v3/{name=projects/*}/groups" };
   }
 
-  // Gets a single group. The project ID in the URL path must refer to a
-  // Stackdriver account.
+  // Gets a single group.
   rpc GetGroup(GetGroupRequest) returns (Group) {
     option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}" };
   }
 
-  // Creates a new group. The project ID in the URL path must refer to a
-  // Stackdriver account.
+  // Creates a new group.
   rpc CreateGroup(CreateGroupRequest) returns (Group) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/groups", body: "group" };
+    option (google.api.http) = { post: "/v3/{name=projects/*}/groups" body: "group" };
   }
 
   // Updates an existing group.
   // You can change any group attributes except `name`.
-  // The project ID in the URL path must refer to a Stackdriver account.
   rpc UpdateGroup(UpdateGroupRequest) returns (Group) {
-    option (google.api.http) = { put: "/v3/{group.name=projects/*/groups/*}", body: "group" };
+    option (google.api.http) = { put: "/v3/{group.name=projects/*/groups/*}" body: "group" };
   }
 
-  // Deletes an existing group. The project ID in the URL path must refer to a
-  // Stackdriver account.
+  // Deletes an existing group.
   rpc DeleteGroup(DeleteGroupRequest) returns (google.protobuf.Empty) {
     option (google.api.http) = { delete: "/v3/{name=projects/*/groups/*}" };
   }
 
-  // Lists the monitored resources that are members of a group. The project ID
-  // in the URL path must refer to a Stackdriver account.
+  // Lists the monitored resources that are members of a group.
   rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) {
     option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}/members" };
   }
diff --git a/googleapis/monitoring/v3/metric.pb.go b/googleapis/monitoring/v3/metric.pb.go
index fc861e1c..75492314 100644
--- a/googleapis/monitoring/v3/metric.pb.go
+++ b/googleapis/monitoring/v3/metric.pb.go
@@ -17,7 +17,14 @@ var _ = math.Inf
 
 // A single data point in a time series.
 type Point struct {
-	// The time interval to which the value applies.
+	// The time interval to which the data point applies.  For GAUGE metrics, only
+	// the end time of the interval is used.  For DELTA metrics, the start and end
+	// time should specify a non-zero interval, with subsequent points specifying
+	// contiguous and non-overlapping intervals.  For CUMULATIVE metrics, the
+	// start and end time should specify a non-zero interval, with subsequent
+	// points specifying the same start time and increasing end times, until an
+	// event resets the cumulative value to zero and sets a new start time for the
+	// following points.
 	Interval *TimeInterval `protobuf:"bytes,1,opt,name=interval" json:"interval,omitempty"`
 	// The value of the data point.
 	Value *TypedValue `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
@@ -42,29 +49,42 @@ func (m *Point) GetValue() *TypedValue {
 	return nil
 }
 
-// A collection of data points that describes the time-varying nature
+// A collection of data points that describes the time-varying values
 // of a metric. A time series is identified by a combination of a
 // fully-specified monitored resource and a fully-specified metric.
+// This type is used for both listing and creating time series.
 type TimeSeries struct {
-	// The fully-specified metric used to identify the time series.
+	// The associated metric. A fully-specified metric used to identify the time
+	// series.
 	Metric *google_api5.Metric `protobuf:"bytes,1,opt,name=metric" json:"metric,omitempty"`
-	// The fully-specified monitored resource used to identify the time series.
+	// The associated resource. A fully-specified monitored resource used to
+	// identify the time series.
 	Resource *google_api4.MonitoredResource `protobuf:"bytes,2,opt,name=resource" json:"resource,omitempty"`
-	// The metric kind of the time series. This can be different than the metric
-	// kind specified in [google.api.MetricDescriptor] because of alignment and
-	// reduction operations on the data. This field is ignored when writing data;
-	// the value specified in the descriptor is used instead.
-	// @OutputOnly
+	// The metric kind of the time series. When listing time series, this metric
+	// kind might be different from the metric kind of the associated metric if
+	// this time series is an alignment or reduction of other time series.
+	//
+	// When creating a time series, this field is optional. If present, it must be
+	// the same as the metric kind of the associated metric. If the associated
+	// metric's descriptor must be auto-created, then this field specifies the
+	// metric kind of the new descriptor and must be either `GAUGE` (the default)
+	// or `CUMULATIVE`.
 	MetricKind google_api5.MetricDescriptor_MetricKind `protobuf:"varint,3,opt,name=metric_kind,json=metricKind,enum=google.api.MetricDescriptor_MetricKind" json:"metric_kind,omitempty"`
-	// The value type of the time series. This can be different than the value
-	// type specified in [google.api.MetricDescriptor] because of alignment and
-	// reduction operations on the data. This field is ignored when writing data;
-	// the value specified in the descriptor is used instead.
-	// @OutputOnly
+	// The value type of the time series. When listing time series, this value
+	// type might be different from the value type of the associated metric if
+	// this time series is an alignment or reduction of other time series.
+	//
+	// When creating a time series, this field is optional. If present, it must be
+	// the same as the type of the data in the `points` field.
 	ValueType google_api5.MetricDescriptor_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=google.api.MetricDescriptor_ValueType" json:"value_type,omitempty"`
-	// The data points of this time series. When used as output, points will be
-	// sorted by decreasing time order. When used as input, points could be
-	// written in any orders.
+	// The data points of this time series. When listing time series, the order of
+	// the points is specified by the list method.
+	//
+	// When creating a time series, this field must contain exactly one point and
+	// the point's type must be the same as the value type of the associated
+	// metric. If the associated metric's descriptor must be auto-created, then
+	// the value type of the descriptor is determined by the point's type, which
+	// must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.
 	Points []*Point `protobuf:"bytes,5,rep,name=points" json:"points,omitempty"`
 }
 
@@ -104,28 +124,28 @@ func init() {
 }
 
 var fileDescriptor5 = []byte{
-	// 359 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x91, 0x41, 0x4b, 0xc3, 0x30,
-	0x14, 0xc7, 0xe9, 0xe6, 0xc6, 0x4c, 0xc1, 0x43, 0xf0, 0x50, 0x26, 0x42, 0xd9, 0x41, 0xa7, 0x87,
-	0x16, 0x56, 0x10, 0x3c, 0x28, 0x32, 0x14, 0x14, 0x11, 0x47, 0x14, 0xaf, 0xa3, 0xb6, 0x8f, 0x12,
-	0x6c, 0xf3, 0x42, 0xda, 0x15, 0x76, 0xf2, 0x73, 0xf9, 0xed, 0xa4, 0x49, 0xba, 0x31, 0x9c, 0xa2,
-	0xde, 0xd2, 0xe6, 0xf7, 0x7e, 0x2f, 0xef, 0xff, 0xc8, 0x55, 0x86, 0x98, 0xe5, 0x10, 0x64, 0x98,
-	0xc7, 0x22, 0x0b, 0x50, 0x65, 0x61, 0x06, 0x42, 0x2a, 0xac, 0x30, 0x34, 0x57, 0xb1, 0xe4, 0x65,
-	0x58, 0xa0, 0xe0, 0x15, 0x2a, 0x2e, 0xb2, 0xb0, 0x8e, 0xc2, 0x02, 0x2a, 0xc5, 0x93, 0x40, 0x53,
-	0x74, 0xdf, 0x1a, 0xd6, 0x48, 0x50, 0x47, 0xc3, 0x8b, 0xdf, 0x79, 0x63, 0xc9, 0xad, 0x6d, 0x43,
-	0x3a, 0x7c, 0xfc, 0x43, 0xb9, 0xe9, 0x0b, 0xa9, 0x82, 0x72, 0xfd, 0x31, 0x57, 0x50, 0xe2, 0x42,
-	0x25, 0x60, 0x85, 0xff, 0x9a, 0x33, 0xc1, 0xa2, 0x40, 0x61, 0x0c, 0xa3, 0x77, 0xd2, 0x9b, 0x21,
-	0x17, 0x15, 0xbd, 0x24, 0x03, 0x2e, 0x2a, 0x50, 0x75, 0x9c, 0x7b, 0x8e, 0xef, 0x8c, 0xdd, 0xc9,
-	0x28, 0xd8, 0x96, 0x41, 0xf0, 0xcc, 0x0b, 0xb8, 0xb3, 0x24, 0x5b, 0xd5, 0xd0, 0x33, 0xd2, 0xab,
-	0xe3, 0x7c, 0x01, 0x5e, 0x47, 0x17, 0xfb, 0xdf, 0x14, 0x2f, 0x25, 0xa4, 0x2f, 0x0d, 0xc7, 0x0c,
-	0x3e, 0xfa, 0xe8, 0x10, 0xd2, 0x28, 0x9f, 0x40, 0x71, 0x28, 0xe9, 0x29, 0xe9, 0x9b, 0xc8, 0xec,
-	0x23, 0x68, 0xeb, 0x89, 0x25, 0x0f, 0x1e, 0xf4, 0x0d, 0xb3, 0x04, 0x3d, 0x27, 0x83, 0x36, 0x0f,
-	0xdb, 0xf5, 0x70, 0x83, 0x6e, 0x53, 0x63, 0x16, 0x62, 0x2b, 0x9c, 0xde, 0x12, 0xd7, 0x48, 0xe6,
-	0x6f, 0x5c, 0xa4, 0x5e, 0xd7, 0x77, 0xc6, 0x7b, 0x93, 0xe3, 0xaf, 0xbd, 0xae, 0xa1, 0x4c, 0x14,
-	0x97, 0x15, 0x2a, 0xfb, 0xe3, 0x9e, 0x8b, 0x94, 0x91, 0x62, 0x75, 0xa6, 0x37, 0x84, 0xe8, 0x41,
-	0xe6, 0xd5, 0x52, 0x82, 0xb7, 0xa3, 0x45, 0x47, 0x3f, 0x8a, 0xf4, 0xf8, 0x4d, 0x10, 0x6c, 0xb7,
-	0x6e, 0x8f, 0x34, 0x22, 0x7d, 0xd9, 0xec, 0xa1, 0xf4, 0x7a, 0x7e, 0x77, 0xec, 0x4e, 0x0e, 0xb6,
-	0xe7, 0xa7, 0x77, 0xc5, 0x2c, 0x3a, 0x3d, 0x21, 0x5e, 0x82, 0xc5, 0x56, 0x72, 0xea, 0x9a, 0xbe,
-	0xb3, 0x66, 0xcb, 0x33, 0xe7, 0xb5, 0xaf, 0xd7, 0x1d, 0x7d, 0x06, 0x00, 0x00, 0xff, 0xff, 0x42,
-	0x89, 0xb9, 0x1f, 0x1a, 0x03, 0x00, 0x00,
+	// 355 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x91, 0x4f, 0x4b, 0xc3, 0x30,
+	0x14, 0xc0, 0xd9, 0xe6, 0xc6, 0x7c, 0x03, 0x0f, 0xc1, 0x43, 0x99, 0x08, 0x63, 0x07, 0xff, 0x1d,
+	0x52, 0x58, 0x41, 0xf0, 0xa0, 0xc8, 0x50, 0x50, 0x44, 0x1c, 0x51, 0xbc, 0x8e, 0xd9, 0x3d, 0x42,
+	0x70, 0x4d, 0x4a, 0xda, 0x15, 0x3c, 0xf9, 0xb9, 0xfc, 0x76, 0xa6, 0x49, 0xba, 0x31, 0xac, 0xa2,
+	0x5e, 0x9a, 0x7f, 0xbf, 0xf7, 0x7b, 0x7d, 0xef, 0xc1, 0x25, 0x57, 0x8a, 0x2f, 0x90, 0x72, 0xb5,
+	0x98, 0x49, 0x4e, 0x95, 0xe6, 0x21, 0x47, 0x99, 0x6a, 0x95, 0xab, 0xd0, 0x3d, 0xcd, 0x52, 0x91,
+	0x85, 0x89, 0x92, 0x22, 0x57, 0x5a, 0x48, 0x1e, 0x16, 0x51, 0x98, 0x60, 0xae, 0x45, 0x4c, 0x2d,
+	0x45, 0x76, 0xbd, 0x61, 0x8d, 0xd0, 0x22, 0xea, 0x9f, 0xff, 0xce, 0x6b, 0x3e, 0xde, 0xb6, 0x21,
+	0xed, 0x3f, 0xfc, 0x21, 0xdc, 0xe5, 0xc5, 0xb9, 0xc6, 0x6c, 0x7d, 0x98, 0x9a, 0x93, 0x5a, 0xea,
+	0x18, 0xbd, 0xf0, 0x5f, 0x75, 0xc6, 0x2a, 0x31, 0x17, 0xce, 0x30, 0x7c, 0x87, 0xf6, 0x44, 0x09,
+	0x99, 0x93, 0x0b, 0xe8, 0x9a, 0x05, 0x75, 0x31, 0x5b, 0x04, 0x8d, 0x41, 0xe3, 0xa8, 0x37, 0x1a,
+	0xd2, 0xba, 0x1e, 0xd0, 0x27, 0x91, 0xe0, 0xad, 0x27, 0xd9, 0x2a, 0x86, 0x9c, 0x42, 0xdb, 0x2c,
+	0x4b, 0x0c, 0x9a, 0x36, 0x78, 0xf0, 0x4d, 0xf0, 0x5b, 0x8a, 0xf3, 0xe7, 0x92, 0x63, 0x0e, 0x1f,
+	0x7e, 0x34, 0x01, 0x4a, 0xe5, 0x23, 0x6a, 0x81, 0x19, 0x39, 0x81, 0x8e, 0x6b, 0x99, 0xff, 0x09,
+	0x52, 0x79, 0x4c, 0x21, 0xf4, 0xde, 0xbe, 0x30, 0x4f, 0x90, 0x33, 0xe8, 0x56, 0xfd, 0xf0, 0x59,
+	0xf7, 0x37, 0xe8, 0xaa, 0x6b, 0xcc, 0x43, 0x6c, 0x85, 0x93, 0x1b, 0xe8, 0x39, 0xc9, 0xf4, 0x55,
+	0xc8, 0x79, 0xd0, 0x32, 0xd1, 0x3b, 0xa3, 0xc3, 0xaf, 0xb9, 0xae, 0x30, 0x8b, 0xb5, 0x48, 0x8d,
+	0xc6, 0x5f, 0xdc, 0x19, 0x9c, 0x41, 0xb2, 0xda, 0x93, 0x6b, 0x00, 0x5b, 0xc8, 0x34, 0x37, 0xa5,
+	0x05, 0x5b, 0x56, 0x74, 0xf0, 0xa3, 0xc8, 0x96, 0x5f, 0x36, 0x82, 0x6d, 0x17, 0xd5, 0x96, 0x44,
+	0xd0, 0x49, 0xcb, 0x39, 0x64, 0x41, 0x7b, 0xd0, 0x32, 0x95, 0xec, 0xd5, 0xf7, 0xcf, 0xce, 0x8a,
+	0x79, 0x74, 0x7c, 0x0c, 0x81, 0x19, 0x66, 0x2d, 0x39, 0xee, 0xb9, 0xbc, 0x93, 0x72, 0xca, 0x93,
+	0xc6, 0x4b, 0xc7, 0x8e, 0x3b, 0xfa, 0x0c, 0x00, 0x00, 0xff, 0xff, 0x42, 0x89, 0xb9, 0x1f, 0x1a,
+	0x03, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric.proto b/googleapis/monitoring/v3/metric.proto
index 9e4ebc31..c275c633 100644
--- a/googleapis/monitoring/v3/metric.proto
+++ b/googleapis/monitoring/v3/metric.proto
@@ -27,39 +27,59 @@ option java_package = "com.google.monitoring.v3";
 
 // A single data point in a time series.
 message Point {
-  // The time interval to which the value applies.
+  // The time interval to which the data point applies.  For GAUGE metrics, only
+  // the end time of the interval is used.  For DELTA metrics, the start and end
+  // time should specify a non-zero interval, with subsequent points specifying
+  // contiguous and non-overlapping intervals.  For CUMULATIVE metrics, the
+  // start and end time should specify a non-zero interval, with subsequent
+  // points specifying the same start time and increasing end times, until an
+  // event resets the cumulative value to zero and sets a new start time for the
+  // following points.
   TimeInterval interval = 1;
 
   // The value of the data point.
   TypedValue value = 2;
 }
 
-// A collection of data points that describes the time-varying nature
+// A collection of data points that describes the time-varying values
 // of a metric. A time series is identified by a combination of a
 // fully-specified monitored resource and a fully-specified metric.
+// This type is used for both listing and creating time series.
 message TimeSeries {
-  // The fully-specified metric used to identify the time series.
+  // The associated metric. A fully-specified metric used to identify the time
+  // series.
   google.api.Metric metric = 1;
 
-  // The fully-specified monitored resource used to identify the time series.
+  // The associated resource. A fully-specified monitored resource used to
+  // identify the time series.
   google.api.MonitoredResource resource = 2;
 
-  // The metric kind of the time series. This can be different than the metric
-  // kind specified in [google.api.MetricDescriptor] because of alignment and
-  // reduction operations on the data. This field is ignored when writing data;
-  // the value specified in the descriptor is used instead.
-  // @OutputOnly
+  // The metric kind of the time series. When listing time series, this metric
+  // kind might be different from the metric kind of the associated metric if
+  // this time series is an alignment or reduction of other time series.
+  //
+  // When creating a time series, this field is optional. If present, it must be
+  // the same as the metric kind of the associated metric. If the associated
+  // metric's descriptor must be auto-created, then this field specifies the
+  // metric kind of the new descriptor and must be either `GAUGE` (the default)
+  // or `CUMULATIVE`.
   google.api.MetricDescriptor.MetricKind metric_kind = 3;
 
-  // The value type of the time series. This can be different than the value
-  // type specified in [google.api.MetricDescriptor] because of alignment and
-  // reduction operations on the data. This field is ignored when writing data;
-  // the value specified in the descriptor is used instead.
-  // @OutputOnly
+  // The value type of the time series. When listing time series, this value
+  // type might be different from the value type of the associated metric if
+  // this time series is an alignment or reduction of other time series.
+  //
+  // When creating a time series, this field is optional. If present, it must be
+  // the same as the type of the data in the `points` field.
   google.api.MetricDescriptor.ValueType value_type = 4;
 
-  // The data points of this time series. When used as output, points will be
-  // sorted by decreasing time order. When used as input, points could be
-  // written in any orders.
+  // The data points of this time series. When listing time series, the order of
+  // the points is specified by the list method.
+  //
+  // When creating a time series, this field must contain exactly one point and
+  // the point's type must be the same as the value type of the associated
+  // metric. If the associated metric's descriptor must be auto-created, then
+  // the value type of the descriptor is determined by the point's type, which
+  // must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.
   repeated Point points = 5;
 }
diff --git a/googleapis/monitoring/v3/metric_service.pb.go b/googleapis/monitoring/v3/metric_service.pb.go
index 9a906fd3..5719d945 100644
--- a/googleapis/monitoring/v3/metric_service.pb.go
+++ b/googleapis/monitoring/v3/metric_service.pb.go
@@ -385,13 +385,13 @@ const _ = grpc.SupportPackageIsVersion3
 // Client API for MetricService service
 
 type MetricServiceClient interface {
-	// Lists monitored resource descriptors that match a filter.
+	// Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
 	ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
-	// Gets a single monitored resource descriptor.
+	// Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
 	GetMonitoredResourceDescriptor(ctx context.Context, in *GetMonitoredResourceDescriptorRequest, opts ...grpc.CallOption) (*google_api4.MonitoredResourceDescriptor, error)
-	// Lists metric descriptors that match a filter.
+	// Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
 	ListMetricDescriptors(ctx context.Context, in *ListMetricDescriptorsRequest, opts ...grpc.CallOption) (*ListMetricDescriptorsResponse, error)
-	// Gets a single metric descriptor.
+	// Gets a single metric descriptor. This method does not require a Stackdriver account.
 	GetMetricDescriptor(ctx context.Context, in *GetMetricDescriptorRequest, opts ...grpc.CallOption) (*google_api5.MetricDescriptor, error)
 	// Creates a new metric descriptor.
 	// User-created metric descriptors define
@@ -400,7 +400,7 @@ type MetricServiceClient interface {
 	// Deletes a metric descriptor. Only user-created
 	// [custom metrics](/monitoring/custom-metrics) can be deleted.
 	DeleteMetricDescriptor(ctx context.Context, in *DeleteMetricDescriptorRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
-	// Lists time series that match a filter.
+	// Lists time series that match a filter. This method does not require a Stackdriver account.
 	ListTimeSeries(ctx context.Context, in *ListTimeSeriesRequest, opts ...grpc.CallOption) (*ListTimeSeriesResponse, error)
 	// Creates or adds data to one or more time series.
 	// The response is empty if all time series in the request were written.
@@ -492,13 +492,13 @@ func (c *metricServiceClient) CreateTimeSeries(ctx context.Context, in *CreateTi
 // Server API for MetricService service
 
 type MetricServiceServer interface {
-	// Lists monitored resource descriptors that match a filter.
+	// Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
 	ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
-	// Gets a single monitored resource descriptor.
+	// Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
 	GetMonitoredResourceDescriptor(context.Context, *GetMonitoredResourceDescriptorRequest) (*google_api4.MonitoredResourceDescriptor, error)
-	// Lists metric descriptors that match a filter.
+	// Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
 	ListMetricDescriptors(context.Context, *ListMetricDescriptorsRequest) (*ListMetricDescriptorsResponse, error)
-	// Gets a single metric descriptor.
+	// Gets a single metric descriptor. This method does not require a Stackdriver account.
 	GetMetricDescriptor(context.Context, *GetMetricDescriptorRequest) (*google_api5.MetricDescriptor, error)
 	// Creates a new metric descriptor.
 	// User-created metric descriptors define
@@ -507,7 +507,7 @@ type MetricServiceServer interface {
 	// Deletes a metric descriptor. Only user-created
 	// [custom metrics](/monitoring/custom-metrics) can be deleted.
 	DeleteMetricDescriptor(context.Context, *DeleteMetricDescriptorRequest) (*google_protobuf4.Empty, error)
-	// Lists time series that match a filter.
+	// Lists time series that match a filter. This method does not require a Stackdriver account.
 	ListTimeSeries(context.Context, *ListTimeSeriesRequest) (*ListTimeSeriesResponse, error)
 	// Creates or adds data to one or more time series.
 	// The response is empty if all time series in the request were written.
@@ -710,69 +710,68 @@ func init() {
 }
 
 var fileDescriptor6 = []byte{
-	// 1009 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x56, 0xdf, 0x72, 0xdb, 0xc4,
-	0x17, 0xfe, 0x6d, 0x92, 0xe6, 0xcf, 0xf1, 0x34, 0xbf, 0x74, 0xdb, 0x1a, 0x23, 0x1a, 0xc6, 0x68,
-	0xa6, 0xc4, 0xb8, 0x45, 0xca, 0xd8, 0x1d, 0x2e, 0xd2, 0xa6, 0x43, 0xd2, 0x04, 0x9a, 0x21, 0x40,
-	0x46, 0x2e, 0x5c, 0x70, 0xe3, 0x51, 0x94, 0x13, 0xb1, 0x60, 0x69, 0xc5, 0x6a, 0xed, 0x92, 0x32,
-	0xe1, 0x02, 0x66, 0x7a, 0xcf, 0x00, 0x33, 0xf0, 0x12, 0x30, 0xbc, 0x03, 0x6f, 0xc0, 0x35, 0x77,
-	0xbc, 0x02, 0xf7, 0x8c, 0x56, 0x72, 0x1c, 0xcb, 0x92, 0x2c, 0x97, 0x0b, 0x6e, 0x6c, 0x69, 0x77,
-	0xcf, 0x39, 0xdf, 0xf9, 0xce, 0xd9, 0xf3, 0x09, 0x1e, 0xbb, 0x9c, 0xbb, 0x3d, 0x34, 0x5c, 0xde,
-	0xb3, 0x7d, 0xd7, 0xe0, 0xc2, 0x35, 0x5d, 0xf4, 0x03, 0xc1, 0x25, 0x37, 0xe3, 0x2d, 0x3b, 0x60,
-	0xa1, 0xe9, 0x71, 0x9f, 0x49, 0x2e, 0x98, 0xef, 0x9a, 0x83, 0xb6, 0xe9, 0xa1, 0x14, 0xcc, 0xe9,
-	0x86, 0x28, 0x06, 0xcc, 0x41, 0x43, 0x9d, 0xa6, 0x37, 0x12, 0x4f, 0xa3, 0xa3, 0xc6, 0xa0, 0xad,
-	0x1d, 0x94, 0xf3, 0x6f, 0x07, 0xcc, 0x4c, 0xdc, 0x39, 0xdc, 0x3f, 0x65, 0xae, 0x69, 0xfb, 0x3e,
-	0x97, 0xb6, 0x64, 0xdc, 0x0f, 0xe3, 0x00, 0xda, 0x76, 0x79, 0x57, 0x31, 0xc0, 0xe4, 0x2f, 0x31,
-	0xff, 0x70, 0x06, 0xf3, 0x38, 0x05, 0x3c, 0x11, 0x18, 0x8e, 0x5e, 0xba, 0x02, 0x43, 0xde, 0x17,
-	0xc3, 0x84, 0xb5, 0xb7, 0x5f, 0x84, 0x3a, 0x87, 0x7b, 0x1e, 0xf7, 0xff, 0x8d, 0x87, 0xb1, 0xa4,
-	0xda, 0x2e, 0x93, 0x9f, 0xf6, 0x8f, 0x0d, 0x87, 0x7b, 0x66, 0xec, 0xc5, 0x54, 0x1b, 0xc7, 0xfd,
-	0x53, 0x33, 0x90, 0x67, 0x01, 0x86, 0x26, 0x7a, 0x81, 0x3c, 0x8b, 0x7f, 0x67, 0x23, 0x52, 0x04,
-	0x8e, 0x19, 0x4a, 0x5b, 0xf6, 0xc3, 0xe4, 0x2f, 0x36, 0xd7, 0xbf, 0x23, 0xb0, 0x71, 0xc8, 0x42,
-	0xf9, 0xfe, 0x90, 0x18, 0x2b, 0xe1, 0x65, 0x0f, 0x43, 0x47, 0xb0, 0x40, 0x72, 0x11, 0x5a, 0xf8,
-	0x45, 0x1f, 0x43, 0x49, 0x29, 0x2c, 0xf8, 0xb6, 0x87, 0xb5, 0x2b, 0x75, 0xd2, 0x58, 0xb1, 0xd4,
-	0x33, 0xad, 0xc2, 0xe2, 0x29, 0xeb, 0x49, 0x14, 0xb5, 0x39, 0xb5, 0x9a, 0xbc, 0xd1, 0x57, 0x60,
-	0x25, 0xb0, 0x5d, 0xec, 0x86, 0xec, 0x19, 0xd6, 0xe6, 0xeb, 0xa4, 0x71, 0xc5, 0x5a, 0x8e, 0x16,
-	0x3a, 0xec, 0x19, 0xd2, 0x75, 0x00, 0xb5, 0x29, 0xf9, 0xe7, 0xe8, 0xd7, 0x16, 0x94, 0xa1, 0x3a,
-	0xfe, 0x24, 0x5a, 0xd0, 0x7f, 0x21, 0xd0, 0x98, 0x8e, 0x29, 0x0c, 0xb8, 0x1f, 0x22, 0xfd, 0x04,
-	0x6e, 0x0c, 0x4b, 0xd9, 0x3d, 0x19, 0xed, 0xd7, 0x48, 0x7d, 0xbe, 0x51, 0x69, 0x6d, 0x18, 0x09,
-	0x3d, 0x76, 0xc0, 0x8c, 0x02, 0x7f, 0xd6, 0x75, 0x31, 0x19, 0x83, 0xbe, 0x0e, 0xff, 0xf7, 0xf1,
-	0x4b, 0xd9, 0xbd, 0x04, 0x36, 0xce, 0xf2, 0x6a, 0xb4, 0x7c, 0x74, 0x01, 0xf8, 0x3e, 0xdc, 0x7e,
-	0x17, 0x8b, 0xe0, 0xa6, 0x19, 0x9c, 0x1f, 0x31, 0xa8, 0x3f, 0x27, 0x70, 0x4b, 0x65, 0xab, 0x5a,
-	0xe1, 0x3f, 0xa4, 0xfd, 0x07, 0x02, 0xeb, 0x39, 0x40, 0x12, 0xae, 0xdf, 0x03, 0x9a, 0x4c, 0x8b,
-	0x49, 0xa6, 0x6f, 0x8d, 0x31, 0x9d, 0x72, 0x61, 0x5d, 0xf3, 0xd2, 0x4e, 0x4b, 0x93, 0xbb, 0x09,
-	0x5a, 0x44, 0x6e, 0xda, 0x63, 0x01, 0xa3, 0x5f, 0xc3, 0xfa, 0x23, 0x81, 0xb6, 0xc4, 0x19, 0x8c,
-	0xe8, 0x01, 0x5c, 0x9b, 0xc8, 0x4d, 0x01, 0x9a, 0x96, 0xda, 0x5a, 0x3a, 0x35, 0xbd, 0x0d, 0xeb,
-	0x7b, 0xd8, 0xc3, 0x99, 0xe2, 0xeb, 0x3f, 0xcd, 0xc3, 0xcd, 0x88, 0xfd, 0x27, 0xcc, 0xc3, 0x0e,
-	0x0a, 0x86, 0x13, 0xf5, 0x87, 0x12, 0xf5, 0x7f, 0x08, 0xcb, 0xcc, 0x97, 0x28, 0x06, 0x76, 0x4f,
-	0x15, 0xb8, 0xd2, 0xd2, 0x8d, 0xac, 0x51, 0x6e, 0x44, 0x61, 0x0e, 0x92, 0x93, 0xd6, 0x85, 0x0d,
-	0x7d, 0x04, 0x15, 0xdb, 0x75, 0x05, 0xba, 0x6a, 0x58, 0xab, 0x96, 0xab, 0xb4, 0x5e, 0xcb, 0x76,
-	0xb1, 0x33, 0x3a, 0x68, 0x5d, 0xb6, 0xa2, 0x2f, 0xc3, 0x32, 0x17, 0x27, 0x28, 0xba, 0xc7, 0x67,
-	0xb5, 0x45, 0x05, 0x6f, 0x49, 0xbd, 0xef, 0x9e, 0xd1, 0x0f, 0x60, 0x61, 0xc0, 0xf0, 0x69, 0x6d,
-	0xa9, 0x4e, 0x1a, 0xab, 0xad, 0xad, 0x6c, 0xc7, 0x99, 0x34, 0x18, 0xa3, 0x95, 0x8f, 0x19, 0x3e,
-	0xb5, 0x94, 0x9f, 0xf1, 0x7e, 0x5f, 0x2e, 0xec, 0xf7, 0x95, 0x74, 0xbf, 0x6f, 0xc0, 0xea, 0xb8,
-	0x4f, 0xba, 0x0c, 0x0b, 0xef, 0x7c, 0x74, 0x78, 0xb8, 0xf6, 0x3f, 0x5a, 0x81, 0xa5, 0xc7, 0xfb,
-	0x3b, 0x7b, 0xfb, 0x56, 0x67, 0x8d, 0xe8, 0xdf, 0x12, 0xa8, 0xa6, 0x31, 0x25, 0x37, 0x62, 0x07,
-	0x2a, 0x92, 0x79, 0x18, 0xa9, 0x27, 0xc3, 0xe1, 0x55, 0xa8, 0xe7, 0x53, 0x9e, 0x98, 0x83, 0xbc,
-	0x78, 0x2e, 0x7d, 0x0f, 0x02, 0x78, 0x29, 0xee, 0xea, 0xfc, 0x0e, 0xb9, 0xdc, 0xcf, 0x29, 0x64,
-	0x73, 0xb3, 0x23, 0x8b, 0x26, 0xd3, 0xcd, 0x74, 0xc8, 0x7d, 0x21, 0xb8, 0x98, 0x4c, 0x9b, 0xcc,
-	0x9c, 0x76, 0x13, 0x16, 0x63, 0x21, 0x4a, 0x2e, 0x19, 0x1d, 0x5a, 0x8b, 0xc0, 0x31, 0x3a, 0x6a,
-	0xc7, 0x4a, 0x4e, 0xb4, 0xfe, 0x06, 0xb8, 0x1a, 0xdf, 0xa5, 0x4e, 0xfc, 0x59, 0x41, 0xff, 0x24,
-	0x50, 0x9f, 0x26, 0x11, 0x74, 0x3b, 0xbf, 0xbd, 0x4a, 0xc8, 0x9d, 0xf6, 0xf0, 0x45, 0xcd, 0xe3,
-	0xde, 0xd0, 0xb7, 0xbe, 0xf9, 0xe3, 0xaf, 0xef, 0xe7, 0xee, 0xd1, 0x56, 0x24, 0xf4, 0x5f, 0x45,
-	0x45, 0xd9, 0x0e, 0x04, 0xff, 0x0c, 0x1d, 0x19, 0x9a, 0xcd, 0xf3, 0xd1, 0xa7, 0x48, 0x16, 0xf4,
-	0xdf, 0x09, 0xbc, 0x5a, 0x2c, 0x29, 0xf4, 0x7e, 0x36, 0xbc, 0x52, 0x42, 0xa4, 0x95, 0xd5, 0x45,
-	0xfd, 0x81, 0x4a, 0xe2, 0x2d, 0x7a, 0x2f, 0x2b, 0x89, 0xc2, 0x1c, 0xcc, 0xe6, 0x39, 0xfd, 0x8d,
-	0xc4, 0x43, 0x6d, 0x42, 0x52, 0x68, 0xab, 0x80, 0xdc, 0x1c, 0x21, 0xd4, 0xda, 0x33, 0xd9, 0x24,
-	0x55, 0x30, 0x55, 0x02, 0x6f, 0xd0, 0x8d, 0x9c, 0x2a, 0x4c, 0x20, 0xfb, 0x99, 0xc0, 0xf5, 0x0c,
-	0xc1, 0xa1, 0x9b, 0xf9, 0x7c, 0x67, 0x8f, 0x79, 0xad, 0x50, 0x37, 0xf4, 0x96, 0x02, 0x76, 0x97,
-	0x36, 0xb3, 0x99, 0x4d, 0xe3, 0x32, 0x9b, 0xcd, 0x73, 0xfa, 0x2b, 0x81, 0x6a, 0xb6, 0xb4, 0xd1,
-	0x1c, 0x72, 0x0a, 0x85, 0x70, 0x0a, 0xc2, 0x5d, 0x85, 0xf0, 0x81, 0x5e, 0x96, 0xba, 0xad, 0x49,
-	0x05, 0x8d, 0xd8, 0xac, 0x66, 0x8b, 0x61, 0x1e, 0xe2, 0x42, 0xe9, 0xd4, 0xaa, 0x43, 0xa3, 0xe1,
-	0x97, 0xb1, 0xb1, 0x1f, 0x7d, 0x0c, 0x0f, 0xd9, 0x6c, 0xce, 0xc2, 0xe6, 0x8f, 0x04, 0x56, 0xc7,
-	0xe7, 0x3a, 0xbd, 0x33, 0x83, 0x22, 0x69, 0x77, 0xcb, 0x1d, 0x4e, 0x1a, 0xb1, 0xa1, 0x10, 0xea,
-	0xb4, 0x9e, 0xcd, 0xe6, 0xa5, 0xd1, 0xf8, 0x9c, 0xc0, 0x5a, 0x7a, 0xee, 0xd2, 0x37, 0x8b, 0xea,
-	0x3b, 0x89, 0x2d, 0x8f, 0xa7, 0x3b, 0x0a, 0xc5, 0x6d, 0x7d, 0x2a, 0x8a, 0x2d, 0xd2, 0xdc, 0xdd,
-	0x84, 0x9a, 0xc3, 0xbd, 0xcc, 0xc0, 0xbb, 0x74, 0x6c, 0x20, 0x1f, 0x45, 0x51, 0x8e, 0xc8, 0xf1,
-	0xa2, 0x0a, 0xd7, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x7f, 0x3a, 0xd0, 0x46, 0x8a, 0x0e, 0x00,
-	0x00,
+	// 1004 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x73, 0xdb, 0x44,
+	0x14, 0x47, 0x49, 0x9a, 0x38, 0xcf, 0xd3, 0x90, 0x6e, 0xdb, 0x60, 0x44, 0xc3, 0x18, 0xcd, 0x94,
+	0x04, 0xb7, 0x48, 0x19, 0xb9, 0xc3, 0x21, 0x6d, 0x3a, 0x24, 0x4d, 0xa0, 0x19, 0x02, 0x64, 0xe4,
+	0xc2, 0x81, 0x8b, 0x47, 0x71, 0x36, 0x62, 0xc1, 0xd6, 0x8a, 0xd5, 0xda, 0x10, 0x18, 0x38, 0xc0,
+	0x0c, 0x77, 0x06, 0x98, 0x81, 0x2f, 0x01, 0xc3, 0x77, 0xe0, 0x1b, 0x70, 0xe6, 0xc6, 0x57, 0xe0,
+	0xce, 0x6a, 0xb5, 0x8e, 0x63, 0xfd, 0xb3, 0x54, 0x0e, 0xbd, 0x58, 0xda, 0xb7, 0xfb, 0xde, 0xfe,
+	0xde, 0x6f, 0xdf, 0xbe, 0x9f, 0x0c, 0x8f, 0x3d, 0x4a, 0xbd, 0x3e, 0x36, 0x3d, 0xda, 0x77, 0x7d,
+	0xcf, 0xa4, 0xcc, 0xb3, 0x3c, 0xec, 0x07, 0x8c, 0x72, 0x6a, 0xc5, 0x53, 0x6e, 0x40, 0x42, 0x6b,
+	0x40, 0x7d, 0xc2, 0x29, 0x23, 0xbe, 0x67, 0x8d, 0xda, 0xd6, 0x00, 0x73, 0x46, 0x7a, 0xdd, 0x10,
+	0xb3, 0x11, 0xe9, 0x61, 0x53, 0xae, 0x46, 0x37, 0x54, 0xa4, 0xc9, 0x52, 0x73, 0xd4, 0xd6, 0x0f,
+	0xcb, 0xc5, 0x17, 0x3f, 0x96, 0x0a, 0xd7, 0xa3, 0xfe, 0x19, 0xf1, 0x2c, 0xd7, 0xf7, 0x29, 0x77,
+	0x39, 0xa1, 0x7e, 0x18, 0x6f, 0xa0, 0xef, 0x94, 0x0f, 0x15, 0x03, 0x54, 0x0f, 0xe5, 0xfe, 0x7e,
+	0x05, 0xf7, 0x38, 0x05, 0x7c, 0xca, 0x70, 0x38, 0x19, 0x74, 0xc5, 0x88, 0x0e, 0xd9, 0x38, 0x61,
+	0xfd, 0xcd, 0xa7, 0xa1, 0xae, 0x47, 0x07, 0xc2, 0xf0, 0x7f, 0x22, 0x4c, 0x25, 0xd5, 0xf6, 0x08,
+	0xff, 0x78, 0x78, 0x62, 0x8a, 0xb0, 0x56, 0x1c, 0xc5, 0x92, 0x13, 0x27, 0xc3, 0x33, 0x2b, 0xe0,
+	0xe7, 0x81, 0xc0, 0x8f, 0x07, 0xe2, 0x25, 0xfe, 0xad, 0x46, 0x24, 0x0b, 0x7a, 0x56, 0x28, 0x8e,
+	0x60, 0x18, 0xaa, 0x47, 0xec, 0x6e, 0xfc, 0xa0, 0xc1, 0xc6, 0x11, 0x09, 0xf9, 0xbb, 0x63, 0x62,
+	0x1c, 0xc5, 0xcb, 0x3e, 0x0e, 0x7b, 0x8c, 0x04, 0xc2, 0x16, 0x3a, 0xf8, 0xb3, 0x21, 0x0e, 0x39,
+	0x42, 0xb0, 0xe0, 0xbb, 0x03, 0xdc, 0xb8, 0xd2, 0xd4, 0x36, 0x97, 0x1d, 0xf9, 0x8e, 0xd6, 0x60,
+	0xf1, 0x8c, 0xf4, 0x39, 0x66, 0x8d, 0x39, 0x69, 0x55, 0x23, 0xf4, 0x12, 0x2c, 0x07, 0xae, 0x87,
+	0xbb, 0x21, 0xf9, 0x12, 0x37, 0xe6, 0xc5, 0xd4, 0x15, 0xa7, 0x16, 0x19, 0x3a, 0x62, 0x8c, 0xd6,
+	0x01, 0xe4, 0x24, 0xa7, 0x9f, 0x62, 0xbf, 0xb1, 0x20, 0x1d, 0xe5, 0xf2, 0x27, 0x91, 0xc1, 0xf8,
+	0x4d, 0x83, 0xcd, 0xd9, 0x98, 0xc2, 0x40, 0x54, 0x13, 0x46, 0x1f, 0xc1, 0x8d, 0xf1, 0x51, 0x76,
+	0x4f, 0x27, 0xf3, 0x0d, 0xad, 0x39, 0xbf, 0x59, 0xb7, 0x37, 0x4c, 0x45, 0x8f, 0x20, 0xc1, 0x2c,
+	0x88, 0xe7, 0x5c, 0x67, 0xe9, 0x3d, 0xd0, 0xab, 0xf0, 0xbc, 0x8f, 0xbf, 0xe0, 0xdd, 0x4b, 0x60,
+	0xe3, 0x2c, 0xaf, 0x46, 0xe6, 0xe3, 0x0b, 0xc0, 0xf7, 0xe1, 0xf6, 0xdb, 0xb8, 0x08, 0x6e, 0x92,
+	0xc1, 0xf9, 0x09, 0x83, 0xc6, 0xf7, 0x1a, 0xdc, 0x92, 0xd9, 0xca, 0x52, 0x78, 0x86, 0xb4, 0xff,
+	0xa4, 0xc1, 0x7a, 0x0e, 0x10, 0xc5, 0xf5, 0x3b, 0x80, 0x54, 0xb7, 0x48, 0x33, 0x7d, 0x6b, 0x8a,
+	0xe9, 0x44, 0x08, 0xe7, 0xda, 0x20, 0x19, 0xb4, 0x34, 0xb9, 0x5b, 0xa0, 0x47, 0xe4, 0x26, 0x23,
+	0x16, 0x30, 0xfa, 0x0d, 0xac, 0x3f, 0x62, 0xd8, 0xe5, 0xb8, 0x82, 0x13, 0x3a, 0x84, 0x6b, 0xa9,
+	0xdc, 0x24, 0xa0, 0x59, 0xa9, 0xad, 0x26, 0x53, 0x33, 0xda, 0xb0, 0xbe, 0x8f, 0xfb, 0xb8, 0xd2,
+	0xfe, 0xc6, 0x2f, 0xf3, 0x70, 0x33, 0x62, 0xff, 0x09, 0x19, 0xe0, 0x0e, 0x66, 0x04, 0xa7, 0xce,
+	0x1f, 0x4a, 0x9c, 0xff, 0x43, 0xa8, 0x11, 0x5f, 0xbc, 0x8c, 0xdc, 0xbe, 0x3c, 0xe0, 0xba, 0x6d,
+	0x98, 0x59, 0xad, 0xdc, 0x8c, 0xb6, 0x39, 0x54, 0x2b, 0x9d, 0x0b, 0x1f, 0xf4, 0x08, 0xea, 0xae,
+	0xe7, 0x31, 0xec, 0xc9, 0x66, 0x2d, 0x4b, 0xae, 0x6e, 0xbf, 0x92, 0x1d, 0x62, 0x77, 0xb2, 0xd0,
+	0xb9, 0xec, 0x85, 0x5e, 0x84, 0x1a, 0x65, 0xa7, 0x98, 0x75, 0x4f, 0xce, 0x1b, 0x8b, 0x12, 0xde,
+	0x92, 0x1c, 0xef, 0x9d, 0xa3, 0xf7, 0x60, 0x61, 0x44, 0xf0, 0xe7, 0x8d, 0x25, 0x61, 0x5e, 0xb1,
+	0xb7, 0xb3, 0x03, 0x67, 0xd2, 0x60, 0x4e, 0x2c, 0x1f, 0x8a, 0x08, 0x8e, 0x8c, 0x33, 0x5d, 0xef,
+	0xb5, 0xc2, 0x7a, 0x5f, 0x4e, 0xd6, 0xfb, 0x06, 0xac, 0x4c, 0xc7, 0x44, 0x35, 0x58, 0x78, 0xeb,
+	0x83, 0xa3, 0xa3, 0xd5, 0xe7, 0x50, 0x1d, 0x96, 0x1e, 0x1f, 0xec, 0xee, 0x1f, 0x38, 0x9d, 0x55,
+	0xcd, 0xf8, 0x4e, 0x83, 0xb5, 0x24, 0x26, 0x75, 0x23, 0x76, 0xa1, 0xce, 0x85, 0x35, 0x52, 0x4f,
+	0x61, 0x56, 0x57, 0xa1, 0x99, 0x4f, 0xb9, 0x72, 0x07, 0x7e, 0xf1, 0x5e, 0xfa, 0x1e, 0x04, 0xf0,
+	0x42, 0x5c, 0xd5, 0xf9, 0x15, 0x72, 0xb9, 0x9e, 0x13, 0xc8, 0xe6, 0xaa, 0x23, 0x8b, 0x3a, 0xd3,
+	0xcd, 0xe4, 0x96, 0x07, 0x8c, 0x51, 0x96, 0x4e, 0x5b, 0xab, 0x9c, 0x76, 0x0b, 0x16, 0x63, 0x21,
+	0x52, 0x97, 0x0c, 0x8d, 0xbd, 0x85, 0x52, 0x99, 0x1d, 0x39, 0xe3, 0xa8, 0x15, 0xf6, 0xbf, 0x00,
+	0x57, 0xe3, 0xbb, 0xd4, 0x89, 0x3f, 0x2b, 0xd0, 0xdf, 0x1a, 0x34, 0x67, 0x49, 0x04, 0xda, 0xc9,
+	0x2f, 0xaf, 0x12, 0x72, 0xa7, 0x3f, 0x7c, 0x5a, 0xf7, 0xb8, 0x36, 0x8c, 0xed, 0x6f, 0xff, 0xfa,
+	0xe7, 0xc7, 0xb9, 0x7b, 0xc8, 0x8e, 0x84, 0xfe, 0xab, 0xe8, 0x50, 0x76, 0x84, 0xe6, 0x7e, 0x82,
+	0x7b, 0x3c, 0xb4, 0x5a, 0x5f, 0x4f, 0x3e, 0x45, 0xb2, 0xa0, 0xff, 0xa9, 0xc1, 0xcb, 0xc5, 0x92,
+	0x82, 0xee, 0x67, 0xc3, 0x2b, 0x25, 0x44, 0x7a, 0x59, 0x5d, 0x34, 0x1e, 0xc8, 0x24, 0xde, 0x40,
+	0xf7, 0xb2, 0x92, 0x28, 0xcc, 0x41, 0xe4, 0x88, 0xfe, 0xd0, 0xe2, 0xa6, 0x96, 0x92, 0x14, 0x64,
+	0x17, 0x90, 0x9b, 0x23, 0x84, 0x7a, 0xbb, 0x92, 0x8f, 0x3a, 0x05, 0x4b, 0x26, 0xf0, 0x1a, 0xda,
+	0xc8, 0x39, 0x85, 0x14, 0xb2, 0x5f, 0x35, 0xb8, 0x9e, 0x21, 0x38, 0x68, 0x2b, 0x9f, 0xef, 0xec,
+	0x36, 0xaf, 0x17, 0xea, 0x86, 0x61, 0x4b, 0x60, 0x77, 0x51, 0x2b, 0x9b, 0xd9, 0x24, 0x2e, 0xab,
+	0x25, 0xf8, 0xfc, 0x5d, 0x74, 0xa2, 0x6c, 0x69, 0x43, 0x39, 0xe4, 0x14, 0x0a, 0xe1, 0x0c, 0x84,
+	0x7b, 0x12, 0xe1, 0x03, 0xa3, 0x2c, 0x75, 0xdb, 0x69, 0x05, 0x8d, 0xd8, 0x5c, 0xcb, 0x16, 0xc3,
+	0x3c, 0xc4, 0x85, 0xd2, 0xa9, 0xaf, 0x8d, 0x9d, 0xc6, 0x5f, 0xc6, 0xe6, 0x41, 0xf4, 0x31, 0x3c,
+	0x66, 0xb3, 0x55, 0x85, 0xcd, 0x9f, 0x35, 0x58, 0x99, 0xee, 0xeb, 0xe8, 0x4e, 0x05, 0x45, 0xd2,
+	0xef, 0x96, 0x5b, 0xac, 0x0a, 0x71, 0x53, 0x22, 0x34, 0x50, 0x33, 0x9b, 0xcd, 0x4b, 0xad, 0x51,
+	0xf4, 0xdd, 0xd5, 0x64, 0xdf, 0x45, 0xaf, 0x17, 0x9d, 0x6f, 0x1a, 0x5b, 0x1e, 0x4f, 0x77, 0x24,
+	0x8a, 0xdb, 0xc6, 0x4c, 0x14, 0xdb, 0x5a, 0x6b, 0x6f, 0x0b, 0x1a, 0xe2, 0xbf, 0x48, 0xe6, 0xc6,
+	0x7b, 0x68, 0xaa, 0x21, 0x1f, 0x47, 0xbb, 0x1c, 0x6b, 0x27, 0x8b, 0x72, 0xbb, 0xf6, 0x7f, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x7f, 0x3a, 0xd0, 0x46, 0x8a, 0x0e, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric_service.proto b/googleapis/monitoring/v3/metric_service.proto
index 94cdfc26..03b5c5aa 100644
--- a/googleapis/monitoring/v3/metric_service.proto
+++ b/googleapis/monitoring/v3/metric_service.proto
@@ -32,22 +32,22 @@ option java_package = "com.google.monitoring.v3";
 // Manages metric descriptors, monitored resource descriptors, and
 // time series data.
 service MetricService {
-  // Lists monitored resource descriptors that match a filter.
+  // Lists monitored resource descriptors that match a filter. This method does not require a Stackdriver account.
   rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
     option (google.api.http) = { get: "/v3/{name=projects/*}/monitoredResourceDescriptors" };
   }
 
-  // Gets a single monitored resource descriptor.
+  // Gets a single monitored resource descriptor. This method does not require a Stackdriver account.
   rpc GetMonitoredResourceDescriptor(GetMonitoredResourceDescriptorRequest) returns (google.api.MonitoredResourceDescriptor) {
     option (google.api.http) = { get: "/v3/{name=projects/*/monitoredResourceDescriptors/*}" };
   }
 
-  // Lists metric descriptors that match a filter.
+  // Lists metric descriptors that match a filter. This method does not require a Stackdriver account.
   rpc ListMetricDescriptors(ListMetricDescriptorsRequest) returns (ListMetricDescriptorsResponse) {
     option (google.api.http) = { get: "/v3/{name=projects/*}/metricDescriptors" };
   }
 
-  // Gets a single metric descriptor.
+  // Gets a single metric descriptor. This method does not require a Stackdriver account.
   rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
     option (google.api.http) = { get: "/v3/{name=projects/*/metricDescriptors/**}" };
   }
@@ -56,7 +56,7 @@ service MetricService {
   // User-created metric descriptors define
   // [custom metrics](/monitoring/custom-metrics).
   rpc CreateMetricDescriptor(CreateMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/metricDescriptors", body: "metric_descriptor" };
+    option (google.api.http) = { post: "/v3/{name=projects/*}/metricDescriptors" body: "metric_descriptor" };
   }
 
   // Deletes a metric descriptor. Only user-created
@@ -65,7 +65,7 @@ service MetricService {
     option (google.api.http) = { delete: "/v3/{name=projects/*/metricDescriptors/**}" };
   }
 
-  // Lists time series that match a filter.
+  // Lists time series that match a filter. This method does not require a Stackdriver account.
   rpc ListTimeSeries(ListTimeSeriesRequest) returns (ListTimeSeriesResponse) {
     option (google.api.http) = { get: "/v3/{name=projects/*}/timeSeries" };
   }
@@ -75,7 +75,7 @@ service MetricService {
   // If any time series could not be written, a corresponding failure message is
   // included in the error response.
   rpc CreateTimeSeries(CreateTimeSeriesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/timeSeries", body: "*" };
+    option (google.api.http) = { post: "/v3/{name=projects/*}/timeSeries" body: "*" };
   }
 }
 
diff --git a/googleapis/pubsub/v1/pubsub.pb.go b/googleapis/pubsub/v1/pubsub.pb.go
index 7b0071bd..c85d8c5b 100644
--- a/googleapis/pubsub/v1/pubsub.pb.go
+++ b/googleapis/pubsub/v1/pubsub.pb.go
@@ -3,7 +3,7 @@
 // DO NOT EDIT!
 
 /*
-Package v1 is a generated protocol buffer package.
+Package google_pubsub_v1 is a generated protocol buffer package.
 
 It is generated from these files:
 	google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto
@@ -32,7 +32,7 @@ It has these top-level messages:
 	ModifyAckDeadlineRequest
 	AcknowledgeRequest
 */
-package v1 // import "google.golang.org/genproto/googleapis/pubsub/v1"
+package google_pubsub_v1 // import "google.golang.org/genproto/googleapis/pubsub/v1"
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -77,7 +77,7 @@ func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 // it must contain either a non-empty data field, or at least one attribute.
 type PubsubMessage struct {
 	// The message payload. For JSON requests, the value of this field must be
-	// base64-encoded.
+	// [base64-encoded](https://tools.ietf.org/html/rfc4648).
 	Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
 	// Optional attributes for this message.
 	Attributes map[string]string `protobuf:"bytes,2,rep,name=attributes" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
@@ -263,6 +263,7 @@ type Subscription struct {
 	// deadline. To override this value for a given message, call
 	// `ModifyAckDeadline` with the corresponding `ack_id` if using
 	// pull.
+	// The maximum custom deadline you can specify is 600 seconds (10 minutes).
 	//
 	// For push delivery, this value is also used to set the request timeout for
 	// the call to the push endpoint.
@@ -270,7 +271,7 @@ type Subscription struct {
 	// If the subscriber never acknowledges the message, the Pub/Sub
 	// system will eventually redeliver the message.
 	//
-	// If this parameter is not set, the default value of 10 seconds is used.
+	// If this parameter is 0, a default value of 10 seconds is used.
 	AckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
 }
 
@@ -544,12 +545,13 @@ const _ = grpc.SupportPackageIsVersion3
 // Client API for Subscriber service
 
 type SubscriberClient interface {
-	// Creates a subscription to a given topic for a given subscriber.
+	// Creates a subscription to a given topic.
 	// If the subscription already exists, returns `ALREADY_EXISTS`.
 	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
 	//
 	// If the name is not provided in the request, the server will assign a random
-	// name for this subscription on the same project as the topic.
+	// name for this subscription on the same project as the topic. Note that
+	// for REST API requests, you must specify a name.
 	CreateSubscription(ctx context.Context, in *Subscription, opts ...grpc.CallOption) (*Subscription, error)
 	// Gets the configuration details of a subscription.
 	GetSubscription(ctx context.Context, in *GetSubscriptionRequest, opts ...grpc.CallOption) (*Subscription, error)
@@ -564,7 +566,8 @@ type SubscriberClient interface {
 	// Modifies the ack deadline for a specific message. This method is useful
 	// to indicate that more time is needed to process a message by the
 	// subscriber, or to make the message available for redelivery if the
-	// processing was interrupted.
+	// processing was interrupted. Note that this does not modify the
+	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
 	ModifyAckDeadline(ctx context.Context, in *ModifyAckDeadlineRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
 	// Acknowledges the messages associated with the `ack_ids` in the
 	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
@@ -671,12 +674,13 @@ func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushC
 // Server API for Subscriber service
 
 type SubscriberServer interface {
-	// Creates a subscription to a given topic for a given subscriber.
+	// Creates a subscription to a given topic.
 	// If the subscription already exists, returns `ALREADY_EXISTS`.
 	// If the corresponding topic doesn't exist, returns `NOT_FOUND`.
 	//
 	// If the name is not provided in the request, the server will assign a random
-	// name for this subscription on the same project as the topic.
+	// name for this subscription on the same project as the topic. Note that
+	// for REST API requests, you must specify a name.
 	CreateSubscription(context.Context, *Subscription) (*Subscription, error)
 	// Gets the configuration details of a subscription.
 	GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
@@ -691,7 +695,8 @@ type SubscriberServer interface {
 	// Modifies the ack deadline for a specific message. This method is useful
 	// to indicate that more time is needed to process a message by the
 	// subscriber, or to make the message available for redelivery if the
-	// processing was interrupted.
+	// processing was interrupted. Note that this does not modify the
+	// subscription-level `ackDeadlineSeconds` used for subsequent messages.
 	ModifyAckDeadline(context.Context, *ModifyAckDeadlineRequest) (*google_protobuf1.Empty, error)
 	// Acknowledges the messages associated with the `ack_ids` in the
 	// `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
@@ -1162,91 +1167,90 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1372 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0xdb, 0x6e, 0xd4, 0x46,
-	0x18, 0x96, 0x37, 0xe7, 0xdf, 0x9b, 0x26, 0x19, 0x51, 0x58, 0x96, 0x02, 0x89, 0xa1, 0x10, 0xb6,
-	0xb0, 0x86, 0x45, 0x55, 0x4b, 0x20, 0x20, 0x20, 0x08, 0xa5, 0x82, 0x36, 0x35, 0xa8, 0x17, 0xbd,
-	0xe8, 0xca, 0x6b, 0x0f, 0x1b, 0x13, 0x9f, 0xf0, 0x8c, 0x53, 0x42, 0x8b, 0x54, 0xd1, 0xaa, 0x52,
-	0xef, 0x4a, 0x7b, 0xd9, 0x5e, 0x54, 0xea, 0x55, 0x6f, 0xfb, 0x00, 0x55, 0xdf, 0xa1, 0xaf, 0xd0,
-	0x07, 0xa9, 0xe6, 0xe0, 0x5d, 0x7b, 0x6d, 0xef, 0x21, 0xa8, 0x37, 0x91, 0x77, 0xe6, 0x9f, 0xf9,
-	0xbe, 0xff, 0xf4, 0xcd, 0x4c, 0xe0, 0x46, 0x37, 0x08, 0xba, 0x2e, 0x6e, 0x76, 0x03, 0xd7, 0xf4,
-	0xbb, 0xcd, 0x20, 0xea, 0xea, 0x5d, 0xec, 0x87, 0x51, 0x40, 0x03, 0x5d, 0x4c, 0x99, 0xa1, 0x43,
-	0xf4, 0x30, 0xee, 0x90, 0xb8, 0xa3, 0xef, 0x5f, 0x91, 0x5f, 0x4d, 0x6e, 0x81, 0x96, 0xe5, 0x6a,
-	0x39, 0xb8, 0x7f, 0xa5, 0xbe, 0x3d, 0xde, 0x7e, 0x66, 0xe8, 0xe8, 0x04, 0x47, 0xfb, 0x8e, 0x85,
-	0xad, 0xc0, 0x7f, 0xe2, 0x74, 0x75, 0xd3, 0xf7, 0x03, 0x6a, 0x52, 0x27, 0xf0, 0x89, 0xd8, 0xbc,
-	0x7e, 0xb5, 0xeb, 0xd0, 0xdd, 0xb8, 0xd3, 0xb4, 0x02, 0x4f, 0x17, 0xdb, 0xe9, 0x7c, 0xa2, 0x13,
-	0x3f, 0xd1, 0x43, 0x7a, 0x10, 0x62, 0xa2, 0x63, 0x2f, 0xa4, 0x07, 0xe2, 0xaf, 0x5c, 0x74, 0x7d,
-	0xf4, 0x22, 0xea, 0x78, 0x98, 0x50, 0xd3, 0x0b, 0xfb, 0x5f, 0x62, 0xb1, 0x76, 0x02, 0x66, 0x1e,
-	0x07, 0xa1, 0x63, 0x21, 0x04, 0xd3, 0xbe, 0xe9, 0xe1, 0x9a, 0xb2, 0xaa, 0xac, 0x2f, 0x18, 0xfc,
-	0x5b, 0x7b, 0x5d, 0x81, 0xc5, 0x1d, 0xee, 0xe7, 0x43, 0x4c, 0x88, 0xd9, 0xc5, 0xcc, 0xca, 0x36,
-	0xa9, 0xc9, 0xad, 0xaa, 0x06, 0xff, 0x46, 0x9f, 0x00, 0x98, 0x94, 0x46, 0x4e, 0x27, 0xa6, 0x98,
-	0xd4, 0x2a, 0xab, 0x53, 0xeb, 0x6a, 0x4b, 0x6f, 0x0e, 0x86, 0xa9, 0x99, 0xd9, 0xa8, 0x79, 0xbb,
-	0xb7, 0xe2, 0x9e, 0x4f, 0xa3, 0x03, 0x23, 0xb5, 0x05, 0x3a, 0x09, 0xe0, 0x09, 0xb3, 0xb6, 0x63,
-	0xd7, 0xa6, 0x38, 0xa1, 0x05, 0x39, 0xb2, 0x6d, 0xa3, 0x4d, 0xa8, 0x86, 0x71, 0xc7, 0x75, 0xc8,
-	0x6e, 0x9b, 0x79, 0x53, 0x9b, 0x5e, 0x55, 0xd6, 0xd5, 0x56, 0xbd, 0x87, 0x28, 0x7d, 0x6f, 0x3e,
-	0x4e, 0x5c, 0x35, 0x54, 0x69, 0xcf, 0x46, 0xea, 0x9b, 0xb0, 0x34, 0x00, 0x8e, 0x96, 0x61, 0x6a,
-	0x0f, 0x1f, 0x48, 0xd7, 0xd9, 0x27, 0x3a, 0x02, 0x33, 0xfb, 0xa6, 0x1b, 0xe3, 0x5a, 0x85, 0x8f,
-	0x89, 0x1f, 0x1b, 0x95, 0x0f, 0x15, 0xed, 0x3c, 0x2c, 0xdd, 0xc7, 0x94, 0xc7, 0xcc, 0xc0, 0xcf,
-	0x62, 0x4c, 0x28, 0x33, 0xa6, 0xec, 0xb7, 0xdc, 0x40, 0xfc, 0xd0, 0x2c, 0x78, 0x6b, 0x47, 0xc0,
-	0x0e, 0xb5, 0x43, 0xd7, 0x61, 0x5e, 0xfa, 0x96, 0x04, 0xef, 0xf4, 0x88, 0xe0, 0x19, 0xbd, 0x05,
-	0x5a, 0x0b, 0x96, 0x7a, 0x20, 0x24, 0x0c, 0x7c, 0x82, 0xd1, 0x69, 0x50, 0xfb, 0xd1, 0x23, 0x35,
-	0x65, 0x75, 0x6a, 0x7d, 0xc1, 0x80, 0x5e, 0xf8, 0x88, 0xe6, 0xc0, 0xca, 0x03, 0x87, 0x08, 0x17,
-	0x48, 0xc2, 0xad, 0x06, 0x73, 0x61, 0x14, 0x3c, 0xc5, 0x16, 0x95, 0xec, 0x92, 0x9f, 0xe8, 0x04,
-	0x2c, 0x84, 0x6c, 0x33, 0xe2, 0xbc, 0x10, 0xe1, 0x98, 0x31, 0xe6, 0xd9, 0xc0, 0x23, 0xe7, 0x05,
-	0x66, 0xa9, 0xe2, 0x93, 0x34, 0xd8, 0xc3, 0x7e, 0x92, 0x2a, 0x36, 0xf2, 0x98, 0x0d, 0x68, 0x1e,
-	0xa0, 0x34, 0x94, 0x64, 0xa8, 0xc3, 0x2c, 0x77, 0x5d, 0x90, 0x53, 0x5b, 0xc7, 0xf2, 0xfe, 0x8a,
-	0xf8, 0x4a, 0x33, 0x74, 0x0e, 0x96, 0x7c, 0xfc, 0x9c, 0xb6, 0x53, 0x50, 0x22, 0x2f, 0x8b, 0x6c,
-	0x78, 0xa7, 0x07, 0xf7, 0x0c, 0x4e, 0xf6, 0xe0, 0x1e, 0xc5, 0x1d, 0x62, 0x45, 0x4e, 0xc8, 0xdb,
-	0x6b, 0x78, 0x06, 0xde, 0xc4, 0x43, 0x1f, 0x4e, 0x95, 0x41, 0x4a, 0x6f, 0xcf, 0xc2, 0x22, 0x49,
-	0x4f, 0xc8, 0x8c, 0x64, 0x07, 0xc7, 0x76, 0xb1, 0x01, 0x68, 0x0b, 0xbb, 0x98, 0xe2, 0x31, 0x2a,
-	0xf0, 0x0f, 0x05, 0xaa, 0x69, 0x4e, 0x45, 0x3d, 0xde, 0x5f, 0x5a, 0x49, 0x87, 0x64, 0x13, 0xd4,
-	0x30, 0x26, 0xbb, 0x6d, 0xa1, 0x54, 0xb2, 0xc5, 0xde, 0x29, 0xaa, 0x4b, 0xb2, 0x7b, 0x97, 0xdb,
-	0x18, 0x10, 0xf6, 0xbe, 0xd1, 0x65, 0x38, 0x62, 0x5a, 0x7b, 0x6d, 0x1b, 0x9b, 0xb6, 0xeb, 0xf8,
-	0xb8, 0x4d, 0x98, 0xe4, 0xd9, 0xa4, 0x36, 0xc3, 0x83, 0x8b, 0x4c, 0x6b, 0x6f, 0x4b, 0x4e, 0x3d,
-	0x12, 0x33, 0xda, 0x5f, 0x0a, 0x40, 0x7f, 0x33, 0x74, 0x06, 0x16, 0x39, 0x3e, 0xf6, 0xed, 0x30,
-	0x70, 0xfc, 0xa4, 0x28, 0xab, 0x6c, 0xf0, 0x9e, 0x1c, 0x43, 0x0f, 0x0a, 0x84, 0xe7, 0xe2, 0x30,
-	0x8e, 0xc3, 0x54, 0xe7, 0x4d, 0x75, 0xc1, 0x82, 0x25, 0x03, 0x5b, 0xd8, 0xd9, 0xc7, 0x76, 0x22,
-	0x96, 0x6f, 0xc3, 0x2c, 0x8b, 0x82, 0x63, 0x27, 0x69, 0x31, 0xad, 0xbd, 0x6d, 0x1b, 0x5d, 0x83,
-	0x39, 0xd9, 0x8d, 0x7c, 0x97, 0x31, 0xfa, 0x3d, 0xb1, 0xd7, 0x6e, 0xc0, 0xd1, 0xfb, 0x98, 0xa6,
-	0x73, 0x9a, 0x54, 0x80, 0x06, 0xd5, 0x74, 0x41, 0x25, 0xf1, 0x4a, 0x8f, 0x69, 0x21, 0xd4, 0x58,
-	0xad, 0x16, 0x76, 0xc6, 0xff, 0xd3, 0xff, 0x3f, 0x28, 0x70, 0xbc, 0x00, 0x52, 0x76, 0xc6, 0x56,
-	0x51, 0x67, 0xa8, 0xad, 0x53, 0xf9, 0x70, 0x64, 0x3c, 0x3e, 0x64, 0xe7, 0xdc, 0x82, 0xe3, 0xa2,
-	0x73, 0x0e, 0x1b, 0xbe, 0xaf, 0xe1, 0xd8, 0xc3, 0xc0, 0x76, 0x9e, 0x1c, 0xa4, 0x8a, 0x7e, 0xfc,
-	0xe5, 0x83, 0x2d, 0x55, 0x99, 0xac, 0xa5, 0xb4, 0x6f, 0x15, 0x50, 0x77, 0x62, 0xd7, 0x9d, 0x04,
-	0xf2, 0x12, 0xa0, 0x08, 0xd3, 0x38, 0xf2, 0xdb, 0x8e, 0xe7, 0x61, 0xdb, 0x31, 0x29, 0x76, 0x0f,
-	0x38, 0xf2, 0xbc, 0xb1, 0x22, 0x66, 0xb6, 0xfb, 0x13, 0x68, 0x0d, 0xaa, 0x9e, 0xf9, 0xbc, 0xdd,
-	0x3b, 0x8d, 0xa6, 0x78, 0xb2, 0x55, 0xcf, 0x7c, 0xfe, 0x30, 0x39, 0x6f, 0xbe, 0x80, 0xaa, 0x20,
-	0x21, 0x53, 0xf8, 0x31, 0xac, 0x44, 0xb2, 0xea, 0xfb, 0xeb, 0x44, 0x1a, 0xd7, 0xf2, 0xae, 0x0d,
-	0x34, 0x88, 0xb1, 0x1c, 0x65, 0x07, 0x08, 0x2b, 0x98, 0x9a, 0x08, 0xf2, 0xed, 0xbe, 0x46, 0x4c,
-	0xe2, 0xf2, 0x31, 0x98, 0x13, 0x3d, 0x47, 0x6a, 0xd3, 0x5c, 0x67, 0x67, 0x79, 0xd3, 0x91, 0x52,
-	0x49, 0x9a, 0x2a, 0x95, 0xa4, 0x4f, 0x01, 0xdd, 0xb6, 0xf6, 0xfc, 0xe0, 0x4b, 0x17, 0xdb, 0xdd,
-	0xc3, 0x92, 0xa8, 0xa4, 0x49, 0xb4, 0xfe, 0x5e, 0x00, 0x90, 0xe5, 0xd7, 0xc1, 0x11, 0xfa, 0x5e,
-	0x01, 0x74, 0x37, 0xc2, 0x66, 0xb6, 0x26, 0xd1, 0x88, 0x06, 0xa8, 0x8f, 0x98, 0xd7, 0x2e, 0xbf,
-	0xfa, 0xe7, 0xdf, 0x9f, 0x2b, 0x8d, 0xfa, 0xbb, 0xec, 0xf2, 0xfa, 0x15, 0x53, 0xf9, 0x4d, 0xd9,
-	0xcc, 0x44, 0x6f, 0xe8, 0x99, 0xee, 0xd1, 0x1b, 0x2f, 0x37, 0x94, 0x06, 0xfa, 0x49, 0xe1, 0xb7,
-	0x9a, 0x0c, 0x8b, 0xf5, 0x3c, 0x4a, 0xb1, 0xf6, 0x8c, 0xe4, 0xf3, 0x3e, 0xe7, 0xa3, 0xa3, 0x4b,
-	0x9c, 0x4f, 0x1a, 0x7f, 0x18, 0x2f, 0xf4, 0xab, 0x22, 0x2e, 0x2a, 0x19, 0xf1, 0x40, 0x8d, 0x3c,
-	0x58, 0x99, 0xa8, 0xd5, 0xdf, 0x1b, 0xcb, 0x56, 0x94, 0xb2, 0xd6, 0xe4, 0x2c, 0xd7, 0xd1, 0x39,
-	0xce, 0x52, 0x12, 0x4b, 0x11, 0x7c, 0x99, 0x65, 0x88, 0x7e, 0x54, 0x92, 0xa3, 0x38, 0x13, 0xb6,
-	0x02, 0xcc, 0x52, 0xd9, 0xa9, 0x1f, 0xcd, 0x5d, 0x5a, 0xef, 0xb1, 0x8b, 0x7d, 0x12, 0xb1, 0xc6,
-	0x84, 0x11, 0xfb, 0x5d, 0x81, 0x95, 0x5c, 0xf7, 0x14, 0x45, 0xac, 0xac, 0xc5, 0x4a, 0x09, 0x7d,
-	0xc4, 0x09, 0x6d, 0x69, 0xb7, 0x26, 0x22, 0xb4, 0xe1, 0x0d, 0xe2, 0xb0, 0x62, 0x7b, 0xad, 0x80,
-	0x9a, 0x6a, 0x2c, 0x74, 0x36, 0xcf, 0x2f, 0xdf, 0x77, 0xa5, 0xcc, 0xb6, 0x38, 0xb3, 0x9b, 0xda,
-	0xb5, 0xc9, 0x98, 0x99, 0x7d, 0x04, 0xc6, 0xe9, 0x3b, 0x05, 0xa6, 0x99, 0xb0, 0xa1, 0x93, 0x45,
-	0x82, 0xdc, 0x53, 0xdd, 0xa2, 0x52, 0x4f, 0xeb, 0xa1, 0xb6, 0xc9, 0xd9, 0x7c, 0xa0, 0xb5, 0x26,
-	0x63, 0x13, 0xc6, 0xae, 0xcb, 0x68, 0xfc, 0xa6, 0xc0, 0xf2, 0xe0, 0x19, 0x83, 0x2e, 0x94, 0xe5,
-	0x2f, 0x77, 0x0e, 0x95, 0x06, 0x69, 0x9b, 0xd3, 0xba, 0xab, 0xdd, 0x3c, 0x4c, 0xfa, 0xfa, 0x30,
-	0x1b, 0x4a, 0xa3, 0xf5, 0xcb, 0x2c, 0x2c, 0xc8, 0x27, 0x07, 0x8e, 0xd0, 0x53, 0x50, 0x85, 0x80,
-	0x89, 0x47, 0x64, 0xd9, 0x4d, 0xbe, 0x5e, 0x36, 0xa1, 0x5d, 0xe0, 0xcc, 0xce, 0xd4, 0x4f, 0x15,
-	0x6a, 0x95, 0xb8, 0xff, 0x4b, 0x91, 0x7a, 0xa5, 0xc0, 0x9c, 0x44, 0x46, 0xab, 0x85, 0x57, 0xa6,
-	0xd4, 0x63, 0xab, 0xbe, 0x36, 0xc4, 0x42, 0x26, 0xab, 0xc5, 0xb1, 0x2f, 0x6a, 0xe7, 0x39, 0x36,
-	0xc7, 0x2a, 0x06, 0x97, 0xcf, 0x47, 0x46, 0x22, 0x80, 0xf9, 0xe4, 0xf9, 0x87, 0xd6, 0x0a, 0x15,
-	0x32, 0x7d, 0x31, 0x2f, 0xf7, 0xfb, 0x3c, 0xc7, 0x5e, 0x43, 0xa7, 0x47, 0x60, 0xa3, 0x6f, 0x14,
-	0x80, 0xfe, 0x1b, 0x0a, 0x9d, 0x29, 0x96, 0xb4, 0xcc, 0x63, 0xae, 0x7e, 0x76, 0xb8, 0x91, 0x74,
-	0x3f, 0x4b, 0xa1, 0x48, 0xf0, 0xe4, 0xf3, 0xeb, 0x4f, 0x05, 0x8e, 0x16, 0x3f, 0x72, 0x90, 0x3e,
-	0x04, 0xa9, 0x50, 0x92, 0x2f, 0x8f, 0xbf, 0x40, 0xd2, 0xcc, 0x9e, 0x1e, 0xe5, 0x91, 0x1a, 0x90,
-	0x67, 0x0a, 0x6a, 0xea, 0xa1, 0x54, 0x24, 0x32, 0xf9, 0x77, 0x54, 0x69, 0xff, 0xc8, 0x50, 0x35,
-	0x46, 0x65, 0xeb, 0xce, 0x67, 0x70, 0xc4, 0x0a, 0xbc, 0x1c, 0xd6, 0x1d, 0x55, 0x5c, 0xe8, 0x77,
-	0xd8, 0xb6, 0x3b, 0xca, 0xe7, 0xfa, 0x84, 0xff, 0x82, 0xea, 0xcc, 0xf2, 0xb9, 0xab, 0xff, 0x05,
-	0x00, 0x00, 0xff, 0xff, 0x16, 0x79, 0xf4, 0x8e, 0xbc, 0x12, 0x00, 0x00,
+	// 1360 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x4b, 0x6f, 0x1b, 0x55,
+	0x1b, 0xd6, 0xd8, 0xcd, 0xed, 0xb5, 0xf3, 0x25, 0x3d, 0xca, 0x97, 0xb8, 0x53, 0x72, 0x9b, 0x84,
+	0x26, 0x35, 0xad, 0x27, 0x75, 0x85, 0xa0, 0x69, 0xd3, 0xaa, 0x4d, 0x22, 0x14, 0xd4, 0x80, 0x71,
+	0xb2, 0xc6, 0x1a, 0xdb, 0x27, 0xce, 0x34, 0x9e, 0x4b, 0x7d, 0xc6, 0xa1, 0x01, 0x2a, 0xa1, 0x82,
+	0x90, 0xd8, 0x51, 0x58, 0xc2, 0x02, 0x89, 0x15, 0x5b, 0x7e, 0x00, 0xe2, 0x3f, 0xf0, 0x17, 0xf8,
+	0x11, 0x2c, 0x39, 0xb7, 0xb1, 0x67, 0x3c, 0x33, 0xbe, 0xa4, 0x62, 0x33, 0x9a, 0x39, 0x97, 0xf7,
+	0x79, 0xde, 0xdb, 0x33, 0xe7, 0xc0, 0x83, 0x86, 0xe3, 0x34, 0x9a, 0xb8, 0xd0, 0x70, 0x9a, 0x86,
+	0xdd, 0x28, 0x38, 0xad, 0x86, 0xde, 0xc0, 0xb6, 0xdb, 0x72, 0x3c, 0x47, 0x17, 0x53, 0x86, 0x6b,
+	0x12, 0xdd, 0x6d, 0x57, 0x49, 0xbb, 0xaa, 0x9f, 0xdf, 0x91, 0x6f, 0x05, 0xbe, 0x02, 0xcd, 0xca,
+	0xdd, 0x72, 0xf0, 0xfc, 0x8e, 0x7a, 0x30, 0x9c, 0x3d, 0xfa, 0xd0, 0x09, 0x6e, 0x9d, 0x9b, 0x35,
+	0x5c, 0x73, 0xec, 0x13, 0xb3, 0xa1, 0x1b, 0xb6, 0xed, 0x78, 0x86, 0x67, 0x3a, 0x36, 0x11, 0xc6,
+	0xd5, 0xbb, 0x0d, 0xd3, 0x3b, 0xa5, 0x56, 0x6b, 0x8e, 0xa5, 0x0b, 0x73, 0x3a, 0x9f, 0xa8, 0xb6,
+	0x4f, 0x74, 0xd7, 0xbb, 0x70, 0x31, 0xd1, 0xb1, 0x45, 0x5f, 0xc4, 0x53, 0x6e, 0xba, 0x3f, 0x78,
+	0x93, 0x67, 0x5a, 0x98, 0x78, 0x86, 0xe5, 0x76, 0xdf, 0xc4, 0x66, 0xed, 0x3a, 0x8c, 0x1d, 0x3b,
+	0xae, 0x59, 0x43, 0x08, 0xae, 0xd8, 0x86, 0x85, 0x73, 0xca, 0x8a, 0xb2, 0x39, 0x55, 0xe6, 0xef,
+	0xda, 0xeb, 0x14, 0x4c, 0x97, 0xb8, 0x9f, 0x87, 0x98, 0x10, 0xa3, 0x81, 0xd9, 0xaa, 0xba, 0xe1,
+	0x19, 0x7c, 0x55, 0xb6, 0xcc, 0xdf, 0xd1, 0xc7, 0x00, 0x86, 0xe7, 0xb5, 0xcc, 0x6a, 0xdb, 0xc3,
+	0x24, 0x97, 0x5a, 0x49, 0x6f, 0x66, 0x8a, 0x7a, 0xa1, 0x37, 0x4c, 0x85, 0x90, 0xa1, 0xc2, 0xe3,
+	0xce, 0x8e, 0x7d, 0xdb, 0x6b, 0x5d, 0x94, 0x03, 0x26, 0xd0, 0x22, 0x80, 0x25, 0x96, 0x55, 0xcc,
+	0x7a, 0x2e, 0xcd, 0x09, 0x4d, 0xc9, 0x91, 0x83, 0x3a, 0xda, 0x81, 0x2c, 0xb5, 0xda, 0x34, 0xc9,
+	0x69, 0x85, 0x79, 0x93, 0xbb, 0x42, 0x17, 0x64, 0x8a, 0x6a, 0x07, 0x51, 0xfa, 0x5e, 0x38, 0xf6,
+	0x5d, 0x2d, 0x67, 0xe4, 0x7a, 0x36, 0xa2, 0xee, 0xc0, 0x4c, 0x0f, 0x38, 0x9a, 0x85, 0xf4, 0x19,
+	0xbe, 0x90, 0xae, 0xb3, 0x57, 0x34, 0x07, 0x63, 0xe7, 0x46, 0xb3, 0x8d, 0xa9, 0x3b, 0x6c, 0x4c,
+	0x7c, 0x6c, 0xa7, 0xde, 0x57, 0xb4, 0x0d, 0x98, 0xf9, 0x00, 0x7b, 0x3c, 0x66, 0x65, 0xfc, 0xbc,
+	0x4d, 0x11, 0xd8, 0x62, 0x8f, 0x7d, 0x4b, 0x03, 0xe2, 0x43, 0xab, 0xc1, 0xff, 0x4a, 0x02, 0xb6,
+	0xef, 0x3a, 0x74, 0x1f, 0x26, 0xa5, 0x6f, 0x7e, 0xf0, 0x96, 0x07, 0x04, 0xaf, 0xdc, 0xd9, 0xa0,
+	0x15, 0x61, 0xa6, 0x03, 0x42, 0x5c, 0x5a, 0x48, 0x18, 0x2d, 0x43, 0xa6, 0x1b, 0x3d, 0x42, 0xb1,
+	0xd2, 0x14, 0x0b, 0x3a, 0xe1, 0x23, 0x9a, 0x09, 0x57, 0x9f, 0x9a, 0x44, 0xb8, 0x40, 0x7c, 0x6e,
+	0x39, 0x98, 0xa0, 0x81, 0x7b, 0x86, 0x6b, 0x9e, 0x64, 0xe7, 0x7f, 0xa2, 0xeb, 0x30, 0xe5, 0x32,
+	0x63, 0xc4, 0xfc, 0x5c, 0x84, 0x63, 0xac, 0x3c, 0xc9, 0x06, 0x8e, 0xe8, 0x37, 0x4b, 0x15, 0x9f,
+	0xf4, 0x9c, 0x33, 0x6c, 0xfb, 0xa9, 0x62, 0x23, 0xc7, 0x6c, 0x40, 0xb3, 0x00, 0x05, 0xa1, 0x24,
+	0x43, 0x1d, 0xc6, 0xb9, 0xeb, 0x82, 0x5c, 0xa6, 0xb8, 0x10, 0xf5, 0x57, 0xc4, 0x57, 0x2e, 0x43,
+	0x37, 0x60, 0xc6, 0xc6, 0x2f, 0xbc, 0x4a, 0x00, 0x4a, 0xe4, 0x65, 0x9a, 0x0d, 0x97, 0x3a, 0x70,
+	0xcf, 0x61, 0xb1, 0x03, 0x77, 0x44, 0x6d, 0xd5, 0x5a, 0xa6, 0xcb, 0xdb, 0xab, 0x7f, 0x06, 0xde,
+	0xc4, 0x43, 0x1b, 0x96, 0x92, 0x20, 0xa5, 0xb7, 0xeb, 0x30, 0x4d, 0x82, 0x13, 0x32, 0x23, 0xe1,
+	0xc1, 0xa1, 0x5d, 0xcc, 0x03, 0xda, 0xc3, 0x4d, 0xec, 0xe1, 0x21, 0x2a, 0xf0, 0x37, 0x05, 0xb2,
+	0x41, 0x4e, 0x71, 0x3d, 0xde, 0xdd, 0x9a, 0x0a, 0x86, 0x64, 0x07, 0x68, 0xcf, 0xd0, 0x06, 0x13,
+	0x4a, 0x25, 0x5b, 0xec, 0xad, 0xb8, 0xba, 0x24, 0xa7, 0xbb, 0x7c, 0x4d, 0x19, 0xdc, 0xce, 0x3b,
+	0xda, 0x82, 0x39, 0xa3, 0x76, 0x56, 0xa9, 0x63, 0xa3, 0xde, 0x34, 0x6d, 0x1a, 0x59, 0x26, 0x79,
+	0xb4, 0x18, 0xc7, 0x78, 0x70, 0x11, 0x9d, 0xdb, 0x93, 0x53, 0x47, 0x62, 0x46, 0xfb, 0x43, 0x01,
+	0xe8, 0x1a, 0x43, 0x6b, 0x30, 0xcd, 0xf1, 0xb1, 0x5d, 0x77, 0x1d, 0xd3, 0xf6, 0x8b, 0x32, 0xcb,
+	0x06, 0xf7, 0xe5, 0x18, 0x7a, 0x1a, 0x23, 0x3c, 0xb7, 0xfa, 0x71, 0xec, 0xa7, 0x3a, 0x6f, 0xaa,
+	0x0b, 0x35, 0x98, 0x29, 0xe3, 0x1a, 0x36, 0xcf, 0x71, 0xdd, 0x17, 0xcb, 0xff, 0xc3, 0x38, 0x8b,
+	0x02, 0xd5, 0x30, 0x99, 0x16, 0xfa, 0x45, 0xf5, 0xeb, 0x1e, 0x4c, 0xc8, 0x6e, 0xe4, 0x56, 0x86,
+	0xe8, 0x77, 0x7f, 0xbd, 0xf6, 0x00, 0xe6, 0xa9, 0xf8, 0x04, 0x73, 0xea, 0x57, 0x80, 0x06, 0xd9,
+	0x60, 0x41, 0xf9, 0xf1, 0x0a, 0x8e, 0x69, 0x2e, 0xe4, 0x58, 0xad, 0xc6, 0x76, 0xc6, 0x7f, 0xd3,
+	0xff, 0xdf, 0x29, 0x70, 0x2d, 0x06, 0x52, 0x76, 0xc6, 0x5e, 0x5c, 0x67, 0x64, 0x8a, 0x4b, 0xd1,
+	0x70, 0x84, 0x3c, 0xbe, 0x64, 0xe7, 0x3c, 0x82, 0x6b, 0xa2, 0x73, 0x2e, 0x1b, 0xbe, 0x2f, 0x61,
+	0xe1, 0xd0, 0xa9, 0x9b, 0x27, 0x17, 0x81, 0xa2, 0x1f, 0x7e, 0x7b, 0x6f, 0x4b, 0xa5, 0x46, 0x6b,
+	0x29, 0xed, 0x6b, 0x05, 0x32, 0xa5, 0x76, 0xb3, 0x39, 0x0a, 0xe4, 0x6d, 0x40, 0x2d, 0xec, 0xb5,
+	0x5b, 0x76, 0xc5, 0xb4, 0x2c, 0x5c, 0x37, 0x0d, 0x0f, 0x37, 0x2f, 0x38, 0xf2, 0x64, 0xf9, 0xaa,
+	0x98, 0x39, 0xe8, 0x4e, 0xa0, 0x55, 0xc8, 0x5a, 0xc6, 0x8b, 0x4a, 0xe7, 0x6f, 0x94, 0xe6, 0xc9,
+	0xce, 0xd0, 0xb1, 0x43, 0xff, 0x7f, 0xf3, 0x29, 0x64, 0x05, 0x09, 0x99, 0xc2, 0x8f, 0x80, 0xda,
+	0x11, 0x55, 0xdf, 0xdd, 0x27, 0xd2, 0xb8, 0x1a, 0x75, 0xad, 0xa7, 0x41, 0xca, 0xb3, 0xad, 0xf0,
+	0x00, 0x61, 0x05, 0x93, 0x13, 0x41, 0x7e, 0xdc, 0xd5, 0x88, 0x51, 0x5c, 0x5e, 0x80, 0x09, 0xd1,
+	0x73, 0x84, 0x8a, 0x16, 0xd3, 0xd9, 0x71, 0xde, 0x74, 0x24, 0x51, 0x92, 0xd2, 0x89, 0x92, 0xf4,
+	0x09, 0x20, 0x4a, 0xc2, 0x76, 0x3e, 0x6b, 0xe2, 0x7a, 0xe3, 0xb2, 0x24, 0x52, 0x41, 0x12, 0xc5,
+	0x3f, 0xa7, 0x00, 0x64, 0xf9, 0x55, 0x71, 0x0b, 0x7d, 0xab, 0x00, 0xda, 0x6d, 0x61, 0x23, 0x5c,
+	0x93, 0x68, 0x40, 0x03, 0xa8, 0x03, 0xe6, 0xb5, 0xad, 0x57, 0x7f, 0xfd, 0xfd, 0x63, 0x2a, 0xaf,
+	0xbe, 0xcd, 0x0e, 0xaf, 0x5f, 0x30, 0x95, 0xdf, 0x91, 0xcd, 0x4c, 0xf4, 0xbc, 0x1e, 0xea, 0x1e,
+	0x3d, 0xff, 0x72, 0x5b, 0xc9, 0xa3, 0x1f, 0x14, 0x7e, 0xaa, 0x09, 0xb1, 0xd8, 0x8c, 0xa2, 0xc4,
+	0x6b, 0xcf, 0x40, 0x3e, 0xef, 0x72, 0x3e, 0x3a, 0xba, 0xcd, 0xf9, 0x04, 0xf1, 0xfb, 0xf1, 0x42,
+	0x3f, 0x2b, 0xe2, 0xa0, 0x12, 0x12, 0x0f, 0x94, 0x8f, 0x82, 0x25, 0x89, 0x9a, 0xfa, 0xce, 0x50,
+	0x6b, 0x45, 0x29, 0x6b, 0x05, 0xce, 0x72, 0x13, 0xdd, 0xe0, 0x2c, 0x25, 0xb1, 0x00, 0xc1, 0x97,
+	0x61, 0x86, 0xe8, 0x7b, 0xc5, 0xff, 0x15, 0x87, 0xc2, 0x16, 0x83, 0x99, 0x28, 0x3b, 0xea, 0x7c,
+	0xe4, 0xd0, 0xba, 0xcf, 0x0e, 0xf6, 0x7e, 0xc4, 0xf2, 0x23, 0x46, 0xec, 0x57, 0x1a, 0xb1, 0x48,
+	0xf7, 0xc4, 0x45, 0x2c, 0xa9, 0xc5, 0x12, 0x09, 0x7d, 0xc8, 0x09, 0xed, 0x69, 0x8f, 0x46, 0x22,
+	0xb4, 0x6d, 0xf5, 0xe2, 0xb0, 0x62, 0x7b, 0x4d, 0x95, 0x2c, 0xd0, 0x58, 0x68, 0x3d, 0xca, 0x2f,
+	0xda, 0x77, 0x89, 0xcc, 0xf6, 0x38, 0xb3, 0x87, 0xda, 0xbd, 0xd1, 0x98, 0x19, 0x5d, 0x04, 0xc6,
+	0xe9, 0x1b, 0x05, 0xae, 0x30, 0x61, 0x43, 0x8b, 0x71, 0x82, 0xdc, 0x51, 0xdd, 0xb8, 0x52, 0x0f,
+	0xea, 0xa1, 0xb6, 0xc3, 0xd9, 0xbc, 0xa7, 0x15, 0x47, 0x63, 0xe3, 0x52, 0x1b, 0x8c, 0xc6, 0x2f,
+	0x0a, 0xcc, 0xf6, 0xfe, 0x63, 0xd0, 0xcd, 0xa4, 0xfc, 0x45, 0xfe, 0x43, 0x89, 0x41, 0x3a, 0xe0,
+	0xb4, 0x76, 0xb5, 0x87, 0x97, 0x49, 0x5f, 0x17, 0x86, 0x52, 0x2c, 0xfe, 0x34, 0x0e, 0x53, 0xf2,
+	0xca, 0x41, 0x15, 0xec, 0x19, 0x64, 0x84, 0x80, 0x89, 0x4b, 0x64, 0xd2, 0x49, 0x5e, 0x4d, 0x9a,
+	0xd0, 0x6e, 0x72, 0x66, 0x6b, 0xea, 0x52, 0xac, 0x56, 0x89, 0xf3, 0xbf, 0x14, 0xa9, 0x57, 0x0a,
+	0x4c, 0x48, 0x64, 0xb4, 0x12, 0x7b, 0x64, 0x0a, 0x5c, 0xb6, 0xd4, 0xd5, 0x3e, 0x2b, 0x64, 0xb2,
+	0x8a, 0x1c, 0xfb, 0x96, 0xb6, 0xc1, 0xb1, 0x39, 0x56, 0x3c, 0xb8, 0xbc, 0x3e, 0x32, 0x12, 0x0e,
+	0x4c, 0xfa, 0xd7, 0x3f, 0xb4, 0x1a, 0xab, 0x90, 0xc1, 0x83, 0x79, 0xb2, 0xdf, 0x1b, 0x1c, 0x7b,
+	0x15, 0x2d, 0x0f, 0xc0, 0x46, 0x5f, 0xd1, 0x83, 0x71, 0xf7, 0x0e, 0x85, 0xd6, 0xe2, 0x25, 0x2d,
+	0x74, 0x99, 0x53, 0xd7, 0xfb, 0x2f, 0x92, 0xee, 0x87, 0x29, 0xc4, 0x09, 0x9e, 0xbc, 0x7e, 0xfd,
+	0xae, 0xc0, 0x7c, 0xfc, 0x25, 0x07, 0xe9, 0x7d, 0x90, 0x62, 0x25, 0x79, 0x6b, 0xf8, 0x0d, 0x92,
+	0x66, 0xf8, 0xef, 0x91, 0x1c, 0xa9, 0x1e, 0x79, 0xf6, 0x20, 0x13, 0xb8, 0x28, 0xc5, 0x89, 0x4c,
+	0xf4, 0x1e, 0x95, 0xd8, 0x3f, 0x32, 0x54, 0xf9, 0x41, 0xd9, 0x7a, 0xb2, 0x09, 0x73, 0x35, 0xc7,
+	0x8a, 0x60, 0x3d, 0xc9, 0x88, 0x03, 0x7d, 0x89, 0x99, 0x2d, 0x29, 0xff, 0x28, 0x4a, 0x75, 0x9c,
+	0x43, 0xdc, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff, 0x87, 0x6f, 0x33, 0xa9, 0x8e, 0x12, 0x00, 0x00,
 }
diff --git a/googleapis/pubsub/v1/pubsub.proto b/googleapis/pubsub/v1/pubsub.proto
index 32a885e6..462e5276 100644
--- a/googleapis/pubsub/v1/pubsub.proto
+++ b/googleapis/pubsub/v1/pubsub.proto
@@ -1,4 +1,4 @@
-// Copyright (c) 2015, Google Inc.
+// Copyright 2016 Google Inc.
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
@@ -20,21 +20,22 @@ import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.prot
 import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
 import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
 
+option cc_enable_arenas = true;
 option java_multiple_files = true;
 option java_outer_classname = "PubsubProto";
 option java_package = "com.google.pubsub.v1";
 
-option go_package = "google.golang.org/genproto/googleapis/pubsub/v1";
 
 // The service that an application uses to manipulate subscriptions and to
 // consume messages from a subscription via the `Pull` method.
 service Subscriber {
-  // Creates a subscription to a given topic for a given subscriber.
+  // Creates a subscription to a given topic.
   // If the subscription already exists, returns `ALREADY_EXISTS`.
   // If the corresponding topic doesn't exist, returns `NOT_FOUND`.
   //
   // If the name is not provided in the request, the server will assign a random
-  // name for this subscription on the same project as the topic.
+  // name for this subscription on the same project as the topic. Note that
+  // for REST API requests, you must specify a name.
   rpc CreateSubscription(Subscription) returns (Subscription) {
     option (google.api.http) = { put: "/v1/{name=projects/*/subscriptions/*}" body: "*" };
   }
@@ -61,7 +62,8 @@ service Subscriber {
   // Modifies the ack deadline for a specific message. This method is useful
   // to indicate that more time is needed to process a message by the
   // subscriber, or to make the message available for redelivery if the
-  // processing was interrupted.
+  // processing was interrupted. Note that this does not modify the
+  // subscription-level `ackDeadlineSeconds` used for subsequent messages.
   rpc ModifyAckDeadline(ModifyAckDeadlineRequest) returns (google.protobuf.Empty) {
     option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:modifyAckDeadline" body: "*" };
   }
@@ -151,7 +153,7 @@ message Topic {
 // it must contain either a non-empty data field, or at least one attribute.
 message PubsubMessage {
   // The message payload. For JSON requests, the value of this field must be
-  // base64-encoded.
+  // [base64-encoded](https://tools.ietf.org/html/rfc4648).
   bytes data = 1;
 
   // Optional attributes for this message.
@@ -277,6 +279,7 @@ message Subscription {
   // deadline. To override this value for a given message, call
   // `ModifyAckDeadline` with the corresponding `ack_id` if using
   // pull.
+  // The maximum custom deadline you can specify is 600 seconds (10 minutes).
   //
   // For push delivery, this value is also used to set the request timeout for
   // the call to the push endpoint.
@@ -284,7 +287,7 @@ message Subscription {
   // If the subscriber never acknowledges the message, the Pub/Sub
   // system will eventually redeliver the message.
   //
-  // If this parameter is not set, the default value of 10 seconds is used.
+  // If this parameter is 0, a default value of 10 seconds is used.
   int32 ack_deadline_seconds = 5;
 }
 
diff --git a/googleapis/pubsub/v1beta2/pubsub.pb.go b/googleapis/pubsub/v1beta2/pubsub.pb.go
index 92bc196c..7b5cf958 100644
--- a/googleapis/pubsub/v1beta2/pubsub.pb.go
+++ b/googleapis/pubsub/v1beta2/pubsub.pb.go
@@ -1136,75 +1136,75 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 1118 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0xdb, 0x6e, 0xdb, 0x46,
-	0x13, 0x06, 0x25, 0x9f, 0x34, 0x94, 0x7f, 0xdb, 0x8b, 0xc4, 0x91, 0x95, 0x3f, 0xad, 0xc3, 0xa4,
-	0xae, 0x13, 0x20, 0x52, 0xa2, 0xb8, 0x40, 0x51, 0xf4, 0x64, 0x27, 0x46, 0x20, 0xa0, 0x46, 0x15,
-	0xda, 0x17, 0x45, 0x51, 0x44, 0xa0, 0xc8, 0xb5, 0xb4, 0x15, 0x45, 0x32, 0xdc, 0xa5, 0x6b, 0xe5,
-	0xae, 0x28, 0x8a, 0xf6, 0xaa, 0x8f, 0xd2, 0x57, 0xe8, 0x45, 0x1f, 0xa2, 0xaf, 0x53, 0x70, 0x77,
-	0x49, 0x91, 0x36, 0x57, 0xa6, 0x1d, 0xf4, 0x46, 0x20, 0x67, 0xe7, 0xf0, 0xcd, 0xec, 0x7c, 0xc3,
-	0x11, 0xec, 0x0f, 0x7d, 0x7f, 0xe8, 0xe2, 0xd6, 0xd0, 0x77, 0x2d, 0x6f, 0xd8, 0xf2, 0xc3, 0x61,
-	0x7b, 0x88, 0xbd, 0x20, 0xf4, 0x99, 0xdf, 0x16, 0x47, 0x56, 0x40, 0x68, 0x3b, 0x88, 0x06, 0x34,
-	0x1a, 0xb4, 0xcf, 0x9e, 0x0d, 0x30, 0xb3, 0x3a, 0xf2, 0xb5, 0xc5, 0xd5, 0xd0, 0x6d, 0xe9, 0x42,
-	0x0a, 0xa5, 0x4e, 0xf3, 0xf9, 0x90, 0xb0, 0x51, 0x34, 0x68, 0xd9, 0xfe, 0xa4, 0x2d, 0xbc, 0xb7,
-	0xb9, 0xfe, 0x20, 0x3a, 0x6d, 0x07, 0x6c, 0x1a, 0x60, 0xda, 0xc6, 0x93, 0x80, 0x4d, 0xc5, 0xaf,
-	0xf0, 0x65, 0xdc, 0x85, 0xc5, 0x13, 0x3f, 0x20, 0x36, 0x42, 0xb0, 0xe0, 0x59, 0x13, 0xdc, 0xd0,
-	0xb6, 0xb5, 0xdd, 0x9a, 0xc9, 0x9f, 0x8d, 0x7f, 0x34, 0x58, 0xed, 0xf1, 0x20, 0x47, 0x98, 0x52,
-	0x6b, 0x88, 0x63, 0x2d, 0xc7, 0x62, 0x16, 0xd7, 0xaa, 0x9b, 0xfc, 0x19, 0x9d, 0x00, 0x58, 0x8c,
-	0x85, 0x64, 0x10, 0x31, 0x4c, 0x1b, 0x95, 0xed, 0xea, 0xae, 0xde, 0xd9, 0x6b, 0x15, 0x62, 0x6c,
-	0xe5, 0xbc, 0xb5, 0xf6, 0x53, 0xb3, 0x43, 0x8f, 0x85, 0x53, 0x33, 0xe3, 0x07, 0xdd, 0x03, 0x98,
-	0x08, 0xb5, 0x3e, 0x71, 0x1a, 0x55, 0x8e, 0xaa, 0x26, 0x25, 0x5d, 0xa7, 0xf9, 0x05, 0xac, 0x5d,
-	0xb0, 0x46, 0xeb, 0x50, 0x1d, 0xe3, 0xa9, 0x4c, 0x20, 0x7e, 0x44, 0xb7, 0x60, 0xf1, 0xcc, 0x72,
-	0x23, 0xdc, 0xa8, 0x70, 0x99, 0x78, 0xf9, 0xac, 0xf2, 0xa9, 0x66, 0x7c, 0x0c, 0x6b, 0xaf, 0x30,
-	0xe3, 0x99, 0x9b, 0xf8, 0x6d, 0x84, 0x29, 0x8b, 0x95, 0x59, 0xfc, 0x2e, 0x1d, 0x88, 0x17, 0x63,
-	0x04, 0xff, 0xeb, 0x45, 0x03, 0x97, 0xd0, 0xd1, 0x5c, 0x3d, 0xf4, 0x35, 0xac, 0x48, 0x70, 0x49,
-	0x09, 0x1e, 0x96, 0x29, 0x81, 0x99, 0x5a, 0x19, 0x1d, 0x58, 0x4b, 0x23, 0xd1, 0xc0, 0xf7, 0x28,
-	0x46, 0x1f, 0x82, 0x3e, 0xab, 0x01, 0x6d, 0x68, 0xdb, 0xd5, 0xdd, 0x9a, 0x09, 0x69, 0x11, 0xa8,
-	0x41, 0x60, 0xe3, 0x1b, 0x42, 0x45, 0x1e, 0x34, 0x01, 0xd8, 0x80, 0xe5, 0x20, 0xf4, 0x7f, 0xc4,
-	0x36, 0x93, 0x10, 0x93, 0x57, 0x74, 0x17, 0x6a, 0x41, 0xec, 0x8c, 0x92, 0x77, 0xa2, 0x26, 0x8b,
-	0xe6, 0x4a, 0x2c, 0x38, 0x26, 0xef, 0x70, 0x5c, 0x70, 0x7e, 0xc8, 0xfc, 0x31, 0xf6, 0x92, 0x82,
-	0xc7, 0x92, 0x93, 0x58, 0x60, 0x84, 0x80, 0xb2, 0xa1, 0x24, 0xc2, 0x3d, 0x58, 0xe2, 0xf9, 0x0b,
-	0x70, 0x7a, 0xe7, 0xff, 0x8a, 0xa4, 0x45, 0xa5, 0xa5, 0x2e, 0xda, 0x81, 0x35, 0x0f, 0x9f, 0xb3,
-	0x7e, 0x26, 0x9e, 0xb8, 0xa1, 0xd5, 0x58, 0xdc, 0x4b, 0x63, 0xbe, 0x85, 0x7b, 0x69, 0xcc, 0xe3,
-	0x68, 0x40, 0xed, 0x90, 0x04, 0x8c, 0xf8, 0x1e, 0x9d, 0x7f, 0x17, 0xef, 0x93, 0xa6, 0x07, 0x1f,
-	0xa8, 0x42, 0xca, 0x94, 0x1f, 0xc2, 0x2a, 0xcd, 0x1e, 0xc8, 0x6b, 0xc9, 0x0b, 0x4b, 0xa7, 0xf8,
-	0x18, 0xd0, 0x4b, 0xec, 0x62, 0x86, 0x4b, 0xf4, 0xe2, 0x9f, 0x1a, 0xd4, 0xb3, 0x98, 0x8a, 0x38,
-	0x3b, 0x33, 0xad, 0x64, 0x4b, 0x72, 0x00, 0x7a, 0x10, 0xd1, 0x51, 0xdf, 0xf6, 0xbd, 0x53, 0x32,
-	0x6c, 0x2c, 0x6c, 0x6b, 0xbb, 0x7a, 0xe7, 0xbe, 0xb2, 0x43, 0xe9, 0xe8, 0x05, 0x57, 0x34, 0x21,
-	0x48, 0x9f, 0xd1, 0x53, 0xb8, 0x65, 0xd9, 0xe3, 0xbe, 0x83, 0x2d, 0xc7, 0x25, 0x1e, 0xee, 0x53,
-	0x6c, 0xfb, 0x9e, 0x43, 0x1b, 0x8b, 0xbc, 0xc2, 0xc8, 0xb2, 0xc7, 0x2f, 0xe5, 0xd1, 0xb1, 0x38,
-	0x31, 0xfe, 0xd6, 0x00, 0x66, 0xce, 0xd0, 0x03, 0x58, 0xe5, 0x20, 0xb0, 0xe7, 0x04, 0x3e, 0xf1,
-	0x92, 0xf6, 0xac, 0xc7, 0xc2, 0x43, 0x29, 0x43, 0xaf, 0x0b, 0xa6, 0xc9, 0xb3, 0x2b, 0x81, 0xce,
-	0x1b, 0x25, 0xef, 0x3b, 0x2b, 0x46, 0xb0, 0x66, 0x62, 0x1b, 0x93, 0x33, 0xec, 0x24, 0x63, 0xf0,
-	0x36, 0x2c, 0xc5, 0xa5, 0x20, 0x4e, 0x72, 0x41, 0x96, 0x3d, 0xee, 0x3a, 0xe8, 0x4b, 0x58, 0x96,
-	0xe4, 0xe4, 0x5e, 0xca, 0xce, 0x80, 0xc4, 0xc8, 0xf8, 0x1c, 0x36, 0x5f, 0x61, 0x96, 0xbd, 0xe2,
-	0xa4, 0x21, 0x0c, 0xa8, 0x67, 0xfb, 0x2b, 0xa9, 0x5c, 0x56, 0x66, 0x04, 0xd0, 0x88, 0x5b, 0xb7,
-	0x90, 0x28, 0xff, 0xcd, 0x4c, 0xf8, 0x43, 0x83, 0xad, 0x82, 0x90, 0x92, 0x28, 0xdd, 0x22, 0xa2,
-	0xe8, 0x9d, 0x07, 0x8a, 0x9a, 0xe4, 0xd2, 0xbe, 0x21, 0x9b, 0xbe, 0x82, 0x2d, 0xc1, 0xa6, 0x9b,
-	0xd6, 0xf0, 0x67, 0x0d, 0xee, 0x1c, 0xf9, 0x0e, 0x39, 0x9d, 0x66, 0x48, 0x50, 0xde, 0xfe, 0x22,
-	0xcf, 0x2a, 0x37, 0xe0, 0x99, 0xf1, 0x8b, 0x06, 0x7a, 0x2f, 0x72, 0xdd, 0xeb, 0xc4, 0x7d, 0x02,
-	0x28, 0xc4, 0x2c, 0x0a, 0xbd, 0x3e, 0x99, 0x4c, 0xb0, 0x43, 0x2c, 0x86, 0xdd, 0x29, 0x0f, 0xbf,
-	0x62, 0x6e, 0x88, 0x93, 0xee, 0xec, 0x00, 0xdd, 0x87, 0xfa, 0xc4, 0x3a, 0xef, 0xa7, 0x5f, 0xac,
-	0x2a, 0xbf, 0x77, 0x7d, 0x62, 0x9d, 0x1f, 0x25, 0x9f, 0x23, 0x1b, 0xea, 0x02, 0x84, 0xbc, 0xcd,
-	0x63, 0xd8, 0x08, 0x25, 0x0b, 0x66, 0x76, 0xe2, 0x46, 0x77, 0x14, 0xf9, 0x5d, 0x60, 0x8d, 0xb9,
-	0x1e, 0xe6, 0x05, 0xd4, 0xf8, 0x4d, 0x83, 0x86, 0x28, 0xf7, 0xfe, 0x6c, 0x7a, 0x5c, 0x27, 0xef,
-	0x19, 0x11, 0x2b, 0x59, 0x22, 0xaa, 0x46, 0x55, 0x55, 0x39, 0xaa, 0x5e, 0x03, 0xda, 0xb7, 0xc7,
-	0x9e, 0xff, 0x93, 0x8b, 0x9d, 0xe1, 0xb5, 0x20, 0xdc, 0x81, 0x65, 0x01, 0x41, 0x4c, 0xab, 0x9a,
-	0xb9, 0xc4, 0x31, 0xd0, 0xce, 0xef, 0x4b, 0x00, 0xb2, 0x0f, 0x07, 0x38, 0x44, 0x6f, 0x00, 0xbd,
-	0x08, 0xb1, 0x95, 0xef, 0x4d, 0x54, 0x86, 0x0d, 0xcd, 0x32, 0x4a, 0x08, 0xf3, 0x95, 0x26, 0x27,
-	0x7a, 0xa2, 0xb0, 0x2b, 0x1e, 0x32, 0xe5, 0xc2, 0x9c, 0x89, 0x95, 0x23, 0x47, 0x79, 0xd4, 0x56,
-	0x58, 0xaa, 0xe6, 0x51, 0xf3, 0x69, 0x79, 0x03, 0xd9, 0x7f, 0x6f, 0x92, 0x0f, 0x65, 0x0e, 0x8d,
-	0xca, 0x8f, 0x72, 0x0a, 0x34, 0x37, 0x53, 0x0b, 0xb9, 0x1b, 0xb7, 0x0e, 0xe3, 0x75, 0x18, 0xfd,
-	0x00, 0x1b, 0x97, 0x3a, 0x51, 0x99, 0x97, 0xaa, 0x67, 0x95, 0xde, 0x7b, 0xa0, 0x67, 0xda, 0x0b,
-	0x3d, 0x52, 0xf8, 0xbd, 0xdc, 0x82, 0x4a, 0x8f, 0xdf, 0xc2, 0x42, 0xcc, 0x4f, 0x64, 0x28, 0x87,
-	0x4b, 0x3a, 0x41, 0x94, 0x17, 0x9b, 0x23, 0xf8, 0xf7, 0xb0, 0x7e, 0x71, 0xf2, 0xa1, 0xd6, 0xdc,
-	0xfc, 0x2f, 0x8d, 0x48, 0x15, 0xd8, 0xce, 0x5f, 0x0b, 0x50, 0x93, 0xcb, 0x2d, 0x0e, 0x51, 0x17,
-	0x74, 0xc1, 0x04, 0xf1, 0xcf, 0x63, 0xee, 0xce, 0xd8, 0x9c, 0x7b, 0x8a, 0xbe, 0x83, 0x65, 0xe9,
-	0x17, 0x7d, 0xa4, 0xfe, 0xd6, 0x66, 0xd6, 0xf7, 0xe6, 0xce, 0x55, 0x6a, 0xb2, 0x1c, 0x3d, 0x58,
-	0x49, 0xfe, 0x21, 0xa0, 0x1d, 0x35, 0x8f, 0xb2, 0x6b, 0xdb, 0x15, 0x58, 0x2d, 0x80, 0xd9, 0x06,
-	0x8d, 0x76, 0xe7, 0x30, 0x20, 0xb7, 0xcf, 0x37, 0x1f, 0x95, 0xd0, 0x94, 0xa0, 0x7f, 0xd5, 0x60,
-	0xb3, 0x78, 0x7d, 0x45, 0x7b, 0x57, 0x79, 0x29, 0xe4, 0xe9, 0x27, 0xd7, 0xb4, 0x4a, 0x8b, 0xa7,
-	0x67, 0xb6, 0x5a, 0x65, 0xbb, 0x5f, 0xde, 0x7c, 0x55, 0x1d, 0x74, 0xf0, 0x18, 0xb6, 0x6c, 0x7f,
-	0x52, 0xec, 0xe7, 0x40, 0x17, 0xfb, 0x54, 0x2f, 0x36, 0xe9, 0x69, 0x83, 0x25, 0x6e, 0xfb, 0xfc,
-	0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xb1, 0x50, 0xed, 0x6b, 0x0f, 0x00, 0x00,
+	// 1109 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0xdd, 0x6e, 0xdb, 0x36,
+	0x14, 0x86, 0xe2, 0xfc, 0xf9, 0xc8, 0x99, 0x13, 0xa2, 0x4d, 0x1d, 0x77, 0xdd, 0x5a, 0xb5, 0xcb,
+	0xd2, 0x02, 0xb5, 0x5b, 0x37, 0x03, 0x86, 0x61, 0x7f, 0x49, 0x1b, 0x0c, 0x06, 0x16, 0xcc, 0x55,
+	0x72, 0x31, 0x0c, 0x43, 0x0d, 0xd9, 0x62, 0x64, 0x2d, 0xb2, 0xa4, 0x8a, 0x74, 0x56, 0xef, 0x6e,
+	0x18, 0x86, 0xed, 0x6a, 0x8f, 0xb2, 0x57, 0xd8, 0xc5, 0x1e, 0x62, 0xaf, 0x33, 0x8a, 0xa4, 0x64,
+	0x29, 0x11, 0x1d, 0x25, 0x45, 0x6f, 0x0c, 0xf2, 0xf0, 0xfc, 0x9f, 0xf3, 0x1d, 0x1d, 0xc3, 0x9e,
+	0x13, 0x04, 0x8e, 0x87, 0x5b, 0x4e, 0xe0, 0x59, 0xbe, 0xd3, 0x0a, 0x22, 0xa7, 0xed, 0x60, 0x3f,
+	0x8c, 0x02, 0x1a, 0xb4, 0xc5, 0x93, 0x15, 0xba, 0xa4, 0x1d, 0x4e, 0x06, 0x64, 0x32, 0x68, 0x9f,
+	0x3d, 0x1d, 0x60, 0x6a, 0x75, 0xe4, 0xb5, 0xc5, 0xd9, 0xd0, 0x4d, 0xa9, 0x42, 0x12, 0x25, 0x4f,
+	0xf3, 0x99, 0xe3, 0xd2, 0x11, 0xbb, 0x0f, 0x83, 0x71, 0x5b, 0x68, 0x6f, 0x73, 0xfe, 0xc1, 0xe4,
+	0xa4, 0x1d, 0xd2, 0x69, 0x88, 0x49, 0x1b, 0x8f, 0xd9, 0x41, 0xfc, 0x0a, 0x5d, 0xc6, 0x6d, 0x58,
+	0x3a, 0x0e, 0x42, 0x77, 0x88, 0x10, 0x2c, 0xfa, 0xd6, 0x18, 0x37, 0xb4, 0xbb, 0xda, 0x4e, 0xd5,
+	0xe4, 0x67, 0xe3, 0x3f, 0x0d, 0xd6, 0x7a, 0xdc, 0xc8, 0x21, 0x26, 0xc4, 0x72, 0x70, 0xcc, 0x65,
+	0x5b, 0xd4, 0xe2, 0x5c, 0x35, 0x93, 0x9f, 0xd1, 0x31, 0x80, 0x45, 0x69, 0xe4, 0x0e, 0x26, 0x14,
+	0x93, 0xc6, 0xc2, 0xdd, 0xca, 0x8e, 0xde, 0xd9, 0x6d, 0x15, 0xfa, 0xd8, 0xca, 0x69, 0x6b, 0xed,
+	0xa5, 0x62, 0x07, 0x3e, 0x8d, 0xa6, 0x66, 0x46, 0x0f, 0xba, 0x03, 0x30, 0x16, 0x6c, 0x7d, 0xd7,
+	0x6e, 0x54, 0xb8, 0x57, 0x55, 0x49, 0xe9, 0xda, 0xcd, 0x2f, 0xa0, 0x7e, 0x4e, 0x1a, 0xad, 0x43,
+	0xe5, 0x14, 0x4f, 0x65, 0x00, 0xf1, 0x11, 0xdd, 0x80, 0xa5, 0x33, 0xcb, 0x9b, 0x60, 0xe6, 0x54,
+	0x4c, 0x13, 0x97, 0xcf, 0x16, 0x3e, 0xd5, 0x8c, 0x8f, 0xa1, 0xfe, 0x0d, 0xa6, 0x3c, 0x72, 0x13,
+	0xbf, 0x9e, 0x60, 0x42, 0x63, 0x66, 0x1a, 0xdf, 0xa5, 0x02, 0x71, 0x31, 0x46, 0xf0, 0x1e, 0xf3,
+	0xd9, 0x73, 0xc9, 0x68, 0x2e, 0x1f, 0xfa, 0x1a, 0x56, 0xa5, 0x73, 0x49, 0x0a, 0x1e, 0x94, 0x49,
+	0x81, 0x99, 0x4a, 0x19, 0x1d, 0xa8, 0xa7, 0x96, 0x48, 0x18, 0xf8, 0x04, 0xa3, 0x0f, 0x41, 0x9f,
+	0xe5, 0x80, 0x30, 0x83, 0x15, 0x66, 0x10, 0xd2, 0x24, 0x10, 0xc3, 0x85, 0x8d, 0x6f, 0x5d, 0x22,
+	0xe2, 0x20, 0x89, 0x83, 0x0d, 0x58, 0x61, 0xb5, 0xfd, 0x09, 0x0f, 0xa9, 0x74, 0x31, 0xb9, 0xa2,
+	0xdb, 0x50, 0x0d, 0x63, 0x65, 0xc4, 0xfd, 0x45, 0xe4, 0x64, 0xc9, 0x5c, 0x8d, 0x09, 0x47, 0xec,
+	0x1e, 0x27, 0x9c, 0x3f, 0xd2, 0xe0, 0x14, 0xfb, 0x49, 0xc2, 0x63, 0xca, 0x71, 0x4c, 0x30, 0x22,
+	0x40, 0x59, 0x53, 0xd2, 0xc3, 0x5d, 0x58, 0xe6, 0xf1, 0x0b, 0xe7, 0xf4, 0xce, 0xfb, 0x8a, 0xa0,
+	0x45, 0xa6, 0x25, 0x2f, 0xda, 0x86, 0xba, 0x8f, 0xdf, 0xd0, 0x7e, 0xc6, 0x9e, 0xa8, 0xd0, 0x5a,
+	0x4c, 0xee, 0xa5, 0x36, 0x5f, 0xc3, 0x9d, 0xd4, 0xe6, 0x11, 0x53, 0x38, 0x8c, 0xdc, 0x90, 0xba,
+	0xcc, 0xf0, 0xfc, 0x5a, 0xbc, 0x4d, 0x98, 0x3e, 0x7c, 0xa0, 0x32, 0x29, 0x43, 0x7e, 0x00, 0x6b,
+	0x24, 0xfb, 0x20, 0xcb, 0x92, 0x27, 0x96, 0x0e, 0xf1, 0x11, 0xa0, 0x17, 0xd8, 0xc3, 0x14, 0x97,
+	0xe8, 0xc5, 0xbf, 0x35, 0xa8, 0x65, 0x7d, 0x2a, 0xc2, 0xec, 0x4c, 0x74, 0x21, 0x9b, 0x92, 0x7d,
+	0xd0, 0xc3, 0x09, 0x19, 0xf5, 0x87, 0x81, 0x7f, 0xe2, 0x3a, 0x8d, 0x45, 0xf6, 0xa6, 0x77, 0xee,
+	0x29, 0x3b, 0x94, 0x8c, 0x9e, 0x73, 0x46, 0x13, 0xc2, 0xf4, 0x8c, 0x9e, 0xc0, 0x0d, 0x6b, 0x78,
+	0xda, 0xb7, 0xb1, 0x65, 0x7b, 0xae, 0xcf, 0xd2, 0x8b, 0x99, 0x36, 0xd6, 0x96, 0x4b, 0x3c, 0xc3,
+	0x88, 0xbd, 0xbd, 0x90, 0x4f, 0x47, 0xe2, 0xc5, 0xf8, 0x57, 0x03, 0x98, 0x29, 0x43, 0xf7, 0x61,
+	0x8d, 0x3b, 0x81, 0x7d, 0x3b, 0x0c, 0x5c, 0x3f, 0x69, 0xcf, 0x5a, 0x4c, 0x3c, 0x90, 0x34, 0xf4,
+	0xb2, 0x60, 0x9a, 0x3c, 0xbd, 0xd4, 0xd1, 0x79, 0xa3, 0xe4, 0x6d, 0x67, 0xc5, 0x08, 0xea, 0x26,
+	0x1e, 0x62, 0xf7, 0x0c, 0xdb, 0xc9, 0x18, 0xbc, 0x09, 0xcb, 0x71, 0x2a, 0xd8, 0x60, 0x92, 0x05,
+	0x62, 0xb7, 0xae, 0x8d, 0xbe, 0x84, 0x15, 0x09, 0x4e, 0xae, 0xa5, 0xec, 0x0c, 0x48, 0x84, 0x8c,
+	0xcf, 0x61, 0x93, 0x4d, 0xa5, 0x6c, 0x89, 0x93, 0x86, 0x30, 0xa0, 0x96, 0xed, 0xaf, 0x24, 0x73,
+	0x59, 0x9a, 0x11, 0x42, 0x23, 0x6e, 0xdd, 0x42, 0xa0, 0xbc, 0x9b, 0x99, 0xf0, 0x97, 0x06, 0x5b,
+	0x05, 0x26, 0x25, 0x50, 0xba, 0x45, 0x40, 0xd1, 0x3b, 0xf7, 0x15, 0x39, 0xc9, 0x85, 0x7d, 0x4d,
+	0x34, 0x7d, 0x05, 0x5b, 0x02, 0x4d, 0xd7, 0xcd, 0xe1, 0xaf, 0x1a, 0xdc, 0x3a, 0x0c, 0x6c, 0xf7,
+	0x64, 0x9a, 0x01, 0x41, 0x79, 0xf9, 0xf3, 0x38, 0x5b, 0xb8, 0x06, 0xce, 0x8c, 0xdf, 0x34, 0xd0,
+	0x7b, 0x13, 0xcf, 0xbb, 0x8a, 0xdd, 0xc7, 0x80, 0x22, 0x4c, 0x27, 0x91, 0xdf, 0x77, 0xc7, 0x63,
+	0x6c, 0xbb, 0x16, 0xc5, 0xde, 0x94, 0x9b, 0x5f, 0x35, 0x37, 0xc4, 0x4b, 0x77, 0xf6, 0x80, 0xee,
+	0x41, 0x6d, 0x6c, 0xbd, 0xe9, 0xa7, 0x5f, 0xac, 0x0a, 0xaf, 0xbb, 0xce, 0x68, 0x87, 0xc9, 0xe7,
+	0x68, 0x08, 0x35, 0xe1, 0x84, 0xac, 0xe6, 0x11, 0x30, 0x3d, 0x02, 0x05, 0x33, 0x39, 0x51, 0xd1,
+	0x6d, 0x45, 0x7c, 0xe7, 0x50, 0x63, 0xae, 0x47, 0x79, 0x02, 0x31, 0xfe, 0xd0, 0xa0, 0x21, 0xd2,
+	0xbd, 0x37, 0x9b, 0x1e, 0x57, 0x89, 0x7b, 0x06, 0xc4, 0x85, 0x2c, 0x10, 0x55, 0xa3, 0xaa, 0xa2,
+	0x1c, 0x55, 0x2f, 0x01, 0x31, 0x17, 0xfc, 0xe0, 0x67, 0x0f, 0xdb, 0xce, 0x95, 0x5c, 0xb8, 0x05,
+	0x2b, 0xc2, 0x05, 0x31, 0xad, 0xaa, 0xe6, 0x32, 0xf7, 0x81, 0x74, 0xfe, 0x5c, 0x06, 0x90, 0x7d,
+	0x38, 0xc0, 0x11, 0x7a, 0x05, 0xe8, 0x79, 0x84, 0xad, 0x7c, 0x6f, 0xa2, 0x32, 0x68, 0x68, 0x96,
+	0x61, 0x42, 0x98, 0xaf, 0x34, 0x39, 0xd2, 0x63, 0x85, 0x5c, 0xf1, 0x90, 0x29, 0x67, 0xe6, 0x4c,
+	0xac, 0x1c, 0x39, 0xc8, 0xa3, 0xb6, 0x42, 0x52, 0x35, 0x8f, 0x9a, 0x4f, 0xca, 0x0b, 0xc8, 0xfe,
+	0x7b, 0x95, 0x7c, 0x28, 0x73, 0xde, 0xa8, 0xf4, 0x28, 0xa7, 0x40, 0x73, 0x33, 0x95, 0x90, 0xbb,
+	0x71, 0xeb, 0x20, 0x5e, 0x87, 0xd1, 0x8f, 0xb0, 0x71, 0xa1, 0x13, 0x95, 0x71, 0xa9, 0x7a, 0x56,
+	0xa9, 0xbd, 0x07, 0x7a, 0xa6, 0xbd, 0xd0, 0x43, 0x85, 0xde, 0x8b, 0x2d, 0xa8, 0xd4, 0xf8, 0x1d,
+	0x2c, 0xc6, 0xf8, 0x44, 0x86, 0x72, 0xb8, 0xa4, 0x13, 0x44, 0x59, 0xd8, 0x1c, 0xc0, 0x7f, 0x80,
+	0xf5, 0xf3, 0x93, 0x0f, 0xb5, 0xe6, 0xc6, 0x7f, 0x61, 0x44, 0xaa, 0x9c, 0xed, 0xfc, 0xb3, 0x08,
+	0x55, 0xb9, 0xdc, 0x32, 0x24, 0x74, 0x41, 0x17, 0x48, 0x10, 0xff, 0x3c, 0xe6, 0xee, 0x8c, 0xcd,
+	0xb9, 0xaf, 0xe8, 0x7b, 0x58, 0x91, 0x7a, 0xd1, 0x47, 0xea, 0x6f, 0x6d, 0x66, 0x7d, 0x6f, 0x6e,
+	0x5f, 0xc6, 0x26, 0xd3, 0xd1, 0x83, 0xd5, 0xe4, 0x1f, 0x02, 0xda, 0x56, 0xe3, 0x28, 0xbb, 0xb6,
+	0x5d, 0xe2, 0xab, 0x05, 0x30, 0xdb, 0xa0, 0xd1, 0xce, 0x1c, 0x04, 0xe4, 0xf6, 0xf9, 0xe6, 0xc3,
+	0x12, 0x9c, 0xd2, 0xe9, 0xdf, 0x35, 0xd8, 0x2c, 0x5e, 0x5f, 0xd1, 0xee, 0x65, 0x5a, 0x0a, 0x71,
+	0xfa, 0xc9, 0x15, 0xa5, 0xd2, 0xe4, 0xe9, 0x99, 0xad, 0x56, 0xd9, 0xee, 0x17, 0x37, 0x5f, 0x55,
+	0x07, 0xed, 0x3f, 0x82, 0x2d, 0xf6, 0xbf, 0xb6, 0x58, 0xcf, 0xbe, 0x2e, 0xf6, 0xa9, 0x5e, 0x2c,
+	0xd2, 0xd3, 0x06, 0xcb, 0x5c, 0xf6, 0xd9, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd9, 0xb1, 0x50,
+	0xed, 0x6b, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/code/code.pb.go b/googleapis/rpc/code/code.pb.go
index a65a8e7e..9efeff48 100644
--- a/googleapis/rpc/code/code.pb.go
+++ b/googleapis/rpc/code/code.pb.go
@@ -234,27 +234,27 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 349 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x90, 0xcd, 0x6e, 0x53, 0x41,
-	0x0c, 0x85, 0x69, 0x28, 0x69, 0xe3, 0xfc, 0xb9, 0x2e, 0x3f, 0x2b, 0x5e, 0x80, 0x45, 0xb2, 0x60,
-	0xc5, 0xd2, 0xb9, 0xe3, 0xb4, 0xa3, 0x4e, 0x3c, 0x57, 0x73, 0x67, 0x4a, 0x59, 0x8d, 0x4a, 0x1a,
-	0x5d, 0x21, 0x95, 0x4c, 0x14, 0x78, 0x37, 0x5e, 0x0f, 0x4d, 0x40, 0xea, 0xc6, 0x0b, 0x1f, 0x1f,
-	0xdb, 0xe7, 0x83, 0x2f, 0x7d, 0x29, 0xfd, 0xf3, 0x6e, 0xd1, 0x97, 0xe7, 0xc7, 0x7d, 0xbf, 0x28,
-	0xc7, 0x7e, 0xd9, 0xef, 0xf6, 0x87, 0x63, 0xf9, 0x5d, 0x96, 0xff, 0xa4, 0xc7, 0xc3, 0x8f, 0x5f,
-	0xcb, 0xe3, 0x61, 0xbb, 0xdc, 0x96, 0xa7, 0xdd, 0xa9, 0x2c, 0x4e, 0x32, 0xc1, 0x7f, 0xeb, 0xf1,
-	0xb0, 0xfd, 0xf4, 0x67, 0x00, 0xe7, 0x4d, 0x79, 0xda, 0xd1, 0x10, 0x06, 0xfe, 0x0e, 0x5f, 0xd1,
-	0x14, 0x46, 0x0d, 0x6b, 0x23, 0xce, 0x89, 0xc1, 0x33, 0x1a, 0xc3, 0x45, 0xd2, 0x3b, 0xf5, 0x5f,
-	0x15, 0x07, 0xf4, 0x16, 0xd0, 0xea, 0x3d, 0x3b, 0x6b, 0x32, 0x87, 0x9b, 0xb4, 0x11, 0x8d, 0xf8,
-	0x9a, 0xde, 0xc1, 0x95, 0x11, 0x36, 0xce, 0xaa, 0x64, 0x79, 0x68, 0x44, 0x8c, 0x18, 0x3c, 0xaf,
-	0x8b, 0xd4, 0xc7, 0xbc, 0xf6, 0x49, 0x0d, 0xbe, 0x21, 0x82, 0x19, 0xbb, 0x20, 0x6c, 0xbe, 0x65,
-	0x79, 0xb0, 0x5d, 0xec, 0x70, 0x58, 0x9d, 0xad, 0x84, 0x8d, 0xed, 0x3a, 0xeb, 0x35, 0x1b, 0x51,
-	0x2b, 0x06, 0x2f, 0xe8, 0x1a, 0xe6, 0x49, 0x39, 0xc5, 0x5b, 0xd1, 0x68, 0x1b, 0x8e, 0x62, 0x10,
-	0xe9, 0x3d, 0x50, 0x90, 0xce, 0xa7, 0xd0, 0xd4, 0x2b, 0xb7, 0x9c, 0xba, 0xda, 0xbf, 0xa4, 0x0f,
-	0x70, 0xbd, 0x66, 0xeb, 0xc4, 0xe4, 0x36, 0x48, 0xe3, 0xd5, 0xd8, 0x68, 0xbd, 0xe2, 0xa8, 0x7e,
-	0xce, 0x2b, 0x1f, 0xea, 0x14, 0x10, 0xc2, 0xc4, 0xa7, 0x98, 0xfd, 0x3a, 0x07, 0xd6, 0x1b, 0xc1,
-	0x31, 0x5d, 0xc1, 0x34, 0xa9, 0xdd, 0xb4, 0x4e, 0x6a, 0x0c, 0x31, 0x38, 0xa1, 0x09, 0x5c, 0x5a,
-	0x8d, 0x12, 0x94, 0x1d, 0x4e, 0x69, 0x0e, 0xe3, 0xa4, 0x7c, 0xcf, 0xd6, 0xf1, 0xca, 0x09, 0xce,
-	0x6a, 0x20, 0xc3, 0x91, 0xb3, 0xf3, 0x5d, 0x87, 0xf3, 0xd5, 0x47, 0x98, 0x6d, 0xcb, 0xcf, 0xc5,
-	0x0b, 0xcb, 0xd5, 0xa8, 0x82, 0x6c, 0x2b, 0xe2, 0xf6, 0xec, 0xfb, 0xf0, 0xc4, 0xfa, 0xf3, 0xdf,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0x09, 0x1c, 0xbe, 0x4d, 0xa8, 0x01, 0x00, 0x00,
+	// 344 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x50, 0xc9, 0x8e, 0x13, 0x31,
+	0x10, 0x65, 0xc2, 0x90, 0x99, 0x54, 0x36, 0x4f, 0x85, 0xe5, 0xc4, 0x0f, 0x70, 0xe8, 0x3e, 0x70,
+	0xe2, 0xe8, 0x6e, 0x3b, 0x89, 0x15, 0xa7, 0xdc, 0xf2, 0x12, 0xe0, 0x64, 0x85, 0x10, 0xb5, 0x90,
+	0x42, 0x1c, 0x05, 0xfe, 0x8d, 0xdf, 0xc3, 0x0e, 0x48, 0x73, 0xb1, 0xac, 0x7a, 0x4b, 0xbd, 0x7a,
+	0xf0, 0xa9, 0x4f, 0xa9, 0x3f, 0x1d, 0xab, 0x3e, 0x9d, 0xf6, 0xe7, 0xbe, 0x4a, 0xd7, 0xbe, 0xee,
+	0x8f, 0xe7, 0xcb, 0x35, 0xfd, 0x4e, 0xf5, 0x3f, 0x68, 0x7f, 0xf9, 0xf1, 0xab, 0xbe, 0x5e, 0x0e,
+	0xf5, 0x21, 0x7d, 0x3f, 0xde, 0x9e, 0xea, 0x06, 0x23, 0xfc, 0x97, 0x66, 0xec, 0xc3, 0x9f, 0x01,
+	0xdc, 0xb7, 0x19, 0xc2, 0x21, 0x0c, 0xcc, 0x86, 0xbd, 0xc0, 0x29, 0x8c, 0x5a, 0x4e, 0xad, 0xd4,
+	0x5a, 0x0a, 0x76, 0x87, 0x63, 0x78, 0x08, 0xb4, 0x21, 0xf3, 0x99, 0xd8, 0x00, 0x5f, 0x03, 0x53,
+	0xb4, 0xe3, 0x5a, 0x89, 0xc8, 0xed, 0x2a, 0x6c, 0x25, 0x79, 0xf6, 0x12, 0xdf, 0xc0, 0x93, 0x90,
+	0x5c, 0x68, 0x45, 0x32, 0xca, 0x2f, 0xad, 0x94, 0x22, 0x2b, 0xef, 0x8b, 0x11, 0x19, 0x1f, 0x97,
+	0x26, 0x90, 0x60, 0xaf, 0x10, 0x61, 0xc6, 0xb5, 0xcd, 0xbc, 0xaf, 0x99, 0xa4, 0x9c, 0x77, 0x6c,
+	0x58, 0x94, 0x9d, 0xb4, 0x5b, 0xe5, 0x9c, 0x32, 0x14, 0x85, 0x24, 0x95, 0x95, 0x0f, 0xb8, 0x80,
+	0x79, 0x20, 0x1e, 0xfc, 0x3a, 0xfb, 0xab, 0x96, 0xfb, 0x3c, 0x64, 0xf8, 0x16, 0xd0, 0x4a, 0x67,
+	0x82, 0x6d, 0xcb, 0x96, 0x35, 0x0f, 0xae, 0xcc, 0x1f, 0xf1, 0x1d, 0x2c, 0x96, 0x5c, 0xe5, 0xb0,
+	0xb1, 0xb3, 0xb2, 0x35, 0x24, 0x94, 0xcf, 0x66, 0x6c, 0x54, 0x92, 0xf3, 0xc6, 0xd8, 0xc2, 0x02,
+	0x64, 0x30, 0x31, 0xc1, 0x47, 0xb3, 0x8c, 0x96, 0xd3, 0x4a, 0xb2, 0x31, 0x3e, 0xc1, 0x34, 0x90,
+	0xda, 0x76, 0x5a, 0x96, 0x33, 0x32, 0x69, 0x82, 0x13, 0x78, 0x54, 0xf9, 0x6b, 0x89, 0x6b, 0x36,
+	0xc5, 0x39, 0x8c, 0x73, 0x8a, 0x5d, 0xf6, 0xe6, 0x8d, 0x96, 0x6c, 0x56, 0x0e, 0x12, 0xdc, 0xf3,
+	0xa8, 0x8d, 0x73, 0x6c, 0xde, 0xbc, 0x87, 0xd9, 0x21, 0xfd, 0xac, 0x9e, 0xbb, 0x6c, 0x46, 0xa5,
+	0xc8, 0xae, 0x54, 0xdc, 0xdd, 0x7d, 0x1b, 0xde, 0xba, 0xfe, 0xf8, 0x37, 0x00, 0x00, 0xff, 0xff,
+	0x09, 0x1c, 0xbe, 0x4d, 0xa8, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/error_details/error_details.pb.go b/googleapis/rpc/errdetails/error_details.pb.go
similarity index 77%
rename from googleapis/rpc/error_details/error_details.pb.go
rename to googleapis/rpc/errdetails/error_details.pb.go
index 687b80bb..4b3a3210 100644
--- a/googleapis/rpc/error_details/error_details.pb.go
+++ b/googleapis/rpc/errdetails/error_details.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/error_details/error_details.proto
+// source: google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto
 // DO NOT EDIT!
 
 /*
 Package google_rpc is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/error_details/error_details.proto
+	google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto
 
 It has these top-level messages:
 	RetryInfo
@@ -17,7 +17,7 @@ It has these top-level messages:
 	ResourceInfo
 	Help
 */
-package google_rpc // import "google.golang.org/genproto/googleapis/rpc/error_details"
+package google_rpc // import "google.golang.org/genproto/googleapis/rpc/errdetails"
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -252,42 +252,42 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/error_details/error_details.proto", fileDescriptor0)
+	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 519 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0x5d, 0x6f, 0xd3, 0x3e,
-	0x14, 0xc6, 0x95, 0xff, 0x5e, 0xfe, 0xca, 0x69, 0x19, 0xc3, 0x02, 0x54, 0x2a, 0x21, 0x95, 0xa0,
-	0x49, 0x95, 0x90, 0x1c, 0x69, 0x5c, 0xb1, 0xcb, 0xaa, 0xdb, 0x3a, 0x81, 0xa0, 0x44, 0x88, 0xdb,
-	0xc8, 0x4d, 0x4e, 0x83, 0x69, 0x1a, 0x07, 0xdb, 0x19, 0xea, 0xb7, 0xe0, 0x9e, 0x2f, 0xc0, 0xc7,
-	0x44, 0x7e, 0x49, 0x9b, 0xae, 0x37, 0xdc, 0xe5, 0x39, 0x79, 0xfc, 0xf3, 0x79, 0x6c, 0x1f, 0x78,
-	0x5f, 0x08, 0x51, 0x94, 0x48, 0x0b, 0x51, 0xb2, 0xaa, 0xa0, 0x42, 0x16, 0x71, 0x81, 0x55, 0x2d,
-	0x85, 0x16, 0xb1, 0xfb, 0xc5, 0x6a, 0xae, 0x62, 0x59, 0x67, 0x31, 0x4a, 0x29, 0x64, 0x9a, 0xa3,
-	0x66, 0xbc, 0x54, 0xfb, 0x8a, 0xda, 0x05, 0x04, 0x3c, 0x4c, 0xd6, 0xd9, 0xf0, 0x5d, 0xc1, 0xf5,
-	0xb7, 0x66, 0x41, 0x33, 0xb1, 0x8e, 0x1d, 0x3c, 0xb6, 0xa6, 0x45, 0xb3, 0x8c, 0x6b, 0xbd, 0xa9,
-	0x51, 0xc5, 0x79, 0x23, 0x99, 0xe6, 0xa2, 0xda, 0x7e, 0x38, 0x4c, 0x74, 0x0b, 0x61, 0x82, 0x5a,
-	0x6e, 0xee, 0xaa, 0xa5, 0x20, 0x57, 0xd0, 0x93, 0x46, 0xa4, 0x39, 0x96, 0x6c, 0x33, 0x08, 0x46,
-	0xc1, 0xb8, 0x77, 0xf9, 0x82, 0xfa, 0x9d, 0x5a, 0x24, 0x9d, 0x7a, 0x44, 0x02, 0xd6, 0x3d, 0x35,
-	0xe6, 0x68, 0x06, 0xe1, 0x14, 0x17, 0x4d, 0x61, 0x41, 0xaf, 0xe1, 0x91, 0xd2, 0x2c, 0x5b, 0xa5,
-	0x58, 0x69, 0xc9, 0x51, 0x0d, 0x82, 0xd1, 0xd1, 0x38, 0x4c, 0xfa, 0xb6, 0x78, 0xed, 0x6a, 0xe4,
-	0x39, 0x9c, 0xba, 0x48, 0x83, 0xff, 0x46, 0xc1, 0x38, 0x4c, 0xbc, 0x8a, 0x7e, 0x07, 0xd0, 0xff,
-	0xdc, 0x08, 0xcd, 0x6e, 0x18, 0x2f, 0x1b, 0x89, 0x64, 0x02, 0x70, 0xcf, 0x45, 0x69, 0xf7, 0x74,
-	0xa8, 0xde, 0x65, 0x44, 0x77, 0xf9, 0x69, 0xd7, 0x4d, 0xbf, 0xb6, 0xd6, 0xa4, 0xb3, 0x6a, 0x78,
-	0x0b, 0xe1, 0xf6, 0x07, 0x19, 0xc0, 0xff, 0xaa, 0x59, 0x7c, 0xc7, 0x4c, 0xdb, 0x8c, 0x61, 0xd2,
-	0x4a, 0x32, 0x82, 0x5e, 0x8e, 0x2a, 0x93, 0xbc, 0x36, 0x46, 0xdf, 0x58, 0xb7, 0x14, 0xfd, 0x09,
-	0x00, 0x26, 0x2c, 0x4f, 0xf0, 0x47, 0x83, 0x4a, 0x93, 0x39, 0x9c, 0x2f, 0x39, 0x96, 0x79, 0x7a,
-	0xd0, 0xe1, 0x45, 0xb7, 0xc3, 0xdd, 0x0a, 0x7a, 0x63, 0xec, 0xbb, 0x26, 0x1f, 0x2f, 0xf7, 0xb4,
-	0x1a, 0xce, 0xe0, 0x6c, 0xdf, 0x42, 0x9e, 0xc2, 0x89, 0x35, 0xf9, 0x66, 0x9d, 0xf8, 0x87, 0x56,
-	0x3f, 0x41, 0xcf, 0x6f, 0x6a, 0x2f, 0xe5, 0x25, 0x80, 0x74, 0x32, 0xe5, 0x2d, 0x2b, 0xf4, 0x95,
-	0xbb, 0x9c, 0xbc, 0x82, 0xbe, 0x42, 0x79, 0xcf, 0xab, 0x22, 0xcd, 0x99, 0x66, 0x2d, 0xd0, 0xd7,
-	0xa6, 0x4c, 0xb3, 0xe8, 0x57, 0x00, 0xfd, 0x04, 0x95, 0x68, 0x64, 0x86, 0xed, 0x3d, 0x4b, 0xaf,
-	0x53, 0xf3, 0xce, 0x3c, 0xb5, 0xdf, 0x16, 0xbf, 0x6c, 0x6a, 0xdc, 0x33, 0x55, 0x6c, 0x8d, 0x9e,
-	0xbc, 0x35, 0x7d, 0x64, 0x6b, 0x34, 0x19, 0xc5, 0xcf, 0x0a, 0xe5, 0xe0, 0xc8, 0x65, 0xb4, 0xe2,
-	0x61, 0xc6, 0xe3, 0xc3, 0x8c, 0x02, 0x8e, 0x67, 0x58, 0xd6, 0xe4, 0x0d, 0x9c, 0x94, 0xbc, 0x5a,
-	0xb5, 0x87, 0xff, 0xac, 0x7b, 0xf8, 0xc6, 0x40, 0x3f, 0xf0, 0x6a, 0x95, 0x38, 0xcf, 0xf0, 0x0a,
-	0x8e, 0x8d, 0x7c, 0x88, 0x0f, 0x0e, 0xf0, 0xe4, 0x1c, 0x8e, 0x1a, 0xd9, 0x3e, 0x50, 0xf3, 0x39,
-	0xb9, 0x80, 0xb3, 0x4c, 0xac, 0x3b, 0xf8, 0xc9, 0x93, 0x6b, 0x33, 0x9e, 0x53, 0x37, 0x9d, 0x73,
-	0x33, 0x24, 0xf3, 0x60, 0x71, 0x6a, 0xa7, 0xe5, 0xed, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe7,
-	0x00, 0x0e, 0x7c, 0xf4, 0x03, 0x00, 0x00,
+	// 516 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x53, 0x51, 0x6f, 0xd3, 0x3c,
+	0x14, 0x55, 0xbe, 0x75, 0xfb, 0x94, 0xdb, 0x32, 0x86, 0x05, 0xa8, 0x54, 0x42, 0x1a, 0x41, 0x93,
+	0x26, 0x21, 0x39, 0xd2, 0x78, 0x62, 0x8f, 0x55, 0x37, 0x3a, 0x09, 0x41, 0x89, 0x10, 0xaf, 0x91,
+	0x9b, 0xdc, 0x06, 0xb3, 0x2c, 0x0e, 0xb6, 0x33, 0xd4, 0x7f, 0xc1, 0x3b, 0x7f, 0x80, 0x9f, 0x89,
+	0xed, 0x38, 0x6d, 0xba, 0xbe, 0xf0, 0xe6, 0x73, 0x7c, 0x72, 0xee, 0x3d, 0xb9, 0xbe, 0x30, 0x2f,
+	0x84, 0x28, 0x4a, 0xa4, 0x85, 0x28, 0x59, 0x55, 0x50, 0x21, 0x8b, 0xb8, 0xc0, 0xaa, 0x96, 0x42,
+	0x8b, 0xb8, 0xbd, 0x62, 0x35, 0x57, 0xb1, 0xac, 0xb3, 0x18, 0xa5, 0xcc, 0x51, 0x33, 0x5e, 0x2a,
+	0x7b, 0x14, 0x32, 0xf5, 0x88, 0x3a, 0x35, 0x01, 0xef, 0x64, 0xa4, 0x93, 0x77, 0x05, 0xd7, 0xdf,
+	0x9a, 0x25, 0xcd, 0xc4, 0x5d, 0xdc, 0x3a, 0xc7, 0x4e, 0xb4, 0x6c, 0x56, 0x71, 0xad, 0xd7, 0x35,
+	0xaa, 0x38, 0x6f, 0x24, 0xd3, 0x5c, 0x54, 0x9b, 0x43, 0x6b, 0x13, 0xbd, 0x87, 0x30, 0x41, 0x2d,
+	0xd7, 0x37, 0xd5, 0x4a, 0x90, 0x4b, 0x18, 0x4a, 0x0b, 0x4c, 0xa9, 0x92, 0xad, 0xc7, 0xc1, 0x69,
+	0x70, 0x3e, 0xbc, 0x78, 0x41, 0x7d, 0xa5, 0xce, 0x92, 0xce, 0xbc, 0x45, 0x02, 0x4e, 0x3d, 0xb3,
+	0xe2, 0x68, 0x0e, 0xe1, 0x0c, 0x97, 0x4d, 0xe1, 0x8c, 0x5e, 0xc3, 0x23, 0xa5, 0x59, 0x76, 0x9b,
+	0x62, 0xa5, 0x25, 0x47, 0x65, 0xac, 0x0e, 0xce, 0xc3, 0x64, 0xe4, 0xc8, 0xab, 0x96, 0x23, 0xcf,
+	0xe1, 0xa8, 0x8d, 0x34, 0xfe, 0xcf, 0x14, 0x0a, 0x13, 0x8f, 0xa2, 0xdf, 0x01, 0x8c, 0x3e, 0x37,
+	0x42, 0xb3, 0x6b, 0x83, 0x1a, 0x89, 0x64, 0x0a, 0x70, 0xcf, 0x4d, 0x2c, 0x5b, 0xb3, 0xb5, 0x1a,
+	0x5e, 0x44, 0x74, 0x9b, 0x9f, 0xf6, 0xd5, 0xf4, 0x6b, 0x27, 0x4d, 0x7a, 0x5f, 0x4d, 0x4c, 0xce,
+	0xcd, 0x05, 0x19, 0xc3, 0xff, 0xaa, 0x59, 0x7e, 0xc7, 0x4c, 0xbb, 0x8c, 0x61, 0xd2, 0x41, 0x72,
+	0x0a, 0xc3, 0x1c, 0x55, 0x26, 0x79, 0x6d, 0x85, 0xbe, 0xb1, 0x3e, 0x15, 0xfd, 0x09, 0x00, 0xa6,
+	0x2c, 0x4f, 0xf0, 0x47, 0x83, 0x4a, 0x93, 0x05, 0x9c, 0xac, 0x38, 0x96, 0x79, 0xba, 0xd7, 0xe1,
+	0x59, 0xbf, 0xc3, 0xed, 0x17, 0xf4, 0xda, 0xca, 0xb7, 0x4d, 0x3e, 0x5e, 0xed, 0x60, 0x35, 0x99,
+	0xc3, 0xf1, 0xae, 0x84, 0x3c, 0x85, 0x43, 0x27, 0xf2, 0xcd, 0xb6, 0xe0, 0x1f, 0x5a, 0xfd, 0x04,
+	0x43, 0x5f, 0xd4, 0x0d, 0xe5, 0x25, 0x98, 0x79, 0x39, 0x98, 0xf2, 0xce, 0x2b, 0xf4, 0xcc, 0x4d,
+	0x4e, 0x5e, 0xc1, 0x48, 0xa1, 0xbc, 0xe7, 0x55, 0x91, 0xe6, 0x4c, 0xb3, 0xce, 0xd0, 0x73, 0x33,
+	0x43, 0x45, 0xbf, 0xcc, 0x64, 0x12, 0x54, 0xa2, 0x91, 0x19, 0x76, 0x73, 0x96, 0x1e, 0xa7, 0xf6,
+	0x9d, 0x79, 0xd7, 0x51, 0x47, 0x7e, 0x31, 0xdc, 0x8e, 0xa8, 0x62, 0x77, 0xe8, 0x9d, 0x37, 0xa2,
+	0x8f, 0x86, 0xb3, 0x19, 0xc5, 0xcf, 0x0a, 0xe5, 0xf8, 0xa0, 0xcd, 0xe8, 0xc0, 0xc3, 0x8c, 0x83,
+	0xfd, 0x8c, 0x02, 0x06, 0x73, 0x2c, 0x6b, 0xf2, 0x06, 0x0e, 0x4b, 0x5e, 0xdd, 0x76, 0x3f, 0xff,
+	0x59, 0xff, 0xe7, 0x5b, 0x01, 0xfd, 0x60, 0x6e, 0x93, 0x56, 0x33, 0xb9, 0x84, 0x81, 0x85, 0x0f,
+	0xed, 0x83, 0x3d, 0x7b, 0x72, 0x02, 0x07, 0x8d, 0xec, 0x1e, 0xa8, 0x3d, 0x4e, 0xcf, 0xe0, 0xd8,
+	0xac, 0x59, 0xcf, 0x7e, 0xfa, 0xe4, 0xca, 0xae, 0xe7, 0xac, 0xdd, 0xce, 0x85, 0x5d, 0x92, 0x45,
+	0xb0, 0x3c, 0x72, 0xdb, 0xf2, 0xf6, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0xd9, 0x1b, 0x46,
+	0xf1, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/error_details/error_details.proto b/googleapis/rpc/errdetails/error_details.proto
similarity index 100%
rename from googleapis/rpc/error_details/error_details.proto
rename to googleapis/rpc/errdetails/error_details.proto
diff --git a/googleapis/rpc/status/status.pb.go b/googleapis/rpc/status/status.pb.go
index 9e7ec49b..3c6c8518 100644
--- a/googleapis/rpc/status/status.pb.go
+++ b/googleapis/rpc/status/status.pb.go
@@ -114,19 +114,18 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 209 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x8e, 0xbd, 0x6a, 0xc3, 0x30,
-	0x10, 0xc7, 0x51, 0xd3, 0x26, 0x54, 0x81, 0x0e, 0xa2, 0x83, 0xe8, 0x52, 0xd3, 0xc9, 0xd3, 0x1d,
-	0xb4, 0x73, 0x87, 0xe6, 0x09, 0x82, 0xfb, 0x04, 0xb2, 0xa2, 0x5c, 0x0d, 0xb6, 0x4e, 0x48, 0xf2,
-	0xe0, 0xb7, 0x2f, 0x91, 0x6c, 0x32, 0x08, 0xdd, 0x71, 0xbf, 0xff, 0x87, 0xfc, 0x26, 0x66, 0x1a,
-	0x1d, 0x10, 0x8f, 0xc6, 0x13, 0x70, 0x24, 0x24, 0xe7, 0x43, 0xe4, 0xcc, 0x58, 0x4f, 0x26, 0x0c,
-	0x09, 0x63, 0xb0, 0x98, 0xb2, 0xc9, 0x73, 0x5a, 0x3f, 0x28, 0x88, 0x92, 0xab, 0x3c, 0x06, 0xfb,
-	0x86, 0x34, 0xe4, 0xbf, 0xb9, 0x07, 0xcb, 0x13, 0x56, 0x3b, 0x2c, 0x50, 0x3f, 0x5f, 0x31, 0xe4,
-	0x25, 0xb8, 0x84, 0xc6, 0x2f, 0xb7, 0x57, 0xc5, 0x1f, 0x57, 0xb9, 0xff, 0x2d, 0x66, 0x4a, 0xc9,
-	0x47, 0xcb, 0x17, 0xa7, 0x45, 0x23, 0xda, 0xa7, 0xae, 0xcc, 0x4a, 0xcb, 0xc3, 0xe4, 0x52, 0x32,
-	0xe4, 0xf4, 0x43, 0x23, 0xda, 0xe7, 0x6e, 0x5b, 0x15, 0xc8, 0xc3, 0xc5, 0x65, 0x33, 0x8c, 0x49,
-	0xef, 0x9a, 0x5d, 0x7b, 0xfc, 0x7c, 0x85, 0xb5, 0xc6, 0x96, 0x07, 0x3f, 0x7e, 0xe9, 0x36, 0xe8,
-	0xf4, 0x2e, 0x5f, 0x2c, 0x4f, 0x70, 0xaf, 0x7a, 0x3a, 0xd6, 0xdc, 0xf3, 0x0d, 0x3f, 0x8b, 0x7e,
-	0x5f, 0x74, 0x5f, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x73, 0x63, 0xb7, 0xba, 0x0d, 0x01, 0x00,
-	0x00,
+	// 208 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x8e, 0xcd, 0x4e, 0x84, 0x30,
+	0x10, 0xc7, 0x83, 0xab, 0xbb, 0xb1, 0x9b, 0x78, 0x68, 0x3c, 0x34, 0x5e, 0xdc, 0x78, 0xe2, 0x34,
+	0x93, 0xe8, 0xd9, 0x83, 0x3c, 0x01, 0xc1, 0x27, 0x28, 0x50, 0x46, 0x12, 0xe8, 0x34, 0xb4, 0x1c,
+	0x78, 0x7b, 0xa1, 0x85, 0xec, 0xa1, 0x69, 0x3b, 0xf3, 0xfb, 0x7f, 0x88, 0x6f, 0x62, 0xa6, 0xc1,
+	0x00, 0xf1, 0xa0, 0x2d, 0x01, 0x4f, 0x84, 0x64, 0xac, 0x9b, 0x38, 0x30, 0xa6, 0x95, 0x76, 0xbd,
+	0xc7, 0xc9, 0x35, 0xe8, 0x83, 0x0e, 0xb3, 0xdf, 0x2f, 0x88, 0x88, 0x14, 0xbb, 0x7c, 0xdd, 0xbf,
+	0x21, 0xf5, 0xe1, 0x6f, 0xae, 0xa1, 0xe1, 0x11, 0x93, 0x1d, 0x46, 0xa8, 0x9e, 0x3b, 0x74, 0x61,
+	0x71, 0xc6, 0xa3, 0xb6, 0xcb, 0x76, 0x92, 0xf8, 0xa3, 0x13, 0xe7, 0xdf, 0x68, 0x26, 0xa5, 0x78,
+	0x6c, 0xb8, 0x35, 0x2a, 0xbb, 0x65, 0xf9, 0x53, 0x15, 0xdf, 0x52, 0x89, 0xcb, 0x68, 0xbc, 0xd7,
+	0x64, 0xd4, 0xc3, 0x3a, 0x7e, 0xae, 0x8e, 0xaf, 0x04, 0x71, 0x69, 0x4d, 0xd0, 0xfd, 0xe0, 0xd5,
+	0xe9, 0x76, 0xca, 0xaf, 0x9f, 0xaf, 0xb0, 0xd7, 0x38, 0xf2, 0xe0, 0xc7, 0x2e, 0xd5, 0x01, 0x15,
+	0xef, 0xe2, 0x65, 0xed, 0x04, 0xf7, 0xaa, 0xc5, 0x35, 0xe5, 0x96, 0x1b, 0x5e, 0x66, 0xf5, 0x39,
+	0xea, 0xbe, 0xfe, 0x03, 0x00, 0x00, 0xff, 0xff, 0x73, 0x63, 0xb7, 0xba, 0x0d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer.pb.go b/googleapis/storagetransfer/v1/transfer.pb.go
index 731308f9..5f36e50d 100644
--- a/googleapis/storagetransfer/v1/transfer.pb.go
+++ b/googleapis/storagetransfer/v1/transfer.pb.go
@@ -529,53 +529,53 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 768 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x55, 0xed, 0x4e, 0xd4, 0x4c,
-	0x14, 0xce, 0xf0, 0xf5, 0xc2, 0x00, 0xef, 0x0b, 0x93, 0xbc, 0x4b, 0xa9, 0x61, 0x43, 0x4a, 0xb2,
-	0xe2, 0x6a, 0x5a, 0xd9, 0x25, 0x51, 0x49, 0x8c, 0x11, 0xa3, 0x1b, 0x54, 0x14, 0x17, 0xfc, 0x6b,
-	0x33, 0xbb, 0x7b, 0xb6, 0x76, 0xd9, 0x76, 0x6a, 0x67, 0x4a, 0x04, 0xc2, 0x1f, 0x6f, 0xc0, 0x44,
-	0x63, 0x62, 0x62, 0x4c, 0xbc, 0x09, 0xaf, 0xc4, 0x5b, 0xf0, 0x22, 0xf4, 0x97, 0xa6, 0xd3, 0x76,
-	0x29, 0xfb, 0x51, 0x40, 0xfc, 0x43, 0x3a, 0x73, 0xe6, 0x3c, 0xcf, 0x73, 0xce, 0xe1, 0x39, 0x8b,
-	0x2b, 0x16, 0x63, 0x56, 0x1b, 0x74, 0x8b, 0xb5, 0xa9, 0x6b, 0xe9, 0xcc, 0xb7, 0x0c, 0x0b, 0x5c,
-	0xcf, 0x67, 0x82, 0x19, 0x51, 0x88, 0x7a, 0x36, 0x37, 0xb8, 0x60, 0x3e, 0xb5, 0x40, 0xf8, 0xd4,
-	0xe5, 0x4d, 0xf0, 0x8d, 0xbd, 0x15, 0x23, 0xf9, 0xd6, 0xe5, 0x63, 0x32, 0x1f, 0x03, 0x75, 0xbd,
-	0xd4, 0xf7, 0x56, 0xd4, 0x8d, 0xb3, 0x71, 0x50, 0xcf, 0x36, 0x38, 0xf8, 0x7b, 0x76, 0x1d, 0xea,
-	0xcc, 0x6d, 0xda, 0x96, 0x41, 0x5d, 0x97, 0x09, 0x2a, 0x6c, 0xe6, 0xf2, 0x88, 0x45, 0x2d, 0x5b,
-	0xb6, 0x78, 0x19, 0xd4, 0xf4, 0x3a, 0x73, 0x8c, 0x08, 0xce, 0x90, 0x81, 0x5a, 0xd0, 0x34, 0x3c,
-	0xb1, 0xef, 0x01, 0x37, 0xc0, 0xf1, 0xc4, 0x7e, 0xf4, 0x37, 0x4e, 0x5a, 0xcd, 0xe0, 0xef, 0x64,
-	0x37, 0x6d, 0x68, 0x37, 0x4c, 0x87, 0xf2, 0xdd, 0x38, 0x6b, 0xf3, 0xc2, 0x9d, 0x31, 0xa5, 0xa0,
-	0x08, 0x4e, 0xbb, 0x83, 0xf3, 0x15, 0x10, 0x15, 0x99, 0xb8, 0x1d, 0x55, 0x79, 0xb7, 0x5e, 0x67,
-	0x81, 0x2b, 0xaa, 0xf0, 0x2a, 0x00, 0x2e, 0xc8, 0x02, 0xc6, 0x9e, 0xcf, 0x5a, 0x50, 0x17, 0xa6,
-	0xdd, 0x50, 0xd0, 0x22, 0x5a, 0x9e, 0xa8, 0x4e, 0xc4, 0x37, 0x1b, 0x0d, 0x0d, 0xb0, 0x72, 0xcf,
-	0x07, 0x2a, 0x60, 0x27, 0x86, 0x7f, 0xc8, 0x6a, 0x49, 0xea, 0x06, 0x9e, 0xea, 0x90, 0xb6, 0x58,
-	0x4d, 0x26, 0x4f, 0x96, 0x0a, 0xfa, 0xc0, 0x99, 0xe8, 0x69, 0x90, 0x49, 0x71, 0x7c, 0xd0, 0x7e,
-	0x21, 0xac, 0x3c, 0xf7, 0x1a, 0xfd, 0x79, 0xe6, 0xf1, 0x78, 0x8b, 0xd5, 0x4c, 0x97, 0x3a, 0x10,
-	0x0b, 0xfc, 0xa7, 0xc5, 0x6a, 0x4f, 0xa8, 0x03, 0x5d, 0xea, 0x87, 0xba, 0xd4, 0xf7, 0x28, 0x1c,
-	0xfe, 0x63, 0x85, 0xe4, 0x05, 0xce, 0x07, 0x52, 0xa0, 0x99, 0x46, 0x34, 0x8f, 0x07, 0xa8, 0x8c,
-	0x48, 0x70, 0x35, 0x01, 0x4f, 0x66, 0xac, 0x3f, 0x08, 0x9f, 0x6c, 0x52, 0xbe, 0x5b, 0x55, 0x83,
-	0xee, 0x12, 0x3b, 0x31, 0xed, 0x19, 0xfe, 0xbf, 0x02, 0xe2, 0x6f, 0x56, 0xaf, 0x39, 0x78, 0xee,
-	0xb1, 0xcd, 0xd3, 0x98, 0x3c, 0x01, 0xcd, 0xe1, 0xb1, 0xa6, 0xdd, 0x16, 0xe0, 0xc7, 0x90, 0xf1,
-	0x89, 0x5c, 0xc2, 0x13, 0x1e, 0xb5, 0xc0, 0xe4, 0xf6, 0x01, 0xc8, 0x82, 0x46, 0xab, 0xe3, 0xe1,
-	0xc5, 0xb6, 0x7d, 0x10, 0xd1, 0x85, 0x41, 0xc1, 0x76, 0xc1, 0x55, 0x46, 0x63, 0x3a, 0x6a, 0xc1,
-	0x4e, 0x78, 0xa1, 0xbd, 0x45, 0x58, 0xe9, 0xe5, 0xe3, 0x1e, 0x73, 0x39, 0x90, 0x47, 0x78, 0x3a,
-	0xdd, 0x37, 0xae, 0xa0, 0xc5, 0xe1, 0x73, 0x8c, 0x62, 0x2a, 0x35, 0x0a, 0x4e, 0x0a, 0xf8, 0x3f,
-	0x17, 0x5e, 0x0b, 0x33, 0xa5, 0x26, 0x2a, 0x7e, 0x3a, 0xbc, 0xde, 0xea, 0x28, 0x2a, 0xe3, 0x85,
-	0x2d, 0x1a, 0xf0, 0x4e, 0xc3, 0x9f, 0x7a, 0xe0, 0x4b, 0x63, 0x27, 0x6d, 0x20, 0x78, 0x24, 0xd5,
-	0x57, 0xf9, 0xad, 0xad, 0xe2, 0x7c, 0x15, 0x78, 0xe0, 0x9c, 0x2b, 0xab, 0xf4, 0x73, 0x1c, 0xe7,
-	0xb6, 0xa3, 0x1a, 0x92, 0xbc, 0xd8, 0x6f, 0xe4, 0x2b, 0xc2, 0x73, 0x03, 0x4c, 0x48, 0x6e, 0x65,
-	0xd4, 0x9f, 0x6d, 0x5c, 0xd5, 0xc8, 0x4a, 0xed, 0x93, 0xa7, 0xe9, 0x6f, 0xbe, 0x7d, 0x7f, 0x3f,
-	0xb4, 0x4c, 0x0a, 0xe1, 0xb6, 0xb0, 0xfa, 0xbc, 0xe0, 0xc6, 0xe1, 0xf1, 0xbf, 0xd3, 0x11, 0xf9,
-	0x88, 0xf0, 0x6c, 0x8f, 0xf7, 0x49, 0x39, 0x83, 0x76, 0xd0, 0xa6, 0x50, 0xcf, 0x38, 0x66, 0xad,
-	0x20, 0x25, 0x2e, 0x6a, 0x33, 0xe9, 0x85, 0x16, 0x8e, 0x7c, 0xed, 0x84, 0x8f, 0xc9, 0x27, 0x84,
-	0x67, 0x7b, 0xd6, 0x45, 0xa6, 0xb4, 0x41, 0xcb, 0xe5, 0xcc, 0xd2, 0xae, 0x48, 0x69, 0x4b, 0xa5,
-	0x7c, 0x28, 0xed, 0x30, 0x71, 0xe4, 0xed, 0xb4, 0x48, 0xa3, 0x58, 0x3c, 0x5a, 0x43, 0x45, 0xf2,
-	0x0e, 0xe1, 0x7f, 0x4f, 0x7a, 0x99, 0x5c, 0xcf, 0x9e, 0xf3, 0xc5, 0x5b, 0x46, 0x4e, 0xd1, 0x45,
-	0x3e, 0x20, 0x3c, 0xd3, 0xed, 0x4e, 0x52, 0xca, 0x20, 0x19, 0xb0, 0x3a, 0xd4, 0xf2, 0xb9, 0x72,
-	0x22, 0xfb, 0x6b, 0x8a, 0x54, 0x49, 0x48, 0xcf, 0x60, 0xc9, 0x67, 0x84, 0x73, 0xfd, 0x4d, 0x4a,
-	0x6e, 0x66, 0x30, 0x65, 0xfa, 0x5a, 0xcd, 0xf5, 0x2c, 0xe1, 0xfb, 0xe1, 0x2f, 0xb3, 0xb6, 0x22,
-	0x65, 0x5c, 0xd5, 0xa4, 0x05, 0x0e, 0x4f, 0x34, 0xaa, 0x83, 0x11, 0x8d, 0xd1, 0x0b, 0xf1, 0xc3,
-	0x61, 0x7e, 0x41, 0x78, 0x6e, 0xc0, 0x3e, 0xc8, 0x74, 0x6f, 0xf6, 0x0e, 0x19, 0xa8, 0xb0, 0x24,
-	0x15, 0x5e, 0xd3, 0x2e, 0x9f, 0xaa, 0xd0, 0x97, 0x04, 0x6b, 0xa8, 0xb8, 0x7e, 0x03, 0x2f, 0xd5,
-	0x99, 0x93, 0xa1, 0x45, 0x72, 0xac, 0x4f, 0x27, 0x62, 0xb6, 0xc2, 0xe3, 0x0f, 0x84, 0x6a, 0x63,
-	0x32, 0x50, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x9f, 0x42, 0x0f, 0x8f, 0x09, 0x00, 0x00,
+	// 761 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0xdf, 0x4e, 0xd4, 0x4e,
+	0x14, 0x4e, 0xf9, 0xf7, 0x83, 0x01, 0x7e, 0xe2, 0x24, 0x2e, 0x4b, 0x0d, 0x1b, 0x32, 0x24, 0x2b,
+	0xa2, 0xe9, 0xc8, 0x2e, 0x89, 0x4a, 0x62, 0x8c, 0x18, 0x25, 0xa8, 0x28, 0x2e, 0x78, 0x6b, 0xd3,
+	0xdd, 0x9d, 0xad, 0x85, 0xdd, 0x4e, 0xed, 0x4c, 0x89, 0x4a, 0xb8, 0xf1, 0x05, 0x4c, 0x34, 0x26,
+	0x26, 0xc6, 0xc4, 0x97, 0xf0, 0x49, 0x7c, 0x05, 0x1f, 0x42, 0xaf, 0x74, 0x3a, 0x6d, 0x97, 0xb2,
+	0xdd, 0x0e, 0x20, 0xde, 0x34, 0xf3, 0xef, 0x7c, 0xdf, 0x77, 0xce, 0xe1, 0x3b, 0x2c, 0x58, 0xb3,
+	0x29, 0xb5, 0xdb, 0xc4, 0xb0, 0x69, 0xdb, 0x72, 0x6d, 0x83, 0xfa, 0x36, 0xb6, 0x89, 0xeb, 0xf9,
+	0x94, 0x53, 0x1c, 0x5d, 0x59, 0x9e, 0xc3, 0x30, 0xe3, 0xd4, 0xb7, 0x6c, 0xc2, 0x7d, 0xcb, 0x65,
+	0x2d, 0xe2, 0xe3, 0xbd, 0x25, 0x9c, 0xac, 0x0d, 0xf9, 0x18, 0xce, 0xc4, 0x40, 0x3d, 0x2f, 0x8d,
+	0xbd, 0x25, 0x7d, 0xfd, 0x64, 0x1c, 0xe2, 0x83, 0x19, 0xf1, 0xf7, 0x9c, 0x06, 0x69, 0x50, 0xb7,
+	0xe5, 0xd8, 0xd8, 0x72, 0x5d, 0xca, 0x2d, 0xee, 0x50, 0x97, 0x45, 0x2c, 0x7a, 0xd5, 0x76, 0xf8,
+	0x8b, 0xa0, 0x6e, 0x34, 0x68, 0x07, 0x47, 0x70, 0x58, 0x5e, 0xd4, 0x83, 0x16, 0xf6, 0xf8, 0x6b,
+	0x8f, 0x30, 0x4c, 0x3a, 0x62, 0x11, 0x7d, 0xe3, 0xa0, 0x65, 0x05, 0x7f, 0x37, 0xba, 0xe5, 0x90,
+	0x76, 0xd3, 0xec, 0x58, 0x6c, 0x37, 0x8e, 0xda, 0x38, 0x73, 0x65, 0x4c, 0x29, 0x28, 0x82, 0x43,
+	0xb7, 0x41, 0x69, 0x8d, 0xf0, 0x35, 0x19, 0xb8, 0x15, 0x65, 0x79, 0xa7, 0xd1, 0xa0, 0x81, 0xcb,
+	0x6b, 0xe4, 0x65, 0x40, 0x18, 0x87, 0xb3, 0x00, 0x88, 0xa7, 0x3b, 0xa4, 0xc1, 0x4d, 0xa7, 0x59,
+	0xd4, 0xe6, 0xb4, 0x85, 0xb1, 0xda, 0x58, 0x7c, 0xb2, 0xde, 0x44, 0x04, 0x14, 0xef, 0xfa, 0xc4,
+	0xe2, 0x64, 0x3b, 0x86, 0x7f, 0x40, 0xeb, 0x49, 0xe8, 0x3a, 0x98, 0xe8, 0x92, 0xee, 0xd0, 0xba,
+	0x0c, 0x1e, 0xaf, 0x94, 0x8d, 0xdc, 0x9e, 0x18, 0x69, 0x90, 0x71, 0x7e, 0xb8, 0x41, 0xbf, 0x35,
+	0x50, 0x7c, 0xe6, 0x35, 0xfb, 0xf3, 0xcc, 0x80, 0x51, 0x01, 0x6f, 0xba, 0x56, 0x87, 0xc4, 0x02,
+	0xff, 0x13, 0xfb, 0xc7, 0x62, 0xdb, 0xa3, 0x7e, 0xa0, 0x47, 0x7d, 0x46, 0xe1, 0xe0, 0x5f, 0x2b,
+	0x84, 0xcf, 0x41, 0x29, 0x90, 0x02, 0xcd, 0x34, 0xa2, 0x79, 0xd8, 0xc0, 0xe2, 0x90, 0x04, 0xd7,
+	0x13, 0xf0, 0xa4, 0xc7, 0xc6, 0xfd, 0xf0, 0xc9, 0x86, 0x78, 0x51, 0xd3, 0x83, 0xde, 0x14, 0xbb,
+	0x77, 0xe8, 0x29, 0xb8, 0x20, 0x3a, 0xf5, 0x2f, 0xb3, 0x47, 0x1d, 0x30, 0xfd, 0xc8, 0x61, 0x69,
+	0x4c, 0x96, 0x80, 0x16, 0xc0, 0x48, 0xcb, 0x69, 0x73, 0xe2, 0xc7, 0x90, 0xf1, 0x0e, 0x5e, 0x04,
+	0x63, 0x9e, 0xa8, 0x88, 0xc9, 0x9c, 0x37, 0x44, 0x26, 0x34, 0x5c, 0x1b, 0x0d, 0x0f, 0xb6, 0xc4,
+	0x5e, 0xd2, 0x85, 0x97, 0x9c, 0xee, 0x12, 0xb7, 0x38, 0x1c, 0xd3, 0x89, 0x93, 0xed, 0xf0, 0x00,
+	0xbd, 0x13, 0x3d, 0xcc, 0xf2, 0x31, 0x4f, 0xf8, 0x88, 0xc0, 0x87, 0x60, 0x32, 0x5d, 0x37, 0x26,
+	0x78, 0x07, 0x4f, 0xd1, 0x8a, 0x89, 0x54, 0x2b, 0x18, 0x2c, 0x83, 0x73, 0x2e, 0x79, 0xc5, 0xcd,
+	0x94, 0x9a, 0x28, 0xf9, 0xc9, 0xf0, 0x78, 0xb3, 0xab, 0xa8, 0x0a, 0x66, 0x37, 0xad, 0x80, 0x75,
+	0x0b, 0xfe, 0xc4, 0x23, 0xbe, 0x34, 0x76, 0x52, 0x06, 0x08, 0x86, 0x52, 0x75, 0x95, 0x6b, 0xb4,
+	0x0c, 0x4a, 0x42, 0x75, 0xd0, 0x39, 0x55, 0x54, 0xe5, 0xd7, 0x28, 0x28, 0x6c, 0x45, 0x39, 0x24,
+	0x71, 0xb1, 0xdf, 0xe0, 0x37, 0x0d, 0x4c, 0xe7, 0x98, 0x10, 0xde, 0x54, 0xe4, 0xaf, 0x36, 0xae,
+	0x8e, 0x55, 0xa1, 0x7d, 0xe2, 0x90, 0xf1, 0xf6, 0xfb, 0x8f, 0x0f, 0x03, 0x0b, 0xb0, 0x1c, 0x4e,
+	0x0b, 0xbb, 0xcf, 0x0b, 0x86, 0xf7, 0x0f, 0xff, 0x9c, 0x0e, 0xe0, 0x27, 0x0d, 0x9c, 0xcf, 0x78,
+	0x1f, 0x56, 0x15, 0xb4, 0x79, 0x93, 0x42, 0x3f, 0x61, 0x9b, 0x51, 0x59, 0x4a, 0x9c, 0x43, 0x53,
+	0xe9, 0x81, 0x16, 0xb6, 0x7c, 0xe5, 0x88, 0x8f, 0xe1, 0x67, 0x21, 0x2d, 0x33, 0x2e, 0x94, 0xd2,
+	0xf2, 0x86, 0xcb, 0x89, 0xa5, 0x5d, 0x96, 0xd2, 0xe6, 0x2b, 0xa5, 0x50, 0xda, 0x7e, 0xe2, 0xc8,
+	0x5b, 0x69, 0x91, 0x78, 0x71, 0xf1, 0x60, 0x45, 0x5b, 0x84, 0xef, 0x35, 0xf0, 0xff, 0x51, 0x2f,
+	0xc3, 0x6b, 0xea, 0x3e, 0x9f, 0xbd, 0x64, 0xf0, 0x18, 0x5d, 0xf0, 0xa3, 0x06, 0xa6, 0x7a, 0xdd,
+	0x09, 0x2b, 0x0a, 0x92, 0x9c, 0xd1, 0xa1, 0x57, 0x4f, 0x15, 0x13, 0xd9, 0x1f, 0x15, 0xa5, 0x4a,
+	0x08, 0x33, 0x8d, 0x85, 0x5f, 0x34, 0x50, 0xe8, 0x6f, 0x52, 0x78, 0x43, 0xc1, 0xa4, 0xf4, 0xb5,
+	0x5e, 0xc8, 0x0c, 0xe1, 0x7b, 0xe1, 0x7f, 0x66, 0xb4, 0x24, 0x65, 0x5c, 0x41, 0xd2, 0x02, 0xfb,
+	0x47, 0x0a, 0xd5, 0xc5, 0x88, 0xda, 0xe8, 0x85, 0xf8, 0x61, 0x33, 0xbf, 0x0a, 0xf7, 0xe6, 0xcc,
+	0x03, 0xa5, 0x7b, 0xd5, 0x33, 0x24, 0x57, 0x61, 0x45, 0x2a, 0xbc, 0x8a, 0x2e, 0x1d, 0xab, 0xd0,
+	0x97, 0x04, 0x42, 0xe2, 0xea, 0x75, 0x30, 0x2f, 0x7e, 0x99, 0x28, 0xb4, 0x48, 0x8e, 0xd5, 0xc9,
+	0x44, 0xcc, 0x66, 0xb8, 0xfd, 0xa9, 0x69, 0xf5, 0x11, 0x79, 0x51, 0xfd, 0x13, 0x00, 0x00, 0xff,
+	0xff, 0xaa, 0x9f, 0x42, 0x0f, 0x8f, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer_types.pb.go b/googleapis/storagetransfer/v1/transfer_types.pb.go
index b5d847b9..64e67ee3 100644
--- a/googleapis/storagetransfer/v1/transfer_types.pb.go
+++ b/googleapis/storagetransfer/v1/transfer_types.pb.go
@@ -835,115 +835,114 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 1751 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0x5f, 0x6f, 0x1b, 0xc7,
-	0x11, 0x37, 0x45, 0x59, 0x22, 0x87, 0xa4, 0x48, 0x6d, 0x5c, 0x87, 0x52, 0xe2, 0xd6, 0x3d, 0x25,
-	0xb0, 0xe3, 0xa0, 0x24, 0x22, 0x21, 0x08, 0x1c, 0x23, 0x75, 0x29, 0x91, 0x92, 0x18, 0xcb, 0x96,
-	0x70, 0x47, 0xa1, 0xed, 0x4b, 0x0f, 0xcb, 0xbb, 0x25, 0xbd, 0xd1, 0xf1, 0xf6, 0x7a, 0xbb, 0xb4,
-	0x74, 0xe8, 0x53, 0x9f, 0xfa, 0x19, 0xfa, 0x45, 0xfa, 0x29, 0x0a, 0xf4, 0xad, 0x9f, 0xa3, 0x8f,
-	0x7d, 0x2c, 0xf6, 0xcf, 0x1d, 0xff, 0x88, 0x26, 0x59, 0xe4, 0x85, 0xd8, 0x9d, 0x9d, 0xdf, 0x6f,
-	0x66, 0x76, 0x86, 0x33, 0x7b, 0xf0, 0x76, 0xc8, 0xd8, 0x30, 0x20, 0x8d, 0x21, 0x0b, 0x70, 0x38,
-	0x6c, 0xb0, 0x78, 0xd8, 0x1c, 0x92, 0x30, 0x8a, 0x99, 0x60, 0x4d, 0x7d, 0x84, 0x23, 0xca, 0x9b,
-	0x5c, 0xb0, 0x18, 0x0f, 0x89, 0x88, 0x71, 0xc8, 0x07, 0x24, 0x6e, 0x7e, 0xf8, 0xa6, 0x99, 0xae,
-	0x5d, 0x91, 0x44, 0x84, 0x37, 0x14, 0x04, 0xed, 0x19, 0xba, 0x39, 0xfd, 0xc6, 0x87, 0x6f, 0xf6,
-	0xbb, 0xeb, 0x59, 0xc2, 0x11, 0x6d, 0x72, 0x12, 0x7f, 0xa0, 0x1e, 0xf1, 0x58, 0x38, 0xa0, 0xc3,
-	0x26, 0x0e, 0x43, 0x26, 0xb0, 0xa0, 0x2c, 0x34, 0x56, 0xf6, 0x5f, 0x0e, 0xa9, 0x78, 0x3f, 0xee,
-	0x37, 0x3c, 0x36, 0x6a, 0x6a, 0xba, 0xa6, 0x3a, 0xe8, 0x8f, 0x07, 0xcd, 0x48, 0xb9, 0xd3, 0xf4,
-	0xc7, 0xb1, 0x82, 0x64, 0x0b, 0x03, 0x7d, 0xb5, 0x1a, 0x2a, 0xe8, 0x88, 0x70, 0x81, 0x47, 0xd1,
-	0x64, 0x95, 0xd9, 0x5d, 0x2b, 0x84, 0x38, 0xf2, 0x9a, 0x1e, 0xf3, 0x89, 0xfa, 0x31, 0xd0, 0xef,
-	0xd7, 0x83, 0x4a, 0x0f, 0x9a, 0x3e, 0x16, 0xfa, 0xc7, 0x60, 0xdb, 0xff, 0x07, 0x56, 0xba, 0xcc,
-	0x06, 0x3e, 0x4e, 0x26, 0x2b, 0xcd, 0x62, 0xbd, 0x82, 0x47, 0x67, 0x4a, 0xd9, 0xd1, 0xb7, 0xdb,
-	0xf2, 0x3c, 0x36, 0x0e, 0x05, 0x3a, 0x80, 0x0a, 0xd6, 0x4b, 0x97, 0x8c, 0x30, 0x0d, 0xea, 0xb9,
-	0xa7, 0xb9, 0xe7, 0x45, 0xbb, 0x6c, 0x84, 0x1d, 0x29, 0xb3, 0xfe, 0x04, 0xe5, 0xd6, 0x2d, 0x6f,
-	0x79, 0x1e, 0xe1, 0xfc, 0x0d, 0x49, 0x90, 0xa5, 0x40, 0x84, 0x73, 0xf7, 0x86, 0x24, 0x2e, 0xf5,
-	0x0d, 0xa8, 0x84, 0x53, 0x8d, 0xae, 0x8f, 0x5e, 0xc0, 0x2e, 0x27, 0x5e, 0x4c, 0x84, 0x3b, 0x51,
-	0xad, 0x6f, 0x28, 0xbd, 0xaa, 0x3e, 0xc8, 0xf8, 0xac, 0x7f, 0x6e, 0x40, 0xed, 0xb2, 0xff, 0x13,
-	0xf1, 0xc4, 0x09, 0x0b, 0x7d, 0xaa, 0x92, 0x8d, 0x22, 0x78, 0x3e, 0xa2, 0xa1, 0x2b, 0x03, 0x71,
-	0x49, 0x80, 0x23, 0x4e, 0x7c, 0x97, 0xd3, 0xd0, 0x23, 0x6e, 0x80, 0xb9, 0x70, 0x47, 0xcc, 0xa7,
-	0x03, 0xea, 0xa9, 0xec, 0x2a, 0xfb, 0xa5, 0xc3, 0xbd, 0x86, 0xb9, 0xaa, 0x34, 0xa7, 0x8d, 0xb6,
-	0x49, 0xbf, 0x7d, 0x30, 0xa2, 0x61, 0x8f, 0x8e, 0x48, 0x47, 0x13, 0x39, 0x92, 0xe7, 0x02, 0x73,
-	0xf1, 0x76, 0x8a, 0x45, 0x59, 0xc4, 0x77, 0xeb, 0x59, 0xdc, 0x58, 0x6d, 0x11, 0xdf, 0xad, 0xb4,
-	0xf8, 0x15, 0xd4, 0x68, 0xe8, 0x05, 0x63, 0x9f, 0xb8, 0x51, 0x4c, 0x06, 0xf4, 0x8e, 0xf0, 0x7a,
-	0xfe, 0x69, 0x5e, 0xde, 0x91, 0x91, 0x5f, 0x19, 0xb1, 0x54, 0x25, 0x77, 0x73, 0xaa, 0x9b, 0x5a,
-	0xd5, 0xc8, 0x53, 0x55, 0xeb, 0x05, 0x6c, 0x9f, 0x79, 0xbc, 0x8d, 0x05, 0x46, 0xbf, 0x82, 0x52,
-	0x7f, 0xec, 0xdd, 0x10, 0xe1, 0x86, 0x78, 0x44, 0x4c, 0x9e, 0x40, 0x8b, 0xde, 0xe1, 0x11, 0xb1,
-	0xfe, 0x02, 0xc5, 0xd6, 0x2d, 0x77, 0x8e, 0xd6, 0xd2, 0x46, 0x6f, 0x61, 0x07, 0xdf, 0xf2, 0xf9,
-	0x8c, 0x96, 0x0e, 0x9f, 0x35, 0x3e, 0xfa, 0xcf, 0x6f, 0x4c, 0x57, 0x8e, 0x5d, 0xc6, 0x53, 0x3b,
-	0xeb, 0x4b, 0x28, 0x9c, 0x0b, 0x11, 0x29, 0xdb, 0x7b, 0x50, 0x08, 0x28, 0x17, 0xee, 0x38, 0x4e,
-	0x6b, 0x70, 0x5b, 0xee, 0xaf, 0xe3, 0xc0, 0xfa, 0xdb, 0x06, 0x54, 0x7b, 0x86, 0xf1, 0x32, 0xd2,
-	0xd5, 0xf1, 0x47, 0x78, 0xc1, 0x3e, 0x90, 0xf8, 0x36, 0xa6, 0x82, 0xb8, 0x4c, 0xd5, 0x0e, 0x77,
-	0x71, 0x10, 0x13, 0xec, 0x27, 0x2e, 0xb9, 0xa3, 0x5c, 0xd0, 0x70, 0xe8, 0xd2, 0x50, 0x26, 0xf0,
-	0x46, 0x11, 0x16, 0xec, 0x2f, 0x33, 0x84, 0x2e, 0x36, 0xde, 0xd2, 0xfa, 0x1d, 0xa3, 0xde, 0x0d,
-	0x1d, 0x1a, 0xde, 0xa0, 0xdf, 0xc1, 0x13, 0x9f, 0x04, 0x64, 0x8a, 0x77, 0x1c, 0xd2, 0x3f, 0x8f,
-	0x49, 0xc6, 0xb6, 0xa1, 0xd8, 0xf6, 0xb4, 0x92, 0xa1, 0xba, 0x56, 0x2a, 0x86, 0xe1, 0xf7, 0xf0,
-	0xd5, 0x1c, 0xc3, 0x20, 0x66, 0x23, 0x97, 0xb3, 0x71, 0xec, 0x11, 0x17, 0x0f, 0x84, 0xec, 0x9b,
-	0x26, 0xa0, 0x7a, 0x5e, 0xb1, 0x7d, 0x31, 0xc3, 0x76, 0x1a, 0xb3, 0x91, 0xa3, 0xb4, 0x5b, 0x52,
-	0x39, 0x0d, 0xde, 0xfa, 0xfb, 0x26, 0x94, 0xd3, 0x8d, 0x13, 0x11, 0x0f, 0x5d, 0x40, 0x75, 0xe8,
-	0x71, 0xd7, 0xc7, 0x02, 0x1b, 0x7a, 0xf3, 0x5f, 0xb0, 0x96, 0x64, 0xc4, 0x14, 0xc7, 0xf9, 0x03,
-	0xbb, 0x32, 0xd4, 0x4b, 0x6d, 0x0b, 0x39, 0x80, 0x64, 0x7a, 0xf9, 0xd1, 0x0c, 0xa1, 0x4e, 0xf1,
-	0x17, 0xcb, 0x53, 0xac, 0x2b, 0xe8, 0xfc, 0x81, 0x5d, 0xc5, 0xe9, 0xc6, 0x90, 0x5e, 0x42, 0xed,
-	0xbd, 0x10, 0xd1, 0x0c, 0x65, 0x5e, 0x51, 0x1e, 0x2c, 0xa1, 0x4c, 0xeb, 0xe2, 0xfc, 0x81, 0xbd,
-	0xf3, 0xde, 0xac, 0x0d, 0xe1, 0x39, 0x54, 0x26, 0x31, 0xcb, 0x7c, 0x6c, 0xae, 0x1d, 0x71, 0xce,
-	0x2e, 0xa5, 0x11, 0xcb, 0x3c, 0xfd, 0x01, 0x76, 0x75, 0x82, 0x5c, 0x2f, 0xeb, 0x3b, 0xf5, 0x87,
-	0x8a, 0xed, 0xeb, 0x25, 0x6c, 0xf3, 0xad, 0xca, 0xae, 0xb1, 0xf9, 0xe6, 0x75, 0x0d, 0xb5, 0x6c,
-	0x42, 0x32, 0x5d, 0xb2, 0xf5, 0x2d, 0x45, 0xfc, 0x62, 0x09, 0xf1, 0x5c, 0x91, 0xdb, 0x55, 0x31,
-	0x2b, 0x38, 0xae, 0x40, 0x69, 0xea, 0x1a, 0x8f, 0x4b, 0x50, 0xcc, 0x6e, 0xc1, 0xfa, 0x57, 0x0e,
-	0x0a, 0x8e, 0xf7, 0x9e, 0xf8, 0xe3, 0x80, 0xa0, 0x16, 0x7c, 0xc2, 0xcd, 0xda, 0xe5, 0x02, 0xc7,
-	0x42, 0x5e, 0x57, 0x5a, 0x1b, 0xbb, 0xa9, 0x0b, 0x72, 0x66, 0x34, 0xda, 0x58, 0x10, 0x7b, 0x37,
-	0xd5, 0x76, 0xa4, 0xb2, 0x14, 0xa1, 0x1f, 0x20, 0x13, 0xba, 0x24, 0xf4, 0x35, 0xc1, 0xc6, 0xc7,
-	0x08, 0xaa, 0xa9, 0x6e, 0x27, 0xf4, 0x15, 0xbc, 0x05, 0xbb, 0xda, 0xb0, 0x6a, 0xa7, 0x6c, 0xe0,
-	0xfa, 0x38, 0x31, 0x79, 0x7f, 0x3c, 0x03, 0x97, 0x4d, 0xf2, 0x72, 0xd0, 0xc6, 0x89, 0xbd, 0xa3,
-	0x00, 0xd9, 0xde, 0xfa, 0xf7, 0x26, 0x94, 0xd2, 0x2b, 0xf9, 0x91, 0xf5, 0x11, 0x82, 0xcd, 0xa9,
-	0xbe, 0xa4, 0xd6, 0xe8, 0x29, 0x94, 0x7c, 0xc2, 0xbd, 0x98, 0x46, 0x59, 0x5b, 0x2e, 0xda, 0xd3,
-	0x22, 0xf4, 0x04, 0x20, 0x8a, 0x99, 0xca, 0x32, 0xf5, 0x95, 0x07, 0x45, 0xbb, 0x68, 0x24, 0x5d,
-	0x1f, 0x5d, 0x40, 0x25, 0xcb, 0x14, 0x8f, 0x88, 0x67, 0xaa, 0xe9, 0xd9, 0x1a, 0x69, 0x92, 0xff,
-	0x40, 0xbb, 0x2c, 0xa6, 0xff, 0x8f, 0xaf, 0xa1, 0x90, 0x5e, 0x84, 0x29, 0xa4, 0x65, 0x45, 0x9e,
-	0xa6, 0xcb, 0xce, 0x40, 0xa8, 0x03, 0x5b, 0x5c, 0x60, 0x31, 0xd6, 0xe5, 0xb2, 0x73, 0xf8, 0x9b,
-	0x35, 0xfc, 0xf8, 0x91, 0xf5, 0x1b, 0x8e, 0x02, 0xd9, 0x06, 0x8c, 0x5e, 0x43, 0xc5, 0x8b, 0x89,
-	0x1a, 0x32, 0x2a, 0x01, 0xf5, 0x6d, 0xe5, 0xcc, 0xfe, 0xbd, 0x79, 0xd5, 0x4b, 0x1f, 0x39, 0x76,
-	0x39, 0x05, 0x48, 0x11, 0xba, 0x82, 0xc7, 0xf7, 0x86, 0x9e, 0x66, 0x2a, 0xac, 0x64, 0x7a, 0x14,
-	0xcc, 0xcd, 0x39, 0xc5, 0xf8, 0x1a, 0x2a, 0xaa, 0xc7, 0x65, 0x44, 0xc5, 0xd5, 0x2e, 0xa5, 0x00,
-	0x29, 0xb2, 0xce, 0x61, 0x4b, 0x47, 0x89, 0x1e, 0x03, 0x72, 0x7a, 0xad, 0xde, 0xb5, 0xe3, 0x5e,
-	0xbf, 0x73, 0xae, 0x3a, 0x27, 0xdd, 0xd3, 0x6e, 0xa7, 0x5d, 0x7b, 0x80, 0x4a, 0xb0, 0xdd, 0x79,
-	0xd7, 0x3a, 0xbe, 0xe8, 0xb4, 0x6b, 0x39, 0x54, 0x86, 0x42, 0xbb, 0xeb, 0xe8, 0xdd, 0x86, 0x3c,
-	0x6a, 0x77, 0x2e, 0x3a, 0xbd, 0x4e, 0xbb, 0x96, 0xb7, 0x4e, 0xa1, 0xd2, 0x89, 0x63, 0x16, 0x5f,
-	0xb0, 0x61, 0x27, 0x14, 0x71, 0x82, 0x6a, 0x90, 0x9f, 0xcc, 0x1d, 0xb9, 0x94, 0xef, 0x22, 0x22,
-	0x55, 0x5c, 0x9f, 0x08, 0x4c, 0x83, 0x74, 0x2c, 0x97, 0x95, 0xb0, 0xad, 0x65, 0xd6, 0x3f, 0x72,
-	0x50, 0x56, 0x44, 0xce, 0x78, 0x34, 0xc2, 0x71, 0x82, 0x9a, 0x00, 0x1a, 0x25, 0xdf, 0x7e, 0x8a,
-	0x6e, 0xe7, 0xb0, 0x96, 0x06, 0x18, 0x47, 0x5e, 0xe3, 0x84, 0xf9, 0xc4, 0x2e, 0x2a, 0x1d, 0xb9,
-	0x94, 0x13, 0x37, 0x05, 0x8c, 0x43, 0xa1, 0xca, 0x37, 0x6f, 0x83, 0x39, 0x97, 0xef, 0xb3, 0x1e,
-	0xec, 0x6a, 0x85, 0x80, 0x0d, 0x5d, 0x12, 0x8a, 0x98, 0x9a, 0x27, 0x42, 0xe9, 0xf0, 0xf9, 0x92,
-	0xd2, 0x98, 0x09, 0xcf, 0xae, 0x92, 0xa9, 0x2d, 0x25, 0xdc, 0xfa, 0xcf, 0x36, 0xd4, 0xd2, 0xea,
-	0x51, 0x76, 0x48, 0xcc, 0xd1, 0x4b, 0xd8, 0xcb, 0xc6, 0x15, 0x1b, 0x87, 0xfe, 0xf4, 0xd0, 0x52,
-	0xb1, 0xe4, 0xed, 0xc7, 0x46, 0xe1, 0x54, 0x9e, 0x4f, 0x86, 0x14, 0xfa, 0x16, 0x3e, 0xed, 0x27,
-	0x82, 0x2c, 0x02, 0xea, 0x90, 0x1e, 0xa9, 0xe3, 0x79, 0xd8, 0x6f, 0xe1, 0xf3, 0x59, 0x8b, 0x2c,
-	0x0c, 0x12, 0x83, 0x96, 0x8d, 0x3d, 0xaf, 0xb0, 0xf5, 0x69, 0xa3, 0x97, 0x61, 0x90, 0x28, 0x06,
-	0xd9, 0xbf, 0xbf, 0x87, 0xfd, 0x69, 0xb3, 0x73, 0xe8, 0x4d, 0xed, 0xf2, 0xc4, 0xf2, 0x0c, 0xf6,
-	0x0d, 0x1c, 0x2c, 0x1a, 0xce, 0xfc, 0x86, 0x46, 0x11, 0xf1, 0xdd, 0x7e, 0xe2, 0xf2, 0x24, 0xf4,
-	0xd4, 0x9f, 0x38, 0x6f, 0xff, 0x92, 0xcd, 0xcf, 0x65, 0x47, 0xeb, 0x1d, 0x27, 0x4e, 0x12, 0x7a,
-	0xe8, 0x0c, 0x7e, 0x6d, 0x1c, 0x59, 0x42, 0xb5, 0xa5, 0xa8, 0x3e, 0xd7, 0xfe, 0x7c, 0x84, 0xe8,
-	0x08, 0xd2, 0x2b, 0x76, 0x3d, 0x16, 0x51, 0xe2, 0xbb, 0x82, 0xe9, 0x68, 0xb6, 0x15, 0xfa, 0x13,
-	0x73, 0x7a, 0xa2, 0x0e, 0x7b, 0x4c, 0x85, 0xd2, 0x04, 0x7d, 0xbd, 0xf3, 0x90, 0x82, 0x82, 0xec,
-	0xaa, 0xb3, 0x19, 0xc0, 0x0f, 0xf0, 0x59, 0x6a, 0x45, 0x3f, 0x3b, 0x66, 0x53, 0x56, 0x9c, 0xb9,
-	0xf6, 0xb6, 0xd6, 0x98, 0x4a, 0xdb, 0x4b, 0xd8, 0xd3, 0xf6, 0x16, 0x81, 0x61, 0xea, 0xd6, 0x17,
-	0x42, 0x17, 0x5b, 0x96, 0xfe, 0x96, 0x66, 0x6a, 0x6c, 0x1a, 0x2c, 0x9d, 0xce, 0x6a, 0xec, 0x3e,
-	0xb0, 0x3c, 0x55, 0x63, 0xf3, 0xb0, 0x57, 0xb0, 0xbf, 0x28, 0xcf, 0x03, 0x4c, 0x03, 0xe2, 0xd7,
-	0x2b, 0x0a, 0xf9, 0xe9, 0xbd, 0xf4, 0x9e, 0xaa, 0x63, 0xf4, 0x1d, 0xd4, 0xef, 0xe7, 0xd5, 0x40,
-	0x77, 0x14, 0xf4, 0x17, 0x73, 0xe9, 0x34, 0xc0, 0x2e, 0x58, 0x99, 0x55, 0x25, 0x91, 0x49, 0x31,
-	0x6f, 0xc2, 0x89, 0xdf, 0x55, 0x45, 0xf1, 0x24, 0xb5, 0xae, 0x14, 0x7b, 0x4c, 0x47, 0x90, 0x05,
-	0xd0, 0x81, 0xa7, 0xc6, 0x87, 0x8f, 0x13, 0xd5, 0x14, 0xd1, 0x67, 0xda, 0x97, 0x85, 0x34, 0xd6,
-	0x5f, 0x1f, 0xc2, 0xee, 0xe4, 0x7d, 0x41, 0xf4, 0x57, 0xca, 0xc2, 0x91, 0x3a, 0x3b, 0x30, 0x37,
-	0x56, 0x0e, 0xcc, 0xfc, 0xcf, 0x19, 0x98, 0x2f, 0x01, 0x26, 0xcf, 0x04, 0x33, 0x7b, 0x97, 0x8d,
-	0x84, 0x62, 0xf6, 0x46, 0x40, 0xdf, 0x42, 0x41, 0xbe, 0x4b, 0x14, 0xf0, 0xe1, 0x4a, 0xe0, 0x36,
-	0x09, 0x7d, 0x05, 0x7b, 0x33, 0x37, 0x61, 0x8f, 0xd6, 0x7a, 0x90, 0x99, 0x0b, 0x9b, 0x9f, 0xb3,
-	0x67, 0x50, 0xf0, 0x4c, 0xff, 0x34, 0x23, 0xf6, 0xeb, 0x35, 0xe8, 0xd2, 0x96, 0x6b, 0x67, 0x60,
-	0x64, 0x43, 0x4d, 0xf7, 0xf9, 0x7e, 0x4c, 0xf0, 0x8d, 0xcf, 0x6e, 0x43, 0x5e, 0x2f, 0xa8, 0x36,
-	0xff, 0x6c, 0x55, 0x9b, 0x37, 0xc3, 0xc7, 0x74, 0xf9, 0xe3, 0x0c, 0x2f, 0x3f, 0xc1, 0xb3, 0x4c,
-	0xfd, 0xc4, 0xfa, 0xfa, 0xa3, 0xae, 0xa8, 0x3f, 0xc1, 0xc5, 0xe4, 0xed, 0xa0, 0xbe, 0x03, 0xbd,
-	0x95, 0xc3, 0xb5, 0x0a, 0xa5, 0xee, 0x3b, 0xf7, 0xca, 0xbe, 0x3c, 0xb3, 0x3b, 0x8e, 0x53, 0xcb,
-	0x21, 0x80, 0xad, 0xab, 0xd6, 0xb5, 0x93, 0x8e, 0x57, 0xe7, 0xfa, 0xe4, 0x44, 0x1e, 0xe4, 0xe5,
-	0xc1, 0x69, 0xab, 0x2b, 0xe7, 0xee, 0xa6, 0x3c, 0x68, 0x1d, 0x5f, 0xda, 0x72, 0xee, 0x3e, 0x3c,
-	0xfe, 0x0e, 0x0e, 0x3c, 0x36, 0x5a, 0x12, 0x8f, 0xca, 0xdb, 0x71, 0x25, 0xbd, 0xa7, 0x5e, 0x12,
-	0x11, 0xfe, 0xdf, 0x5c, 0xae, 0xbf, 0xa5, 0x0e, 0x8e, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x9d,
-	0x31, 0xa9, 0x7d, 0xb0, 0x12, 0x00, 0x00,
+	// 1743 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x58, 0x51, 0x73, 0xe2, 0xc8,
+	0x11, 0x3e, 0xc0, 0x6b, 0x43, 0x03, 0x06, 0xeb, 0x36, 0x7b, 0xd8, 0x77, 0x9b, 0x38, 0xf2, 0x5d,
+	0xed, 0x9e, 0xaf, 0x02, 0x75, 0x76, 0xa5, 0xae, 0xf6, 0xb6, 0x2e, 0x09, 0x18, 0x6c, 0x93, 0xf5,
+	0xda, 0x2e, 0x09, 0x57, 0x92, 0x97, 0xa8, 0x84, 0x34, 0x60, 0x9d, 0x41, 0xa3, 0x48, 0xc2, 0x36,
+	0x95, 0xa7, 0x3c, 0xe5, 0x37, 0xe4, 0x8f, 0xe4, 0x57, 0xa4, 0x2a, 0x6f, 0xf9, 0x1d, 0x79, 0xcc,
+	0x63, 0x66, 0x7a, 0x46, 0x42, 0xc8, 0x18, 0x48, 0xe5, 0xc5, 0x35, 0xd3, 0xd3, 0xdf, 0xd7, 0x33,
+	0xdd, 0xad, 0xee, 0xc6, 0xf0, 0x71, 0x48, 0xe9, 0x70, 0x44, 0xea, 0x43, 0x3a, 0x32, 0xdd, 0x61,
+	0x9d, 0xfa, 0xc3, 0xc6, 0x90, 0xb8, 0x9e, 0x4f, 0x43, 0xda, 0x10, 0x47, 0xa6, 0xe7, 0x04, 0x8d,
+	0x20, 0xa4, 0xbe, 0x39, 0x24, 0xa1, 0x6f, 0xba, 0xc1, 0x80, 0xf8, 0x8d, 0xfb, 0x6f, 0x1b, 0xd1,
+	0xda, 0x08, 0xa7, 0x1e, 0x09, 0xea, 0x08, 0x51, 0x76, 0x25, 0x5d, 0x4a, 0xbf, 0x7e, 0xff, 0xed,
+	0x5e, 0x77, 0x3d, 0x4b, 0xec, 0x4f, 0x23, 0x20, 0xfe, 0xbd, 0x63, 0x11, 0x8b, 0xba, 0x03, 0x67,
+	0xd8, 0x30, 0x5d, 0x97, 0x86, 0x66, 0xe8, 0x50, 0x57, 0x5a, 0xd9, 0x7b, 0x37, 0x74, 0xc2, 0xdb,
+	0x49, 0xbf, 0x6e, 0xd1, 0x71, 0x43, 0xd0, 0x35, 0xf0, 0xa0, 0x3f, 0x19, 0x34, 0x3c, 0xbc, 0x4e,
+	0xc3, 0x9e, 0xf8, 0x08, 0x89, 0x17, 0x12, 0xfa, 0x7e, 0x35, 0x34, 0x74, 0xc6, 0x24, 0x08, 0xcd,
+	0xb1, 0x37, 0x5b, 0xc5, 0x76, 0xd7, 0x7a, 0x82, 0xef, 0x59, 0x0d, 0x8b, 0xda, 0x04, 0xff, 0x48,
+	0xe8, 0xf7, 0xeb, 0x41, 0xf9, 0x0d, 0x1a, 0xb6, 0x19, 0x8a, 0x3f, 0x12, 0xdb, 0xfe, 0x1f, 0xb0,
+	0xfc, 0xca, 0x74, 0x60, 0x9b, 0xd3, 0xd9, 0x4a, 0xb0, 0xa8, 0xef, 0xe1, 0xe5, 0x19, 0x2a, 0xeb,
+	0xc2, 0xbb, 0x4d, 0xcb, 0xa2, 0x13, 0x37, 0x54, 0x0e, 0xa0, 0x6c, 0x8a, 0xa5, 0x41, 0xc6, 0xa6,
+	0x33, 0xaa, 0x65, 0xf6, 0x33, 0x6f, 0x0b, 0x5a, 0x49, 0x0a, 0x3b, 0x5c, 0xa6, 0xfe, 0x11, 0x4a,
+	0xcd, 0x87, 0x80, 0x41, 0x48, 0x10, 0x7c, 0x20, 0x53, 0x45, 0x45, 0x10, 0xdb, 0x18, 0x77, 0x64,
+	0x6a, 0x38, 0xb6, 0x04, 0x15, 0xcd, 0x48, 0xa3, 0x6b, 0x2b, 0x87, 0xb0, 0x13, 0x10, 0xcb, 0x27,
+	0xa1, 0x31, 0x53, 0xad, 0x65, 0x51, 0xaf, 0x22, 0x0e, 0x62, 0x3e, 0xf5, 0x1f, 0x59, 0xa8, 0x5e,
+	0xf5, 0x7f, 0x24, 0x56, 0x78, 0x42, 0x5d, 0xdb, 0xc1, 0x60, 0x2b, 0x1e, 0xbc, 0x1d, 0x3b, 0xae,
+	0xc1, 0x1f, 0x62, 0x90, 0x91, 0xe9, 0x05, 0xc4, 0x36, 0x02, 0xc7, 0xb5, 0x88, 0x31, 0x32, 0x83,
+	0xd0, 0x18, 0x53, 0xdb, 0x19, 0x38, 0x16, 0x46, 0x17, 0xed, 0x17, 0x8f, 0x76, 0xeb, 0xd2, 0x55,
+	0x51, 0x4c, 0xeb, 0x6d, 0x19, 0x7e, 0xed, 0x80, 0x51, 0xf5, 0x18, 0x53, 0x47, 0x10, 0xe9, 0x9c,
+	0xe7, 0x82, 0xd1, 0x7c, 0x4c, 0xb0, 0xa0, 0x45, 0xf3, 0x71, 0x3d, 0x8b, 0xd9, 0xd5, 0x16, 0xcd,
+	0xc7, 0x95, 0x16, 0xbf, 0x86, 0x2a, 0x93, 0x8f, 0x26, 0x36, 0x31, 0x3c, 0x9f, 0x0c, 0x9c, 0x47,
+	0x12, 0xd4, 0x72, 0xfb, 0x39, 0xee, 0x23, 0x29, 0xbf, 0x96, 0x62, 0xae, 0x4a, 0x1e, 0x53, 0xaa,
+	0x1b, 0x42, 0x55, 0xca, 0x23, 0x55, 0xf5, 0x10, 0xb6, 0xce, 0xac, 0xa0, 0x6d, 0x86, 0xa6, 0xf2,
+	0x33, 0x28, 0xf6, 0x27, 0xd6, 0x1d, 0x8b, 0x82, 0x6b, 0x8e, 0x89, 0x8c, 0x13, 0x08, 0xd1, 0x25,
+	0x93, 0xa8, 0x7f, 0x86, 0x02, 0x0b, 0xad, 0x7e, 0xbc, 0x96, 0xb6, 0xf2, 0x11, 0xb6, 0xcd, 0x87,
+	0x20, 0x1d, 0xd1, 0xe2, 0xd1, 0x9b, 0xfa, 0xb3, 0x5f, 0x7e, 0x3d, 0x99, 0x39, 0x2c, 0xaf, 0x12,
+	0x3b, 0xf5, 0x2b, 0xc8, 0x9f, 0x87, 0xa1, 0x87, 0xb6, 0x77, 0x21, 0x3f, 0x72, 0x98, 0x97, 0x27,
+	0x7e, 0x94, 0x83, 0x5b, 0x7c, 0x7f, 0xe3, 0x8f, 0xd4, 0xbf, 0x66, 0xa1, 0xd2, 0x93, 0x8c, 0x57,
+	0x9e, 0xc8, 0x8e, 0x3f, 0xc0, 0x21, 0xbd, 0x27, 0xfe, 0x83, 0xef, 0x84, 0xc4, 0xa0, 0x98, 0x3b,
+	0xec, 0x5e, 0x23, 0x9f, 0x98, 0xf6, 0xd4, 0x20, 0x8f, 0x0c, 0xe9, 0xb8, 0x43, 0x83, 0xe5, 0x0f,
+	0x0b, 0xe0, 0x1d, 0x12, 0xe6, 0xb5, 0xaf, 0x62, 0x84, 0x48, 0xb6, 0xa0, 0x29, 0xf4, 0x3b, 0x52,
+	0xbd, 0xeb, 0xb2, 0x28, 0xdd, 0x29, 0xbf, 0x81, 0xd7, 0x36, 0x19, 0x91, 0x04, 0xef, 0xc4, 0x75,
+	0xfe, 0x34, 0x21, 0x31, 0x5b, 0x16, 0xd9, 0x76, 0x85, 0x92, 0xa4, 0xba, 0x41, 0x15, 0xc9, 0xf0,
+	0x3b, 0xf8, 0x3a, 0xc5, 0x30, 0xf0, 0xe9, 0xd8, 0x08, 0xe8, 0xc4, 0x67, 0xc9, 0x64, 0x0e, 0x42,
+	0x5e, 0x37, 0xe5, 0x83, 0x58, 0xbc, 0x39, 0xdb, 0x97, 0x73, 0x6c, 0xa7, 0x4c, 0x5d, 0x47, 0xed,
+	0x26, 0x57, 0x8e, 0x1e, 0xaf, 0xfe, 0x6d, 0x03, 0x4a, 0xd1, 0x46, 0xf7, 0x88, 0xa5, 0x5c, 0x40,
+	0x65, 0x68, 0x05, 0x06, 0x2b, 0x17, 0xa6, 0xa4, 0x97, 0xdf, 0x82, 0xba, 0x24, 0x22, 0x32, 0x39,
+	0xce, 0x3f, 0xd1, 0xca, 0x43, 0xb1, 0x14, 0xb6, 0x14, 0x1d, 0x14, 0x1e, 0xde, 0xe0, 0x78, 0x8e,
+	0x50, 0x84, 0xf8, 0xcb, 0xe5, 0x21, 0x16, 0x19, 0xc4, 0x28, 0x2b, 0x66, 0xb4, 0x91, 0xa4, 0x57,
+	0x50, 0xbd, 0x65, 0x41, 0x9e, 0xa3, 0xcc, 0x21, 0xe5, 0xc1, 0x12, 0xca, 0x28, 0x2f, 0x18, 0xe3,
+	0xf6, 0xad, 0x5c, 0x4b, 0xc2, 0x73, 0x28, 0xcf, 0xde, 0xcc, 0xe3, 0xb1, 0xb1, 0xf6, 0x8b, 0x33,
+	0x5a, 0x31, 0x7a, 0x31, 0x8f, 0xd3, 0xef, 0x61, 0x47, 0x04, 0xc8, 0xb0, 0xe2, 0xba, 0x53, 0x7b,
+	0x81, 0x6c, 0xdf, 0x2c, 0x61, 0x4b, 0x97, 0x2a, 0xad, 0x4a, 0xd3, 0xc5, 0xeb, 0x06, 0xaa, 0x71,
+	0x87, 0xa4, 0x22, 0x65, 0x6b, 0x9b, 0x48, 0x7c, 0xb8, 0x84, 0x38, 0x95, 0xe4, 0x5a, 0x25, 0x9c,
+	0x17, 0xb4, 0xca, 0x50, 0x4c, 0xb8, 0xb1, 0x55, 0x84, 0x42, 0xec, 0x05, 0xf5, 0x9f, 0x19, 0xc8,
+	0xeb, 0xd6, 0x2d, 0xb1, 0x27, 0x23, 0xa2, 0x34, 0xe1, 0xd3, 0x40, 0xae, 0x0d, 0xd6, 0xc3, 0xfc,
+	0x90, 0xbb, 0x2b, 0xca, 0x8d, 0x9d, 0xe8, 0x0a, 0xbc, 0x67, 0xd4, 0x99, 0x37, 0x88, 0xb6, 0x13,
+	0x69, 0xeb, 0x5c, 0x99, 0x8b, 0x94, 0x1f, 0x20, 0x16, 0x1a, 0xc4, 0xb5, 0x05, 0x41, 0xf6, 0x39,
+	0x82, 0x4a, 0xa4, 0xdb, 0x71, 0x6d, 0x84, 0x37, 0x19, 0x1c, 0x0d, 0x63, 0x39, 0xa5, 0x03, 0x86,
+	0x9f, 0xca, 0xb8, 0xbf, 0x9a, 0x83, 0xf3, 0x22, 0x79, 0x35, 0x68, 0x9b, 0x53, 0x6d, 0x1b, 0x01,
+	0xf1, 0x5e, 0xfd, 0xd7, 0x06, 0x14, 0x23, 0x97, 0xfc, 0x96, 0xf6, 0x15, 0x05, 0x36, 0x12, 0x75,
+	0x09, 0xd7, 0xca, 0x3e, 0xf3, 0x08, 0x09, 0x2c, 0xdf, 0xf1, 0xe2, 0xb2, 0xcc, 0x1a, 0x51, 0x42,
+	0xa4, 0xbc, 0x06, 0x60, 0xd5, 0x19, 0xa3, 0xcc, 0x3a, 0x55, 0x0e, 0x15, 0x0a, 0x52, 0xc2, 0xfa,
+	0xd4, 0x05, 0x94, 0xe3, 0x48, 0x05, 0xec, 0x93, 0x92, 0xd9, 0xf4, 0x66, 0x8d, 0x30, 0xf1, 0x2f,
+	0x50, 0x2b, 0x85, 0xc9, 0xef, 0xf1, 0xd7, 0x90, 0x8f, 0x1c, 0x21, 0x13, 0x69, 0x59, 0x92, 0x47,
+	0xe1, 0xd2, 0x62, 0x90, 0xd2, 0x81, 0x4d, 0xe6, 0x85, 0x70, 0x22, 0xd2, 0x65, 0xfb, 0xe8, 0x17,
+	0x6b, 0xdc, 0x83, 0xf9, 0xa6, 0xae, 0x23, 0x48, 0x93, 0x60, 0x76, 0x8f, 0x32, 0x6b, 0xb1, 0xd8,
+	0x64, 0x30, 0x00, 0xb5, 0x2d, 0xbc, 0xcc, 0xde, 0x93, 0x7e, 0xd5, 0x8b, 0x86, 0x1c, 0xad, 0x14,
+	0x01, 0xb8, 0x48, 0xb9, 0x86, 0x57, 0x4f, 0x9a, 0x9e, 0x60, 0xca, 0xaf, 0x64, 0x7a, 0x39, 0x4a,
+	0xf5, 0x39, 0x64, 0x64, 0x57, 0xc2, 0x1a, 0x17, 0x13, 0x15, 0x56, 0x5f, 0x29, 0x02, 0x70, 0x91,
+	0x7a, 0x0e, 0x9b, 0xe2, 0x95, 0xca, 0x2b, 0x50, 0xf4, 0x5e, 0xb3, 0x77, 0xa3, 0x1b, 0x37, 0x97,
+	0xfa, 0x75, 0xe7, 0xa4, 0x7b, 0xda, 0xed, 0xb4, 0xab, 0x9f, 0x28, 0x45, 0xd8, 0xea, 0x5c, 0x36,
+	0x5b, 0x17, 0x6c, 0x93, 0x51, 0x4a, 0x90, 0x6f, 0x77, 0x75, 0xb1, 0xcb, 0xf2, 0xa3, 0x76, 0xe7,
+	0xa2, 0xd3, 0x63, 0x9b, 0x9c, 0x7a, 0x0a, 0xe5, 0x8e, 0xef, 0x53, 0xff, 0x82, 0x0e, 0x3b, 0x6e,
+	0xe8, 0x4f, 0x95, 0x2a, 0xe4, 0x66, 0x7d, 0x87, 0x2f, 0xf9, 0x5c, 0x44, 0xb8, 0x8a, 0x61, 0x93,
+	0x90, 0x8d, 0x40, 0x51, 0x5b, 0x2e, 0xa1, 0xb0, 0x2d, 0x64, 0xea, 0xdf, 0x33, 0x50, 0x42, 0x22,
+	0x7d, 0x32, 0x1e, 0x9b, 0x8c, 0xa7, 0x01, 0x20, 0x50, 0x7c, 0xf6, 0x43, 0xba, 0xed, 0xa3, 0x6a,
+	0xf4, 0x40, 0x36, 0x18, 0xd6, 0x4f, 0x98, 0x5c, 0x2b, 0xa0, 0x0e, 0x5f, 0xf2, 0x8e, 0x1b, 0x01,
+	0xd8, 0xb4, 0x85, 0xe9, 0x9b, 0xd3, 0x40, 0x9e, 0xf3, 0xf9, 0xac, 0x07, 0x3b, 0x42, 0x61, 0x44,
+	0x87, 0xec, 0x33, 0x0c, 0x7d, 0x47, 0x8e, 0x08, 0xc5, 0xa3, 0xb7, 0x4b, 0x52, 0x63, 0xee, 0x79,
+	0x6c, 0x42, 0x48, 0x6c, 0x19, 0x81, 0xfa, 0xef, 0x2d, 0xa8, 0x46, 0xd9, 0x83, 0x76, 0x88, 0x1f,
+	0x28, 0xef, 0x60, 0x37, 0x6e, 0x57, 0x4c, 0x66, 0x27, 0x9b, 0x16, 0xbe, 0x25, 0xa7, 0xbd, 0x92,
+	0x0a, 0xa7, 0xfc, 0x7c, 0xd6, 0xa4, 0x94, 0x5f, 0xc2, 0x67, 0xfd, 0x69, 0x48, 0x16, 0x01, 0xc5,
+	0x93, 0x5e, 0xe2, 0x71, 0x1a, 0xf6, 0x2b, 0xf8, 0x62, 0xde, 0x22, 0x75, 0x47, 0x53, 0x89, 0xe6,
+	0x85, 0x3d, 0x87, 0xd8, 0x5a, 0xd2, 0xe8, 0x15, 0xd3, 0x40, 0x06, 0x5e, 0xbf, 0xbf, 0x87, 0xbd,
+	0xa4, 0xd9, 0x14, 0x7a, 0x43, 0x5c, 0x79, 0x66, 0x79, 0x0e, 0xfb, 0x01, 0x0e, 0x16, 0x35, 0xe7,
+	0xe0, 0xce, 0xf1, 0x3c, 0x36, 0xf7, 0xf5, 0xa7, 0x46, 0x30, 0x75, 0x2d, 0xfc, 0x88, 0x73, 0xda,
+	0x4f, 0x69, 0xba, 0x2f, 0xeb, 0x42, 0xaf, 0x35, 0xd5, 0x99, 0x96, 0x72, 0x06, 0x3f, 0x97, 0x17,
+	0x59, 0x42, 0xb5, 0x89, 0x54, 0x5f, 0x88, 0xfb, 0x3c, 0x43, 0x74, 0x0c, 0x91, 0x8b, 0x59, 0x46,
+	0x78, 0x0e, 0x43, 0x87, 0x54, 0xbc, 0x66, 0x0b, 0xd1, 0x9f, 0xca, 0xd3, 0x13, 0x3c, 0xec, 0x51,
+	0x7c, 0x4a, 0x03, 0x84, 0x7b, 0xd3, 0x90, 0x3c, 0x42, 0x76, 0xf0, 0x6c, 0x0e, 0xf0, 0x03, 0x7c,
+	0x1e, 0x59, 0x11, 0x63, 0xc7, 0x7c, 0xc8, 0x0a, 0x73, 0x6e, 0x6f, 0x0b, 0x8d, 0x44, 0xd8, 0x58,
+	0xa2, 0x08, 0x7b, 0x8b, 0xc0, 0x90, 0xf0, 0xfa, 0x42, 0xe8, 0x62, 0xcb, 0xfc, 0xbe, 0xc5, 0xb9,
+	0x1c, 0x4b, 0x82, 0xf9, 0xa5, 0xe3, 0x1c, 0x7b, 0x0a, 0x2c, 0x25, 0x72, 0x2c, 0x0d, 0x7b, 0x0f,
+	0x7b, 0x8b, 0xe2, 0x3c, 0x60, 0x1f, 0x30, 0xb1, 0x6b, 0x65, 0x44, 0x7e, 0xf6, 0x24, 0xbc, 0xa7,
+	0x78, 0xac, 0x7c, 0x07, 0xb5, 0xa7, 0x71, 0x95, 0xd0, 0x6d, 0x84, 0xfe, 0x24, 0x15, 0x4e, 0x09,
+	0xec, 0x82, 0x1a, 0x5b, 0x45, 0x09, 0x0f, 0x8a, 0x9c, 0x09, 0x67, 0xf7, 0xae, 0x20, 0xc5, 0xeb,
+	0xc8, 0x3a, 0x2a, 0xf6, 0xa8, 0x78, 0x41, 0xfc, 0x80, 0x0e, 0xec, 0xcb, 0x3b, 0x3c, 0x4f, 0x54,
+	0x45, 0xa2, 0xcf, 0xc5, 0x5d, 0x16, 0xd2, 0xa8, 0x7f, 0x79, 0x01, 0x3b, 0xb3, 0xf9, 0x82, 0x88,
+	0x5f, 0x29, 0x0b, 0x5b, 0xea, 0x7c, 0xc3, 0xcc, 0xae, 0x6c, 0x98, 0xb9, 0xff, 0xa7, 0x61, 0xbe,
+	0x03, 0x98, 0x8d, 0x09, 0xb2, 0xf7, 0x2e, 0x6b, 0x09, 0x85, 0x78, 0x46, 0x60, 0x09, 0x91, 0xe7,
+	0x73, 0x09, 0x02, 0x5f, 0xac, 0x04, 0x6e, 0x31, 0x5d, 0x84, 0x7d, 0x48, 0x75, 0xd8, 0xe3, 0xb5,
+	0x06, 0x32, 0xe9, 0xb0, 0x74, 0x9f, 0x3d, 0x83, 0xbc, 0x25, 0xeb, 0xa7, 0x6c, 0xb1, 0xdf, 0xac,
+	0x41, 0x17, 0x95, 0x5c, 0x2d, 0x06, 0x2b, 0x1a, 0xfb, 0x79, 0x87, 0x75, 0xbe, 0xcf, 0xba, 0xf0,
+	0x9d, 0x4d, 0x1f, 0xd8, 0xc0, 0x98, 0xc7, 0x32, 0xff, 0x66, 0x55, 0x99, 0x97, 0xcd, 0x47, 0x56,
+	0xf9, 0x56, 0x8c, 0xe7, 0x3f, 0xc1, 0xe3, 0x48, 0xfd, 0x48, 0xfb, 0xe2, 0x47, 0x5d, 0x41, 0xfc,
+	0x04, 0x0f, 0x67, 0xb3, 0x03, 0xfe, 0x0e, 0xb4, 0x56, 0x36, 0xd7, 0x0a, 0x14, 0xbb, 0x97, 0xc6,
+	0xb5, 0x76, 0x75, 0xa6, 0x75, 0x74, 0x9d, 0x35, 0x58, 0x80, 0xcd, 0xeb, 0xe6, 0x8d, 0x1e, 0xb5,
+	0x57, 0xfd, 0xe6, 0xe4, 0x84, 0x1f, 0xe4, 0xf8, 0xc1, 0x69, 0xb3, 0xcb, 0xfb, 0xee, 0x06, 0x3f,
+	0x68, 0xb6, 0xae, 0x34, 0xde, 0x77, 0x5f, 0xb4, 0xbe, 0x83, 0x03, 0x8b, 0x8e, 0x97, 0xbc, 0x07,
+	0xe3, 0xd6, 0x2a, 0x47, 0x7e, 0xea, 0xf1, 0xff, 0xc8, 0xfc, 0x27, 0x93, 0xe9, 0x6f, 0xe2, 0xc1,
+	0xf1, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x31, 0xa9, 0x7d, 0xb0, 0x12, 0x00, 0x00,
 }
diff --git a/googleapis/type/color/color.pb.go b/googleapis/type/color/color.pb.go
index 09434bfc..772e6e02 100644
--- a/googleapis/type/color/color.pb.go
+++ b/googleapis/type/color/color.pb.go
@@ -185,20 +185,20 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 231 bytes of a gzipped FileDescriptorProto
+	// 230 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0x04, 0x31,
-	0x10, 0x85, 0xd9, 0xdd, 0x5b, 0x8b, 0xb9, 0x42, 0x09, 0x16, 0x8b, 0x36, 0x87, 0x20, 0x5c, 0x95,
-	0x41, 0xad, 0x04, 0xab, 0x13, 0xb4, 0x5d, 0x0e, 0xb1, 0xcf, 0xae, 0xe3, 0xdc, 0x41, 0x6e, 0x27,
-	0xe4, 0x12, 0xc5, 0xbf, 0xe3, 0x2f, 0x95, 0x24, 0x2b, 0xda, 0x84, 0x97, 0x99, 0xf7, 0x3e, 0xde,
-	0xc0, 0x03, 0x8b, 0xb0, 0x25, 0xcd, 0x62, 0xcd, 0xc4, 0x5a, 0x3c, 0x23, 0xd3, 0xe4, 0xbc, 0x04,
-	0xc1, 0xb2, 0x32, 0x6e, 0x7f, 0xc4, 0xf0, 0xe5, 0x08, 0x47, 0xb1, 0xe2, 0xcb, 0xab, 0xb3, 0x43,
-	0x2d, 0xe7, 0x74, 0x5a, 0x5f, 0xdc, 0xf3, 0x3e, 0xec, 0xe2, 0xa0, 0x47, 0x39, 0x60, 0xc1, 0x61,
-	0x76, 0x0d, 0xf1, 0x1d, 0x5d, 0x72, 0x1c, 0xf1, 0xd3, 0x1b, 0xe7, 0xc8, 0xff, 0x89, 0xc2, 0xb9,
-	0xfa, 0x80, 0xf6, 0x31, 0x61, 0xd5, 0x19, 0x34, 0x9e, 0xde, 0xba, 0x6a, 0x55, 0xad, 0xeb, 0x6d,
-	0x92, 0xea, 0x1c, 0x5a, 0xf6, 0x44, 0x53, 0x57, 0xe7, 0x59, 0xf9, 0x28, 0x05, 0x8b, 0xc1, 0x46,
-	0xea, 0x9a, 0x3c, 0xcc, 0x5a, 0xdd, 0x40, 0x6b, 0xac, 0xdb, 0x99, 0x6e, 0xb1, 0xaa, 0xd6, 0xcb,
-	0xdb, 0x4b, 0x3d, 0x97, 0xfb, 0x2d, 0xa1, 0x9f, 0xac, 0x98, 0xf0, 0x6a, 0x6c, 0xa4, 0x6d, 0x71,
-	0x6e, 0xae, 0xe1, 0x74, 0x94, 0x83, 0xfe, 0x77, 0xc5, 0x06, 0x72, 0x91, 0x3e, 0x65, 0xfa, 0xea,
-	0xbb, 0x6e, 0x9e, 0x5f, 0xfa, 0xe1, 0x24, 0x23, 0xee, 0x7e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x6a,
-	0xe1, 0xe0, 0x7d, 0x2d, 0x01, 0x00, 0x00,
+	0x10, 0x85, 0xd9, 0xdd, 0x5b, 0x8b, 0xb9, 0x42, 0x09, 0x16, 0x8b, 0x36, 0x22, 0x08, 0x56, 0x19,
+	0xd4, 0x4a, 0xb0, 0x3a, 0x41, 0xdb, 0xe5, 0x10, 0xfb, 0xe4, 0x1c, 0xe7, 0x0e, 0xe2, 0x4e, 0xc8,
+	0x65, 0x15, 0xff, 0x8e, 0xbf, 0xd4, 0x4d, 0xb2, 0xe2, 0x35, 0xe1, 0xe5, 0xcd, 0x37, 0x8f, 0x37,
+	0xf0, 0xc0, 0x22, 0xec, 0x48, 0xb3, 0x38, 0x33, 0xb0, 0x96, 0xc0, 0xc8, 0x34, 0xf8, 0x20, 0x51,
+	0xb0, 0x8c, 0x8c, 0xdf, 0xed, 0x31, 0x7e, 0x7b, 0xc2, 0x8d, 0x38, 0x09, 0xe5, 0xd5, 0x99, 0x50,
+	0xcb, 0x79, 0x3b, 0x8d, 0xcf, 0xee, 0x79, 0x17, 0xb7, 0xa3, 0xd5, 0x1b, 0xf9, 0xc0, 0x12, 0x87,
+	0x99, 0xb2, 0xe3, 0x3b, 0xfa, 0x44, 0xec, 0xf1, 0x2b, 0x18, 0xef, 0x29, 0xfc, 0x8b, 0x92, 0x73,
+	0xf9, 0x09, 0xed, 0x63, 0x8a, 0x55, 0x27, 0xd0, 0x04, 0x7a, 0xeb, 0xaa, 0x8b, 0xea, 0xba, 0x5e,
+	0x27, 0xa9, 0x4e, 0xa1, 0xe5, 0x40, 0x34, 0x74, 0x75, 0xf6, 0xca, 0x47, 0x29, 0x58, 0x58, 0x37,
+	0x52, 0xd7, 0x64, 0x33, 0x6b, 0x75, 0x03, 0xad, 0x71, 0x7e, 0x6b, 0xba, 0xc5, 0x64, 0x2e, 0x6f,
+	0xcf, 0xf5, 0x5c, 0xee, 0xaf, 0x84, 0x7e, 0x72, 0x62, 0xe2, 0xab, 0x99, 0xd8, 0x75, 0x21, 0x57,
+	0x57, 0x70, 0x3c, 0xb5, 0xd5, 0x07, 0x57, 0xac, 0x20, 0x17, 0xe9, 0xd3, 0x4e, 0x5f, 0xfd, 0xd4,
+	0xcd, 0xf3, 0x4b, 0x6f, 0x8f, 0x72, 0xc4, 0xdd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0xe1,
+	0xe0, 0x7d, 0x2d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/date/date.pb.go b/googleapis/type/date/date.pb.go
index 73f78cba..c8a40769 100644
--- a/googleapis/type/date/date.pb.go
+++ b/googleapis/type/date/date.pb.go
@@ -60,16 +60,15 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 161 bytes of a gzipped FileDescriptorProto
+	// 160 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4a, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
 	0x16, 0xa4, 0xea, 0xa7, 0x24, 0x96, 0x40, 0x08, 0x3d, 0xb0, 0xbc, 0x10, 0x37, 0x54, 0x2f, 0x48,
-	0x52, 0xc9, 0x89, 0x8b, 0xc5, 0x25, 0xb1, 0x24, 0x55, 0x48, 0x88, 0x8b, 0xa5, 0x32, 0x35, 0xb1,
-	0x48, 0x82, 0x51, 0x81, 0x51, 0x83, 0x35, 0x08, 0xcc, 0x16, 0x12, 0xe1, 0x62, 0xcd, 0xcd, 0xcf,
-	0x2b, 0xc9, 0x90, 0x60, 0x02, 0x0b, 0x42, 0x38, 0x42, 0x02, 0x5c, 0xcc, 0x29, 0x89, 0x95, 0x12,
-	0xcc, 0x60, 0x31, 0x10, 0xd3, 0x49, 0x85, 0x8b, 0x3f, 0x39, 0x3f, 0x57, 0x0f, 0xc9, 0x58, 0x27,
-	0x4e, 0x90, 0xa1, 0x01, 0x20, 0xeb, 0x02, 0x18, 0x17, 0x31, 0x31, 0xbb, 0x87, 0x04, 0x24, 0xb1,
-	0x81, 0x6d, 0x37, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xd4, 0x98, 0x3f, 0xbb, 0x00, 0x00,
-	0x00,
+	0x52, 0xc9, 0x89, 0x8b, 0xc5, 0x05, 0x28, 0x25, 0x24, 0xc4, 0xc5, 0x52, 0x99, 0x9a, 0x58, 0x24,
+	0xc1, 0xa8, 0xc0, 0xa8, 0xc1, 0x1a, 0x04, 0x66, 0x0b, 0x89, 0x70, 0xb1, 0xe6, 0xe6, 0xe7, 0x95,
+	0x64, 0x48, 0x30, 0x81, 0x05, 0x21, 0x1c, 0x21, 0x01, 0x2e, 0xe6, 0x94, 0xc4, 0x4a, 0x09, 0x66,
+	0xb0, 0x18, 0x88, 0xe9, 0xa4, 0xc2, 0xc5, 0x9f, 0x9c, 0x9f, 0xab, 0x87, 0x64, 0xac, 0x13, 0x27,
+	0xc8, 0xd0, 0x00, 0x90, 0x75, 0x01, 0x8c, 0x8b, 0x98, 0x98, 0xdd, 0x43, 0x02, 0x92, 0xd8, 0xc0,
+	0xb6, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xaa, 0xd4, 0x98, 0x3f, 0xbb, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/dayofweek/dayofweek.pb.go b/googleapis/type/dayofweek/dayofweek.pb.go
index a83dc16d..5c437f46 100644
--- a/googleapis/type/dayofweek/dayofweek.pb.go
+++ b/googleapis/type/dayofweek/dayofweek.pb.go
@@ -84,20 +84,20 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 228 bytes of a gzipped FileDescriptorProto
+	// 226 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x49, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
 	0x16, 0xa4, 0xea, 0xa7, 0x24, 0x56, 0xe6, 0xa7, 0x95, 0xa7, 0xa6, 0x66, 0x23, 0x58, 0x7a, 0x60,
 	0x95, 0x42, 0xdc, 0x50, 0x53, 0x40, 0xca, 0xb4, 0x5a, 0x18, 0xb9, 0x38, 0x5d, 0x12, 0x2b, 0xfd,
-	0xd3, 0xc2, 0x53, 0x53, 0xb3, 0x85, 0xa4, 0xb9, 0xc4, 0x5d, 0x1c, 0x23, 0xe3, 0xfd, 0xdd, 0xe2,
-	0xc3, 0x5d, 0x5d, 0xbd, 0xe3, 0x43, 0xfd, 0x82, 0x03, 0x5c, 0x9d, 0x3d, 0xdd, 0x3c, 0x5d, 0x5d,
-	0x04, 0x18, 0x84, 0xb8, 0xb8, 0xd8, 0x7c, 0xfd, 0xfd, 0x5c, 0x1c, 0x23, 0x05, 0x18, 0x85, 0xb8,
-	0xb9, 0xd8, 0x43, 0x42, 0x5d, 0x83, 0x41, 0x1c, 0x26, 0x21, 0x5e, 0x2e, 0xce, 0x70, 0x57, 0x17,
-	0x3f, 0x08, 0x97, 0x59, 0x88, 0x87, 0x8b, 0x23, 0xc4, 0x23, 0x34, 0x08, 0xcc, 0x63, 0x01, 0xe9,
-	0x72, 0x0b, 0xf2, 0x04, 0xb1, 0x59, 0x41, 0x32, 0xc1, 0x8e, 0x21, 0xa1, 0x41, 0x20, 0x1e, 0x1b,
-	0x48, 0x26, 0x38, 0x14, 0x6c, 0x1e, 0xbb, 0x93, 0x26, 0x17, 0x7f, 0x72, 0x7e, 0xae, 0x1e, 0x92,
-	0xcb, 0x9c, 0xf8, 0xe0, 0xce, 0x0a, 0x00, 0x39, 0x3b, 0x80, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48,
-	0x40, 0x12, 0x1b, 0xd8, 0x17, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x8e, 0xb4, 0xe7,
-	0x0d, 0x01, 0x00, 0x00,
+	0xd3, 0xc2, 0x81, 0x0a, 0x84, 0xa4, 0xb9, 0xc4, 0x5d, 0x1c, 0x23, 0xe3, 0xfd, 0xdd, 0xe2, 0xc3,
+	0x5d, 0x5d, 0xbd, 0xe3, 0x43, 0xfd, 0x82, 0x03, 0x5c, 0x9d, 0x3d, 0xdd, 0x3c, 0x5d, 0x5d, 0x04,
+	0x18, 0x84, 0xb8, 0xb8, 0xd8, 0x7c, 0xfd, 0xfd, 0x80, 0xf2, 0x02, 0x8c, 0x42, 0xdc, 0x5c, 0xec,
+	0x21, 0xa1, 0xae, 0xc1, 0x20, 0x0e, 0x93, 0x10, 0x2f, 0x17, 0x67, 0xb8, 0xab, 0x8b, 0x1f, 0x84,
+	0xcb, 0x2c, 0xc4, 0xc3, 0xc5, 0x11, 0xe2, 0x11, 0x1a, 0x04, 0xe6, 0xb1, 0x80, 0x74, 0xb9, 0x05,
+	0x79, 0x82, 0xd8, 0xac, 0x20, 0x99, 0x60, 0xc7, 0x90, 0xd0, 0x20, 0x10, 0x8f, 0x0d, 0x24, 0x13,
+	0x1c, 0x0a, 0x36, 0x8f, 0xdd, 0x49, 0x93, 0x8b, 0x3f, 0x39, 0x3f, 0x57, 0x0f, 0xc9, 0x65, 0x4e,
+	0x7c, 0x70, 0x67, 0x05, 0x80, 0x9c, 0x1d, 0xc0, 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0x24, 0x20, 0x89,
+	0x0d, 0xec, 0x0b, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x25, 0x8e, 0xb4, 0xe7, 0x0d, 0x01,
+	0x00, 0x00,
 }
diff --git a/googleapis/type/latlng/latlng.pb.go b/googleapis/type/latlng/latlng.pb.go
index 56c31458..01385a48 100644
--- a/googleapis/type/latlng/latlng.pb.go
+++ b/googleapis/type/latlng/latlng.pb.go
@@ -88,15 +88,15 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 158 bytes of a gzipped FileDescriptorProto
+	// 157 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x4b, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
 	0x16, 0xa4, 0xea, 0xe7, 0x24, 0x96, 0xe4, 0xe4, 0xa5, 0x43, 0x29, 0x3d, 0xb0, 0x1a, 0x21, 0x6e,
 	0xa8, 0x7e, 0x90, 0x02, 0x25, 0x27, 0x2e, 0x36, 0x9f, 0xc4, 0x12, 0x9f, 0xbc, 0x74, 0x21, 0x29,
-	0x2e, 0x8e, 0x9c, 0xc4, 0x92, 0xcc, 0x92, 0xd2, 0x94, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xc6,
-	0x20, 0x38, 0x5f, 0x48, 0x86, 0x8b, 0x33, 0x27, 0x3f, 0x2f, 0x1d, 0x22, 0xc9, 0x04, 0x96, 0x44,
-	0x08, 0x38, 0xa9, 0x71, 0xf1, 0x27, 0xe7, 0xe7, 0xea, 0x21, 0x19, 0xeb, 0xc4, 0x0d, 0x31, 0x34,
-	0x00, 0x64, 0x61, 0x00, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0xfd, 0xc6,
-	0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x6e, 0x2a, 0x09, 0xc1, 0x00, 0x00, 0x00,
+	0x2e, 0x0e, 0xa0, 0xb2, 0xcc, 0x92, 0xd2, 0x94, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d, 0xc6, 0x20,
+	0x38, 0x5f, 0x48, 0x86, 0x8b, 0x33, 0x27, 0x3f, 0x2f, 0x1d, 0x22, 0xc9, 0x04, 0x96, 0x44, 0x08,
+	0x38, 0xa9, 0x71, 0xf1, 0x27, 0xe7, 0xe7, 0xea, 0x21, 0x19, 0xeb, 0xc4, 0x0d, 0x31, 0x34, 0x00,
+	0x64, 0x61, 0x00, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0xfd, 0xc6, 0x80,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0x6e, 0x2a, 0x09, 0xc1, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/money/money.pb.go b/googleapis/type/money/money.pb.go
index 830ff4d0..a5c103a4 100644
--- a/googleapis/type/money/money.pb.go
+++ b/googleapis/type/money/money.pb.go
@@ -58,17 +58,17 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 183 bytes of a gzipped FileDescriptorProto
+	// 179 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x49, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
 	0x16, 0xa4, 0xea, 0xe7, 0xe6, 0xe7, 0xa5, 0x56, 0x42, 0x48, 0x3d, 0xb0, 0x0a, 0x21, 0x6e, 0xa8,
 	0x6e, 0x90, 0xb4, 0x52, 0x04, 0x17, 0xab, 0x2f, 0x48, 0x4e, 0x48, 0x99, 0x8b, 0x37, 0xb9, 0xb4,
 	0xa8, 0x28, 0x35, 0x2f, 0xb9, 0x32, 0x3e, 0x39, 0x3f, 0x25, 0x55, 0x82, 0x51, 0x81, 0x51, 0x83,
-	0x33, 0x88, 0x07, 0x26, 0xe8, 0x9c, 0x9f, 0x92, 0x2a, 0x24, 0xc2, 0xc5, 0x5a, 0x9a, 0x97, 0x59,
-	0x52, 0x2c, 0xc1, 0xa4, 0xc0, 0xa8, 0xc1, 0x1c, 0x04, 0xe1, 0x80, 0x44, 0xf3, 0x12, 0xf3, 0xf2,
-	0x8b, 0x25, 0x98, 0x15, 0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0x27, 0x55, 0x2e, 0xfe, 0xe4, 0xfc,
-	0x5c, 0x3d, 0x24, 0xcb, 0x9c, 0xb8, 0xc0, 0x56, 0x05, 0x80, 0x5c, 0x11, 0xc0, 0xb8, 0x88, 0x89,
-	0xd9, 0x3d, 0x24, 0x20, 0x89, 0x0d, 0xec, 0x28, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x10,
-	0xfa, 0x29, 0x0d, 0xd4, 0x00, 0x00, 0x00,
+	0x33, 0x88, 0x07, 0x26, 0xe8, 0x0c, 0x14, 0x13, 0x12, 0xe1, 0x62, 0x2d, 0xcd, 0xcb, 0x2c, 0x29,
+	0x96, 0x60, 0x02, 0x4a, 0x32, 0x07, 0x41, 0x38, 0x20, 0xd1, 0xbc, 0xc4, 0xbc, 0xfc, 0x62, 0x09,
+	0x66, 0xa0, 0x28, 0x6b, 0x10, 0x84, 0xe3, 0xa4, 0xca, 0xc5, 0x9f, 0x9c, 0x9f, 0xab, 0x87, 0x64,
+	0x99, 0x13, 0x17, 0xd8, 0xaa, 0x00, 0x90, 0x2b, 0x02, 0x18, 0x17, 0x31, 0x31, 0xbb, 0x87, 0x04,
+	0x24, 0xb1, 0x81, 0x1d, 0x65, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x10, 0xfa, 0x29, 0x0d, 0xd4,
+	0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/timeofday/timeofday.pb.go b/googleapis/type/timeofday/timeofday.pb.go
index 34596bc0..3f8325e3 100644
--- a/googleapis/type/timeofday/timeofday.pb.go
+++ b/googleapis/type/timeofday/timeofday.pb.go
@@ -58,17 +58,17 @@ func init() {
 }
 
 var fileDescriptor0 = []byte{
-	// 191 bytes of a gzipped FileDescriptorProto
+	// 190 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x72, 0x49, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xeb, 0x97, 0x54,
 	0x16, 0xa4, 0xea, 0x97, 0x64, 0xe6, 0xa6, 0xe6, 0xa7, 0xa5, 0x24, 0x56, 0x22, 0x58, 0x7a, 0x60,
-	0x95, 0x42, 0xdc, 0x50, 0x53, 0x40, 0xca, 0x94, 0xb2, 0xb9, 0x38, 0x43, 0x32, 0x73, 0x53, 0xfd,
-	0xd3, 0x5c, 0x12, 0x2b, 0x85, 0x44, 0xb8, 0x58, 0x33, 0xf2, 0x4b, 0x8b, 0x8a, 0x25, 0x18, 0x15,
-	0x18, 0x35, 0x58, 0x83, 0x20, 0x1c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xcc, 0xbc, 0xd2, 0x92, 0xd4,
-	0x62, 0x09, 0x26, 0xb0, 0x38, 0x8c, 0x0b, 0x92, 0x29, 0x4e, 0x4d, 0xce, 0xcf, 0x4b, 0x29, 0x96,
-	0x60, 0x86, 0xc8, 0x40, 0xb9, 0x20, 0x93, 0xf2, 0x12, 0xf3, 0xf2, 0x8b, 0x25, 0x58, 0x20, 0x26,
-	0x81, 0x39, 0x4e, 0x9a, 0x5c, 0xfc, 0xc9, 0xf9, 0xb9, 0x7a, 0x48, 0xf6, 0x3b, 0xf1, 0xc1, 0x6d,
-	0x0f, 0x00, 0x39, 0x2e, 0x80, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48, 0x40, 0x12, 0x1b, 0xd8, 0xad,
-	0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x92, 0x39, 0x10, 0xf3, 0x00, 0x00, 0x00,
+	0x95, 0x42, 0xdc, 0x50, 0x53, 0x40, 0xca, 0x94, 0xb2, 0xb9, 0x38, 0x43, 0x80, 0xf2, 0xfe, 0x69,
+	0x2e, 0x89, 0x95, 0x42, 0x22, 0x5c, 0xac, 0x19, 0xf9, 0xa5, 0x45, 0xc5, 0x12, 0x8c, 0x0a, 0x8c,
+	0x1a, 0xac, 0x41, 0x10, 0x8e, 0x90, 0x04, 0x17, 0x7b, 0x6e, 0x66, 0x5e, 0x69, 0x49, 0x6a, 0xb1,
+	0x04, 0x13, 0x58, 0x1c, 0xc6, 0x05, 0xc9, 0x14, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, 0x14, 0x4b, 0x30,
+	0x43, 0x64, 0xa0, 0x5c, 0x90, 0x49, 0x79, 0x89, 0x79, 0xf9, 0xc5, 0x12, 0x2c, 0x10, 0x93, 0xc0,
+	0x1c, 0x27, 0x4d, 0x2e, 0xfe, 0xe4, 0xfc, 0x5c, 0x3d, 0x24, 0xfb, 0x9d, 0xf8, 0xe0, 0xb6, 0x07,
+	0x80, 0x1c, 0x17, 0xc0, 0xb8, 0x88, 0x89, 0xd9, 0x3d, 0x24, 0x20, 0x89, 0x0d, 0xec, 0x56, 0x63,
+	0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x92, 0x39, 0x10, 0xf3, 0x00, 0x00, 0x00,
 }
diff --git a/protobuf/api.pb.go b/protobuf/api.pb.go
index 52ea50bd..1705e343 100644
--- a/protobuf/api.pb.go
+++ b/protobuf/api.pb.go
@@ -264,32 +264,32 @@ func init() {
 func init() { proto.RegisterFile("google.golang.org/genproto/protobuf/api.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 425 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x91, 0xc1, 0x8e, 0xd3, 0x30,
-	0x18, 0x84, 0xe5, 0xa4, 0x4d, 0x17, 0xaf, 0xe8, 0x82, 0x91, 0xc0, 0xda, 0xc3, 0x2a, 0xda, 0x53,
-	0x04, 0xda, 0x44, 0x94, 0x0b, 0xd7, 0x16, 0xa1, 0x1e, 0x2a, 0x44, 0x94, 0x82, 0x38, 0x56, 0x69,
-	0x31, 0xc1, 0x52, 0xe2, 0xdf, 0xd8, 0x0e, 0xb4, 0x6f, 0x83, 0x38, 0x72, 0xe4, 0x0d, 0x78, 0x33,
-	0x14, 0x27, 0x6e, 0x4b, 0x5b, 0xa4, 0x72, 0x89, 0xf2, 0x7b, 0xbe, 0x19, 0xdb, 0x63, 0x7c, 0x57,
-	0x00, 0x14, 0x25, 0x8b, 0x0b, 0x28, 0x73, 0x51, 0xc4, 0xa0, 0x8a, 0xa4, 0x60, 0x42, 0x2a, 0x30,
-	0x90, 0xd8, 0xef, 0xb2, 0xfe, 0x94, 0xe4, 0x92, 0xc7, 0x76, 0x20, 0x57, 0x1d, 0xee, 0xa4, 0xeb,
-	0x97, 0xe7, 0xf8, 0x35, 0xd4, 0x6a, 0xc5, 0x16, 0x2b, 0x10, 0x86, 0xad, 0x4d, 0x6b, 0xbe, 0x8e,
-	0xcf, 0x71, 0x9a, 0x8d, 0xec, 0x36, 0xbb, 0xfd, 0xed, 0x61, 0x7f, 0x2c, 0x39, 0x21, 0xb8, 0x27,
-	0xf2, 0x8a, 0x51, 0x14, 0xa2, 0xe8, 0x5e, 0x66, 0xff, 0xc9, 0x73, 0x3c, 0xa8, 0x98, 0xf9, 0x0c,
-	0x1f, 0x35, 0xf5, 0x42, 0x3f, 0xba, 0x1c, 0x3d, 0x89, 0x0f, 0x0e, 0x1a, 0xbf, 0xb1, 0x7a, 0xe6,
-	0xb8, 0xc6, 0x02, 0xd2, 0x70, 0x10, 0x9a, 0xfa, 0xff, 0xb0, 0xbc, 0xb5, 0x7a, 0xe6, 0x38, 0x42,
-	0xf1, 0xe0, 0x2b, 0x53, 0x9a, 0x83, 0xa0, 0x3d, 0xbb, 0xb9, 0x1b, 0xc9, 0x6b, 0x3c, 0xfc, 0xfb,
-	0x8e, 0xb4, 0x1f, 0xa2, 0xe8, 0x72, 0x74, 0x73, 0x94, 0x39, 0xb7, 0xd8, 0xab, 0x96, 0xca, 0xee,
-	0xeb, 0xfd, 0x91, 0xc4, 0x38, 0xa8, 0xf8, 0x9a, 0x0b, 0x4d, 0x03, 0x7b, 0xa4, 0xc7, 0xc7, 0xb7,
-	0x68, 0xe4, 0xac, 0xa3, 0x48, 0x82, 0x03, 0xbd, 0x11, 0x26, 0x5f, 0xd3, 0x41, 0x88, 0xa2, 0xe1,
-	0x89, 0x2b, 0xcc, 0xad, 0x9c, 0x75, 0xd8, 0xed, 0x2f, 0x0f, 0x07, 0x6d, 0x11, 0x27, 0x6b, 0x8c,
-	0xf0, 0x03, 0xc5, 0xbe, 0xd4, 0x4c, 0x9b, 0x45, 0x53, 0xfc, 0xa2, 0x56, 0x25, 0xf5, 0xac, 0x3e,
-	0xec, 0xd6, 0xdf, 0x6d, 0x24, 0x7b, 0xaf, 0x4a, 0xf2, 0x0c, 0x3f, 0x74, 0xa4, 0x36, 0x8a, 0xe5,
-	0x15, 0x17, 0x05, 0xf5, 0x43, 0x14, 0x5d, 0x64, 0x2e, 0x62, 0xee, 0xd6, 0xc9, 0xd3, 0x06, 0xd6,
-	0x12, 0x84, 0x66, 0xbb, 0xdc, 0xb6, 0xc1, 0x2b, 0x27, 0xb8, 0xe0, 0x3b, 0x4c, 0xb6, 0xec, 0x2e,
-	0xb9, 0x6f, 0x93, 0xb7, 0x29, 0xbb, 0xe8, 0xbd, 0x57, 0x0c, 0xce, 0x7c, 0xc5, 0xff, 0x2e, 0x2d,
-	0xc1, 0x7d, 0x5b, 0xfb, 0xc9, 0xca, 0x08, 0xee, 0x29, 0x00, 0xd3, 0xd5, 0x64, 0xff, 0x27, 0x33,
-	0xfc, 0x68, 0x05, 0xd5, 0x61, 0xec, 0xe4, 0x62, 0x2c, 0x79, 0xda, 0x0c, 0x29, 0xfa, 0x8e, 0xd0,
-	0x0f, 0xcf, 0x9f, 0xa6, 0x93, 0x9f, 0xde, 0xcd, 0xb4, 0xc5, 0x52, 0xb7, 0xfb, 0x07, 0x56, 0x96,
-	0x33, 0x01, 0xdf, 0x44, 0x53, 0x89, 0x5e, 0x06, 0xd6, 0xff, 0xe2, 0x4f, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0x97, 0x07, 0xcf, 0x1c, 0xa9, 0x03, 0x00, 0x00,
+	// 424 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x52, 0x4f, 0x4f, 0xe2, 0x40,
+	0x14, 0x4f, 0x5b, 0x28, 0xec, 0x90, 0x85, 0xdd, 0xd9, 0x64, 0xb7, 0xe1, 0x40, 0x08, 0xa7, 0x66,
+	0x37, 0xb4, 0x59, 0xbc, 0x78, 0x15, 0x63, 0x38, 0x10, 0x63, 0x53, 0x34, 0x1e, 0x49, 0xc1, 0xb1,
+	0x36, 0x69, 0x67, 0xea, 0xcc, 0x54, 0xe1, 0xdb, 0x18, 0x8f, 0x1e, 0xfd, 0x06, 0x7e, 0x33, 0xa7,
+	0xd3, 0x0e, 0x20, 0x60, 0x82, 0x97, 0x66, 0xde, 0xfb, 0xfd, 0x79, 0xf3, 0x7e, 0x53, 0xd0, 0x0f,
+	0x09, 0x09, 0x63, 0xe4, 0x84, 0x24, 0x0e, 0x70, 0xe8, 0x10, 0x1a, 0xba, 0x21, 0xc2, 0x29, 0x25,
+	0x9c, 0xb8, 0xf2, 0x3b, 0xcb, 0x6e, 0xdd, 0x20, 0x8d, 0x1c, 0x59, 0xc0, 0x56, 0x49, 0x57, 0x50,
+	0xfb, 0xf8, 0x10, 0x3d, 0x23, 0x19, 0x9d, 0xa3, 0xe9, 0x9c, 0x60, 0x8e, 0x16, 0xbc, 0x10, 0xb7,
+	0x9d, 0x43, 0x94, 0x7c, 0x99, 0x96, 0xc3, 0x7a, 0x6f, 0x3a, 0x30, 0x4e, 0xd2, 0x08, 0x42, 0x50,
+	0xc1, 0x41, 0x82, 0x2c, 0xad, 0xab, 0xd9, 0xdf, 0x7c, 0x79, 0x86, 0xff, 0x41, 0x2d, 0x41, 0xfc,
+	0x8e, 0xdc, 0x30, 0x4b, 0xef, 0x1a, 0x76, 0x63, 0xf0, 0xc7, 0xd9, 0xba, 0xa8, 0x73, 0x2e, 0x71,
+	0x5f, 0xf1, 0x72, 0x09, 0x49, 0x79, 0x44, 0x30, 0xb3, 0x8c, 0x4f, 0x24, 0x17, 0x12, 0xf7, 0x15,
+	0x0f, 0x5a, 0xa0, 0xf6, 0x80, 0x28, 0x13, 0x67, 0xab, 0x22, 0x87, 0xab, 0x12, 0x9e, 0x81, 0xe6,
+	0xc7, 0x1d, 0xad, 0xaa, 0x20, 0x34, 0x06, 0x9d, 0x1d, 0xcf, 0x89, 0xa4, 0x9d, 0x16, 0x2c, 0xff,
+	0x3b, 0xdb, 0x2c, 0xa1, 0x03, 0xcc, 0x24, 0x5a, 0x44, 0xe2, 0x4a, 0xa6, 0xbc, 0xd2, 0xef, 0xdd,
+	0x2d, 0x72, 0xd8, 0x2f, 0x59, 0xd0, 0x05, 0x26, 0x5b, 0x62, 0x1e, 0x2c, 0xac, 0x9a, 0x18, 0xd7,
+	0xdc, 0xb3, 0xc2, 0x44, 0xc2, 0x7e, 0x49, 0xeb, 0xbd, 0xea, 0xc0, 0x2c, 0x82, 0xd8, 0x1b, 0xa3,
+	0x0d, 0x7e, 0x50, 0x74, 0x9f, 0x21, 0xc6, 0xa7, 0x79, 0xf0, 0xd3, 0x8c, 0xc6, 0x22, 0xcf, 0x1c,
+	0x6f, 0x96, 0xfd, 0x4b, 0xd1, 0xbe, 0xa2, 0x31, 0xfc, 0x07, 0x7e, 0x2a, 0x26, 0xe3, 0x14, 0x05,
+	0x49, 0x84, 0x43, 0x91, 0xa3, 0x66, 0xd7, 0x7d, 0x65, 0x31, 0x51, 0x7d, 0xf8, 0x37, 0x27, 0xb3,
+	0x54, 0x44, 0x88, 0xd6, 0xbe, 0x45, 0x82, 0x2d, 0x05, 0x28, 0xe3, 0x3e, 0x80, 0x2b, 0xee, 0xda,
+	0xb9, 0x2a, 0x9d, 0x57, 0x2e, 0x6b, 0xeb, 0x8d, 0x57, 0x34, 0x0f, 0x7c, 0xc5, 0x2f, 0x87, 0xe6,
+	0x82, 0xaa, 0x8c, 0x7d, 0x6f, 0x64, 0xa2, 0x47, 0x09, 0xe1, 0x65, 0x4c, 0xf2, 0x3c, 0x1c, 0x83,
+	0x5f, 0x73, 0x92, 0x6c, 0xdb, 0x0e, 0xeb, 0xe2, 0xef, 0xf5, 0xf2, 0xc2, 0xd3, 0x9e, 0x34, 0xed,
+	0x59, 0x37, 0x46, 0xde, 0xf0, 0x45, 0xef, 0x8c, 0x0a, 0x9a, 0xa7, 0xa6, 0x5f, 0xa3, 0x38, 0x1e,
+	0x63, 0xf2, 0x88, 0xf3, 0x48, 0xd8, 0xcc, 0x94, 0xfa, 0xa3, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0x97, 0x07, 0xcf, 0x1c, 0xa9, 0x03, 0x00, 0x00,
 }
diff --git a/protobuf/descriptor.pb.go b/protobuf/descriptor.pb.go
index 03c04219..cb40e133 100644
--- a/protobuf/descriptor.pb.go
+++ b/protobuf/descriptor.pb.go
@@ -1897,149 +1897,148 @@ func init() {
 }
 
 var fileDescriptor1 = []byte{
-	// 2301 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x73, 0xdb, 0xc6,
-	0x15, 0x0f, 0xf8, 0x25, 0xf2, 0x91, 0xa2, 0x56, 0x2b, 0xc5, 0x81, 0x95, 0x38, 0x96, 0x19, 0x3b,
-	0x96, 0xed, 0x96, 0xca, 0xc8, 0x1f, 0x71, 0x94, 0x4e, 0x3a, 0x94, 0x08, 0x2b, 0xf4, 0x50, 0x22,
-	0x0b, 0x4a, 0xad, 0x93, 0x1e, 0x30, 0x2b, 0x60, 0x49, 0xc1, 0x06, 0x17, 0x28, 0x00, 0xda, 0x56,
-	0x4e, 0x9e, 0xe9, 0xa9, 0xc7, 0xde, 0x3a, 0x6d, 0xa7, 0xd3, 0xc9, 0x25, 0x33, 0xfd, 0x03, 0x7a,
-	0xe8, 0xbd, 0xd7, 0xce, 0xf4, 0xde, 0x63, 0x67, 0xda, 0xff, 0xa0, 0xd7, 0xce, 0xee, 0x02, 0x20,
-	0xf8, 0x15, 0xab, 0x99, 0x49, 0xd2, 0x8b, 0xcd, 0xfd, 0xbd, 0xdf, 0x7b, 0x78, 0xfb, 0xf6, 0xe1,
-	0xbd, 0x87, 0x15, 0xdc, 0x1b, 0xb8, 0xee, 0xc0, 0xa1, 0xf5, 0x81, 0xeb, 0x10, 0x36, 0xa8, 0xbb,
-	0xfe, 0x60, 0x7b, 0x40, 0x99, 0xe7, 0xbb, 0xa1, 0xbb, 0x2d, 0xfe, 0x3d, 0x1d, 0xf5, 0xb7, 0x2d,
-	0x1a, 0x98, 0xbe, 0xed, 0x85, 0xae, 0x5f, 0x17, 0x18, 0x5e, 0x89, 0xb4, 0x62, 0x46, 0xed, 0x10,
-	0x56, 0x1f, 0xd9, 0x0e, 0x6d, 0x26, 0xc4, 0x1e, 0x0d, 0xf1, 0x43, 0xc8, 0xf5, 0x6d, 0x87, 0xaa,
-	0xca, 0x66, 0x76, 0xab, 0xbc, 0x73, 0xbd, 0x3e, 0xa5, 0x54, 0x9f, 0xd4, 0xe8, 0x72, 0x58, 0x17,
-	0x1a, 0xb5, 0x7f, 0xe6, 0x60, 0x6d, 0x8e, 0x14, 0x63, 0xc8, 0x31, 0x32, 0xe4, 0x16, 0x95, 0xad,
-	0x92, 0x2e, 0x7e, 0x63, 0x15, 0x96, 0x3c, 0x62, 0x3e, 0x23, 0x03, 0xaa, 0x66, 0x04, 0x1c, 0x2f,
-	0xf1, 0xbb, 0x00, 0x16, 0xf5, 0x28, 0xb3, 0x28, 0x33, 0xcf, 0xd5, 0xec, 0x66, 0x76, 0xab, 0xa4,
-	0xa7, 0x10, 0x7c, 0x07, 0x56, 0xbd, 0xd1, 0xa9, 0x63, 0x9b, 0x46, 0x8a, 0x06, 0x9b, 0xd9, 0xad,
-	0xbc, 0x8e, 0xa4, 0xa0, 0x39, 0x26, 0xdf, 0x84, 0x95, 0x17, 0x94, 0x3c, 0x4b, 0x53, 0xcb, 0x82,
-	0x5a, 0xe5, 0x70, 0x8a, 0xb8, 0x0f, 0x95, 0x21, 0x0d, 0x02, 0x32, 0xa0, 0x46, 0x78, 0xee, 0x51,
-	0x35, 0x27, 0x76, 0xbf, 0x39, 0xb3, 0xfb, 0xe9, 0x9d, 0x97, 0x23, 0xad, 0xe3, 0x73, 0x8f, 0xe2,
-	0x06, 0x94, 0x28, 0x1b, 0x0d, 0xa5, 0x85, 0xfc, 0x82, 0xf8, 0x69, 0x6c, 0x34, 0x9c, 0xb6, 0x52,
-	0xe4, 0x6a, 0x91, 0x89, 0xa5, 0x80, 0xfa, 0xcf, 0x6d, 0x93, 0xaa, 0x05, 0x61, 0xe0, 0xe6, 0x8c,
-	0x81, 0x9e, 0x94, 0x4f, 0xdb, 0x88, 0xf5, 0xf0, 0x3e, 0x94, 0xe8, 0xcb, 0x90, 0xb2, 0xc0, 0x76,
-	0x99, 0xba, 0x24, 0x8c, 0xdc, 0x98, 0x73, 0x8a, 0xd4, 0xb1, 0xa6, 0x4d, 0x8c, 0xf5, 0xf0, 0x03,
-	0x58, 0x72, 0xbd, 0xd0, 0x76, 0x59, 0xa0, 0x16, 0x37, 0x95, 0xad, 0xf2, 0xce, 0x3b, 0x73, 0x13,
-	0xa1, 0x23, 0x39, 0x7a, 0x4c, 0xc6, 0x2d, 0x40, 0x81, 0x3b, 0xf2, 0x4d, 0x6a, 0x98, 0xae, 0x45,
-	0x0d, 0x9b, 0xf5, 0x5d, 0xb5, 0x24, 0x0c, 0x5c, 0x9d, 0xdd, 0x88, 0x20, 0xee, 0xbb, 0x16, 0x6d,
-	0xb1, 0xbe, 0xab, 0x57, 0x83, 0x89, 0x35, 0xbe, 0x04, 0x85, 0xe0, 0x9c, 0x85, 0xe4, 0xa5, 0x5a,
-	0x11, 0x19, 0x12, 0xad, 0x6a, 0xff, 0xc9, 0xc3, 0xca, 0x45, 0x52, 0xec, 0x63, 0xc8, 0xf7, 0xf9,
-	0x2e, 0xd5, 0xcc, 0xff, 0x12, 0x03, 0xa9, 0x33, 0x19, 0xc4, 0xc2, 0x37, 0x0c, 0x62, 0x03, 0xca,
-	0x8c, 0x06, 0x21, 0xb5, 0x64, 0x46, 0x64, 0x2f, 0x98, 0x53, 0x20, 0x95, 0x66, 0x53, 0x2a, 0xf7,
-	0x8d, 0x52, 0xea, 0x09, 0xac, 0x24, 0x2e, 0x19, 0x3e, 0x61, 0x83, 0x38, 0x37, 0xb7, 0x5f, 0xe7,
-	0x49, 0x5d, 0x8b, 0xf5, 0x74, 0xae, 0xa6, 0x57, 0xe9, 0xc4, 0x1a, 0x37, 0x01, 0x5c, 0x46, 0xdd,
-	0xbe, 0x61, 0x51, 0xd3, 0x51, 0x8b, 0x0b, 0xa2, 0xd4, 0xe1, 0x94, 0x99, 0x28, 0xb9, 0x12, 0x35,
-	0x1d, 0xfc, 0xd1, 0x38, 0xd5, 0x96, 0x16, 0x64, 0xca, 0xa1, 0x7c, 0xc9, 0x66, 0xb2, 0xed, 0x04,
-	0xaa, 0x3e, 0xe5, 0x79, 0x4f, 0xad, 0x68, 0x67, 0x25, 0xe1, 0x44, 0xfd, 0xb5, 0x3b, 0xd3, 0x23,
-	0x35, 0xb9, 0xb1, 0x65, 0x3f, 0xbd, 0xc4, 0xef, 0x41, 0x02, 0x18, 0x22, 0xad, 0x40, 0x54, 0xa1,
-	0x4a, 0x0c, 0x1e, 0x91, 0x21, 0xdd, 0x78, 0x08, 0xd5, 0xc9, 0xf0, 0xe0, 0x75, 0xc8, 0x07, 0x21,
-	0xf1, 0x43, 0x91, 0x85, 0x79, 0x5d, 0x2e, 0x30, 0x82, 0x2c, 0x65, 0x96, 0xa8, 0x72, 0x79, 0x9d,
-	0xff, 0xdc, 0xf8, 0x10, 0x96, 0x27, 0x1e, 0x7f, 0x51, 0xc5, 0xda, 0x6f, 0x0a, 0xb0, 0x3e, 0x2f,
-	0xe7, 0xe6, 0xa6, 0xff, 0x25, 0x28, 0xb0, 0xd1, 0xf0, 0x94, 0xfa, 0x6a, 0x56, 0x58, 0x88, 0x56,
-	0xb8, 0x01, 0x79, 0x87, 0x9c, 0x52, 0x47, 0xcd, 0x6d, 0x2a, 0x5b, 0xd5, 0x9d, 0x3b, 0x17, 0xca,
-	0xea, 0x7a, 0x9b, 0xab, 0xe8, 0x52, 0x13, 0x7f, 0x02, 0xb9, 0xa8, 0xc4, 0x71, 0x0b, 0xb7, 0x2f,
-	0x66, 0x81, 0xe7, 0xa2, 0x2e, 0xf4, 0xf0, 0xdb, 0x50, 0xe2, 0xff, 0xcb, 0xd8, 0x16, 0x84, 0xcf,
-	0x45, 0x0e, 0xf0, 0xb8, 0xe2, 0x0d, 0x28, 0x8a, 0x34, 0xb3, 0x68, 0xdc, 0x1a, 0x92, 0x35, 0x3f,
-	0x18, 0x8b, 0xf6, 0xc9, 0xc8, 0x09, 0x8d, 0xe7, 0xc4, 0x19, 0x51, 0x91, 0x30, 0x25, 0xbd, 0x12,
-	0x81, 0x3f, 0xe5, 0x18, 0xbe, 0x0a, 0x65, 0x99, 0x95, 0x36, 0xb3, 0xe8, 0x4b, 0x51, 0x7d, 0xf2,
-	0xba, 0x4c, 0xd4, 0x16, 0x47, 0xf8, 0xe3, 0x9f, 0x06, 0x2e, 0x8b, 0x8f, 0x56, 0x3c, 0x82, 0x03,
-	0xe2, 0xf1, 0x1f, 0x4e, 0x17, 0xbe, 0x2b, 0xf3, 0xb7, 0x37, 0x9d, 0x8b, 0xb5, 0x3f, 0x67, 0x20,
-	0x27, 0xde, 0xb7, 0x15, 0x28, 0x1f, 0x7f, 0xd6, 0xd5, 0x8c, 0x66, 0xe7, 0x64, 0xaf, 0xad, 0x21,
-	0x05, 0x57, 0x01, 0x04, 0xf0, 0xa8, 0xdd, 0x69, 0x1c, 0xa3, 0x4c, 0xb2, 0x6e, 0x1d, 0x1d, 0x3f,
-	0xb8, 0x87, 0xb2, 0x89, 0xc2, 0x89, 0x04, 0x72, 0x69, 0xc2, 0xdd, 0x1d, 0x94, 0xc7, 0x08, 0x2a,
-	0xd2, 0x40, 0xeb, 0x89, 0xd6, 0x7c, 0x70, 0x0f, 0x15, 0x26, 0x91, 0xbb, 0x3b, 0x68, 0x09, 0x2f,
-	0x43, 0x49, 0x20, 0x7b, 0x9d, 0x4e, 0x1b, 0x15, 0x13, 0x9b, 0xbd, 0x63, 0xbd, 0x75, 0x74, 0x80,
-	0x4a, 0x89, 0xcd, 0x03, 0xbd, 0x73, 0xd2, 0x45, 0x90, 0x58, 0x38, 0xd4, 0x7a, 0xbd, 0xc6, 0x81,
-	0x86, 0xca, 0x09, 0x63, 0xef, 0xb3, 0x63, 0xad, 0x87, 0x2a, 0x13, 0x6e, 0xdd, 0xdd, 0x41, 0xcb,
-	0xc9, 0x23, 0xb4, 0xa3, 0x93, 0x43, 0x54, 0xc5, 0xab, 0xb0, 0x2c, 0x1f, 0x11, 0x3b, 0xb1, 0x32,
-	0x05, 0x3d, 0xb8, 0x87, 0xd0, 0xd8, 0x11, 0x69, 0x65, 0x75, 0x02, 0x78, 0x70, 0x0f, 0xe1, 0xda,
-	0x3e, 0xe4, 0x45, 0x76, 0x61, 0x0c, 0xd5, 0x76, 0x63, 0x4f, 0x6b, 0x1b, 0x9d, 0xee, 0x71, 0xab,
-	0x73, 0xd4, 0x68, 0x23, 0x65, 0x8c, 0xe9, 0xda, 0x4f, 0x4e, 0x5a, 0xba, 0xd6, 0x44, 0x99, 0x34,
-	0xd6, 0xd5, 0x1a, 0xc7, 0x5a, 0x13, 0x65, 0x6b, 0x26, 0xac, 0xcf, 0xab, 0x33, 0x73, 0xdf, 0x8c,
-	0xd4, 0x11, 0x67, 0x16, 0x1c, 0xb1, 0xb0, 0x35, 0x73, 0xc4, 0x5f, 0x2a, 0xb0, 0x36, 0xa7, 0xd6,
-	0xce, 0x7d, 0xc8, 0x8f, 0x21, 0x2f, 0x53, 0x54, 0x76, 0x9f, 0x5b, 0x73, 0x8b, 0xb6, 0x48, 0xd8,
-	0x99, 0x0e, 0x24, 0xf4, 0xd2, 0x1d, 0x38, 0xbb, 0xa0, 0x03, 0x73, 0x13, 0x33, 0x4e, 0xfe, 0x52,
-	0x01, 0x75, 0x91, 0xed, 0xd7, 0x14, 0x8a, 0xcc, 0x44, 0xa1, 0xf8, 0x78, 0xda, 0x81, 0x6b, 0x8b,
-	0xf7, 0x30, 0xe3, 0xc5, 0x57, 0x0a, 0x5c, 0x9a, 0x3f, 0xa8, 0xcc, 0xf5, 0xe1, 0x13, 0x28, 0x0c,
-	0x69, 0x78, 0xe6, 0xc6, 0xcd, 0xfa, 0xfd, 0x39, 0x2d, 0x80, 0x8b, 0xa7, 0x63, 0x15, 0x69, 0xa5,
-	0x7b, 0x48, 0x76, 0xd1, 0xb4, 0x21, 0xbd, 0x99, 0xf1, 0xf4, 0x57, 0x19, 0x78, 0x73, 0xae, 0xf1,
-	0xb9, 0x8e, 0x5e, 0x01, 0xb0, 0x99, 0x37, 0x0a, 0x65, 0x43, 0x96, 0xf5, 0xa9, 0x24, 0x10, 0xf1,
-	0xee, 0xf3, 0xda, 0x33, 0x0a, 0x13, 0x79, 0x56, 0xc8, 0x41, 0x42, 0x82, 0xf0, 0x70, 0xec, 0x68,
-	0x4e, 0x38, 0xfa, 0xee, 0x82, 0x9d, 0xce, 0xf4, 0xba, 0x0f, 0x00, 0x99, 0x8e, 0x4d, 0x59, 0x68,
-	0x04, 0xa1, 0x4f, 0xc9, 0xd0, 0x66, 0x03, 0x51, 0x80, 0x8b, 0xbb, 0xf9, 0x3e, 0x71, 0x02, 0xaa,
-	0xaf, 0x48, 0x71, 0x2f, 0x96, 0x72, 0x0d, 0xd1, 0x65, 0xfc, 0x94, 0x46, 0x61, 0x42, 0x43, 0x8a,
-	0x13, 0x8d, 0xda, 0xaf, 0x97, 0xa0, 0x9c, 0x1a, 0xeb, 0xf0, 0x35, 0xa8, 0x3c, 0x25, 0xcf, 0x89,
-	0x11, 0x8f, 0xea, 0x32, 0x12, 0x65, 0x8e, 0x75, 0xa3, 0x71, 0xfd, 0x03, 0x58, 0x17, 0x14, 0x77,
-	0x14, 0x52, 0xdf, 0x30, 0x1d, 0x12, 0x04, 0x22, 0x68, 0x45, 0x41, 0xc5, 0x5c, 0xd6, 0xe1, 0xa2,
-	0xfd, 0x58, 0x82, 0xef, 0xc3, 0x9a, 0xd0, 0x18, 0x8e, 0x9c, 0xd0, 0xf6, 0x1c, 0x6a, 0xf0, 0x8f,
-	0x87, 0x40, 0x14, 0xe2, 0xc4, 0xb3, 0x55, 0xce, 0x38, 0x8c, 0x08, 0xdc, 0xa3, 0x00, 0x1f, 0xc0,
-	0x15, 0xa1, 0x36, 0xa0, 0x8c, 0xfa, 0x24, 0xa4, 0x06, 0xfd, 0xc5, 0x88, 0x38, 0x81, 0x41, 0x98,
-	0x65, 0x9c, 0x91, 0xe0, 0x4c, 0x5d, 0x4f, 0x1b, 0xb8, 0xcc, 0xb9, 0x07, 0x11, 0x55, 0x13, 0xcc,
-	0x06, 0xb3, 0x3e, 0x25, 0xc1, 0x19, 0xde, 0x85, 0x4b, 0xc2, 0x50, 0x10, 0xfa, 0x36, 0x1b, 0x18,
-	0xe6, 0x19, 0x35, 0x9f, 0x19, 0xa3, 0xb0, 0xff, 0x50, 0x7d, 0x3b, 0x6d, 0x41, 0x38, 0xd9, 0x13,
-	0x9c, 0x7d, 0x4e, 0x39, 0x09, 0xfb, 0x0f, 0x71, 0x0f, 0x2a, 0xfc, 0x3c, 0x86, 0xf6, 0x17, 0xd4,
-	0xe8, 0xbb, 0xbe, 0x68, 0x2e, 0xd5, 0x39, 0x2f, 0x77, 0x2a, 0x88, 0xf5, 0x4e, 0xa4, 0x70, 0xe8,
-	0x5a, 0x74, 0x37, 0xdf, 0xeb, 0x6a, 0x5a, 0x53, 0x2f, 0xc7, 0x56, 0x1e, 0xb9, 0x3e, 0xcf, 0xa9,
-	0x81, 0x9b, 0xc4, 0xb8, 0x2c, 0x73, 0x6a, 0xe0, 0xc6, 0x11, 0xbe, 0x0f, 0x6b, 0xa6, 0x29, 0xb7,
-	0x6d, 0x9b, 0x46, 0x34, 0xe5, 0x07, 0x2a, 0x9a, 0x88, 0x97, 0x69, 0x1e, 0x48, 0x42, 0x94, 0xe6,
-	0x01, 0xfe, 0x08, 0xde, 0x1c, 0xc7, 0x2b, 0xad, 0xb8, 0x3a, 0xb3, 0xcb, 0x69, 0xd5, 0xfb, 0xb0,
-	0xe6, 0x9d, 0xcf, 0x2a, 0xe2, 0x89, 0x27, 0x7a, 0xe7, 0xd3, 0x6a, 0x37, 0xc4, 0x97, 0x9b, 0x4f,
-	0x4d, 0x12, 0x52, 0x4b, 0x7d, 0x2b, 0xcd, 0x4e, 0x09, 0xf0, 0x36, 0x20, 0xd3, 0x34, 0x28, 0x23,
-	0xa7, 0x0e, 0x35, 0x88, 0x4f, 0x19, 0x09, 0xd4, 0xab, 0x69, 0x72, 0xd5, 0x34, 0x35, 0x21, 0x6d,
-	0x08, 0x21, 0xbe, 0x0d, 0xab, 0xee, 0xe9, 0x53, 0x53, 0x26, 0x97, 0xe1, 0xf9, 0xb4, 0x6f, 0xbf,
-	0x54, 0xaf, 0x8b, 0x30, 0xad, 0x70, 0x81, 0x48, 0xad, 0xae, 0x80, 0xf1, 0x2d, 0x40, 0x66, 0x70,
-	0x46, 0x7c, 0x4f, 0x74, 0xf7, 0xc0, 0x23, 0x26, 0x55, 0x6f, 0x48, 0xaa, 0xc4, 0x8f, 0x62, 0x18,
-	0x3f, 0x81, 0xf5, 0x11, 0xb3, 0x59, 0x48, 0x7d, 0xcf, 0xa7, 0x7c, 0x48, 0x97, 0x6f, 0x9a, 0xfa,
-	0xaf, 0xa5, 0x05, 0x63, 0xf6, 0x49, 0x9a, 0x2d, 0x4f, 0x57, 0x5f, 0x1b, 0xcd, 0x82, 0xb5, 0x5d,
-	0xa8, 0xa4, 0x0f, 0x1d, 0x97, 0x40, 0x1e, 0x3b, 0x52, 0x78, 0x0f, 0xdd, 0xef, 0x34, 0x79, 0xf7,
-	0xfb, 0x5c, 0x43, 0x19, 0xde, 0x85, 0xdb, 0xad, 0x63, 0xcd, 0xd0, 0x4f, 0x8e, 0x8e, 0x5b, 0x87,
-	0x1a, 0xca, 0xde, 0x2e, 0x15, 0xff, 0xbd, 0x84, 0x5e, 0xbd, 0x7a, 0xf5, 0x2a, 0xf3, 0x38, 0x57,
-	0x7c, 0x1f, 0xdd, 0xac, 0xfd, 0x35, 0x03, 0xd5, 0xc9, 0xf9, 0x17, 0xff, 0x08, 0xde, 0x8a, 0x3f,
-	0x56, 0x03, 0x1a, 0x1a, 0x2f, 0x6c, 0x5f, 0x64, 0xe3, 0x90, 0xc8, 0x09, 0x32, 0x09, 0xe4, 0x7a,
-	0xc4, 0xea, 0xd1, 0xf0, 0x67, 0xb6, 0xcf, 0x73, 0x6d, 0x48, 0x42, 0xdc, 0x86, 0xab, 0xcc, 0x35,
-	0x82, 0x90, 0x30, 0x8b, 0xf8, 0x96, 0x31, 0xbe, 0x26, 0x30, 0x88, 0x69, 0xd2, 0x20, 0x70, 0x65,
-	0x23, 0x48, 0xac, 0xbc, 0xc3, 0xdc, 0x5e, 0x44, 0x1e, 0x57, 0xc8, 0x46, 0x44, 0x9d, 0x3a, 0xf4,
-	0xec, 0xa2, 0x43, 0x7f, 0x1b, 0x4a, 0x43, 0xe2, 0x19, 0x94, 0x85, 0xfe, 0xb9, 0x98, 0xda, 0x8a,
-	0x7a, 0x71, 0x48, 0x3c, 0x8d, 0xaf, 0xbf, 0xbd, 0x93, 0x48, 0x45, 0xb3, 0xf6, 0x8f, 0x2c, 0x54,
-	0xd2, 0x93, 0x1b, 0x1f, 0x84, 0x4d, 0x51, 0xa5, 0x15, 0xf1, 0x12, 0xbf, 0xf7, 0xb5, 0x73, 0x5e,
-	0x7d, 0x9f, 0x97, 0xef, 0xdd, 0x82, 0x9c, 0xa7, 0x74, 0xa9, 0xc9, 0x5b, 0x27, 0x7f, 0x6d, 0xa9,
-	0x9c, 0xd2, 0x8b, 0x7a, 0xb4, 0xc2, 0x07, 0x50, 0x78, 0x1a, 0x08, 0xdb, 0x05, 0x61, 0xfb, 0xfa,
-	0xd7, 0xdb, 0x7e, 0xdc, 0x13, 0xc6, 0x4b, 0x8f, 0x7b, 0xc6, 0x51, 0x47, 0x3f, 0x6c, 0xb4, 0xf5,
-	0x48, 0x1d, 0x5f, 0x86, 0x9c, 0x43, 0xbe, 0x38, 0x9f, 0x2c, 0xf4, 0x02, 0xba, 0x68, 0xe0, 0x2f,
-	0x43, 0xee, 0x05, 0x25, 0xcf, 0x26, 0xcb, 0xab, 0x80, 0xbe, 0xc5, 0x17, 0x60, 0x1b, 0xf2, 0x22,
-	0x5e, 0x18, 0x20, 0x8a, 0x18, 0x7a, 0x03, 0x17, 0x21, 0xb7, 0xdf, 0xd1, 0xf9, 0x4b, 0x80, 0xa0,
-	0x22, 0x51, 0xa3, 0xdb, 0xd2, 0xf6, 0x35, 0x94, 0xa9, 0xdd, 0x87, 0x82, 0x0c, 0x02, 0x7f, 0x41,
-	0x92, 0x30, 0xa0, 0x37, 0xa2, 0x65, 0x64, 0x43, 0x89, 0xa5, 0x27, 0x87, 0x7b, 0x9a, 0x8e, 0x32,
-	0xe9, 0xe3, 0x0d, 0xa0, 0x92, 0x1e, 0xda, 0xbe, 0x9b, 0x9c, 0xfa, 0x8b, 0x02, 0xe5, 0xd4, 0x10,
-	0xc6, 0xdb, 0x3f, 0x71, 0x1c, 0xf7, 0x85, 0x41, 0x1c, 0x9b, 0x04, 0x51, 0x52, 0x80, 0x80, 0x1a,
-	0x1c, 0xb9, 0xe8, 0xa1, 0x7d, 0x27, 0xce, 0xff, 0x41, 0x01, 0x34, 0x3d, 0xc0, 0x4d, 0x39, 0xa8,
-	0x7c, 0xaf, 0x0e, 0xfe, 0x5e, 0x81, 0xea, 0xe4, 0xd4, 0x36, 0xe5, 0xde, 0xb5, 0xef, 0xd5, 0xbd,
-	0xdf, 0x29, 0xb0, 0x3c, 0x31, 0xab, 0xfd, 0x5f, 0x79, 0xf7, 0xdb, 0x2c, 0xac, 0xcd, 0xd1, 0xc3,
-	0x8d, 0x68, 0xa8, 0x95, 0x73, 0xf6, 0x0f, 0x2f, 0xf2, 0xac, 0x3a, 0xef, 0x99, 0x5d, 0xe2, 0x87,
-	0xd1, 0x0c, 0x7c, 0x0b, 0x90, 0x6d, 0x51, 0x16, 0xda, 0x7d, 0x9b, 0xfa, 0xd1, 0x87, 0xb8, 0x9c,
-	0x74, 0x57, 0xc6, 0xb8, 0xfc, 0x16, 0xff, 0x01, 0x60, 0xcf, 0x0d, 0xec, 0xd0, 0x7e, 0x4e, 0x0d,
-	0x9b, 0xc5, 0x5f, 0xed, 0x7c, 0xf2, 0xcd, 0xe9, 0x28, 0x96, 0xb4, 0x58, 0x98, 0xb0, 0x19, 0x1d,
-	0x90, 0x29, 0x36, 0xaf, 0x7d, 0x59, 0x1d, 0xc5, 0x92, 0x84, 0x7d, 0x0d, 0x2a, 0x96, 0x3b, 0xe2,
-	0x43, 0x84, 0xe4, 0xf1, 0x52, 0xab, 0xe8, 0x65, 0x89, 0x25, 0x94, 0x68, 0xca, 0x1b, 0x5f, 0x17,
-	0x54, 0xf4, 0xb2, 0xc4, 0x24, 0xe5, 0x26, 0xac, 0x90, 0xc1, 0xc0, 0xe7, 0xc6, 0x63, 0x43, 0x72,
-	0x74, 0xad, 0x26, 0xb0, 0x20, 0x6e, 0x3c, 0x86, 0x62, 0x1c, 0x07, 0xde, 0xcd, 0x78, 0x24, 0x0c,
-	0x4f, 0x5e, 0xda, 0x64, 0xb6, 0x4a, 0x7a, 0x91, 0xc5, 0xc2, 0x6b, 0x50, 0xb1, 0x03, 0x63, 0x7c,
-	0x7b, 0x98, 0xd9, 0xcc, 0x6c, 0x15, 0xf5, 0xb2, 0x1d, 0x24, 0xd7, 0x45, 0xb5, 0xaf, 0x32, 0x50,
-	0x9d, 0xbc, 0xfd, 0xc4, 0x4d, 0x28, 0x3a, 0xae, 0x49, 0x44, 0x22, 0xc8, 0xab, 0xf7, 0xad, 0xd7,
-	0x5c, 0x98, 0xd6, 0xdb, 0x11, 0x5f, 0x4f, 0x34, 0x37, 0xfe, 0xa6, 0x40, 0x31, 0x86, 0xf1, 0x25,
-	0xc8, 0x79, 0x24, 0x3c, 0x13, 0xe6, 0xf2, 0x7b, 0x19, 0xa4, 0xe8, 0x62, 0xcd, 0xf1, 0xc0, 0x23,
-	0x4c, 0xa4, 0x40, 0x84, 0xf3, 0x35, 0x3f, 0x57, 0x87, 0x12, 0x4b, 0x0c, 0xc5, 0xee, 0x70, 0x48,
-	0x59, 0x18, 0xc4, 0xe7, 0x1a, 0xe1, 0xfb, 0x11, 0x8c, 0xef, 0xc0, 0x6a, 0xe8, 0x13, 0xdb, 0x99,
-	0xe0, 0xe6, 0x04, 0x17, 0xc5, 0x82, 0x84, 0xbc, 0x0b, 0x97, 0x63, 0xbb, 0x16, 0x0d, 0x89, 0x79,
-	0x46, 0xad, 0xb1, 0x52, 0x41, 0x5c, 0xad, 0xbd, 0x15, 0x11, 0x9a, 0x91, 0x3c, 0xd6, 0xad, 0xfd,
-	0x5d, 0x81, 0xd5, 0x78, 0x8c, 0xb7, 0x92, 0x60, 0x1d, 0x02, 0x10, 0xc6, 0xdc, 0x30, 0x1d, 0xae,
-	0xd9, 0x54, 0x9e, 0xd1, 0xab, 0x37, 0x12, 0x25, 0x3d, 0x65, 0x60, 0x63, 0x08, 0x30, 0x96, 0x2c,
-	0x0c, 0xdb, 0x55, 0x28, 0x47, 0x57, 0xdb, 0xe2, 0xef, 0x23, 0xf2, 0xdb, 0x0f, 0x24, 0xc4, 0xe7,
-	0x7d, 0xbc, 0x0e, 0xf9, 0x53, 0x3a, 0xb0, 0x59, 0x74, 0xe1, 0x26, 0x17, 0xf1, 0x35, 0x5e, 0x2e,
-	0xb9, 0xc6, 0xdb, 0xfb, 0x39, 0xac, 0x99, 0xee, 0x70, 0xda, 0xdd, 0x3d, 0x34, 0xf5, 0xfd, 0x19,
-	0x7c, 0xaa, 0x7c, 0x0e, 0xe3, 0xe9, 0xec, 0x8f, 0x8a, 0xf2, 0x65, 0x26, 0x7b, 0xd0, 0xdd, 0xfb,
-	0x53, 0x66, 0xe3, 0x40, 0xaa, 0x76, 0xe3, 0x9d, 0xea, 0xb4, 0xef, 0x50, 0x93, 0x7b, 0xff, 0xdf,
-	0x00, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x8f, 0xed, 0xda, 0x1b, 0x1a, 0x00, 0x00,
+	// 2282 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x8f, 0xdb, 0xc6,
+	0x15, 0x2f, 0xf5, 0xb5, 0xd2, 0xd3, 0xae, 0xc4, 0x9d, 0xdd, 0xd8, 0xf2, 0x26, 0x8e, 0x63, 0xc5,
+	0x8e, 0x1d, 0xa7, 0xd5, 0x06, 0x6e, 0x3e, 0xdc, 0x4d, 0x91, 0x42, 0x2b, 0xd1, 0x1b, 0x19, 0xd2,
+	0x4a, 0xa5, 0xa4, 0x36, 0x49, 0x0f, 0x04, 0x97, 0x1a, 0x69, 0x69, 0x53, 0xa4, 0x4a, 0x52, 0xb6,
+	0x37, 0xa7, 0x02, 0x3d, 0xf5, 0xd8, 0x5b, 0xd1, 0x16, 0x45, 0x91, 0x4b, 0x80, 0xfe, 0x01, 0x3d,
+	0xf4, 0xde, 0x6b, 0x81, 0xde, 0x7b, 0x2c, 0xd0, 0xfe, 0x07, 0xbd, 0xf6, 0xcd, 0x0c, 0x49, 0x91,
+	0xfa, 0x88, 0xb7, 0x01, 0x92, 0xd4, 0x07, 0x5b, 0xf3, 0xe6, 0xf7, 0xde, 0xbc, 0x79, 0xf3, 0x9b,
+	0xf7, 0x1e, 0xc7, 0xf0, 0xce, 0xc4, 0x71, 0x26, 0x16, 0xad, 0x4d, 0x1c, 0x4b, 0xb7, 0x27, 0x35,
+	0xc7, 0x9d, 0x1c, 0x4e, 0xa8, 0x3d, 0x73, 0x1d, 0xdf, 0x39, 0xe4, 0x7f, 0x9f, 0xcd, 0xc7, 0x87,
+	0x23, 0xea, 0x19, 0xae, 0x39, 0xf3, 0x1d, 0xb7, 0xc6, 0x65, 0xa4, 0x1c, 0x68, 0x85, 0x88, 0x6a,
+	0x07, 0x76, 0x1f, 0x9a, 0x16, 0x6d, 0x46, 0xc0, 0x3e, 0xf5, 0xc9, 0x03, 0xc8, 0x8c, 0x51, 0x58,
+	0x91, 0x5e, 0x4b, 0xdf, 0x2d, 0xde, 0xbf, 0x55, 0x5b, 0x52, 0xaa, 0x25, 0x35, 0x7a, 0x4c, 0xac,
+	0x72, 0x8d, 0xea, 0x3f, 0x33, 0xb0, 0xb7, 0x66, 0x96, 0x10, 0xc8, 0xd8, 0xfa, 0x94, 0x59, 0x94,
+	0xee, 0x16, 0x54, 0xfe, 0x9b, 0x54, 0x60, 0x6b, 0xa6, 0x1b, 0x4f, 0xf4, 0x09, 0xad, 0xa4, 0xb8,
+	0x38, 0x1c, 0x92, 0x57, 0x01, 0x46, 0x74, 0x46, 0xed, 0x11, 0xb5, 0x8d, 0x8b, 0x4a, 0x1a, 0xbd,
+	0x28, 0xa8, 0x31, 0x09, 0x79, 0x0b, 0x76, 0x67, 0xf3, 0x33, 0xcb, 0x34, 0xb4, 0x18, 0x0c, 0x10,
+	0x96, 0x55, 0x65, 0x31, 0xd1, 0x5c, 0x80, 0xef, 0x40, 0xf9, 0x19, 0xd5, 0x9f, 0xc4, 0xa1, 0x45,
+	0x0e, 0x2d, 0x31, 0x71, 0x0c, 0xd8, 0x80, 0xed, 0x29, 0xf5, 0x3c, 0x74, 0x40, 0xf3, 0x2f, 0x66,
+	0xb4, 0x92, 0xe1, 0xbb, 0x7f, 0x6d, 0x65, 0xf7, 0xcb, 0x3b, 0x2f, 0x06, 0x5a, 0x03, 0x54, 0x22,
+	0x75, 0x28, 0x50, 0x7b, 0x3e, 0x15, 0x16, 0xb2, 0x1b, 0xe2, 0xa7, 0x20, 0x62, 0xd9, 0x4a, 0x9e,
+	0xa9, 0x05, 0x26, 0xb6, 0x3c, 0xea, 0x3e, 0x35, 0x0d, 0x5a, 0xc9, 0x71, 0x03, 0x77, 0x56, 0x0c,
+	0xf4, 0xc5, 0xfc, 0xb2, 0x8d, 0x50, 0x0f, 0xb7, 0x52, 0xa0, 0xcf, 0x7d, 0x6a, 0x7b, 0xa6, 0x63,
+	0x57, 0xb6, 0xb8, 0x91, 0xdb, 0x6b, 0x4e, 0x91, 0x5a, 0xa3, 0x65, 0x13, 0x0b, 0x3d, 0xf2, 0x1e,
+	0x6c, 0x39, 0x33, 0x1f, 0x7f, 0x79, 0x95, 0x3c, 0x9e, 0x4f, 0xf1, 0xfe, 0x2b, 0x6b, 0x89, 0xd0,
+	0x15, 0x18, 0x35, 0x04, 0x93, 0x16, 0xc8, 0x9e, 0x33, 0x77, 0x0d, 0xaa, 0x19, 0xce, 0x88, 0x6a,
+	0xa6, 0x3d, 0x76, 0x2a, 0x05, 0x6e, 0xe0, 0xc6, 0xea, 0x46, 0x38, 0xb0, 0x81, 0xb8, 0x16, 0xc2,
+	0xd4, 0x92, 0x97, 0x18, 0x93, 0x2b, 0x90, 0xf3, 0x2e, 0x6c, 0x5f, 0x7f, 0x5e, 0xd9, 0xe6, 0x0c,
+	0x09, 0x46, 0xd5, 0xff, 0x64, 0xa1, 0x7c, 0x19, 0x8a, 0x7d, 0x00, 0xd9, 0x31, 0xdb, 0x25, 0x12,
+	0xec, 0x7f, 0x88, 0x81, 0xd0, 0x49, 0x06, 0x31, 0xf7, 0x15, 0x83, 0x58, 0x87, 0xa2, 0x4d, 0x3d,
+	0x9f, 0x8e, 0x04, 0x23, 0xd2, 0x97, 0xe4, 0x14, 0x08, 0xa5, 0x55, 0x4a, 0x65, 0xbe, 0x12, 0xa5,
+	0x3e, 0x86, 0x72, 0xe4, 0x92, 0xe6, 0x62, 0xbe, 0x08, 0xb9, 0x79, 0xf8, 0x22, 0x4f, 0x6a, 0x4a,
+	0xa8, 0xa7, 0x32, 0x35, 0xb5, 0x44, 0x13, 0x63, 0xd2, 0x04, 0x70, 0x6c, 0xea, 0x8c, 0xf1, 0x7a,
+	0x19, 0x16, 0xf2, 0x64, 0x7d, 0x94, 0xba, 0x0c, 0xb2, 0x12, 0x25, 0x47, 0x48, 0x0d, 0x8b, 0xfc,
+	0x60, 0x41, 0xb5, 0xad, 0x0d, 0x4c, 0xe9, 0x88, 0x4b, 0xb6, 0xc2, 0xb6, 0x21, 0x94, 0x5c, 0xca,
+	0x78, 0x8f, 0x21, 0x16, 0x3b, 0x2b, 0x70, 0x27, 0x6a, 0x2f, 0xdc, 0x99, 0x1a, 0xa8, 0x89, 0x8d,
+	0xed, 0xb8, 0xf1, 0x21, 0x79, 0x1d, 0x22, 0x81, 0xc6, 0x69, 0x05, 0x3c, 0x0b, 0x6d, 0x87, 0xc2,
+	0x53, 0x94, 0x1d, 0x3c, 0x80, 0x52, 0x32, 0x3c, 0x64, 0x1f, 0xb2, 0x9e, 0xaf, 0xbb, 0x3e, 0x67,
+	0x61, 0x56, 0x15, 0x03, 0x22, 0x43, 0x1a, 0x93, 0x0c, 0xcf, 0x72, 0x59, 0x95, 0xfd, 0x3c, 0x78,
+	0x1f, 0x76, 0x12, 0xcb, 0x5f, 0x56, 0xb1, 0xfa, 0x9b, 0x1c, 0xec, 0xaf, 0xe3, 0xdc, 0x5a, 0xfa,
+	0xe3, 0xf5, 0x41, 0x06, 0x9c, 0x51, 0x17, 0x79, 0xc7, 0x2c, 0x04, 0x23, 0x64, 0x54, 0xd6, 0xd2,
+	0xcf, 0xa8, 0x85, 0x6c, 0x92, 0xee, 0x96, 0xee, 0xbf, 0x75, 0x29, 0x56, 0xd7, 0xda, 0x4c, 0x45,
+	0x15, 0x9a, 0xe4, 0x43, 0xc8, 0x04, 0x29, 0x8e, 0x59, 0xb8, 0x77, 0x39, 0x0b, 0x8c, 0x8b, 0x2a,
+	0xd7, 0x23, 0x2f, 0x43, 0x81, 0xfd, 0x2b, 0x62, 0x9b, 0xe3, 0x3e, 0xe7, 0x99, 0x80, 0xc5, 0x95,
+	0x1c, 0x40, 0x9e, 0xd3, 0x6c, 0x44, 0xc3, 0xd2, 0x10, 0x8d, 0xd9, 0xc1, 0x8c, 0xe8, 0x58, 0x9f,
+	0x5b, 0xbe, 0xf6, 0x54, 0xb7, 0xe6, 0x94, 0x13, 0x06, 0x0f, 0x26, 0x10, 0xfe, 0x84, 0xc9, 0xc8,
+	0x0d, 0x28, 0x0a, 0x56, 0x9a, 0xa8, 0xf3, 0x9c, 0x67, 0x9f, 0xac, 0x2a, 0x88, 0xda, 0x62, 0x12,
+	0xb6, 0xfc, 0x63, 0x0f, 0xef, 0x42, 0x70, 0xb4, 0x7c, 0x09, 0x26, 0xe0, 0xcb, 0xbf, 0xbf, 0x9c,
+	0xf8, 0xae, 0xaf, 0xdf, 0xde, 0x32, 0x17, 0xab, 0x7f, 0x4e, 0x41, 0x86, 0xdf, 0xb7, 0x32, 0x14,
+	0x07, 0x9f, 0xf4, 0x14, 0xad, 0xd9, 0x1d, 0x1e, 0xb7, 0x15, 0x59, 0x22, 0x25, 0x00, 0x2e, 0x78,
+	0xd8, 0xee, 0xd6, 0x07, 0x72, 0x2a, 0x1a, 0xb7, 0x4e, 0x07, 0xef, 0xbd, 0x23, 0xa7, 0x23, 0x85,
+	0xa1, 0x10, 0x64, 0xe2, 0x80, 0xef, 0xdf, 0x97, 0xb3, 0xc8, 0x84, 0x6d, 0x61, 0xa0, 0xf5, 0xb1,
+	0xd2, 0x44, 0x44, 0x2e, 0x29, 0x41, 0xcc, 0x16, 0xd9, 0x81, 0x02, 0x97, 0x1c, 0x77, 0xbb, 0x6d,
+	0x39, 0x1f, 0xd9, 0xec, 0x0f, 0xd4, 0xd6, 0xe9, 0x89, 0x5c, 0x88, 0x6c, 0x9e, 0xa8, 0xdd, 0x61,
+	0x4f, 0x86, 0xc8, 0x42, 0x47, 0xe9, 0xf7, 0xeb, 0x27, 0x8a, 0x5c, 0x8c, 0x10, 0xc7, 0x9f, 0x0c,
+	0x94, 0xbe, 0xbc, 0x9d, 0x70, 0x0b, 0x97, 0xd8, 0x89, 0x96, 0x50, 0x4e, 0x87, 0x1d, 0xb9, 0x44,
+	0x76, 0x61, 0x47, 0x2c, 0x11, 0x3a, 0x51, 0x5e, 0x12, 0xa1, 0xa7, 0xf2, 0xc2, 0x11, 0x61, 0x65,
+	0x37, 0x21, 0x40, 0x04, 0xa9, 0x36, 0x20, 0xcb, 0xd9, 0x85, 0x2c, 0x2e, 0xb5, 0xeb, 0xc7, 0x4a,
+	0x5b, 0xeb, 0xf6, 0x06, 0xad, 0xee, 0x69, 0xbd, 0x8d, 0xb1, 0x8b, 0x64, 0xaa, 0xf2, 0xe3, 0x61,
+	0x4b, 0x55, 0x9a, 0x18, 0xbf, 0x98, 0xac, 0xa7, 0xd4, 0x07, 0x28, 0x4b, 0x57, 0x0d, 0xd8, 0x5f,
+	0x97, 0x67, 0xd6, 0xde, 0x8c, 0xd8, 0x11, 0xa7, 0x36, 0x1c, 0x31, 0xb7, 0xb5, 0x72, 0xc4, 0x9f,
+	0x4b, 0xb0, 0xb7, 0x26, 0xd7, 0xae, 0x5d, 0xe4, 0x47, 0x90, 0x15, 0x14, 0x15, 0xd5, 0xe7, 0xcd,
+	0xb5, 0x49, 0x9b, 0x13, 0x76, 0xa5, 0x02, 0x71, 0xbd, 0x78, 0x05, 0x4e, 0x6f, 0xa8, 0xc0, 0xcc,
+	0xc4, 0x8a, 0x93, 0xbf, 0x94, 0xa0, 0xb2, 0xc9, 0xf6, 0x0b, 0x12, 0x45, 0x2a, 0x91, 0x28, 0x3e,
+	0x58, 0x76, 0xe0, 0xe6, 0xe6, 0x3d, 0xac, 0x78, 0xf1, 0x85, 0x04, 0x57, 0xd6, 0x37, 0x2a, 0x6b,
+	0x7d, 0xf8, 0x10, 0x72, 0x53, 0xea, 0x9f, 0x3b, 0x61, 0xb1, 0x7e, 0x63, 0x4d, 0x09, 0x60, 0xd3,
+	0xcb, 0xb1, 0x0a, 0xb4, 0xe2, 0x35, 0x24, 0xbd, 0xa9, 0xdb, 0x10, 0xde, 0xac, 0x78, 0xfa, 0xab,
+	0x14, 0xbc, 0xb4, 0xd6, 0xf8, 0x5a, 0x47, 0xaf, 0x03, 0x98, 0xf6, 0x6c, 0xee, 0x8b, 0x82, 0x2c,
+	0xf2, 0x53, 0x81, 0x4b, 0xf8, 0xdd, 0x67, 0xb9, 0x67, 0xee, 0x47, 0xf3, 0x69, 0x3e, 0x0f, 0x42,
+	0xc4, 0x01, 0x0f, 0x16, 0x8e, 0x66, 0xb8, 0xa3, 0xaf, 0x6e, 0xd8, 0xe9, 0x4a, 0xad, 0x7b, 0x1b,
+	0x64, 0xc3, 0x32, 0xa9, 0xed, 0x6b, 0x9e, 0xef, 0x52, 0x7d, 0x6a, 0xda, 0x13, 0x9e, 0x80, 0xf3,
+	0x47, 0xd9, 0xb1, 0x6e, 0x79, 0x54, 0x2d, 0x8b, 0xe9, 0x7e, 0x38, 0xcb, 0x34, 0x78, 0x95, 0x71,
+	0x63, 0x1a, 0xb9, 0x84, 0x86, 0x98, 0x8e, 0x34, 0xaa, 0xbf, 0xde, 0x82, 0x62, 0xac, 0xad, 0x23,
+	0x37, 0x61, 0xfb, 0xb1, 0xfe, 0x54, 0xd7, 0xc2, 0x56, 0x5d, 0x44, 0xa2, 0xc8, 0x64, 0xbd, 0xa0,
+	0x5d, 0x7f, 0x1b, 0xf6, 0x39, 0x04, 0xf7, 0x88, 0x0b, 0x19, 0x96, 0xee, 0x79, 0x3c, 0x68, 0x79,
+	0x0e, 0x25, 0x6c, 0xae, 0xcb, 0xa6, 0x1a, 0xe1, 0x0c, 0x79, 0x17, 0xf6, 0xb8, 0xc6, 0x14, 0x33,
+	0xb6, 0x39, 0xb3, 0xa8, 0xc6, 0x3e, 0x1e, 0x3c, 0x9e, 0x88, 0x23, 0xcf, 0x76, 0x19, 0xa2, 0x13,
+	0x00, 0x98, 0x47, 0x1e, 0x39, 0x81, 0xeb, 0x5c, 0x0d, 0x3f, 0x74, 0xa8, 0xab, 0xfb, 0x54, 0xa3,
+	0x3f, 0x9f, 0x23, 0x56, 0xd3, 0xed, 0x91, 0x76, 0xae, 0x7b, 0xe7, 0x95, 0xfd, 0xb8, 0x81, 0x6b,
+	0x0c, 0x7b, 0x12, 0x40, 0x15, 0x8e, 0xac, 0xdb, 0xa3, 0x8f, 0x10, 0x47, 0x8e, 0xe0, 0x0a, 0x37,
+	0x84, 0x41, 0xc1, 0x3d, 0x6b, 0xc6, 0x39, 0x35, 0x9e, 0x68, 0x73, 0x7f, 0xfc, 0xa0, 0xf2, 0x72,
+	0xdc, 0x02, 0x77, 0xb2, 0xcf, 0x31, 0x0d, 0x06, 0x19, 0x22, 0x82, 0xf4, 0x61, 0x9b, 0x9d, 0xc7,
+	0xd4, 0xfc, 0x0c, 0xdd, 0x76, 0x5c, 0x5e, 0x5c, 0x4a, 0x6b, 0x2e, 0x77, 0x2c, 0x88, 0xb5, 0x6e,
+	0xa0, 0xd0, 0xc1, 0xc6, 0xf6, 0x28, 0xdb, 0xef, 0x29, 0x4a, 0x53, 0x2d, 0x86, 0x56, 0x1e, 0x3a,
+	0x2e, 0xe3, 0xd4, 0xc4, 0x89, 0x62, 0x5c, 0x14, 0x9c, 0x9a, 0x38, 0x61, 0x84, 0x31, 0x5e, 0x86,
+	0x21, 0xb6, 0x8d, 0x1f, 0x3d, 0x41, 0x97, 0xef, 0x55, 0xe4, 0x44, 0xbc, 0x0c, 0xe3, 0x44, 0x00,
+	0x02, 0x9a, 0x7b, 0x78, 0x25, 0x5e, 0x5a, 0xc4, 0x2b, 0xae, 0xb8, 0xbb, 0xb2, 0xcb, 0x65, 0x55,
+	0x5c, 0x71, 0x76, 0xb1, 0xaa, 0x48, 0x12, 0x2b, 0xce, 0x2e, 0x96, 0xd5, 0x6e, 0xf3, 0x2f, 0x37,
+	0x97, 0x1a, 0x18, 0xf2, 0x51, 0xe5, 0x6a, 0x1c, 0x1d, 0x9b, 0x20, 0x87, 0x48, 0x64, 0x43, 0xa3,
+	0xb6, 0x7e, 0x86, 0x67, 0xaf, 0xbb, 0xf8, 0xc3, 0xab, 0xdc, 0x88, 0x83, 0x4b, 0x86, 0xa1, 0xf0,
+	0xd9, 0x3a, 0x9f, 0x24, 0xf7, 0x60, 0xd7, 0x39, 0x7b, 0x6c, 0x08, 0x72, 0x69, 0x68, 0x67, 0x6c,
+	0x3e, 0xaf, 0xdc, 0xe2, 0x61, 0x2a, 0xb3, 0x09, 0x4e, 0xad, 0x1e, 0x17, 0x93, 0x37, 0xd1, 0xb8,
+	0x77, 0xae, 0xbb, 0x33, 0x5e, 0xdd, 0x3d, 0x0c, 0x2a, 0xad, 0xdc, 0x16, 0x50, 0x21, 0x3f, 0x0d,
+	0xc5, 0xd8, 0x17, 0xef, 0xcf, 0x6d, 0xd3, 0x46, 0x6e, 0xa2, 0x49, 0xd6, 0xa4, 0x8b, 0x9b, 0x56,
+	0xf9, 0xd7, 0xd6, 0x86, 0x36, 0x7b, 0x18, 0x47, 0x8b, 0xd3, 0x55, 0xf7, 0xe6, 0xab, 0xc2, 0xea,
+	0x11, 0x6c, 0xc7, 0x0f, 0x9d, 0x14, 0x40, 0x1c, 0x3b, 0xd6, 0x33, 0xac, 0xa1, 0x8d, 0x6e, 0x93,
+	0x55, 0xbf, 0x4f, 0x15, 0x2c, 0x65, 0x58, 0x85, 0xdb, 0xad, 0x81, 0xa2, 0xa9, 0xc3, 0xd3, 0x41,
+	0xab, 0xa3, 0xc8, 0xe9, 0x7b, 0x85, 0xfc, 0xbf, 0xb7, 0xe4, 0x5f, 0xe0, 0x9f, 0xd4, 0xa3, 0x4c,
+	0xfe, 0x0d, 0xf9, 0x4e, 0xf5, 0xaf, 0x29, 0x28, 0x25, 0xfb, 0x5f, 0xf2, 0x43, 0xb8, 0x1a, 0x7e,
+	0xac, 0x7a, 0xd4, 0xd7, 0x9e, 0x99, 0x2e, 0x67, 0xe3, 0x54, 0x17, 0x1d, 0x64, 0x14, 0xc8, 0xfd,
+	0x00, 0x85, 0x9f, 0xf5, 0x3f, 0x45, 0xcc, 0x43, 0x0e, 0x21, 0x6d, 0xb8, 0x61, 0x3b, 0xc8, 0x7e,
+	0xbc, 0x38, 0xba, 0x3b, 0xd2, 0x16, 0xcf, 0x04, 0x9a, 0x6e, 0xe0, 0x31, 0x7a, 0x8e, 0x28, 0x04,
+	0x91, 0x95, 0x57, 0x6c, 0xa7, 0x1f, 0x80, 0x17, 0x19, 0xb2, 0x1e, 0x40, 0x97, 0x0e, 0x3d, 0xbd,
+	0xe9, 0xd0, 0xb1, 0xe7, 0x9a, 0xea, 0x33, 0x3c, 0x75, 0xdf, 0xbd, 0xe0, 0x5d, 0x5b, 0x5e, 0xcd,
+	0xa3, 0x40, 0x61, 0xe3, 0xaf, 0xef, 0x24, 0x62, 0xd1, 0xac, 0xfe, 0x23, 0x0d, 0xdb, 0xf1, 0xce,
+	0x8d, 0x35, 0xc2, 0x06, 0xcf, 0xd2, 0x12, 0xbf, 0xc4, 0xaf, 0x7f, 0x69, 0x9f, 0x57, 0x6b, 0xb0,
+	0xf4, 0x7d, 0x94, 0x13, 0xfd, 0x94, 0x2a, 0x34, 0x59, 0xe9, 0x64, 0xd7, 0x96, 0x8a, 0x2e, 0x3d,
+	0xaf, 0x06, 0x23, 0xcc, 0x55, 0xb9, 0xc7, 0x1e, 0xb7, 0x9d, 0xe3, 0xb6, 0x6f, 0x7d, 0xb9, 0xed,
+	0x47, 0x7d, 0x6e, 0xbc, 0xf0, 0xa8, 0xaf, 0x9d, 0x76, 0xd5, 0x4e, 0xbd, 0xad, 0x06, 0xea, 0xe4,
+	0x1a, 0x64, 0x2c, 0xfd, 0xb3, 0x8b, 0x64, 0xa2, 0xe7, 0xa2, 0xcb, 0x06, 0x1e, 0x2d, 0xb0, 0xa7,
+	0x8e, 0x64, 0x7a, 0xe5, 0xa2, 0xaf, 0xf1, 0x02, 0x1c, 0x42, 0x96, 0xc7, 0x8b, 0x00, 0x04, 0x11,
+	0x93, 0xbf, 0x43, 0xf2, 0x90, 0x69, 0x74, 0x55, 0x76, 0x09, 0x90, 0xf5, 0x42, 0xaa, 0xf5, 0x5a,
+	0x4a, 0x03, 0xef, 0x41, 0xf5, 0x5d, 0xc8, 0x89, 0x20, 0xb0, 0x0b, 0x12, 0x85, 0x01, 0x95, 0xc4,
+	0x30, 0xb0, 0x21, 0x85, 0xb3, 0xc3, 0xce, 0xb1, 0xa2, 0xca, 0xa9, 0xf8, 0xf1, 0x7a, 0x78, 0xe7,
+	0x62, 0x4d, 0xdb, 0x37, 0xc3, 0xa9, 0xbf, 0x48, 0x50, 0x8c, 0x35, 0x61, 0xac, 0xfc, 0xeb, 0x96,
+	0xe5, 0x3c, 0xd3, 0x74, 0xcb, 0xd4, 0xbd, 0x80, 0x14, 0xc0, 0x45, 0x75, 0x26, 0xb9, 0xec, 0xa1,
+	0x7d, 0x23, 0xce, 0xff, 0x41, 0x02, 0x79, 0xb9, 0x81, 0x5b, 0x72, 0x50, 0xfa, 0x56, 0x1d, 0xfc,
+	0xbd, 0x04, 0xa5, 0x64, 0xd7, 0xb6, 0xe4, 0xde, 0xcd, 0x6f, 0xd5, 0xbd, 0xdf, 0x49, 0xb0, 0x93,
+	0xe8, 0xd5, 0xfe, 0xaf, 0xbc, 0xfb, 0x6d, 0x1a, 0xf6, 0xd6, 0xe8, 0x61, 0xd6, 0x13, 0x4d, 0xad,
+	0xe8, 0xb3, 0xbf, 0x77, 0x99, 0xb5, 0x6a, 0xac, 0x66, 0xf6, 0x74, 0xd7, 0x0f, 0x7a, 0x60, 0xac,
+	0xb1, 0xe6, 0x08, 0x33, 0xb9, 0x39, 0x36, 0xb1, 0xe5, 0x13, 0x5f, 0x39, 0xa2, 0xd3, 0x2d, 0x2f,
+	0xe4, 0xe2, 0x5b, 0xfc, 0xbb, 0x40, 0x66, 0x8e, 0x67, 0xfa, 0xe6, 0x53, 0xf6, 0x16, 0x18, 0x7e,
+	0xb5, 0xb3, 0xce, 0x37, 0xa3, 0xca, 0xe1, 0x4c, 0xcb, 0xf6, 0x23, 0xb4, 0x4d, 0x27, 0xfa, 0x12,
+	0x9a, 0xe5, 0xbe, 0xb4, 0x2a, 0x87, 0x33, 0x11, 0x1a, 0x9b, 0xd3, 0x91, 0x33, 0x67, 0x4d, 0x84,
+	0xc0, 0xb1, 0x54, 0x2b, 0xa9, 0x45, 0x21, 0x8b, 0x20, 0x41, 0x97, 0xb7, 0x78, 0x2e, 0xd8, 0x56,
+	0x8b, 0x42, 0x26, 0x20, 0x77, 0xa0, 0xac, 0x4f, 0x26, 0x2e, 0x33, 0x1e, 0x1a, 0x12, 0xad, 0x6b,
+	0x29, 0x12, 0x73, 0xe0, 0xc1, 0x23, 0xc8, 0x87, 0x71, 0x60, 0xd5, 0x8c, 0x45, 0x02, 0x7b, 0x36,
+	0xfe, 0x68, 0x93, 0x62, 0x2f, 0x08, 0x76, 0x38, 0x89, 0x8b, 0x9a, 0x9e, 0xb6, 0x78, 0x3d, 0x4c,
+	0xe1, 0x7c, 0x5e, 0x2d, 0x9a, 0x5e, 0xf4, 0x5c, 0x54, 0xfd, 0x02, 0x6b, 0x7a, 0xf2, 0xf5, 0x93,
+	0x34, 0x21, 0x6f, 0x39, 0xc8, 0x0f, 0xa6, 0x21, 0x9e, 0xde, 0xef, 0xbe, 0xe0, 0xc1, 0xb4, 0xd6,
+	0x0e, 0xf0, 0x6a, 0xa4, 0x79, 0xf0, 0x37, 0x09, 0xf2, 0xa1, 0x18, 0xab, 0x53, 0x66, 0xa6, 0xfb,
+	0xe7, 0xdc, 0x5c, 0xf6, 0x38, 0x25, 0x4b, 0x2a, 0x1f, 0x33, 0x39, 0x76, 0x40, 0x36, 0xa7, 0x40,
+	0x20, 0x67, 0x63, 0x76, 0xae, 0x16, 0xd5, 0x47, 0xbc, 0x29, 0x76, 0xa6, 0x53, 0x3c, 0x49, 0x2f,
+	0x3c, 0xd7, 0x40, 0xde, 0x08, 0xc4, 0xec, 0x11, 0xde, 0x77, 0x75, 0xd3, 0x4a, 0x60, 0x33, 0x1c,
+	0x2b, 0x87, 0x13, 0x11, 0xf8, 0x08, 0xae, 0x85, 0x76, 0x47, 0xd4, 0xd7, 0xb1, 0xe1, 0x1e, 0x2d,
+	0x94, 0x72, 0xfc, 0x69, 0xed, 0x6a, 0x00, 0x68, 0x06, 0xf3, 0xa1, 0x6e, 0xf5, 0xef, 0x12, 0xec,
+	0x86, 0x6d, 0xfc, 0x28, 0x0a, 0x56, 0x07, 0x40, 0xb7, 0x6d, 0xc7, 0x8f, 0x87, 0x6b, 0x95, 0xca,
+	0x2b, 0x7a, 0xb5, 0x7a, 0xa4, 0xa4, 0xc6, 0x0c, 0x1c, 0x4c, 0x01, 0x16, 0x33, 0x1b, 0xc3, 0x86,
+	0xc9, 0x3d, 0x78, 0xda, 0xe6, 0xff, 0x3f, 0x22, 0xbe, 0xfd, 0x40, 0x88, 0x58, 0xbf, 0xcf, 0x9e,
+	0xf1, 0xce, 0xe8, 0xc4, 0xb4, 0x83, 0x07, 0x37, 0x31, 0x08, 0x9f, 0xf1, 0x32, 0xd1, 0x33, 0xde,
+	0xf1, 0xcf, 0xb0, 0xa1, 0x77, 0xa6, 0xcb, 0xee, 0x1e, 0xcb, 0x4b, 0xdf, 0x9f, 0xde, 0x47, 0xd2,
+	0xa7, 0xb0, 0xe8, 0xce, 0xfe, 0x28, 0x49, 0x9f, 0xa7, 0xd2, 0x27, 0xbd, 0xe3, 0x3f, 0xa5, 0x0e,
+	0x4e, 0x84, 0x6a, 0x2f, 0xdc, 0xa9, 0x4a, 0xc7, 0x16, 0x35, 0x98, 0xf7, 0xff, 0x0d, 0x00, 0x00,
+	0xff, 0xff, 0x4c, 0x8f, 0xed, 0xda, 0x1b, 0x1a, 0x00, 0x00,
 }
diff --git a/protobuf/field_mask.pb.go b/protobuf/field_mask.pb.go
index 790e08fd..5e9cff04 100644
--- a/protobuf/field_mask.pb.go
+++ b/protobuf/field_mask.pb.go
@@ -233,16 +233,16 @@ func init() {
 }
 
 var fileDescriptor2 = []byte{
-	// 164 bytes of a gzipped FileDescriptorProto
+	// 163 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0x32, 0x49, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0x69, 0x99, 0xa9,
 	0x39, 0x29, 0xf1, 0xb9, 0x89, 0xc5, 0xd9, 0x7a, 0x60, 0x31, 0x21, 0x7e, 0xa8, 0x2e, 0x98, 0x0a,
-	0x25, 0x45, 0x2e, 0x4e, 0x37, 0x90, 0x22, 0xdf, 0xc4, 0xe2, 0x6c, 0x21, 0x11, 0x2e, 0xd6, 0x82,
-	0xc4, 0x92, 0x8c, 0x62, 0x09, 0x46, 0x05, 0x66, 0x0d, 0xce, 0x20, 0x08, 0xc7, 0x29, 0x90, 0x4b,
-	0x38, 0x39, 0x3f, 0x57, 0x0f, 0x4d, 0xa7, 0x13, 0x1f, 0x5c, 0x5f, 0x00, 0x48, 0x28, 0x80, 0x71,
-	0x01, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10, 0xc5, 0x01,
-	0x50, 0xc5, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x95, 0x05, 0xa9,
-	0xc5, 0x49, 0x6c, 0x60, 0x53, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x4c, 0x96, 0xee,
-	0xc5, 0x00, 0x00, 0x00,
+	0x25, 0x45, 0x2e, 0x4e, 0x37, 0x90, 0x22, 0x5f, 0xa0, 0x1a, 0x21, 0x11, 0x2e, 0xd6, 0x82, 0xc4,
+	0x92, 0x8c, 0x62, 0x09, 0x46, 0x05, 0x66, 0x0d, 0xce, 0x20, 0x08, 0xc7, 0x29, 0x90, 0x4b, 0x38,
+	0x39, 0x3f, 0x57, 0x0f, 0x4d, 0xa7, 0x13, 0x1f, 0x5c, 0x5f, 0x00, 0x48, 0x28, 0x80, 0x71, 0x01,
+	0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10, 0xc5, 0x01, 0x50,
+	0xc5, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x95, 0x05, 0xa9, 0xc5,
+	0x49, 0x6c, 0x60, 0x53, 0x8c, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x4c, 0x96, 0xee, 0xc5,
+	0x00, 0x00, 0x00,
 }
diff --git a/protobuf/source_context.pb.go b/protobuf/source_context.pb.go
index 2f4c8528..991b7d71 100644
--- a/protobuf/source_context.pb.go
+++ b/protobuf/source_context.pb.go
@@ -35,16 +35,16 @@ func init() {
 }
 
 var fileDescriptor3 = []byte{
-	// 176 bytes of a gzipped FileDescriptorProto
+	// 175 bytes of a gzipped FileDescriptorProto
 	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xb2, 0x48, 0xcf, 0xcf, 0x4f,
 	0xcf, 0x49, 0xd5, 0x4b, 0xcf, 0xcf, 0x49, 0xcc, 0x4b, 0xd7, 0xcb, 0x2f, 0x4a, 0xd7, 0x4f, 0x4f,
 	0xcd, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0xd7, 0x07, 0x93, 0x49, 0xa5, 0x69, 0xfa, 0xc5, 0xf9, 0xa5,
 	0x45, 0xc9, 0xa9, 0xf1, 0xc9, 0xf9, 0x79, 0x25, 0xa9, 0x15, 0x25, 0x7a, 0x60, 0x71, 0x21, 0x7e,
 	0xa8, 0x4e, 0x98, 0x2a, 0x25, 0x1d, 0x2e, 0xde, 0x60, 0xb0, 0x42, 0x67, 0x88, 0x3a, 0x21, 0x69,
 	0x2e, 0xce, 0xb4, 0xcc, 0x9c, 0xd4, 0xf8, 0xbc, 0xc4, 0xdc, 0x54, 0x09, 0x46, 0x05, 0x46, 0x0d,
-	0xce, 0x20, 0x0e, 0x90, 0x80, 0x5f, 0x62, 0x6e, 0xaa, 0x53, 0x28, 0x97, 0x70, 0x72, 0x7e, 0xae,
-	0x1e, 0x9a, 0x21, 0x4e, 0x42, 0x28, 0x46, 0x04, 0x80, 0x84, 0x03, 0x18, 0x17, 0x30, 0x32, 0x2e,
-	0x62, 0x62, 0x76, 0x0f, 0x70, 0x5a, 0xc5, 0x24, 0xe7, 0x0e, 0xd1, 0x10, 0x00, 0xd5, 0xa0, 0x17,
-	0x9e, 0x9a, 0x93, 0xe3, 0x9d, 0x97, 0x5f, 0x9e, 0x17, 0x52, 0x59, 0x90, 0x5a, 0x9c, 0xc4, 0x06,
-	0x36, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x31, 0x36, 0x7e, 0xd8, 0x00, 0x00, 0x00,
+	0xce, 0x20, 0x0e, 0x90, 0x80, 0x1f, 0x90, 0xef, 0x14, 0xca, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x87,
+	0x66, 0x88, 0x93, 0x10, 0x8a, 0x11, 0x01, 0x20, 0xe1, 0x00, 0xc6, 0x05, 0x8c, 0x8c, 0x8b, 0x98,
+	0x98, 0xdd, 0x03, 0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x34, 0x04, 0x40, 0x35, 0xe8, 0x85, 0xa7,
+	0xe6, 0xe4, 0x78, 0xe7, 0xe5, 0x97, 0xe7, 0x85, 0x54, 0x16, 0xa4, 0x16, 0x27, 0xb1, 0x81, 0x4d,
+	0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0xd3, 0x31, 0x36, 0x7e, 0xd8, 0x00, 0x00, 0x00,
 }
diff --git a/protobuf/type.pb.go b/protobuf/type.pb.go
index 33febe0d..f9a4a09d 100644
--- a/protobuf/type.pb.go
+++ b/protobuf/type.pb.go
@@ -339,56 +339,55 @@ func init() {
 func init() { proto.RegisterFile("google.golang.org/genproto/protobuf/type.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 811 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdd, 0x8e, 0xda, 0x46,
-	0x14, 0x8e, 0x8d, 0xf1, 0xe2, 0xc3, 0xc2, 0x4e, 0x26, 0x51, 0xe2, 0x6e, 0xa4, 0x14, 0xd1, 0x1b,
-	0x94, 0x0b, 0xa3, 0xc2, 0x6a, 0x95, 0x5b, 0x58, 0xbc, 0x14, 0x2d, 0xb1, 0xdd, 0xc1, 0x34, 0xd9,
-	0x2b, 0xe4, 0x05, 0x43, 0x49, 0xcc, 0x0c, 0xc2, 0x76, 0xbb, 0x3c, 0x44, 0xdf, 0xa1, 0xea, 0x65,
-	0xaf, 0xfb, 0x10, 0x7d, 0xab, 0x56, 0x33, 0x06, 0x63, 0x7e, 0x2a, 0x6d, 0xdb, 0x0b, 0x10, 0xe7,
-	0x3b, 0xdf, 0xf9, 0xce, 0xcf, 0x9c, 0x19, 0xc0, 0x98, 0x31, 0x36, 0x0b, 0x7c, 0x63, 0xc6, 0x02,
-	0x8f, 0xce, 0x0c, 0xb6, 0x9a, 0xd5, 0x67, 0x3e, 0x5d, 0xae, 0x58, 0xc4, 0xea, 0xe2, 0xfb, 0x21,
-	0x9e, 0xd6, 0xa3, 0xf5, 0xd2, 0x37, 0x84, 0x85, 0x2f, 0x36, 0xfc, 0xad, 0xef, 0xb2, 0x3e, 0x9b,
-	0x47, 0x3f, 0xc6, 0x0f, 0xc6, 0x98, 0x2d, 0xea, 0x89, 0xc8, 0x2e, 0x6e, 0xc9, 0x03, 0xc3, 0xba,
-	0x47, 0xd7, 0xfc, 0x93, 0xc4, 0x5c, 0xbe, 0x7f, 0x4a, 0xc6, 0x90, 0xc5, 0xab, 0xb1, 0x3f, 0x1a,
-	0x33, 0x1a, 0xf9, 0x8f, 0x51, 0x12, 0x59, 0xfd, 0x45, 0x06, 0xc5, 0x5d, 0x2f, 0x7d, 0x8c, 0x41,
-	0xa1, 0xde, 0xc2, 0xd7, 0xa5, 0x8a, 0x54, 0xd3, 0x88, 0xf8, 0x8d, 0x0d, 0x50, 0xa7, 0x73, 0x3f,
-	0x98, 0x84, 0xba, 0x5c, 0xc9, 0xd5, 0x8a, 0x8d, 0x57, 0xc6, 0x41, 0xa5, 0xc6, 0x2d, 0x77, 0x93,
-	0x0d, 0x0b, 0xbf, 0x02, 0x95, 0x51, 0x9f, 0x4d, 0x43, 0x3d, 0x57, 0xc9, 0xd5, 0x34, 0xb2, 0xb1,
-	0xf0, 0xb7, 0x70, 0xc6, 0x96, 0xd1, 0x9c, 0xd1, 0x50, 0x57, 0x84, 0xd0, 0xeb, 0x23, 0x21, 0x5b,
-	0xf8, 0xc9, 0x96, 0x87, 0x4d, 0x28, 0xef, 0xd7, 0xab, 0xe7, 0x2b, 0x52, 0xad, 0xd8, 0x78, 0x7b,
-	0x14, 0x39, 0x10, 0xb4, 0x9b, 0x84, 0x45, 0x4a, 0x61, 0xd6, 0xc4, 0x75, 0x50, 0xc3, 0x35, 0x8d,
-	0xbc, 0x47, 0x5d, 0xad, 0x48, 0xb5, 0xf2, 0x89, 0xc4, 0x03, 0xe1, 0x26, 0x1b, 0x5a, 0xf5, 0x0f,
-	0x15, 0xf2, 0xa2, 0x29, 0x5c, 0x07, 0xe5, 0xcb, 0x9c, 0x4e, 0xc4, 0x40, 0xca, 0x8d, 0x37, 0xa7,
-	0x5b, 0x37, 0xee, 0xe6, 0x74, 0x42, 0x04, 0x11, 0x77, 0xa0, 0x38, 0xf6, 0x56, 0x93, 0x39, 0xf5,
-	0x82, 0x79, 0xb4, 0xd6, 0x65, 0x11, 0x57, 0xfd, 0x87, 0xb8, 0x9b, 0x1d, 0x93, 0x64, 0xc3, 0xf8,
-	0x0c, 0x69, 0xbc, 0x78, 0xf0, 0x57, 0x7a, 0xae, 0x22, 0xd5, 0xf2, 0x64, 0x63, 0xa5, 0xe7, 0xa3,
-	0x64, 0xce, 0xe7, 0x2b, 0x28, 0xf0, 0x6d, 0x18, 0xc5, 0xab, 0x40, 0xf4, 0xa7, 0x91, 0x33, 0x6e,
-	0x0f, 0x57, 0x01, 0xfe, 0x1a, 0x8a, 0x62, 0xf8, 0xa3, 0x39, 0x9d, 0xf8, 0x8f, 0xfa, 0x99, 0xd0,
-	0x02, 0x01, 0xf5, 0x38, 0xc2, 0xf3, 0x2c, 0xbd, 0xf1, 0x17, 0x7f, 0xa2, 0x17, 0x2a, 0x52, 0xad,
-	0x40, 0x36, 0x56, 0xf6, 0xac, 0xb4, 0x27, 0x9e, 0xd5, 0x1b, 0xd0, 0x3e, 0x87, 0x8c, 0x8e, 0x44,
-	0x7d, 0x20, 0xea, 0x28, 0x70, 0xc0, 0xe2, 0x35, 0x7e, 0x03, 0xa5, 0x89, 0x3f, 0xf5, 0xe2, 0x20,
-	0x1a, 0xfd, 0xe4, 0x05, 0xb1, 0xaf, 0x17, 0x05, 0xe1, 0x7c, 0x03, 0xfe, 0xc0, 0xb1, 0xea, 0x9f,
-	0x32, 0x28, 0x7c, 0x92, 0x18, 0xc1, 0xb9, 0x7b, 0xef, 0x98, 0xa3, 0xa1, 0x75, 0x67, 0xd9, 0x1f,
-	0x2d, 0xf4, 0x0c, 0x5f, 0x40, 0x51, 0x20, 0x1d, 0x7b, 0xd8, 0xee, 0x9b, 0x48, 0xc2, 0x65, 0x00,
-	0x01, 0xdc, 0xf6, 0xed, 0x96, 0x8b, 0xe4, 0xd4, 0xee, 0x59, 0xee, 0xf5, 0x15, 0xca, 0xa5, 0x01,
-	0xc3, 0x04, 0x50, 0xb2, 0x84, 0x66, 0x03, 0xe5, 0xd3, 0x1c, 0xb7, 0xbd, 0x4f, 0x66, 0xe7, 0xfa,
-	0x0a, 0xa9, 0xfb, 0x48, 0xb3, 0x81, 0xce, 0x70, 0x09, 0x34, 0x81, 0xb4, 0x6d, 0xbb, 0x8f, 0x0a,
-	0xa9, 0xe6, 0xc0, 0x25, 0x3d, 0xab, 0x8b, 0xb4, 0x54, 0xb3, 0x4b, 0xec, 0xa1, 0x83, 0x20, 0x55,
-	0xf8, 0x60, 0x0e, 0x06, 0xad, 0xae, 0x89, 0x8a, 0x29, 0xa3, 0x7d, 0xef, 0x9a, 0x03, 0x74, 0xbe,
-	0x57, 0x56, 0xb3, 0x81, 0x4a, 0x69, 0x0a, 0xd3, 0x1a, 0x7e, 0x40, 0x65, 0xfc, 0x1c, 0x4a, 0x49,
-	0x8a, 0x6d, 0x11, 0x17, 0x07, 0xd0, 0xf5, 0x15, 0x42, 0xbb, 0x42, 0x12, 0x95, 0xe7, 0x7b, 0xc0,
-	0xf5, 0x15, 0xc2, 0xd5, 0x08, 0x8a, 0x99, 0xdd, 0xc2, 0xaf, 0xe1, 0xc5, 0x4d, 0x8b, 0x74, 0x7a,
-	0x56, 0xab, 0xdf, 0x73, 0xef, 0x33, 0x73, 0xd5, 0xe1, 0x65, 0xd6, 0x61, 0x3b, 0x6e, 0xcf, 0xb6,
-	0x5a, 0x7d, 0x24, 0x1d, 0x7a, 0x88, 0xf9, 0xfd, 0xb0, 0x47, 0xcc, 0x0e, 0x92, 0x8f, 0x3d, 0x8e,
-	0xd9, 0x72, 0xcd, 0x0e, 0xca, 0x55, 0xff, 0x92, 0x40, 0x31, 0x69, 0xbc, 0x38, 0xf9, 0x8c, 0xbc,
-	0x07, 0xcd, 0xa7, 0xf1, 0x22, 0x39, 0xfe, 0xe4, 0x25, 0xb9, 0x3c, 0x5a, 0x2a, 0x1e, 0x2d, 0x96,
-	0x81, 0xec, 0xc8, 0xd9, 0x65, 0xcc, 0xfd, 0xe7, 0x87, 0x43, 0xf9, 0x7f, 0x0f, 0x47, 0xfe, 0x69,
-	0x0f, 0xc7, 0x67, 0xd0, 0xd2, 0x16, 0x4e, 0x4e, 0x61, 0x77, 0xb1, 0xe5, 0xbd, 0x8b, 0xfd, 0xef,
-	0x7b, 0xac, 0x7e, 0x07, 0x6a, 0x02, 0x9d, 0x4c, 0xf4, 0x0e, 0xf2, 0xdb, 0x51, 0xf3, 0xc6, 0x5f,
-	0x1e, 0xc9, 0xb5, 0xe8, 0x9a, 0x24, 0x94, 0x77, 0x06, 0xa8, 0x49, 0x1f, 0x7c, 0xd9, 0x06, 0xf7,
-	0x96, 0xdb, 0xfa, 0x34, 0x72, 0x88, 0xed, 0xda, 0x0d, 0xf4, 0xec, 0x10, 0x6a, 0x22, 0xa9, 0xdd,
-	0x87, 0x17, 0x63, 0xb6, 0x38, 0x54, 0x6c, 0x6b, 0xfc, 0x2f, 0xc4, 0xe1, 0x96, 0x23, 0xfd, 0x2a,
-	0x49, 0xbf, 0xc9, 0xb9, 0xae, 0xd3, 0xfe, 0x5d, 0x7e, 0xdb, 0x4d, 0x78, 0xce, 0x36, 0xf3, 0x47,
-	0x3f, 0x08, 0xee, 0x28, 0xfb, 0x99, 0x72, 0x7e, 0xf8, 0xa0, 0x0a, 0x81, 0xe6, 0xdf, 0x01, 0x00,
-	0x00, 0xff, 0xff, 0x55, 0x19, 0x59, 0x69, 0x31, 0x07, 0x00, 0x00,
+	// 800 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xcd, 0x6e, 0xf2, 0x46,
+	0x14, 0xad, 0xc1, 0x18, 0x7c, 0x1d, 0x88, 0xbf, 0x49, 0x94, 0xb8, 0x89, 0x94, 0x46, 0x74, 0x13,
+	0x65, 0x61, 0x54, 0x52, 0x55, 0xd9, 0x42, 0x70, 0xa8, 0x15, 0x62, 0xbb, 0x83, 0x69, 0xc2, 0x0a,
+	0x19, 0x30, 0x94, 0xc4, 0xb1, 0x11, 0x36, 0x6d, 0x78, 0x88, 0xbe, 0x43, 0xd5, 0x65, 0xd7, 0x7d,
+	0x88, 0xbe, 0x55, 0x3b, 0x33, 0x06, 0x63, 0x7e, 0x2a, 0xa5, 0xfd, 0x16, 0x09, 0xbe, 0xe7, 0x9e,
+	0x7b, 0xee, 0xcf, 0x5c, 0x8f, 0x41, 0x1d, 0x07, 0xc1, 0xd8, 0x73, 0xc9, 0x8f, 0xe7, 0xf8, 0x63,
+	0x35, 0x98, 0x8d, 0x2b, 0x63, 0xd7, 0x9f, 0xce, 0x82, 0x28, 0xa8, 0xb0, 0xff, 0xfd, 0xf9, 0xa8,
+	0x12, 0x2d, 0xa6, 0xae, 0xca, 0x2c, 0x74, 0xb8, 0xe4, 0xaf, 0x7c, 0x67, 0x95, 0xf1, 0x24, 0xfa,
+	0x69, 0xde, 0x57, 0x07, 0xc1, 0x5b, 0x25, 0x16, 0x59, 0xc7, 0x4d, 0x69, 0x60, 0x58, 0x71, 0xfc,
+	0x05, 0xfd, 0x8b, 0x63, 0xce, 0x6e, 0x3f, 0x92, 0x31, 0x0c, 0xe6, 0xb3, 0x81, 0xdb, 0x1b, 0x04,
+	0x7e, 0xe4, 0xbe, 0x47, 0x71, 0x64, 0xf9, 0xd7, 0x0c, 0xf0, 0x36, 0x51, 0x44, 0x08, 0x78, 0xdf,
+	0x79, 0x73, 0x15, 0xee, 0x92, 0xbb, 0x12, 0x31, 0x7b, 0x46, 0x2a, 0x08, 0xa3, 0x89, 0xeb, 0x0d,
+	0x43, 0x25, 0x73, 0x99, 0xbd, 0x92, 0xaa, 0x27, 0xea, 0x56, 0xa5, 0xea, 0x3d, 0x75, 0xe3, 0x25,
+	0x0b, 0x9d, 0x80, 0x10, 0xf8, 0x6e, 0x30, 0x0a, 0x95, 0x2c, 0xe1, 0x8b, 0x78, 0x69, 0xa1, 0x6f,
+	0x20, 0x1f, 0x4c, 0xa3, 0x49, 0xe0, 0x87, 0x0a, 0xcf, 0x84, 0x4e, 0x77, 0x84, 0x4c, 0xe6, 0xc7,
+	0x2b, 0x1e, 0xd2, 0xa0, 0xb4, 0x59, 0xaf, 0x92, 0x23, 0x85, 0x49, 0xd5, 0x8b, 0x9d, 0xc8, 0x36,
+	0xa3, 0xdd, 0xc5, 0x2c, 0x5c, 0x0c, 0xd3, 0x26, 0xaa, 0x80, 0x10, 0x2e, 0xfc, 0xc8, 0x79, 0x57,
+	0x04, 0x12, 0x5e, 0xda, 0x93, 0xb8, 0xcd, 0xdc, 0x78, 0x49, 0x2b, 0xff, 0x29, 0x40, 0x8e, 0x35,
+	0x45, 0x42, 0xf9, 0xd7, 0x89, 0x3f, 0x64, 0x03, 0x29, 0x55, 0xcf, 0xf7, 0xb7, 0xae, 0x3e, 0x10,
+	0x0a, 0x66, 0x44, 0xd4, 0x00, 0x69, 0xe0, 0xcc, 0x86, 0x13, 0xdf, 0xf1, 0x26, 0xd1, 0x82, 0x8c,
+	0x8c, 0xc6, 0x95, 0xff, 0x25, 0xee, 0x6e, 0xcd, 0xc4, 0xe9, 0x30, 0x3a, 0x43, 0x7f, 0xfe, 0xd6,
+	0x77, 0x67, 0x64, 0x86, 0xdc, 0x55, 0x0e, 0x2f, 0xad, 0xe4, 0x7c, 0xf8, 0xd4, 0xf9, 0x7c, 0x09,
+	0x05, 0xba, 0x0d, 0xbd, 0xf9, 0xcc, 0x63, 0xfd, 0x89, 0x38, 0x4f, 0xed, 0xce, 0xcc, 0x43, 0x5f,
+	0x81, 0xc4, 0x86, 0xdf, 0x23, 0x95, 0xb9, 0xef, 0x4a, 0x9e, 0x69, 0x01, 0x83, 0x74, 0x8a, 0xd0,
+	0x3c, 0x53, 0x67, 0xf0, 0xea, 0x0e, 0x95, 0x02, 0xf1, 0x15, 0xf0, 0xd2, 0x4a, 0x9f, 0x95, 0xf8,
+	0xc1, 0xb3, 0x3a, 0x07, 0xf1, 0x25, 0x0c, 0xfc, 0x1e, 0xab, 0x0f, 0x58, 0x1d, 0x05, 0x0a, 0x18,
+	0xb4, 0xc6, 0xaf, 0xa1, 0x38, 0x74, 0x47, 0xce, 0xdc, 0x8b, 0x7a, 0x3f, 0x3b, 0xde, 0xdc, 0x55,
+	0x24, 0x46, 0x38, 0x58, 0x82, 0x3f, 0x52, 0xac, 0xfc, 0x17, 0xd9, 0x42, 0x3a, 0x49, 0x24, 0xc3,
+	0x81, 0xdd, 0xb5, 0xb4, 0x5e, 0xc7, 0x78, 0x30, 0xcc, 0x27, 0x43, 0xfe, 0x02, 0x1d, 0x82, 0xc4,
+	0x90, 0x86, 0xd9, 0xa9, 0xb7, 0x34, 0x99, 0x43, 0x25, 0x00, 0x06, 0xdc, 0xb7, 0xcc, 0x9a, 0x2d,
+	0x67, 0x12, 0x5b, 0x37, 0xec, 0xef, 0xbe, 0x95, 0xb3, 0x49, 0x40, 0x27, 0x06, 0xf8, 0x34, 0xe1,
+	0xa6, 0x2a, 0xe7, 0x92, 0x1c, 0xf7, 0xfa, 0xb3, 0xd6, 0x20, 0x0c, 0x61, 0x13, 0x21, 0x9c, 0x3c,
+	0x2a, 0x82, 0xc8, 0x90, 0xba, 0x69, 0xb6, 0xe4, 0x42, 0xa2, 0xd9, 0xb6, 0xb1, 0x6e, 0x34, 0x65,
+	0x31, 0xd1, 0x6c, 0x62, 0xb3, 0x63, 0xc9, 0x90, 0x28, 0x3c, 0x6a, 0xed, 0x76, 0xad, 0xa9, 0xc9,
+	0x52, 0xc2, 0xa8, 0x77, 0x6d, 0xad, 0x2d, 0x1f, 0x6c, 0x94, 0x45, 0x52, 0x14, 0x93, 0x14, 0x9a,
+	0xd1, 0x79, 0x94, 0x4b, 0xe8, 0x13, 0x14, 0xe3, 0x14, 0xab, 0x22, 0x0e, 0xb7, 0x20, 0x52, 0xa9,
+	0xbc, 0x2e, 0x24, 0x56, 0xf9, 0xb4, 0x01, 0x10, 0x06, 0x2a, 0x47, 0x20, 0xa5, 0x76, 0x0b, 0x9d,
+	0xc2, 0xd1, 0x5d, 0x0d, 0x37, 0x74, 0xa3, 0xd6, 0xd2, 0xed, 0x6e, 0x6a, 0xae, 0x0a, 0x1c, 0xa7,
+	0x1d, 0xa6, 0x65, 0xeb, 0x26, 0x79, 0x26, 0x03, 0xde, 0xf2, 0x60, 0xed, 0x87, 0x8e, 0x8e, 0xb5,
+	0x06, 0x19, 0xf5, 0x8e, 0xc7, 0xd2, 0x6a, 0x36, 0xf1, 0x64, 0xcb, 0x7f, 0x73, 0xc0, 0x6b, 0x64,
+	0x53, 0xf7, 0x5e, 0x23, 0xb7, 0x20, 0xba, 0xc4, 0x17, 0x1f, 0x7f, 0x7c, 0x93, 0x9c, 0xed, 0x2c,
+	0x15, 0x8d, 0x66, 0xcb, 0x80, 0xd7, 0xe4, 0xf4, 0x32, 0x66, 0xff, 0xf7, 0xc5, 0xc1, 0x7f, 0xde,
+	0xc5, 0x91, 0xfb, 0xd8, 0xc5, 0xf1, 0x02, 0x62, 0xd2, 0xc2, 0xde, 0x29, 0xac, 0x5f, 0xec, 0xcc,
+	0xc6, 0x8b, 0xfd, 0xdf, 0x7b, 0x2c, 0x7f, 0x0f, 0x42, 0x0c, 0xed, 0x4d, 0x74, 0x0d, 0xb9, 0xd5,
+	0xa8, 0x69, 0xe3, 0xc7, 0x3b, 0x72, 0x35, 0x7f, 0x81, 0x63, 0xca, 0x35, 0xb9, 0xe1, 0xe3, 0x3e,
+	0xe8, 0xb2, 0xb5, 0xbb, 0x86, 0x5d, 0x7b, 0xee, 0x59, 0xd8, 0xb4, 0xcd, 0x2a, 0x59, 0x91, 0x2d,
+	0xe8, 0x46, 0xe6, 0xea, 0x2d, 0x38, 0x22, 0x1f, 0xa5, 0x6d, 0xc5, 0xba, 0x48, 0x3f, 0x21, 0x16,
+	0xb5, 0x2c, 0xee, 0x37, 0x8e, 0xfb, 0x3d, 0x93, 0x6d, 0x5a, 0xf5, 0x3f, 0x32, 0x17, 0xcd, 0x98,
+	0x67, 0xad, 0x32, 0x3f, 0xb9, 0x9e, 0xf7, 0xe0, 0x07, 0xbf, 0xf8, 0x94, 0x1f, 0xf6, 0x05, 0x26,
+	0x70, 0xf3, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x55, 0x19, 0x59, 0x69, 0x31, 0x07, 0x00, 0x00,
 }
diff --git a/regen.sh b/regen.sh
index b5910625..493efef6 100755
--- a/regen.sh
+++ b/regen.sh
@@ -90,6 +90,7 @@ for g in "api" "rpc" "type"; do
     echo 1>&2 "finding latest version of $f... "
     # Note: we use move here so that the next pass doesn't see them.
     up=google/$g/$(basename $f)
+    [ ! -f "$tmpapi/$up" ] && continue
     mv "$tmpapi/$up" "$PKG/$f"
     rename "$up" "$PKG/$f"
   done
-- 
GitLab