From b3e7c2fb04031add52c4817f53f43757ccbf9c18 Mon Sep 17 00:00:00 2001
From: Michael Darakananda <pongad@google.com>
Date: Fri, 16 Dec 2016 07:36:40 +1100
Subject: [PATCH] use proto's go_package option (#17)

* reimplement regen

* regenerate files

This change should fix our ongoing problem with duplicate file names causing failures.

At the moment, this changes requires you to build protobuf from source with this patch to work. Otherwise, we won't be able to properly import descriptor.proto.

- all proto files are deleted, as the new logic does not need to rewrite any part of the proto files.
- google.protobuf.descriptor is removed; it's official home is github.com/golang/protobuf/protoc-gen-go/descriptor.
- the protobuf directory is split into multiple packages. This is a breaking change.
---
 googleapis/api/annotations/annotations.pb.go  |   65 +
 .../{serviceconfig => annotations}/http.pb.go |  240 +-
 .../api/configchange/config_change.pb.go      |   92 +-
 .../api/configchange/config_change.proto      |   84 -
 .../api/distribution/distribution.pb.go       |  177 +-
 .../api/distribution/distribution.proto       |  184 --
 googleapis/api/httpbody/httpbody.pb.go        |   51 +-
 googleapis/api/httpbody/httpbody.proto        |   69 -
 googleapis/api/label/label.pb.go              |   67 +-
 googleapis/api/label/label.proto              |   48 -
 googleapis/api/metric/metric.pb.go            |  194 +-
 googleapis/api/metric/metric.proto            |  193 --
 .../api/monitoredres/monitored_resource.pb.go |   89 +-
 .../api/monitoredres/monitored_resource.proto |   91 -
 .../api/serviceconfig/annotations.pb.go       |  108 -
 .../api/serviceconfig/annotations.proto       |   30 -
 googleapis/api/serviceconfig/auth.pb.go       |  226 +-
 googleapis/api/serviceconfig/auth.proto       |  164 --
 googleapis/api/serviceconfig/backend.pb.go    |   66 +-
 googleapis/api/serviceconfig/backend.proto    |   46 -
 googleapis/api/serviceconfig/billing.pb.go    |   70 +-
 googleapis/api/serviceconfig/billing.proto    |   97 -
 googleapis/api/serviceconfig/consumer.pb.go   |   77 +-
 googleapis/api/serviceconfig/consumer.proto   |   82 -
 googleapis/api/serviceconfig/context.pb.go    |   66 +-
 googleapis/api/serviceconfig/context.proto    |   62 -
 googleapis/api/serviceconfig/control.pb.go    |   42 +-
 googleapis/api/serviceconfig/control.proto    |   32 -
 .../api/serviceconfig/documentation.pb.go     |  121 +-
 .../api/serviceconfig/documentation.proto     |  158 --
 googleapis/api/serviceconfig/endpoint.pb.go   |  103 +-
 googleapis/api/serviceconfig/endpoint.proto   |   89 -
 googleapis/api/serviceconfig/http.proto       |  285 ---
 googleapis/api/serviceconfig/log.pb.go        |   71 +-
 googleapis/api/serviceconfig/log.proto        |   54 -
 googleapis/api/serviceconfig/logging.pb.go    |   89 +-
 googleapis/api/serviceconfig/logging.proto    |   82 -
 googleapis/api/serviceconfig/monitoring.pb.go |   65 +-
 googleapis/api/serviceconfig/monitoring.proto |   88 -
 googleapis/api/serviceconfig/service.pb.go    |  187 +-
 googleapis/api/serviceconfig/service.proto    |  157 --
 .../api/serviceconfig/system_parameter.pb.go  |  118 +-
 .../api/serviceconfig/system_parameter.proto  |   97 -
 googleapis/api/serviceconfig/usage.pb.go      |   90 +-
 googleapis/api/serviceconfig/usage.proto      |   74 -
 .../api/servicecontrol/v1/check_error.pb.go   |  101 +-
 .../api/servicecontrol/v1/check_error.proto   |   94 -
 .../api/servicecontrol/v1/distribution.pb.go  |  162 +-
 .../api/servicecontrol/v1/distribution.proto  |  158 --
 .../api/servicecontrol/v1/log_entry.pb.go     |   92 +-
 .../api/servicecontrol/v1/log_entry.proto     |   66 -
 .../api/servicecontrol/v1/metric_value.pb.go  |   81 +-
 .../api/servicecontrol/v1/metric_value.proto  |   77 -
 .../api/servicecontrol/v1/operation.pb.go     |  102 +-
 .../api/servicecontrol/v1/operation.proto     |  111 -
 .../v1/service_controller.pb.go               |  136 +-
 .../v1/service_controller.proto               |  160 --
 .../api/servicemanagement/v1/resources.pb.go  |  294 ++-
 .../api/servicemanagement/v1/resources.proto  |  285 ---
 .../servicemanagement/v1/servicemanager.pb.go |  387 +++-
 .../servicemanagement/v1/servicemanager.proto |  391 ----
 .../appengine/logging/v1/request_log.pb.go    |  362 ++-
 .../appengine/logging/v1/request_log.proto    |  189 --
 googleapis/appengine/v1/app_yaml.pb.go        |  456 +++-
 googleapis/appengine/v1/app_yaml.proto        |  284 ---
 googleapis/appengine/v1/appengine.pb.go       |  470 ++--
 googleapis/appengine/v1/appengine.proto       |  340 ---
 googleapis/appengine/v1/application.pb.go     |  143 +-
 googleapis/appengine/v1/application.proto     |  111 -
 googleapis/appengine/v1/deploy.pb.go          |  104 +-
 googleapis/appengine/v1/deploy.proto          |   77 -
 googleapis/appengine/v1/instance.pb.go        |  177 +-
 googleapis/appengine/v1/instance.proto        |  120 -
 googleapis/appengine/v1/location.pb.go        |   57 +-
 googleapis/appengine/v1/location.proto        |   38 -
 googleapis/appengine/v1/operation.pb.go       |   69 +-
 googleapis/appengine/v1/operation.proto       |   55 -
 googleapis/appengine/v1/service.pb.go         |   78 +-
 googleapis/appengine/v1/service.proto         |   82 -
 googleapis/appengine/v1/version.pb.go         |  494 +++-
 googleapis/appengine/v1/version.proto         |  377 ---
 .../admin/table/v1/bigtable_table_data.pb.go  |  118 +-
 .../admin/table/v1/bigtable_table_data.proto  |  125 -
 .../table/v1/bigtable_table_service.pb.go     |   85 +-
 .../table/v1/bigtable_table_service.proto     |   79 -
 .../v1/bigtable_table_service_messages.pb.go  |  181 +-
 .../v1/bigtable_table_service_messages.proto  |  115 -
 .../admin/v2/bigtable_instance_admin.pb.go    |  261 ++-
 .../admin/v2/bigtable_instance_admin.proto    |  232 --
 .../admin/v2/bigtable_table_admin.pb.go       |  213 +-
 .../admin/v2/bigtable_table_admin.proto       |  195 --
 googleapis/bigtable/admin/v2/common.pb.go     |   43 +-
 googleapis/bigtable/admin/v2/common.proto     |   37 -
 googleapis/bigtable/admin/v2/instance.pb.go   |  120 +-
 googleapis/bigtable/admin/v2/instance.proto   |  113 -
 googleapis/bigtable/admin/v2/table.pb.go      |  101 +-
 googleapis/bigtable/admin/v2/table.proto      |  115 -
 googleapis/bigtable/v1/bigtable_data.pb.go    |  338 ++-
 googleapis/bigtable/v1/bigtable_data.proto    |  515 -----
 googleapis/bigtable/v1/bigtable_service.pb.go |   89 +-
 googleapis/bigtable/v1/bigtable_service.proto |   73 -
 .../v1/bigtable_service_messages.pb.go        |  249 +-
 .../v1/bigtable_service_messages.proto        |  217 --
 googleapis/bigtable/v2/bigtable.pb.go         |  311 ++-
 googleapis/bigtable/v2/bigtable.proto         |  321 ---
 googleapis/bigtable/v2/data.pb.go             |  320 ++-
 googleapis/bigtable/v2/data.proto             |  532 -----
 googleapis/bytestream/bytestream.pb.go        |  159 +-
 googleapis/bytestream/bytestream.proto        |  180 --
 googleapis/cloud/audit/audit_log.pb.go        |  160 +-
 googleapis/cloud/audit/audit_log.proto        |  127 -
 .../cloud/billing/v1/cloud_billing.pb.go      |  221 +-
 .../cloud/billing/v1/cloud_billing.proto      |  213 --
 googleapis/cloud/dataproc/v1/clusters.pb.go   |  536 ++++-
 googleapis/cloud/dataproc/v1/clusters.proto   |  443 ----
 googleapis/cloud/dataproc/v1/jobs.pb.go       |  571 ++++-
 googleapis/cloud/dataproc/v1/jobs.proto       |  572 -----
 googleapis/cloud/dataproc/v1/operations.pb.go |  123 +-
 googleapis/cloud/dataproc/v1/operations.proto |   78 -
 .../cloud/functions/v1beta2/functions.pb.go   |  355 ++-
 .../cloud/functions/v1beta2/functions.proto   |  298 ---
 .../cloud/functions/v1beta2/operations.pb.go  |   69 +-
 .../cloud/functions/v1beta2/operations.proto  |   53 -
 .../cloud/language/v1/language_service.pb.go  |  612 +++--
 .../cloud/language/v1/language_service.proto  |  950 --------
 .../language/v1beta1/language_service.pb.go   |  620 +++--
 .../language/v1beta1/language_service.proto   |  951 --------
 googleapis/cloud/ml/v1beta1/job_service.pb.go |  567 +++--
 googleapis/cloud/ml/v1beta1/job_service.proto |  529 -----
 .../cloud/ml/v1beta1/model_service.pb.go      |  276 ++-
 .../cloud/ml/v1beta1/model_service.proto      |  340 ---
 .../cloud/ml/v1beta1/operation_metadata.pb.go |   92 +-
 .../cloud/ml/v1beta1/operation_metadata.proto |   71 -
 .../cloud/ml/v1beta1/prediction_service.pb.go |   61 +-
 .../cloud/ml/v1beta1/prediction_service.proto |  188 --
 .../cloud/ml/v1beta1/project_service.pb.go    |   77 +-
 .../cloud/ml/v1beta1/project_service.proto    |   52 -
 .../runtimeconfig/v1beta1/resources.pb.go     |  151 +-
 .../runtimeconfig/v1beta1/resources.proto     |  207 --
 .../runtimeconfig/v1beta1/runtimeconfig.pb.go |  354 ++-
 .../runtimeconfig/v1beta1/runtimeconfig.proto |  401 ----
 googleapis/cloud/speech/v1/cloud_speech.pb.go |  639 ------
 googleapis/cloud/speech/v1/cloud_speech.proto |  292 ---
 .../cloud/speech/v1beta1/cloud_speech.pb.go   |  276 ++-
 .../cloud/speech/v1beta1/cloud_speech.proto   |  408 ----
 googleapis/cloud/vision/v1/geometry.pb.go     |   81 +-
 googleapis/cloud/vision/v1/geometry.proto     |   53 -
 .../cloud/vision/v1/image_annotator.pb.go     |  495 ++--
 .../cloud/vision/v1/image_annotator.proto     |  500 ----
 googleapis/container/v1/cluster_service.pb.go |  718 ++++--
 googleapis/container/v1/cluster_service.proto |  593 -----
 googleapis/datastore/v1/datastore.pb.go       |  257 ++-
 googleapis/datastore/v1/datastore.proto       |  316 ---
 googleapis/datastore/v1/entity.pb.go          |  144 +-
 googleapis/datastore/v1/entity.proto          |  201 --
 googleapis/datastore/v1/query.pb.go           |  303 ++-
 googleapis/datastore/v1/query.proto           |  306 ---
 googleapis/datastore/v1beta3/datastore.pb.go  |  258 ++-
 googleapis/datastore/v1beta3/datastore.proto  |  316 ---
 googleapis/datastore/v1beta3/entity.pb.go     |  145 +-
 googleapis/datastore/v1beta3/entity.proto     |  201 --
 googleapis/datastore/v1beta3/query.pb.go      |  304 ++-
 googleapis/datastore/v1beta3/query.proto      |  306 ---
 .../devtools/cloudbuild/v1/cloudbuild.pb.go   |  703 ++++--
 .../devtools/cloudbuild/v1/cloudbuild.proto   |  521 -----
 .../clouddebugger/v2/controller.pb.go         |  137 +-
 .../clouddebugger/v2/controller.proto         |  157 --
 .../devtools/clouddebugger/v2/data.pb.go      |  342 ++-
 .../devtools/clouddebugger/v2/data.proto      |  444 ----
 .../devtools/clouddebugger/v2/debugger.pb.go  |  246 +-
 .../devtools/clouddebugger/v2/debugger.proto  |  195 --
 .../clouderrorreporting/v1beta1/common.pb.go  |  231 +-
 .../clouderrorreporting/v1beta1/common.proto  |  154 --
 .../v1beta1/error_group_service.pb.go         |   66 +-
 .../v1beta1/error_group_service.proto         |   58 -
 .../v1beta1/error_stats_service.pb.go         |  357 ++-
 .../v1beta1/error_stats_service.proto         |  320 ---
 .../v1beta1/report_errors_service.pb.go       |   86 +-
 .../v1beta1/report_errors_service.proto       |   79 -
 googleapis/devtools/cloudtrace/v1/trace.pb.go |  242 +-
 googleapis/devtools/cloudtrace/v1/trace.proto |  218 --
 .../devtools/source/v1/source_context.pb.go   |  182 +-
 .../devtools/source/v1/source_context.proto   |  179 --
 googleapis/example/library/v1/library.pb.go   |  286 ++-
 googleapis/example/library/v1/library.proto   |  253 --
 googleapis/genomics/v1/annotations.pb.go      |  675 ++++--
 googleapis/genomics/v1/annotations.proto      |  671 ------
 googleapis/genomics/v1/cigar.pb.go            |   80 +-
 googleapis/genomics/v1/cigar.proto            |   98 -
 googleapis/genomics/v1/datasets.pb.go         |  194 +-
 googleapis/genomics/v1/datasets.proto         |  211 --
 googleapis/genomics/v1/operations.pb.go       |   84 +-
 googleapis/genomics/v1/operations.proto       |   72 -
 googleapis/genomics/v1/position.pb.go         |   59 +-
 googleapis/genomics/v1/position.proto         |   41 -
 googleapis/genomics/v1/range.pb.go            |   61 +-
 googleapis/genomics/v1/range.proto            |   38 -
 googleapis/genomics/v1/readalignment.pb.go    |  204 +-
 googleapis/genomics/v1/readalignment.proto    |  220 --
 googleapis/genomics/v1/readgroup.pb.go        |  199 +-
 googleapis/genomics/v1/readgroup.proto        |  105 -
 googleapis/genomics/v1/readgroupset.pb.go     |   95 +-
 googleapis/genomics/v1/readgroupset.proto     |   63 -
 googleapis/genomics/v1/reads.pb.go            |  481 +++-
 googleapis/genomics/v1/reads.proto            |  460 ----
 googleapis/genomics/v1/references.pb.go       |  380 ++-
 googleapis/genomics/v1/references.proto       |  281 ---
 googleapis/genomics/v1/variants.pb.go         |  874 +++++--
 googleapis/genomics/v1/variants.proto         |  902 --------
 googleapis/genomics/v1alpha2/pipelines.pb.go  |  632 +++--
 googleapis/genomics/v1alpha2/pipelines.proto  |  590 -----
 googleapis/iam/admin/v1/iam.pb.go             |  475 +++-
 googleapis/iam/admin/v1/iam.proto             |  468 ----
 googleapis/iam/v1/iam_policy.pb.go            |  108 +-
 googleapis/iam/v1/iam_policy.proto            |  114 -
 googleapis/iam/v1/policy.pb.go                |   71 +-
 googleapis/iam/v1/policy.proto                |  108 -
 googleapis/logging/type/http_request.pb.go    |  171 +-
 googleapis/logging/type/http_request.proto    |   86 -
 googleapis/logging/type/log_severity.pb.go    |   49 +-
 googleapis/logging/type/log_severity.proto    |   69 -
 googleapis/logging/v2/log_entry.pb.go         |  262 ++-
 googleapis/logging/v2/log_entry.proto         |  115 -
 googleapis/logging/v2/logging.pb.go           |  434 +++-
 googleapis/logging/v2/logging.proto           |  190 --
 googleapis/logging/v2/logging_config.pb.go    |  444 +++-
 googleapis/logging/v2/logging_config.proto    |  187 --
 googleapis/logging/v2/logging_metrics.pb.go   |  273 ++-
 googleapis/logging/v2/logging_metrics.proto   |  161 --
 googleapis/longrunning/operations.pb.go       |  271 ++-
 googleapis/longrunning/operations.proto       |  156 --
 googleapis/monitoring/v3/agent.pb.go          |  235 --
 googleapis/monitoring/v3/agent.proto          |   90 -
 googleapis/monitoring/v3/agent_service.pb.go  |  178 --
 googleapis/monitoring/v3/agent_service.proto  |   60 -
 googleapis/monitoring/v3/common.pb.go         |  212 +-
 googleapis/monitoring/v3/common.proto         |  316 ---
 googleapis/monitoring/v3/group.pb.go          |   79 +-
 googleapis/monitoring/v3/group.proto          |   72 -
 googleapis/monitoring/v3/group_service.pb.go  |  247 +-
 googleapis/monitoring/v3/group_service.proto  |  204 --
 googleapis/monitoring/v3/metric.pb.go         |   77 +-
 googleapis/monitoring/v3/metric.proto         |   85 -
 googleapis/monitoring/v3/metric_service.pb.go |  329 ++-
 googleapis/monitoring/v3/metric_service.proto |  284 ---
 googleapis/pubsub/v1/pubsub.pb.go             |  702 +++++-
 googleapis/pubsub/v1/pubsub.proto             |  435 ----
 googleapis/pubsub/v1beta2/pubsub.pb.go        |  410 +++-
 googleapis/pubsub/v1beta2/pubsub.proto        |  383 ----
 googleapis/rpc/code/code.pb.go                |   58 +-
 googleapis/rpc/code/code.proto                |  180 --
 googleapis/rpc/errdetails/error_details.pb.go |  195 +-
 googleapis/rpc/errdetails/error_details.proto |  171 --
 googleapis/rpc/status/status.pb.go            |   55 +-
 googleapis/rpc/status/status.proto            |   92 -
 googleapis/storagetransfer/v1/transfer.pb.go  |  195 +-
 googleapis/storagetransfer/v1/transfer.proto  |  167 --
 .../storagetransfer/v1/transfer_types.pb.go   |  504 +++-
 .../storagetransfer/v1/transfer_types.proto   |  442 ----
 googleapis/tracing/trace.proto                |  246 --
 googleapis/tracing/{ => v1}/trace.pb.go       |  296 ++-
 googleapis/type/color/color.pb.go             |   64 +-
 googleapis/type/color/color.proto             |  163 --
 googleapis/type/date/date.pb.go               |   57 +-
 googleapis/type/date/date.proto               |   43 -
 googleapis/type/dayofweek/dayofweek.pb.go     |   44 +-
 googleapis/type/dayofweek/dayofweek.proto     |   50 -
 googleapis/type/latlng/latlng.pb.go           |   51 +-
 googleapis/type/latlng/latlng.proto           |   70 -
 googleapis/type/money/money.pb.go             |   59 +-
 googleapis/type/money/money.proto             |   41 -
 .../type/postaladdress/postal_address.pb.go   |  241 ++
 googleapis/type/timeofday/timeofday.pb.go     |   67 +-
 googleapis/type/timeofday/timeofday.proto     |   42 -
 protobuf/api.proto                            |  201 --
 protobuf/{ => api}/api.pb.go                  |  193 +-
 protobuf/descriptor.pb.go                     | 2034 -----------------
 protobuf/descriptor.proto                     |  804 -------
 protobuf/field_mask.proto                     |  245 --
 protobuf/{ => field_mask}/field_mask.pb.go    |   58 +-
 protobuf/{ => ptype}/type.pb.go               |  277 ++-
 protobuf/source_context.pb.go                 |   50 -
 protobuf/source_context.proto                 |   47 -
 protobuf/source_context/source_context.pb.go  |   71 +
 protobuf/type.proto                           |  180 --
 regen.go                                      |  123 +
 regen.sh                                      |  113 +-
 287 files changed, 22422 insertions(+), 41790 deletions(-)
 create mode 100644 googleapis/api/annotations/annotations.pb.go
 rename googleapis/api/{serviceconfig => annotations}/http.pb.go (73%)
 delete mode 100644 googleapis/api/configchange/config_change.proto
 delete mode 100644 googleapis/api/distribution/distribution.proto
 delete mode 100644 googleapis/api/httpbody/httpbody.proto
 delete mode 100644 googleapis/api/label/label.proto
 delete mode 100644 googleapis/api/metric/metric.proto
 delete mode 100644 googleapis/api/monitoredres/monitored_resource.proto
 delete mode 100644 googleapis/api/serviceconfig/annotations.pb.go
 delete mode 100644 googleapis/api/serviceconfig/annotations.proto
 delete mode 100644 googleapis/api/serviceconfig/auth.proto
 delete mode 100644 googleapis/api/serviceconfig/backend.proto
 delete mode 100644 googleapis/api/serviceconfig/billing.proto
 delete mode 100644 googleapis/api/serviceconfig/consumer.proto
 delete mode 100644 googleapis/api/serviceconfig/context.proto
 delete mode 100644 googleapis/api/serviceconfig/control.proto
 delete mode 100644 googleapis/api/serviceconfig/documentation.proto
 delete mode 100644 googleapis/api/serviceconfig/endpoint.proto
 delete mode 100644 googleapis/api/serviceconfig/http.proto
 delete mode 100644 googleapis/api/serviceconfig/log.proto
 delete mode 100644 googleapis/api/serviceconfig/logging.proto
 delete mode 100644 googleapis/api/serviceconfig/monitoring.proto
 delete mode 100644 googleapis/api/serviceconfig/service.proto
 delete mode 100644 googleapis/api/serviceconfig/system_parameter.proto
 delete mode 100644 googleapis/api/serviceconfig/usage.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/check_error.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/distribution.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/log_entry.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/metric_value.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/operation.proto
 delete mode 100644 googleapis/api/servicecontrol/v1/service_controller.proto
 delete mode 100644 googleapis/api/servicemanagement/v1/resources.proto
 delete mode 100644 googleapis/api/servicemanagement/v1/servicemanager.proto
 delete mode 100644 googleapis/appengine/logging/v1/request_log.proto
 delete mode 100644 googleapis/appengine/v1/app_yaml.proto
 delete mode 100644 googleapis/appengine/v1/appengine.proto
 delete mode 100644 googleapis/appengine/v1/application.proto
 delete mode 100644 googleapis/appengine/v1/deploy.proto
 delete mode 100644 googleapis/appengine/v1/instance.proto
 delete mode 100644 googleapis/appengine/v1/location.proto
 delete mode 100644 googleapis/appengine/v1/operation.proto
 delete mode 100644 googleapis/appengine/v1/service.proto
 delete mode 100644 googleapis/appengine/v1/version.proto
 delete mode 100644 googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
 delete mode 100644 googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
 delete mode 100644 googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 delete mode 100644 googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
 delete mode 100644 googleapis/bigtable/admin/v2/bigtable_table_admin.proto
 delete mode 100644 googleapis/bigtable/admin/v2/common.proto
 delete mode 100644 googleapis/bigtable/admin/v2/instance.proto
 delete mode 100644 googleapis/bigtable/admin/v2/table.proto
 delete mode 100644 googleapis/bigtable/v1/bigtable_data.proto
 delete mode 100644 googleapis/bigtable/v1/bigtable_service.proto
 delete mode 100644 googleapis/bigtable/v1/bigtable_service_messages.proto
 delete mode 100644 googleapis/bigtable/v2/bigtable.proto
 delete mode 100644 googleapis/bigtable/v2/data.proto
 delete mode 100644 googleapis/bytestream/bytestream.proto
 delete mode 100644 googleapis/cloud/audit/audit_log.proto
 delete mode 100644 googleapis/cloud/billing/v1/cloud_billing.proto
 delete mode 100644 googleapis/cloud/dataproc/v1/clusters.proto
 delete mode 100644 googleapis/cloud/dataproc/v1/jobs.proto
 delete mode 100644 googleapis/cloud/dataproc/v1/operations.proto
 delete mode 100644 googleapis/cloud/functions/v1beta2/functions.proto
 delete mode 100644 googleapis/cloud/functions/v1beta2/operations.proto
 delete mode 100644 googleapis/cloud/language/v1/language_service.proto
 delete mode 100644 googleapis/cloud/language/v1beta1/language_service.proto
 delete mode 100644 googleapis/cloud/ml/v1beta1/job_service.proto
 delete mode 100644 googleapis/cloud/ml/v1beta1/model_service.proto
 delete mode 100644 googleapis/cloud/ml/v1beta1/operation_metadata.proto
 delete mode 100644 googleapis/cloud/ml/v1beta1/prediction_service.proto
 delete mode 100644 googleapis/cloud/ml/v1beta1/project_service.proto
 delete mode 100644 googleapis/cloud/runtimeconfig/v1beta1/resources.proto
 delete mode 100644 googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
 delete mode 100644 googleapis/cloud/speech/v1/cloud_speech.pb.go
 delete mode 100644 googleapis/cloud/speech/v1/cloud_speech.proto
 delete mode 100644 googleapis/cloud/speech/v1beta1/cloud_speech.proto
 delete mode 100644 googleapis/cloud/vision/v1/geometry.proto
 delete mode 100644 googleapis/cloud/vision/v1/image_annotator.proto
 delete mode 100644 googleapis/container/v1/cluster_service.proto
 delete mode 100644 googleapis/datastore/v1/datastore.proto
 delete mode 100644 googleapis/datastore/v1/entity.proto
 delete mode 100644 googleapis/datastore/v1/query.proto
 delete mode 100644 googleapis/datastore/v1beta3/datastore.proto
 delete mode 100644 googleapis/datastore/v1beta3/entity.proto
 delete mode 100644 googleapis/datastore/v1beta3/query.proto
 delete mode 100644 googleapis/devtools/cloudbuild/v1/cloudbuild.proto
 delete mode 100644 googleapis/devtools/clouddebugger/v2/controller.proto
 delete mode 100644 googleapis/devtools/clouddebugger/v2/data.proto
 delete mode 100644 googleapis/devtools/clouddebugger/v2/debugger.proto
 delete mode 100644 googleapis/devtools/clouderrorreporting/v1beta1/common.proto
 delete mode 100644 googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
 delete mode 100644 googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
 delete mode 100644 googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
 delete mode 100644 googleapis/devtools/cloudtrace/v1/trace.proto
 delete mode 100644 googleapis/devtools/source/v1/source_context.proto
 delete mode 100644 googleapis/example/library/v1/library.proto
 delete mode 100644 googleapis/genomics/v1/annotations.proto
 delete mode 100644 googleapis/genomics/v1/cigar.proto
 delete mode 100644 googleapis/genomics/v1/datasets.proto
 delete mode 100644 googleapis/genomics/v1/operations.proto
 delete mode 100644 googleapis/genomics/v1/position.proto
 delete mode 100644 googleapis/genomics/v1/range.proto
 delete mode 100644 googleapis/genomics/v1/readalignment.proto
 delete mode 100644 googleapis/genomics/v1/readgroup.proto
 delete mode 100644 googleapis/genomics/v1/readgroupset.proto
 delete mode 100644 googleapis/genomics/v1/reads.proto
 delete mode 100644 googleapis/genomics/v1/references.proto
 delete mode 100644 googleapis/genomics/v1/variants.proto
 delete mode 100644 googleapis/genomics/v1alpha2/pipelines.proto
 delete mode 100644 googleapis/iam/admin/v1/iam.proto
 delete mode 100644 googleapis/iam/v1/iam_policy.proto
 delete mode 100644 googleapis/iam/v1/policy.proto
 delete mode 100644 googleapis/logging/type/http_request.proto
 delete mode 100644 googleapis/logging/type/log_severity.proto
 delete mode 100644 googleapis/logging/v2/log_entry.proto
 delete mode 100644 googleapis/logging/v2/logging.proto
 delete mode 100644 googleapis/logging/v2/logging_config.proto
 delete mode 100644 googleapis/logging/v2/logging_metrics.proto
 delete mode 100644 googleapis/longrunning/operations.proto
 delete mode 100644 googleapis/monitoring/v3/agent.pb.go
 delete mode 100644 googleapis/monitoring/v3/agent.proto
 delete mode 100644 googleapis/monitoring/v3/agent_service.pb.go
 delete mode 100644 googleapis/monitoring/v3/agent_service.proto
 delete mode 100644 googleapis/monitoring/v3/common.proto
 delete mode 100644 googleapis/monitoring/v3/group.proto
 delete mode 100644 googleapis/monitoring/v3/group_service.proto
 delete mode 100644 googleapis/monitoring/v3/metric.proto
 delete mode 100644 googleapis/monitoring/v3/metric_service.proto
 delete mode 100644 googleapis/pubsub/v1/pubsub.proto
 delete mode 100644 googleapis/pubsub/v1beta2/pubsub.proto
 delete mode 100644 googleapis/rpc/code/code.proto
 delete mode 100644 googleapis/rpc/errdetails/error_details.proto
 delete mode 100644 googleapis/rpc/status/status.proto
 delete mode 100644 googleapis/storagetransfer/v1/transfer.proto
 delete mode 100644 googleapis/storagetransfer/v1/transfer_types.proto
 delete mode 100644 googleapis/tracing/trace.proto
 rename googleapis/tracing/{ => v1}/trace.pb.go (72%)
 delete mode 100644 googleapis/type/color/color.proto
 delete mode 100644 googleapis/type/date/date.proto
 delete mode 100644 googleapis/type/dayofweek/dayofweek.proto
 delete mode 100644 googleapis/type/latlng/latlng.proto
 delete mode 100644 googleapis/type/money/money.proto
 create mode 100644 googleapis/type/postaladdress/postal_address.pb.go
 delete mode 100644 googleapis/type/timeofday/timeofday.proto
 delete mode 100644 protobuf/api.proto
 rename protobuf/{ => api}/api.pb.go (60%)
 delete mode 100644 protobuf/descriptor.pb.go
 delete mode 100644 protobuf/descriptor.proto
 delete mode 100644 protobuf/field_mask.proto
 rename protobuf/{ => field_mask}/field_mask.pb.go (77%)
 rename protobuf/{ => ptype}/type.pb.go (56%)
 delete mode 100644 protobuf/source_context.pb.go
 delete mode 100644 protobuf/source_context.proto
 create mode 100644 protobuf/source_context/source_context.pb.go
 delete mode 100644 protobuf/type.proto
 create mode 100644 regen.go

diff --git a/googleapis/api/annotations/annotations.pb.go b/googleapis/api/annotations/annotations.pb.go
new file mode 100644
index 00000000..b37ccee8
--- /dev/null
+++ b/googleapis/api/annotations/annotations.pb.go
@@ -0,0 +1,65 @@
+// Code generated by protoc-gen-go.
+// source: google/api/annotations.proto
+// DO NOT EDIT!
+
+/*
+Package annotations is a generated protocol buffer package.
+
+It is generated from these files:
+	google/api/annotations.proto
+	google/api/http.proto
+
+It has these top-level messages:
+	Http
+	HttpRule
+	CustomHttpPattern
+*/
+package annotations
+
+import proto "github.com/golang/protobuf/proto"
+import fmt "fmt"
+import math "math"
+import google_protobuf "github.com/golang/protobuf/protoc-gen-go/descriptor"
+
+// 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
+
+var E_Http = &proto.ExtensionDesc{
+	ExtendedType:  (*google_protobuf.MethodOptions)(nil),
+	ExtensionType: (*HttpRule)(nil),
+	Field:         72295728,
+	Name:          "google.api.http",
+	Tag:           "bytes,72295728,opt,name=http",
+	Filename:      "google/api/annotations.proto",
+}
+
+func init() {
+	proto.RegisterExtension(E_Http)
+}
+
+func init() { proto.RegisterFile("google/api/annotations.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 208 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x49, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xcc, 0xcb, 0xcb, 0x2f, 0x49, 0x2c, 0xc9, 0xcc,
+	0xcf, 0x2b, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xea, 0x25, 0x16, 0x64,
+	0x4a, 0x89, 0x22, 0xa9, 0xcc, 0x28, 0x29, 0x29, 0x80, 0x28, 0x91, 0x52, 0x80, 0x0a, 0x83, 0x79,
+	0x49, 0xa5, 0x69, 0xfa, 0x29, 0xa9, 0xc5, 0xc9, 0x45, 0x99, 0x05, 0x25, 0xf9, 0x45, 0x10, 0x15,
+	0x56, 0xde, 0x5c, 0x2c, 0x20, 0xf5, 0x42, 0x72, 0x7a, 0x50, 0xd3, 0x60, 0x4a, 0xf5, 0x7c, 0x53,
+	0x4b, 0x32, 0xf2, 0x53, 0xfc, 0x0b, 0xc0, 0x56, 0x4a, 0x6c, 0x38, 0xb5, 0x47, 0x49, 0x81, 0x51,
+	0x83, 0xdb, 0x48, 0x44, 0x0f, 0x61, 0xad, 0x9e, 0x47, 0x49, 0x49, 0x41, 0x50, 0x69, 0x4e, 0x6a,
+	0x10, 0xd8, 0x10, 0xa7, 0x3c, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24, 0x05, 0x4e, 0x02, 0x8e, 0x08,
+	0x67, 0x07, 0x80, 0x4c, 0x0e, 0x60, 0x8c, 0x72, 0x84, 0xca, 0xa7, 0xe7, 0xe7, 0x24, 0xe6, 0xa5,
+	0xeb, 0xe5, 0x17, 0xa5, 0xeb, 0xa7, 0xa7, 0xe6, 0x81, 0xed, 0xd5, 0x87, 0x48, 0x25, 0x16, 0x64,
+	0x16, 0xa3, 0x7b, 0xda, 0x1a, 0x89, 0xbd, 0x88, 0x89, 0xc5, 0xdd, 0x31, 0xc0, 0x33, 0x89, 0x0d,
+	0xac, 0xc9, 0x18, 0x10, 0x00, 0x00, 0xff, 0xff, 0xe3, 0x29, 0x19, 0x62, 0x28, 0x01, 0x00, 0x00,
+}
diff --git a/googleapis/api/serviceconfig/http.pb.go b/googleapis/api/annotations/http.pb.go
similarity index 73%
rename from googleapis/api/serviceconfig/http.pb.go
rename to googleapis/api/annotations/http.pb.go
index 1a53ff73..583ecf61 100644
--- a/googleapis/api/serviceconfig/http.pb.go
+++ b/googleapis/api/annotations/http.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/http.proto
+// source: google/api/http.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package annotations
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -26,7 +26,7 @@ type Http struct {
 func (m *Http) Reset()                    { *m = Http{} }
 func (m *Http) String() string            { return proto.CompactTextString(m) }
 func (*Http) ProtoMessage()               {}
-func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
+func (*Http) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 func (m *Http) GetRules() []*HttpRule {
 	if m != nil {
@@ -47,23 +47,30 @@ func (m *Http) GetRules() []*HttpRule {
 // message, as in the example below which describes a REST GET
 // operation on a resource collection of messages:
 //
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
-//   }
-// }
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   SubMessage sub = 2;    // `sub.subfield` is url-mapped
-// }
-// message Message {
-//   string text = 1; // content of the resource
-// }
-// ```
+//
+//     service Messaging {
+//       rpc GetMessage(GetMessageRequest) returns (Message) {
+//         option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
+//       }
+//     }
+//     message GetMessageRequest {
+//       message SubMessage {
+//         string subfield = 1;
+//       }
+//       string message_id = 1; // mapped to the URL
+//       SubMessage sub = 2;    // `sub.subfield` is url-mapped
+//     }
+//     message Message {
+//       string text = 1; // content of the resource
+//     }
+//
+// The same http annotation can alternatively be expressed inside the
+// `GRPC API Configuration` YAML file.
+//
+//     http:
+//       rules:
+//         - selector: <proto_package_name>.Messaging.GetMessage
+//           get: /v1/messages/{message_id}/{sub.subfield}
 //
 // This definition enables an automatic, bidrectional mapping of HTTP
 // JSON to RPC. Example:
@@ -80,16 +87,16 @@ func (m *Http) GetRules() []*HttpRule {
 // pattern automatically become (optional) HTTP query
 // parameters. Assume the following definition of the request message:
 //
-// ```proto
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   int64 revision = 2;    // becomes a parameter
-//   SubMessage sub = 3;    // `sub.subfield` becomes a parameter
-// }
-// ```
+//
+//     message GetMessageRequest {
+//       message SubMessage {
+//         string subfield = 1;
+//       }
+//       string message_id = 1; // mapped to the URL
+//       int64 revision = 2;    // becomes a parameter
+//       SubMessage sub = 3;    // `sub.subfield` becomes a parameter
+//     }
+//
 //
 // This enables a HTTP JSON to RPC mapping as below:
 //
@@ -106,20 +113,20 @@ func (m *Http) GetRules() []*HttpRule {
 // specifies the mapping. Consider a REST update method on the
 // message resource collection:
 //
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "message"
-//     };
-//   }
-// }
-// message UpdateMessageRequest {
-//   string message_id = 1; // mapped to the URL
-//   Message message = 2;   // mapped to the body
-// }
-// ```
+//
+//     service Messaging {
+//       rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
+//         option (google.api.http) = {
+//           put: "/v1/messages/{message_id}"
+//           body: "message"
+//         };
+//       }
+//     }
+//     message UpdateMessageRequest {
+//       string message_id = 1; // mapped to the URL
+//       Message message = 2;   // mapped to the body
+//     }
+//
 //
 // The following HTTP JSON to RPC mapping is enabled, where the
 // representation of the JSON in the request body is determined by
@@ -134,20 +141,19 @@ func (m *Http) GetRules() []*HttpRule {
 // request body.  This enables the following alternative definition of
 // the update method:
 //
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(Message) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "*"
-//     };
-//   }
-// }
-// message Message {
-//   string message_id = 1;
-//   string text = 2;
-// }
-// ```
+//     service Messaging {
+//       rpc UpdateMessage(Message) returns (Message) {
+//         option (google.api.http) = {
+//           put: "/v1/messages/{message_id}"
+//           body: "*"
+//         };
+//       }
+//     }
+//     message Message {
+//       string message_id = 1;
+//       string text = 2;
+//     }
+//
 //
 // The following HTTP JSON to RPC mapping is enabled:
 //
@@ -164,22 +170,21 @@ func (m *Http) GetRules() []*HttpRule {
 // It is possible to define multiple HTTP methods for one RPC by using
 // the `additional_bindings` option. Example:
 //
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       get: "/v1/messages/{message_id}"
-//       additional_bindings {
-//         get: "/v1/users/{user_id}/messages/{message_id}"
+//     service Messaging {
+//       rpc GetMessage(GetMessageRequest) returns (Message) {
+//         option (google.api.http) = {
+//           get: "/v1/messages/{message_id}"
+//           additional_bindings {
+//             get: "/v1/users/{user_id}/messages/{message_id}"
+//           }
+//         };
 //       }
-//     };
-//   }
-// }
-// message GetMessageRequest {
-//   string message_id = 1;
-//   string user_id = 2;
-// }
-// ```
+//     }
+//     message GetMessageRequest {
+//       string message_id = 1;
+//       string user_id = 2;
+//     }
+//
 //
 // This enables the following two alternative HTTP JSON to RPC
 // mappings:
@@ -220,7 +225,7 @@ func (m *Http) GetRules() []*HttpRule {
 //
 // The syntax `**` matches zero or more path segments. It follows the semantics
 // of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
-// Expansion.
+// Expansion. NOTE: it must be the last segment in the path except the Verb.
 //
 // The syntax `LITERAL` matches literal text in the URL path.
 //
@@ -256,7 +261,7 @@ type HttpRule struct {
 	// 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 and must be
-	// present at the top-level of response message type.
+	// present at the top-level of request 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,
@@ -267,7 +272,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 fileDescriptor9, []int{1} }
+func (*HttpRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
 type isHttpRule_Pattern interface {
 	isHttpRule_Pattern()
@@ -306,6 +311,13 @@ func (m *HttpRule) GetPattern() isHttpRule_Pattern {
 	return nil
 }
 
+func (m *HttpRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
 func (m *HttpRule) GetGet() string {
 	if x, ok := m.GetPattern().(*HttpRule_Get); ok {
 		return x.Get
@@ -348,6 +360,13 @@ func (m *HttpRule) GetCustom() *CustomHttpPattern {
 	return nil
 }
 
+func (m *HttpRule) GetBody() string {
+	if m != nil {
+		return m.Body
+	}
+	return ""
+}
+
 func (m *HttpRule) GetAdditionalBindings() []*HttpRule {
 	if m != nil {
 		return m.AdditionalBindings
@@ -496,7 +515,21 @@ 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 fileDescriptor9, []int{2} }
+func (*CustomHttpPattern) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+
+func (m *CustomHttpPattern) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
+func (m *CustomHttpPattern) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Http)(nil), "google.api.Http")
@@ -504,32 +537,31 @@ func init() {
 	proto.RegisterType((*CustomHttpPattern)(nil), "google.api.CustomHttpPattern")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/http.proto", fileDescriptor9)
-}
+func init() { proto.RegisterFile("google/api/http.proto", fileDescriptor1) }
 
-var fileDescriptor9 = []byte{
-	// 352 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x7c, 0x91, 0xc1, 0x4a, 0x33, 0x31,
-	0x10, 0xc7, 0xbf, 0x6d, 0xb7, 0xdb, 0x76, 0x0a, 0x1f, 0x18, 0x8b, 0x04, 0x41, 0x28, 0xbd, 0x58,
-	0x3c, 0xec, 0x42, 0x3d, 0x78, 0xf0, 0xe4, 0x8a, 0x58, 0x6f, 0x65, 0x5f, 0x40, 0xd2, 0xdd, 0x98,
-	0x06, 0xb7, 0x49, 0xd8, 0xcc, 0x0a, 0xbe, 0x8e, 0xef, 0xe0, 0xbb, 0x79, 0x94, 0x64, 0x53, 0x5b,
-	0x10, 0xbc, 0xcd, 0xff, 0x37, 0xff, 0xcc, 0x64, 0x66, 0x20, 0x17, 0x5a, 0x8b, 0x9a, 0xa7, 0x42,
-	0xd7, 0x4c, 0x89, 0x54, 0x37, 0x22, 0x13, 0x5c, 0x99, 0x46, 0xa3, 0xce, 0xba, 0x14, 0x33, 0xd2,
-	0x66, 0xcc, 0xc8, 0xcc, 0xf2, 0xe6, 0x4d, 0x96, 0xbc, 0xd4, 0xea, 0x45, 0x8a, 0x6c, 0x8b, 0x68,
-	0x52, 0xef, 0x23, 0x10, 0x6a, 0x30, 0x23, 0xe7, 0x4b, 0x88, 0x57, 0x88, 0x86, 0x5c, 0xc1, 0xa0,
-	0x69, 0x6b, 0x6e, 0x69, 0x34, 0xeb, 0x2f, 0x26, 0xcb, 0x69, 0x7a, 0xf0, 0xa4, 0xce, 0x50, 0xb4,
-	0x35, 0x2f, 0x3a, 0xcb, 0xfc, 0xb3, 0x07, 0xa3, 0x3d, 0x23, 0xe7, 0x30, 0xb2, 0xbc, 0xe6, 0x25,
-	0xea, 0x86, 0x46, 0xb3, 0x68, 0x31, 0x2e, 0x7e, 0x34, 0x21, 0xd0, 0x17, 0x1c, 0x69, 0xcf, 0xe1,
-	0xd5, 0xbf, 0xc2, 0x09, 0xc7, 0x4c, 0x8b, 0xb4, 0xbf, 0x67, 0xa6, 0x45, 0x32, 0x85, 0xd8, 0x68,
-	0x8b, 0x34, 0x0e, 0xd0, 0x2b, 0x42, 0x21, 0xa9, 0x78, 0xcd, 0x91, 0xd3, 0x41, 0xe0, 0x41, 0x93,
-	0x33, 0x18, 0x18, 0x86, 0xe5, 0x96, 0x26, 0x21, 0xd1, 0x49, 0x72, 0x03, 0x49, 0xd9, 0x5a, 0xd4,
-	0x3b, 0x3a, 0x9a, 0x45, 0x8b, 0xc9, 0xf2, 0xe2, 0x78, 0x8a, 0x7b, 0x9f, 0x71, 0xff, 0x5e, 0x33,
-	0x44, 0xde, 0x28, 0x57, 0xb0, 0xb3, 0x13, 0x02, 0xf1, 0x46, 0x57, 0xef, 0x74, 0xe8, 0x07, 0xf0,
-	0x31, 0x79, 0x80, 0x53, 0x56, 0x55, 0x12, 0xa5, 0x56, 0xac, 0x7e, 0xde, 0x48, 0x55, 0x49, 0x25,
-	0x2c, 0x9d, 0xfc, 0xb1, 0x1f, 0x72, 0x78, 0x90, 0x07, 0x7f, 0x3e, 0x86, 0xa1, 0xe9, 0xfa, 0xcd,
-	0x6f, 0xe1, 0xe4, 0xd7, 0x27, 0x5c, 0xeb, 0x57, 0xa9, 0xaa, 0xb0, 0x3b, 0x1f, 0x3b, 0x66, 0x18,
-	0x6e, 0xbb, 0xc5, 0x15, 0x3e, 0xce, 0x2f, 0xe1, 0x7f, 0xa9, 0x77, 0x47, 0x6d, 0xf3, 0xb1, 0x2f,
-	0xe3, 0x2e, 0xba, 0x8e, 0xbe, 0xa2, 0xe8, 0xa3, 0x17, 0x3f, 0xde, 0xad, 0x9f, 0x36, 0x89, 0x3f,
-	0xf2, 0xf5, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x32, 0x48, 0x5c, 0x87, 0x2a, 0x02, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 359 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xcf, 0x6a, 0xe3, 0x30,
+	0x10, 0xc6, 0xd7, 0x89, 0xe3, 0x24, 0x13, 0x58, 0x58, 0x6d, 0x76, 0x11, 0x85, 0x42, 0xc8, 0x29,
+	0xf4, 0x60, 0x43, 0x7a, 0xe8, 0x21, 0xa7, 0xb8, 0x94, 0xa6, 0xb7, 0xe0, 0x63, 0x2f, 0x45, 0xb1,
+	0x85, 0xa2, 0xd6, 0x91, 0x84, 0x3d, 0x3e, 0xf4, 0x75, 0xfa, 0x0e, 0x7d, 0xb7, 0x1e, 0x8b, 0xfe,
+	0xa4, 0x09, 0x14, 0x7a, 0x9b, 0xef, 0x37, 0x9f, 0x34, 0xa3, 0x19, 0xc1, 0x3f, 0xa1, 0xb5, 0xa8,
+	0x79, 0xc6, 0x8c, 0xcc, 0xf6, 0x88, 0x26, 0x35, 0x8d, 0x46, 0x4d, 0xc0, 0xe3, 0x94, 0x19, 0x39,
+	0x5f, 0x42, 0xbc, 0x41, 0x34, 0xe4, 0x0a, 0x06, 0x4d, 0x57, 0xf3, 0x96, 0x46, 0xb3, 0xfe, 0x62,
+	0xb2, 0x9c, 0xa6, 0x27, 0x4f, 0x6a, 0x0d, 0x45, 0x57, 0xf3, 0xc2, 0x5b, 0xe6, 0xef, 0x3d, 0x18,
+	0x1d, 0x19, 0xb9, 0x80, 0x51, 0xcb, 0x6b, 0x5e, 0xa2, 0x6e, 0x68, 0x34, 0x8b, 0x16, 0xe3, 0xe2,
+	0x4b, 0x13, 0x02, 0x7d, 0xc1, 0x91, 0xf6, 0x2c, 0xde, 0xfc, 0x2a, 0xac, 0xb0, 0xcc, 0x74, 0x48,
+	0xfb, 0x47, 0x66, 0x3a, 0x24, 0x53, 0x88, 0x8d, 0x6e, 0x91, 0xc6, 0x01, 0x3a, 0x45, 0x28, 0x24,
+	0x15, 0xaf, 0x39, 0x72, 0x3a, 0x08, 0x3c, 0x68, 0xf2, 0x1f, 0x06, 0x86, 0x61, 0xb9, 0xa7, 0x49,
+	0x48, 0x78, 0x49, 0x6e, 0x20, 0x29, 0xbb, 0x16, 0xf5, 0x81, 0x8e, 0x66, 0xd1, 0x62, 0xb2, 0xbc,
+	0x3c, 0x7f, 0xc5, 0xad, 0xcb, 0xd8, 0xbe, 0xb7, 0x0c, 0x91, 0x37, 0xca, 0x5e, 0xe8, 0xed, 0x84,
+	0x40, 0xbc, 0xd3, 0xd5, 0x2b, 0x1d, 0xba, 0x07, 0xb8, 0x98, 0xdc, 0xc1, 0x5f, 0x56, 0x55, 0x12,
+	0xa5, 0x56, 0xac, 0x7e, 0xda, 0x49, 0x55, 0x49, 0x25, 0x5a, 0x3a, 0xf9, 0x61, 0x3e, 0xe4, 0x74,
+	0x20, 0x0f, 0xfe, 0x7c, 0x0c, 0x43, 0xe3, 0xeb, 0xcd, 0x57, 0xf0, 0xe7, 0x5b, 0x13, 0xb6, 0xf4,
+	0x8b, 0x54, 0x55, 0x98, 0x9d, 0x8b, 0x2d, 0x33, 0x0c, 0xf7, 0x7e, 0x70, 0x85, 0x8b, 0xf3, 0x67,
+	0xf8, 0x5d, 0xea, 0xc3, 0x59, 0xd9, 0x7c, 0xec, 0xae, 0xb1, 0x1b, 0xdd, 0x46, 0x8f, 0xeb, 0x90,
+	0x10, 0xba, 0x66, 0x4a, 0xa4, 0xba, 0x11, 0x99, 0xe0, 0xca, 0xed, 0x3b, 0xf3, 0x29, 0x66, 0x64,
+	0xeb, 0x7e, 0x02, 0x53, 0x4a, 0x23, 0xb3, 0x6d, 0xb6, 0xab, 0xb3, 0xf8, 0x23, 0x8a, 0xde, 0x7a,
+	0xf1, 0xfd, 0x7a, 0xfb, 0xb0, 0x4b, 0xdc, 0xb9, 0xeb, 0xcf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x68,
+	0x15, 0x60, 0x5b, 0x40, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/configchange/config_change.pb.go b/googleapis/api/configchange/config_change.pb.go
index fdf0aea8..65bc8da1 100644
--- a/googleapis/api/configchange/config_change.pb.go
+++ b/googleapis/api/configchange/config_change.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+// source: google/api/config_change.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package configchange is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/configchange/config_change.proto
+	google/api/config_change.proto
 
 It has these top-level messages:
 	ConfigChange
 	Advice
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/configchange"
+package configchange
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -100,6 +100,34 @@ func (m *ConfigChange) String() string            { return proto.CompactTextStri
 func (*ConfigChange) ProtoMessage()               {}
 func (*ConfigChange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ConfigChange) GetElement() string {
+	if m != nil {
+		return m.Element
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetOldValue() string {
+	if m != nil {
+		return m.OldValue
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetNewValue() string {
+	if m != nil {
+		return m.NewValue
+	}
+	return ""
+}
+
+func (m *ConfigChange) GetChangeType() ChangeType {
+	if m != nil {
+		return m.ChangeType
+	}
+	return ChangeType_CHANGE_TYPE_UNSPECIFIED
+}
+
 func (m *ConfigChange) GetAdvices() []*Advice {
 	if m != nil {
 		return m.Advices
@@ -120,37 +148,43 @@ func (m *Advice) String() string            { return proto.CompactTextString(m)
 func (*Advice) ProtoMessage()               {}
 func (*Advice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Advice) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 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)
-}
+func init() { proto.RegisterFile("google/api/config_change.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 329 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x91, 0x4f, 0x6b, 0xc2, 0x30,
-	0x18, 0xc6, 0x57, 0xff, 0xfb, 0x56, 0xc4, 0xe5, 0xb0, 0x15, 0xbc, 0x14, 0x4f, 0x22, 0xd2, 0x82,
-	0x3b, 0xec, 0x5c, 0xdb, 0xce, 0x39, 0x50, 0x4b, 0xe7, 0x84, 0x9d, 0x4a, 0xd6, 0x66, 0x59, 0xa0,
-	0x26, 0x41, 0x3b, 0xc5, 0xaf, 0xb3, 0x6f, 0xb3, 0x6f, 0x35, 0x6c, 0xea, 0xec, 0x2d, 0xcf, 0xfb,
-	0x7b, 0x92, 0xf7, 0xe1, 0x09, 0xbc, 0x50, 0x21, 0x68, 0x4a, 0x2c, 0x2a, 0x52, 0xcc, 0xa9, 0x25,
-	0x76, 0xd4, 0xa6, 0x84, 0xcb, 0x9d, 0xc8, 0x84, 0xad, 0x10, 0x96, 0x6c, 0x6f, 0x63, 0xc9, 0xec,
-	0x58, 0xf0, 0x4f, 0x46, 0xe3, 0x2f, 0xcc, 0x29, 0x29, 0x44, 0xa4, 0x94, 0x95, 0xfb, 0x11, 0x14,
-	0x6f, 0x61, 0xc9, 0x06, 0xbf, 0x1a, 0x74, 0xdc, 0xdc, 0xe3, 0xe6, 0x16, 0x64, 0x40, 0x93, 0xa4,
-	0x64, 0x4b, 0x78, 0x66, 0x68, 0xa6, 0x36, 0x6c, 0x87, 0x17, 0x89, 0xfa, 0xd0, 0x16, 0x69, 0x12,
-	0x1d, 0x70, 0xfa, 0x4d, 0x8c, 0x4a, 0xce, 0x5a, 0x22, 0x4d, 0x36, 0x67, 0x7d, 0x86, 0x9c, 0x1c,
-	0x0b, 0x58, 0x55, 0x90, 0x93, 0xa3, 0x82, 0x8f, 0xa0, 0xab, 0x00, 0x51, 0x76, 0x92, 0xc4, 0xa8,
-	0x99, 0xda, 0xb0, 0x3b, 0xb9, 0xb3, 0xae, 0x31, 0x2c, 0xb5, 0x7c, 0x7d, 0x92, 0x24, 0x84, 0xf8,
-	0xff, 0x8c, 0xc6, 0xd0, 0xc4, 0xc9, 0x81, 0xc5, 0x64, 0x6f, 0xd4, 0xcd, 0xea, 0x50, 0x9f, 0xa0,
-	0xf2, 0x25, 0x27, 0x47, 0xe1, 0xc5, 0x32, 0x18, 0x41, 0x43, 0x8d, 0x90, 0x09, 0x7a, 0x42, 0xf6,
-	0xf1, 0x8e, 0xc9, 0x8c, 0x09, 0x5e, 0x84, 0x2d, 0x8f, 0x46, 0x2b, 0x80, 0xeb, 0x4e, 0xd4, 0x87,
-	0x7b, 0xf7, 0xd9, 0x59, 0xce, 0xfc, 0x68, 0xfd, 0x1e, 0xf8, 0xd1, 0xdb, 0xf2, 0x35, 0xf0, 0xdd,
-	0xf9, 0xd3, 0xdc, 0xf7, 0x7a, 0x37, 0xa8, 0x0d, 0x75, 0xc7, 0xf3, 0x7c, 0xaf, 0xa7, 0x21, 0x1d,
-	0x9a, 0xa1, 0xbf, 0x58, 0x6d, 0x7c, 0xaf, 0x57, 0x41, 0x1d, 0x68, 0x2d, 0x56, 0x9e, 0x72, 0x55,
-	0xa7, 0x63, 0xe8, 0xc6, 0x62, 0x5b, 0x8a, 0x37, 0xbd, 0x2d, 0xf7, 0x1a, 0x9c, 0x9b, 0x0f, 0xb4,
-	0x9f, 0x4a, 0x6d, 0xe6, 0x04, 0xf3, 0x8f, 0x46, 0xfe, 0x13, 0x0f, 0x7f, 0x01, 0x00, 0x00, 0xff,
-	0xff, 0x7c, 0x7e, 0x38, 0xa2, 0xd7, 0x01, 0x00, 0x00,
+	// 338 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x91, 0xcd, 0x4e, 0xc2, 0x40,
+	0x14, 0x85, 0x2d, 0xff, 0xdc, 0x12, 0x82, 0xb3, 0xd0, 0x26, 0x24, 0xa6, 0x61, 0x45, 0x88, 0x69,
+	0x13, 0x5c, 0xb8, 0x70, 0x55, 0xda, 0x8a, 0x2c, 0x80, 0xa6, 0x22, 0x89, 0x6e, 0x9a, 0xb1, 0x1d,
+	0xc7, 0x49, 0xca, 0xcc, 0x08, 0x15, 0xc2, 0xeb, 0xf8, 0x36, 0xbe, 0x95, 0xa1, 0x03, 0xd2, 0xdd,
+	0x9c, 0xf9, 0xce, 0xcd, 0x3d, 0x39, 0x17, 0x6e, 0xa8, 0x10, 0x34, 0x25, 0x36, 0x96, 0xcc, 0x8e,
+	0x05, 0xff, 0x60, 0x34, 0x8a, 0x3f, 0x31, 0xa7, 0xc4, 0x92, 0x6b, 0x91, 0x09, 0x04, 0x8a, 0x5b,
+	0x58, 0xb2, 0xde, 0xaf, 0x06, 0x2d, 0x37, 0xf7, 0xb8, 0xb9, 0x05, 0x19, 0x50, 0x27, 0x29, 0x59,
+	0x11, 0x9e, 0x19, 0x9a, 0xa9, 0xf5, 0x9b, 0xe1, 0x49, 0xa2, 0x2e, 0x34, 0x45, 0x9a, 0x44, 0x5b,
+	0x9c, 0x7e, 0x13, 0xa3, 0x94, 0xb3, 0x86, 0x48, 0x93, 0xe5, 0x41, 0x1f, 0x20, 0x27, 0xbb, 0x23,
+	0x2c, 0x2b, 0xc8, 0xc9, 0x4e, 0xc1, 0x7b, 0xd0, 0x55, 0x80, 0x28, 0xdb, 0x4b, 0x62, 0x54, 0x4c,
+	0xad, 0xdf, 0x1e, 0x5e, 0x59, 0xe7, 0x18, 0x96, 0x5a, 0xbe, 0xd8, 0x4b, 0x12, 0x42, 0xfc, 0xff,
+	0x46, 0xb7, 0x50, 0xc7, 0xc9, 0x96, 0xc5, 0x64, 0x63, 0x54, 0xcd, 0x72, 0x5f, 0x1f, 0xa2, 0xe2,
+	0x90, 0x93, 0xa3, 0xf0, 0x64, 0xe9, 0x0d, 0xa0, 0xa6, 0xbe, 0x90, 0x09, 0x7a, 0x42, 0x36, 0xf1,
+	0x9a, 0xc9, 0x8c, 0x09, 0x7e, 0x0c, 0x5b, 0xfc, 0x1a, 0xcc, 0x01, 0xce, 0x3b, 0x51, 0x17, 0xae,
+	0xdd, 0x27, 0x67, 0x36, 0xf6, 0xa3, 0xc5, 0x6b, 0xe0, 0x47, 0x2f, 0xb3, 0xe7, 0xc0, 0x77, 0x27,
+	0x8f, 0x13, 0xdf, 0xeb, 0x5c, 0xa0, 0x26, 0x54, 0x1d, 0xcf, 0xf3, 0xbd, 0x8e, 0x86, 0x74, 0xa8,
+	0x87, 0xfe, 0x74, 0xbe, 0xf4, 0xbd, 0x4e, 0x09, 0xb5, 0xa0, 0x31, 0x9d, 0x7b, 0xca, 0x55, 0x1e,
+	0x7d, 0x41, 0x3b, 0x16, 0xab, 0x42, 0xbc, 0xd1, 0x65, 0xb1, 0xd7, 0xe0, 0xd0, 0x7c, 0xa0, 0xbd,
+	0xb9, 0x47, 0x03, 0x15, 0x29, 0xe6, 0xd4, 0x12, 0x6b, 0x6a, 0x53, 0xc2, 0xf3, 0xbb, 0xd8, 0x0a,
+	0x61, 0xc9, 0x36, 0x85, 0xd3, 0xa9, 0x36, 0x1e, 0x8a, 0xe2, 0xa7, 0x54, 0x19, 0x3b, 0xc1, 0xe4,
+	0xbd, 0x96, 0x8f, 0xdd, 0xfd, 0x05, 0x00, 0x00, 0xff, 0xff, 0x46, 0x8b, 0xd3, 0xf5, 0xf0, 0x01,
+	0x00, 0x00,
 }
diff --git a/googleapis/api/configchange/config_change.proto b/googleapis/api/configchange/config_change.proto
deleted file mode 100644
index df63ad40..00000000
--- a/googleapis/api/configchange/config_change.proto
+++ /dev/null
@@ -1,84 +0,0 @@
-// 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..1ff5823f 100644
--- a/googleapis/api/distribution/distribution.pb.go
+++ b/googleapis/api/distribution/distribution.pb.go
@@ -1,22 +1,22 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/distribution/distribution.proto
+// source: google/api/distribution.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package distribution is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/distribution/distribution.proto
+	google/api/distribution.proto
 
 It has these top-level messages:
 	Distribution
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/distribution"
+package distribution
 
 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/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/any"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -87,6 +87,27 @@ func (m *Distribution) String() string            { return proto.CompactTextStri
 func (*Distribution) ProtoMessage()               {}
 func (*Distribution) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Distribution) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *Distribution) GetMean() float64 {
+	if m != nil {
+		return m.Mean
+	}
+	return 0
+}
+
+func (m *Distribution) GetSumOfSquaredDeviation() float64 {
+	if m != nil {
+		return m.SumOfSquaredDeviation
+	}
+	return 0
+}
+
 func (m *Distribution) GetRange() *Distribution_Range {
 	if m != nil {
 		return m.Range
@@ -101,6 +122,13 @@ func (m *Distribution) GetBucketOptions() *Distribution_BucketOptions {
 	return nil
 }
 
+func (m *Distribution) GetBucketCounts() []int64 {
+	if m != nil {
+		return m.BucketCounts
+	}
+	return nil
+}
+
 // The range of the population values.
 type Distribution_Range struct {
 	// The minimum of the population values.
@@ -114,6 +142,20 @@ func (m *Distribution_Range) String() string            { return proto.CompactTe
 func (*Distribution_Range) ProtoMessage()               {}
 func (*Distribution_Range) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0, 0} }
 
+func (m *Distribution_Range) GetMin() float64 {
+	if m != nil {
+		return m.Min
+	}
+	return 0
+}
+
+func (m *Distribution_Range) GetMax() float64 {
+	if m != nil {
+		return m.Max
+	}
+	return 0
+}
+
 // A Distribution may optionally contain a histogram of the values in the
 // population.  The histogram is given in `bucket_counts` as counts of values
 // that fall into one of a sequence of non-overlapping buckets.  The sequence
@@ -316,6 +358,27 @@ func (*Distribution_BucketOptions_Linear) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 0}
 }
 
+func (m *Distribution_BucketOptions_Linear) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Linear) GetWidth() float64 {
+	if m != nil {
+		return m.Width
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Linear) GetOffset() float64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 // Specify a sequence of buckets that have a width that is proportional to
 // the value of the lower bound.  Each bucket represents a constant relative
 // uncertainty on a specific value in the bucket.
@@ -343,6 +406,27 @@ func (*Distribution_BucketOptions_Exponential) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 1}
 }
 
+func (m *Distribution_BucketOptions_Exponential) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Exponential) GetGrowthFactor() float64 {
+	if m != nil {
+		return m.GrowthFactor
+	}
+	return 0
+}
+
+func (m *Distribution_BucketOptions_Exponential) GetScale() float64 {
+	if m != nil {
+		return m.Scale
+	}
+	return 0
+}
+
 // A set of buckets with arbitrary widths.
 //
 // Defines `size(bounds) + 1` (= N) buckets with these boundaries for
@@ -366,6 +450,13 @@ func (*Distribution_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1, 2}
 }
 
+func (m *Distribution_BucketOptions_Explicit) GetBounds() []float64 {
+	if m != nil {
+		return m.Bounds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Distribution)(nil), "google.api.Distribution")
 	proto.RegisterType((*Distribution_Range)(nil), "google.api.Distribution.Range")
@@ -375,46 +466,42 @@ func init() {
 	proto.RegisterType((*Distribution_BucketOptions_Explicit)(nil), "google.api.Distribution.BucketOptions.Explicit")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/distribution/distribution.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/distribution.proto", fileDescriptor0) }
 
 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,
+	// 544 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0x5d, 0x6f, 0xd3, 0x30,
+	0x14, 0x5d, 0x96, 0xb5, 0x85, 0xdb, 0x0f, 0x8a, 0x19, 0x28, 0x44, 0x7c, 0x54, 0x9b, 0x84, 0x2a,
+	0x01, 0x89, 0x54, 0x90, 0x78, 0xe0, 0xad, 0x1b, 0x53, 0x1f, 0x40, 0x9b, 0x8c, 0xc4, 0x03, 0x42,
+	0x8a, 0x9c, 0xc4, 0xc9, 0x0c, 0x89, 0x1d, 0x62, 0x67, 0x2b, 0xef, 0xfc, 0x29, 0xfe, 0x1d, 0x8a,
+	0xed, 0x6e, 0x19, 0x08, 0xa9, 0xbc, 0xf9, 0xde, 0x73, 0x7c, 0xce, 0xb9, 0x57, 0x71, 0xe0, 0x71,
+	0x2e, 0x44, 0x5e, 0xd0, 0x90, 0x54, 0x2c, 0x4c, 0x99, 0x54, 0x35, 0x8b, 0x1b, 0xc5, 0x04, 0x0f,
+	0xaa, 0x5a, 0x28, 0x81, 0xc0, 0xc0, 0x01, 0xa9, 0x98, 0xff, 0xa8, 0x43, 0x25, 0x9c, 0x0b, 0x45,
+	0x5a, 0xa2, 0x34, 0x4c, 0xff, 0xa1, 0x45, 0x75, 0x15, 0x37, 0x59, 0x48, 0xf8, 0x0f, 0x0b, 0x3d,
+	0xfd, 0x13, 0x52, 0xac, 0xa4, 0x52, 0x91, 0xb2, 0x32, 0x84, 0x83, 0x9f, 0x03, 0x18, 0x1d, 0x77,
+	0xcc, 0xd1, 0x3e, 0xf4, 0x12, 0xd1, 0x70, 0xe5, 0x39, 0x33, 0x67, 0xee, 0x62, 0x53, 0x20, 0x04,
+	0x7b, 0x25, 0x25, 0xdc, 0xdb, 0x9d, 0x39, 0x73, 0x07, 0xeb, 0x33, 0x7a, 0x03, 0x9e, 0x6c, 0xca,
+	0x48, 0x64, 0x91, 0xfc, 0xde, 0x90, 0x9a, 0xa6, 0x51, 0x4a, 0x2f, 0x98, 0x4e, 0xe6, 0xb9, 0x9a,
+	0x77, 0x5f, 0x36, 0xe5, 0x69, 0xf6, 0xd1, 0xa0, 0xc7, 0x1b, 0x10, 0xbd, 0x86, 0x5e, 0x4d, 0x78,
+	0x4e, 0xbd, 0xbd, 0x99, 0x33, 0x1f, 0x2e, 0x9e, 0x04, 0xd7, 0x93, 0x06, 0xdd, 0x2c, 0x01, 0x6e,
+	0x59, 0xd8, 0x90, 0xd1, 0x07, 0x98, 0xc4, 0x4d, 0xf2, 0x8d, 0xaa, 0x48, 0x54, 0x7a, 0x7a, 0xaf,
+	0xaf, 0xaf, 0x3f, 0xfb, 0xe7, 0xf5, 0xa5, 0xa6, 0x9f, 0x1a, 0x36, 0x1e, 0xc7, 0xdd, 0x12, 0x1d,
+	0x82, 0x6d, 0x44, 0x7a, 0x42, 0xe9, 0x0d, 0x66, 0xee, 0xdc, 0xc5, 0x23, 0xd3, 0x3c, 0xd2, 0x3d,
+	0xff, 0x39, 0xf4, 0x74, 0x06, 0x34, 0x05, 0xb7, 0x64, 0x5c, 0xef, 0xc4, 0xc1, 0xed, 0x51, 0x77,
+	0xc8, 0xda, 0x2e, 0xa4, 0x3d, 0xfa, 0xbf, 0xf6, 0x60, 0x7c, 0xc3, 0x12, 0x7d, 0x82, 0x49, 0xc1,
+	0x38, 0x25, 0x75, 0x64, 0x54, 0xa5, 0x16, 0x18, 0x2e, 0x5e, 0x6e, 0x17, 0x39, 0x78, 0xaf, 0x2f,
+	0xaf, 0x76, 0xf0, 0xd8, 0xc8, 0x18, 0x54, 0x22, 0x0a, 0xf7, 0xe8, 0xba, 0x12, 0x9c, 0x72, 0xc5,
+	0x48, 0x71, 0x25, 0xbe, 0xab, 0xc5, 0x17, 0x5b, 0x8a, 0xbf, 0xbb, 0x56, 0x58, 0xed, 0x60, 0xd4,
+	0x11, 0xdc, 0xd8, 0x7c, 0x81, 0x29, 0x5d, 0x57, 0x05, 0x4b, 0x98, 0xba, 0xf2, 0x70, 0xb5, 0x47,
+	0xb8, 0xbd, 0x87, 0xbe, 0xbe, 0xda, 0xc1, 0x77, 0x36, 0x52, 0x56, 0xdd, 0x4f, 0xa1, 0x6f, 0xe6,
+	0x43, 0x2f, 0x00, 0xf1, 0xa6, 0x8c, 0x32, 0xc6, 0x99, 0xa2, 0x37, 0x56, 0xd5, 0xc3, 0x53, 0xde,
+	0x94, 0x27, 0x1a, 0xd8, 0xa4, 0xda, 0x87, 0xde, 0x25, 0x4b, 0xd5, 0xb9, 0x5d, 0xbd, 0x29, 0xd0,
+	0x03, 0xe8, 0x8b, 0x2c, 0x93, 0x54, 0xd9, 0x4f, 0xcf, 0x56, 0xfe, 0x05, 0x0c, 0x3b, 0x83, 0xfe,
+	0xa7, 0xd5, 0x21, 0x8c, 0xf3, 0x5a, 0x5c, 0xaa, 0xf3, 0x28, 0x23, 0x89, 0x12, 0xb5, 0xb5, 0x1c,
+	0x99, 0xe6, 0x89, 0xee, 0xb5, 0x79, 0x64, 0x42, 0x0a, 0x6a, 0x8d, 0x4d, 0xe1, 0x1f, 0xc0, 0xad,
+	0xcd, 0xf0, 0x6d, 0xb6, 0x58, 0x34, 0x3c, 0x6d, 0x8d, 0xdc, 0x36, 0x9b, 0xa9, 0x96, 0xb7, 0x61,
+	0x60, 0x3f, 0xe5, 0xe5, 0x57, 0x98, 0x24, 0xa2, 0xec, 0x6c, 0x75, 0x79, 0xb7, 0xbb, 0xd6, 0xb3,
+	0xf6, 0xad, 0x9e, 0x39, 0x9f, 0x8f, 0x2c, 0x21, 0x17, 0x05, 0xe1, 0x79, 0x20, 0xea, 0x3c, 0xcc,
+	0x29, 0xd7, 0x2f, 0x39, 0x34, 0x10, 0xa9, 0x98, 0xfc, 0xeb, 0x8f, 0xf2, 0xb6, 0x5b, 0xc4, 0x7d,
+	0xcd, 0x7f, 0xf5, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x88, 0x8e, 0xc5, 0x4b, 0x80, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/distribution/distribution.proto b/googleapis/api/distribution/distribution.proto
deleted file mode 100644
index c0abc9fd..00000000
--- a/googleapis/api/distribution/distribution.proto
+++ /dev/null
@@ -1,184 +0,0 @@
-// 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
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DistributionProto";
-option java_package = "com.google.api";
-
-
-// Distribution contains summary statistics for a population of values and,
-// optionally, a histogram representing the distribution of those values across
-// a specified set of histogram buckets.
-//
-// The summary statistics are the count, mean, sum of the squared deviation from
-// the mean, the minimum, and the maximum of the set of population of values.
-//
-// The histogram is based on a sequence of buckets and gives a count of values
-// that fall into each bucket.  The boundaries of the buckets are given either
-// explicitly or by specifying parameters for a method of computing them
-// (buckets of fixed width or buckets of exponentially increasing width).
-//
-// Although it is not forbidden, it is generally a bad idea to include
-// non-finite values (infinities or NaNs) in the population of values, as this
-// will render the `mean` and `sum_of_squared_deviation` fields meaningless.
-message Distribution {
-  // The range of the population values.
-  message Range {
-    // The minimum of the population values.
-    double min = 1;
-
-    // The maximum of the population values.
-    double max = 2;
-  }
-
-  // A Distribution may optionally contain a histogram of the values in the
-  // population.  The histogram is given in `bucket_counts` as counts of values
-  // that fall into one of a sequence of non-overlapping buckets.  The sequence
-  // of buckets is described by `bucket_options`.
-  //
-  // A bucket specifies an inclusive lower bound and exclusive upper bound for
-  // the values that are counted for that bucket.  The upper bound of a bucket
-  // is strictly greater than the lower bound.
-  //
-  // The sequence of N buckets for a Distribution consists of an underflow
-  // bucket (number 0), zero or more finite buckets (number 1 through N - 2) and
-  // an overflow bucket (number N - 1).  The buckets are contiguous:  the lower
-  // bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1.
-  // The buckets span the whole range of finite values: lower bound of the
-  // underflow bucket is -infinity and the upper bound of the overflow bucket is
-  // +infinity.  The finite buckets are so-called because both bounds are
-  // finite.
-  //
-  // `BucketOptions` describes bucket boundaries in one of three ways.  Two
-  // describe the boundaries by giving parameters for a formula to generate
-  // boundaries and one gives the bucket boundaries explicitly.
-  //
-  // If `bucket_boundaries` is not given, then no `bucket_counts` may be given.
-  message BucketOptions {
-    // Specify a sequence of buckets that all have the same width (except
-    // overflow and underflow).  Each bucket represents a constant absolute
-    // uncertainty on the specific value in the bucket.
-    //
-    // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
-    // bucket `i`:
-    //
-    //    Upper bound (0 <= i < N-1):     offset + (width * i).
-    //    Lower bound (1 <= i < N):       offset + (width * (i - 1)).
-    message Linear {
-      // Must be greater than 0.
-      int32 num_finite_buckets = 1;
-
-      // Must be greater than 0.
-      double width = 2;
-
-      // Lower bound of the first bucket.
-      double offset = 3;
-    }
-
-    // Specify a sequence of buckets that have a width that is proportional to
-    // the value of the lower bound.  Each bucket represents a constant relative
-    // uncertainty on a specific value in the bucket.
-    //
-    // Defines `num_finite_buckets + 2` (= N) buckets with these boundaries for
-    // bucket i:
-    //
-    //    Upper bound (0 <= i < N-1):     scale * (growth_factor ^ i).
-    //    Lower bound (1 <= i < N):       scale * (growth_factor ^ (i - 1)).
-    message Exponential {
-      // Must be greater than 0.
-      int32 num_finite_buckets = 1;
-
-      // Must be greater than 1.
-      double growth_factor = 2;
-
-      // Must be greater than 0.
-      double scale = 3;
-    }
-
-    // A set of buckets with arbitrary widths.
-    //
-    // Defines `size(bounds) + 1` (= N) buckets with these boundaries for
-    // bucket i:
-    //
-    //    Upper bound (0 <= i < N-1):     bounds[i]
-    //    Lower bound (1 <= i < N);       bounds[i - 1]
-    //
-    // There must be at least one element in `bounds`.  If `bounds` has only one
-    // element, there are no finite buckets, and that single element is the
-    // common boundary of the overflow and underflow buckets.
-    message Explicit {
-      // The values must be monotonically increasing.
-      repeated double bounds = 1;
-    }
-
-    // Exactly one of these three fields must be set.
-    oneof options {
-      // The linear bucket.
-      Linear linear_buckets = 1;
-
-      // The exponential buckets.
-      Exponential exponential_buckets = 2;
-
-      // The explicit buckets.
-      Explicit explicit_buckets = 3;
-    }
-  }
-
-  // The number of values in the population. Must be non-negative.
-  int64 count = 1;
-
-  // The arithmetic mean of the values in the population. If `count` is zero
-  // then this field must be zero.
-  double mean = 2;
-
-  // The sum of squared deviations from the mean of the values in the
-  // population.  For values x_i this is:
-  //
-  //     Sum[i=1..n]((x_i - mean)^2)
-  //
-  // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
-  // describes Welford's method for accumulating this sum in one pass.
-  //
-  // If `count` is zero then this field must be zero.
-  double sum_of_squared_deviation = 3;
-
-  // If specified, contains the range of the population values. The field
-  // must not be present if the `count` is zero.
-  Range range = 4;
-
-  // Defines the histogram bucket boundaries.
-  BucketOptions bucket_options = 6;
-
-  // If `bucket_options` is given, then the sum of the values in `bucket_counts`
-  // must equal the value in `count`.  If `bucket_options` is not given, no
-  // `bucket_counts` fields may be given.
-  //
-  // Bucket counts are given in order under the numbering scheme described
-  // above (the underflow bucket has number 0; the finite buckets, if any,
-  // have numbers 1 through N-2; the overflow bucket has number N-1).
-  //
-  // The size of `bucket_counts` must be no greater than N as defined in
-  // `bucket_options`.
-  //
-  // Any suffix of trailing zero bucket_count fields may be omitted.
-  repeated int64 bucket_counts = 7;
-}
diff --git a/googleapis/api/httpbody/httpbody.pb.go b/googleapis/api/httpbody/httpbody.pb.go
index 3082b75a..96f998de 100644
--- a/googleapis/api/httpbody/httpbody.pb.go
+++ b/googleapis/api/httpbody/httpbody.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+// source: google/api/httpbody.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package httpbody is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto
+	google/api/httpbody.proto
 
 It has these top-level messages:
 	HttpBody
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/httpbody"
+package httpbody
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -78,25 +78,38 @@ 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 (m *HttpBody) GetContentType() string {
+	if m != nil {
+		return m.ContentType
+	}
+	return ""
+}
+
+func (m *HttpBody) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/httpbody/httpbody.proto", fileDescriptor0)
+	proto.RegisterType((*HttpBody)(nil), "google.api.HttpBody")
 }
 
+func init() { proto.RegisterFile("google/api/httpbody.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 172 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x8d, 0xb1, 0x0e, 0x82, 0x30,
-	0x10, 0x86, 0x53, 0x42, 0x8c, 0x56, 0x74, 0xe8, 0xc4, 0x88, 0x4e, 0x4c, 0xed, 0xe0, 0x13, 0xc0,
-	0xa2, 0x6e, 0x84, 0xb8, 0x9b, 0x02, 0xcd, 0x49, 0x82, 0xbd, 0x0b, 0xde, 0xd2, 0xd7, 0xf1, 0x49,
-	0x8d, 0x88, 0xba, 0x7d, 0xb9, 0xfb, 0xf3, 0x7d, 0xb2, 0x00, 0x44, 0x18, 0x9c, 0x06, 0x1c, 0xac,
-	0x07, 0x8d, 0x23, 0x18, 0x70, 0x9e, 0x46, 0x64, 0x34, 0x9f, 0x97, 0xa5, 0xfe, 0x61, 0x2c, 0xf5,
-	0xe6, 0xc6, 0x4c, 0x0d, 0x76, 0xe1, 0x07, 0x7a, 0x9a, 0x29, 0x39, 0x2b, 0x2c, 0xf5, 0xfb, 0x42,
-	0x2e, 0x4f, 0xcc, 0x54, 0x62, 0x17, 0xd4, 0x4e, 0x26, 0x2d, 0x7a, 0x76, 0x9e, 0xaf, 0x1c, 0xc8,
-	0xa5, 0x22, 0x13, 0xf9, 0xaa, 0x5e, 0xcf, 0xb7, 0x4b, 0x20, 0xa7, 0x94, 0x8c, 0x3b, 0xcb, 0x36,
-	0x8d, 0x32, 0x91, 0x27, 0xf5, 0xc4, 0x65, 0x2e, 0xb7, 0x2d, 0xde, 0xf5, 0x5f, 0x5a, 0x6e, 0xbe,
-	0xca, 0xea, 0xdd, 0xab, 0xc4, 0x33, 0x8a, 0x8f, 0x45, 0x75, 0x6e, 0x16, 0x53, 0xff, 0xf0, 0x0a,
-	0x00, 0x00, 0xff, 0xff, 0x1b, 0xb1, 0xdb, 0xe7, 0xc4, 0x00, 0x00, 0x00,
+	// 181 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4c, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x28, 0x29, 0x29, 0x48, 0xca, 0x4f, 0xa9, 0xd4,
+	0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe9, 0x25, 0x16, 0x64, 0x2a, 0x39, 0x72,
+	0x71, 0x78, 0x94, 0x94, 0x14, 0x38, 0xe5, 0xa7, 0x54, 0x0a, 0x29, 0x72, 0xf1, 0x24, 0xe7, 0xe7,
+	0x95, 0xa4, 0xe6, 0x95, 0xc4, 0x97, 0x54, 0x16, 0xa4, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06,
+	0x71, 0x43, 0xc5, 0x42, 0x2a, 0x0b, 0x52, 0x85, 0x84, 0xb8, 0x58, 0x52, 0x12, 0x4b, 0x12, 0x25,
+	0x98, 0x14, 0x18, 0x35, 0x78, 0x82, 0xc0, 0x6c, 0xa7, 0x54, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d,
+	0x84, 0xa1, 0x4e, 0xbc, 0x30, 0x23, 0x03, 0x40, 0xf6, 0x05, 0x30, 0x46, 0x59, 0x43, 0x25, 0xd3,
+	0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0xae, 0xd1,
+	0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xa3, 0xb8, 0xd5, 0x1a, 0xc6, 0x58, 0xc4, 0xc4, 0xe2, 0xee,
+	0x18, 0xe0, 0x99, 0xc4, 0x06, 0x56, 0x6e, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x3a, 0xdf,
+	0x30, 0xd9, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/api/httpbody/httpbody.proto b/googleapis/api/httpbody/httpbody.proto
deleted file mode 100644
index 0fc00c63..00000000
--- a/googleapis/api/httpbody/httpbody.proto
+++ /dev/null
@@ -1,69 +0,0 @@
-// 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 f1ee6af4..d0327abb 100644
--- a/googleapis/api/label/label.pb.go
+++ b/googleapis/api/label/label.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/label/label.proto
+// source: google/api/label.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package label is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/label/label.proto
+	google/api/label.proto
 
 It has these top-level messages:
 	LabelDescriptor
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/label"
+package label
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -71,31 +71,50 @@ func (m *LabelDescriptor) String() string            { return proto.CompactTextS
 func (*LabelDescriptor) ProtoMessage()               {}
 func (*LabelDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LabelDescriptor) GetKey() string {
+	if m != nil {
+		return m.Key
+	}
+	return ""
+}
+
+func (m *LabelDescriptor) GetValueType() LabelDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return LabelDescriptor_STRING
+}
+
+func (m *LabelDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LabelDescriptor)(nil), "google.api.LabelDescriptor")
 	proto.RegisterEnum("google.api.LabelDescriptor_ValueType", LabelDescriptor_ValueType_name, LabelDescriptor_ValueType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/label/label.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/label.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 245 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, 0x27, 0x16,
-	0x64, 0xea, 0xe7, 0x24, 0x26, 0xa5, 0xe6, 0x40, 0x48, 0x3d, 0xb0, 0x02, 0x21, 0x2e, 0xa8, 0xe6,
-	0xc4, 0x82, 0x4c, 0xa5, 0x9d, 0x8c, 0x5c, 0xfc, 0x3e, 0x20, 0x39, 0x97, 0xd4, 0xe2, 0xe4, 0xa2,
-	0xcc, 0x82, 0x92, 0xfc, 0x22, 0x21, 0x01, 0x2e, 0xe6, 0xec, 0xd4, 0x4a, 0x09, 0x46, 0x05, 0x46,
-	0x0d, 0xce, 0x20, 0x10, 0x53, 0xc8, 0x85, 0x8b, 0xab, 0x2c, 0x31, 0xa7, 0x34, 0x35, 0xbe, 0xa4,
-	0xb2, 0x20, 0x55, 0x82, 0x49, 0x81, 0x51, 0x83, 0xcf, 0x48, 0x55, 0x0f, 0x61, 0x8c, 0x1e, 0x9a,
-	0x11, 0x7a, 0x61, 0x20, 0xd5, 0x21, 0x95, 0x05, 0xa9, 0x41, 0x9c, 0x65, 0x30, 0xa6, 0x90, 0x02,
-	0x17, 0x77, 0x0a, 0x54, 0x49, 0x66, 0x7e, 0x9e, 0x04, 0x33, 0xd8, 0x7c, 0x64, 0x21, 0x25, 0x1d,
-	0x2e, 0x4e, 0xb8, 0x4e, 0x21, 0x2e, 0x2e, 0xb6, 0xe0, 0x90, 0x20, 0x4f, 0x3f, 0x77, 0x01, 0x06,
-	0x21, 0x0e, 0x2e, 0x16, 0x27, 0x7f, 0x7f, 0x1f, 0x01, 0x46, 0x21, 0x4e, 0x2e, 0x56, 0x4f, 0xbf,
-	0x10, 0x33, 0x13, 0x01, 0x26, 0x27, 0x0d, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x24, 0x67, 0x38, 0x71,
-	0x81, 0xdd, 0x11, 0x00, 0xf2, 0x65, 0x00, 0xe3, 0x0f, 0x46, 0xc6, 0x45, 0x4c, 0x2c, 0xee, 0x8e,
-	0x01, 0x9e, 0x49, 0x6c, 0x60, 0x8f, 0x1b, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0x32, 0x56,
-	0x5f, 0x37, 0x01, 0x00, 0x00,
+	// 252 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0xcf, 0x49, 0x4c, 0x4a, 0xcd, 0xd1, 0x2b, 0x28, 0xca,
+	0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x88, 0xeb, 0x25, 0x16, 0x64, 0x2a, 0xed, 0x64, 0xe4, 0xe2, 0xf7,
+	0x01, 0xc9, 0xb9, 0xa4, 0x16, 0x27, 0x17, 0x65, 0x16, 0x94, 0xe4, 0x17, 0x09, 0x09, 0x70, 0x31,
+	0x67, 0xa7, 0x56, 0x4a, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x81, 0x98, 0x42, 0x2e, 0x5c, 0x5c,
+	0x65, 0x89, 0x39, 0xa5, 0xa9, 0xf1, 0x25, 0x95, 0x05, 0xa9, 0x12, 0x4c, 0x0a, 0x8c, 0x1a, 0x7c,
+	0x46, 0xaa, 0x7a, 0x08, 0x63, 0xf4, 0xd0, 0x8c, 0xd0, 0x0b, 0x03, 0xa9, 0x0e, 0xa9, 0x2c, 0x48,
+	0x0d, 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, 0xc5, 0x73, 0xf1,
+	0x25, 0xe7, 0xe7, 0x22, 0x39, 0xc3, 0x89, 0x0b, 0xec, 0x8e, 0x00, 0x90, 0x2f, 0x03, 0x18, 0xa3,
+	0x4c, 0xa1, 0x32, 0xe9, 0xf9, 0x39, 0x89, 0x79, 0xe9, 0x7a, 0xf9, 0x45, 0xe9, 0xfa, 0xe9, 0xa9,
+	0x79, 0xe0, 0x30, 0xd0, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0x23, 0x82, 0xc7, 0x1a, 0x4c, 0xfe,
+	0x60, 0x64, 0x5c, 0xc4, 0xc4, 0xe2, 0xee, 0x18, 0xe0, 0x99, 0xc4, 0x06, 0x56, 0x6b, 0x0c, 0x08,
+	0x00, 0x00, 0xff, 0xff, 0x57, 0x04, 0xaa, 0x1f, 0x49, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/label/label.proto b/googleapis/api/label/label.proto
deleted file mode 100644
index fec98121..00000000
--- a/googleapis/api/label/label.proto
+++ /dev/null
@@ -1,48 +0,0 @@
-// 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 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.
-message LabelDescriptor {
-  // Value types that can be used as label values.
-  enum ValueType {
-    // A variable-length string. This is the default.
-    STRING = 0;
-
-    // Boolean; true or false.
-    BOOL = 1;
-
-    // A 64-bit signed integer.
-    INT64 = 2;
-  }
-
-  // The label key.
-  string key = 1;
-
-  // The type of data that can be assigned to the label.
-  ValueType value_type = 2;
-
-  // A human-readable description for the label.
-  string description = 3;
-}
diff --git a/googleapis/api/metric/metric.pb.go b/googleapis/api/metric/metric.pb.go
index 462fd023..93abe416 100644
--- a/googleapis/api/metric/metric.pb.go
+++ b/googleapis/api/metric/metric.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/metric/metric.proto
+// source: google/api/metric.proto
 // DO NOT EDIT!
 
 /*
-Package google_api is a generated protocol buffer package.
+Package metric is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/metric/metric.proto
+	google/api/metric.proto
 
 It has these top-level messages:
 	MetricDescriptor
 	Metric
 */
-package google_api // import "google.golang.org/genproto/googleapis/api/metric"
+package metric
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import google_api1 "google.golang.org/genproto/googleapis/api/label"
+import google_api "google.golang.org/genproto/googleapis/api/label"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -116,36 +116,39 @@ func (MetricDescriptor_ValueType) EnumDescriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{0, 1}
 }
 
-// Defines a metric type and its schema.
+// Defines a metric type and its schema. Once a metric descriptor is created,
+// deleting or altering it stops data collection and makes the metric type's
+// existing data unusable.
 type MetricDescriptor struct {
-	// Resource name. The format of the name may vary between different
-	// implementations. For examples:
+	// The resource name of the metric descriptor. Depending on the
+	// implementation, the name typically includes: (1) the parent resource name
+	// that defines the scope of the metric type or of its data; and (2) the
+	// metric's URL-encoded type, which also appears in the `type` field of this
+	// descriptor. For example, following is the resource name of a custom
+	// metric within the GCP project 123456789:
 	//
-	//     projects/{project_id}/metricDescriptors/{type=**}
-	//     metricDescriptors/{type=**}
+	//     "projects/123456789/metricDescriptors/custom.googleapis.com%2Finvoice%2Fpaid%2Famount"
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// The metric type including a DNS name prefix, for example
-	// `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
-	// should use a natural hierarchical grouping such as the following:
+	// The metric type, including its DNS name prefix. The type is not
+	// URL-encoded.  All user-defined metric types have the DNS name
+	// `custom.googleapis.com`.  Metric types should use a natural hierarchical
+	// grouping. For example:
 	//
-	//     compute.googleapis.com/instance/cpu/utilization
-	//     compute.googleapis.com/instance/disk/read_ops_count
-	//     compute.googleapis.com/instance/network/received_bytes_count
-	//
-	// Note that if the metric type changes, the monitoring data will be
-	// discontinued, and anything depends on it will break, such as monitoring
-	// dashboards, alerting rules and quota limits. Therefore, once a metric has
-	// been published, its type should be immutable.
+	//     "custom.googleapis.com/invoice/paid/amount"
+	//     "appengine.googleapis.com/http/server/response_latencies"
 	Type string `protobuf:"bytes,8,opt,name=type" json:"type,omitempty"`
-	// The set of labels that can be used to describe a specific instance of this
-	// metric type. For example, the
-	// `compute.googleapis.com/instance/network/received_bytes_count` metric type
-	// has a label, `loadbalanced`, that specifies whether the traffic was
-	// received through a load balanced IP address.
-	Labels []*google_api1.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
+	// The set of labels that can be used to describe a specific
+	// instance of this metric type. For example, the
+	// `appengine.googleapis.com/http/server/response_latencies` metric
+	// type has a label for the HTTP response code, `response_code`, so
+	// you can look at latencies for successful responses or just
+	// for responses that failed.
+	Labels []*google_api.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
 	// Whether the metric records instantaneous values, changes to a value, etc.
+	// Some combinations of `metric_kind` and `value_type` might not be supported.
 	MetricKind MetricDescriptor_MetricKind `protobuf:"varint,3,opt,name=metric_kind,json=metricKind,enum=google.api.MetricDescriptor_MetricKind" json:"metric_kind,omitempty"`
 	// Whether the measurement is an integer, a floating-point number, etc.
+	// Some combinations of `metric_kind` and `value_type` might not be supported.
 	ValueType MetricDescriptor_ValueType `protobuf:"varint,4,opt,name=value_type,json=valueType,enum=google.api.MetricDescriptor_ValueType" json:"value_type,omitempty"`
 	// The unit in which the metric value is reported. It is only applicable
 	// if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
@@ -224,22 +227,70 @@ func (m *MetricDescriptor) String() string            { return proto.CompactText
 func (*MetricDescriptor) ProtoMessage()               {}
 func (*MetricDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func (m *MetricDescriptor) GetLabels() []*google_api1.LabelDescriptor {
+func (m *MetricDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetLabels() []*google_api.LabelDescriptor {
 	if m != nil {
 		return m.Labels
 	}
 	return nil
 }
 
-// A specific metric identified by specifying values for all of the
+func (m *MetricDescriptor) GetMetricKind() MetricDescriptor_MetricKind {
+	if m != nil {
+		return m.MetricKind
+	}
+	return MetricDescriptor_METRIC_KIND_UNSPECIFIED
+}
+
+func (m *MetricDescriptor) GetValueType() MetricDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return MetricDescriptor_VALUE_TYPE_UNSPECIFIED
+}
+
+func (m *MetricDescriptor) GetUnit() string {
+	if m != nil {
+		return m.Unit
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *MetricDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+// A specific metric, identified by specifying values for all of the
 // labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
 type Metric struct {
 	// An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
-	// For example, `compute.googleapis.com/instance/cpu/usage_time`.
+	// For example, `custom.googleapis.com/invoice/paid/amount`.
 	Type string `protobuf:"bytes,3,opt,name=type" json:"type,omitempty"`
-	// The set of labels that uniquely identify a metric. To specify a
-	// metric, all labels enumerated in the `MetricDescriptor` must be
-	// assigned values.
+	// The set of label values that uniquely identify this metric. All
+	// labels listed in the `MetricDescriptor` must be assigned values.
 	Labels map[string]string `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
 }
 
@@ -248,6 +299,13 @@ func (m *Metric) String() string            { return proto.CompactTextString(m)
 func (*Metric) ProtoMessage()               {}
 func (*Metric) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Metric) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *Metric) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -262,42 +320,40 @@ func init() {
 	proto.RegisterEnum("google.api.MetricDescriptor_ValueType", MetricDescriptor_ValueType_name, MetricDescriptor_ValueType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/metric/metric.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/metric.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 503 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x52, 0x5d, 0x6b, 0xdb, 0x30,
-	0x14, 0x9d, 0x3f, 0xe2, 0x35, 0x37, 0xa5, 0x08, 0x31, 0x36, 0x93, 0xc2, 0xc8, 0xf2, 0xd0, 0xe5,
-	0x29, 0x81, 0x76, 0x94, 0x7d, 0xb0, 0x87, 0x24, 0xd6, 0x32, 0x53, 0xc7, 0x0e, 0xae, 0x1d, 0xe8,
-	0x93, 0x71, 0x13, 0x61, 0x44, 0x1d, 0xdb, 0x73, 0xdc, 0x42, 0x7e, 0xc5, 0x7e, 0xc1, 0x5e, 0xf6,
-	0x4b, 0x87, 0x24, 0x37, 0x31, 0x19, 0x8c, 0xbd, 0x24, 0x47, 0xe7, 0xde, 0x7b, 0x74, 0x8f, 0x7c,
-	0xe0, 0x6b, 0x92, 0xe7, 0x49, 0x4a, 0x87, 0x49, 0x9e, 0xc6, 0x59, 0x32, 0xcc, 0xcb, 0x64, 0x94,
-	0xd0, 0xac, 0x28, 0xf3, 0x2a, 0x1f, 0xc9, 0x52, 0x5c, 0xb0, 0xed, 0x28, 0x2e, 0xd8, 0x68, 0x43,
-	0xab, 0x92, 0xad, 0xea, 0xbf, 0xa1, 0x68, 0xc1, 0x50, 0x8f, 0xc7, 0x05, 0xeb, 0x7e, 0xf9, 0x7f,
-	0xa9, 0x34, 0xbe, 0xa7, 0xa9, 0xfc, 0x95, 0x42, 0xfd, 0x5f, 0x3a, 0xa0, 0xb9, 0x50, 0xb6, 0xe8,
-	0x76, 0x55, 0xb2, 0xa2, 0xca, 0x4b, 0x8c, 0x41, 0xcf, 0xe2, 0x0d, 0x35, 0x95, 0x9e, 0x32, 0x68,
-	0xfb, 0x02, 0x73, 0xae, 0xda, 0x15, 0xd4, 0x3c, 0x91, 0x1c, 0xc7, 0xf8, 0x0a, 0x0c, 0xa1, 0xb5,
-	0x35, 0xd5, 0x9e, 0x36, 0xe8, 0x5c, 0x9e, 0x0f, 0x0f, 0x6b, 0x0d, 0x1d, 0x5e, 0x39, 0x88, 0xfa,
-	0x75, 0x2b, 0xfe, 0x0e, 0x1d, 0x69, 0x25, 0x7a, 0x60, 0xd9, 0xda, 0xd4, 0x7a, 0xca, 0xe0, 0xec,
-	0xf2, 0x7d, 0x73, 0xf2, 0x78, 0x9f, 0x9a, 0xb8, 0x61, 0xd9, 0xda, 0x87, 0xcd, 0x1e, 0x63, 0x02,
-	0xf0, 0x14, 0xa7, 0x8f, 0x34, 0x12, 0x8b, 0xe9, 0x42, 0xe8, 0xe2, 0x9f, 0x42, 0x4b, 0xde, 0x1e,
-	0xec, 0x0a, 0xea, 0xb7, 0x9f, 0x9e, 0x21, 0x77, 0xf6, 0x98, 0xb1, 0xca, 0x6c, 0x49, 0x67, 0x1c,
-	0xe3, 0x1e, 0x74, 0xd6, 0xf5, 0x18, 0xcb, 0x33, 0xd3, 0x10, 0xa5, 0x26, 0x85, 0xdf, 0xc1, 0xe9,
-	0x9a, 0x6d, 0x8b, 0x34, 0xde, 0x45, 0xe2, 0xad, 0x5e, 0xd6, 0x2d, 0x92, 0x73, 0xe3, 0x0d, 0xed,
-	0x7b, 0x00, 0x87, 0xcd, 0xf1, 0x39, 0xbc, 0x99, 0x93, 0xc0, 0xb7, 0xa7, 0xd1, 0x8d, 0xed, 0x5a,
-	0x51, 0xe8, 0xde, 0x2e, 0xc8, 0xd4, 0xfe, 0x66, 0x13, 0x0b, 0xbd, 0xc0, 0x6d, 0x68, 0xcd, 0xc6,
-	0xe1, 0x8c, 0x20, 0x85, 0x43, 0x8b, 0x38, 0xc1, 0x18, 0xa9, 0xf8, 0x0c, 0x60, 0x1a, 0xce, 0x43,
-	0x67, 0x1c, 0xd8, 0x4b, 0x82, 0xb4, 0xfe, 0x0f, 0x68, 0xef, 0x1d, 0xe0, 0x2e, 0xbc, 0x5e, 0x8e,
-	0x9d, 0x90, 0x44, 0xc1, 0xdd, 0x82, 0x1c, 0xc9, 0x9d, 0x80, 0x3e, 0xf1, 0x3c, 0x47, 0xaa, 0xd9,
-	0x6e, 0x70, 0xfd, 0x01, 0xa9, 0x18, 0xc0, 0xb0, 0xbc, 0x70, 0xe2, 0x10, 0xa4, 0x71, 0x7c, 0x1b,
-	0xf8, 0xb6, 0x3b, 0x43, 0x3a, 0x46, 0x70, 0x6a, 0xd9, 0xfc, 0x34, 0x09, 0x03, 0xdb, 0x73, 0x51,
-	0x8b, 0x0f, 0xcd, 0x3d, 0x97, 0xdc, 0x21, 0xa3, 0xff, 0x53, 0x01, 0x43, 0x9a, 0xd8, 0x27, 0x40,
-	0x6b, 0x24, 0xe0, 0xfa, 0x28, 0x01, 0x6f, 0xff, 0x7e, 0x7e, 0x19, 0x84, 0x2d, 0xc9, 0xaa, 0x72,
-	0xf7, 0x1c, 0x82, 0xee, 0x27, 0xe8, 0x34, 0x68, 0x8c, 0x40, 0x7b, 0xa0, 0xbb, 0x3a, 0x6f, 0x1c,
-	0xe2, 0x57, 0xd0, 0x12, 0x5f, 0xc8, 0x54, 0x05, 0x27, 0x0f, 0x9f, 0xd5, 0x8f, 0xca, 0xe4, 0x02,
-	0xce, 0x56, 0xf9, 0xa6, 0x71, 0xcf, 0xa4, 0x23, 0x2f, 0x5a, 0xf0, 0x40, 0x2f, 0x94, 0xdf, 0xaa,
-	0x3e, 0x1b, 0x2f, 0xec, 0x7b, 0x43, 0x04, 0xfc, 0xea, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9e,
-	0x86, 0xb0, 0x69, 0x6a, 0x03, 0x00, 0x00,
+	// 506 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x53, 0x4d, 0x6f, 0xda, 0x40,
+	0x10, 0xad, 0x3f, 0x70, 0xc3, 0x10, 0xa1, 0xd5, 0xaa, 0x4a, 0x2c, 0x22, 0x55, 0x94, 0x43, 0xcb,
+	0x09, 0xa4, 0xa4, 0x4a, 0xbf, 0x4e, 0x80, 0xb7, 0xd4, 0x8a, 0xb1, 0x91, 0x63, 0x23, 0xa5, 0x17,
+	0xcb, 0x81, 0x95, 0x65, 0xc5, 0xd8, 0xae, 0x71, 0x22, 0xf9, 0x57, 0xf4, 0x17, 0xf4, 0xd2, 0x5f,
+	0x5a, 0xed, 0xae, 0x03, 0x16, 0x95, 0x72, 0xe2, 0xed, 0x9b, 0x37, 0x6f, 0x67, 0x96, 0x67, 0x38,
+	0x8f, 0xb2, 0x2c, 0x4a, 0xe8, 0x38, 0xcc, 0xe3, 0xf1, 0x96, 0x96, 0x45, 0xbc, 0x1e, 0xe5, 0x45,
+	0x56, 0x66, 0x18, 0x44, 0x61, 0x14, 0xe6, 0x71, 0xef, 0xac, 0x21, 0x4a, 0xc2, 0x7b, 0x9a, 0x08,
+	0xcd, 0xe0, 0x8f, 0x0a, 0x68, 0xc1, 0x9b, 0x0c, 0xba, 0x5b, 0x17, 0x71, 0x5e, 0x66, 0x05, 0xc6,
+	0xa0, 0xa6, 0xe1, 0x96, 0xea, 0x52, 0x5f, 0x1a, 0xb6, 0x5d, 0x8e, 0x19, 0x57, 0x56, 0x39, 0xd5,
+	0x4f, 0x04, 0xc7, 0x30, 0xbe, 0x02, 0x8d, 0x7b, 0xed, 0x74, 0xb9, 0xaf, 0x0c, 0x3b, 0x97, 0x17,
+	0xa3, 0xc3, 0x8d, 0x23, 0x8b, 0x55, 0x0e, 0xa6, 0x6e, 0x2d, 0xc5, 0x3f, 0xa0, 0x23, 0xa6, 0x0c,
+	0x1e, 0xe2, 0x74, 0xa3, 0x2b, 0x7d, 0x69, 0xd8, 0xbd, 0xfc, 0xd0, 0xec, 0x3c, 0x9e, 0xa7, 0x26,
+	0x6e, 0xe2, 0x74, 0xe3, 0xc2, 0x76, 0x8f, 0x31, 0x01, 0x78, 0x0a, 0x93, 0x47, 0x1a, 0xf0, 0xc1,
+	0x54, 0x6e, 0xf4, 0xfe, 0x45, 0xa3, 0x15, 0x93, 0x7b, 0x55, 0x4e, 0xdd, 0xf6, 0xd3, 0x33, 0x64,
+	0x9b, 0x3d, 0xa6, 0x71, 0xa9, 0xb7, 0xc4, 0x66, 0x0c, 0xe3, 0x3e, 0x74, 0x36, 0x75, 0x5b, 0x9c,
+	0xa5, 0xba, 0xc6, 0x4b, 0x4d, 0x0a, 0xbf, 0x83, 0xd3, 0x4d, 0xbc, 0xcb, 0x93, 0xb0, 0x0a, 0xf8,
+	0x5b, 0xbd, 0xae, 0x25, 0x82, 0xb3, 0xc3, 0x2d, 0x1d, 0x38, 0x00, 0x87, 0xc9, 0xf1, 0x05, 0x9c,
+	0x2f, 0x88, 0xe7, 0x9a, 0xb3, 0xe0, 0xc6, 0xb4, 0x8d, 0xc0, 0xb7, 0x6f, 0x97, 0x64, 0x66, 0x7e,
+	0x37, 0x89, 0x81, 0x5e, 0xe1, 0x36, 0xb4, 0xe6, 0x13, 0x7f, 0x4e, 0x90, 0xc4, 0xa0, 0x41, 0x2c,
+	0x6f, 0x82, 0x64, 0xdc, 0x05, 0x98, 0xf9, 0x0b, 0xdf, 0x9a, 0x78, 0xe6, 0x8a, 0x20, 0x65, 0xf0,
+	0x0b, 0xda, 0xfb, 0x0d, 0x70, 0x0f, 0xce, 0x56, 0x13, 0xcb, 0x27, 0x81, 0x77, 0xb7, 0x24, 0x47,
+	0x76, 0x27, 0xa0, 0x4e, 0x1d, 0xc7, 0x12, 0x6e, 0xa6, 0xed, 0x5d, 0x7f, 0x44, 0x32, 0x06, 0xd0,
+	0x0c, 0xc7, 0x9f, 0x5a, 0x04, 0x29, 0x0c, 0xdf, 0x7a, 0xae, 0x69, 0xcf, 0x91, 0x8a, 0x11, 0x9c,
+	0x1a, 0x26, 0x3b, 0x4d, 0x7d, 0xcf, 0x74, 0x6c, 0xd4, 0x62, 0x4d, 0x0b, 0xc7, 0x26, 0x77, 0x48,
+	0x1b, 0xfc, 0x96, 0x40, 0x13, 0x4b, 0xec, 0x13, 0xa0, 0x34, 0x12, 0x70, 0x7d, 0x94, 0x80, 0xb7,
+	0xff, 0x3f, 0xbf, 0x08, 0xc2, 0x8e, 0xa4, 0x65, 0x51, 0x3d, 0x87, 0xa0, 0xf7, 0x05, 0x3a, 0x0d,
+	0x1a, 0x23, 0x50, 0x1e, 0x68, 0x55, 0xe7, 0x8d, 0x41, 0xfc, 0x06, 0x5a, 0xfc, 0x1f, 0xd2, 0x65,
+	0xce, 0x89, 0xc3, 0x57, 0xf9, 0xb3, 0x34, 0x0d, 0xa0, 0xbb, 0xce, 0xb6, 0x8d, 0x7b, 0xa6, 0x1d,
+	0x71, 0xd1, 0x92, 0x05, 0x7a, 0x29, 0xfd, 0xfc, 0x54, 0x97, 0xa2, 0x2c, 0x09, 0xd3, 0x68, 0x94,
+	0x15, 0xd1, 0x38, 0xa2, 0x29, 0x8f, 0xfb, 0x58, 0x94, 0xc2, 0x3c, 0xde, 0x35, 0x3e, 0x97, 0x6f,
+	0xe2, 0xe7, 0xaf, 0xac, 0xce, 0x27, 0x4b, 0xf3, 0x5e, 0xe3, 0xd2, 0xab, 0x7f, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x18, 0x04, 0x05, 0x82, 0x58, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/metric/metric.proto b/googleapis/api/metric/metric.proto
deleted file mode 100644
index e8967058..00000000
--- a/googleapis/api/metric/metric.proto
+++ /dev/null
@@ -1,193 +0,0 @@
-// 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/label/label.proto"; // from google/api/label.proto
-
-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.
-message MetricDescriptor {
-  // The kind of measurement. It describes how the data is reported.
-  enum MetricKind {
-    // Do not use this default value.
-    METRIC_KIND_UNSPECIFIED = 0;
-
-    // An instantaneous measurement of a value.
-    GAUGE = 1;
-
-    // The change in a value during a time interval.
-    DELTA = 2;
-
-    // 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;
-  }
-
-  // The value type of a metric.
-  enum ValueType {
-    // Do not use this default value.
-    VALUE_TYPE_UNSPECIFIED = 0;
-
-    // The value is a boolean.
-    // This value type can be used only if the metric kind is `GAUGE`.
-    BOOL = 1;
-
-    // The value is a signed 64-bit integer.
-    INT64 = 2;
-
-    // The value is a double precision floating point number.
-    DOUBLE = 3;
-
-    // The value is a text string.
-    // This value type can be used only if the metric kind is `GAUGE`.
-    STRING = 4;
-
-    // The value is a [`Distribution`][google.api.Distribution].
-    DISTRIBUTION = 5;
-
-    // The value is money.
-    MONEY = 6;
-  }
-
-  // Resource name. The format of the name may vary between different
-  // implementations. For examples:
-  //
-  //     projects/{project_id}/metricDescriptors/{type=**}
-  //     metricDescriptors/{type=**}
-  string name = 1;
-
-  // The metric type including a DNS name prefix, for example
-  // `"compute.googleapis.com/instance/cpu/utilization"`. Metric types
-  // should use a natural hierarchical grouping such as the following:
-  //
-  //     compute.googleapis.com/instance/cpu/utilization
-  //     compute.googleapis.com/instance/disk/read_ops_count
-  //     compute.googleapis.com/instance/network/received_bytes_count
-  //
-  // Note that if the metric type changes, the monitoring data will be
-  // discontinued, and anything depends on it will break, such as monitoring
-  // dashboards, alerting rules and quota limits. Therefore, once a metric has
-  // been published, its type should be immutable.
-  string type = 8;
-
-  // The set of labels that can be used to describe a specific instance of this
-  // metric type. For example, the
-  // `compute.googleapis.com/instance/network/received_bytes_count` metric type
-  // has a label, `loadbalanced`, that specifies whether the traffic was
-  // received through a load balanced IP address.
-  repeated LabelDescriptor labels = 2;
-
-  // Whether the metric records instantaneous values, changes to a value, etc.
-  MetricKind metric_kind = 3;
-
-  // Whether the measurement is an integer, a floating-point number, etc.
-  ValueType value_type = 4;
-
-  // The unit in which the metric value is reported. It is only applicable
-  // if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The
-  // supported units are a subset of [The Unified Code for Units of
-  // Measure](http://unitsofmeasure.org/ucum.html) standard:
-  //
-  // **Basic units (UNIT)**
-  //
-  // * `bit`   bit
-  // * `By`    byte
-  // * `s`     second
-  // * `min`   minute
-  // * `h`     hour
-  // * `d`     day
-  //
-  // **Prefixes (PREFIX)**
-  //
-  // * `k`     kilo    (10**3)
-  // * `M`     mega    (10**6)
-  // * `G`     giga    (10**9)
-  // * `T`     tera    (10**12)
-  // * `P`     peta    (10**15)
-  // * `E`     exa     (10**18)
-  // * `Z`     zetta   (10**21)
-  // * `Y`     yotta   (10**24)
-  // * `m`     milli   (10**-3)
-  // * `u`     micro   (10**-6)
-  // * `n`     nano    (10**-9)
-  // * `p`     pico    (10**-12)
-  // * `f`     femto   (10**-15)
-  // * `a`     atto    (10**-18)
-  // * `z`     zepto   (10**-21)
-  // * `y`     yocto   (10**-24)
-  // * `Ki`    kibi    (2**10)
-  // * `Mi`    mebi    (2**20)
-  // * `Gi`    gibi    (2**30)
-  // * `Ti`    tebi    (2**40)
-  //
-  // **Grammar**
-  //
-  // The grammar includes the dimensionless unit `1`, such as `1/s`.
-  //
-  // The grammar also includes these connectors:
-  //
-  // * `/`    division (as an infix operator, e.g. `1/s`).
-  // * `.`    multiplication (as an infix operator, e.g. `GBy.d`)
-  //
-  // The grammar for a unit is as follows:
-  //
-  //     Expression = Component { "." Component } { "/" Component } ;
-  //
-  //     Component = [ PREFIX ] UNIT [ Annotation ]
-  //               | Annotation
-  //               | "1"
-  //               ;
-  //
-  //     Annotation = "{" NAME "}" ;
-  //
-  // Notes:
-  //
-  // * `Annotation` is just a comment if it follows a `UNIT` and is
-  //    equivalent to `1` if it is used alone. For examples,
-  //    `{requests}/s == 1/s`, `By{transmitted}/s == By/s`.
-  // * `NAME` is a sequence of non-blank printable ASCII characters not
-  //    containing '{' or '}'.
-  string unit = 5;
-
-  // A detailed description of the metric, which can be used in documentation.
-  string description = 6;
-
-  // A concise name for the metric, which can be displayed in user interfaces.
-  // Use sentence case without an ending period, for example "Request count".
-  string display_name = 7;
-}
-
-// A specific metric identified by specifying values for all of the
-// labels of a [`MetricDescriptor`][google.api.MetricDescriptor].
-message Metric {
-  // An existing metric type, see [google.api.MetricDescriptor][google.api.MetricDescriptor].
-  // For example, `compute.googleapis.com/instance/cpu/usage_time`.
-  string type = 3;
-
-  // The set of labels that uniquely identify a metric. To specify a
-  // metric, all labels enumerated in the `MetricDescriptor` must be
-  // assigned values.
-  map<string, string> labels = 2;
-}
diff --git a/googleapis/api/monitoredres/monitored_resource.pb.go b/googleapis/api/monitoredres/monitored_resource.pb.go
index 4e04ee10..9ceb24b7 100644
--- a/googleapis/api/monitoredres/monitored_resource.pb.go
+++ b/googleapis/api/monitoredres/monitored_resource.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto
+// source: google/api/monitored_resource.proto
 // DO NOT EDIT!
 
 /*
 Package monitoredres is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto
+	google/api/monitored_resource.proto
 
 It has these top-level messages:
 	MonitoredResourceDescriptor
 	MonitoredResource
 */
-package monitoredres // import "google.golang.org/genproto/googleapis/api/monitoredres"
+package monitoredres
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -70,6 +70,34 @@ func (m *MonitoredResourceDescriptor) String() string            { return proto.
 func (*MonitoredResourceDescriptor) ProtoMessage()               {}
 func (*MonitoredResourceDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *MonitoredResourceDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *MonitoredResourceDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *MonitoredResourceDescriptor) GetLabels() []*google_api.LabelDescriptor {
 	if m != nil {
 		return m.Labels
@@ -106,6 +134,13 @@ func (m *MonitoredResource) String() string            { return proto.CompactTex
 func (*MonitoredResource) ProtoMessage()               {}
 func (*MonitoredResource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *MonitoredResource) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *MonitoredResource) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -118,31 +153,29 @@ func init() {
 	proto.RegisterType((*MonitoredResource)(nil), "google.api.MonitoredResource")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/api/monitored_resource.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 326 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcb, 0x4a, 0xfb, 0x40,
-	0x14, 0xc6, 0x99, 0xf4, 0x02, 0xff, 0x93, 0x3f, 0xa2, 0x83, 0x48, 0x68, 0x37, 0xb5, 0xab, 0xba,
-	0x49, 0xc0, 0x82, 0x78, 0x59, 0xb5, 0x28, 0x22, 0x78, 0x29, 0x5d, 0xba, 0x29, 0xd3, 0x76, 0x08,
-	0x83, 0xd3, 0x9c, 0x61, 0x26, 0x15, 0xf2, 0x3a, 0x82, 0xcf, 0xe1, 0x6b, 0xb9, 0x94, 0xb9, 0xd4,
-	0x14, 0xea, 0x42, 0xdc, 0x84, 0x33, 0xdf, 0xf9, 0xe6, 0xf7, 0x9d, 0x93, 0x04, 0x9e, 0x72, 0xc4,
-	0x5c, 0xf2, 0x34, 0x47, 0xc9, 0x8a, 0x3c, 0x45, 0x9d, 0x67, 0x39, 0x2f, 0x94, 0xc6, 0x12, 0x33,
-	0xdf, 0x62, 0x4a, 0x98, 0x8c, 0x29, 0x91, 0xad, 0xb0, 0x10, 0x25, 0x6a, 0xbe, 0xd4, 0xdc, 0xd4,
-	0x87, 0x99, 0xe6, 0x06, 0xd7, 0x7a, 0xc1, 0x53, 0x77, 0x89, 0x42, 0x00, 0x32, 0x25, 0x3a, 0x57,
-	0xbf, 0x87, 0x4b, 0x36, 0xe7, 0xd2, 0x3f, 0x3d, 0xa8, 0xff, 0x41, 0xa0, 0xfb, 0xb0, 0x49, 0x99,
-	0x86, 0x90, 0x6b, 0x6e, 0x16, 0x5a, 0xa8, 0x12, 0x35, 0xa5, 0xd0, 0x2c, 0xd8, 0x8a, 0x27, 0xad,
-	0x1e, 0x19, 0xfc, 0x9b, 0xba, 0xda, 0x6a, 0x65, 0xa5, 0x78, 0x42, 0xbc, 0x66, 0x6b, 0x7a, 0x0c,
-	0xff, 0x97, 0xc2, 0x28, 0xc9, 0xaa, 0x99, 0xf3, 0x47, 0xae, 0x17, 0x07, 0xed, 0xd1, 0x5e, 0xeb,
-	0x41, 0xbc, 0x0c, 0x60, 0x81, 0x45, 0xd2, 0x08, 0x8e, 0x5a, 0xa2, 0x43, 0x68, 0xbb, 0xd9, 0x4c,
-	0xd2, 0xec, 0x35, 0x06, 0xf1, 0x69, 0x37, 0xad, 0xd7, 0x4c, 0xef, 0x6d, 0xa7, 0x9e, 0x6c, 0x1a,
-	0xac, 0xfd, 0x77, 0x02, 0x07, 0x3b, 0x1b, 0xfc, 0x38, 0xe3, 0xe8, 0x1b, 0x1f, 0x39, 0xfc, 0xc9,
-	0x36, 0x7e, 0x07, 0xe1, 0x03, 0xcd, 0x4d, 0x51, 0xea, 0x6a, 0x13, 0xd6, 0xb9, 0x80, 0x78, 0x4b,
-	0xa6, 0xfb, 0xd0, 0x78, 0xe1, 0x55, 0x08, 0xb1, 0x25, 0x3d, 0x84, 0xd6, 0x2b, 0x93, 0xeb, 0xcd,
-	0x0b, 0xf0, 0x87, 0xcb, 0xe8, 0x9c, 0x8c, 0x25, 0xec, 0x2d, 0x70, 0xb5, 0x15, 0x39, 0x3e, 0xda,
-	0xc9, 0x9c, 0xd8, 0x6f, 0x32, 0x21, 0xcf, 0x67, 0x7f, 0xfb, 0x5f, 0x3e, 0x09, 0x79, 0x8b, 0x9a,
-	0xb7, 0xa3, 0xc9, 0xdd, 0xbc, 0xed, 0xcc, 0xc3, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0x87,
-	0xa2, 0x37, 0x7a, 0x02, 0x00, 0x00,
+	// 321 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0x4b, 0x4b, 0x3b, 0x31,
+	0x10, 0x27, 0xdb, 0x07, 0xfc, 0x67, 0xff, 0x88, 0x06, 0x29, 0x4b, 0x7b, 0xa9, 0xf5, 0x52, 0x2f,
+	0xbb, 0x60, 0x2f, 0x3e, 0x4e, 0xad, 0x8a, 0x08, 0x2a, 0xa5, 0x47, 0x2f, 0x25, 0x6d, 0xc3, 0x12,
+	0xdc, 0x66, 0x42, 0xb2, 0x15, 0xf6, 0xeb, 0x08, 0x7e, 0x0e, 0xbf, 0x96, 0x47, 0xc9, 0xa3, 0x76,
+	0xa5, 0xde, 0x26, 0xbf, 0xf9, 0x3d, 0x66, 0x32, 0x70, 0x9a, 0x23, 0xe6, 0x05, 0xcf, 0x98, 0x12,
+	0xd9, 0x1a, 0xa5, 0x28, 0x51, 0xf3, 0xd5, 0x5c, 0x73, 0x83, 0x1b, 0xbd, 0xe4, 0xa9, 0xd2, 0x58,
+	0x22, 0x05, 0x4f, 0x4a, 0x99, 0x12, 0xdd, 0x4e, 0x4d, 0x50, 0xb0, 0x05, 0x2f, 0x3c, 0x67, 0xf0,
+	0x49, 0xa0, 0xf7, 0xb4, 0x35, 0x98, 0x05, 0xfd, 0x2d, 0x37, 0x4b, 0x2d, 0x54, 0x89, 0x9a, 0x52,
+	0x68, 0x4a, 0xb6, 0xe6, 0x49, 0xab, 0x4f, 0x86, 0xff, 0x66, 0xae, 0xb6, 0x58, 0x59, 0x29, 0x9e,
+	0x10, 0x8f, 0xd9, 0x9a, 0x9e, 0xc0, 0xff, 0x95, 0x30, 0xaa, 0x60, 0xd5, 0xdc, 0xf1, 0x23, 0xd7,
+	0x8b, 0x03, 0xf6, 0x6c, 0x65, 0x7d, 0x88, 0x57, 0xc1, 0x58, 0xa0, 0x4c, 0x1a, 0x81, 0xb1, 0x83,
+	0xe8, 0x08, 0xda, 0x6e, 0x36, 0x93, 0x34, 0xfb, 0x8d, 0x61, 0x7c, 0xde, 0x4b, 0x77, 0x1b, 0xa4,
+	0x8f, 0xb6, 0xb3, 0x9b, 0x6c, 0x16, 0xa8, 0x83, 0x0f, 0x02, 0x47, 0x7b, 0x1b, 0xfc, 0x39, 0xe3,
+	0xf8, 0xc7, 0x3e, 0x72, 0xf6, 0x67, 0x75, 0xfb, 0x3d, 0x0b, 0x1f, 0x68, 0xee, 0x64, 0xa9, 0xab,
+	0x6d, 0x58, 0xf7, 0x12, 0xe2, 0x1a, 0x4c, 0x0f, 0xa1, 0xf1, 0xca, 0xab, 0x10, 0x62, 0x4b, 0x7a,
+	0x0c, 0xad, 0x37, 0x56, 0x6c, 0xb6, 0x1f, 0xe0, 0x1f, 0x57, 0xd1, 0x05, 0x99, 0x54, 0x70, 0xb0,
+	0xc4, 0x75, 0x2d, 0x72, 0xd2, 0xd9, 0xcb, 0x9c, 0xda, 0x9b, 0x4c, 0xc9, 0xcb, 0x4d, 0x60, 0xe5,
+	0x58, 0x30, 0x99, 0xa7, 0xa8, 0xf3, 0x2c, 0xe7, 0xd2, 0x5d, 0x2c, 0xf3, 0x2d, 0xa6, 0x84, 0xf9,
+	0x7d, 0x7d, 0xcd, 0xcd, 0x75, 0xfd, 0xf1, 0x45, 0xc8, 0x7b, 0xd4, 0xbc, 0x1f, 0x4f, 0x1f, 0x16,
+	0x6d, 0xa7, 0x1c, 0x7d, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xfb, 0xfb, 0x11, 0x36, 0x02, 0x00,
+	0x00,
 }
diff --git a/googleapis/api/monitoredres/monitored_resource.proto b/googleapis/api/monitoredres/monitored_resource.proto
deleted file mode 100644
index e01b6214..00000000
--- a/googleapis/api/monitoredres/monitored_resource.proto
+++ /dev/null
@@ -1,91 +0,0 @@
-// 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/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";
-
-// An object that describes the schema of a [MonitoredResource][google.api.MonitoredResource] object using a
-// type name and a set of labels.  For example, the monitored resource
-// descriptor for Google Compute Engine VM instances has a type of
-// `"gce_instance"` and specifies the use of the labels `"instance_id"` and
-// `"zone"` to identify particular VM instances.
-//
-// Different APIs can support different monitored resource types. APIs generally
-// provide a `list` method that returns the monitored resource descriptors used
-// by the API.
-message MonitoredResourceDescriptor {
-  // Optional. The resource name of the monitored resource descriptor:
-  // `"projects/{project_id}/monitoredResourceDescriptors/{type}"` where
-  // {type} is the value of the `type` field in this object and
-  // {project_id} is a project ID that provides API-specific context for
-  // accessing the type.  APIs that do not use project information can use the
-  // resource name format `"monitoredResourceDescriptors/{type}"`.
-  string name = 5;
-
-  // 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. 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
-  // be used in documentation.
-  string description = 3;
-
-  // Required. A set of labels used to describe instances of this monitored
-  // resource type. For example, an individual Google Cloud SQL database is
-  // identified by values for the labels `"database_id"` and `"zone"`.
-  repeated LabelDescriptor labels = 4;
-}
-
-// An object representing a resource that can be used for monitoring, logging,
-// billing, or other purposes. Examples include virtual machine instances,
-// databases, and storage devices such as disks. The `type` field identifies a
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object that describes the resource's
-// schema. Information in the `labels` field identifies the actual resource and
-// its attributes according to the schema. For example, a particular Compute
-// Engine VM instance could be represented by the following object, because the
-// [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] for `"gce_instance"` has labels
-// `"instance_id"` and `"zone"`:
-//
-//     { "type": "gce_instance",
-//       "labels": { "instance_id": "12345678901234",
-//                   "zone": "us-central1-a" }}
-message MonitoredResource {
-  // Required. The monitored resource type. This field must match
-  // the `type` field of a [MonitoredResourceDescriptor][google.api.MonitoredResourceDescriptor] object. For
-  // example, the type of a Cloud SQL database is `"cloudsql_database"`.
-  string type = 1;
-
-  // Required. Values for all of the labels listed in the associated monitored
-  // resource descriptor. For example, Cloud SQL databases use the labels
-  // `"database_id"` and `"zone"`.
-  map<string, string> labels = 2;
-}
diff --git a/googleapis/api/serviceconfig/annotations.pb.go b/googleapis/api/serviceconfig/annotations.pb.go
deleted file mode 100644
index 6e6ce0b4..00000000
--- a/googleapis/api/serviceconfig/annotations.pb.go
+++ /dev/null
@@ -1,108 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/annotations.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/serviceconfig/annotations.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto
-	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/monitoring.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/service.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto
-	google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto
-
-It has these top-level messages:
-	Authentication
-	AuthenticationRule
-	AuthProvider
-	OAuthRequirements
-	AuthRequirement
-	Backend
-	BackendRule
-	Billing
-	BillingStatusRule
-	ProjectProperties
-	Property
-	Context
-	ContextRule
-	Control
-	Documentation
-	DocumentationRule
-	Page
-	Endpoint
-	Http
-	HttpRule
-	CustomHttpPattern
-	Logging
-	LogDescriptor
-	Monitoring
-	Service
-	SystemParameters
-	SystemParameterRule
-	SystemParameter
-	Usage
-	UsageRule
-*/
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import google_protobuf "google.golang.org/genproto/protobuf"
-
-// 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
-
-var E_Http = &proto.ExtensionDesc{
-	ExtendedType:  (*google_protobuf.MethodOptions)(nil),
-	ExtensionType: (*HttpRule)(nil),
-	Field:         72295728,
-	Name:          "google.api.http",
-	Tag:           "bytes,72295728,opt,name=http",
-}
-
-func init() {
-	proto.RegisterExtension(E_Http)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 215 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, 0xb4, 0xb9, 0xf8, 0x92, 0xf3, 0x73,
-	0x91, 0x14, 0x38, 0x09, 0x38, 0x22, 0xfc, 0x1d, 0x00, 0x32, 0x39, 0x80, 0x71, 0x11, 0x13, 0x8b,
-	0xbb, 0x63, 0x80, 0x67, 0x12, 0x1b, 0xd8, 0x26, 0x63, 0x40, 0x00, 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
deleted file mode 100644
index 306bc405..00000000
--- a/googleapis/api/serviceconfig/annotations.proto
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright (c) 2015, 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/http.proto"; // from google/api/http.proto
-import "google.golang.org/genproto/protobuf/descriptor.proto"; // from google/protobuf/descriptor.proto
-
-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`.
-  HttpRule http = 72295728;
-}
diff --git a/googleapis/api/serviceconfig/auth.pb.go b/googleapis/api/serviceconfig/auth.pb.go
index 9379e042..6db5ec47 100644
--- a/googleapis/api/serviceconfig/auth.pb.go
+++ b/googleapis/api/serviceconfig/auth.pb.go
@@ -1,32 +1,87 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto
+// source: google/api/auth.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+/*
+Package serviceconfig is a generated protocol buffer package.
+
+It is generated from these files:
+	google/api/auth.proto
+	google/api/backend.proto
+	google/api/billing.proto
+	google/api/consumer.proto
+	google/api/context.proto
+	google/api/control.proto
+	google/api/documentation.proto
+	google/api/endpoint.proto
+	google/api/log.proto
+	google/api/logging.proto
+	google/api/monitoring.proto
+	google/api/service.proto
+	google/api/system_parameter.proto
+	google/api/usage.proto
+
+It has these top-level messages:
+	Authentication
+	AuthenticationRule
+	AuthProvider
+	OAuthRequirements
+	AuthRequirement
+	Backend
+	BackendRule
+	Billing
+	BillingStatusRule
+	ProjectProperties
+	Property
+	Context
+	ContextRule
+	Control
+	Documentation
+	DocumentationRule
+	Page
+	Endpoint
+	LogDescriptor
+	Logging
+	Monitoring
+	Service
+	SystemParameters
+	SystemParameterRule
+	SystemParameter
+	Usage
+	UsageRule
+*/
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // 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
+
 // `Authentication` defines the authentication configuration for an API.
 //
 // Example for an API targeted for external use:
 //
 //     name: calendar.googleapis.com
 //     authentication:
+//       providers:
+//       - id: google_calendar_auth
+//         jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+//         issuer: https://securetoken.google.com
 //       rules:
 //       - selector: "*"
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar
-//
-//       - selector: google.calendar.Delegate
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar.read
+//         requirements:
+//           provider_id: google_calendar_auth
 type Authentication struct {
 	// A list of authentication rules that apply to individual API methods.
 	//
@@ -39,7 +94,7 @@ type Authentication struct {
 func (m *Authentication) Reset()                    { *m = Authentication{} }
 func (m *Authentication) String() string            { return proto.CompactTextString(m) }
 func (*Authentication) ProtoMessage()               {}
-func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
+func (*Authentication) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 func (m *Authentication) GetRules() []*AuthenticationRule {
 	if m != nil {
@@ -86,7 +141,14 @@ type AuthenticationRule struct {
 func (m *AuthenticationRule) Reset()                    { *m = AuthenticationRule{} }
 func (m *AuthenticationRule) String() string            { return proto.CompactTextString(m) }
 func (*AuthenticationRule) ProtoMessage()               {}
-func (*AuthenticationRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+func (*AuthenticationRule) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *AuthenticationRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
 
 func (m *AuthenticationRule) GetOauth() *OAuthRequirements {
 	if m != nil {
@@ -95,6 +157,13 @@ func (m *AuthenticationRule) GetOauth() *OAuthRequirements {
 	return nil
 }
 
+func (m *AuthenticationRule) GetAllowWithoutCredential() bool {
+	if m != nil {
+		return m.AllowWithoutCredential
+	}
+	return false
+}
+
 func (m *AuthenticationRule) GetRequirements() []*AuthRequirement {
 	if m != nil {
 		return m.Requirements
@@ -127,12 +196,54 @@ type AuthProvider struct {
 	//
 	// Example: https://www.googleapis.com/oauth2/v1/certs
 	JwksUri string `protobuf:"bytes,3,opt,name=jwks_uri,json=jwksUri" json:"jwks_uri,omitempty"`
+	// The list of JWT
+	// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
+	// that are allowed to access. A JWT containing any of these audiences will
+	// be accepted. When this setting is absent, only JWTs with audience
+	// "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
+	// will be accepted. For example, if no audiences are in the setting,
+	// LibraryService API will only accept JWTs with the following audience
+	// "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
+	//
+	// Example:
+	//
+	//     audiences: bookstore_android.apps.googleusercontent.com,
+	//                bookstore_web.apps.googleusercontent.com
+	Audiences string `protobuf:"bytes,4,opt,name=audiences" json:"audiences,omitempty"`
 }
 
 func (m *AuthProvider) Reset()                    { *m = AuthProvider{} }
 func (m *AuthProvider) String() string            { return proto.CompactTextString(m) }
 func (*AuthProvider) ProtoMessage()               {}
-func (*AuthProvider) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
+func (*AuthProvider) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *AuthProvider) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetIssuer() string {
+	if m != nil {
+		return m.Issuer
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetJwksUri() string {
+	if m != nil {
+		return m.JwksUri
+	}
+	return ""
+}
+
+func (m *AuthProvider) GetAudiences() string {
+	if m != nil {
+		return m.Audiences
+	}
+	return ""
+}
 
 // OAuth scopes are a way to define data and permissions on data. For example,
 // there are scopes defined for "Read-only access to Google Calendar" and
@@ -166,7 +277,14 @@ type OAuthRequirements struct {
 func (m *OAuthRequirements) Reset()                    { *m = OAuthRequirements{} }
 func (m *OAuthRequirements) String() string            { return proto.CompactTextString(m) }
 func (*OAuthRequirements) ProtoMessage()               {}
-func (*OAuthRequirements) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
+func (*OAuthRequirements) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *OAuthRequirements) GetCanonicalScopes() string {
+	if m != nil {
+		return m.CanonicalScopes
+	}
+	return ""
+}
 
 // User-defined authentication requirements, including support for
 // [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
@@ -177,6 +295,9 @@ type AuthRequirement struct {
 	//
 	//     provider_id: bookstore_auth
 	ProviderId string `protobuf:"bytes,1,opt,name=provider_id,json=providerId" json:"provider_id,omitempty"`
+	// NOTE: This will be deprecated soon, once AuthProvider.audiences is
+	// implemented and accepted in all the runtime components.
+	//
 	// The list of JWT
 	// [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
 	// that are allowed to access. A JWT containing any of these audiences will
@@ -196,7 +317,21 @@ type AuthRequirement struct {
 func (m *AuthRequirement) Reset()                    { *m = AuthRequirement{} }
 func (m *AuthRequirement) String() string            { return proto.CompactTextString(m) }
 func (*AuthRequirement) ProtoMessage()               {}
-func (*AuthRequirement) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
+func (*AuthRequirement) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *AuthRequirement) GetProviderId() string {
+	if m != nil {
+		return m.ProviderId
+	}
+	return ""
+}
+
+func (m *AuthRequirement) GetAudiences() string {
+	if m != nil {
+		return m.Audiences
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Authentication)(nil), "google.api.Authentication")
@@ -206,37 +341,36 @@ func init() {
 	proto.RegisterType((*AuthRequirement)(nil), "google.api.AuthRequirement")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/auth.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 423 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xcd, 0x6e, 0xd3, 0x40,
-	0x10, 0x96, 0xd3, 0xa6, 0x8d, 0x27, 0x55, 0x0a, 0x7b, 0xa8, 0x4c, 0xf9, 0x8b, 0x2c, 0x0e, 0xe1,
-	0x62, 0x4b, 0x2d, 0x42, 0x9c, 0x40, 0x0d, 0x07, 0x94, 0x13, 0xc1, 0x08, 0x71, 0xb4, 0x96, 0xf5,
-	0xe0, 0x2c, 0x6c, 0x77, 0xcc, 0xfe, 0x34, 0x37, 0x1e, 0x86, 0x27, 0xe3, 0x51, 0x50, 0xd6, 0x6e,
-	0xe2, 0xa6, 0x37, 0x8e, 0x33, 0xdf, 0xdf, 0x7e, 0x63, 0xc3, 0xbc, 0x26, 0xaa, 0x15, 0x66, 0x35,
-	0x29, 0xae, 0xeb, 0x8c, 0x4c, 0x9d, 0xd7, 0xa8, 0x1b, 0x43, 0x8e, 0xf2, 0x16, 0xe2, 0x8d, 0xb4,
-	0x39, 0x6f, 0x64, 0x6e, 0xd1, 0xdc, 0x48, 0x81, 0x82, 0xf4, 0x77, 0x59, 0xe7, 0xdc, 0xbb, 0x55,
-	0x16, 0x78, 0x0c, 0x3a, 0x0f, 0xde, 0xc8, 0xf3, 0xc5, 0x7f, 0xfb, 0x69, 0x4d, 0x8e, 0x3b, 0x49,
-	0xda, 0xb6, 0xb6, 0xe9, 0x6f, 0x98, 0x5c, 0x79, 0xb7, 0x42, 0xed, 0xa4, 0x08, 0x00, 0x7b, 0x05,
-	0x43, 0xe3, 0x15, 0xda, 0xe4, 0x60, 0x7a, 0x30, 0x1b, 0x5f, 0x3c, 0xcb, 0x76, 0xc1, 0xd9, 0x5d,
-	0x6a, 0xe1, 0x15, 0x16, 0x2d, 0x99, 0xbd, 0x86, 0xb8, 0x31, 0x74, 0x23, 0x2b, 0x34, 0x36, 0x39,
-	0x0c, 0xca, 0x64, 0x5f, 0xb9, 0xec, 0x08, 0xc5, 0x8e, 0x9a, 0xfe, 0x8d, 0x80, 0xdd, 0x77, 0x65,
-	0xe7, 0x30, 0xb2, 0xa8, 0x50, 0x38, 0x32, 0x49, 0x34, 0x8d, 0x66, 0x71, 0xb1, 0x9d, 0xd9, 0x25,
-	0x0c, 0x69, 0x73, 0x98, 0x64, 0x30, 0x8d, 0x66, 0xe3, 0x8b, 0xa7, 0xfd, 0x98, 0x8f, 0x1b, 0xaf,
-	0x02, 0x7f, 0x79, 0x69, 0xf0, 0x1a, 0xb5, 0xb3, 0x45, 0xcb, 0x65, 0x6f, 0x20, 0xe1, 0x4a, 0xd1,
-	0xba, 0x5c, 0x4b, 0xb7, 0x22, 0xef, 0x4a, 0x61, 0xb0, 0xda, 0x84, 0x72, 0x95, 0x0c, 0xa7, 0xd1,
-	0x6c, 0x54, 0x9c, 0x05, 0xfc, 0x6b, 0x0b, 0xbf, 0xdf, 0xa2, 0xec, 0x1d, 0x9c, 0x98, 0x9e, 0x61,
-	0x72, 0x1c, 0xca, 0x3d, 0xde, 0x2f, 0xd7, 0x0b, 0x2d, 0xee, 0x08, 0xd2, 0x4f, 0x70, 0xd2, 0x6f,
-	0xcf, 0x26, 0x30, 0x90, 0x55, 0xd7, 0x6a, 0x20, 0x2b, 0x76, 0x06, 0x47, 0xd2, 0x5a, 0x8f, 0x26,
-	0x14, 0x8a, 0x8b, 0x6e, 0x62, 0x8f, 0x60, 0xf4, 0x63, 0xfd, 0xd3, 0x96, 0xde, 0xc8, 0xe4, 0x20,
-	0x20, 0xc7, 0x9b, 0xf9, 0x8b, 0x91, 0xe9, 0x5b, 0x78, 0x78, 0xaf, 0x29, 0x7b, 0x09, 0x0f, 0x04,
-	0xd7, 0xa4, 0xa5, 0xe0, 0xaa, 0xb4, 0x82, 0x1a, 0xb4, 0x5d, 0xca, 0xe9, 0x76, 0xff, 0x39, 0xac,
-	0xd3, 0x25, 0x9c, 0xee, 0xc9, 0xd9, 0x73, 0x18, 0xdf, 0x7e, 0x95, 0x72, 0xfb, 0x3c, 0xb8, 0x5d,
-	0x2d, 0x2a, 0xf6, 0x04, 0x62, 0xee, 0x2b, 0x89, 0x5a, 0xa0, 0xed, 0x5e, 0xba, 0x5b, 0xcc, 0x5f,
-	0xc0, 0x44, 0xd0, 0x75, 0xef, 0x28, 0xf3, 0xb8, 0x2b, 0xed, 0x68, 0x19, 0xfd, 0x19, 0x1c, 0x7e,
-	0xb8, 0x5a, 0x2e, 0xbe, 0x1d, 0x85, 0x9f, 0xee, 0xf2, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0d,
-	0x41, 0xfd, 0x7a, 0x11, 0x03, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/auth.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 437 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x52, 0xcd, 0x6e, 0xd3, 0x40,
+	0x10, 0x96, 0x9d, 0xa6, 0x8d, 0x27, 0x55, 0x0a, 0x2b, 0x51, 0x99, 0x52, 0x20, 0xf2, 0x29, 0x5c,
+	0x1c, 0xa9, 0x45, 0x08, 0x09, 0x09, 0xd4, 0x22, 0x84, 0x7a, 0x22, 0x32, 0x42, 0x48, 0x5c, 0xac,
+	0x65, 0x3d, 0x38, 0x4b, 0xdd, 0x1d, 0xb3, 0x3f, 0xcd, 0x8d, 0x87, 0xe1, 0xc9, 0x78, 0x94, 0xca,
+	0x6b, 0x37, 0x71, 0xd2, 0xe3, 0x7c, 0x3f, 0x33, 0xf3, 0xcd, 0x2e, 0x3c, 0x29, 0x89, 0xca, 0x0a,
+	0xe7, 0xbc, 0x96, 0x73, 0xee, 0xec, 0x32, 0xad, 0x35, 0x59, 0x62, 0xd0, 0xc2, 0x29, 0xaf, 0xe5,
+	0xc9, 0x69, 0x5f, 0xa2, 0x14, 0x59, 0x6e, 0x25, 0x29, 0xd3, 0x2a, 0x93, 0xbf, 0x30, 0xb9, 0x70,
+	0x76, 0x89, 0xca, 0x4a, 0xe1, 0x09, 0xf6, 0x1a, 0x86, 0xda, 0x55, 0x68, 0xe2, 0xc1, 0x74, 0x30,
+	0x1b, 0x9f, 0xbd, 0x48, 0x37, 0xbd, 0xd2, 0x6d, 0x69, 0xe6, 0x2a, 0xcc, 0x5a, 0x31, 0x7b, 0x03,
+	0x51, 0xad, 0xe9, 0x56, 0x16, 0xa8, 0x4d, 0xbc, 0xe7, 0x9d, 0xf1, 0xae, 0x73, 0xd1, 0x09, 0xb2,
+	0x8d, 0x34, 0xf9, 0x1f, 0x00, 0x7b, 0xd8, 0x95, 0x9d, 0xc0, 0xc8, 0x60, 0x85, 0xc2, 0x92, 0x8e,
+	0x83, 0x69, 0x30, 0x8b, 0xb2, 0x75, 0xcd, 0xce, 0x61, 0x48, 0x4d, 0xd6, 0x38, 0x9c, 0x06, 0xb3,
+	0xf1, 0xd9, 0xf3, 0xfe, 0x98, 0x2f, 0x4d, 0xaf, 0x0c, 0xff, 0x38, 0xa9, 0xf1, 0x06, 0x95, 0x35,
+	0x59, 0xab, 0x65, 0x6f, 0x21, 0xe6, 0x55, 0x45, 0xab, 0x7c, 0x25, 0xed, 0x92, 0x9c, 0xcd, 0x85,
+	0xc6, 0xa2, 0x19, 0xca, 0xab, 0x78, 0x38, 0x0d, 0x66, 0xa3, 0xec, 0xd8, 0xf3, 0xdf, 0x5b, 0xfa,
+	0xe3, 0x9a, 0x65, 0x1f, 0xe0, 0x50, 0xf7, 0x1a, 0xc6, 0x07, 0x3e, 0xdc, 0xb3, 0xdd, 0x70, 0xbd,
+	0xa1, 0xd9, 0x96, 0x21, 0x21, 0x38, 0xec, 0xa7, 0x67, 0x13, 0x08, 0x65, 0xd1, 0xa5, 0x0a, 0x65,
+	0xc1, 0x8e, 0x61, 0x5f, 0x1a, 0xe3, 0x50, 0xfb, 0x40, 0x51, 0xd6, 0x55, 0xec, 0x29, 0x8c, 0x7e,
+	0xaf, 0xae, 0x4d, 0xee, 0xb4, 0x8c, 0x07, 0x9e, 0x39, 0x68, 0xea, 0x6f, 0x5a, 0xb2, 0x53, 0x88,
+	0xb8, 0x2b, 0x24, 0x2a, 0x81, 0xcd, 0xb5, 0x1b, 0x6e, 0x03, 0x24, 0xef, 0xe1, 0xf1, 0x83, 0x3b,
+	0xb0, 0x57, 0xf0, 0x48, 0x70, 0x45, 0x4a, 0x0a, 0x5e, 0xe5, 0x46, 0x50, 0x8d, 0xa6, 0xdb, 0xe1,
+	0x68, 0x8d, 0x7f, 0xf5, 0x70, 0xb2, 0x80, 0xa3, 0x1d, 0x3b, 0x7b, 0x09, 0xe3, 0xfb, 0x37, 0xcb,
+	0xd7, 0xcb, 0xc3, 0x3d, 0x74, 0x55, 0x6c, 0x6f, 0x14, 0xee, 0x6c, 0x74, 0x79, 0x0d, 0x13, 0x41,
+	0x37, 0xbd, 0x93, 0x5d, 0x46, 0xdd, 0x49, 0x2c, 0x2d, 0x82, 0x1f, 0x9f, 0x3a, 0xa2, 0xa4, 0x8a,
+	0xab, 0x32, 0x25, 0x5d, 0xce, 0x4b, 0x54, 0xfe, 0x83, 0xce, 0x5b, 0x8a, 0xd7, 0xd2, 0xf8, 0x1f,
+	0x6c, 0x50, 0xdf, 0x4a, 0x81, 0x82, 0xd4, 0x2f, 0x59, 0xbe, 0xdb, 0xaa, 0xfe, 0x85, 0x7b, 0x9f,
+	0x2f, 0x16, 0x57, 0x3f, 0xf7, 0xbd, 0xf1, 0xfc, 0x2e, 0x00, 0x00, 0xff, 0xff, 0xb9, 0x6d, 0xc6,
+	0x5e, 0x1c, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/auth.proto b/googleapis/api/serviceconfig/auth.proto
deleted file mode 100644
index 8193b36e..00000000
--- a/googleapis/api/serviceconfig/auth.proto
+++ /dev/null
@@ -1,164 +0,0 @@
-// 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 = "AuthProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Authentication` defines the authentication configuration for an API.
-//
-// Example for an API targeted for external use:
-//
-//     name: calendar.googleapis.com
-//     authentication:
-//       rules:
-//       - selector: "*"
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar
-//
-//       - selector: google.calendar.Delegate
-//         oauth:
-//           canonical_scopes: https://www.googleapis.com/auth/calendar.read
-message 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.
-  repeated AuthProvider providers = 4;
-}
-
-// Authentication rules for the service.
-//
-// By default, if a method has any authentication requirements, every request
-// must include a valid credential matching one of the requirements.
-// It's an error to include more than one kind of credential in a single
-// request.
-//
-// If a method doesn't have any auth requirements, request credentials will be
-// ignored.
-message AuthenticationRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // The requirements for OAuth credentials.
-  OAuthRequirements oauth = 2;
-
-  // 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.
-  repeated AuthRequirement requirements = 7;
-}
-
-// Configuration for an anthentication provider, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
-message AuthProvider {
-  // The unique identifier of the auth provider. It will be referred to by
-  // `AuthRequirement.provider_id`.
-  //
-  // Example: "bookstore_auth".
-  string id = 1;
-
-  // Identifies the principal that issued the JWT. See
-  // https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.1
-  // Usually a URL or an email address.
-  //
-  // Example: https://securetoken.google.com
-  // Example: 1234567-compute@developer.gserviceaccount.com
-  string issuer = 2;
-
-  // URL of the provider's public key set to validate signature of the JWT. See
-  // [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata).
-  // Optional if the key set document:
-  //  - can be retrieved from
-  //    [OpenID Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html
-  //    of the issuer.
-  //  - can be inferred from the email domain of the issuer (e.g. a Google service account).
-  //
-  // Example: https://www.googleapis.com/oauth2/v1/certs
-  string jwks_uri = 3;
-}
-
-// OAuth scopes are a way to define data and permissions on data. For example,
-// there are scopes defined for "Read-only access to Google Calendar" and
-// "Access to Cloud Platform". Users can consent to a scope for an application,
-// giving it permission to access that data on their behalf.
-//
-// OAuth scope specifications should be fairly coarse grained; a user will need
-// to see and understand the text description of what your scope means.
-//
-// In most cases: use one or at most two OAuth scopes for an entire family of
-// products. If your product has multiple APIs, you should probably be sharing
-// the OAuth scope across all of those APIs.
-//
-// When you need finer grained OAuth consent screens: talk with your product
-// management about how developers will use them in practice.
-//
-// 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.
-  //
-  // Example:
-  //
-  //      canonical_scopes: https://www.googleapis.com/auth/calendar,
-  //                        https://www.googleapis.com/auth/calendar.read
-  string canonical_scopes = 1;
-}
-
-// User-defined authentication requirements, including support for
-// [JSON Web Token (JWT)](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32).
-message AuthRequirement {
-  // [id][google.api.AuthProvider.id] from authentication provider.
-  //
-  // Example:
-  //
-  //     provider_id: bookstore_auth
-  string provider_id = 1;
-
-  // The list of JWT
-  // [audiences](https://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.1.3).
-  // that are allowed to access. A JWT containing any of these audiences will
-  // be accepted. When this setting is absent, only JWTs with audience
-  // "https://[Service_name][google.api.Service.name]/[API_name][google.protobuf.Api.name]"
-  // will be accepted. For example, if no audiences are in the setting,
-  // LibraryService API will only accept JWTs with the following audience
-  // "https://library-example.googleapis.com/google.example.library.v1.LibraryService".
-  //
-  // Example:
-  //
-  //     audiences: bookstore_android.apps.googleusercontent.com,
-  //                bookstore_web.apps.googleusercontent.com
-  string audiences = 2;
-}
diff --git a/googleapis/api/serviceconfig/backend.pb.go b/googleapis/api/serviceconfig/backend.pb.go
index 3bd787af..50543531 100644
--- a/googleapis/api/serviceconfig/backend.pb.go
+++ b/googleapis/api/serviceconfig/backend.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto
+// source: google/api/backend.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -24,7 +24,7 @@ type Backend struct {
 func (m *Backend) Reset()                    { *m = Backend{} }
 func (m *Backend) String() string            { return proto.CompactTextString(m) }
 func (*Backend) ProtoMessage()               {}
-func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*Backend) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
 func (m *Backend) GetRules() []*BackendRule {
 	if m != nil {
@@ -49,31 +49,51 @@ type BackendRule struct {
 func (m *BackendRule) Reset()                    { *m = BackendRule{} }
 func (m *BackendRule) String() string            { return proto.CompactTextString(m) }
 func (*BackendRule) ProtoMessage()               {}
-func (*BackendRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*BackendRule) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
+
+func (m *BackendRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *BackendRule) GetAddress() string {
+	if m != nil {
+		return m.Address
+	}
+	return ""
+}
+
+func (m *BackendRule) GetDeadline() float64 {
+	if m != nil {
+		return m.Deadline
+	}
+	return 0
+}
 
 func init() {
 	proto.RegisterType((*Backend)(nil), "google.api.Backend")
 	proto.RegisterType((*BackendRule)(nil), "google.api.BackendRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/backend.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/api/backend.proto", fileDescriptor1) }
 
-var fileDescriptor2 = []byte{
-	// 219 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xc1, 0x4e, 0x03, 0x21,
-	0x10, 0x86, 0x43, 0xab, 0x56, 0xa7, 0xc6, 0x03, 0x17, 0x89, 0xa7, 0x4d, 0x2f, 0xee, 0x45, 0x48,
-	0xf4, 0xe2, 0xd5, 0x4d, 0x8c, 0xf1, 0xb6, 0xe1, 0x05, 0x0c, 0x85, 0x91, 0x10, 0x91, 0x21, 0xd0,
-	0xfa, 0x40, 0x3e, 0xa9, 0xe9, 0xee, 0xda, 0xee, 0xf1, 0xe7, 0xfb, 0x98, 0x99, 0x1f, 0x5e, 0x3d,
-	0x91, 0x8f, 0x28, 0x3d, 0x45, 0x93, 0xbc, 0xa4, 0xe2, 0x95, 0xc7, 0x94, 0x0b, 0xed, 0x48, 0x8d,
-	0xc8, 0xe4, 0x50, 0x95, 0xc9, 0x41, 0x55, 0x2c, 0x3f, 0xc1, 0xa2, 0xa5, 0xf4, 0x19, 0xbc, 0xda,
-	0x1a, 0xfb, 0x85, 0xc9, 0xc9, 0x41, 0xe5, 0x30, 0x8d, 0x31, 0x39, 0x6c, 0x9e, 0x61, 0xd5, 0x8d,
-	0x90, 0x3f, 0xc0, 0x79, 0xd9, 0x47, 0xac, 0x82, 0x35, 0xcb, 0x76, 0xfd, 0x78, 0x2b, 0x4f, 0x9a,
-	0x9c, 0x1c, 0xbd, 0x8f, 0xa8, 0x47, 0x6b, 0xf3, 0x01, 0xeb, 0xd9, 0x2b, 0xbf, 0x83, 0xcb, 0x8a,
-	0x11, 0xed, 0x8e, 0x8a, 0x60, 0x0d, 0x6b, 0xaf, 0xf4, 0x31, 0x73, 0x01, 0x2b, 0xe3, 0x5c, 0xc1,
-	0x5a, 0xc5, 0x62, 0x40, 0xff, 0xf1, 0xf0, 0xcb, 0xa1, 0x71, 0x31, 0x24, 0x14, 0xcb, 0x86, 0xb5,
-	0x4c, 0x1f, 0x73, 0x77, 0x0f, 0x37, 0x96, 0xbe, 0x67, 0x57, 0x74, 0xd7, 0xd3, 0xc2, 0xfe, 0x50,
-	0xa3, 0x67, 0xbf, 0x8b, 0xb3, 0xb7, 0x97, 0xfe, 0x7d, 0x7b, 0x31, 0xd4, 0x7a, 0xfa, 0x0b, 0x00,
-	0x00, 0xff, 0xff, 0x1b, 0xf2, 0x31, 0x3a, 0x1f, 0x01, 0x00, 0x00,
+var fileDescriptor1 = []byte{
+	// 227 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4f, 0x03, 0x21,
+	0x18, 0x86, 0x43, 0xab, 0x56, 0xbf, 0x1a, 0x87, 0x5b, 0x24, 0x4e, 0x97, 0x4e, 0xb7, 0xc8, 0x25,
+	0xba, 0x98, 0x38, 0x79, 0x89, 0x31, 0x6e, 0x17, 0x46, 0x17, 0x43, 0xe1, 0x93, 0x10, 0x91, 0x8f,
+	0x40, 0xeb, 0x0f, 0xf2, 0x97, 0x9a, 0xc2, 0x59, 0xdb, 0xf1, 0xe1, 0x79, 0xdf, 0xc0, 0x0b, 0x70,
+	0x4b, 0x64, 0x3d, 0xf6, 0x2a, 0xba, 0x7e, 0xad, 0xf4, 0x27, 0x06, 0x23, 0x62, 0xa2, 0x0d, 0x35,
+	0x50, 0x8d, 0x50, 0xd1, 0xad, 0x1e, 0x60, 0x31, 0x54, 0xd9, 0xdc, 0xc2, 0x69, 0xda, 0x7a, 0xcc,
+	0x9c, 0xb5, 0xf3, 0x6e, 0x79, 0x77, 0x2d, 0xfe, 0x63, 0x62, 0xca, 0xc8, 0xad, 0x47, 0x59, 0x53,
+	0xab, 0x77, 0x58, 0x1e, 0x9c, 0x36, 0x37, 0x70, 0x9e, 0xd1, 0xa3, 0xde, 0x50, 0xe2, 0xac, 0x65,
+	0xdd, 0x85, 0xdc, 0x73, 0xc3, 0x61, 0xa1, 0x8c, 0x49, 0x98, 0x33, 0x9f, 0x15, 0xf5, 0x87, 0xbb,
+	0x96, 0x41, 0x65, 0xbc, 0x0b, 0xc8, 0xe7, 0x2d, 0xeb, 0x98, 0xdc, 0xf3, 0x10, 0xe0, 0x4a, 0xd3,
+	0xd7, 0xc1, 0x2b, 0x86, 0xcb, 0xe9, 0xc2, 0x71, 0x37, 0x63, 0x64, 0x6f, 0xcf, 0x93, 0xb3, 0xe4,
+	0x55, 0xb0, 0x82, 0x92, 0xed, 0x2d, 0x86, 0x32, 0xb2, 0xaf, 0x4a, 0x45, 0x97, 0xcb, 0x0f, 0x64,
+	0x4c, 0xdf, 0x4e, 0xa3, 0xa6, 0xf0, 0xe1, 0xec, 0xe3, 0x11, 0xfd, 0xcc, 0x4e, 0x5e, 0x9e, 0xc6,
+	0xd7, 0xf5, 0x59, 0x29, 0xde, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x7e, 0x93, 0x9e, 0x00, 0x39,
+	0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/backend.proto b/googleapis/api/serviceconfig/backend.proto
deleted file mode 100644
index 3c12c8c3..00000000
--- a/googleapis/api/serviceconfig/backend.proto
+++ /dev/null
@@ -1,46 +0,0 @@
-// 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 = "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 API backend rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated BackendRule rules = 1;
-}
-
-// A backend rule provides configuration for an individual API element.
-message BackendRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  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
-  // default depends on the deployment context.
-  double deadline = 3;
-}
diff --git a/googleapis/api/serviceconfig/billing.pb.go b/googleapis/api/serviceconfig/billing.pb.go
index b8e75634..2c43eaf4 100644
--- a/googleapis/api/serviceconfig/billing.pb.go
+++ b/googleapis/api/serviceconfig/billing.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto
+// source: google/api/billing.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/api/metric"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -62,7 +63,14 @@ type Billing struct {
 func (m *Billing) Reset()                    { *m = Billing{} }
 func (m *Billing) String() string            { return proto.CompactTextString(m) }
 func (*Billing) ProtoMessage()               {}
-func (*Billing) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*Billing) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+
+func (m *Billing) GetMetrics() []string {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
+}
 
 func (m *Billing) GetRules() []*BillingStatusRule {
 	if m != nil {
@@ -99,33 +107,45 @@ type BillingStatusRule struct {
 func (m *BillingStatusRule) Reset()                    { *m = BillingStatusRule{} }
 func (m *BillingStatusRule) String() string            { return proto.CompactTextString(m) }
 func (*BillingStatusRule) ProtoMessage()               {}
-func (*BillingStatusRule) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+func (*BillingStatusRule) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+
+func (m *BillingStatusRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *BillingStatusRule) GetAllowedStatuses() []string {
+	if m != nil {
+		return m.AllowedStatuses
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Billing)(nil), "google.api.Billing")
 	proto.RegisterType((*BillingStatusRule)(nil), "google.api.BillingStatusRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/billing.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/api/billing.proto", fileDescriptor2) }
 
-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,
+var fileDescriptor2 = []byte{
+	// 253 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0x4f, 0x4b, 0x03, 0x31,
+	0x10, 0xc5, 0x59, 0x4b, 0xad, 0x8d, 0xe2, 0x9f, 0xbd, 0x18, 0x16, 0x85, 0xa5, 0xa7, 0xf5, 0x92,
+	0x05, 0x7b, 0xf4, 0xb6, 0xe0, 0xbd, 0x6c, 0x2f, 0xd2, 0x8b, 0xa4, 0x71, 0x0c, 0x81, 0x34, 0xb3,
+	0x64, 0xb2, 0xfa, 0xf5, 0xc5, 0x24, 0xea, 0x4a, 0x8f, 0x6f, 0x7e, 0xef, 0x65, 0xe6, 0x85, 0x71,
+	0x8d, 0xa8, 0x2d, 0xb4, 0x72, 0x30, 0xed, 0xde, 0x58, 0x6b, 0x9c, 0x16, 0x83, 0xc7, 0x80, 0x25,
+	0x4b, 0x44, 0xc8, 0xc1, 0x54, 0x77, 0x13, 0x97, 0x74, 0x0e, 0x83, 0x0c, 0x06, 0x1d, 0x25, 0x67,
+	0x75, 0x3b, 0xa1, 0x07, 0x08, 0xde, 0xa8, 0x04, 0x56, 0x2f, 0x6c, 0xd1, 0xa5, 0x37, 0x4b, 0xce,
+	0x16, 0x09, 0x11, 0x2f, 0xea, 0x59, 0xb3, 0xec, 0x7f, 0x64, 0xb9, 0x66, 0x73, 0x3f, 0x5a, 0x20,
+	0x3e, 0xaf, 0x67, 0xcd, 0xf9, 0xe3, 0xbd, 0xf8, 0xdb, 0x2b, 0x72, 0x7a, 0x1b, 0x64, 0x18, 0xa9,
+	0x1f, 0x2d, 0xf4, 0xc9, 0xbb, 0xda, 0xb1, 0x9b, 0x23, 0x56, 0x56, 0xec, 0x8c, 0xc0, 0x82, 0x0a,
+	0xe8, 0x79, 0x51, 0x17, 0xcd, 0xb2, 0xff, 0xd5, 0xe5, 0x03, 0xbb, 0x96, 0xd6, 0xe2, 0x27, 0xbc,
+	0xbd, 0x52, 0x4c, 0x00, 0xf1, 0x93, 0x78, 0xc8, 0x55, 0x9e, 0x6f, 0xf3, 0xb8, 0xd3, 0xec, 0x52,
+	0xe1, 0x61, 0x72, 0x46, 0x77, 0x91, 0x77, 0x6d, 0xbe, 0x5b, 0x6d, 0x8a, 0xdd, 0x73, 0x66, 0x1a,
+	0xad, 0x74, 0x5a, 0xa0, 0xd7, 0xad, 0x06, 0x17, 0x3b, 0xb7, 0x09, 0xc9, 0xc1, 0x50, 0xfc, 0x0f,
+	0x02, 0xff, 0x61, 0x14, 0x28, 0x74, 0xef, 0x46, 0x3f, 0xfd, 0x53, 0xfb, 0xd3, 0x98, 0x58, 0x7f,
+	0x05, 0x00, 0x00, 0xff, 0xff, 0xd1, 0x90, 0x2d, 0x32, 0x84, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/billing.proto b/googleapis/api/serviceconfig/billing.proto
deleted file mode 100644
index f6867205..00000000
--- a/googleapis/api/serviceconfig/billing.proto
+++ /dev/null
@@ -1,97 +0,0 @@
-// 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
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BillingProto";
-option java_package = "com.google.api";
-
-
-// Billing related configuration of the service.
-//
-// The following example shows how to configure metrics for billing:
-//
-//     metrics:
-//     - name: library.googleapis.com/read_calls
-//       metric_kind: DELTA
-//       value_type: INT64
-//     - name: library.googleapis.com/write_calls
-//       metric_kind: DELTA
-//       value_type: INT64
-//     billing:
-//       metrics:
-//       - library.googleapis.com/read_calls
-//       - library.googleapis.com/write_calls
-//
-// The next example shows how to enable billing status check and customize the
-// check behavior. It makes sure billing status check is included in the `Check`
-// method of [Service Control API](https://cloud.google.com/service-control/).
-// In the example, "google.storage.Get" method can be served when the billing
-// status is either `current` or `delinquent`, while "google.storage.Write"
-// method can only be served when the billing status is `current`:
-//
-//     billing:
-//       rules:
-//       - selector: google.storage.Get
-//         allowed_statuses:
-//         - current
-//         - delinquent
-//       - selector: google.storage.Write
-//         allowed_statuses: current
-//
-// Mostly services should only allow `current` status when serving requests.
-// In addition, services can choose to allow both `current` and `delinquent`
-// statuses when serving read-only requests to resources. If there's no
-// matching selector for operation, no billing status check will be performed.
-//
-message Billing {
-  // Names of the metrics to report to billing. Each name must
-  // be defined in [Service.metrics][google.api.Service.metrics] section.
-  repeated string metrics = 1;
-
-  // A list of billing status rules for configuring billing status check.
-  repeated BillingStatusRule rules = 5;
-}
-
-// Defines the billing status requirements for operations.
-//
-// When used with
-// [Service Control API](https://cloud.google.com/service-control/), the
-// following statuses are supported:
-//
-// - **current**: the associated billing account is up to date and capable of
-//                paying for resource usages.
-// - **delinquent**: the associated billing account has a correctable problem,
-//                   such as late payment.
-//
-// Mostly services should only allow `current` status when serving requests.
-// In addition, services can choose to allow both `current` and `delinquent`
-// statuses when serving read-only requests to resources. If the list of
-// allowed_statuses is empty, it means no billing requirement.
-//
-message BillingStatusRule {
-  // Selects the operation names to which this rule applies.
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Allowed billing statuses. The billing status check passes if the actual
-  // billing status matches any of the provided values here.
-  repeated string allowed_statuses = 2;
-}
diff --git a/googleapis/api/serviceconfig/consumer.pb.go b/googleapis/api/serviceconfig/consumer.pb.go
index 97779e86..00f94ca9 100644
--- a/googleapis/api/serviceconfig/consumer.pb.go
+++ b/googleapis/api/serviceconfig/consumer.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto
+// source: google/api/consumer.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -47,7 +47,7 @@ var Property_PropertyType_value = map[string]int32{
 func (x Property_PropertyType) String() string {
 	return proto.EnumName(Property_PropertyType_name, int32(x))
 }
-func (Property_PropertyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 0} }
+func (Property_PropertyType) EnumDescriptor() ([]byte, []int) { return fileDescriptor3, []int{1, 0} }
 
 // A descriptor for defining project properties for a service. One service may
 // have many consumer projects, and the service may want to behave differently
@@ -73,7 +73,7 @@ type ProjectProperties struct {
 func (m *ProjectProperties) Reset()                    { *m = ProjectProperties{} }
 func (m *ProjectProperties) String() string            { return proto.CompactTextString(m) }
 func (*ProjectProperties) ProtoMessage()               {}
-func (*ProjectProperties) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*ProjectProperties) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
 func (m *ProjectProperties) GetProperties() []*Property {
 	if m != nil {
@@ -104,7 +104,28 @@ type Property struct {
 func (m *Property) Reset()                    { *m = Property{} }
 func (m *Property) String() string            { return proto.CompactTextString(m) }
 func (*Property) ProtoMessage()               {}
-func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
+
+func (m *Property) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Property) GetType() Property_PropertyType {
+	if m != nil {
+		return m.Type
+	}
+	return Property_UNSPECIFIED
+}
+
+func (m *Property) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*ProjectProperties)(nil), "google.api.ProjectProperties")
@@ -112,29 +133,27 @@ func init() {
 	proto.RegisterEnum("google.api.Property_PropertyType", Property_PropertyType_name, Property_PropertyType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/consumer.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/api/consumer.proto", fileDescriptor3) }
 
-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,
+var fileDescriptor3 = []byte{
+	// 299 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0x4f, 0x4f, 0xf2, 0x40,
+	0x10, 0xc6, 0xdf, 0x85, 0xbe, 0x04, 0x06, 0xc5, 0xba, 0xf1, 0x50, 0x6f, 0x95, 0x13, 0xa7, 0x36,
+	0x41, 0xf4, 0xe2, 0xad, 0x50, 0x4d, 0x13, 0x02, 0x4d, 0x81, 0x8b, 0xb7, 0x5a, 0xc7, 0x75, 0x0d,
+	0xec, 0x6c, 0xb6, 0xd5, 0x84, 0x0f, 0xe8, 0xf7, 0x32, 0x2c, 0x88, 0x35, 0xf1, 0xf6, 0xcc, 0x3e,
+	0x7f, 0xb2, 0xf9, 0xc1, 0xa5, 0x20, 0x12, 0x6b, 0x0c, 0x73, 0x2d, 0xc3, 0x82, 0x54, 0xf9, 0xbe,
+	0x41, 0x13, 0x68, 0x43, 0x15, 0x71, 0xd8, 0x5b, 0x41, 0xae, 0x65, 0x3f, 0x81, 0xf3, 0xd4, 0xd0,
+	0x1b, 0x16, 0x55, 0x6a, 0x48, 0xa3, 0xa9, 0x24, 0x96, 0x7c, 0x04, 0xa0, 0x8f, 0x97, 0xc7, 0xfc,
+	0xe6, 0xa0, 0x3b, 0xbc, 0x08, 0x7e, 0x5a, 0xc1, 0x21, 0xbb, 0xcd, 0x6a, 0xb9, 0xfe, 0x27, 0x83,
+	0xf6, 0xb7, 0xc1, 0x39, 0x38, 0x2a, 0xdf, 0xa0, 0xc7, 0x7c, 0x36, 0xe8, 0x64, 0x56, 0xf3, 0x1b,
+	0x70, 0xaa, 0xad, 0x46, 0xaf, 0xe1, 0xb3, 0x41, 0x6f, 0x78, 0xf5, 0xd7, 0xe0, 0x51, 0x2c, 0xb7,
+	0x1a, 0x33, 0x1b, 0xe7, 0x3e, 0x74, 0x9f, 0xb1, 0x2c, 0x8c, 0xd4, 0x95, 0x24, 0xe5, 0x35, 0xed,
+	0x62, 0xfd, 0xa9, 0x3f, 0x85, 0x93, 0x7a, 0x8f, 0x9f, 0x41, 0x77, 0x35, 0x5b, 0xa4, 0xf1, 0x38,
+	0xb9, 0x4f, 0xe2, 0x89, 0xfb, 0x8f, 0x77, 0xe0, 0x7f, 0x32, 0x5b, 0xde, 0x8e, 0x5c, 0xc6, 0xdb,
+	0xe0, 0x44, 0xf3, 0xf9, 0xd4, 0x6d, 0x70, 0x80, 0xd6, 0x62, 0x99, 0x25, 0xb3, 0x07, 0xb7, 0xb9,
+	0xd3, 0x93, 0xf9, 0x2a, 0x9a, 0xc6, 0xae, 0x13, 0xbd, 0x42, 0xaf, 0xa0, 0x4d, 0xed, 0x77, 0xd1,
+	0xe9, 0xf8, 0x00, 0x30, 0xdd, 0xf1, 0x4b, 0xd9, 0x63, 0x7c, 0x30, 0x05, 0xad, 0x73, 0x25, 0x02,
+	0x32, 0x22, 0x14, 0xa8, 0x2c, 0xdd, 0x70, 0x6f, 0xe5, 0x5a, 0x96, 0x96, 0x7d, 0x89, 0xe6, 0x43,
+	0x16, 0x58, 0x90, 0x7a, 0x91, 0xe2, 0xee, 0xd7, 0xf5, 0xd4, 0xb2, 0x8d, 0xeb, 0xaf, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xb7, 0xa4, 0x04, 0x2c, 0xac, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/consumer.proto b/googleapis/api/serviceconfig/consumer.proto
deleted file mode 100644
index 88879348..00000000
--- a/googleapis/api/serviceconfig/consumer.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// 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 = "ConsumerProto";
-option java_package = "com.google.api";
-
-
-// A descriptor for defining project properties for a service. One service may
-// have many consumer projects, and the service may want to behave differently
-// depending on some properties on the project. For example, a project may be
-// associated with a school, or a business, or a government agency, a business
-// type property on the project may affect how a service responds to the client.
-// This descriptor defines which properties are allowed to be set on a project.
-//
-// Example:
-//
-//    project_properties:
-//      properties:
-//      - name: NO_WATERMARK
-//        type: BOOL
-//        description: Allows usage of the API without watermarks.
-//      - name: EXTENDED_TILE_CACHE_PERIOD
-//        type: INT64
-message ProjectProperties {
-  // List of per consumer project-specific properties.
-  repeated Property properties = 1;
-}
-
-// Defines project properties.
-//
-// API services can define properties that can be assigned to consumer projects
-// so that backends can perform response customization without having to make
-// additional calls or maintain additional storage. For example, Maps API
-// defines properties that controls map tile cache period, or whether to embed a
-// watermark in a result.
-//
-// These values can be set via API producer console. Only API providers can
-// define and set these properties.
-message Property {
-  // Supported data type of the property values
-  enum PropertyType {
-    // The type is unspecified, and will result in an error.
-    UNSPECIFIED = 0;
-
-    // The type is `int64`.
-    INT64 = 1;
-
-    // The type is `bool`.
-    BOOL = 2;
-
-    // The type is `string`.
-    STRING = 3;
-
-    // The type is 'double'.
-    DOUBLE = 4;
-  }
-
-  // The name of the property (a.k.a key).
-  string name = 1;
-
-  // The type of this property.
-  PropertyType type = 2;
-
-  // The description of the property
-  string description = 3;
-}
diff --git a/googleapis/api/serviceconfig/context.pb.go b/googleapis/api/serviceconfig/context.pb.go
index b4c39af9..692a037a 100644
--- a/googleapis/api/serviceconfig/context.pb.go
+++ b/googleapis/api/serviceconfig/context.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/context.proto
+// source: google/api/context.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -40,7 +40,7 @@ type Context struct {
 func (m *Context) Reset()                    { *m = Context{} }
 func (m *Context) String() string            { return proto.CompactTextString(m) }
 func (*Context) ProtoMessage()               {}
-func (*Context) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+func (*Context) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
 func (m *Context) GetRules() []*ContextRule {
 	if m != nil {
@@ -65,31 +65,51 @@ type ContextRule struct {
 func (m *ContextRule) Reset()                    { *m = ContextRule{} }
 func (m *ContextRule) String() string            { return proto.CompactTextString(m) }
 func (*ContextRule) ProtoMessage()               {}
-func (*ContextRule) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
+func (*ContextRule) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+
+func (m *ContextRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *ContextRule) GetRequested() []string {
+	if m != nil {
+		return m.Requested
+	}
+	return nil
+}
+
+func (m *ContextRule) GetProvided() []string {
+	if m != nil {
+		return m.Provided
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Context)(nil), "google.api.Context")
 	proto.RegisterType((*ContextRule)(nil), "google.api.ContextRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/context.proto", fileDescriptor5)
-}
+func init() { proto.RegisterFile("google/api/context.proto", fileDescriptor4) }
 
-var fileDescriptor5 = []byte{
-	// 222 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x4c, 0x8f, 0xbd, 0x4e, 0xc3, 0x30,
-	0x14, 0x85, 0x95, 0x86, 0xbf, 0xdc, 0x22, 0x86, 0x2c, 0x58, 0x88, 0x21, 0xea, 0x42, 0x16, 0x6c,
-	0x09, 0x16, 0x56, 0x8a, 0x10, 0x62, 0x8b, 0xfc, 0x06, 0xc6, 0xb9, 0x58, 0x96, 0x8c, 0xaf, 0xb1,
-	0x9d, 0x8a, 0xe7, 0xe1, 0x49, 0xab, 0x26, 0x51, 0x9b, 0xf1, 0x9c, 0xf3, 0xdd, 0x9f, 0x03, 0xef,
-	0x86, 0xc8, 0x38, 0xe4, 0x86, 0x9c, 0xf2, 0x86, 0x53, 0x34, 0xc2, 0xa0, 0x0f, 0x91, 0x32, 0x89,
-	0x29, 0x52, 0xc1, 0x26, 0xa1, 0x82, 0x15, 0x09, 0xe3, 0xce, 0x6a, 0xd4, 0xe4, 0xbf, 0xad, 0x11,
-	0x9a, 0x7c, 0xc6, 0xbf, 0xcc, 0x47, 0xb4, 0x86, 0x79, 0x8d, 0x0a, 0x76, 0xf3, 0x02, 0x97, 0x6f,
-	0x53, 0x58, 0x3f, 0xc2, 0x79, 0x1c, 0x1c, 0x26, 0x56, 0x34, 0x65, 0xbb, 0x7e, 0xba, 0xe5, 0x27,
-	0x8c, 0xcf, 0x8c, 0x1c, 0x1c, 0xca, 0x89, 0xda, 0x68, 0x58, 0x2f, 0xdc, 0xfa, 0x0e, 0xae, 0x12,
-	0x3a, 0xd4, 0x99, 0x22, 0x2b, 0x9a, 0xa2, 0xad, 0xe4, 0x51, 0xd7, 0xf7, 0x50, 0x45, 0xfc, 0x1d,
-	0x30, 0x65, 0xec, 0xd9, 0xaa, 0x29, 0xdb, 0x4a, 0x9e, 0x8c, 0xc3, 0x64, 0x88, 0xb4, 0xb3, 0x3d,
-	0xf6, 0xac, 0x1c, 0xc3, 0xa3, 0xde, 0x3e, 0xc0, 0x8d, 0xa6, 0x9f, 0xc5, 0x27, 0xdb, 0xeb, 0xf9,
-	0x68, 0x77, 0xa8, 0xd2, 0x15, 0xff, 0xab, 0xb3, 0x8f, 0xd7, 0xee, 0xf3, 0xeb, 0x62, 0xac, 0xf6,
-	0xbc, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xe7, 0x43, 0x17, 0x5f, 0x23, 0x01, 0x00, 0x00,
+var fileDescriptor4 = []byte{
+	// 231 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x4f, 0x4b, 0xc4, 0x30,
+	0x14, 0xc4, 0xe9, 0xd6, 0x7f, 0x7d, 0x2b, 0x1e, 0x7a, 0x31, 0x88, 0x87, 0xb2, 0xa7, 0x5e, 0x4c,
+	0x41, 0x2f, 0x82, 0x27, 0x57, 0x44, 0xbc, 0x95, 0x1e, 0xbd, 0xc5, 0xf4, 0x19, 0x02, 0x31, 0x2f,
+	0x26, 0xe9, 0xe2, 0xe7, 0xf1, 0x93, 0xca, 0x26, 0x65, 0xff, 0x1c, 0x67, 0x7e, 0x33, 0x24, 0xf3,
+	0x80, 0x29, 0x22, 0x65, 0xb0, 0x13, 0x4e, 0x77, 0x92, 0x6c, 0xc4, 0xdf, 0xc8, 0x9d, 0xa7, 0x48,
+	0x35, 0x64, 0xc2, 0x85, 0xd3, 0xab, 0x47, 0x38, 0x7f, 0xc9, 0xb0, 0xbe, 0x83, 0x53, 0x3f, 0x19,
+	0x0c, 0xac, 0x68, 0xca, 0x76, 0x79, 0x7f, 0xcd, 0xf7, 0x31, 0x3e, 0x67, 0x86, 0xc9, 0xe0, 0x90,
+	0x53, 0x2b, 0x09, 0xcb, 0x03, 0xb7, 0xbe, 0x81, 0x8b, 0x80, 0x06, 0x65, 0x24, 0xcf, 0x8a, 0xa6,
+	0x68, 0xab, 0x61, 0xa7, 0xeb, 0x5b, 0xa8, 0x3c, 0xfe, 0x4c, 0x18, 0x22, 0x8e, 0x6c, 0xd1, 0x94,
+	0x6d, 0x35, 0xec, 0x8d, 0x6d, 0xd3, 0x79, 0xda, 0xe8, 0x11, 0x47, 0x56, 0x26, 0xb8, 0xd3, 0x6b,
+	0x0b, 0x57, 0x92, 0xbe, 0x0f, 0x7e, 0xb2, 0xbe, 0x9c, 0x1f, 0xed, 0xb7, 0x53, 0xfa, 0xe2, 0xe3,
+	0x75, 0x66, 0x8a, 0x8c, 0xb0, 0x8a, 0x93, 0x57, 0x9d, 0x42, 0x9b, 0x86, 0x76, 0x19, 0x09, 0xa7,
+	0x43, 0xba, 0x42, 0x40, 0xbf, 0xd1, 0x12, 0x25, 0xd9, 0x2f, 0xad, 0x9e, 0x8e, 0xd4, 0xdf, 0xe2,
+	0xe4, 0xed, 0xb9, 0x7f, 0xff, 0x3c, 0x4b, 0xc5, 0x87, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb5,
+	0x18, 0x98, 0x7a, 0x3d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/context.proto b/googleapis/api/serviceconfig/context.proto
deleted file mode 100644
index 427524f6..00000000
--- a/googleapis/api/serviceconfig/context.proto
+++ /dev/null
@@ -1,62 +0,0 @@
-// 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 = "ContextProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Context` defines which contexts an API requests.
-//
-// Example:
-//
-//     context:
-//       rules:
-//       - selector: "*"
-//         requested:
-//         - google.rpc.context.ProjectContext
-//         - google.rpc.context.OriginContext
-//
-// The above specifies that all methods in the API request
-// `google.rpc.context.ProjectContext` and
-// `google.rpc.context.OriginContext`.
-//
-// Available context types are defined in package
-// `google.rpc.context`.
-message Context {
-  // 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;
-}
-
-// A context rule provides information about the context for an individual API
-// element.
-message ContextRule {
-  // Selects the methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // A list of full type names of requested contexts.
-  repeated string requested = 2;
-
-  // A list of full type names of provided contexts.
-  repeated string provided = 3;
-}
diff --git a/googleapis/api/serviceconfig/control.pb.go b/googleapis/api/serviceconfig/control.pb.go
index cc905cb3..36c6c81e 100644
--- a/googleapis/api/serviceconfig/control.pb.go
+++ b/googleapis/api/serviceconfig/control.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/control.proto
+// source: google/api/control.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -25,26 +25,32 @@ type Control struct {
 func (m *Control) Reset()                    { *m = Control{} }
 func (m *Control) String() string            { return proto.CompactTextString(m) }
 func (*Control) ProtoMessage()               {}
-func (*Control) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
+func (*Control) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*Control)(nil), "google.api.Control")
+func (m *Control) GetEnvironment() string {
+	if m != nil {
+		return m.Environment
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/control.proto", fileDescriptor6)
+	proto.RegisterType((*Control)(nil), "google.api.Control")
 }
 
-var fileDescriptor6 = []byte{
-	// 157 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, 0x27, 0x16,
-	0x64, 0xea, 0x17, 0xa7, 0x16, 0x95, 0x65, 0x26, 0xa7, 0x26, 0xe7, 0xe7, 0xa5, 0x65, 0xa6, 0xeb,
-	0x27, 0xe7, 0xe7, 0x95, 0x14, 0xe5, 0xe7, 0xe8, 0x81, 0x95, 0x0a, 0x71, 0x41, 0x8d, 0x49, 0x2c,
-	0xc8, 0x54, 0xd2, 0xe6, 0x62, 0x77, 0x86, 0x48, 0x0a, 0x29, 0x70, 0x71, 0xa7, 0xe6, 0x95, 0x65,
-	0x16, 0xe5, 0xe7, 0xe5, 0xa6, 0xe6, 0x95, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x21, 0x0b,
-	0x39, 0xa9, 0x73, 0xf1, 0x25, 0xe7, 0xe7, 0xea, 0x21, 0xb4, 0x3b, 0xf1, 0x40, 0x35, 0x07, 0x80,
-	0x0c, 0x0e, 0x60, 0x5c, 0xc4, 0xc4, 0xe2, 0xee, 0x18, 0xe0, 0x99, 0xc4, 0x06, 0xb6, 0xc8, 0x18,
-	0x10, 0x00, 0x00, 0xff, 0xff, 0x77, 0x67, 0xbb, 0x6f, 0xb1, 0x00, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/control.proto", fileDescriptor5) }
+
+var fileDescriptor5 = []byte{
+	// 165 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x48, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x4f, 0x2c, 0xc8, 0xd4, 0x4f, 0xce, 0xcf, 0x2b, 0x29, 0xca, 0xcf, 0xd1, 0x2b,
+	0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0xc8, 0xe8, 0x25, 0x16, 0x64, 0x2a, 0x69, 0x73, 0xb1,
+	0x3b, 0x43, 0x24, 0x85, 0x14, 0xb8, 0xb8, 0x53, 0xf3, 0xca, 0x32, 0x8b, 0xf2, 0xf3, 0x72, 0x53,
+	0xf3, 0x4a, 0x24, 0x18, 0x15, 0x18, 0x35, 0x38, 0x83, 0x90, 0x85, 0x9c, 0xf2, 0xb8, 0xf8, 0x92,
+	0xf3, 0x73, 0xf5, 0x10, 0xda, 0x9d, 0x78, 0xa0, 0x9a, 0x03, 0x40, 0x06, 0x07, 0x30, 0x46, 0xb9,
+	0x42, 0xe5, 0xd2, 0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3,
+	0xc0, 0xd6, 0xea, 0x43, 0xa4, 0x12, 0x0b, 0x32, 0x8b, 0xc1, 0x6e, 0x2a, 0x4e, 0x2d, 0x2a, 0xcb,
+	0x4c, 0x4e, 0x4d, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xb7, 0x46, 0xe1, 0x2d, 0x62, 0x62, 0x71, 0x77,
+	0x0c, 0xf0, 0x4c, 0x62, 0x03, 0x6b, 0x34, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, 0x44, 0x6e, 0x78,
+	0xbd, 0xcb, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/control.proto b/googleapis/api/serviceconfig/control.proto
deleted file mode 100644
index d99b2b08..00000000
--- a/googleapis/api/serviceconfig/control.proto
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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 = "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.
-  string environment = 1;
-}
diff --git a/googleapis/api/serviceconfig/documentation.pb.go b/googleapis/api/serviceconfig/documentation.pb.go
index 2605ffec..1885fd46 100644
--- a/googleapis/api/serviceconfig/documentation.pb.go
+++ b/googleapis/api/serviceconfig/documentation.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto
+// source: google/api/documentation.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -101,7 +101,14 @@ type Documentation struct {
 func (m *Documentation) Reset()                    { *m = Documentation{} }
 func (m *Documentation) String() string            { return proto.CompactTextString(m) }
 func (*Documentation) ProtoMessage()               {}
-func (*Documentation) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
+func (*Documentation) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
+
+func (m *Documentation) GetSummary() string {
+	if m != nil {
+		return m.Summary
+	}
+	return ""
+}
 
 func (m *Documentation) GetPages() []*Page {
 	if m != nil {
@@ -117,6 +124,20 @@ func (m *Documentation) GetRules() []*DocumentationRule {
 	return nil
 }
 
+func (m *Documentation) GetDocumentationRootUrl() string {
+	if m != nil {
+		return m.DocumentationRootUrl
+	}
+	return ""
+}
+
+func (m *Documentation) GetOverview() string {
+	if m != nil {
+		return m.Overview
+	}
+	return ""
+}
+
 // A documentation rule provides information about individual API elements.
 type DocumentationRule struct {
 	// The selector is a comma-separated list of patterns. Each pattern is a
@@ -136,7 +157,28 @@ type DocumentationRule struct {
 func (m *DocumentationRule) Reset()                    { *m = DocumentationRule{} }
 func (m *DocumentationRule) String() string            { return proto.CompactTextString(m) }
 func (*DocumentationRule) ProtoMessage()               {}
-func (*DocumentationRule) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
+func (*DocumentationRule) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
+
+func (m *DocumentationRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *DocumentationRule) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *DocumentationRule) GetDeprecationDescription() string {
+	if m != nil {
+		return m.DeprecationDescription
+	}
+	return ""
+}
 
 // Represents a documentation page. A page can contain subpages to represent
 // nested documentation set structure.
@@ -167,7 +209,21 @@ type Page struct {
 func (m *Page) Reset()                    { *m = Page{} }
 func (m *Page) String() string            { return proto.CompactTextString(m) }
 func (*Page) ProtoMessage()               {}
-func (*Page) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{2} }
+func (*Page) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{2} }
+
+func (m *Page) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Page) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
 
 func (m *Page) GetSubpages() []*Page {
 	if m != nil {
@@ -182,32 +238,31 @@ func init() {
 	proto.RegisterType((*Page)(nil), "google.api.Page")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/documentation.proto", fileDescriptor7)
-}
-
-var fileDescriptor7 = []byte{
-	// 346 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x92, 0xd1, 0x4a, 0xeb, 0x40,
-	0x10, 0x86, 0x49, 0x93, 0x9e, 0xd3, 0x33, 0xe5, 0x1c, 0x8e, 0x8b, 0xd4, 0x20, 0x08, 0xa5, 0x17,
-	0xd2, 0x0b, 0x4d, 0xc0, 0x0a, 0x5e, 0x5b, 0x0a, 0x22, 0xde, 0x84, 0x80, 0xd7, 0x65, 0xbb, 0x1d,
-	0x97, 0x40, 0xb2, 0x13, 0x76, 0x37, 0x15, 0x5f, 0xc1, 0xc7, 0xf0, 0xa9, 0x7c, 0x1c, 0xc9, 0x26,
-	0x6d, 0x13, 0xc4, 0xbb, 0x4c, 0xfe, 0x6f, 0xe6, 0x9f, 0xf9, 0x13, 0x78, 0x92, 0x44, 0x32, 0xc7,
-	0x48, 0x52, 0xce, 0x95, 0x8c, 0x48, 0xcb, 0x58, 0xa2, 0x2a, 0x35, 0x59, 0x8a, 0x1b, 0x89, 0x97,
-	0x99, 0x89, 0x79, 0x99, 0xc5, 0x06, 0xf5, 0x2e, 0x13, 0x28, 0x48, 0xbd, 0x64, 0x32, 0xde, 0x92,
-	0xa8, 0x0a, 0x54, 0x96, 0xdb, 0x8c, 0x54, 0xe4, 0x1a, 0x18, 0xb4, 0xc3, 0x78, 0x99, 0xcd, 0x3e,
-	0x3d, 0xf8, 0xbb, 0xea, 0x32, 0x2c, 0x84, 0xdf, 0xa6, 0x2a, 0x0a, 0xae, 0xdf, 0x42, 0x6f, 0xea,
-	0xcd, 0xff, 0xa4, 0xfb, 0x92, 0x5d, 0xc2, 0xb0, 0xe4, 0x12, 0x4d, 0x38, 0x9c, 0xfa, 0xf3, 0xf1,
-	0xcd, 0xff, 0xe8, 0x38, 0x27, 0x4a, 0xb8, 0xc4, 0xb4, 0x91, 0xd9, 0x02, 0x86, 0xba, 0xca, 0xd1,
-	0x84, 0xbe, 0xe3, 0x2e, 0xba, 0x5c, 0xcf, 0x2b, 0xad, 0x72, 0x4c, 0x1b, 0x96, 0xdd, 0xc2, 0xa4,
-	0xb7, 0xeb, 0x5a, 0x13, 0xd9, 0x75, 0xa5, 0xf3, 0x30, 0x70, 0x5b, 0x9c, 0xf6, 0xd4, 0x94, 0xc8,
-	0x3e, 0xeb, 0x9c, 0x9d, 0xc3, 0x88, 0x76, 0xf5, 0xc1, 0xf8, 0x1a, 0x0e, 0x1c, 0x77, 0xa8, 0x67,
-	0xef, 0x1e, 0x9c, 0x7c, 0xb3, 0xab, 0x3b, 0x0c, 0xe6, 0x28, 0x2c, 0xe9, 0xf6, 0xbe, 0x43, 0xcd,
-	0xa6, 0x30, 0xde, 0xa2, 0x11, 0x3a, 0x2b, 0x6b, 0xbc, 0x1d, 0xd8, 0x7d, 0xc5, 0xee, 0xe0, 0x6c,
-	0x8b, 0xa5, 0x46, 0xd1, 0xec, 0xd8, 0xa5, 0x7d, 0x47, 0x4f, 0x3a, 0xf2, 0xea, 0xa8, 0xce, 0x36,
-	0x10, 0xd4, 0x11, 0x31, 0x06, 0x81, 0xe2, 0x05, 0xb6, 0xd6, 0xee, 0xb9, 0x4e, 0x5c, 0x90, 0xb2,
-	0xa8, 0x6c, 0x6b, 0xb9, 0x2f, 0xd9, 0x15, 0x8c, 0x4c, 0xb5, 0x69, 0x42, 0xf7, 0x7f, 0x08, 0xfd,
-	0x40, 0x2c, 0xaf, 0xe1, 0x9f, 0xa0, 0xa2, 0x03, 0x2c, 0x59, 0xef, 0xfe, 0xa4, 0xfe, 0xfa, 0x89,
-	0xf7, 0x31, 0x08, 0x1e, 0xee, 0x93, 0xc7, 0xcd, 0x2f, 0xf7, 0x37, 0x2c, 0xbe, 0x02, 0x00, 0x00,
-	0xff, 0xff, 0x62, 0xd9, 0x85, 0x51, 0x5c, 0x02, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/documentation.proto", fileDescriptor6) }
+
+var fileDescriptor6 = []byte{
+	// 356 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x92, 0xc1, 0x6a, 0xe3, 0x30,
+	0x14, 0x45, 0x71, 0xec, 0xcc, 0x64, 0x5e, 0x98, 0x61, 0x46, 0x0c, 0x19, 0x33, 0xd0, 0x12, 0xb2,
+	0x28, 0x59, 0x14, 0x1b, 0x9a, 0x42, 0x17, 0x5d, 0x35, 0xa4, 0x94, 0xee, 0x8c, 0xa1, 0x9b, 0x6e,
+	0x82, 0xa2, 0xbc, 0x0a, 0x83, 0xad, 0x67, 0x24, 0x39, 0xa5, 0xbf, 0xd0, 0xcf, 0xe8, 0x57, 0xf5,
+	0x73, 0x8a, 0x65, 0x27, 0xb1, 0x29, 0xdd, 0xf9, 0xfa, 0x1e, 0xe9, 0x3e, 0x5d, 0x09, 0x4e, 0x25,
+	0x91, 0xcc, 0x31, 0xe6, 0x65, 0x16, 0x6f, 0x49, 0x54, 0x05, 0x2a, 0xcb, 0x6d, 0x46, 0x2a, 0x2a,
+	0x35, 0x59, 0x62, 0xd0, 0xf8, 0x11, 0x2f, 0xb3, 0xd9, 0xbb, 0x07, 0x3f, 0x57, 0x5d, 0x86, 0x85,
+	0xf0, 0xdd, 0x54, 0x45, 0xc1, 0xf5, 0x4b, 0xe8, 0x4d, 0xbd, 0xf9, 0x8f, 0x74, 0x2f, 0xd9, 0x19,
+	0x0c, 0x4b, 0x2e, 0xd1, 0x84, 0xc3, 0xa9, 0x3f, 0x1f, 0x5f, 0xfc, 0x8e, 0x8e, 0xfb, 0x44, 0x09,
+	0x97, 0x98, 0x36, 0x36, 0x5b, 0xc0, 0x50, 0x57, 0x39, 0x9a, 0xd0, 0x77, 0xdc, 0x49, 0x97, 0xeb,
+	0x65, 0xa5, 0x55, 0x8e, 0x69, 0xc3, 0xb2, 0x4b, 0x98, 0xf4, 0x66, 0x5d, 0x6b, 0x22, 0xbb, 0xae,
+	0x74, 0x1e, 0x06, 0x6e, 0x8a, 0xbf, 0x3d, 0x37, 0x25, 0xb2, 0x0f, 0x3a, 0x67, 0xff, 0x61, 0x44,
+	0x3b, 0xd4, 0xbb, 0x0c, 0x9f, 0xc3, 0x81, 0xe3, 0x0e, 0x7a, 0xf6, 0xea, 0xc1, 0x9f, 0x4f, 0x71,
+	0xf5, 0x0a, 0x83, 0x39, 0x0a, 0x4b, 0xba, 0x3d, 0xdf, 0x41, 0xb3, 0x29, 0x8c, 0xb7, 0x68, 0x84,
+	0xce, 0xca, 0x1a, 0x6f, 0x37, 0xec, 0xfe, 0x62, 0x57, 0xf0, 0x6f, 0x8b, 0xa5, 0x46, 0xd1, 0xcc,
+	0xd8, 0xa5, 0x7d, 0x47, 0x4f, 0x3a, 0xf6, 0xea, 0xe8, 0xce, 0x36, 0x10, 0xd4, 0x15, 0x31, 0x06,
+	0x81, 0xe2, 0x05, 0xb6, 0xd1, 0xee, 0xbb, 0x6e, 0x5c, 0x90, 0xb2, 0xa8, 0x6c, 0x1b, 0xb9, 0x97,
+	0xec, 0x1c, 0x46, 0xa6, 0xda, 0x34, 0xa5, 0xfb, 0x5f, 0x94, 0x7e, 0x20, 0x96, 0x16, 0x7e, 0x09,
+	0x2a, 0x3a, 0xc0, 0x92, 0xf5, 0xce, 0x9f, 0xd4, 0xb7, 0x9f, 0x78, 0x8f, 0xb7, 0x2d, 0x21, 0x29,
+	0xe7, 0x4a, 0x46, 0xa4, 0x65, 0x2c, 0x51, 0xb9, 0xb7, 0x11, 0x37, 0x16, 0x2f, 0x33, 0xe3, 0x9e,
+	0x8f, 0xa9, 0xbb, 0x14, 0x28, 0x48, 0x3d, 0x65, 0xf2, 0xba, 0xa7, 0xde, 0x06, 0xc1, 0xdd, 0x4d,
+	0x72, 0xbf, 0xf9, 0xe6, 0x16, 0x2e, 0x3e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x04, 0x32, 0xbf,
+	0x76, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/documentation.proto b/googleapis/api/serviceconfig/documentation.proto
deleted file mode 100644
index 190f8af5..00000000
--- a/googleapis/api/serviceconfig/documentation.proto
+++ /dev/null
@@ -1,158 +0,0 @@
-// 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 = "DocumentationProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// `Documentation` provides the information for describing a service.
-//
-// Example:
-// <pre><code>documentation:
-//   summary: >
-//     The Google Calendar API gives access
-//     to most calendar features.
-//   pages:
-//   - name: Overview
-//     content: &#40;== include google/foo/overview.md ==&#41;
-//   - name: Tutorial
-//     content: &#40;== include google/foo/tutorial.md ==&#41;
-//     subpages;
-//     - name: Java
-//       content: &#40;== include google/foo/tutorial_java.md ==&#41;
-//   rules:
-//   - selector: google.calendar.Calendar.Get
-//     description: >
-//       ...
-//   - selector: google.calendar.Calendar.Put
-//     description: >
-//       ...
-// </code></pre>
-// Documentation is provided in markdown syntax. In addition to
-// standard markdown features, definition lists, tables and fenced
-// code blocks are supported. Section headers can be provided and are
-// interpreted relative to the section nesting of the context where
-// a documentation fragment is embedded.
-//
-// Documentation from the IDL is merged with documentation defined
-// via the config at normalization time, where documentation provided
-// by config rules overrides IDL provided.
-//
-// A number of constructs specific to the API platform are supported
-// in documentation text.
-//
-// In order to reference a proto element, the following
-// notation can be used:
-// <pre><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>
-// To override the display text used for the link, this can be used:
-// <pre><code>&#91;display text]&#91;fully.qualified.proto.name]</code></pre>
-// Text can be excluded from doc using the following notation:
-// <pre><code>&#40;-- internal comment --&#41;</code></pre>
-// Comments can be made conditional using a visibility label. The below
-// text will be only rendered if the `BETA` label is available:
-// <pre><code>&#40;--BETA: comment for BETA users --&#41;</code></pre>
-// A few directives are available in documentation. Note that
-// directives must appear on a single line to be properly
-// identified. The `include` directive includes a markdown file from
-// an external source:
-// <pre><code>&#40;== include path/to/file ==&#41;</code></pre>
-// The `resource_for` directive marks a message to be the resource of
-// a collection in REST view. If it is not specified, tools attempt
-// to infer the resource from the operations in a collection:
-// <pre><code>&#40;== resource_for v1.shelves.books ==&#41;</code></pre>
-// The directive `suppress_warning` does not directly affect documentation
-// and is documented together with service config validation.
-message Documentation {
-  // A short summary of what the service does. Can only be provided by
-  // plain text.
-  string summary = 1;
-
-  // The top level pages for the documentation set.
-  repeated Page pages = 5;
-
-  // 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.
-  string documentation_root_url = 4;
-
-  // Declares a single overview page. For example:
-  // <pre><code>documentation:
-  //   summary: ...
-  //   overview: &#40;== include overview.md ==&#41;
-  // </code></pre>
-  // This is a shortcut for the following declaration (using pages style):
-  // <pre><code>documentation:
-  //   summary: ...
-  //   pages:
-  //   - name: Overview
-  //     content: &#40;== include overview.md ==&#41;
-  // </code></pre>
-  // Note: you cannot specify both `overview` field and `pages` field.
-  string overview = 2;
-}
-
-// A documentation rule provides information about individual API elements.
-message DocumentationRule {
-  // The selector is a comma-separated list of patterns. Each pattern is a
-  // qualified name of the element which may end in "*", indicating a wildcard.
-  // Wildcards are only allowed at the end and for a whole component of the
-  // qualified name, i.e. "foo.*" is ok, but not "foo.b*" or "foo.*.bar". To
-  // specify a default for all applicable elements, the whole pattern "*"
-  // is used.
-  string selector = 1;
-
-  // Description of the selected API(s).
-  string description = 2;
-
-  // Deprecation description of the selected element(s). It can be provided if an
-  // element is marked as `deprecated`.
-  string deprecation_description = 3;
-}
-
-// Represents a documentation page. A page can contain subpages to represent
-// nested documentation set structure.
-message Page {
-  // The name of the page. It will be used as an identity of the page to
-  // generate URI of the page, text of the link to this page in navigation,
-  // etc. The full page name (start from the root page name to this page
-  // concatenated with `.`) can be used as reference to the page in your
-  // documentation. For example:
-  // <pre><code>pages:
-  // - name: Tutorial
-  //   content: &#40;== include tutorial.md ==&#41;
-  //   subpages:
-  //   - name: Java
-  //     content: &#40;== include tutorial_java.md ==&#41;
-  // </code></pre>
-  // You can reference `Java` page using Markdown reference link syntax:
-  // `[Java][Tutorial.Java]`.
-  string name = 1;
-
-  // The Markdown content of the page. You can use <code>&#40;== include {path} ==&#41;</code>
-  // to include content from a Markdown file.
-  string content = 2;
-
-  // Subpages of this page. The order of subpages specified here will be
-  // honored in the generated docset.
-  repeated Page subpages = 3;
-}
diff --git a/googleapis/api/serviceconfig/endpoint.pb.go b/googleapis/api/serviceconfig/endpoint.pb.go
index bc6c668a..c726472b 100644
--- a/googleapis/api/serviceconfig/endpoint.pb.go
+++ b/googleapis/api/serviceconfig/endpoint.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto
+// source: google/api/endpoint.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -28,29 +29,7 @@ var _ = math.Inf
 //       # 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"`
@@ -76,31 +55,65 @@ type Endpoint struct {
 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 (*Endpoint) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
-func init() {
-	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
+func (m *Endpoint) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Endpoint) GetAliases() []string {
+	if m != nil {
+		return m.Aliases
+	}
+	return nil
+}
+
+func (m *Endpoint) GetApis() []string {
+	if m != nil {
+		return m.Apis
+	}
+	return nil
+}
+
+func (m *Endpoint) GetFeatures() []string {
+	if m != nil {
+		return m.Features
+	}
+	return nil
+}
+
+func (m *Endpoint) GetAllowCors() bool {
+	if m != nil {
+		return m.AllowCors
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/endpoint.proto", fileDescriptor8)
+	proto.RegisterType((*Endpoint)(nil), "google.api.Endpoint")
 }
 
-var fileDescriptor8 = []byte{
-	// 233 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x4f, 0x41, 0x4e, 0xc3, 0x30,
-	0x10, 0x94, 0xdb, 0x00, 0x89, 0x25, 0x38, 0xf8, 0x64, 0x55, 0x42, 0x8a, 0x38, 0xe5, 0x14, 0x1f,
-	0x78, 0x01, 0x45, 0x80, 0x7a, 0x8b, 0xf2, 0x01, 0xb4, 0x84, 0xad, 0x65, 0xc9, 0xdd, 0xb5, 0x6c,
-	0x03, 0x4f, 0xe0, 0x1f, 0xbc, 0x14, 0xc5, 0x6d, 0xe0, 0xde, 0xdb, 0xcc, 0xec, 0x68, 0x66, 0x56,
-	0x3e, 0x5b, 0x66, 0xeb, 0xb1, 0xb7, 0xec, 0x81, 0x6c, 0xcf, 0xd1, 0x1a, 0x8b, 0x14, 0x22, 0x67,
-	0x36, 0xc7, 0x13, 0x04, 0x97, 0x0c, 0x04, 0x67, 0x12, 0xc6, 0x4f, 0x37, 0xe1, 0xc4, 0xb4, 0x77,
-	0xd6, 0x20, 0xbd, 0x07, 0x76, 0x94, 0xfb, 0xe2, 0x55, 0xf2, 0x94, 0x03, 0xc1, 0x6d, 0x76, 0xe7,
-	0x66, 0x02, 0x11, 0x67, 0xc8, 0x8e, 0x29, 0x1d, 0x63, 0xef, 0xbe, 0x85, 0xac, 0x9f, 0x4e, 0x4d,
-	0x4a, 0xc9, 0x8a, 0xe0, 0x80, 0x5a, 0xb4, 0xa2, 0x6b, 0xc6, 0x82, 0x95, 0x96, 0x57, 0xe0, 0x1d,
-	0x24, 0x4c, 0x7a, 0xd5, 0xae, 0xbb, 0x66, 0x5c, 0xe8, 0xec, 0x9e, 0x6b, 0xf4, 0xba, 0xc8, 0x05,
-	0xab, 0x8d, 0xac, 0xf7, 0x08, 0xf9, 0x23, 0x62, 0xd2, 0x55, 0xd1, 0xff, 0xb8, 0xba, 0x95, 0x12,
-	0xbc, 0xe7, 0xaf, 0xd7, 0x89, 0x63, 0xd2, 0x17, 0xad, 0xe8, 0xea, 0xb1, 0x29, 0xca, 0x23, 0xc7,
-	0xb4, 0xed, 0xe4, 0xcd, 0xc4, 0x87, 0xfe, 0xff, 0xcd, 0xed, 0xf5, 0x32, 0x6c, 0x98, 0xa7, 0x0e,
-	0xe2, 0x67, 0x55, 0xbd, 0x3c, 0x0c, 0xbb, 0xb7, 0xcb, 0x32, 0xfd, 0xfe, 0x37, 0x00, 0x00, 0xff,
-	0xff, 0x2f, 0xf3, 0xbc, 0x78, 0x5b, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/endpoint.proto", fileDescriptor7) }
+
+var fileDescriptor7 = []byte{
+	// 241 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0xc6, 0xe5, 0x36, 0x40, 0x62, 0x09, 0x06, 0x4f, 0xa6, 0x02, 0x29, 0x62, 0xca, 0x94, 0x0c,
+	0x8c, 0x4c, 0x14, 0x55, 0x88, 0x2d, 0xca, 0xc8, 0x82, 0x8e, 0x70, 0xb5, 0x2c, 0xb9, 0x77, 0x96,
+	0x6d, 0xe0, 0x11, 0x78, 0x0f, 0x9e, 0x14, 0xc5, 0x69, 0x81, 0x6e, 0xf7, 0xfd, 0x39, 0xe9, 0xf7,
+	0xc9, 0x4b, 0xc3, 0x6c, 0x1c, 0x76, 0xe0, 0x6d, 0x87, 0xf4, 0xe6, 0xd9, 0x52, 0x6a, 0x7d, 0xe0,
+	0xc4, 0x4a, 0xce, 0x51, 0x0b, 0xde, 0xae, 0xae, 0xfe, 0xd5, 0x80, 0x88, 0x13, 0x24, 0xcb, 0x14,
+	0xe7, 0xe6, 0xcd, 0x97, 0x90, 0xe5, 0x66, 0xff, 0xac, 0x94, 0x2c, 0x08, 0x76, 0xa8, 0x45, 0x2d,
+	0x9a, 0x6a, 0xc8, 0xb7, 0xd2, 0xf2, 0x0c, 0x9c, 0x85, 0x88, 0x51, 0x2f, 0xea, 0x65, 0x53, 0x0d,
+	0x07, 0x39, 0xb5, 0xc1, 0xdb, 0xa8, 0x97, 0xd9, 0xce, 0xb7, 0x5a, 0xc9, 0x72, 0x8b, 0x90, 0xde,
+	0x03, 0x46, 0x5d, 0x64, 0xff, 0x57, 0xab, 0x6b, 0x29, 0xc1, 0x39, 0xfe, 0x7c, 0x19, 0x39, 0x44,
+	0x7d, 0x52, 0x8b, 0xa6, 0x1c, 0xaa, 0xec, 0x3c, 0x70, 0x88, 0x6b, 0x96, 0x17, 0x23, 0xef, 0xda,
+	0x3f, 0xf2, 0xf5, 0xf9, 0x01, 0xac, 0x9f, 0x50, 0x7b, 0xf1, 0xbc, 0xd9, 0x87, 0x86, 0x1d, 0x90,
+	0x69, 0x39, 0x98, 0xce, 0x20, 0xe5, 0x21, 0xdd, 0x1c, 0x4d, 0x10, 0x79, 0x69, 0xc4, 0xf0, 0x61,
+	0x47, 0x1c, 0x99, 0xb6, 0xd6, 0xdc, 0x1d, 0xa9, 0xef, 0x45, 0xf1, 0x78, 0xdf, 0x3f, 0xbd, 0x9e,
+	0xe6, 0xc7, 0xdb, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfb, 0x43, 0xb9, 0x21, 0x48, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/api/serviceconfig/endpoint.proto b/googleapis/api/serviceconfig/endpoint.proto
deleted file mode 100644
index 05da2f89..00000000
--- a/googleapis/api/serviceconfig/endpoint.proto
+++ /dev/null
@@ -1,89 +0,0 @@
-// 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.proto b/googleapis/api/serviceconfig/http.proto
deleted file mode 100644
index ad9406d2..00000000
--- a/googleapis/api/serviceconfig/http.proto
+++ /dev/null
@@ -1,285 +0,0 @@
-// 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 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 configuration rules that apply to individual API methods.
-  //
-  // **NOTE:** All service configuration rules follow "last one wins" order.
-  repeated HttpRule rules = 1;
-}
-
-// `HttpRule` defines the mapping of an RPC method to one or more HTTP
-// REST APIs.  The mapping determines what portions of the request
-// message are populated from the path, query parameters, or body of
-// the HTTP request.  The mapping is typically specified as an
-// `google.api.http` annotation, see "google/api/annotations.proto"
-// for details.
-//
-// The mapping consists of a field specifying the path template and
-// method kind.  The path template can refer to fields in the request
-// message, as in the example below which describes a REST GET
-// operation on a resource collection of messages:
-//
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}";
-//   }
-// }
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   SubMessage sub = 2;    // `sub.subfield` is url-mapped
-// }
-// message Message {
-//   string text = 1; // content of the resource
-// }
-// ```
-//
-// This definition enables an automatic, bidrectional mapping of HTTP
-// JSON to RPC. Example:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456/foo`  | `GetMessage(message_id: "123456" sub: SubMessage(subfield: "foo"))`
-//
-// In general, not only fields but also field paths can be referenced
-// from a path pattern. Fields mapped to the path pattern cannot be
-// repeated and must have a primitive (non-message) type.
-//
-// Any fields in the request message which are not bound by the path
-// pattern automatically become (optional) HTTP query
-// parameters. Assume the following definition of the request message:
-//
-// ```proto
-// message GetMessageRequest {
-//   message SubMessage {
-//     string subfield = 1;
-//   }
-//   string message_id = 1; // mapped to the URL
-//   int64 revision = 2;    // becomes a parameter
-//   SubMessage sub = 3;    // `sub.subfield` becomes a parameter
-// }
-// ```
-//
-// This enables a HTTP JSON to RPC mapping as below:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: "123456" revision: 2 sub: SubMessage(subfield: "foo"))`
-//
-// Note that fields which are mapped to HTTP parameters must have a
-// primitive type or a repeated primitive type. Message types are not
-// allowed. In the case of a repeated type, the parameter can be
-// repeated in the URL, as in `...?param=A&param=B`.
-//
-// For HTTP method kinds which allow a request body, the `body` field
-// specifies the mapping. Consider a REST update method on the
-// message resource collection:
-//
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(UpdateMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "message"
-//     };
-//   }
-// }
-// message UpdateMessageRequest {
-//   string message_id = 1; // mapped to the URL
-//   Message message = 2;   // mapped to the body
-// }
-// ```
-//
-// The following HTTP JSON to RPC mapping is enabled, where the
-// representation of the JSON in the request body is determined by
-// protos JSON encoding:
-//
-// HTTP | RPC
-// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: "Hi!" })`
-//
-// The special name `*` can be used in the body mapping to define that
-// every field not bound by the path template should be mapped to the
-// request body.  This enables the following alternative definition of
-// the update method:
-//
-// ```proto
-// service Messaging {
-//   rpc UpdateMessage(Message) returns (Message) {
-//     option (google.api.http) = {
-//       put: "/v1/messages/{message_id}"
-//       body: "*"
-//     };
-//   }
-// }
-// message Message {
-//   string message_id = 1;
-//   string text = 2;
-// }
-// ```
-//
-// The following HTTP JSON to RPC mapping is enabled:
-//
-// HTTP | RPC
-// -----|-----
-// `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: "123456" text: "Hi!")`
-//
-// Note that when using `*` in the body mapping, it is not possible to
-// have HTTP parameters, as all fields not bound by the path end in
-// the body. This makes this option more rarely used in practice of
-// defining REST APIs. The common usage of `*` is in custom methods
-// which don't use the URL at all for transferring data.
-//
-// It is possible to define multiple HTTP methods for one RPC by using
-// the `additional_bindings` option. Example:
-//
-// ```proto
-// service Messaging {
-//   rpc GetMessage(GetMessageRequest) returns (Message) {
-//     option (google.api.http) = {
-//       get: "/v1/messages/{message_id}"
-//       additional_bindings {
-//         get: "/v1/users/{user_id}/messages/{message_id}"
-//       }
-//     };
-//   }
-// }
-// message GetMessageRequest {
-//   string message_id = 1;
-//   string user_id = 2;
-// }
-// ```
-//
-// This enables the following two alternative HTTP JSON to RPC
-// mappings:
-//
-// HTTP | RPC
-// -----|-----
-// `GET /v1/messages/123456` | `GetMessage(message_id: "123456")`
-// `GET /v1/users/me/messages/123456` | `GetMessage(user_id: "me" message_id: "123456")`
-//
-// # Rules for HTTP mapping
-//
-// The rules for mapping HTTP path, query parameters, and body fields
-// to the request message are as follows:
-//
-// 1. The `body` field specifies either `*` or a field path, or is
-//    omitted. If omitted, it assumes there is no HTTP body.
-// 2. Leaf fields (recursive expansion of nested messages in the
-//    request) can be classified into three types:
-//     (a) Matched in the URL template.
-//     (b) Covered by body (if body is `*`, everything except (a) fields;
-//         else everything under the body field)
-//     (c) All other fields.
-// 3. URL query parameters found in the HTTP request are mapped to (c) fields.
-// 4. Any body sent with an HTTP request can contain only (b) fields.
-//
-// The syntax of the path template is as follows:
-//
-//     Template = "/" Segments [ Verb ] ;
-//     Segments = Segment { "/" Segment } ;
-//     Segment  = "*" | "**" | LITERAL | Variable ;
-//     Variable = "{" FieldPath [ "=" Segments ] "}" ;
-//     FieldPath = IDENT { "." IDENT } ;
-//     Verb     = ":" LITERAL ;
-//
-// The syntax `*` matches a single path segment. It follows the semantics of
-// [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String
-// Expansion.
-//
-// The syntax `**` matches zero or more path segments. It follows the semantics
-// of [RFC 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.3 Reserved
-// Expansion.
-//
-// The syntax `LITERAL` matches literal text in the URL path.
-//
-// The syntax `Variable` matches the entire path as specified by its template;
-// this nested template must not contain further variables. If a variable
-// matches a single path segment, its template may be omitted, e.g. `{var}`
-// is equivalent to `{var=*}`.
-//
-// NOTE: the field paths in variables and in the `body` must not refer to
-// repeated fields or map fields.
-//
-// Use CustomHttpPattern to specify any HTTP method that is not included in the
-// `pattern` field, such as HEAD, or "*" to leave the HTTP method unspecified for
-// a given URL path rule. The wild-card rule is useful for services that provide
-// content to Web (HTML) clients.
-message HttpRule {
-  // Selects methods to which this rule applies.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Determines the URL pattern is matched by this rules. This pattern can be
-  // used with any of the {get|put|post|delete|patch} methods. A custom method
-  // can be defined using the 'custom' field.
-  oneof pattern {
-    // Used for listing and getting information about resources.
-    string get = 2;
-
-    // Used for updating a resource.
-    string put = 3;
-
-    // Used for creating a resource.
-    string post = 4;
-
-    // Used for deleting a resource.
-    string delete = 5;
-
-    // Used for updating a resource.
-    string patch = 6;
-
-    // Custom pattern is used for defining custom verbs.
-    CustomHttpPattern custom = 8;
-  }
-
-  // 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 and must be
-  // present at the top-level of response message type.
-  string body = 7;
-
-  // Additional HTTP bindings for the selector. Nested bindings must
-  // not contain an `additional_bindings` field themselves (that is,
-  // the nesting may only be one level deep).
-  repeated HttpRule additional_bindings = 11;
-}
-
-// A custom pattern is used for defining custom HTTP verb.
-message CustomHttpPattern {
-  // The name of this custom HTTP verb.
-  string kind = 1;
-
-  // The path matched by this custom verb.
-  string path = 2;
-}
diff --git a/googleapis/api/serviceconfig/log.pb.go b/googleapis/api/serviceconfig/log.pb.go
index 194294f1..c1a959dc 100644
--- a/googleapis/api/serviceconfig/log.pb.go
+++ b/googleapis/api/serviceconfig/log.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/log.proto
+// source: google/api/log.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
-import google_api1 "google.golang.org/genproto/googleapis/api/label"
+import google_api2 "google.golang.org/genproto/googleapis/api/label"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -31,7 +31,7 @@ type LogDescriptor struct {
 	// The set of labels that are available to describe a specific log entry.
 	// Runtime requests that contain labels not specified here are
 	// considered invalid.
-	Labels []*google_api1.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
+	Labels []*google_api2.LabelDescriptor `protobuf:"bytes,2,rep,name=labels" json:"labels,omitempty"`
 	// A human-readable description of this log. This information appears in
 	// the documentation and can contain details.
 	Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"`
@@ -43,38 +43,57 @@ type LogDescriptor struct {
 func (m *LogDescriptor) Reset()                    { *m = LogDescriptor{} }
 func (m *LogDescriptor) String() string            { return proto.CompactTextString(m) }
 func (*LogDescriptor) ProtoMessage()               {}
-func (*LogDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
+func (*LogDescriptor) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
 
-func (m *LogDescriptor) GetLabels() []*google_api1.LabelDescriptor {
+func (m *LogDescriptor) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogDescriptor) GetLabels() []*google_api2.LabelDescriptor {
 	if m != nil {
 		return m.Labels
 	}
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*LogDescriptor)(nil), "google.api.LogDescriptor")
+func (m *LogDescriptor) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *LogDescriptor) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/log.proto", fileDescriptor11)
+	proto.RegisterType((*LogDescriptor)(nil), "google.api.LogDescriptor")
 }
 
-var fileDescriptor11 = []byte{
-	// 234 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x41, 0x4b, 0x03, 0x31,
-	0x10, 0x85, 0xd9, 0x76, 0x29, 0x9a, 0xaa, 0x87, 0x9c, 0x16, 0xbd, 0xac, 0x7a, 0xe9, 0x29, 0x01,
-	0x7b, 0xf4, 0xd4, 0x22, 0x88, 0xb0, 0xc8, 0xd2, 0x3f, 0x20, 0xd3, 0xed, 0x38, 0x0c, 0x64, 0x33,
-	0x21, 0x29, 0x82, 0x3f, 0xc6, 0x8b, 0xbf, 0x54, 0x9a, 0x5d, 0xe8, 0x1e, 0xbd, 0x84, 0xf0, 0xde,
-	0x9b, 0xef, 0xcd, 0xa8, 0x0d, 0x89, 0x90, 0x43, 0x43, 0xe2, 0xc0, 0x93, 0x91, 0x48, 0x96, 0xd0,
-	0x87, 0x28, 0x47, 0xb1, 0x83, 0x05, 0x81, 0x93, 0x85, 0xc0, 0x36, 0x61, 0xfc, 0xe2, 0x0e, 0x3b,
-	0xf1, 0x9f, 0x4c, 0xd6, 0x09, 0x99, 0x1c, 0xd3, 0x6a, 0x44, 0x40, 0xe0, 0xdb, 0xe7, 0xff, 0xe3,
-	0x1c, 0xec, 0xd1, 0x0d, 0xef, 0x00, 0x7a, 0xf8, 0x29, 0xd4, 0x75, 0x23, 0xf4, 0x82, 0xa9, 0x8b,
-	0x1c, 0x8e, 0x12, 0xb5, 0x56, 0xa5, 0x87, 0x1e, 0xab, 0xa2, 0x2e, 0x56, 0x97, 0xbb, 0xfc, 0xd7,
-	0x6b, 0xb5, 0xc8, 0x43, 0xa9, 0x9a, 0xd5, 0xf3, 0xd5, 0xf2, 0xe9, 0xce, 0x9c, 0xfb, 0x4d, 0x73,
-	0x72, 0xce, 0x80, 0xdd, 0x18, 0xd5, 0xb5, 0x5a, 0x1e, 0x46, 0x95, 0xc5, 0x57, 0xf3, 0xcc, 0x9b,
-	0x4a, 0xfa, 0x5e, 0x5d, 0x1d, 0x38, 0x05, 0x07, 0xdf, 0x1f, 0xb9, 0xb2, 0x1c, 0x23, 0x83, 0xf6,
-	0x0e, 0x3d, 0x6e, 0x1f, 0xd5, 0x4d, 0x27, 0xfd, 0xa4, 0x6e, 0x7b, 0xd1, 0x08, 0xb5, 0xa7, 0xdd,
-	0xdb, 0xe2, 0x77, 0x56, 0xbe, 0x6e, 0xda, 0xb7, 0xfd, 0x22, 0xdf, 0xb2, 0xfe, 0x0b, 0x00, 0x00,
-	0xff, 0xff, 0x32, 0x96, 0x08, 0x72, 0x59, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/api/log.proto", fileDescriptor8) }
+
+var fileDescriptor8 = []byte{
+	// 238 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x4a, 0xc3, 0x40,
+	0x10, 0x86, 0x49, 0x1b, 0x8a, 0x6e, 0xd5, 0xc3, 0x22, 0x12, 0xf4, 0x12, 0x3d, 0xf5, 0xb4, 0x01,
+	0x7b, 0xf4, 0x64, 0x51, 0x44, 0x08, 0x12, 0x7a, 0xf4, 0x22, 0xd3, 0x74, 0x1c, 0x46, 0x36, 0x3b,
+	0xcb, 0x6e, 0x11, 0x7c, 0x18, 0x2f, 0x3e, 0xa9, 0x74, 0x13, 0x68, 0x7a, 0xdb, 0xfd, 0xe6, 0x9b,
+	0x7f, 0x66, 0xd4, 0x25, 0x89, 0x90, 0xc5, 0x0a, 0x3c, 0x57, 0x56, 0xc8, 0xf8, 0x20, 0x3b, 0xd1,
+	0xaa, 0xa7, 0x06, 0x3c, 0x5f, 0x5f, 0x8d, 0x0d, 0xd8, 0xa0, 0xed, 0x9d, 0xbb, 0xdf, 0x4c, 0x9d,
+	0xd7, 0x42, 0x4f, 0x18, 0xdb, 0xc0, 0x7e, 0x27, 0x41, 0x6b, 0x95, 0x3b, 0xe8, 0xb0, 0xc8, 0xca,
+	0x6c, 0x71, 0xba, 0x4e, 0x6f, 0xbd, 0x54, 0xb3, 0xd4, 0x14, 0x8b, 0x49, 0x39, 0x5d, 0xcc, 0xef,
+	0x6f, 0xcc, 0x21, 0xda, 0xd4, 0xfb, 0xca, 0x21, 0x60, 0x3d, 0xa8, 0xba, 0x54, 0xf3, 0xed, 0x40,
+	0x59, 0x5c, 0x31, 0x4d, 0x79, 0x63, 0xa4, 0x6f, 0xd5, 0xd9, 0x96, 0xa3, 0xb7, 0xf0, 0xf3, 0x91,
+	0x46, 0xe6, 0x83, 0xd2, 0xb3, 0x37, 0xe8, 0x70, 0xf5, 0xa5, 0x2e, 0x5a, 0xe9, 0x46, 0xe3, 0x56,
+	0x27, 0xb5, 0x50, 0xb3, 0xdf, 0xbd, 0xc9, 0xde, 0x9f, 0x07, 0x4e, 0x62, 0xc1, 0x91, 0x91, 0x40,
+	0x15, 0xa1, 0x4b, 0x97, 0x55, 0x7d, 0x09, 0x3c, 0xc7, 0x74, 0x74, 0xc4, 0xf0, 0xcd, 0x2d, 0xb6,
+	0xe2, 0x3e, 0x99, 0x1e, 0x8e, 0x7e, 0x7f, 0x93, 0xfc, 0xe5, 0xb1, 0x79, 0xdd, 0xcc, 0x52, 0xe3,
+	0xf2, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x25, 0x6c, 0x32, 0xff, 0x4e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/log.proto b/googleapis/api/serviceconfig/log.proto
deleted file mode 100644
index e258b8a0..00000000
--- a/googleapis/api/serviceconfig/log.proto
+++ /dev/null
@@ -1,54 +0,0 @@
-// 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/label/label.proto"; // from google/api/label.proto
-
-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:
-//
-//     - name: library.googleapis.com/activity_history
-//       description: The history of borrowing and returning library items.
-//       display_name: Activity
-//       labels:
-//       - key: /customer_id
-//         description: Identifier of a library customer
-message LogDescriptor {
-  // The name of the log. It must be less than 512 characters long and can
-  // include the following characters: upper- and lower-case alphanumeric
-  // characters [A-Za-z0-9], and punctuation characters including
-  // slash, underscore, hyphen, period [/_-.].
-  string name = 1;
-
-  // The set of labels that are available to describe a specific log entry.
-  // Runtime requests that contain labels not specified here are
-  // considered invalid.
-  repeated LabelDescriptor labels = 2;
-
-  // A human-readable description of this log. This information appears in
-  // the documentation and can contain details.
-  string description = 3;
-
-  // The human-readable name for this log. This information appears on
-  // the user interface and should be concise.
-  string display_name = 4;
-}
diff --git a/googleapis/api/serviceconfig/logging.pb.go b/googleapis/api/serviceconfig/logging.pb.go
index f3c9088e..0eb15b24 100644
--- a/googleapis/api/serviceconfig/logging.pb.go
+++ b/googleapis/api/serviceconfig/logging.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto
+// source: google/api/logging.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -16,11 +17,9 @@ var _ = math.Inf
 // Logging configuration of the service.
 //
 // The following example shows how to configure logs to be sent to the
-// producer and consumer projects. In the example,
-// the `library.googleapis.com/activity_history` log is
-// sent to both the producer and consumer projects, whereas
-// the `library.googleapis.com/purchase_history` log is only sent to the
-// producer project:
+// producer and consumer projects. In the example, the `activity_history`
+// log is sent to both the producer and consumer projects, whereas the
+// `purchase_history` log is only sent to the producer project.
 //
 //     monitored_resources:
 //     - type: library.googleapis.com/branch
@@ -30,20 +29,20 @@ var _ = math.Inf
 //       - key: /name
 //         description: The name of the branch.
 //     logs:
-//     - name: library.googleapis.com/activity_history
+//     - name: activity_history
 //       labels:
 //       - key: /customer_id
-//     - name: library.googleapis.com/purchase_history
+//     - name: purchase_history
 //     logging:
 //       producer_destinations:
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
-//         - library.googleapis.com/activity_history
-//         - library.googleapis.com/purchase_history
+//         - activity_history
+//         - purchase_history
 //       consumer_destinations:
 //       - monitored_resource: library.googleapis.com/branch
 //         logs:
-//         - library.googleapis.com/activity_history
+//         - 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
@@ -60,7 +59,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 fileDescriptor10, []int{0} }
+func (*Logging) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
 
 func (m *Logging) GetProducerDestinations() []*Logging_LoggingDestination {
 	if m != nil {
@@ -79,45 +78,59 @@ func (m *Logging) GetConsumerDestinations() []*Logging_LoggingDestination {
 // Configuration of a specific logging destination (the producer project
 // or the consumer project).
 type Logging_LoggingDestination struct {
-	// The monitored resource type. The type must be defined in
+	// The monitored resource type. The type must be defined in the
 	// [Service.monitored_resources][google.api.Service.monitored_resources] section.
 	MonitoredResource string `protobuf:"bytes,3,opt,name=monitored_resource,json=monitoredResource" json:"monitored_resource,omitempty"`
 	// Names of the logs to be sent to this destination. Each name must
-	// be defined in the [Service.logs][google.api.Service.logs] section.
+	// be defined in the [Service.logs][google.api.Service.logs] section. If the log name is
+	// not a domain scoped name, it will be automatically prefixed with
+	// the service name followed by "/".
 	Logs []string `protobuf:"bytes,1,rep,name=logs" json:"logs,omitempty"`
 }
 
 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 fileDescriptor10, []int{0, 0} }
+func (*Logging_LoggingDestination) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0, 0} }
+
+func (m *Logging_LoggingDestination) GetMonitoredResource() string {
+	if m != nil {
+		return m.MonitoredResource
+	}
+	return ""
+}
+
+func (m *Logging_LoggingDestination) GetLogs() []string {
+	if m != nil {
+		return m.Logs
+	}
+	return nil
+}
 
 func init() {
 	proto.RegisterType((*Logging)(nil), "google.api.Logging")
 	proto.RegisterType((*Logging_LoggingDestination)(nil), "google.api.Logging.LoggingDestination")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto", fileDescriptor10)
-}
+func init() { proto.RegisterFile("google/api/logging.proto", fileDescriptor9) }
 
-var fileDescriptor10 = []byte{
-	// 263 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x90, 0x4f, 0x4b, 0xc3, 0x30,
-	0x18, 0x87, 0x69, 0x37, 0x94, 0x45, 0x11, 0x0c, 0x0a, 0x63, 0xa7, 0xe1, 0x41, 0x77, 0x31, 0x01,
-	0xfd, 0x04, 0x0e, 0x45, 0x06, 0x1e, 0x4a, 0x2f, 0x1e, 0x3c, 0x8c, 0x98, 0xc6, 0x97, 0x40, 0xfb,
-	0xbe, 0x21, 0x49, 0xfd, 0x34, 0x9e, 0xfc, 0xa4, 0xb2, 0xa6, 0x75, 0x45, 0x4f, 0x7a, 0x4a, 0xc8,
-	0xef, 0xc9, 0xf3, 0xfe, 0x61, 0x0f, 0x40, 0x04, 0xb5, 0x11, 0x40, 0xb5, 0x42, 0x10, 0xe4, 0x41,
-	0x82, 0x41, 0xe7, 0x29, 0x92, 0x4c, 0x91, 0x72, 0x36, 0x48, 0xe5, 0xac, 0x0c, 0xc6, 0xbf, 0x5b,
-	0x6d, 0x34, 0xe1, 0x9b, 0x05, 0x59, 0x13, 0x80, 0x45, 0x10, 0x1d, 0xca, 0x59, 0xaf, 0x51, 0xce,
-	0x2e, 0x36, 0xff, 0x55, 0x2a, 0x44, 0x8a, 0x2a, 0x5a, 0xc2, 0x90, 0xb4, 0x17, 0x1f, 0x39, 0x3b,
-	0x7c, 0x4a, 0x85, 0xf8, 0x0b, 0x3b, 0x77, 0x9e, 0xaa, 0x56, 0x1b, 0xbf, 0xad, 0x4c, 0x88, 0x16,
-	0x13, 0x3a, 0xcf, 0x96, 0x93, 0xd5, 0xd1, 0xcd, 0xa5, 0xd8, 0xb7, 0x20, 0xfa, 0x3f, 0xc3, 0x79,
-	0xbf, 0xc7, 0xcb, 0xb3, 0x41, 0x32, 0x7a, 0x0c, 0x3b, 0xb9, 0x26, 0x0c, 0x6d, 0xf3, 0x53, 0x9e,
-	0xff, 0x4d, 0x3e, 0x48, 0xc6, 0xf2, 0xc5, 0x33, 0xe3, 0xbf, 0x59, 0x7e, 0xcd, 0x78, 0x43, 0x68,
-	0x23, 0x79, 0x53, 0x6d, 0xbd, 0x09, 0xd4, 0x7a, 0x6d, 0xe6, 0x93, 0x65, 0xb6, 0x9a, 0x95, 0xa7,
-	0xdf, 0x49, 0xd9, 0x07, 0x9c, 0xb3, 0x69, 0x4d, 0x90, 0xa6, 0x9d, 0x95, 0xdd, 0x7d, 0x7d, 0xc5,
-	0x4e, 0x34, 0x35, 0xa3, 0xde, 0xd6, 0xc7, 0x7d, 0xa1, 0x62, 0xb7, 0xbe, 0x22, 0xfb, 0xcc, 0xa7,
-	0x8f, 0x77, 0xc5, 0xe6, 0xf5, 0xa0, 0x5b, 0xe7, 0xed, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x48,
-	0x22, 0x03, 0x10, 0xee, 0x01, 0x00, 0x00,
+var fileDescriptor9 = []byte{
+	// 270 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x90, 0x4f, 0x4b, 0xc4, 0x30,
+	0x10, 0xc5, 0x69, 0x77, 0x51, 0x36, 0x8a, 0x60, 0x50, 0x28, 0x8b, 0x87, 0xc5, 0x83, 0xec, 0xc5,
+	0x14, 0xf4, 0xe8, 0xc9, 0x45, 0x11, 0xc1, 0x43, 0xe9, 0x45, 0xd0, 0xc3, 0x12, 0xd3, 0x38, 0x04,
+	0xda, 0x99, 0x90, 0xa4, 0x7e, 0x1a, 0x4f, 0x7e, 0x52, 0xd9, 0xa6, 0x75, 0xab, 0x9e, 0xf6, 0x94,
+	0x3f, 0xef, 0xbd, 0x5f, 0x32, 0x8f, 0x65, 0x40, 0x04, 0xb5, 0xce, 0xa5, 0x35, 0x79, 0x4d, 0x00,
+	0x06, 0x41, 0x58, 0x47, 0x81, 0x38, 0x8b, 0x8a, 0x90, 0xd6, 0xcc, 0xcf, 0x46, 0x2e, 0x89, 0x48,
+	0x41, 0x06, 0x43, 0xe8, 0xa3, 0xf3, 0xfc, 0x33, 0x65, 0xfb, 0x4f, 0x31, 0xcb, 0x5f, 0xd9, 0xa9,
+	0x75, 0x54, 0xb5, 0x4a, 0xbb, 0x75, 0xa5, 0x7d, 0x30, 0x18, 0xad, 0x59, 0xb2, 0x98, 0x2c, 0x0f,
+	0xae, 0x2e, 0xc4, 0x96, 0x2a, 0xfa, 0xcc, 0xb0, 0xde, 0x6d, 0xed, 0xe5, 0xc9, 0x00, 0x19, 0x5d,
+	0xfa, 0x0d, 0x5c, 0x11, 0xfa, 0xb6, 0xf9, 0x0b, 0x4f, 0x77, 0x83, 0x0f, 0x90, 0x31, 0x7c, 0xfe,
+	0xcc, 0xf8, 0x7f, 0x2f, 0xbf, 0x64, 0xbc, 0x21, 0x34, 0x81, 0x9c, 0xae, 0xd6, 0x4e, 0x7b, 0x6a,
+	0x9d, 0xd2, 0xd9, 0x64, 0x91, 0x2c, 0x67, 0xe5, 0xf1, 0x8f, 0x52, 0xf6, 0x02, 0xe7, 0x6c, 0x5a,
+	0x13, 0xc4, 0x69, 0x67, 0x65, 0xb7, 0x5f, 0x21, 0x3b, 0x52, 0xd4, 0x8c, 0xfe, 0xb6, 0x3a, 0xec,
+	0x1f, 0x2a, 0x36, 0xf5, 0x15, 0xc9, 0xcb, 0x7d, 0xaf, 0x01, 0xd5, 0x12, 0x41, 0x90, 0x83, 0x1c,
+	0x34, 0x76, 0xe5, 0xe6, 0x51, 0x92, 0xd6, 0xf8, 0xae, 0x7d, 0xaf, 0xdd, 0x87, 0x51, 0x5a, 0x11,
+	0xbe, 0x1b, 0xb8, 0xf9, 0x75, 0xfa, 0x4a, 0xa7, 0x0f, 0xb7, 0xc5, 0xe3, 0xdb, 0x5e, 0x17, 0xbc,
+	0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x73, 0x4f, 0x86, 0x6e, 0xdb, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/logging.proto b/googleapis/api/serviceconfig/logging.proto
deleted file mode 100644
index d37ddbb6..00000000
--- a/googleapis/api/serviceconfig/logging.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// 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 = "LoggingProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Logging configuration of the service.
-//
-// The following example shows how to configure logs to be sent to the
-// producer and consumer projects. In the example,
-// the `library.googleapis.com/activity_history` log is
-// sent to both the producer and consumer projects, whereas
-// the `library.googleapis.com/purchase_history` log is only sent to the
-// producer project:
-//
-//     monitored_resources:
-//     - type: library.googleapis.com/branch
-//       labels:
-//       - key: /city
-//         description: The city where the library branch is located in.
-//       - key: /name
-//         description: The name of the branch.
-//     logs:
-//     - name: library.googleapis.com/activity_history
-//       labels:
-//       - key: /customer_id
-//     - name: library.googleapis.com/purchase_history
-//     logging:
-//       producer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         logs:
-//         - library.googleapis.com/activity_history
-//         - library.googleapis.com/purchase_history
-//       consumer_destinations:
-//       - 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).
-  message LoggingDestination {
-    // The monitored resource type. The type must be defined in
-    // [Service.monitored_resources][google.api.Service.monitored_resources] section.
-    string monitored_resource = 3;
-
-    // Names of the logs to be sent to this destination. Each name must
-    // be defined in the [Service.logs][google.api.Service.logs] section.
-    repeated string logs = 1;
-  }
-
-  // Logging configurations for sending logs to the producer project.
-  // There can be multiple producer destinations, each one must have a
-  // different monitored resource type. A log can be used in at most
-  // one producer destination.
-  repeated LoggingDestination producer_destinations = 1;
-
-  // Logging configurations for sending logs to the consumer project.
-  // There can be multiple consumer destinations, each one must have a
-  // different monitored resource type. A log can be used in at most
-  // one consumer destination.
-  repeated LoggingDestination consumer_destinations = 2;
-}
diff --git a/googleapis/api/serviceconfig/monitoring.pb.go b/googleapis/api/serviceconfig/monitoring.pb.go
index d8554a62..3dde768f 100644
--- a/googleapis/api/serviceconfig/monitoring.pb.go
+++ b/googleapis/api/serviceconfig/monitoring.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto
+// source: google/api/monitoring.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -66,7 +67,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 fileDescriptor12, []int{0} }
+func (*Monitoring) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
 
 func (m *Monitoring) GetProducerDestinations() []*Monitoring_MonitoringDestination {
 	if m != nil {
@@ -97,7 +98,21 @@ 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 fileDescriptor12, []int{0, 0}
+	return fileDescriptor10, []int{0, 0}
+}
+
+func (m *Monitoring_MonitoringDestination) GetMonitoredResource() string {
+	if m != nil {
+		return m.MonitoredResource
+	}
+	return ""
+}
+
+func (m *Monitoring_MonitoringDestination) GetMetrics() []string {
+	if m != nil {
+		return m.Metrics
+	}
+	return nil
 }
 
 func init() {
@@ -105,27 +120,25 @@ func init() {
 	proto.RegisterType((*Monitoring_MonitoringDestination)(nil), "google.api.Monitoring.MonitoringDestination")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto", fileDescriptor12)
-}
+func init() { proto.RegisterFile("google/api/monitoring.proto", fileDescriptor10) }
 
-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, 0x11, 0x14, 0x8b, 0x83, 0xb2, 0xab, 0xe1, 0xd5, 0x10, 0x4d, 0x40,
-	0x9f, 0xc0, 0x21, 0xe8, 0x2e, 0x84, 0xd2, 0x17, 0x98, 0x31, 0x3d, 0x86, 0x03, 0xeb, 0x39, 0x21,
-	0x49, 0x7d, 0x20, 0x9f, 0xc1, 0x07, 0x94, 0xad, 0xed, 0x5a, 0x64, 0x57, 0xbb, 0x6b, 0xf3, 0xff,
-	0xe7, 0xff, 0x7e, 0x7e, 0xf1, 0x66, 0x99, 0xed, 0x06, 0xa4, 0xe5, 0x8d, 0x26, 0x2b, 0xd9, 0x5b,
-	0x65, 0x81, 0x9c, 0xe7, 0xc8, 0xaa, 0x95, 0xb4, 0xc3, 0xa0, 0xb4, 0x43, 0x15, 0xc0, 0x7f, 0xa3,
-	0x01, 0xc3, 0xf4, 0x85, 0x56, 0xd5, 0x4c, 0x18, 0xd9, 0x23, 0x59, 0xb9, 0x73, 0x67, 0xa2, 0x4b,
-	0xd2, 0x0e, 0x67, 0xab, 0x63, 0x53, 0x35, 0x11, 0x47, 0x1d, 0x91, 0x29, 0xb4, 0xb1, 0xb7, 0xbf,
-	0xa9, 0x10, 0xef, 0x7b, 0x56, 0xa6, 0xc5, 0xd4, 0x79, 0xae, 0x1a, 0x03, 0x7e, 0x5d, 0x41, 0x88,
-	0x48, 0xad, 0x3b, 0x4f, 0xe6, 0x27, 0x8b, 0x8b, 0xc7, 0x7b, 0x39, 0xb4, 0x90, 0xc3, 0xd9, 0xe8,
-	0xf3, 0x65, 0x38, 0x2a, 0x6f, 0xfa, 0xa8, 0xd1, 0x63, 0xd8, 0x22, 0x0c, 0x53, 0x68, 0xea, 0xff,
-	0x88, 0xf4, 0x18, 0x44, 0x1f, 0x35, 0x46, 0xcc, 0x3e, 0xc4, 0xf4, 0xa0, 0x3d, 0x7b, 0x10, 0x59,
-	0x37, 0x2c, 0x54, 0x6b, 0x0f, 0x81, 0x1b, 0x6f, 0x20, 0x4f, 0xe6, 0xc9, 0x62, 0x52, 0x5e, 0xef,
-	0x95, 0xb2, 0x13, 0xb2, 0x5c, 0x9c, 0xd7, 0x10, 0x3d, 0x9a, 0xb6, 0xdc, 0xa4, 0xec, 0x7f, 0x97,
-	0x77, 0xe2, 0xd2, 0x70, 0x3d, 0xaa, 0xba, 0xbc, 0x1a, 0x88, 0xc5, 0x76, 0xd9, 0x22, 0xf9, 0x49,
-	0x4f, 0x5f, 0x9f, 0x8b, 0xd5, 0xe7, 0xd9, 0x6e, 0xe9, 0xa7, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff,
-	0x1a, 0x02, 0x76, 0xbb, 0x0c, 0x02, 0x00, 0x00,
+var fileDescriptor10 = []byte{
+	// 271 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x51, 0xcd, 0x4a, 0xc4, 0x30,
+	0x10, 0xa6, 0x55, 0x94, 0x8d, 0xa0, 0x58, 0x5c, 0x28, 0xab, 0x87, 0xc5, 0xd3, 0x1e, 0xb4, 0x05,
+	0x3d, 0x7a, 0x72, 0x51, 0xc4, 0x83, 0x50, 0x7a, 0xf4, 0xb2, 0xc6, 0x74, 0x0c, 0x03, 0xdb, 0x99,
+	0x9a, 0xa4, 0x3e, 0x90, 0xcf, 0xe0, 0x03, 0xca, 0x36, 0xed, 0x36, 0x8a, 0x27, 0x6f, 0x99, 0x7c,
+	0x7f, 0xc3, 0x37, 0xe2, 0x54, 0x33, 0xeb, 0x35, 0xe4, 0xb2, 0xc1, 0xbc, 0x66, 0x42, 0xc7, 0x06,
+	0x49, 0x67, 0x8d, 0x61, 0xc7, 0x89, 0xf0, 0x60, 0x26, 0x1b, 0x9c, 0x9d, 0x05, 0x44, 0x49, 0xc4,
+	0x4e, 0x3a, 0x64, 0xb2, 0x9e, 0x79, 0xfe, 0x15, 0x0b, 0xf1, 0xb4, 0x95, 0x27, 0x52, 0x4c, 0x1b,
+	0xc3, 0x55, 0xab, 0xc0, 0xac, 0x2a, 0xb0, 0x0e, 0xc9, 0xb3, 0xd3, 0x68, 0xbe, 0xb3, 0x38, 0xb8,
+	0xba, 0xc8, 0x46, 0xe3, 0x6c, 0x94, 0x05, 0xcf, 0xbb, 0x51, 0x54, 0x9e, 0x0c, 0x56, 0xc1, 0xa7,
+	0xdd, 0x44, 0x28, 0x26, 0xdb, 0xd6, 0xbf, 0x23, 0xe2, 0xff, 0x44, 0x0c, 0x56, 0x61, 0xc4, 0xec,
+	0x45, 0x4c, 0xff, 0xa4, 0x27, 0x97, 0x22, 0xe9, 0xbb, 0x82, 0x6a, 0x65, 0xc0, 0x72, 0x6b, 0x14,
+	0xa4, 0xd1, 0x3c, 0x5a, 0x4c, 0xca, 0xe3, 0x2d, 0x52, 0xf6, 0x40, 0x92, 0x8a, 0xfd, 0x1a, 0x9c,
+	0x41, 0xe5, 0x97, 0x9b, 0x94, 0xc3, 0xb8, 0x7c, 0x17, 0x87, 0x8a, 0xeb, 0x60, 0xd5, 0xe5, 0xd1,
+	0x98, 0x58, 0x6c, 0x9a, 0x2d, 0xa2, 0xe7, 0xfb, 0x1e, 0xd6, 0xbc, 0x96, 0xa4, 0x33, 0x36, 0x3a,
+	0xd7, 0x40, 0x5d, 0xef, 0xb9, 0x87, 0x64, 0x83, 0xb6, 0x3b, 0x8c, 0x05, 0xf3, 0x81, 0x0a, 0x14,
+	0xd3, 0x1b, 0xea, 0x9b, 0x1f, 0xd3, 0x67, 0xbc, 0xfb, 0x70, 0x5b, 0x3c, 0xbe, 0xee, 0x75, 0xc2,
+	0xeb, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x51, 0x35, 0xf3, 0xe2, 0xf9, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/monitoring.proto b/googleapis/api/serviceconfig/monitoring.proto
deleted file mode 100644
index d29cbe5a..00000000
--- a/googleapis/api/serviceconfig/monitoring.proto
+++ /dev/null
@@ -1,88 +0,0 @@
-// 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 = "MonitoringProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Monitoring configuration of the service.
-//
-// The example below shows how to configure monitored resources and metrics
-// for monitoring. In the example, a monitored resource and two metrics are
-// defined. The `library.googleapis.com/book/returned_count` metric is sent
-// to both producer and consumer projects, whereas the
-// `library.googleapis.com/book/overdue_count` metric is only sent to the
-// consumer project.
-//
-//     monitored_resources:
-//     - type: library.googleapis.com/branch
-//       labels:
-//       - key: /city
-//         description: The city where the library branch is located in.
-//       - key: /name
-//         description: The name of the branch.
-//     metrics:
-//     - name: library.googleapis.com/book/returned_count
-//       metric_kind: DELTA
-//       value_type: INT64
-//       labels:
-//       - key: /customer_id
-//     - name: library.googleapis.com/book/overdue_count
-//       metric_kind: GAUGE
-//       value_type: INT64
-//       labels:
-//       - key: /customer_id
-//     monitoring:
-//       producer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         metrics:
-//         - library.googleapis.com/book/returned_count
-//       consumer_destinations:
-//       - monitored_resource: library.googleapis.com/branch
-//         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).
-  message MonitoringDestination {
-    // The monitored resource type. The type must be defined in
-    // [Service.monitored_resources][google.api.Service.monitored_resources] section.
-    string monitored_resource = 1;
-
-    // Names of the metrics to report to this monitoring destination.
-    // Each name must be defined in [Service.metrics][google.api.Service.metrics] section.
-    repeated string metrics = 2;
-  }
-
-  // Monitoring configurations for sending metrics to the producer project.
-  // There can be multiple producer destinations, each one must have a
-  // different monitored resource type. A metric can be used in at most
-  // one producer destination.
-  repeated MonitoringDestination producer_destinations = 1;
-
-  // Monitoring configurations for sending metrics to the consumer project.
-  // There can be multiple consumer destinations, each one must have a
-  // different monitored resource type. A metric can be used in at most
-  // one consumer destination.
-  repeated MonitoringDestination consumer_destinations = 2;
-}
diff --git a/googleapis/api/serviceconfig/service.pb.go b/googleapis/api/serviceconfig/service.pb.go
index a283a382..fe962259 100644
--- a/googleapis/api/serviceconfig/service.pb.go
+++ b/googleapis/api/serviceconfig/service.pb.go
@@ -1,18 +1,20 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/service.proto
+// source: google/api/service.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
+import google_api "google.golang.org/genproto/googleapis/api/annotations"
 import _ "google.golang.org/genproto/googleapis/api/label"
-import google_api2 "google.golang.org/genproto/googleapis/api/metric"
-import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
+import google_api3 "google.golang.org/genproto/googleapis/api/metric"
+import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import _ "github.com/golang/protobuf/ptypes/any"
-import google_protobuf4 "google.golang.org/genproto/protobuf"
-import google_protobuf3 "google.golang.org/genproto/protobuf"
+import google_protobuf4 "google.golang.org/genproto/protobuf/api"
+import google_protobuf3 "google.golang.org/genproto/protobuf/ptype"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/wrappers"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -20,23 +22,29 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// `Service` is the root object of the configuration schema. It
-// describes basic information like the name of the service and the
-// exposed API interfaces, and delegates other aspects to configuration
-// sub-sections.
+// `Service` is the root object of Google service configuration schema. It
+// describes basic information about a service, such as the name and the
+// title, and delegates other aspects to sub-sections. Each sub-section is
+// either a proto message or a repeated proto message that configures a
+// specific aspect, such as auth. See each proto message definition for details.
 //
 // Example:
 //
 //     type: google.api.Service
-//     config_version: 1
+//     config_version: 3
 //     name: calendar.googleapis.com
 //     title: Google Calendar API
 //     apis:
-//     - name: google.calendar.Calendar
-//     backend:
+//     - name: google.calendar.v3.Calendar
+//     authentication:
+//       providers:
+//       - id: google_calendar_auth
+//         jwks_uri: https://www.googleapis.com/oauth2/v1/certs
+//         issuer: https://securetoken.google.com
 //       rules:
 //       - selector: "*"
-//         address: calendar.example.com
+//         requirements:
+//           provider_id: google_calendar_auth
 type Service struct {
 	// The version of the service configuration. The config version may
 	// influence interpretation of the configuration, for example, to
@@ -84,7 +92,7 @@ type Service struct {
 	// API backend configuration.
 	Backend *Backend `protobuf:"bytes,8,opt,name=backend" json:"backend,omitempty"`
 	// HTTP configuration.
-	Http *Http `protobuf:"bytes,9,opt,name=http" json:"http,omitempty"`
+	Http *google_api.Http `protobuf:"bytes,9,opt,name=http" json:"http,omitempty"`
 	// Auth configuration.
 	Authentication *Authentication `protobuf:"bytes,11,opt,name=authentication" json:"authentication,omitempty"`
 	// Context configuration.
@@ -100,22 +108,22 @@ type Service struct {
 	// Defines the logs used by this service.
 	Logs []*LogDescriptor `protobuf:"bytes,23,rep,name=logs" json:"logs,omitempty"`
 	// Defines the metrics used by this service.
-	Metrics []*google_api2.MetricDescriptor `protobuf:"bytes,24,rep,name=metrics" json:"metrics,omitempty"`
+	Metrics []*google_api3.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"`
-	// Logging configuration of the service.
+	MonitoredResources []*google_api4.MonitoredResourceDescriptor `protobuf:"bytes,25,rep,name=monitored_resources,json=monitoredResources" json:"monitored_resources,omitempty"`
+	// Logging configuration.
 	Logging *Logging `protobuf:"bytes,27,opt,name=logging" json:"logging,omitempty"`
-	// Monitoring configuration of the service.
+	// Monitoring configuration.
 	Monitoring *Monitoring `protobuf:"bytes,28,opt,name=monitoring" json:"monitoring,omitempty"`
-	// Configuration for system parameters.
+	// System parameter configuration.
 	SystemParameters *SystemParameters `protobuf:"bytes,29,opt,name=system_parameters,json=systemParameters" json:"system_parameters,omitempty"`
 }
 
 func (m *Service) Reset()                    { *m = Service{} }
 func (m *Service) String() string            { return proto.CompactTextString(m) }
 func (*Service) ProtoMessage()               {}
-func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
 
 func (m *Service) GetConfigVersion() *google_protobuf5.UInt32Value {
 	if m != nil {
@@ -124,6 +132,34 @@ func (m *Service) GetConfigVersion() *google_protobuf5.UInt32Value {
 	return nil
 }
 
+func (m *Service) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Service) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Service) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Service) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
 func (m *Service) GetApis() []*google_protobuf4.Api {
 	if m != nil {
 		return m.Apis
@@ -159,7 +195,7 @@ func (m *Service) GetBackend() *Backend {
 	return nil
 }
 
-func (m *Service) GetHttp() *Http {
+func (m *Service) GetHttp() *google_api.Http {
 	if m != nil {
 		return m.Http
 	}
@@ -208,14 +244,14 @@ func (m *Service) GetLogs() []*LogDescriptor {
 	return nil
 }
 
-func (m *Service) GetMetrics() []*google_api2.MetricDescriptor {
+func (m *Service) GetMetrics() []*google_api3.MetricDescriptor {
 	if m != nil {
 		return m.Metrics
 	}
 	return nil
 }
 
-func (m *Service) GetMonitoredResources() []*google_api3.MonitoredResourceDescriptor {
+func (m *Service) GetMonitoredResources() []*google_api4.MonitoredResourceDescriptor {
 	if m != nil {
 		return m.MonitoredResources
 	}
@@ -247,59 +283,54 @@ func init() {
 	proto.RegisterType((*Service)(nil), "google.api.Service")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/service.proto", fileDescriptor13)
-}
+func init() { proto.RegisterFile("google/api/service.proto", fileDescriptor11) }
 
-var fileDescriptor13 = []byte{
-	// 778 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x95, 0xed, 0x6e, 0xfb, 0x34,
-	0x14, 0xc6, 0xd5, 0xfe, 0xdb, 0xff, 0x36, 0xef, 0x85, 0xcd, 0x7b, 0xc1, 0x2b, 0x43, 0x1a, 0x08,
-	0x69, 0x95, 0xd0, 0x12, 0xa9, 0x93, 0x26, 0x21, 0x84, 0x50, 0xbb, 0x0d, 0x56, 0x31, 0xa0, 0xf2,
-	0xd8, 0xc4, 0xb7, 0xca, 0x4d, 0xbc, 0xcc, 0x90, 0xd8, 0x96, 0xed, 0x0c, 0x7a, 0x3b, 0x5c, 0x0b,
-	0x17, 0x86, 0x62, 0x3b, 0x6b, 0xda, 0x0e, 0x18, 0x19, 0x1f, 0xb6, 0x26, 0x79, 0x7e, 0xcf, 0x93,
-	0x73, 0x62, 0xf9, 0x18, 0x5c, 0x25, 0x42, 0x24, 0x29, 0x0d, 0x12, 0x91, 0x12, 0x9e, 0x04, 0x42,
-	0x25, 0x61, 0x42, 0xb9, 0x54, 0xc2, 0x88, 0xd0, 0x49, 0x44, 0x32, 0x1d, 0x12, 0xc9, 0x42, 0x4d,
-	0xd5, 0x13, 0x8b, 0x68, 0x24, 0xf8, 0x03, 0x4b, 0xca, 0xbb, 0xc0, 0xa2, 0x10, 0xf8, 0x18, 0x22,
-	0x59, 0x67, 0x58, 0x37, 0x92, 0x70, 0x2e, 0x0c, 0x31, 0x4c, 0x70, 0xed, 0x62, 0x3b, 0x83, 0xda,
-	0x51, 0xb9, 0x79, 0xf4, 0x19, 0xb5, 0x3b, 0x9c, 0x90, 0xe8, 0x57, 0xca, 0xe3, 0xb7, 0xc6, 0x44,
-	0x82, 0x1b, 0xfa, 0xbb, 0xf9, 0x3f, 0x62, 0x94, 0x48, 0x7d, 0xcc, 0x77, 0x75, 0x63, 0x62, 0x11,
-	0xe5, 0x19, 0xe5, 0xee, 0x33, 0xfb, 0xb0, 0x6f, 0xea, 0x86, 0x51, 0x1e, 0x4b, 0xc1, 0xb8, 0x79,
-	0xeb, 0x6a, 0x3d, 0x1a, 0x23, 0x7d, 0xc6, 0x97, 0xaf, 0xcf, 0x48, 0xc9, 0x84, 0xa6, 0xee, 0xbf,
-	0x37, 0xf7, 0xeb, 0x16, 0x90, 0x8a, 0xe4, 0xad, 0xeb, 0x93, 0x8a, 0x24, 0x61, 0xbc, 0x8c, 0xf9,
-	0xea, 0xf5, 0x31, 0x19, 0x35, 0x8a, 0x45, 0xfe, 0xc7, 0xdb, 0x7f, 0xfc, 0x0f, 0x76, 0xc1, 0x99,
-	0x11, 0x8a, 0xc6, 0x8a, 0xea, 0xd9, 0xcd, 0x58, 0x51, 0x2d, 0x72, 0x55, 0xee, 0xcf, 0xce, 0x75,
-	0xdd, 0xb6, 0x7c, 0xe2, 0xac, 0xb3, 0x1f, 0x6a, 0x0f, 0x8c, 0xa9, 0x36, 0x34, 0x1b, 0x4b, 0xa2,
-	0x48, 0x46, 0x0d, 0x55, 0x3e, 0xef, 0xa2, 0x6e, 0x5e, 0xae, 0x49, 0x52, 0xb6, 0x17, 0x26, 0xcc,
-	0x3c, 0xe6, 0x93, 0x20, 0x12, 0x59, 0xe8, 0x82, 0x42, 0x2b, 0x4c, 0xf2, 0x87, 0x50, 0x9a, 0xa9,
-	0xa4, 0x3a, 0x24, 0x7c, 0x5a, 0xfc, 0x79, 0xc3, 0xe9, 0x3f, 0xbc, 0xf5, 0xd9, 0x49, 0x24, 0xf3,
-	0x78, 0xf0, 0x1a, 0xbc, 0x78, 0x8f, 0xe7, 0xbf, 0xf8, 0xf7, 0x7a, 0x7e, 0x53, 0x44, 0x4a, 0xaa,
-	0x66, 0x17, 0xce, 0xfa, 0xe9, 0x9f, 0xab, 0x60, 0xe5, 0xd6, 0x35, 0x0a, 0x2f, 0xc0, 0x96, 0x6b,
-	0x76, 0xfc, 0x44, 0x95, 0x66, 0x82, 0xa3, 0xbd, 0xe3, 0x46, 0x77, 0xbd, 0x77, 0x54, 0xd6, 0x53,
-	0x86, 0x06, 0x77, 0x43, 0x6e, 0xce, 0x7a, 0xf7, 0x24, 0xcd, 0x29, 0xde, 0x74, 0x9e, 0x7b, 0x67,
-	0x81, 0x10, 0xb4, 0x38, 0xc9, 0x28, 0x6a, 0x1c, 0x37, 0xba, 0x6b, 0xd8, 0x5e, 0xc3, 0x2d, 0xd0,
-	0x64, 0x31, 0xfa, 0xc4, 0x3e, 0x69, 0xb2, 0x18, 0xee, 0x81, 0xb6, 0x61, 0x26, 0xa5, 0xa8, 0x69,
-	0x1f, 0xb9, 0x1b, 0x18, 0x80, 0x5d, 0xa9, 0x44, 0x9c, 0x47, 0x54, 0x8d, 0xa5, 0x12, 0xbf, 0xd0,
-	0xc8, 0x8c, 0x59, 0x8c, 0x0e, 0x2c, 0xb3, 0x53, 0x4a, 0x23, 0xa7, 0x0c, 0x63, 0xd8, 0x05, 0xad,
-	0x62, 0xad, 0xd0, 0xbb, 0xe3, 0x77, 0xdd, 0xf5, 0xde, 0xde, 0x52, 0x91, 0x7d, 0xc9, 0xb0, 0x25,
-	0xe0, 0xe7, 0xa0, 0x6d, 0xbf, 0x02, 0x6a, 0x59, 0x74, 0x7f, 0x09, 0xfd, 0x69, 0x2a, 0x29, 0x76,
-	0x4c, 0x01, 0x53, 0x9e, 0x67, 0x1a, 0xb5, 0xff, 0x06, 0xbe, 0xe2, 0x79, 0x86, 0x1d, 0x03, 0xbf,
-	0x06, 0x9b, 0x73, 0x23, 0x0e, 0xbd, 0xb7, 0x5f, 0xec, 0x30, 0x98, 0x1d, 0x50, 0xc1, 0x65, 0x15,
-	0xc0, 0xf3, 0x3c, 0x3c, 0x05, 0x2b, 0x7e, 0xf0, 0xa3, 0x55, 0x6b, 0xdd, 0xad, 0x5a, 0x07, 0x4e,
-	0xc2, 0x25, 0x03, 0x3f, 0x03, 0xad, 0x62, 0x7a, 0xa1, 0x35, 0xcb, 0x6e, 0x57, 0xd9, 0x6b, 0x63,
-	0x24, 0xb6, 0x2a, 0x1c, 0x80, 0xad, 0xe2, 0x44, 0xa2, 0xdc, 0xb0, 0xc8, 0x95, 0xb5, 0x6e, 0xf9,
-	0x4e, 0x95, 0xef, 0xcf, 0x11, 0x78, 0xc1, 0x51, 0x14, 0xe6, 0x8f, 0x12, 0xb4, 0xb1, 0x5c, 0xd8,
-	0x85, 0x93, 0x70, 0xc9, 0xc0, 0x13, 0xd0, 0xb6, 0x3b, 0x04, 0x7d, 0x60, 0xe1, 0x9d, 0x2a, 0x7c,
-	0x57, 0x08, 0xd8, 0xe9, 0xb0, 0x07, 0xd6, 0xca, 0x39, 0xae, 0x11, 0x9c, 0x5f, 0xba, 0x02, 0xbe,
-	0xf2, 0x22, 0x9e, 0x61, 0x65, 0x2d, 0x4a, 0xa4, 0x68, 0xff, 0xe5, 0x5a, 0x94, 0x48, 0x71, 0xc9,
-	0xc0, 0x53, 0xd0, 0x4a, 0x45, 0xa2, 0xd1, 0x87, 0x36, 0x7d, 0x6e, 0x2d, 0x6e, 0x44, 0x72, 0x49,
-	0x75, 0xa4, 0x98, 0x34, 0x42, 0x61, 0x8b, 0xc1, 0x73, 0xb0, 0xe2, 0xa6, 0xa1, 0x46, 0xc8, 0x3a,
-	0x8e, 0xaa, 0x8e, 0xef, 0xad, 0x54, 0x31, 0x95, 0x30, 0xfc, 0x19, 0xec, 0x2e, 0x0f, 0x40, 0x8d,
-	0x0e, 0x6d, 0xc6, 0xc9, 0x5c, 0x46, 0x89, 0x61, 0x4f, 0x55, 0xe2, 0x60, 0xb6, 0x28, 0xda, 0x7e,
-	0xfd, 0x7c, 0x47, 0x1f, 0x2d, 0xf7, 0x7b, 0xe3, 0x24, 0x5c, 0x32, 0xf0, 0x1c, 0x80, 0xd9, 0xdc,
-	0x44, 0x47, 0xd6, 0x71, 0xf0, 0xc2, 0xfb, 0x0b, 0x53, 0x85, 0x84, 0x43, 0xb0, 0xb3, 0x38, 0x25,
-	0x35, 0xfa, 0x78, 0x7e, 0xcb, 0x17, 0xf6, 0x5b, 0x0b, 0x8d, 0x9e, 0x19, 0xbc, 0xad, 0x17, 0x9e,
-	0x0c, 0x4e, 0x8a, 0xd1, 0x91, 0x55, 0x4c, 0x83, 0x0d, 0x3f, 0x55, 0x46, 0xc5, 0xb6, 0x19, 0x35,
-	0xfe, 0x68, 0xb6, 0xbe, 0xed, 0x8f, 0x86, 0x93, 0xf7, 0x76, 0x1b, 0x9d, 0xfd, 0x15, 0x00, 0x00,
-	0xff, 0xff, 0xfc, 0x22, 0x08, 0x2f, 0x09, 0x0a, 0x00, 0x00,
+var fileDescriptor11 = []byte{
+	// 732 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x95, 0xdd, 0x4e, 0xe3, 0x38,
+	0x14, 0x80, 0xd5, 0xd2, 0xf2, 0x63, 0x7e, 0x16, 0x4c, 0x01, 0x53, 0xba, 0x2b, 0xd8, 0x5d, 0x89,
+	0x4a, 0x2b, 0x52, 0xa9, 0x48, 0xdc, 0xec, 0xc5, 0x8a, 0x02, 0xda, 0xad, 0xc4, 0x4a, 0x95, 0x19,
+	0xd0, 0x68, 0x6e, 0xaa, 0x34, 0x31, 0xc1, 0x33, 0x89, 0x6d, 0xd9, 0x0e, 0x33, 0x7d, 0x9d, 0x79,
+	0x96, 0x79, 0xb0, 0x51, 0x6c, 0x87, 0x3a, 0x6d, 0xb9, 0x6b, 0xfc, 0x7d, 0xe7, 0xe4, 0xc4, 0xf6,
+	0x39, 0x05, 0x28, 0xe1, 0x3c, 0x49, 0x49, 0x2f, 0x14, 0xb4, 0xa7, 0x88, 0x7c, 0xa5, 0x11, 0x09,
+	0x84, 0xe4, 0x9a, 0x43, 0x60, 0x49, 0x10, 0x0a, 0xda, 0xee, 0x78, 0x56, 0xc8, 0x18, 0xd7, 0xa1,
+	0xa6, 0x9c, 0x29, 0x6b, 0xb6, 0x0f, 0x7c, 0x9a, 0xeb, 0x17, 0xb7, 0xec, 0xa7, 0x9e, 0x84, 0xd1,
+	0x17, 0xc2, 0xe2, 0x25, 0x24, 0xe2, 0x4c, 0x93, 0x6f, 0xfa, 0x1d, 0x22, 0x79, 0xea, 0xc8, 0x6f,
+	0x1e, 0x89, 0x79, 0x94, 0x67, 0x84, 0xd9, 0x2a, 0x1c, 0x3f, 0xf6, 0x38, 0x61, 0xb1, 0xe0, 0x94,
+	0xe9, 0x25, 0xf5, 0xbd, 0x68, 0x2d, 0xdc, 0xf2, 0xa1, 0xb7, 0x9c, 0x86, 0x13, 0x52, 0xbe, 0xa9,
+	0xe5, 0xaf, 0xf3, 0x64, 0x49, 0x65, 0x29, 0x4f, 0x12, 0xca, 0x4a, 0x72, 0xe4, 0x91, 0x8c, 0x68,
+	0x49, 0x23, 0x07, 0xfe, 0xf0, 0x01, 0x67, 0x54, 0x73, 0x49, 0xe2, 0xb1, 0x24, 0x8a, 0xe7, 0xb2,
+	0xdc, 0xe6, 0xf6, 0xc9, 0xa2, 0x34, 0x4b, 0x7d, 0xe6, 0x9f, 0xce, 0x54, 0x69, 0x92, 0x8d, 0x45,
+	0x28, 0xc3, 0x8c, 0x68, 0x22, 0x97, 0x7c, 0x45, 0xae, 0xc2, 0x84, 0xcc, 0xed, 0x87, 0x79, 0x9a,
+	0xe4, 0xcf, 0xbd, 0x90, 0x4d, 0xdf, 0x45, 0x82, 0x3a, 0xd4, 0x9e, 0x47, 0x7a, 0x2a, 0xc8, 0xdc,
+	0x09, 0xbc, 0xb1, 0xaf, 0x32, 0x14, 0x82, 0x48, 0x77, 0x0d, 0x7e, 0xff, 0xb1, 0x0e, 0xd6, 0x1e,
+	0xec, 0x15, 0x82, 0x37, 0x60, 0x27, 0xe2, 0xec, 0x99, 0x26, 0xe3, 0x57, 0x22, 0x15, 0xe5, 0x0c,
+	0xb5, 0x4e, 0x6b, 0xdd, 0xcd, 0x7e, 0x27, 0x70, 0xb7, 0xaa, 0x4c, 0x12, 0x3c, 0x0e, 0x99, 0xbe,
+	0xec, 0x3f, 0x85, 0x69, 0x4e, 0xf0, 0xb6, 0x8d, 0x79, 0xb2, 0x21, 0x10, 0x82, 0x06, 0x0b, 0x33,
+	0x82, 0x6a, 0xa7, 0xb5, 0xee, 0x06, 0x36, 0xbf, 0xe1, 0x0e, 0xa8, 0xd3, 0x18, 0x9d, 0x99, 0x95,
+	0x3a, 0x8d, 0x61, 0x0b, 0x34, 0x35, 0xd5, 0x29, 0x41, 0x75, 0xb3, 0x64, 0x1f, 0x60, 0x00, 0xf6,
+	0x85, 0xe4, 0x71, 0x1e, 0x11, 0x39, 0x16, 0x92, 0x7f, 0x26, 0x91, 0x1e, 0xd3, 0x18, 0x1d, 0x1a,
+	0x67, 0xaf, 0x44, 0x23, 0x4b, 0x86, 0x31, 0xec, 0x82, 0x46, 0x28, 0xa8, 0x42, 0x2b, 0xa7, 0x2b,
+	0xdd, 0xcd, 0x7e, 0x6b, 0xa1, 0xc8, 0x6b, 0x41, 0xb1, 0x31, 0xe0, 0x5f, 0xa0, 0x59, 0x6c, 0x89,
+	0x42, 0x0d, 0xa3, 0x1e, 0x2c, 0xa8, 0x1f, 0xa6, 0x82, 0x60, 0xeb, 0x14, 0x32, 0x61, 0x79, 0xa6,
+	0x50, 0xf3, 0x1d, 0xf9, 0x8e, 0xe5, 0x19, 0xb6, 0x0e, 0xfc, 0x07, 0x6c, 0x57, 0xee, 0x35, 0x5a,
+	0x35, 0x3b, 0x76, 0x1c, 0xcc, 0xfa, 0x30, 0xb8, 0xf5, 0x05, 0x5c, 0xf5, 0xe1, 0x05, 0x58, 0x73,
+	0x6d, 0x86, 0xd6, 0x4d, 0xe8, 0xbe, 0x1f, 0x3a, 0xb0, 0x08, 0x97, 0x0e, 0xfc, 0x13, 0x34, 0x8a,
+	0x66, 0x40, 0x1b, 0xc6, 0xdd, 0xf5, 0xdd, 0xff, 0xb4, 0x16, 0xd8, 0x50, 0x38, 0x00, 0x3b, 0x45,
+	0x4b, 0x13, 0xa6, 0x69, 0x64, 0xcb, 0xda, 0x34, 0x7e, 0xdb, 0xf7, 0xaf, 0x2b, 0x06, 0x9e, 0x8b,
+	0x28, 0x0a, 0x73, 0x5d, 0x8e, 0xb6, 0x16, 0x0b, 0xbb, 0xb1, 0x08, 0x97, 0x0e, 0x3c, 0x07, 0x4d,
+	0x73, 0x91, 0xd1, 0x2f, 0x46, 0xde, 0xf3, 0xe5, 0xc7, 0x02, 0x60, 0xcb, 0x61, 0x1f, 0x6c, 0x94,
+	0x9d, 0xae, 0x10, 0xac, 0x1e, 0x5d, 0x21, 0xdf, 0x39, 0x88, 0x67, 0x5a, 0x59, 0x8b, 0xe4, 0x29,
+	0x3a, 0x58, 0x5e, 0x8b, 0xe4, 0x29, 0x2e, 0x1d, 0x78, 0x01, 0x1a, 0x29, 0x4f, 0x14, 0x3a, 0x32,
+	0xd9, 0x2b, 0x67, 0x71, 0xcf, 0x93, 0x5b, 0xa2, 0x22, 0x49, 0x85, 0xe6, 0x12, 0x1b, 0x0d, 0x5e,
+	0x81, 0x35, 0x3b, 0x01, 0x14, 0x42, 0x26, 0xa2, 0xe3, 0x47, 0xfc, 0x6f, 0x90, 0x17, 0x54, 0xca,
+	0xf0, 0x23, 0xd8, 0x5f, 0x1c, 0x10, 0x0a, 0x1d, 0x9b, 0x1c, 0xe7, 0x95, 0x1c, 0xa5, 0x86, 0x9d,
+	0xe5, 0xa5, 0x83, 0xd9, 0x3c, 0x34, 0xdf, 0xeb, 0xa6, 0x15, 0x3a, 0x59, 0xfc, 0xde, 0x7b, 0x8b,
+	0x70, 0xe9, 0xc0, 0x2b, 0x00, 0x66, 0x43, 0x08, 0x75, 0x4c, 0xc4, 0xe1, 0x92, 0xf7, 0x17, 0x41,
+	0x9e, 0x09, 0x87, 0x60, 0x6f, 0x7e, 0x3e, 0x29, 0xf4, 0x6b, 0xb5, 0xe5, 0x8b, 0xf0, 0x07, 0x23,
+	0x8d, 0xde, 0x1c, 0xbc, 0xab, 0xe6, 0x56, 0x06, 0xac, 0x18, 0x1d, 0x99, 0x17, 0x34, 0xd8, 0x72,
+	0x53, 0x65, 0x54, 0xb4, 0xcd, 0xa8, 0xf6, 0xe9, 0xce, 0xb1, 0x84, 0xa7, 0x21, 0x4b, 0x02, 0x2e,
+	0x93, 0x5e, 0x42, 0x98, 0x69, 0xaa, 0x9e, 0x45, 0x45, 0xab, 0xfa, 0x7f, 0x69, 0x76, 0xae, 0xfc,
+	0x5d, 0x79, 0xfa, 0x5e, 0x6f, 0xfc, 0x7b, 0x3d, 0x1a, 0x4e, 0x56, 0x4d, 0xe0, 0xe5, 0xcf, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x90, 0x65, 0xe8, 0x5d, 0x0a, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/service.proto b/googleapis/api/serviceconfig/service.proto
deleted file mode 100644
index bbcd9f1c..00000000
--- a/googleapis/api/serviceconfig/service.proto
+++ /dev/null
@@ -1,157 +0,0 @@
-// 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
-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/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
-import "google.golang.org/genproto/googleapis/api/serviceconfig/logging.proto"; // from google/api/logging.proto
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/monitoring.proto"; // from google/api/monitoring.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto"; // from google/api/system_parameter.proto
-import "google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto"; // from google/api/usage.proto
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "google.golang.org/genproto/protobuf/api.proto"; // from google/protobuf/api.proto
-import "google.golang.org/genproto/protobuf/type.proto"; // from google/protobuf/type.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-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
-// describes basic information like the name of the service and the
-// exposed API interfaces, and delegates other aspects to configuration
-// sub-sections.
-//
-// Example:
-//
-//     type: google.api.Service
-//     config_version: 1
-//     name: calendar.googleapis.com
-//     title: Google Calendar API
-//     apis:
-//     - name: google.calendar.Calendar
-//     backend:
-//       rules:
-//       - selector: "*"
-//         address: calendar.example.com
-message Service {
-  // The version of the service configuration. The config version may
-  // influence interpretation of the configuration, for example, to
-  // determine defaults. This is documented together with applicable
-  // options. The current default for the config version itself is `3`.
-  google.protobuf.UInt32Value config_version = 20;
-
-  // The DNS address at which this service is available,
-  // e.g. `calendar.googleapis.com`.
-  string name = 1;
-
-  // 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 = 33;
-
-  // The product title associated with this service.
-  string title = 2;
-
-  // The id of the Google developer project that owns the service.
-  // Members of this project can manage the service configuration,
-  // manage consumption of the service, etc.
-  string producer_project_id = 22;
-
-  // A list of API interfaces exported by this service. Only the `name` field
-  // of the [google.protobuf.Api][google.protobuf.Api] needs to be provided by the configuration
-  // author, as the remaining fields will be derived from the IDL during the
-  // normalization process. It is an error to specify an API interface here
-  // which cannot be resolved against the associated IDL files.
-  repeated google.protobuf.Api apis = 3;
-
-  // A list of all proto message types included in this API service.
-  // Types referenced directly or indirectly by the `apis` are
-  // automatically included.  Messages which are not referenced but
-  // shall be included, such as types used by the `google.protobuf.Any` type,
-  // should be listed here by name. Example:
-  //
-  //     types:
-  //     - name: google.protobuf.Int32
-  repeated google.protobuf.Type types = 4;
-
-  // A list of all enum types included in this API service.  Enums
-  // referenced directly or indirectly by the `apis` are automatically
-  // included.  Enums which are not referenced but shall be included
-  // should be listed here by name. Example:
-  //
-  //     enums:
-  //     - name: google.someapi.v1.SomeEnum
-  repeated google.protobuf.Enum enums = 5;
-
-  // Additional API documentation.
-  Documentation documentation = 6;
-
-  // API backend configuration.
-  Backend backend = 8;
-
-  // HTTP configuration.
-  Http http = 9;
-
-  // Auth configuration.
-  Authentication authentication = 11;
-
-  // Context configuration.
-  Context context = 12;
-
-  // Configuration controlling usage of this service.
-  Usage usage = 15;
-
-  // 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;
-
-  // Defines the logs used by this service.
-  repeated LogDescriptor logs = 23;
-
-  // Defines the metrics used by this service.
-  repeated MetricDescriptor metrics = 24;
-
-  // 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;
-
-  // Logging configuration of the service.
-  Logging logging = 27;
-
-  // Monitoring configuration of the service.
-  Monitoring monitoring = 28;
-
-  // Configuration for system parameters.
-  SystemParameters system_parameters = 29;
-}
diff --git a/googleapis/api/serviceconfig/system_parameter.pb.go b/googleapis/api/serviceconfig/system_parameter.pb.go
index 487c113d..937416e8 100644
--- a/googleapis/api/serviceconfig/system_parameter.pb.go
+++ b/googleapis/api/serviceconfig/system_parameter.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto
+// source: google/api/system_parameter.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -27,27 +27,26 @@ type SystemParameters struct {
 	// config, default system parameters will be used. Default system parameters
 	// and names is implementation-dependent.
 	//
-	// Example: define api key and alt name for all methods
+	// Example: define api key for all methods
+	//
+	//     system_parameters
+	//       rules:
+	//         - selector: "*"
+	//           parameters:
+	//             - name: api_key
+	//               url_query_parameter: api_key
 	//
-	// system_parameters
-	//   rules:
-	//     - selector: "*"
-	//       parameters:
-	//         - name: api_key
-	//           url_query_parameter: api_key
-	//         - name: alt
-	//           http_header: Response-Content-Type
 	//
 	// Example: define 2 api key names for a specific method.
 	//
-	// system_parameters
-	//   rules:
-	//     - selector: "/ListShelves"
-	//       parameters:
-	//         - name: api_key
-	//           http_header: Api-Key1
-	//         - name: api_key
-	//           http_header: Api-Key2
+	//     system_parameters
+	//       rules:
+	//         - selector: "/ListShelves"
+	//           parameters:
+	//             - name: api_key
+	//               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"`
@@ -56,7 +55,7 @@ type SystemParameters struct {
 func (m *SystemParameters) Reset()                    { *m = SystemParameters{} }
 func (m *SystemParameters) String() string            { return proto.CompactTextString(m) }
 func (*SystemParameters) ProtoMessage()               {}
-func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor14, []int{0} }
+func (*SystemParameters) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{0} }
 
 func (m *SystemParameters) GetRules() []*SystemParameterRule {
 	if m != nil {
@@ -84,7 +83,14 @@ 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 fileDescriptor14, []int{1} }
+func (*SystemParameterRule) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{1} }
+
+func (m *SystemParameterRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
 
 func (m *SystemParameterRule) GetParameters() []*SystemParameter {
 	if m != nil {
@@ -97,8 +103,7 @@ func (m *SystemParameterRule) GetParameters() []*SystemParameter {
 // an HTTP header or a URL query parameter, and if both are passed the behavior
 // is implementation-dependent.
 type SystemParameter struct {
-	// Define the name of the parameter, such as "api_key", "alt", "callback",
-	// and etc. It is case sensitive.
+	// Define the name of the parameter, such as "api_key" . It is case sensitive.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// Define the HTTP header name to use for the parameter. It is case
 	// insensitive.
@@ -111,7 +116,28 @@ 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 fileDescriptor14, []int{2} }
+func (*SystemParameter) Descriptor() ([]byte, []int) { return fileDescriptor12, []int{2} }
+
+func (m *SystemParameter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SystemParameter) GetHttpHeader() string {
+	if m != nil {
+		return m.HttpHeader
+	}
+	return ""
+}
+
+func (m *SystemParameter) GetUrlQueryParameter() string {
+	if m != nil {
+		return m.UrlQueryParameter
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*SystemParameters)(nil), "google.api.SystemParameters")
@@ -119,28 +145,26 @@ func init() {
 	proto.RegisterType((*SystemParameter)(nil), "google.api.SystemParameter")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/system_parameter.proto", fileDescriptor14)
-}
+func init() { proto.RegisterFile("google/api/system_parameter.proto", fileDescriptor12) }
 
-var fileDescriptor14 = []byte{
-	// 278 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, 0x5a, 0x65, 0xea, 0x64,
-	0x4b, 0x20, 0x26, 0x26, 0xba, 0x40, 0x17, 0x14, 0xc2, 0x03, 0x44, 0x26, 0x1c, 0x6e, 0x24, 0x27,
-	0x36, 0x67, 0xa7, 0x52, 0x5f, 0x87, 0x27, 0x45, 0x71, 0x4b, 0x5a, 0x45, 0x88, 0xcd, 0xbe, 0xdf,
-	0xcf, 0xfe, 0x4e, 0x1f, 0xbc, 0x28, 0x63, 0x94, 0x46, 0xae, 0x8c, 0x96, 0xb5, 0xe2, 0x86, 0x94,
-	0x50, 0x58, 0x5b, 0x32, 0xde, 0x88, 0x2d, 0x92, 0xb6, 0x74, 0x42, 0xda, 0x52, 0x38, 0xa4, 0x75,
-	0x59, 0x60, 0x61, 0xea, 0xcf, 0x52, 0x09, 0xb7, 0x71, 0x1e, 0xab, 0xdc, 0x4a, 0x92, 0x15, 0x7a,
-	0x24, 0x1e, 0xde, 0x30, 0xd8, 0xfd, 0x27, 0x6d, 0x99, 0x2c, 0xe1, 0xe2, 0x2d, 0x58, 0xe9, 0xaf,
-	0xe4, 0xd8, 0x3d, 0x1c, 0x51, 0xa3, 0xd1, 0xc5, 0xd1, 0x6c, 0x38, 0x1f, 0xdf, 0x4e, 0xf9, 0xde,
-	0xe7, 0x3d, 0x39, 0x6b, 0x34, 0x66, 0x5b, 0x3b, 0xa9, 0x61, 0xf2, 0x07, 0x65, 0xd7, 0x70, 0xe2,
-	0x50, 0x63, 0xe1, 0x0d, 0xc5, 0xd1, 0x2c, 0x9a, 0x9f, 0x66, 0xdd, 0x9d, 0x3d, 0x00, 0x74, 0xcb,
-	0xb9, 0x78, 0x10, 0xe2, 0x6e, 0xfe, 0x8b, 0x3b, 0xd0, 0x93, 0x35, 0x9c, 0xf7, 0x30, 0x63, 0x30,
-	0xaa, 0x65, 0x85, 0xbb, 0x9c, 0x70, 0x66, 0x53, 0x18, 0xaf, 0xbc, 0xb7, 0xf9, 0x0a, 0xe5, 0x07,
-	0x52, 0x3c, 0x08, 0x08, 0xda, 0xd1, 0x73, 0x98, 0x30, 0x0e, 0x93, 0x86, 0x74, 0xfe, 0xd5, 0x20,
-	0x6d, 0xf6, 0x5d, 0xc5, 0xc3, 0x20, 0x5e, 0x36, 0xa4, 0x5f, 0x5b, 0xd2, 0x85, 0x2c, 0x04, 0x9c,
-	0x15, 0xa6, 0x3a, 0xd8, 0x72, 0x71, 0xd5, 0xdb, 0x23, 0x6d, 0x6b, 0x4e, 0xa3, 0xef, 0xc1, 0xe8,
-	0xe9, 0x31, 0x5d, 0xbe, 0x1f, 0x87, 0xda, 0xef, 0x7e, 0x02, 0x00, 0x00, 0xff, 0xff, 0x56, 0xd1,
-	0x77, 0xac, 0xc8, 0x01, 0x00, 0x00,
+var fileDescriptor12 = []byte{
+	// 286 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xbf, 0x4e, 0xc3, 0x30,
+	0x10, 0x87, 0x95, 0xb6, 0x20, 0xb8, 0x4a, 0xfc, 0x71, 0x19, 0x22, 0x18, 0x5a, 0x3a, 0x75, 0x72,
+	0x24, 0x10, 0x53, 0x27, 0x2a, 0x21, 0xe8, 0x16, 0xca, 0xc6, 0x12, 0x99, 0x70, 0xb8, 0x91, 0x9c,
+	0xd8, 0x9c, 0x9d, 0x48, 0x7d, 0x1d, 0x9e, 0x14, 0xc5, 0x29, 0x69, 0x89, 0x10, 0x9b, 0xef, 0xbe,
+	0xcf, 0xfa, 0x9d, 0xee, 0xe0, 0x5a, 0x6a, 0x2d, 0x15, 0x46, 0xc2, 0x64, 0x91, 0xdd, 0x58, 0x87,
+	0x79, 0x62, 0x04, 0x89, 0x1c, 0x1d, 0x12, 0x37, 0xa4, 0x9d, 0x66, 0xd0, 0x28, 0x5c, 0x98, 0x6c,
+	0xba, 0x84, 0xb3, 0x17, 0x6f, 0xc5, 0x3f, 0x92, 0x65, 0x77, 0x70, 0x40, 0xa5, 0x42, 0x1b, 0x06,
+	0x93, 0xfe, 0x6c, 0x78, 0x33, 0xe6, 0x3b, 0x9f, 0x77, 0xe4, 0x55, 0xa9, 0x70, 0xd5, 0xd8, 0xd3,
+	0x02, 0x46, 0x7f, 0x50, 0x76, 0x09, 0x47, 0x16, 0x15, 0xa6, 0x4e, 0x53, 0x18, 0x4c, 0x82, 0xd9,
+	0xf1, 0xaa, 0xad, 0xd9, 0x1c, 0xa0, 0x1d, 0xce, 0x86, 0x3d, 0x1f, 0x77, 0xf5, 0x5f, 0xdc, 0x9e,
+	0x3e, 0xad, 0xe0, 0xb4, 0x83, 0x19, 0x83, 0x41, 0x21, 0x72, 0xdc, 0xe6, 0xf8, 0x37, 0x1b, 0xc3,
+	0x70, 0xed, 0x9c, 0x49, 0xd6, 0x28, 0xde, 0x91, 0xc2, 0x9e, 0x47, 0x50, 0xb7, 0x9e, 0x7c, 0x87,
+	0x71, 0x18, 0x95, 0xa4, 0x92, 0xcf, 0x12, 0x69, 0xb3, 0xdb, 0x55, 0xd8, 0xf7, 0xe2, 0x79, 0x49,
+	0xea, 0xb9, 0x26, 0x6d, 0xc8, 0xa2, 0x82, 0x93, 0x54, 0xe7, 0x7b, 0x53, 0x2e, 0x2e, 0x3a, 0x73,
+	0xc4, 0xf5, 0x9a, 0xe3, 0xe0, 0xf5, 0x61, 0xeb, 0x48, 0xad, 0x44, 0x21, 0xb9, 0x26, 0x19, 0x49,
+	0x2c, 0xfc, 0x11, 0xa2, 0x06, 0x09, 0x93, 0xd9, 0xe6, 0x54, 0x48, 0x55, 0x96, 0x62, 0xaa, 0x8b,
+	0x8f, 0x4c, 0xce, 0x7f, 0x55, 0x5f, 0xbd, 0xc1, 0xe3, 0x7d, 0xbc, 0x7c, 0x3b, 0xf4, 0x1f, 0x6f,
+	0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xdf, 0x2e, 0x09, 0xe2, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/system_parameter.proto b/googleapis/api/serviceconfig/system_parameter.proto
deleted file mode 100644
index ebd11039..00000000
--- a/googleapis/api/serviceconfig/system_parameter.proto
+++ /dev/null
@@ -1,97 +0,0 @@
-// 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 = "SystemParameterProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// ### System parameter configuration
-//
-// A system parameter is a special kind of parameter defined by the API
-// system, not by an individual API. It is typically mapped to an HTTP header
-// and/or a URL query parameter. This configuration specifies which methods
-// change the names of the system parameters.
-message SystemParameters {
-  // Define system parameters.
-  //
-  // The parameters defined here will override the default parameters
-  // implemented by the system. If this field is missing from the service
-  // config, default system parameters will be used. Default system parameters
-  // and names is implementation-dependent.
-  //
-  // Example: define api key and alt name for all methods
-  //
-  // system_parameters
-  //   rules:
-  //     - selector: "*"
-  //       parameters:
-  //         - name: api_key
-  //           url_query_parameter: api_key
-  //         - name: alt
-  //           http_header: Response-Content-Type
-  //
-  // Example: define 2 api key names for a specific method.
-  //
-  // system_parameters
-  //   rules:
-  //     - selector: "/ListShelves"
-  //       parameters:
-  //         - name: api_key
-  //           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;
-}
-
-// Define a system parameter rule mapping system parameter definitions to
-// methods.
-message SystemParameterRule {
-  // Selects the methods to which this rule applies. Use '*' to indicate all
-  // methods in all APIs.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // Define parameters. Multiple names may be defined for a parameter.
-  // For a given method call, only one of them should be used. If multiple
-  // names are used the behavior is implementation-dependent.
-  // If none of the specified names are present the behavior is
-  // parameter-dependent.
-  repeated SystemParameter parameters = 2;
-}
-
-// Define a parameter's name and location. The parameter may be passed as either
-// an HTTP header or a URL query parameter, and if both are passed the behavior
-// is implementation-dependent.
-message SystemParameter {
-  // Define the name of the parameter, such as "api_key", "alt", "callback",
-  // and etc. It is case sensitive.
-  string name = 1;
-
-  // Define the HTTP header name to use for the parameter. It is case
-  // insensitive.
-  string http_header = 2;
-
-  // Define the URL query parameter name to use for the parameter. It is case
-  // sensitive.
-  string url_query_parameter = 3;
-}
diff --git a/googleapis/api/serviceconfig/usage.pb.go b/googleapis/api/serviceconfig/usage.pb.go
index 21c49aaf..cabacf86 100644
--- a/googleapis/api/serviceconfig/usage.pb.go
+++ b/googleapis/api/serviceconfig/usage.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto
+// source: google/api/usage.proto
 // DO NOT EDIT!
 
-package google_api // import "google.golang.org/genproto/googleapis/api/serviceconfig"
+package serviceconfig
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -23,12 +24,28 @@ type Usage struct {
 	//
 	// **NOTE:** All service configuration rules follow "last one wins" order.
 	Rules []*UsageRule `protobuf:"bytes,6,rep,name=rules" json:"rules,omitempty"`
+	// The full resource name of a channel used for sending notifications to the
+	// service producer.
+	//
+	// Google Service Management currently only supports
+	// [Google Cloud Pub/Sub](https://cloud.google.com/pubsub) as a notification
+	// channel. To use Google Cloud Pub/Sub as the channel, this must be the name
+	// of a Cloud Pub/Sub topic that uses the Cloud Pub/Sub topic name format
+	// documented in https://cloud.google.com/pubsub/docs/overview.
+	ProducerNotificationChannel string `protobuf:"bytes,7,opt,name=producer_notification_channel,json=producerNotificationChannel" json:"producer_notification_channel,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 fileDescriptor15, []int{0} }
+func (*Usage) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{0} }
+
+func (m *Usage) GetRequirements() []string {
+	if m != nil {
+		return m.Requirements
+	}
+	return nil
+}
 
 func (m *Usage) GetRules() []*UsageRule {
 	if m != nil {
@@ -37,6 +54,13 @@ func (m *Usage) GetRules() []*UsageRule {
 	return nil
 }
 
+func (m *Usage) GetProducerNotificationChannel() string {
+	if m != nil {
+		return m.ProducerNotificationChannel
+	}
+	return ""
+}
+
 // Usage configuration rules for the service.
 //
 // NOTE: Under development.
@@ -75,34 +99,48 @@ 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 fileDescriptor15, []int{1} }
+func (*UsageRule) Descriptor() ([]byte, []int) { return fileDescriptor13, []int{1} }
+
+func (m *UsageRule) GetSelector() string {
+	if m != nil {
+		return m.Selector
+	}
+	return ""
+}
+
+func (m *UsageRule) GetAllowUnregisteredCalls() bool {
+	if m != nil {
+		return m.AllowUnregisteredCalls
+	}
+	return false
+}
 
 func init() {
 	proto.RegisterType((*Usage)(nil), "google.api.Usage")
 	proto.RegisterType((*UsageRule)(nil), "google.api.UsageRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/serviceconfig/usage.proto", fileDescriptor15)
-}
+func init() { proto.RegisterFile("google/api/usage.proto", fileDescriptor13) }
 
-var fileDescriptor15 = []byte{
-	// 259 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x8f, 0x4d, 0x4b, 0xc3, 0x40,
-	0x10, 0x86, 0x49, 0x6b, 0x4b, 0x3b, 0x8a, 0x87, 0x80, 0x12, 0x7a, 0x0a, 0x01, 0x21, 0x20, 0x24,
-	0xa0, 0x17, 0xaf, 0xb6, 0x07, 0xe9, 0x2d, 0x2c, 0x14, 0xbc, 0x95, 0x71, 0x1d, 0x97, 0x85, 0xed,
-	0x4e, 0xdc, 0x0f, 0xfd, 0x3f, 0xfe, 0x52, 0xc9, 0x46, 0x6a, 0xbd, 0x7a, 0x9c, 0x79, 0x86, 0x67,
-	0xde, 0x17, 0x36, 0x8a, 0x59, 0x19, 0x6a, 0x14, 0x1b, 0xb4, 0xaa, 0x61, 0xa7, 0x5a, 0x45, 0xb6,
-	0x77, 0x1c, 0xb8, 0x1d, 0x11, 0xf6, 0xda, 0xb7, 0xd8, 0xeb, 0xd6, 0x93, 0xfb, 0xd0, 0x92, 0x24,
-	0xdb, 0x37, 0xad, 0xda, 0xe8, 0x51, 0x51, 0x93, 0x0e, 0x73, 0xf8, 0x91, 0x60, 0xaf, 0x57, 0xdb,
-	0xff, 0x0a, 0xd1, 0x5a, 0x0e, 0x18, 0x34, 0x5b, 0x3f, 0x6a, 0xab, 0x67, 0x98, 0xed, 0x86, 0x2f,
-	0x79, 0x05, 0x17, 0x8e, 0xde, 0xa3, 0x76, 0x74, 0x20, 0x1b, 0x7c, 0x91, 0x95, 0xd3, 0x7a, 0x29,
-	0xfe, 0xec, 0xf2, 0x5b, 0x98, 0xb9, 0x68, 0xc8, 0x17, 0xf3, 0x72, 0x5a, 0x9f, 0xdf, 0x5d, 0x35,
-	0xbf, 0x99, 0x9a, 0x64, 0x11, 0xd1, 0x90, 0x18, 0x6f, 0x2a, 0x84, 0xe5, 0x71, 0x97, 0xaf, 0x60,
-	0xe1, 0xc9, 0x90, 0x0c, 0xec, 0x8a, 0xac, 0xcc, 0xea, 0xa5, 0x38, 0xce, 0xf9, 0x03, 0x14, 0x68,
-	0x0c, 0x7f, 0xee, 0xa3, 0x75, 0xa4, 0xb4, 0x0f, 0xe4, 0xe8, 0x75, 0x2f, 0xd1, 0x18, 0x5f, 0x4c,
-	0xca, 0xac, 0x5e, 0x88, 0xeb, 0xc4, 0x77, 0x27, 0x78, 0x33, 0xd0, 0xf5, 0x0d, 0x5c, 0x4a, 0x3e,
-	0x9c, 0xa4, 0x58, 0x43, 0x7a, 0xd9, 0x0d, 0xd5, 0xba, 0xec, 0x6b, 0x72, 0xf6, 0xf4, 0xd8, 0x6d,
-	0x5f, 0xe6, 0xa9, 0xea, 0xfd, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72, 0x2d, 0x47, 0x30, 0x88,
-	0x01, 0x00, 0x00,
+var fileDescriptor13 = []byte{
+	// 303 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0xcf, 0x4b, 0x3b, 0x31,
+	0x10, 0xc5, 0x49, 0xfb, 0x6d, 0xbf, 0x6d, 0x14, 0x0f, 0x01, 0x4b, 0xa8, 0x0a, 0x4b, 0x4f, 0x0b,
+	0xc2, 0x2e, 0xe8, 0x45, 0xf0, 0x64, 0x8b, 0x88, 0x17, 0x29, 0x0b, 0xbd, 0x78, 0x59, 0x62, 0x3a,
+	0x8d, 0x81, 0x34, 0xb3, 0xe6, 0x87, 0xfe, 0x33, 0x9e, 0xfc, 0x4b, 0xa5, 0x59, 0xad, 0xdb, 0xe3,
+	0xcc, 0xfb, 0xbc, 0x79, 0xcc, 0xa3, 0x13, 0x85, 0xa8, 0x0c, 0x94, 0xa2, 0xd1, 0x65, 0xf4, 0x42,
+	0x41, 0xd1, 0x38, 0x0c, 0xc8, 0x68, 0xbb, 0x2f, 0x44, 0xa3, 0xa7, 0xe7, 0x1d, 0x46, 0x58, 0x8b,
+	0x41, 0x04, 0x8d, 0xd6, 0xb7, 0xe4, 0xec, 0x93, 0xd0, 0xc1, 0x6a, 0xe7, 0x64, 0x33, 0x7a, 0xec,
+	0xe0, 0x2d, 0x6a, 0x07, 0x5b, 0xb0, 0xc1, 0x73, 0x92, 0xf5, 0xf3, 0x71, 0x75, 0xb0, 0x63, 0x97,
+	0x74, 0xe0, 0xa2, 0x01, 0xcf, 0x87, 0x59, 0x3f, 0x3f, 0xba, 0x3a, 0x2d, 0xfe, 0x72, 0x8a, 0x74,
+	0xa5, 0x8a, 0x06, 0xaa, 0x96, 0x61, 0x73, 0x7a, 0xd1, 0x38, 0x5c, 0x47, 0x09, 0xae, 0xb6, 0x18,
+	0xf4, 0x46, 0xcb, 0x14, 0x5d, 0xcb, 0x57, 0x61, 0x2d, 0x18, 0xfe, 0x3f, 0x23, 0xf9, 0xb8, 0x3a,
+	0xfb, 0x85, 0x9e, 0x3a, 0xcc, 0xa2, 0x45, 0x66, 0x82, 0x8e, 0xf7, 0x77, 0xd9, 0x94, 0x8e, 0x3c,
+	0x18, 0x90, 0x01, 0x1d, 0x27, 0xc9, 0xbb, 0x9f, 0xd9, 0x0d, 0xe5, 0xc2, 0x18, 0xfc, 0xa8, 0xa3,
+	0x75, 0xa0, 0xb4, 0x0f, 0xe0, 0x60, 0x5d, 0x4b, 0x61, 0x8c, 0xe7, 0xbd, 0x8c, 0xe4, 0xa3, 0x6a,
+	0x92, 0xf4, 0x55, 0x47, 0x5e, 0xec, 0xd4, 0xb9, 0xa1, 0x27, 0x12, 0xb7, 0x9d, 0x4f, 0xe6, 0x34,
+	0x45, 0x2e, 0x77, 0xfd, 0x2c, 0xc9, 0xf3, 0xfd, 0x8f, 0xa2, 0xd0, 0x08, 0xab, 0x0a, 0x74, 0xaa,
+	0x54, 0x60, 0x53, 0x7b, 0x65, 0x2b, 0x89, 0x46, 0xfb, 0x54, 0xaf, 0x07, 0xf7, 0xae, 0x25, 0x48,
+	0xb4, 0x1b, 0xad, 0x6e, 0x0f, 0xa6, 0xaf, 0xde, 0xbf, 0x87, 0xbb, 0xe5, 0xe3, 0xcb, 0x30, 0x19,
+	0xaf, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x8d, 0xba, 0x6f, 0x72, 0xba, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/api/serviceconfig/usage.proto b/googleapis/api/serviceconfig/usage.proto
deleted file mode 100644
index 0c46d954..00000000
--- a/googleapis/api/serviceconfig/usage.proto
+++ /dev/null
@@ -1,74 +0,0 @@
-// 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 = "UsageProto";
-option java_package = "com.google.api";
-option objc_class_prefix = "GAPI";
-
-
-// Configuration controlling usage of a service.
-message Usage {
-  // 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;
-
-  // 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;
-}
-
-// Usage configuration rules for the service.
-//
-// NOTE: Under development.
-//
-//
-// Use this rule to configure unregistered calls for the service. Unregistered
-// calls are calls that do not contain consumer project identity.
-// (Example: calls that do not contain an API key).
-// By default, API methods do not allow unregistered calls, and each method call
-// must be identified by a consumer project identity. Use this rule to
-// allow/disallow unregistered calls.
-//
-// Example of an API that wants to allow unregistered calls for entire service.
-//
-//     usage:
-//       rules:
-//       - selector: "*"
-//         allow_unregistered_calls: true
-//
-// Example of a method that wants to allow unregistered calls.
-//
-//     usage:
-//       rules:
-//       - selector: "google.example.library.v1.LibraryService.CreateBook"
-//         allow_unregistered_calls: true
-message UsageRule {
-  // Selects the methods to which this rule applies. Use '*' to indicate all
-  // methods in all APIs.
-  //
-  // Refer to [selector][google.api.DocumentationRule.selector] for syntax details.
-  string selector = 1;
-
-  // True, if the method allows unregistered calls; false otherwise.
-  bool allow_unregistered_calls = 2;
-}
diff --git a/googleapis/api/servicecontrol/v1/check_error.pb.go b/googleapis/api/servicecontrol/v1/check_error.pb.go
index d42ad7ea..3d493e15 100644
--- a/googleapis/api/servicecontrol/v1/check_error.pb.go
+++ b/googleapis/api/servicecontrol/v1/check_error.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/check_error.proto
+// source: google/api/servicecontrol/v1/check_error.proto
 // DO NOT EDIT!
 
 /*
-Package google_api_servicecontrol_v1 is a generated protocol buffer package.
+Package servicecontrol 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
+	google/api/servicecontrol/v1/check_error.proto
+	google/api/servicecontrol/v1/distribution.proto
+	google/api/servicecontrol/v1/log_entry.proto
+	google/api/servicecontrol/v1/metric_value.proto
+	google/api/servicecontrol/v1/operation.proto
+	google/api/servicecontrol/v1/service_controller.proto
 
 It has these top-level messages:
 	CheckError
@@ -25,12 +25,12 @@ It has these top-level messages:
 	ReportRequest
 	ReportResponse
 */
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -146,45 +146,58 @@ func (m *CheckError) String() string            { return proto.CompactTextString
 func (*CheckError) ProtoMessage()               {}
 func (*CheckError) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *CheckError) GetCode() CheckError_Code {
+	if m != nil {
+		return m.Code
+	}
+	return CheckError_ERROR_CODE_UNSPECIFIED
+}
+
+func (m *CheckError) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 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)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/check_error.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 478 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x6f, 0xd3, 0x3e,
-	0x18, 0xc7, 0x7f, 0xe9, 0xaf, 0x0c, 0x66, 0x09, 0x16, 0x0c, 0xab, 0x46, 0x35, 0x89, 0xb2, 0xd3,
-	0x2e, 0x24, 0x1a, 0x5c, 0xb8, 0xba, 0xf6, 0x53, 0x30, 0x4d, 0x63, 0xcb, 0x4e, 0xaa, 0x71, 0xb2,
-	0x42, 0x1a, 0xb2, 0x68, 0x5d, 0x5c, 0xd2, 0xa8, 0xaf, 0x83, 0x57, 0xc1, 0x09, 0x78, 0x7d, 0x1c,
-	0x91, 0xbb, 0xb5, 0xdd, 0x24, 0xb4, 0x03, 0x47, 0x7f, 0x9f, 0xcf, 0xf3, 0x7c, 0xfd, 0xfc, 0x41,
-	0x93, 0xd2, 0xda, 0x72, 0x5e, 0x04, 0xa5, 0x9d, 0x67, 0x75, 0x19, 0xd8, 0xa6, 0x0c, 0xcb, 0xa2,
-	0x5e, 0x34, 0xb6, 0xb5, 0xe1, 0x75, 0x28, 0x5b, 0x54, 0xcb, 0x30, 0x5b, 0x54, 0xe1, 0xb2, 0x68,
-	0x56, 0x55, 0x5e, 0xe4, 0xb6, 0x6e, 0x1b, 0x3b, 0x0f, 0x57, 0x67, 0x61, 0x7e, 0x51, 0xe4, 0x97,
-	0xa6, 0x68, 0x1a, 0xdb, 0x04, 0xeb, 0x14, 0x7c, 0x7c, 0x53, 0x2e, 0x5b, 0x54, 0xc1, 0x5d, 0x3e,
-	0x58, 0x9d, 0xf5, 0xf9, 0xbf, 0x98, 0x7d, 0xa9, 0xca, 0x30, 0xab, 0x6b, 0xdb, 0x66, 0x6d, 0x65,
-	0xeb, 0xe5, 0xb5, 0xd1, 0xc9, 0xb7, 0x2e, 0x42, 0xd4, 0xd9, 0x83, 0x73, 0xc7, 0x04, 0x75, 0x73,
-	0x3b, 0x2b, 0x8e, 0xbc, 0x81, 0x77, 0xfa, 0xe4, 0xcd, 0xeb, 0xe0, 0xbe, 0x6f, 0x04, 0xbb, 0xbc,
-	0x80, 0xda, 0x59, 0xa1, 0xd6, 0xa9, 0xb8, 0x87, 0xf6, 0x66, 0x45, 0x9b, 0x55, 0xf3, 0xa3, 0xce,
-	0xc0, 0x3b, 0xdd, 0x57, 0x37, 0xaf, 0x93, 0xef, 0xff, 0xa3, 0xae, 0xc3, 0x70, 0x1f, 0xf5, 0x40,
-	0x29, 0xa1, 0x0c, 0x15, 0x0c, 0x4c, 0x1a, 0x6b, 0x09, 0x94, 0x8f, 0x38, 0x30, 0xff, 0x3f, 0xfc,
-	0x18, 0xed, 0xc7, 0x22, 0x31, 0x23, 0x91, 0xc6, 0xcc, 0x7f, 0x80, 0x0f, 0xd1, 0x53, 0x09, 0x6a,
-	0xc2, 0xb5, 0xe6, 0x22, 0x36, 0x0c, 0x62, 0x47, 0x3d, 0xc4, 0x3d, 0x84, 0x15, 0x68, 0x91, 0x2a,
-	0x0a, 0x06, 0xce, 0x3f, 0x90, 0x54, 0x27, 0xc0, 0xfc, 0x47, 0xf8, 0x05, 0x3a, 0xd4, 0xa0, 0xa6,
-	0x9c, 0x82, 0x71, 0x55, 0x08, 0x4d, 0xf8, 0x94, 0xb8, 0xd0, 0x05, 0x7e, 0x8e, 0xfc, 0x21, 0x8f,
-	0x22, 0x1e, 0xbf, 0x37, 0x8c, 0x6b, 0x32, 0x8c, 0x80, 0xf9, 0x97, 0xf8, 0x19, 0x3a, 0x90, 0x4a,
-	0x7c, 0x04, 0x9a, 0x18, 0x06, 0x11, 0x38, 0x74, 0x7e, 0x5b, 0xe4, 0xf1, 0x94, 0x44, 0x9c, 0xf9,
-	0x8d, 0xb3, 0xe4, 0xd2, 0x10, 0xc6, 0x14, 0x68, 0x6d, 0x86, 0x91, 0xa0, 0x63, 0x60, 0xfe, 0x95,
-	0x83, 0x15, 0x8c, 0x40, 0x81, 0xda, 0x8a, 0xb5, 0x83, 0x69, 0xc4, 0x21, 0x4e, 0x0c, 0x91, 0x72,
-	0xab, 0x5b, 0x07, 0x13, 0xc9, 0xcd, 0x18, 0x3e, 0x6d, 0x2b, 0x57, 0xb7, 0x45, 0x38, 0x97, 0x5c,
-	0x01, 0xf3, 0x17, 0xae, 0xf1, 0x8d, 0xb8, 0x9b, 0xc7, 0x57, 0xfc, 0x0a, 0x1d, 0xc7, 0x64, 0x02,
-	0x5a, 0x12, 0x0a, 0x26, 0x12, 0x62, 0x9c, 0x4a, 0x93, 0xc6, 0x64, 0x4a, 0x78, 0xe4, 0x5a, 0xf2,
-	0x7f, 0x74, 0xf0, 0x4b, 0xd4, 0xdf, 0xcc, 0x40, 0x27, 0x24, 0x49, 0xf5, 0x1d, 0xe0, 0xe7, 0x1a,
-	0xd8, 0x4c, 0xe2, 0x2f, 0xc0, 0xaf, 0xce, 0xf0, 0x1d, 0x1a, 0xe4, 0xf6, 0xea, 0xde, 0xd5, 0x0f,
-	0x0f, 0x76, 0xbb, 0x97, 0xee, 0x8e, 0xa4, 0xf7, 0xdb, 0xf3, 0x3e, 0xef, 0xad, 0x6f, 0xea, 0xed,
-	0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76, 0xc3, 0x8a, 0x33, 0x0d, 0x03, 0x00, 0x00,
+	// 484 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xdd, 0x6e, 0xd3, 0x3e,
+	0x18, 0xc6, 0xff, 0xe9, 0xbf, 0x0c, 0x66, 0x09, 0x16, 0x0c, 0xab, 0x46, 0x55, 0x89, 0xb2, 0xa3,
+	0x9d, 0x90, 0x68, 0x70, 0xc8, 0x91, 0x6b, 0xbf, 0x05, 0xaf, 0x59, 0x62, 0xd9, 0x49, 0x35, 0x38,
+	0xb1, 0x42, 0x1a, 0x65, 0xd1, 0xba, 0xb8, 0xa4, 0x51, 0xaf, 0x80, 0x0b, 0xe0, 0x2a, 0x38, 0x02,
+	0xae, 0x8f, 0x43, 0xe4, 0x76, 0xfd, 0x92, 0xa6, 0x1d, 0xfa, 0x79, 0x7f, 0xcf, 0x63, 0xbd, 0x1f,
+	0xc8, 0x2b, 0x8c, 0x29, 0xa6, 0xb9, 0x9f, 0xce, 0x4a, 0x7f, 0x9e, 0xd7, 0x8b, 0x32, 0xcb, 0x33,
+	0x53, 0x35, 0xb5, 0x99, 0xfa, 0x8b, 0x73, 0x3f, 0xbb, 0xce, 0xb3, 0x1b, 0x9d, 0xd7, 0xb5, 0xa9,
+	0xbd, 0x59, 0x6d, 0x1a, 0x83, 0x7b, 0x2b, 0xde, 0x4b, 0x67, 0xa5, 0xb7, 0xcf, 0x7b, 0x8b, 0xf3,
+	0x6e, 0x6f, 0x27, 0x2d, 0xad, 0x2a, 0xd3, 0xa4, 0x4d, 0x69, 0xaa, 0xf9, 0xca, 0x7b, 0xfa, 0xa3,
+	0x8d, 0x10, 0xb5, 0x89, 0x60, 0x03, 0x31, 0x41, 0xed, 0xcc, 0x4c, 0xf2, 0x13, 0xa7, 0xef, 0x9c,
+	0x3d, 0x7b, 0xf7, 0xd6, 0x7b, 0x28, 0xd9, 0xdb, 0xfa, 0x3c, 0x6a, 0x26, 0xb9, 0x5c, 0x5a, 0x71,
+	0x07, 0x1d, 0x4c, 0xf2, 0x26, 0x2d, 0xa7, 0x27, 0xad, 0xbe, 0x73, 0x76, 0x28, 0xef, 0x5e, 0xa7,
+	0x3f, 0xff, 0x47, 0x6d, 0x8b, 0xe1, 0x2e, 0xea, 0x80, 0x94, 0x91, 0xd4, 0x34, 0x62, 0xa0, 0x93,
+	0x50, 0x09, 0xa0, 0x7c, 0xc8, 0x81, 0xb9, 0xff, 0xe1, 0xa7, 0xe8, 0x30, 0x8c, 0x62, 0x3d, 0x8c,
+	0x92, 0x90, 0xb9, 0x8f, 0xf0, 0x31, 0x7a, 0x2e, 0x40, 0x5e, 0x72, 0xa5, 0x78, 0x14, 0x6a, 0x06,
+	0xa1, 0xa5, 0x1e, 0xe3, 0x0e, 0xc2, 0x12, 0x54, 0x94, 0x48, 0x0a, 0x1a, 0xae, 0x3e, 0x91, 0x44,
+	0xc5, 0xc0, 0xdc, 0x27, 0xf8, 0x15, 0x3a, 0x56, 0x20, 0xc7, 0x9c, 0x82, 0xb6, 0x29, 0x84, 0xc6,
+	0x7c, 0x4c, 0x6c, 0xe9, 0x1a, 0xbf, 0x44, 0xee, 0x80, 0x07, 0x01, 0x0f, 0x3f, 0x6a, 0xc6, 0x15,
+	0x19, 0x04, 0xc0, 0xdc, 0x1b, 0xfc, 0x02, 0x1d, 0x09, 0x19, 0x5d, 0x00, 0x8d, 0x35, 0x83, 0x00,
+	0x2c, 0x3a, 0xdd, 0x15, 0x79, 0x38, 0x26, 0x01, 0x67, 0x6e, 0x6d, 0xbf, 0xe4, 0x42, 0x13, 0xc6,
+	0x24, 0x28, 0xa5, 0x07, 0x41, 0x44, 0x47, 0xc0, 0xdc, 0x5b, 0x0b, 0x4b, 0x18, 0x82, 0x04, 0xb9,
+	0x11, 0x2b, 0x0b, 0xd3, 0x80, 0x43, 0x18, 0x6b, 0x22, 0xc4, 0x46, 0x37, 0x16, 0x26, 0x82, 0xeb,
+	0x11, 0x7c, 0xde, 0x24, 0x97, 0xbb, 0x22, 0x5c, 0x09, 0x2e, 0x81, 0xb9, 0x33, 0xdb, 0xf8, 0x5a,
+	0xdc, 0xce, 0xe3, 0x1b, 0x7e, 0x83, 0x7a, 0x21, 0xb9, 0x04, 0x25, 0x08, 0x05, 0x1d, 0x44, 0xd1,
+	0x28, 0x11, 0x3a, 0x09, 0xc9, 0x98, 0xf0, 0xc0, 0xb6, 0xe4, 0xfe, 0x6a, 0xe1, 0xd7, 0xa8, 0xbb,
+	0x9e, 0x81, 0x8a, 0x49, 0x9c, 0xa8, 0x3d, 0xe0, 0xf7, 0x12, 0x58, 0x4f, 0xe2, 0x1e, 0xe0, 0x4f,
+	0x6b, 0xf0, 0xdd, 0x41, 0xfd, 0xcc, 0xdc, 0x3e, 0xb8, 0xfb, 0xc1, 0xd1, 0x76, 0xf9, 0xc2, 0x1e,
+	0x92, 0x70, 0xbe, 0x5c, 0xdc, 0x19, 0x0a, 0x33, 0x4d, 0xab, 0xc2, 0x33, 0x75, 0xe1, 0x17, 0x79,
+	0xb5, 0x3c, 0x33, 0x7f, 0x55, 0x4a, 0x67, 0xe5, 0xfc, 0xfe, 0xab, 0xfe, 0xb0, 0xaf, 0xfc, 0x75,
+	0x9c, 0xaf, 0x07, 0x4b, 0xe7, 0xfb, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x7d, 0x65, 0x26, 0xbf,
+	0x0e, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/check_error.proto b/googleapis/api/servicecontrol/v1/check_error.proto
deleted file mode 100644
index 164e95a3..00000000
--- a/googleapis/api/servicecontrol/v1/check_error.proto
+++ /dev/null
@@ -1,94 +0,0 @@
-// 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
index 7fd2c79e..90c86821 100644
--- a/googleapis/api/servicecontrol/v1/distribution.pb.go
+++ b/googleapis/api/servicecontrol/v1/distribution.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/distribution.proto
+// source: google/api/servicecontrol/v1/distribution.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -109,6 +109,48 @@ func (m *Distribution) GetBucketOption() isDistribution_BucketOption {
 	return nil
 }
 
+func (m *Distribution) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *Distribution) GetMean() float64 {
+	if m != nil {
+		return m.Mean
+	}
+	return 0
+}
+
+func (m *Distribution) GetMinimum() float64 {
+	if m != nil {
+		return m.Minimum
+	}
+	return 0
+}
+
+func (m *Distribution) GetMaximum() float64 {
+	if m != nil {
+		return m.Maximum
+	}
+	return 0
+}
+
+func (m *Distribution) GetSumOfSquaredDeviation() float64 {
+	if m != nil {
+		return m.SumOfSquaredDeviation
+	}
+	return 0
+}
+
+func (m *Distribution) GetBucketCounts() []int64 {
+	if m != nil {
+		return m.BucketCounts
+	}
+	return nil
+}
+
 func (m *Distribution) GetLinearBuckets() *Distribution_LinearBuckets {
 	if x, ok := m.GetBucketOption().(*Distribution_LinearBuckets_); ok {
 		return x.LinearBuckets
@@ -245,6 +287,27 @@ func (m *Distribution_LinearBuckets) String() string            { return proto.C
 func (*Distribution_LinearBuckets) ProtoMessage()               {}
 func (*Distribution_LinearBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
 
+func (m *Distribution_LinearBuckets) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_LinearBuckets) GetWidth() float64 {
+	if m != nil {
+		return m.Width
+	}
+	return 0
+}
+
+func (m *Distribution_LinearBuckets) GetOffset() float64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 // Describing buckets with exponentially growing width.
 type Distribution_ExponentialBuckets struct {
 	// The number of finite buckets. With the underflow and overflow buckets,
@@ -270,6 +333,27 @@ func (*Distribution_ExponentialBuckets) Descriptor() ([]byte, []int) {
 	return fileDescriptor1, []int{0, 1}
 }
 
+func (m *Distribution_ExponentialBuckets) GetNumFiniteBuckets() int32 {
+	if m != nil {
+		return m.NumFiniteBuckets
+	}
+	return 0
+}
+
+func (m *Distribution_ExponentialBuckets) GetGrowthFactor() float64 {
+	if m != nil {
+		return m.GrowthFactor
+	}
+	return 0
+}
+
+func (m *Distribution_ExponentialBuckets) GetScale() float64 {
+	if m != nil {
+		return m.Scale
+	}
+	return 0
+}
+
 // Describing buckets with arbitrary user-provided width.
 type Distribution_ExplicitBuckets struct {
 	// 'bound' is a list of strictly increasing boundaries between
@@ -295,6 +379,13 @@ func (m *Distribution_ExplicitBuckets) String() string            { return proto
 func (*Distribution_ExplicitBuckets) ProtoMessage()               {}
 func (*Distribution_ExplicitBuckets) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 2} }
 
+func (m *Distribution_ExplicitBuckets) GetBounds() []float64 {
+	if m != nil {
+		return m.Bounds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Distribution)(nil), "google.api.servicecontrol.v1.Distribution")
 	proto.RegisterType((*Distribution_LinearBuckets)(nil), "google.api.servicecontrol.v1.Distribution.LinearBuckets")
@@ -302,40 +393,39 @@ func init() {
 	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)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/distribution.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 474 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x93, 0xcf, 0x6e, 0xd3, 0x40,
-	0x10, 0xc6, 0x31, 0x6e, 0x52, 0x18, 0x1a, 0x52, 0x96, 0x82, 0xac, 0x88, 0x83, 0x45, 0x2f, 0x41,
-	0x42, 0xb6, 0x0a, 0x07, 0x50, 0x25, 0x2e, 0xa1, 0x54, 0x1c, 0x10, 0x54, 0xe6, 0x01, 0xac, 0x8d,
-	0xbd, 0x76, 0x57, 0xf5, 0xee, 0x98, 0xfd, 0x93, 0xe6, 0xc2, 0x3b, 0xf1, 0x78, 0x1c, 0x91, 0x77,
-	0x9d, 0x7f, 0x54, 0xaa, 0x94, 0x9b, 0xbf, 0xef, 0xf3, 0xcc, 0x6f, 0x3c, 0x1a, 0xc3, 0xf7, 0x1a,
-	0xb1, 0x6e, 0x58, 0x52, 0x63, 0x43, 0x65, 0x9d, 0xa0, 0xaa, 0xd3, 0x9a, 0xc9, 0x56, 0xa1, 0xc1,
-	0xd4, 0x47, 0xb4, 0xe5, 0x3a, 0xa5, 0x2d, 0x4f, 0x35, 0x53, 0x0b, 0x5e, 0xb0, 0x02, 0xa5, 0x51,
-	0xd8, 0xa4, 0x8b, 0xb3, 0xb4, 0xe4, 0xda, 0x28, 0x3e, 0xb7, 0x86, 0xa3, 0x4c, 0x5c, 0x0d, 0x79,
-	0xd5, 0xf7, 0xa3, 0x2d, 0x4f, 0x76, 0x0b, 0x92, 0xc5, 0xd9, 0xeb, 0x3f, 0x43, 0x38, 0xba, 0xd8,
-	0x2a, 0x22, 0x27, 0x30, 0x28, 0xd0, 0x4a, 0x13, 0x05, 0x71, 0x30, 0x0d, 0x33, 0x2f, 0x08, 0x81,
-	0x03, 0xc1, 0xa8, 0x8c, 0x1e, 0xc6, 0xc1, 0x34, 0xc8, 0xdc, 0x33, 0x89, 0xe0, 0x50, 0x70, 0xc9,
-	0x85, 0x15, 0x51, 0xe8, 0xec, 0x95, 0x74, 0x09, 0x5d, 0xba, 0xe4, 0xa0, 0x4f, 0xbc, 0x24, 0x1f,
-	0x20, 0xd2, 0x56, 0xe4, 0x58, 0xe5, 0xfa, 0x97, 0xa5, 0x8a, 0x95, 0x79, 0xc9, 0x16, 0x9c, 0x76,
-	0xe4, 0x68, 0xe0, 0x5e, 0x7d, 0xa1, 0xad, 0xf8, 0x51, 0xfd, 0xf4, 0xe9, 0xc5, 0x2a, 0x24, 0xa7,
-	0x30, 0x9a, 0xdb, 0xe2, 0x86, 0x99, 0xdc, 0x0d, 0xa4, 0xa3, 0x61, 0x1c, 0x4e, 0xc3, 0xec, 0xc8,
-	0x9b, 0x9f, 0x9d, 0x47, 0x28, 0x3c, 0x6d, 0xb8, 0x64, 0x54, 0xe5, 0xde, 0xd6, 0xd1, 0x61, 0x1c,
-	0x4c, 0x9f, 0xbc, 0xfb, 0x98, 0xdc, 0xb7, 0x83, 0x64, 0xfb, 0xfb, 0x93, 0x6f, 0xae, 0xc1, 0xcc,
-	0xd7, 0x7f, 0x7d, 0x90, 0x8d, 0x9a, 0x6d, 0x83, 0xb4, 0xf0, 0x9c, 0x2d, 0x5b, 0x94, 0x4c, 0x1a,
-	0x4e, 0x9b, 0x35, 0xe7, 0x91, 0xe3, 0x7c, 0xda, 0x83, 0xf3, 0x65, 0xd3, 0x65, 0x03, 0x23, 0xec,
-	0x8e, 0x4b, 0x6a, 0x38, 0x66, 0xcb, 0xb6, 0xe1, 0x05, 0x37, 0x6b, 0xdc, 0x63, 0x87, 0x3b, 0xdf,
-	0x0f, 0xe7, 0x5a, 0x6c, 0x58, 0x63, 0xb6, 0x6b, 0x4d, 0x6e, 0x60, 0xb4, 0xf3, 0xf1, 0xe4, 0x2d,
-	0x10, 0x69, 0x45, 0x5e, 0x71, 0xc9, 0x0d, 0x5b, 0xb3, 0xbb, 0xbb, 0x18, 0x64, 0xc7, 0xd2, 0x8a,
-	0x4b, 0x17, 0xac, 0xde, 0x3e, 0x81, 0xc1, 0x2d, 0x2f, 0xcd, 0x75, 0x7f, 0x23, 0x5e, 0x90, 0x97,
-	0x30, 0xc4, 0xaa, 0xd2, 0xcc, 0xf4, 0x37, 0xd2, 0xab, 0xc9, 0x6f, 0x20, 0x77, 0x37, 0xb0, 0x27,
-	0xf1, 0x14, 0x46, 0xb5, 0xc2, 0x5b, 0x73, 0x9d, 0x57, 0xb4, 0x30, 0xa8, 0x7a, 0xf2, 0x91, 0x37,
-	0x2f, 0x9d, 0xd7, 0x8d, 0xa5, 0x0b, 0xda, 0xb0, 0x9e, 0xef, 0xc5, 0xe4, 0x0d, 0x8c, 0xff, 0xdb,
-	0x48, 0x37, 0xe9, 0x1c, 0xad, 0x2c, 0x3b, 0x5e, 0xd8, 0x4d, 0xea, 0xd5, 0x6c, 0xbc, 0xbe, 0x3c,
-	0x6c, 0xbb, 0x55, 0xce, 0xce, 0x21, 0x2e, 0x50, 0xdc, 0xbb, 0xfb, 0xd9, 0xb3, 0xed, 0xe5, 0x5f,
-	0x75, 0xff, 0xe1, 0x55, 0xf0, 0x37, 0x08, 0xe6, 0x43, 0xf7, 0x4f, 0xbe, 0xff, 0x17, 0x00, 0x00,
-	0xff, 0xff, 0xfb, 0xfd, 0x43, 0xc4, 0xe5, 0x03, 0x00, 0x00,
+	// 486 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4d, 0x6f, 0xd3, 0x40,
+	0x10, 0x86, 0x31, 0x6e, 0x52, 0x18, 0x12, 0x52, 0x96, 0x82, 0xac, 0x88, 0x83, 0x45, 0x2f, 0x41,
+	0x42, 0xb6, 0x0a, 0x07, 0x10, 0x88, 0x4b, 0x28, 0x15, 0x42, 0x48, 0x54, 0xe6, 0xc6, 0xc5, 0xda,
+	0xd8, 0x6b, 0x77, 0x55, 0x7b, 0xc7, 0xec, 0x47, 0x9a, 0x0b, 0x57, 0x7e, 0x0f, 0x3f, 0x8f, 0x23,
+	0xf2, 0xae, 0xf3, 0x45, 0xab, 0x48, 0xb9, 0xf9, 0x7d, 0xc7, 0x33, 0xcf, 0xec, 0x68, 0x06, 0xe2,
+	0x12, 0xb1, 0xac, 0x58, 0x4c, 0x1b, 0x1e, 0x2b, 0x26, 0xe7, 0x3c, 0x63, 0x19, 0x0a, 0x2d, 0xb1,
+	0x8a, 0xe7, 0xa7, 0x71, 0xce, 0x95, 0x96, 0x7c, 0x66, 0x34, 0x47, 0x11, 0x35, 0x12, 0x35, 0x92,
+	0x67, 0x2e, 0x21, 0xa2, 0x0d, 0x8f, 0xb6, 0x13, 0xa2, 0xf9, 0xe9, 0xf3, 0x3f, 0x7d, 0x18, 0x9c,
+	0x6d, 0x24, 0x91, 0x63, 0xe8, 0x65, 0x68, 0x84, 0x0e, 0xbc, 0xd0, 0x9b, 0xf8, 0x89, 0x13, 0x84,
+	0xc0, 0x41, 0xcd, 0xa8, 0x08, 0xee, 0x86, 0xde, 0xc4, 0x4b, 0xec, 0x37, 0x09, 0xe0, 0xb0, 0xe6,
+	0x82, 0xd7, 0xa6, 0x0e, 0x7c, 0x6b, 0x2f, 0xa5, 0x8d, 0xd0, 0x85, 0x8d, 0x1c, 0x74, 0x11, 0x27,
+	0xc9, 0x1b, 0x08, 0x94, 0xa9, 0x53, 0x2c, 0x52, 0xf5, 0xd3, 0x50, 0xc9, 0xf2, 0x34, 0x67, 0x73,
+	0x4e, 0x5b, 0x72, 0xd0, 0xb3, 0xbf, 0x3e, 0x51, 0xa6, 0xfe, 0x56, 0x7c, 0x77, 0xd1, 0xb3, 0x65,
+	0x90, 0x9c, 0xc0, 0x70, 0x66, 0xb2, 0x2b, 0xa6, 0x53, 0xdb, 0x90, 0x0a, 0xfa, 0xa1, 0x3f, 0xf1,
+	0x93, 0x81, 0x33, 0x3f, 0x5a, 0x8f, 0x50, 0x78, 0x58, 0x71, 0xc1, 0xa8, 0x4c, 0x9d, 0xad, 0x82,
+	0xc3, 0xd0, 0x9b, 0x3c, 0x78, 0xf5, 0x36, 0xda, 0x35, 0x83, 0x68, 0xf3, 0xfd, 0xd1, 0x57, 0x5b,
+	0x60, 0xea, 0xf2, 0x3f, 0xdf, 0x49, 0x86, 0xd5, 0xa6, 0x41, 0x1a, 0x78, 0xcc, 0x16, 0x0d, 0x0a,
+	0x26, 0x34, 0xa7, 0xd5, 0x8a, 0x73, 0xcf, 0x72, 0x3e, 0xec, 0xc1, 0xf9, 0xb4, 0xae, 0xb2, 0x86,
+	0x11, 0x76, 0xc3, 0x25, 0x25, 0x1c, 0xb1, 0x45, 0x53, 0xf1, 0x8c, 0xeb, 0x15, 0xee, 0xbe, 0xc5,
+	0xbd, 0xdb, 0x0f, 0x67, 0x4b, 0xac, 0x59, 0x23, 0xb6, 0x6d, 0x8d, 0xaf, 0x60, 0xb8, 0xf5, 0x78,
+	0xf2, 0x12, 0x88, 0x30, 0x75, 0x5a, 0x70, 0xc1, 0x35, 0x5b, 0xb1, 0xdb, 0xbd, 0xe8, 0x25, 0x47,
+	0xc2, 0xd4, 0xe7, 0x36, 0xb0, 0xfc, 0xfb, 0x18, 0x7a, 0xd7, 0x3c, 0xd7, 0x97, 0xdd, 0x8e, 0x38,
+	0x41, 0x9e, 0x42, 0x1f, 0x8b, 0x42, 0x31, 0xdd, 0xed, 0x48, 0xa7, 0xc6, 0xbf, 0x80, 0xdc, 0x9c,
+	0xc0, 0x9e, 0xc4, 0x13, 0x18, 0x96, 0x12, 0xaf, 0xf5, 0x65, 0x5a, 0xd0, 0x4c, 0xa3, 0xec, 0xc8,
+	0x03, 0x67, 0x9e, 0x5b, 0xaf, 0x6d, 0x4b, 0x65, 0xb4, 0x62, 0x1d, 0xdf, 0x89, 0xf1, 0x0b, 0x18,
+	0xfd, 0x37, 0x91, 0xb6, 0xd3, 0x19, 0x1a, 0x91, 0xb7, 0x3c, 0xbf, 0xed, 0xd4, 0xa9, 0xe9, 0x68,
+	0xb5, 0x79, 0xd8, 0xb4, 0xa3, 0x9c, 0xfe, 0xf6, 0x20, 0xcc, 0xb0, 0xde, 0x39, 0xfc, 0xe9, 0xa3,
+	0xcd, 0xe9, 0x5f, 0xb4, 0x87, 0x78, 0xe1, 0xfd, 0xf8, 0xd2, 0xa5, 0x94, 0x58, 0x51, 0x51, 0x46,
+	0x28, 0xcb, 0xb8, 0x64, 0xc2, 0x9e, 0x69, 0x77, 0xd6, 0xb4, 0xe1, 0xea, 0xf6, 0xd3, 0x7e, 0xbf,
+	0xed, 0xfc, 0xf5, 0xbc, 0x59, 0xdf, 0x66, 0xbe, 0xfe, 0x17, 0x00, 0x00, 0xff, 0xff, 0x14, 0x52,
+	0xaf, 0xef, 0x13, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/distribution.proto b/googleapis/api/servicecontrol/v1/distribution.proto
deleted file mode 100644
index 83af1311..00000000
--- a/googleapis/api/servicecontrol/v1/distribution.proto
+++ /dev/null
@@ -1,158 +0,0 @@
-// 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
index befad9cd..361302d7 100644
--- a/googleapis/api/servicecontrol/v1/log_entry.pb.go
+++ b/googleapis/api/servicecontrol/v1/log_entry.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/log_entry.proto
+// source: google/api/servicecontrol/v1/log_entry.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 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/api/annotations"
 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"
@@ -74,6 +74,13 @@ func (m *LogEntry) GetPayload() isLogEntry_Payload {
 	return nil
 }
 
+func (m *LogEntry) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.Timestamp
@@ -81,6 +88,20 @@ func (m *LogEntry) GetTimestamp() *google_protobuf3.Timestamp {
 	return nil
 }
 
+func (m *LogEntry) GetSeverity() google_logging_type.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type.LogSeverity_DEFAULT
+}
+
+func (m *LogEntry) GetInsertId() string {
+	if m != nil {
+		return m.InsertId
+	}
+	return ""
+}
+
 func (m *LogEntry) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -202,40 +223,37 @@ 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)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/log_entry.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 467 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6f, 0xd3, 0x30,
-	0x14, 0xc6, 0x9b, 0x75, 0x94, 0xd6, 0x69, 0x27, 0x64, 0x4d, 0x22, 0x0a, 0x1c, 0x22, 0xb8, 0xf4,
-	0x64, 0x6b, 0x9d, 0x90, 0x06, 0xe3, 0x00, 0x95, 0x26, 0x75, 0xd0, 0xc3, 0x94, 0x71, 0xaf, 0xdc,
-	0xd4, 0x33, 0x16, 0x8e, 0x5f, 0x14, 0xbb, 0x11, 0xf9, 0x93, 0xf9, 0x2f, 0x50, 0x6c, 0xa7, 0x03,
-	0x4d, 0xda, 0x10, 0x87, 0xaa, 0xcf, 0xf6, 0xf7, 0x7b, 0xef, 0x7b, 0x5f, 0x8b, 0xbe, 0x0a, 0x00,
-	0xa1, 0x38, 0x11, 0xa0, 0x98, 0x16, 0x04, 0x6a, 0x41, 0x05, 0xd7, 0x55, 0x0d, 0x16, 0xa8, 0x7f,
-	0x62, 0x95, 0x34, 0x94, 0x55, 0x92, 0x1a, 0x5e, 0x37, 0xb2, 0xe0, 0x05, 0x68, 0x5b, 0x83, 0xa2,
-	0xcd, 0x19, 0x55, 0x20, 0x36, 0x5c, 0xdb, 0xba, 0x25, 0x0e, 0xc0, 0xaf, 0x43, 0x33, 0x56, 0x49,
-	0xf2, 0xb7, 0x9a, 0x34, 0x67, 0xe9, 0xf5, 0xff, 0x8c, 0xba, 0x93, 0x82, 0x32, 0xad, 0xc1, 0x32,
-	0x2b, 0x41, 0x1b, 0x3f, 0x28, 0xbd, 0xfa, 0xb7, 0x56, 0x0a, 0x84, 0x90, 0x5a, 0x50, 0xdb, 0x56,
-	0xdc, 0x99, 0x35, 0xbc, 0xe1, 0xb5, 0xb4, 0xc1, 0x6f, 0x4a, 0x85, 0xb4, 0xdf, 0xf7, 0x5b, 0x52,
-	0x40, 0x49, 0x7d, 0x2b, 0xea, 0x1e, 0xb6, 0xfb, 0x3b, 0x5a, 0x75, 0x90, 0xa1, 0x4c, 0xb7, 0xdd,
-	0x27, 0x00, 0xef, 0x9e, 0x06, 0x8c, 0xad, 0xf7, 0x85, 0x0d, 0x5f, 0x01, 0xbb, 0x7c, 0x1a, 0xb3,
-	0xb2, 0xe4, 0xc6, 0xb2, 0xb2, 0xba, 0xaf, 0x3c, 0xfc, 0xe6, 0xd7, 0x10, 0x8d, 0xd7, 0x20, 0xae,
-	0xba, 0x9c, 0x31, 0x46, 0xc7, 0x9a, 0x95, 0x3c, 0x41, 0x59, 0x34, 0x9f, 0xe4, 0xae, 0xc6, 0x17,
-	0x68, 0x72, 0x60, 0x92, 0x38, 0x8b, 0xe6, 0xf1, 0x22, 0x25, 0x21, 0xa0, 0x7e, 0x0c, 0xf9, 0xd6,
-	0x2b, 0xf2, 0x7b, 0x31, 0xfe, 0x88, 0xc6, 0x7d, 0x22, 0xc9, 0x34, 0x8b, 0xe6, 0x27, 0x8b, 0xac,
-	0x07, 0x43, 0x74, 0xa4, 0x73, 0x47, 0xd6, 0x20, 0x6e, 0x83, 0x2e, 0x3f, 0x10, 0xf8, 0x15, 0x9a,
-	0x48, 0x6d, 0x78, 0x6d, 0x37, 0x72, 0x97, 0x1c, 0x3b, 0x43, 0x63, 0x7f, 0x71, 0xbd, 0xc3, 0x5f,
-	0xd0, 0x48, 0xb1, 0x2d, 0x57, 0x26, 0x99, 0x65, 0xc3, 0x79, 0xbc, 0x58, 0x90, 0xc7, 0xfe, 0x1b,
-	0xa4, 0x5f, 0x90, 0xac, 0x1d, 0xe4, 0xea, 0x3c, 0x74, 0xc0, 0x97, 0x68, 0xe6, 0xf6, 0xd8, 0x54,
-	0xac, 0x55, 0xc0, 0x76, 0xc9, 0x91, 0x5b, 0xf2, 0xf4, 0xc1, 0x92, 0x9f, 0x75, 0xbb, 0x1a, 0xe4,
-	0x53, 0x77, 0xbe, 0xf1, 0x5a, 0xfc, 0x16, 0x4d, 0x2d, 0xff, 0x69, 0x0f, 0xec, 0xb0, 0x33, 0xba,
-	0x1a, 0xe4, 0x71, 0x77, 0xdb, 0x8b, 0x3e, 0xa1, 0x13, 0xff, 0x83, 0x1d, 0x64, 0x23, 0x37, 0xe2,
-	0xe5, 0x83, 0x11, 0xb7, 0x4e, 0xb6, 0x1a, 0xe4, 0x33, 0x0f, 0x84, 0x0e, 0xe9, 0x7b, 0x14, 0xff,
-	0x61, 0x1d, 0xbf, 0x40, 0xc3, 0x1f, 0xbc, 0x4d, 0x22, 0x97, 0x4a, 0x57, 0xe2, 0x53, 0xf4, 0xac,
-	0x61, 0x6a, 0xcf, 0x9d, 0xf9, 0x49, 0xee, 0x0f, 0x1f, 0x8e, 0x2e, 0xa2, 0xe5, 0x04, 0x3d, 0x0f,
-	0x53, 0x97, 0xe7, 0x28, 0x2b, 0xa0, 0x7c, 0x34, 0xaa, 0xe5, 0xac, 0xcf, 0xea, 0xc6, 0xad, 0x19,
-	0x6d, 0x47, 0xce, 0xdc, 0xf9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0xca, 0x34, 0xe0, 0xb6, 0xcb,
-	0x03, 0x00, 0x00,
+	// 454 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x93, 0x4f, 0x8f, 0xd3, 0x30,
+	0x10, 0xc5, 0x9b, 0xed, 0x52, 0x1a, 0xa7, 0x5d, 0x21, 0x6b, 0x25, 0x42, 0xa8, 0x44, 0x04, 0x12,
+	0xea, 0x01, 0x39, 0xda, 0x72, 0x59, 0x58, 0x0e, 0x50, 0x09, 0xa9, 0xac, 0x7a, 0x58, 0x65, 0x39,
+	0x71, 0xa9, 0xdc, 0xd6, 0x58, 0x16, 0xae, 0x27, 0x4a, 0xdc, 0x88, 0x9c, 0xf8, 0xbc, 0x7c, 0x0b,
+	0x94, 0xb1, 0x53, 0xf6, 0x9f, 0xf6, 0xe6, 0xf1, 0xfb, 0xbd, 0x99, 0x79, 0x8e, 0x42, 0xde, 0x49,
+	0x00, 0xa9, 0x45, 0xc6, 0x0b, 0x95, 0x55, 0xa2, 0xac, 0xd5, 0x46, 0x6c, 0xc0, 0xd8, 0x12, 0x74,
+	0x56, 0x9f, 0x65, 0x1a, 0xe4, 0x4a, 0x18, 0x5b, 0x36, 0xac, 0x28, 0xc1, 0x02, 0x9d, 0x38, 0x9a,
+	0xf1, 0x42, 0xb1, 0xdb, 0x34, 0xab, 0xcf, 0x92, 0xc9, 0x8d, 0x5e, 0xdc, 0x18, 0xb0, 0xdc, 0x2a,
+	0x30, 0x95, 0xf3, 0x26, 0x6f, 0xbd, 0xaa, 0x41, 0x4a, 0x65, 0x64, 0x66, 0x9b, 0x02, 0x8b, 0x55,
+	0x25, 0x6a, 0x51, 0x2a, 0xeb, 0x67, 0x24, 0x2f, 0x3c, 0x87, 0xd5, 0x7a, 0xff, 0x33, 0xe3, 0xa6,
+	0x93, 0x26, 0x77, 0xa5, 0xca, 0x96, 0xfb, 0x8d, 0xf5, 0xea, 0xab, 0xbb, 0xaa, 0x55, 0x3b, 0x51,
+	0x59, 0xbe, 0x2b, 0x1c, 0xf0, 0xfa, 0x6f, 0x9f, 0x0c, 0x97, 0x20, 0xbf, 0xb6, 0x81, 0x28, 0x25,
+	0xc7, 0x86, 0xef, 0x44, 0x4c, 0xd2, 0x60, 0x1a, 0xe6, 0x78, 0xa6, 0xe7, 0x24, 0x3c, 0x78, 0xe2,
+	0x28, 0x0d, 0xa6, 0xd1, 0x2c, 0x61, 0x3e, 0x72, 0xd7, 0x95, 0x7d, 0xef, 0x88, 0xfc, 0x3f, 0x4c,
+	0x3f, 0x91, 0x61, 0x17, 0x23, 0x1e, 0xa5, 0xc1, 0xf4, 0x64, 0x96, 0x76, 0x46, 0x9f, 0x97, 0xb5,
+	0x79, 0xd9, 0x12, 0xe4, 0xb5, 0xe7, 0xf2, 0x83, 0x83, 0xbe, 0x24, 0xa1, 0x32, 0x95, 0x28, 0xed,
+	0x4a, 0x6d, 0xe3, 0x63, 0x5c, 0x68, 0xe8, 0x2e, 0xbe, 0x6d, 0xe9, 0x25, 0x19, 0x68, 0xbe, 0x16,
+	0xba, 0x8a, 0xc7, 0x69, 0x7f, 0x1a, 0xcd, 0x66, 0xec, 0xb1, 0x8f, 0xc0, 0xba, 0x80, 0x6c, 0x89,
+	0x26, 0x3c, 0xe7, 0xbe, 0x03, 0xbd, 0x20, 0x63, 0xcc, 0xb1, 0x2a, 0x78, 0xa3, 0x81, 0x6f, 0xe3,
+	0x23, 0x0c, 0x79, 0x7a, 0x2f, 0xe4, 0x17, 0xd3, 0x2c, 0x7a, 0xf9, 0x08, 0xeb, 0x2b, 0xc7, 0xd2,
+	0x37, 0x64, 0x64, 0xc5, 0x6f, 0x7b, 0xf0, 0xf6, 0xdb, 0x45, 0x17, 0xbd, 0x3c, 0x6a, 0x6f, 0x3b,
+	0xe8, 0x33, 0x39, 0x71, 0x1f, 0xe5, 0x80, 0x0d, 0x70, 0xc4, 0xf3, 0x7b, 0x23, 0xae, 0x11, 0x5b,
+	0xf4, 0xf2, 0xb1, 0x33, 0xf8, 0x0e, 0xc9, 0x07, 0x12, 0xdd, 0x58, 0x9d, 0x3e, 0x23, 0xfd, 0x5f,
+	0xa2, 0x89, 0x03, 0x7c, 0x95, 0xf6, 0x48, 0x4f, 0xc9, 0x93, 0x9a, 0xeb, 0xbd, 0xc0, 0xe5, 0xc3,
+	0xdc, 0x15, 0x1f, 0x8f, 0xce, 0x83, 0x79, 0x48, 0x9e, 0xfa, 0xa9, 0xf3, 0x3f, 0x24, 0xdd, 0xc0,
+	0xee, 0xd1, 0xa7, 0x9a, 0x8f, 0xbb, 0xb7, 0xba, 0xc2, 0x98, 0xc1, 0x8f, 0x4b, 0x8f, 0x4b, 0xd0,
+	0xdc, 0x48, 0x06, 0xa5, 0xcc, 0xa4, 0x30, 0xb8, 0x71, 0xe6, 0x24, 0x5e, 0xa8, 0xea, 0xe1, 0x7f,
+	0xe5, 0xe2, 0xf6, 0xcd, 0x7a, 0x80, 0xb6, 0xf7, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x67, 0x50,
+	0x6e, 0x13, 0x61, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/log_entry.proto b/googleapis/api/servicecontrol/v1/log_entry.proto
deleted file mode 100644
index 2a93d6c0..00000000
--- a/googleapis/api/servicecontrol/v1/log_entry.proto
+++ /dev/null
@@ -1,66 +0,0 @@
-// 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
index d9d4c51a..0a2c593e 100644
--- a/googleapis/api/servicecontrol/v1/metric_value.pb.go
+++ b/googleapis/api/servicecontrol/v1/metric_value.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/metric_value.proto
+// source: google/api/servicecontrol/v1/metric_value.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 import _ "google.golang.org/genproto/googleapis/type/money"
 
@@ -268,6 +268,13 @@ func (m *MetricValueSet) String() string            { return proto.CompactTextSt
 func (*MetricValueSet) ProtoMessage()               {}
 func (*MetricValueSet) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *MetricValueSet) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
+
 func (m *MetricValueSet) GetMetricValues() []*MetricValue {
 	if m != nil {
 		return m.MetricValues
@@ -280,41 +287,39 @@ func init() {
 	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)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/metric_value.proto", fileDescriptor3) }
 
 var fileDescriptor3 = []byte{
-	// 493 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0xcd, 0x6f, 0xd3, 0x30,
-	0x1c, 0xad, 0x1b, 0xd6, 0x8f, 0x5f, 0x06, 0x82, 0xc0, 0x21, 0xaa, 0x90, 0x16, 0xc6, 0x25, 0x70,
-	0xb0, 0xb5, 0xc1, 0x10, 0x83, 0x9d, 0x2a, 0x90, 0x8a, 0xc4, 0xaa, 0x29, 0x20, 0x2e, 0x1c, 0x26,
-	0x27, 0xf5, 0x82, 0x45, 0x62, 0x47, 0xb1, 0x53, 0xa9, 0x47, 0xfe, 0x6b, 0x2e, 0x48, 0xc8, 0x1f,
-	0x65, 0xd9, 0xa5, 0x4c, 0x70, 0x89, 0xe2, 0xe7, 0xf7, 0xde, 0xef, 0xd3, 0xb0, 0x2c, 0xa5, 0x2c,
-	0x2b, 0x86, 0x4b, 0x59, 0x51, 0x51, 0x62, 0xd9, 0x96, 0xa4, 0x64, 0xa2, 0x69, 0xa5, 0x96, 0xc4,
-	0x5d, 0xd1, 0x86, 0x2b, 0x42, 0x1b, 0x4e, 0x14, 0x6b, 0xd7, 0xbc, 0x60, 0x85, 0x14, 0xba, 0x95,
-	0x15, 0x59, 0x1f, 0x91, 0x9a, 0xe9, 0x96, 0x17, 0x97, 0x6b, 0x5a, 0x75, 0x0c, 0x5b, 0x4d, 0xf4,
-	0xd8, 0xfb, 0xd1, 0x86, 0xe3, 0x9b, 0x02, 0xbc, 0x3e, 0x9a, 0x7d, 0xf8, 0x97, 0x68, 0x57, 0xbc,
-	0x24, 0x54, 0x08, 0xa9, 0xa9, 0xe6, 0x52, 0x28, 0x17, 0x68, 0xf6, 0x5f, 0x89, 0xaf, 0xb8, 0xd2,
-	0x2d, 0xcf, 0x3b, 0x63, 0xe8, 0xfd, 0xde, 0x96, 0x5c, 0x7f, 0xeb, 0x72, 0x5c, 0xc8, 0x9a, 0x38,
-	0x4f, 0x62, 0x2f, 0xf2, 0xee, 0x8a, 0x34, 0x7a, 0xd3, 0x30, 0x45, 0x34, 0xaf, 0x99, 0xd2, 0xb4,
-	0x6e, 0xae, 0xff, 0xbc, 0xf8, 0xec, 0x76, 0xc9, 0x18, 0x1b, 0x52, 0x4b, 0xc1, 0x36, 0xee, 0xeb,
-	0xd4, 0x87, 0xbf, 0x02, 0x08, 0xcf, 0x6d, 0x2b, 0xbf, 0x98, 0x4e, 0x46, 0xe7, 0x30, 0xaa, 0x68,
-	0xce, 0x2a, 0x15, 0xa3, 0x24, 0x48, 0xc3, 0xe3, 0x13, 0xbc, 0xab, 0xa9, 0xb8, 0x27, 0xc5, 0x1f,
-	0xad, 0xee, 0xbd, 0xd0, 0xed, 0x26, 0xf3, 0x26, 0xd1, 0x29, 0x80, 0xd2, 0xb4, 0xd5, 0x97, 0x26,
-	0xeb, 0x78, 0x98, 0xa0, 0x34, 0x3c, 0x9e, 0x6d, 0x2d, 0xb7, 0x35, 0xe2, 0xcf, 0xdb, 0x92, 0xb2,
-	0xa9, 0x65, 0x9b, 0x73, 0x74, 0x02, 0x13, 0x26, 0x56, 0x4e, 0x18, 0xfc, 0x55, 0x38, 0x66, 0x62,
-	0x65, 0x65, 0x07, 0x00, 0xb9, 0x94, 0x95, 0x5b, 0x8c, 0xf8, 0x4e, 0x82, 0xd2, 0xc9, 0x62, 0x90,
-	0x4d, 0x0d, 0xe6, 0x2a, 0x7c, 0x02, 0x21, 0x17, 0xfa, 0xd5, 0x4b, 0xcf, 0xd8, 0x4b, 0x50, 0x1a,
-	0x2c, 0x06, 0x19, 0x58, 0xd0, 0x51, 0x9e, 0xc2, 0xfe, 0x4a, 0x76, 0x79, 0xc5, 0x3c, 0x67, 0x94,
-	0xa0, 0x14, 0x2d, 0x06, 0x59, 0xe8, 0xd0, 0x3f, 0x24, 0x33, 0x48, 0x51, 0x7a, 0xd2, 0x38, 0x41,
-	0xe9, 0xd4, 0x90, 0x1c, 0xea, 0x48, 0x5f, 0x21, 0xea, 0xcf, 0xdb, 0x53, 0x27, 0xb6, 0x9c, 0xe7,
-	0xbb, 0x5b, 0xfb, 0xae, 0xa7, 0x5b, 0x0c, 0xb2, 0x07, 0x7d, 0x1f, 0x6b, 0x3e, 0x3b, 0x85, 0xb0,
-	0xd7, 0xf3, 0xe8, 0x3e, 0x04, 0xdf, 0xd9, 0x26, 0x46, 0x26, 0x8f, 0xcc, 0xfc, 0x46, 0x8f, 0x60,
-	0xcf, 0x05, 0x1c, 0x5a, 0xcc, 0x1d, 0xde, 0x0c, 0x5f, 0xa3, 0xf9, 0xd8, 0xdf, 0x1c, 0xfe, 0x40,
-	0x70, 0xaf, 0x37, 0xc4, 0x4f, 0x4c, 0x47, 0x07, 0x10, 0xfa, 0xc7, 0x25, 0x68, 0xcd, 0xbc, 0x1f,
-	0x38, 0x68, 0x49, 0x6b, 0x16, 0x2d, 0xe1, 0x6e, 0xff, 0xf5, 0xa9, 0x78, 0x68, 0x57, 0xe5, 0xd9,
-	0xad, 0x57, 0x25, 0xdb, 0xaf, 0xaf, 0x0f, 0x6a, 0x7e, 0x06, 0x49, 0x21, 0xeb, 0x9d, 0xea, 0xf9,
-	0xc3, 0x9b, 0x49, 0x5e, 0x98, 0x0d, 0xb8, 0x40, 0x3f, 0x11, 0xca, 0x47, 0x76, 0x1b, 0x5e, 0xfc,
-	0x0e, 0x00, 0x00, 0xff, 0xff, 0xde, 0xbe, 0xad, 0x24, 0x4e, 0x04, 0x00, 0x00,
+	// 482 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x8b, 0xd3, 0x40,
+	0x14, 0xc7, 0x3b, 0x8d, 0xdb, 0x1f, 0x2f, 0xab, 0x68, 0x14, 0x0c, 0x65, 0xa1, 0x71, 0xbd, 0x44,
+	0x0f, 0x13, 0x76, 0x75, 0xc5, 0xd5, 0x5b, 0x51, 0x28, 0xe2, 0x2e, 0x4b, 0x14, 0x0f, 0x7a, 0x58,
+	0x26, 0xed, 0x33, 0x0c, 0x26, 0x33, 0x21, 0x33, 0x2d, 0xf4, 0xe8, 0xcd, 0x3f, 0xd9, 0x8b, 0x20,
+	0xf3, 0xa3, 0x9a, 0x82, 0xd4, 0xbd, 0xe5, 0x7d, 0xf3, 0xfd, 0xbc, 0x7c, 0x27, 0xef, 0x0d, 0x64,
+	0xa5, 0x94, 0x65, 0x85, 0x19, 0x6b, 0x78, 0xa6, 0xb0, 0x5d, 0xf3, 0x05, 0x2e, 0xa4, 0xd0, 0xad,
+	0xac, 0xb2, 0xf5, 0x49, 0x56, 0xa3, 0x6e, 0xf9, 0xe2, 0x7a, 0xcd, 0xaa, 0x15, 0xd2, 0xa6, 0x95,
+	0x5a, 0x46, 0x47, 0x0e, 0xa0, 0xac, 0xe1, 0x74, 0x17, 0xa0, 0xeb, 0x93, 0xc9, 0x51, 0xa7, 0x1d,
+	0x13, 0x42, 0x6a, 0xa6, 0xb9, 0x14, 0xca, 0xb1, 0x93, 0xfd, 0x1f, 0x5b, 0x72, 0xa5, 0x5b, 0x5e,
+	0xac, 0x0c, 0xe1, 0x81, 0xa9, 0x07, 0x6c, 0x55, 0xac, 0xbe, 0x66, 0x9a, 0xd7, 0xa8, 0x34, 0xab,
+	0x1b, 0x6f, 0x78, 0xe8, 0x0d, 0x7a, 0xd3, 0x60, 0x56, 0x4b, 0x81, 0x1b, 0xf7, 0xe2, 0xf8, 0x57,
+	0x00, 0xe1, 0x85, 0x4d, 0xff, 0xc9, 0x84, 0x8f, 0x2e, 0x60, 0x50, 0xb1, 0x02, 0x2b, 0x15, 0x93,
+	0x24, 0x48, 0xc3, 0xd3, 0x33, 0xba, 0xef, 0x1c, 0xb4, 0x83, 0xd2, 0xf7, 0x96, 0x7b, 0x2b, 0x74,
+	0xbb, 0xc9, 0x7d, 0x93, 0xe8, 0x1c, 0x40, 0x69, 0xd6, 0xea, 0x6b, 0x13, 0x28, 0xee, 0x27, 0x24,
+	0x0d, 0x4f, 0x27, 0xdb, 0x96, 0xdb, 0xb4, 0xf4, 0xe3, 0x36, 0x6d, 0x3e, 0xb6, 0x6e, 0x53, 0x47,
+	0x67, 0x30, 0x42, 0xb1, 0x74, 0x60, 0xf0, 0x5f, 0x70, 0x88, 0x62, 0x69, 0xb1, 0x29, 0x40, 0x21,
+	0x65, 0xe5, 0x66, 0x11, 0xdf, 0x4a, 0x48, 0x3a, 0x9a, 0xf7, 0xf2, 0xb1, 0xd1, 0xdc, 0x09, 0x1f,
+	0x41, 0xc8, 0x85, 0x7e, 0xf1, 0xdc, 0x3b, 0x0e, 0x12, 0x92, 0x06, 0xf3, 0x5e, 0x0e, 0x56, 0x74,
+	0x96, 0xc7, 0x70, 0xb8, 0x94, 0xab, 0xa2, 0x42, 0xef, 0x19, 0x24, 0x24, 0x25, 0xf3, 0x5e, 0x1e,
+	0x3a, 0xf5, 0x8f, 0xc9, 0xcc, 0x41, 0x94, 0xde, 0x34, 0x4c, 0x48, 0x3a, 0x36, 0x26, 0xa7, 0x3a,
+	0xd3, 0x17, 0x88, 0xba, 0xe3, 0xf2, 0xd6, 0x91, 0x3d, 0xce, 0xd3, 0xfd, 0xbf, 0xf6, 0x4d, 0x87,
+	0x9b, 0xf7, 0xf2, 0x7b, 0xdd, 0x3e, 0xb6, 0xf9, 0xe4, 0x1c, 0xc2, 0xce, 0x3f, 0x8f, 0xee, 0x42,
+	0xf0, 0x0d, 0x37, 0x31, 0x31, 0x39, 0x72, 0xf3, 0x18, 0x3d, 0x80, 0x03, 0xf7, 0xc1, 0xbe, 0xd5,
+	0x5c, 0xf1, 0xaa, 0xff, 0x92, 0xcc, 0x86, 0xfe, 0xcd, 0xf1, 0x77, 0x02, 0x77, 0x3a, 0x43, 0xfc,
+	0x80, 0x3a, 0x9a, 0x42, 0xe8, 0xf7, 0x59, 0xb0, 0x1a, 0x7d, 0x3f, 0x70, 0xd2, 0x25, 0xab, 0x31,
+	0xba, 0x84, 0xdb, 0xdd, 0x85, 0x57, 0x71, 0xdf, 0xae, 0xca, 0x93, 0x1b, 0xaf, 0x4a, 0x7e, 0x58,
+	0xff, 0x2d, 0xd4, 0xec, 0x07, 0x81, 0x64, 0x21, 0xeb, 0xbd, 0xf8, 0xec, 0xfe, 0x6e, 0xca, 0x2b,
+	0xb3, 0x02, 0x57, 0xe4, 0xf3, 0x3b, 0x0f, 0x95, 0xb2, 0x62, 0xa2, 0xa4, 0xb2, 0x2d, 0xb3, 0x12,
+	0x85, 0x5d, 0x10, 0x7f, 0x8b, 0x58, 0xc3, 0xd5, 0xbf, 0x6f, 0xd2, 0xeb, 0x5d, 0xe5, 0x27, 0x21,
+	0xc5, 0xc0, 0x92, 0xcf, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0xdb, 0x00, 0x1a, 0xde, 0xef, 0x03,
+	0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/metric_value.proto b/googleapis/api/servicecontrol/v1/metric_value.proto
deleted file mode 100644
index 5711b393..00000000
--- a/googleapis/api/servicecontrol/v1/metric_value.proto
+++ /dev/null
@@ -1,77 +0,0 @@
-// 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
index b7f3ca9a..fa5449b6 100644
--- a/googleapis/api/servicecontrol/v1/operation.pb.go
+++ b/googleapis/api/servicecontrol/v1/operation.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/operation.proto
+// source: google/api/servicecontrol/v1/operation.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -110,6 +110,27 @@ func (m *Operation) String() string            { return proto.CompactTextString(
 func (*Operation) ProtoMessage()               {}
 func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Operation) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
+func (m *Operation) GetOperationName() string {
+	if m != nil {
+		return m.OperationName
+	}
+	return ""
+}
+
+func (m *Operation) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 func (m *Operation) GetStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -145,46 +166,51 @@ func (m *Operation) GetLogEntries() []*LogEntry {
 	return nil
 }
 
+func (m *Operation) GetImportance() Operation_Importance {
+	if m != nil {
+		return m.Importance
+	}
+	return Operation_LOW
+}
+
 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)
-}
+func init() { proto.RegisterFile("google/api/servicecontrol/v1/operation.proto", fileDescriptor4) }
 
 var fileDescriptor4 = []byte{
-	// 495 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x5f, 0x6f, 0xd3, 0x3c,
-	0x14, 0xc6, 0xdf, 0xac, 0xeb, 0xbf, 0x93, 0x97, 0x52, 0x2c, 0x2e, 0xa2, 0x0a, 0x69, 0x65, 0x12,
-	0xa8, 0x17, 0xc8, 0xd6, 0x3a, 0x21, 0x18, 0xdc, 0x4d, 0x42, 0x5b, 0xb5, 0xb2, 0x4d, 0x01, 0x01,
-	0x77, 0x95, 0x9b, 0x9e, 0x05, 0x8b, 0xd8, 0x8e, 0x6c, 0xb7, 0x52, 0xbf, 0x01, 0x1f, 0x99, 0x4b,
-	0x14, 0x27, 0x4d, 0xbb, 0x9b, 0x82, 0xd8, 0x9d, 0xed, 0x9c, 0xe7, 0x77, 0x9e, 0x3c, 0xe7, 0xc0,
-	0x55, 0xaa, 0x75, 0x9a, 0x21, 0x4d, 0x75, 0xc6, 0x55, 0x4a, 0xb5, 0x49, 0x59, 0x8a, 0x2a, 0x37,
-	0xda, 0x69, 0x56, 0x7e, 0xe2, 0xb9, 0xb0, 0x8c, 0xe7, 0x82, 0x59, 0x34, 0x2b, 0x91, 0x60, 0xa2,
-	0x95, 0x33, 0x3a, 0x63, 0xab, 0x13, 0xa6, 0x73, 0x34, 0xdc, 0x09, 0xad, 0xa8, 0x17, 0x90, 0x67,
-	0x15, 0x8c, 0xe7, 0x82, 0xde, 0xaf, 0xa6, 0xab, 0x93, 0xc1, 0xe4, 0x5f, 0x5a, 0xdd, 0x89, 0x94,
-	0x71, 0xa5, 0xb4, 0xf3, 0x7d, 0x6c, 0xd9, 0x68, 0xf0, 0x20, 0xd7, 0x99, 0x4e, 0x67, 0xa8, 0x9c,
-	0x59, 0x57, 0xb0, 0xeb, 0x87, 0xc0, 0x24, 0x3a, 0x23, 0x92, 0xd9, 0x8a, 0x67, 0x4b, 0xac, 0x78,
-	0xef, 0x53, 0xe1, 0xbe, 0x2f, 0xe7, 0x34, 0xd1, 0x92, 0x95, 0x4c, 0xe6, 0x3f, 0xcc, 0x97, 0x77,
-	0x2c, 0x77, 0xeb, 0x1c, 0x2d, 0x73, 0x42, 0xa2, 0x75, 0x5c, 0xe6, 0xdb, 0x53, 0x29, 0x3e, 0xfe,
-	0xd9, 0x84, 0xee, 0xcd, 0x26, 0x56, 0xf2, 0x1c, 0xfe, 0xaf, 0x33, 0x9e, 0x89, 0x45, 0x14, 0x0c,
-	0x83, 0x51, 0x37, 0x0e, 0xeb, 0xb7, 0xc9, 0x82, 0xbc, 0x80, 0xde, 0xb6, 0x44, 0x71, 0x89, 0xd1,
-	0x81, 0x2f, 0x7a, 0x54, 0xbf, 0x5e, 0x73, 0x89, 0xe4, 0x08, 0xc2, 0x44, 0x2b, 0xbb, 0x94, 0x68,
-	0x0a, 0x50, 0xc3, 0xd7, 0xc0, 0xe6, 0x69, 0xb2, 0x20, 0x67, 0x00, 0xd6, 0x71, 0xe3, 0x66, 0x85,
-	0xa3, 0xe8, 0x70, 0x18, 0x8c, 0xc2, 0xf1, 0x80, 0x56, 0xd1, 0x6c, 0xfc, 0xd3, 0xcf, 0x1b, 0xbb,
-	0x71, 0xd7, 0x57, 0x17, 0x77, 0xf2, 0x1a, 0x3a, 0xa8, 0x16, 0xa5, 0xb0, 0xf9, 0x47, 0x61, 0x1b,
-	0xd5, 0xc2, 0xcb, 0xae, 0xa0, 0x95, 0xf1, 0x39, 0x66, 0x36, 0x6a, 0x0d, 0x1b, 0xa3, 0x70, 0x7c,
-	0x4a, 0xf7, 0xad, 0x0f, 0xad, 0x53, 0xa1, 0x53, 0xaf, 0xfa, 0x50, 0x8c, 0x30, 0xae, 0x10, 0xe4,
-	0x1b, 0x3c, 0xd9, 0x1d, 0xc5, 0xcc, 0xa2, 0xb3, 0x51, 0xdb, 0x73, 0x5f, 0xed, 0xe7, 0x7e, 0xf4,
-	0xb2, 0x2f, 0x85, 0xea, 0x13, 0xba, 0xf8, 0xb1, 0xbc, 0x77, 0xb7, 0xe4, 0x02, 0xc2, 0xcd, 0xc6,
-	0x08, 0xb4, 0x51, 0xc7, 0x33, 0x5f, 0xee, 0x67, 0x4e, 0x75, 0x5a, 0xda, 0x83, 0xac, 0x3c, 0x09,
-	0xb4, 0x24, 0x06, 0x10, 0x32, 0xd7, 0xc6, 0x71, 0x95, 0x60, 0x14, 0x0e, 0x83, 0x51, 0x6f, 0x3c,
-	0xfe, 0xdb, 0x7f, 0x9e, 0xd4, 0xca, 0x78, 0x87, 0x32, 0x38, 0x83, 0x70, 0x27, 0x0d, 0xd2, 0x87,
-	0xc6, 0x0f, 0x5c, 0x57, 0x6b, 0x52, 0x1c, 0xc9, 0x53, 0x68, 0xfa, 0x40, 0xaa, 0xad, 0x28, 0x2f,
-	0xef, 0x0e, 0xde, 0x06, 0xc7, 0x47, 0x00, 0x5b, 0x28, 0x69, 0x43, 0x63, 0x7a, 0xf3, 0xb5, 0xff,
-	0x1f, 0xe9, 0xc0, 0xe1, 0xe5, 0xe4, 0xe2, 0xb2, 0x1f, 0x9c, 0xbf, 0x81, 0x61, 0xa2, 0xe5, 0x5e,
-	0x83, 0xe7, 0xbd, 0xda, 0xe1, 0x6d, 0x31, 0xe9, 0xdb, 0xe0, 0x57, 0x10, 0xcc, 0x5b, 0x7e, 0xea,
-	0xa7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x89, 0xb4, 0x10, 0x3f, 0x5c, 0x04, 0x00, 0x00,
+	// 483 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0x6b, 0x13, 0x41,
+	0x14, 0xc7, 0x9d, 0xa6, 0xf9, 0xf5, 0x56, 0x63, 0x1c, 0x3c, 0x2c, 0xa1, 0x90, 0x58, 0x50, 0x72,
+	0x28, 0xb3, 0x34, 0x45, 0xb0, 0x7a, 0x2b, 0x48, 0x1b, 0x8d, 0xb6, 0xac, 0xa2, 0xe2, 0x25, 0x4c,
+	0x36, 0xcf, 0x65, 0x70, 0x77, 0x66, 0x99, 0x99, 0x04, 0x7a, 0xf6, 0xe2, 0x9f, 0xec, 0x51, 0x76,
+	0xf6, 0x47, 0x13, 0x90, 0xb5, 0xb7, 0x7d, 0x8f, 0xef, 0xe7, 0xbb, 0xdf, 0x79, 0x6f, 0x06, 0x4e,
+	0x62, 0xa5, 0xe2, 0x04, 0x03, 0x9e, 0x89, 0xc0, 0xa0, 0xde, 0x8a, 0x08, 0x23, 0x25, 0xad, 0x56,
+	0x49, 0xb0, 0x3d, 0x0d, 0x54, 0x86, 0x9a, 0x5b, 0xa1, 0x24, 0xcb, 0xb4, 0xb2, 0x8a, 0x1e, 0x15,
+	0x6a, 0xc6, 0x33, 0xc1, 0xf6, 0xd5, 0x6c, 0x7b, 0x3a, 0x3a, 0xda, 0xf1, 0xe2, 0x52, 0x2a, 0xeb,
+	0x50, 0x53, 0xb0, 0xa3, 0xe6, 0x3f, 0x25, 0x2a, 0x5e, 0xa2, 0xb4, 0xfa, 0xb6, 0x54, 0x07, 0x8d,
+	0xea, 0x14, 0xad, 0x16, 0xd1, 0x72, 0xcb, 0x93, 0x0d, 0x96, 0xc0, 0xb8, 0x04, 0x5c, 0xb5, 0xda,
+	0xfc, 0x08, 0xac, 0x48, 0xd1, 0x58, 0x9e, 0x66, 0x85, 0xe0, 0xf8, 0x77, 0x1b, 0xfa, 0xd7, 0xd5,
+	0x79, 0xe8, 0x33, 0x78, 0x58, 0x1f, 0x6e, 0x29, 0xd6, 0x3e, 0x99, 0x90, 0x69, 0x3f, 0xf4, 0xea,
+	0xde, 0x7c, 0x4d, 0x9f, 0xc3, 0xe0, 0x4e, 0x22, 0x79, 0x8a, 0xfe, 0x81, 0x13, 0x3d, 0xaa, 0xbb,
+	0x1f, 0x79, 0x8a, 0x74, 0x0c, 0x5e, 0xa4, 0xa4, 0xd9, 0xa4, 0xa8, 0x73, 0xa3, 0x96, 0xd3, 0x40,
+	0xd5, 0x9a, 0xaf, 0xe9, 0x39, 0x80, 0xb1, 0x5c, 0xdb, 0x65, 0x9e, 0xc8, 0x3f, 0x9c, 0x90, 0xa9,
+	0x37, 0x1b, 0xb1, 0x72, 0x92, 0x55, 0x5c, 0xf6, 0xb9, 0x8a, 0x1b, 0xf6, 0x9d, 0x3a, 0xaf, 0xe9,
+	0x4b, 0xe8, 0xa1, 0x5c, 0x17, 0x60, 0xfb, 0xbf, 0x60, 0x17, 0xe5, 0xda, 0x61, 0xef, 0xa1, 0x93,
+	0xf0, 0x15, 0x26, 0xc6, 0xef, 0x4c, 0x5a, 0x53, 0x6f, 0x76, 0xc6, 0x9a, 0xf6, 0xc6, 0xea, 0xa9,
+	0xb0, 0x85, 0xa3, 0xde, 0xe6, 0x7b, 0x08, 0x4b, 0x0b, 0xfa, 0x0d, 0x9e, 0xec, 0x8e, 0x7b, 0x69,
+	0xd0, 0x1a, 0xbf, 0xeb, 0x7c, 0x4f, 0x9a, 0x7d, 0x3f, 0x38, 0xec, 0x4b, 0x4e, 0x7d, 0x42, 0x1b,
+	0x3e, 0x4e, 0xf7, 0x6a, 0x43, 0x2f, 0xc1, 0xab, 0xd6, 0x2e, 0xd0, 0xf8, 0x3d, 0xe7, 0xf9, 0xa2,
+	0xd9, 0x73, 0xa1, 0xe2, 0x22, 0x1e, 0x24, 0xc5, 0x97, 0x40, 0x43, 0x43, 0x00, 0x91, 0x66, 0x4a,
+	0x5b, 0x2e, 0x23, 0xf4, 0xbd, 0x09, 0x99, 0x0e, 0x66, 0xb3, 0xfb, 0x9e, 0x79, 0x5e, 0x93, 0xe1,
+	0x8e, 0xcb, 0xe8, 0x1c, 0xbc, 0x9d, 0x69, 0xd0, 0x21, 0xb4, 0x7e, 0xe2, 0x6d, 0x79, 0x4d, 0xf2,
+	0x4f, 0xfa, 0x14, 0xda, 0x6e, 0x20, 0xe5, 0xad, 0x28, 0x8a, 0xd7, 0x07, 0xaf, 0xc8, 0xf1, 0x18,
+	0xe0, 0xce, 0x94, 0x76, 0xa1, 0xb5, 0xb8, 0xfe, 0x3a, 0x7c, 0x40, 0x7b, 0x70, 0x78, 0x35, 0xbf,
+	0xbc, 0x1a, 0x92, 0x8b, 0x5f, 0x04, 0x26, 0x91, 0x4a, 0x1b, 0x13, 0x5e, 0x0c, 0xea, 0x88, 0x37,
+	0xf9, 0xaa, 0x6f, 0xc8, 0xf7, 0x77, 0xa5, 0x3e, 0x56, 0x09, 0x97, 0x31, 0x53, 0x3a, 0x0e, 0x62,
+	0x94, 0xee, 0x22, 0x94, 0xcf, 0x85, 0x67, 0xc2, 0xfc, 0xfb, 0xc9, 0xbc, 0xd9, 0xef, 0xfc, 0x21,
+	0x64, 0xd5, 0x71, 0xe4, 0xd9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x8d, 0x9c, 0xc2, 0x5d, 0x03,
+	0x04, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/operation.proto b/googleapis/api/servicecontrol/v1/operation.proto
deleted file mode 100644
index 79176565..00000000
--- a/googleapis/api/servicecontrol/v1/operation.proto
+++ /dev/null
@@ -1,111 +0,0 @@
-// 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
index 7b71c5f5..2f34a990 100644
--- a/googleapis/api/servicecontrol/v1/service_controller.pb.go
+++ b/googleapis/api/servicecontrol/v1/service_controller.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto
+// source: google/api/servicecontrol/v1/service_controller.proto
 // DO NOT EDIT!
 
-package google_api_servicecontrol_v1 // import "google.golang.org/genproto/googleapis/api/servicecontrol/v1"
+package servicecontrol
 
 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/api/annotations"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
 import (
@@ -42,6 +42,13 @@ func (m *CheckRequest) String() string            { return proto.CompactTextStri
 func (*CheckRequest) ProtoMessage()               {}
 func (*CheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
+func (m *CheckRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CheckRequest) GetOperation() *Operation {
 	if m != nil {
 		return m.Operation
@@ -49,6 +56,13 @@ func (m *CheckRequest) GetOperation() *Operation {
 	return nil
 }
 
+func (m *CheckRequest) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Response message for the Check method.
 type CheckResponse struct {
 	// The same operation_id value used in the CheckRequest.
@@ -69,6 +83,13 @@ func (m *CheckResponse) String() string            { return proto.CompactTextStr
 func (*CheckResponse) ProtoMessage()               {}
 func (*CheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
 
+func (m *CheckResponse) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *CheckResponse) GetCheckErrors() []*CheckError {
 	if m != nil {
 		return m.CheckErrors
@@ -76,6 +97,13 @@ func (m *CheckResponse) GetCheckErrors() []*CheckError {
 	return nil
 }
 
+func (m *CheckResponse) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Request message for the Report method.
 type ReportRequest struct {
 	// The service name as specified in its service configuration. For example,
@@ -107,6 +135,13 @@ func (m *ReportRequest) String() string            { return proto.CompactTextStr
 func (*ReportRequest) ProtoMessage()               {}
 func (*ReportRequest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} }
 
+func (m *ReportRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *ReportRequest) GetOperations() []*Operation {
 	if m != nil {
 		return m.Operations
@@ -114,6 +149,13 @@ func (m *ReportRequest) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ReportRequest) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // Response message for the Report method.
 type ReportResponse struct {
 	// Partial failures, one for each `Operation` in the request that failed
@@ -146,6 +188,13 @@ func (m *ReportResponse) GetReportErrors() []*ReportResponse_ReportError {
 	return nil
 }
 
+func (m *ReportResponse) GetServiceConfigId() string {
+	if m != nil {
+		return m.ServiceConfigId
+	}
+	return ""
+}
+
 // 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.
@@ -159,6 +208,13 @@ func (m *ReportResponse_ReportError) String() string            { return proto.C
 func (*ReportResponse_ReportError) ProtoMessage()               {}
 func (*ReportResponse_ReportError) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3, 0} }
 
+func (m *ReportResponse_ReportError) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *ReportResponse_ReportError) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -322,47 +378,47 @@ var _ServiceController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto",
+	Metadata: "google/api/servicecontrol/v1/service_controller.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicecontrol/v1/service_controller.proto", fileDescriptor5)
+	proto.RegisterFile("google/api/servicecontrol/v1/service_controller.proto", fileDescriptor5)
 }
 
 var fileDescriptor5 = []byte{
-	// 535 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x94, 0xcf, 0x6e, 0xd3, 0x40,
-	0x10, 0xc6, 0xb5, 0xee, 0x1f, 0xa9, 0xe3, 0x04, 0xd4, 0x3d, 0xa0, 0xc8, 0xe2, 0x90, 0xfa, 0x40,
-	0x23, 0xb7, 0xd8, 0x6a, 0xb8, 0xa0, 0x48, 0x1c, 0x68, 0x54, 0xaa, 0xa8, 0x02, 0x2a, 0x87, 0x23,
-	0x28, 0x5a, 0x9c, 0xad, 0xb1, 0x48, 0xbc, 0xcb, 0xae, 0x9b, 0x0b, 0xe2, 0xc2, 0x03, 0x70, 0x80,
-	0x37, 0x40, 0x48, 0x1c, 0x78, 0x02, 0x9e, 0x83, 0x57, 0xe0, 0x21, 0xe0, 0x86, 0xbc, 0xbb, 0x76,
-	0x5d, 0x61, 0x2c, 0x97, 0x9e, 0xec, 0x9d, 0xdd, 0x99, 0xf9, 0xe9, 0xfb, 0x46, 0x03, 0xcf, 0x62,
-	0xc6, 0xe2, 0x05, 0xf5, 0x63, 0xb6, 0x20, 0x69, 0xec, 0x33, 0x11, 0x07, 0x31, 0x4d, 0xb9, 0x60,
-	0x19, 0x0b, 0xf4, 0x15, 0xe1, 0x89, 0x0c, 0x08, 0x4f, 0x02, 0x49, 0xc5, 0x2a, 0x89, 0x68, 0xc4,
-	0xd2, 0x4c, 0xb0, 0x45, 0xb0, 0x3a, 0x28, 0x22, 0x33, 0x13, 0x5a, 0x50, 0xe1, 0xab, 0x4c, 0x7c,
-	0xdb, 0x54, 0x25, 0x3c, 0xf1, 0x2f, 0xa7, 0xf9, 0xab, 0x03, 0x67, 0xf2, 0x3f, 0x3d, 0xcf, 0x92,
-	0x38, 0x20, 0x69, 0xca, 0x32, 0x92, 0x25, 0x2c, 0x95, 0xba, 0x91, 0xf3, 0xf8, 0x3a, 0xf8, 0xd1,
-	0x2b, 0x1a, 0xbd, 0x9e, 0x51, 0x21, 0x98, 0xe1, 0x76, 0x4e, 0xae, 0x53, 0x8e, 0x71, 0x2a, 0x14,
-	0x9c, 0x29, 0xf6, 0xa0, 0x5d, 0x31, 0xc1, 0xa3, 0x40, 0x66, 0x24, 0x3b, 0x97, 0xe6, 0xa3, 0xd3,
-	0xdd, 0x2f, 0x08, 0x3a, 0xe3, 0x9c, 0x30, 0xa4, 0x6f, 0xce, 0xa9, 0xcc, 0xf0, 0x0e, 0x74, 0x0a,
-	0xc1, 0x53, 0xb2, 0xa4, 0x3d, 0xd4, 0x47, 0x83, 0xad, 0xd0, 0x36, 0xb1, 0x27, 0x64, 0x49, 0xf1,
-	0x11, 0x6c, 0x95, 0x14, 0x3d, 0xab, 0x8f, 0x06, 0xf6, 0x70, 0xd7, 0x6f, 0xf2, 0xc2, 0x7f, 0x5a,
-	0x3c, 0x0f, 0x2f, 0x32, 0xb1, 0x07, 0xdb, 0x15, 0x6b, 0xcf, 0x92, 0x78, 0x96, 0xcc, 0x7b, 0xeb,
-	0xaa, 0xdd, 0x4d, 0x73, 0x31, 0x56, 0xf1, 0xc9, 0xdc, 0xfd, 0x86, 0xa0, 0x6b, 0x30, 0x25, 0x67,
-	0xa9, 0xa4, 0x39, 0x67, 0x59, 0x2a, 0x4f, 0x34, 0x9c, 0x65, 0x6c, 0x32, 0xc7, 0x27, 0xd0, 0xa9,
-	0x88, 0x2f, 0x7b, 0x56, 0x7f, 0x6d, 0x60, 0x0f, 0x07, 0xcd, 0xa8, 0xaa, 0xcb, 0x51, 0x9e, 0x10,
-	0xda, 0x51, 0xf9, 0x2f, 0xeb, 0x69, 0x37, 0xea, 0x69, 0xbf, 0x22, 0xe8, 0x86, 0x94, 0x33, 0x91,
-	0x5d, 0x41, 0xd5, 0x63, 0x80, 0x12, 0xbe, 0x60, 0x6d, 0x2d, 0x6b, 0x25, 0xb5, 0x9e, 0x74, 0xad,
-	0x9e, 0xf4, 0x37, 0x82, 0x1b, 0x05, 0xa9, 0x11, 0xf6, 0x05, 0x74, 0x85, 0x8a, 0x14, 0xb2, 0x21,
-	0x85, 0x72, 0xbf, 0x19, 0xe5, 0x72, 0x11, 0x73, 0xd4, 0x32, 0x76, 0xc4, 0xc5, 0xe1, 0x1f, 0x74,
-	0x56, 0x2d, 0x9d, 0xf3, 0x1c, 0xec, 0x4a, 0xa1, 0x36, 0x96, 0x7b, 0xb0, 0xa9, 0xc7, 0xdb, 0xcc,
-	0x25, 0x2e, 0xa8, 0x05, 0x8f, 0xfc, 0xa9, 0xba, 0x09, 0xcd, 0x8b, 0xe1, 0x77, 0x0b, 0xb6, 0xa7,
-	0x65, 0x47, 0xb3, 0x5a, 0xf0, 0x07, 0x04, 0x1b, 0x6a, 0x06, 0xb0, 0xd7, 0x62, 0x50, 0x8c, 0xbf,
-	0xce, 0x5e, 0xab, 0xb7, 0x5a, 0x1c, 0x77, 0xff, 0xfd, 0x8f, 0x9f, 0x9f, 0xac, 0x3b, 0xee, 0x4e,
-	0x65, 0xbb, 0xc9, 0xe0, 0x6d, 0x75, 0x40, 0xde, 0x8d, 0xd4, 0xec, 0x8d, 0x90, 0x87, 0x3f, 0x22,
-	0xd8, 0xd4, 0x2a, 0xe0, 0xbd, 0x76, 0x1e, 0x68, 0xa4, 0xfd, 0xab, 0x18, 0xe6, 0xde, 0x55, 0x4c,
-	0xbb, 0xae, 0xdb, 0xc4, 0xa4, 0x8d, 0x1c, 0x21, 0xef, 0xf0, 0x11, 0xf4, 0x23, 0xb6, 0x6c, 0xec,
-	0x70, 0x78, 0xeb, 0x2f, 0x71, 0x4f, 0xf3, 0x95, 0x73, 0x8a, 0x7e, 0x21, 0xf4, 0xd9, 0x5a, 0x3f,
-	0x7e, 0x38, 0x1d, 0xbf, 0xdc, 0x54, 0x5b, 0xe8, 0xde, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6,
-	0x78, 0xcd, 0xf0, 0x21, 0x06, 0x00, 0x00,
+	// 537 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x94, 0xcf, 0x6e, 0xd3, 0x40,
+	0x10, 0xc6, 0xb5, 0xee, 0x1f, 0xa9, 0xe3, 0x04, 0xd4, 0x3d, 0x40, 0x64, 0xf5, 0x90, 0xfa, 0x40,
+	0x23, 0x37, 0xd8, 0x6a, 0x10, 0x12, 0x0a, 0x27, 0x1a, 0x55, 0x55, 0x41, 0x82, 0xca, 0xb9, 0x21,
+	0x50, 0xb4, 0x38, 0x8b, 0xb1, 0x48, 0xbc, 0xcb, 0xae, 0x9b, 0x0b, 0xe2, 0xc2, 0x03, 0x70, 0x28,
+	0x6f, 0x80, 0x90, 0x38, 0xf0, 0x04, 0x3c, 0x07, 0xaf, 0xc0, 0x43, 0xc0, 0x0d, 0x79, 0x77, 0xed,
+	0x3a, 0xc2, 0x58, 0xee, 0x2d, 0x9e, 0x9d, 0xf9, 0xe6, 0xb7, 0xdf, 0x4c, 0x16, 0xee, 0xc7, 0x8c,
+	0xc5, 0x0b, 0x1a, 0x10, 0x9e, 0x04, 0x92, 0x8a, 0x55, 0x12, 0xd1, 0x88, 0xa5, 0x99, 0x60, 0x8b,
+	0x60, 0x75, 0x54, 0x44, 0x66, 0x26, 0xb4, 0xa0, 0xc2, 0xe7, 0x82, 0x65, 0x0c, 0xef, 0xe9, 0x32,
+	0x9f, 0xf0, 0xc4, 0x5f, 0x2f, 0xf3, 0x57, 0x47, 0xce, 0x5e, 0x45, 0x94, 0xa4, 0x29, 0xcb, 0x48,
+	0x96, 0xb0, 0x54, 0xea, 0x5a, 0xc7, 0x6f, 0x6c, 0x19, 0xbd, 0xa1, 0xd1, 0xdb, 0x19, 0x15, 0x82,
+	0x99, 0x5e, 0xce, 0xb0, 0x31, 0x9f, 0x71, 0x2a, 0x94, 0xbc, 0xc9, 0xbe, 0x6d, 0xb2, 0x05, 0x8f,
+	0x02, 0x99, 0x91, 0xec, 0xc2, 0xb4, 0x75, 0xbf, 0x22, 0xe8, 0x4c, 0x72, 0xf1, 0x90, 0xbe, 0xbb,
+	0xa0, 0x32, 0xc3, 0xfb, 0xd0, 0x29, 0xee, 0x97, 0x92, 0x25, 0xed, 0xa1, 0x3e, 0x1a, 0xec, 0x84,
+	0xb6, 0x89, 0x3d, 0x25, 0x4b, 0x8a, 0x4f, 0x60, 0xa7, 0xd4, 0xef, 0x59, 0x7d, 0x34, 0xb0, 0x47,
+	0x07, 0x7e, 0xd3, 0xd5, 0xfd, 0x67, 0x45, 0x7a, 0x78, 0x55, 0x89, 0x3d, 0xd8, 0xad, 0x38, 0xf9,
+	0x3a, 0x89, 0x67, 0xc9, 0xbc, 0xb7, 0xa9, 0xda, 0xdd, 0x34, 0x07, 0x13, 0x15, 0x3f, 0x9b, 0xbb,
+	0xdf, 0x11, 0x74, 0x0d, 0xa6, 0xe4, 0x2c, 0x95, 0x34, 0xe7, 0x2c, 0xa5, 0xf2, 0x42, 0xc3, 0x59,
+	0xc6, 0xce, 0xe6, 0xf8, 0x09, 0x74, 0x2a, 0xbe, 0xc9, 0x9e, 0xd5, 0xdf, 0x18, 0xd8, 0xa3, 0x41,
+	0x33, 0xaa, 0xea, 0x72, 0x92, 0x17, 0x84, 0x76, 0x54, 0xfe, 0x96, 0xf5, 0xb4, 0x5b, 0xf5, 0xb4,
+	0xdf, 0x10, 0x74, 0x43, 0xca, 0x99, 0xc8, 0xae, 0xe1, 0xea, 0x29, 0x40, 0x09, 0x5f, 0xb0, 0xb6,
+	0xb6, 0xb5, 0x52, 0x5a, 0x4f, 0xba, 0x51, 0x4f, 0xfa, 0x07, 0xc1, 0x8d, 0x82, 0xd4, 0x18, 0xfb,
+	0x12, 0xba, 0x42, 0x45, 0x0a, 0xdb, 0x90, 0x42, 0x79, 0xd0, 0x8c, 0xb2, 0x2e, 0x62, 0x3e, 0xb5,
+	0x8d, 0x1d, 0x71, 0xf5, 0xf1, 0x1f, 0x3a, 0xab, 0x96, 0xce, 0x79, 0x01, 0x76, 0x45, 0xa8, 0xcd,
+	0xc8, 0x3d, 0xd8, 0xd6, 0xeb, 0x6d, 0xf6, 0x12, 0x17, 0xd4, 0x82, 0x47, 0xfe, 0x54, 0x9d, 0x84,
+	0x26, 0x63, 0xf4, 0xc3, 0x82, 0xdd, 0x69, 0xd9, 0xd1, 0xfc, 0x93, 0xf1, 0x27, 0x04, 0x5b, 0x6a,
+	0x07, 0xb0, 0xd7, 0x62, 0x51, 0xcc, 0x7c, 0x9d, 0xc3, 0x56, 0xb9, 0xda, 0x1c, 0x77, 0xf8, 0xf1,
+	0xe7, 0xaf, 0xcf, 0xd6, 0x1d, 0x77, 0xbf, 0xf2, 0x98, 0xc8, 0xe0, 0x7d, 0x75, 0x41, 0x3e, 0x8c,
+	0xd5, 0xee, 0x8d, 0x91, 0x87, 0x2f, 0x11, 0x6c, 0x6b, 0x17, 0xf0, 0x61, 0xbb, 0x19, 0x68, 0xa4,
+	0xe1, 0x75, 0x06, 0xe6, 0xde, 0x55, 0x4c, 0x07, 0xae, 0xdb, 0xc4, 0xa4, 0x07, 0x39, 0x46, 0xde,
+	0xf1, 0x25, 0x82, 0x7e, 0xc4, 0x96, 0x8d, 0x2d, 0x8e, 0x6f, 0xfd, 0xe3, 0xee, 0x79, 0xfe, 0xe6,
+	0x9c, 0xa3, 0xe7, 0x8f, 0x4d, 0x5d, 0xcc, 0x16, 0x24, 0x8d, 0x7d, 0x26, 0xe2, 0x20, 0xa6, 0xa9,
+	0x7a, 0x91, 0x02, 0x7d, 0x44, 0x78, 0x22, 0xeb, 0xdf, 0xb6, 0x87, 0xeb, 0x91, 0xdf, 0x08, 0x7d,
+	0xb1, 0x36, 0x4f, 0x1f, 0x4d, 0x27, 0xaf, 0xb6, 0x95, 0xc0, 0xbd, 0xbf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x6c, 0x58, 0x92, 0x07, 0xbe, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicecontrol/v1/service_controller.proto b/googleapis/api/servicecontrol/v1/service_controller.proto
deleted file mode 100644
index 78d1adb9..00000000
--- a/googleapis/api/servicecontrol/v1/service_controller.proto
+++ /dev/null
@@ -1,160 +0,0 @@
-// 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.
-  //
-  // If feasible, the client should cache the check results and reuse them for
-  // up to 60s. In case of server errors, the client may rely on the cached
-  // results for longer time.
-  //
-  // 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.
-  //
-  // If feasible, the client should aggregate reporting data for up to 5s to
-  // reduce API traffic. Limiting aggregation to 5s is to reduce data loss
-  // during client crashes. Clients should carefully choose the aggregation
-  // window to avoid data loss risk more than 0.01% for business and
-  // compliance reasons.
-  //
-  // 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;
-
-  // Specifies which version of service configuration should be used to process
-  // the request.
-  //
-  // If unspecified or no matching version can be found, the
-  // latest one will be used.
-  string service_config_id = 4;
-}
-
-// 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;
-
-  // Specifies which version of service config should be used to process the
-  // request.
-  //
-  // If unspecified or no matching version can be found, the
-  // latest one will be used.
-  string service_config_id = 3;
-}
-
-// 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
index 23d1647a..d5bbcfab 100644
--- a/googleapis/api/servicemanagement/v1/resources.pb.go
+++ b/googleapis/api/servicemanagement/v1/resources.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/resources.proto
+// source: google/api/servicemanagement/v1/resources.proto
 // DO NOT EDIT!
 
 /*
-Package google_api_servicemanagement_v1 is a generated protocol buffer package.
+Package servicemanagement 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
+	google/api/servicemanagement/v1/resources.proto
+	google/api/servicemanagement/v1/servicemanager.proto
 
 It has these top-level messages:
 	ManagedService
@@ -40,17 +40,17 @@ It has these top-level messages:
 	GenerateConfigReportRequest
 	GenerateConfigReportResponse
 */
-package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+package servicemanagement
 
 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/api/annotations"
 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 _ "google.golang.org/genproto/protobuf/field_mask"
 import _ "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf9 "github.com/golang/protobuf/ptypes/timestamp"
 import _ "google.golang.org/genproto/googleapis/rpc/status"
@@ -227,6 +227,20 @@ func (m *ManagedService) String() string            { return proto.CompactTextSt
 func (*ManagedService) ProtoMessage()               {}
 func (*ManagedService) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ManagedService) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ManagedService) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
 // The metadata associated with a long running operation resource.
 type OperationMetadata struct {
 	// The full name of the resources that this operation is directly
@@ -245,6 +259,13 @@ func (m *OperationMetadata) String() string            { return proto.CompactTex
 func (*OperationMetadata) ProtoMessage()               {}
 func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *OperationMetadata) GetResourceNames() []string {
+	if m != nil {
+		return m.ResourceNames
+	}
+	return nil
+}
+
 func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step {
 	if m != nil {
 		return m.Steps
@@ -252,6 +273,13 @@ func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step {
 	return nil
 }
 
+func (m *OperationMetadata) GetProgressPercentage() int32 {
+	if m != nil {
+		return m.ProgressPercentage
+	}
+	return 0
+}
+
 func (m *OperationMetadata) GetStartTime() *google_protobuf9.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -272,6 +300,20 @@ func (m *OperationMetadata_Step) String() string            { return proto.Compa
 func (*OperationMetadata_Step) ProtoMessage()               {}
 func (*OperationMetadata_Step) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
+func (m *OperationMetadata_Step) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *OperationMetadata_Step) GetStatus() OperationMetadata_Status {
+	if m != nil {
+		return m.Status
+	}
+	return OperationMetadata_STATUS_UNSPECIFIED
+}
+
 // Represents a diagnostic message (error or warning)
 type Diagnostic struct {
 	// File name and line number of the error or warning.
@@ -287,6 +329,27 @@ func (m *Diagnostic) String() string            { return proto.CompactTextString
 func (*Diagnostic) ProtoMessage()               {}
 func (*Diagnostic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Diagnostic) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *Diagnostic) GetKind() Diagnostic_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return Diagnostic_WARNING
+}
+
+func (m *Diagnostic) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 // Represents a source file which is used to generate the service configuration
 // defined by `google.api.Service`.
 type ConfigSource struct {
@@ -304,6 +367,13 @@ func (m *ConfigSource) String() string            { return proto.CompactTextStri
 func (*ConfigSource) ProtoMessage()               {}
 func (*ConfigSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ConfigSource) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *ConfigSource) GetFiles() []*ConfigFile {
 	if m != nil {
 		return m.Files
@@ -326,6 +396,27 @@ func (m *ConfigFile) String() string            { return proto.CompactTextString
 func (*ConfigFile) ProtoMessage()               {}
 func (*ConfigFile) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ConfigFile) GetFilePath() string {
+	if m != nil {
+		return m.FilePath
+	}
+	return ""
+}
+
+func (m *ConfigFile) GetFileContents() []byte {
+	if m != nil {
+		return m.FileContents
+	}
+	return nil
+}
+
+func (m *ConfigFile) GetFileType() ConfigFile_FileType {
+	if m != nil {
+		return m.FileType
+	}
+	return ConfigFile_FILE_TYPE_UNSPECIFIED
+}
+
 // Represents a service configuration with its name and id.
 type ConfigRef struct {
 	// Resource name of a service config. It must have the following
@@ -338,6 +429,13 @@ func (m *ConfigRef) String() string            { return proto.CompactTextString(
 func (*ConfigRef) ProtoMessage()               {}
 func (*ConfigRef) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ConfigRef) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Change report associated with a particular service configuration.
 //
 // It contains a list of ConfigChanges based on the comparison between
@@ -422,6 +520,13 @@ func (m *Rollout) GetStrategy() isRollout_Strategy {
 	return nil
 }
 
+func (m *Rollout) GetRolloutId() string {
+	if m != nil {
+		return m.RolloutId
+	}
+	return ""
+}
+
 func (m *Rollout) GetCreateTime() *google_protobuf9.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -429,6 +534,20 @@ func (m *Rollout) GetCreateTime() *google_protobuf9.Timestamp {
 	return nil
 }
 
+func (m *Rollout) GetCreatedBy() string {
+	if m != nil {
+		return m.CreatedBy
+	}
+	return ""
+}
+
+func (m *Rollout) GetStatus() Rollout_RolloutStatus {
+	if m != nil {
+		return m.Status
+	}
+	return Rollout_ROLLOUT_STATUS_UNSPECIFIED
+}
+
 func (m *Rollout) GetTrafficPercentStrategy() *Rollout_TrafficPercentStrategy {
 	if x, ok := m.GetStrategy().(*Rollout_TrafficPercentStrategy_); ok {
 		return x.TrafficPercentStrategy
@@ -443,6 +562,13 @@ func (m *Rollout) GetDeleteServiceStrategy() *Rollout_DeleteServiceStrategy {
 	return nil
 }
 
+func (m *Rollout) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // 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{}{
@@ -597,85 +723,81 @@ func init() {
 	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)
-}
+func init() { proto.RegisterFile("google/api/servicemanagement/v1/resources.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1189 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
-	0x10, 0x0e, 0xf5, 0x63, 0x5b, 0x23, 0x5b, 0x55, 0x36, 0x4d, 0xa2, 0xa8, 0x48, 0xe2, 0x2a, 0x28,
-	0x60, 0xa0, 0x00, 0xd9, 0xb8, 0xe9, 0x4f, 0x1a, 0x34, 0x81, 0x2c, 0xd1, 0x2e, 0x53, 0x9b, 0x64,
-	0x96, 0x72, 0x8b, 0x9c, 0x88, 0x35, 0xb9, 0xa2, 0x59, 0x4b, 0x24, 0x41, 0xae, 0x0c, 0x08, 0x39,
-	0xf6, 0x4d, 0x7a, 0x69, 0x1f, 0xa5, 0x87, 0x3e, 0x41, 0xfb, 0x32, 0xc5, 0xfe, 0xd0, 0xb6, 0x6c,
-	0xa3, 0x72, 0xd2, 0x83, 0xcd, 0x9d, 0x99, 0x9d, 0xef, 0x9b, 0x9d, 0x99, 0x9d, 0x15, 0xd8, 0x51,
-	0x9a, 0x46, 0x13, 0xaa, 0x47, 0xe9, 0x84, 0x24, 0x91, 0x9e, 0xe6, 0x91, 0x11, 0xd1, 0x24, 0xcb,
-	0x53, 0x96, 0x1a, 0xd2, 0x44, 0xb2, 0xb8, 0x30, 0x48, 0x16, 0x1b, 0x05, 0xcd, 0x4f, 0xe3, 0x80,
-	0x4e, 0x49, 0x42, 0x22, 0x3a, 0xa5, 0x09, 0x33, 0x4e, 0x9f, 0x1a, 0x39, 0x2d, 0xd2, 0x59, 0x1e,
-	0xd0, 0x42, 0x17, 0x3e, 0xe8, 0xb1, 0xc2, 0x23, 0x59, 0xac, 0x5f, 0x71, 0xd0, 0x4f, 0x9f, 0x76,
-	0xad, 0xf7, 0x26, 0x0c, 0xd2, 0x64, 0x1c, 0x47, 0x06, 0x49, 0x92, 0x94, 0x11, 0x16, 0xa7, 0x89,
-	0xe2, 0xea, 0xbe, 0xbe, 0x39, 0x94, 0xc4, 0x08, 0x8e, 0x49, 0x12, 0x51, 0x25, 0xf8, 0x52, 0x52,
-	0x58, 0xe6, 0x87, 0x86, 0xa5, 0x24, 0x05, 0xb3, 0x73, 0x33, 0x98, 0x49, 0x9a, 0x44, 0xf9, 0x2c,
-	0x49, 0xe2, 0x24, 0x32, 0xd2, 0x8c, 0xe6, 0x0b, 0xc7, 0x32, 0xa2, 0x98, 0x1d, 0xcf, 0x8e, 0xf4,
-	0x20, 0x9d, 0x1a, 0x12, 0xc7, 0x10, 0x86, 0xa3, 0xd9, 0xd8, 0xc8, 0xd8, 0x3c, 0xa3, 0x85, 0x41,
-	0x92, 0x39, 0xff, 0x53, 0x0e, 0xcf, 0xfe, 0x83, 0xf4, 0xcc, 0x73, 0x1c, 0xd3, 0x49, 0xe8, 0x4f,
-	0x49, 0x71, 0xa2, 0xbc, 0xbe, 0x5a, 0x4e, 0x53, 0xb0, 0x7c, 0x16, 0x30, 0xf5, 0x51, 0x6e, 0x2f,
-	0x96, 0xbb, 0xb1, 0x78, 0x4a, 0x0b, 0x46, 0xa6, 0xd9, 0xf9, 0x4a, 0x39, 0x7f, 0x7f, 0xb3, 0xf4,
-	0xe4, 0x59, 0x60, 0x14, 0x8c, 0xb0, 0x59, 0xa1, 0x3e, 0xd2, 0xbd, 0x17, 0x40, 0xeb, 0x40, 0x34,
-	0x53, 0xe8, 0xc9, 0xac, 0xa3, 0x4f, 0x61, 0x5d, 0x15, 0xc0, 0x4f, 0xc8, 0x94, 0x76, 0x2a, 0x9b,
-	0xda, 0x56, 0x03, 0x37, 0x95, 0xce, 0x26, 0x53, 0x8a, 0x74, 0xb8, 0x93, 0xe5, 0x69, 0x38, 0x0b,
-	0x68, 0xee, 0x67, 0x79, 0xfa, 0x0b, 0x0d, 0x98, 0x1f, 0x87, 0x9d, 0xaa, 0xd8, 0x79, 0xbb, 0x34,
-	0xb9, 0xd2, 0x62, 0x85, 0xbd, 0x7f, 0xaa, 0x70, 0xdb, 0x29, 0x6b, 0x72, 0x40, 0x19, 0x09, 0x09,
-	0x23, 0xe8, 0x33, 0x68, 0x95, 0xad, 0x2e, 0x98, 0x8a, 0x8e, 0xb6, 0x59, 0xdd, 0x6a, 0xe0, 0x8d,
-	0x52, 0xcb, 0xb9, 0x0a, 0x74, 0x00, 0xf5, 0x82, 0xd1, 0xac, 0xe8, 0x54, 0x36, 0xab, 0x5b, 0xcd,
-	0xed, 0x6f, 0xf4, 0x25, 0xd7, 0x41, 0xbf, 0xc2, 0xa4, 0x7b, 0x8c, 0x66, 0x58, 0xa2, 0x20, 0x43,
-	0xc4, 0x1e, 0xe5, 0xb4, 0x28, 0xfc, 0x8c, 0xe6, 0x01, 0x4d, 0x18, 0x89, 0xa8, 0x88, 0xbd, 0x8e,
-	0x51, 0x69, 0x72, 0xcf, 0x2c, 0xe8, 0x39, 0x40, 0xc1, 0x48, 0xce, 0x7c, 0x9e, 0xf9, 0x4e, 0x6d,
-	0x53, 0xdb, 0x6a, 0x6e, 0x77, 0xcb, 0x20, 0xca, 0x3a, 0xe9, 0xa3, 0xb2, 0x2c, 0xb8, 0x21, 0x76,
-	0x73, 0xb9, 0xfb, 0x0e, 0x6a, 0x9c, 0x1a, 0x6d, 0x42, 0x33, 0xa4, 0x45, 0x90, 0xc7, 0x19, 0x0f,
-	0xab, 0xcc, 0xe8, 0x05, 0x15, 0x7a, 0x03, 0x2b, 0xb2, 0x2c, 0x82, 0xa0, 0xb5, 0xfd, 0xfc, 0x83,
-	0x4e, 0xc9, 0x01, 0xb0, 0x02, 0xea, 0x45, 0xb0, 0x22, 0x35, 0xe8, 0x1e, 0x20, 0x6f, 0xd4, 0x1f,
-	0x1d, 0x7a, 0xfe, 0xa1, 0xed, 0xb9, 0xe6, 0xc0, 0xda, 0xb5, 0xcc, 0x61, 0xfb, 0x16, 0x5a, 0x83,
-	0xda, 0xd0, 0xb1, 0xcd, 0xb6, 0x86, 0x3e, 0x82, 0xa6, 0xed, 0x8c, 0x7c, 0x6f, 0xd4, 0xc7, 0x23,
-	0x73, 0xd8, 0xae, 0x70, 0x85, 0x65, 0xfb, 0x2e, 0x76, 0xf6, 0xb0, 0xe9, 0x79, 0xed, 0x2a, 0x02,
-	0x58, 0xd9, 0xed, 0x5b, 0xfb, 0xe6, 0xb0, 0x5d, 0x43, 0x1b, 0xd0, 0x18, 0xf4, 0xed, 0x81, 0xb9,
-	0xcf, 0xc5, 0x7a, 0xef, 0x0f, 0x0d, 0x60, 0x18, 0x93, 0x28, 0x49, 0x0b, 0x16, 0x07, 0xa8, 0x0b,
-	0x6b, 0x93, 0x34, 0x10, 0xa1, 0x75, 0x34, 0x71, 0xd2, 0x33, 0x19, 0x0d, 0xa1, 0x76, 0x12, 0x27,
-	0xa1, 0xc8, 0x40, 0x6b, 0xfb, 0x8b, 0xa5, 0x87, 0x3c, 0x87, 0xd5, 0x7f, 0x8c, 0x93, 0x10, 0x0b,
-	0x6f, 0xd4, 0x81, 0xd5, 0x29, 0x2d, 0x8a, 0xb2, 0x6c, 0x0d, 0x5c, 0x8a, 0xbd, 0x47, 0x50, 0xe3,
-	0xfb, 0x50, 0x13, 0x56, 0x7f, 0xee, 0x63, 0xdb, 0xb2, 0xf7, 0xda, 0xb7, 0x50, 0x03, 0xea, 0x26,
-	0xc6, 0x0e, 0x6e, 0x6b, 0x3d, 0x02, 0xeb, 0x03, 0x31, 0x63, 0x3c, 0xd1, 0x60, 0xa8, 0x05, 0x95,
-	0x38, 0xec, 0xd4, 0x05, 0x48, 0x25, 0x0e, 0x51, 0x1f, 0xea, 0xe3, 0x78, 0x42, 0xcb, 0x5e, 0xfb,
-	0x7c, 0x69, 0x80, 0x12, 0x6d, 0x37, 0x9e, 0x50, 0x2c, 0x3d, 0x7b, 0xbf, 0x57, 0x00, 0xce, 0xb5,
-	0xe8, 0x13, 0x68, 0x70, 0xbd, 0x9f, 0x11, 0x76, 0x5c, 0xa6, 0x83, 0x2b, 0x5c, 0xc2, 0x8e, 0xd1,
-	0x13, 0xd8, 0x10, 0xc6, 0x20, 0x4d, 0x18, 0x4d, 0x58, 0x21, 0x8e, 0xb3, 0x8e, 0xd7, 0xb9, 0x72,
-	0xa0, 0x74, 0xe8, 0x8d, 0x42, 0xe0, 0x83, 0x40, 0x75, 0xc7, 0xb3, 0xf7, 0x88, 0x4b, 0xe7, 0xff,
-	0x46, 0xf3, 0x8c, 0x4a, 0x5e, 0xbe, 0xea, 0xfd, 0xaa, 0xc1, 0x5a, 0xa9, 0x46, 0x0f, 0xe0, 0xee,
-	0xae, 0xb5, 0x6f, 0xfa, 0xa3, 0xb7, 0xae, 0x79, 0xa9, 0x41, 0xee, 0xc3, 0x1d, 0xcf, 0xc4, 0x3f,
-	0x59, 0x03, 0xd3, 0x1f, 0x38, 0xf6, 0xae, 0xb5, 0xe7, 0xbf, 0xed, 0x1f, 0xec, 0xb7, 0x35, 0x74,
-	0x1b, 0x36, 0x1c, 0xd7, 0xb4, 0xfd, 0xbe, 0x6b, 0xf9, 0xaf, 0x3d, 0xc7, 0x6e, 0x57, 0x16, 0x54,
-	0x62, 0x57, 0x15, 0x3d, 0x84, 0x07, 0x02, 0x79, 0x68, 0x7a, 0x03, 0x6c, 0xb9, 0x23, 0x07, 0xfb,
-	0x9e, 0x39, 0xe2, 0x5d, 0x35, 0x72, 0xda, 0xb5, 0xde, 0x63, 0x68, 0xc8, 0x30, 0x31, 0x1d, 0x23,
-	0x04, 0x35, 0x31, 0x6d, 0x64, 0x8a, 0xc4, 0xba, 0xe7, 0xc0, 0xfa, 0x40, 0x3c, 0x28, 0x98, 0x66,
-	0x69, 0xce, 0xd0, 0x2b, 0x68, 0x2d, 0xbc, 0x33, 0x72, 0x60, 0x34, 0xb7, 0x3b, 0x17, 0xd3, 0x21,
-	0x21, 0x95, 0xdf, 0x46, 0x70, 0x41, 0x2a, 0x7a, 0x7f, 0xaf, 0xc0, 0x2a, 0x4e, 0x27, 0x93, 0x74,
-	0xc6, 0xd0, 0x43, 0x80, 0x5c, 0x2e, 0xf9, 0xe8, 0x92, 0xb4, 0x0d, 0xa5, 0xb1, 0x42, 0xf4, 0x02,
-	0x9a, 0x41, 0x4e, 0x09, 0xa3, 0xf2, 0xda, 0x57, 0x96, 0x5e, 0x7b, 0x90, 0xdb, 0xb9, 0x82, 0x63,
-	0x4b, 0x29, 0xf4, 0x8f, 0xe6, 0xaa, 0x47, 0x1b, 0x4a, 0xb3, 0x33, 0x47, 0xf6, 0xa5, 0xcb, 0xfe,
-	0xf5, 0xd2, 0x72, 0xaa, 0xa0, 0xcb, 0xef, 0xe2, 0x4d, 0x47, 0xef, 0xa0, 0xc3, 0x72, 0x32, 0x1e,
-	0xc7, 0x41, 0x39, 0xd1, 0xfc, 0x82, 0xe5, 0x84, 0xd1, 0x68, 0x2e, 0x7a, 0xbb, 0xb9, 0xfd, 0xea,
-	0xc6, 0x0c, 0x23, 0x09, 0xa4, 0xe6, 0x9f, 0xa7, 0x60, 0x7e, 0xb8, 0x85, 0xef, 0xb1, 0x6b, 0x2d,
-	0x68, 0x0e, 0xf7, 0x43, 0x3a, 0xa1, 0x8c, 0xfa, 0xe5, 0xab, 0x71, 0xc6, 0xfd, 0xa7, 0x26, 0xc8,
-	0x5f, 0xde, 0x98, 0x7c, 0x28, 0x80, 0xd4, 0x43, 0x74, 0x81, 0xfb, 0x6e, 0x78, 0x9d, 0xe1, 0xca,
-	0x4b, 0xb5, 0x76, 0xe5, 0xa5, 0xea, 0xfe, 0xa5, 0xc1, 0xbd, 0xeb, 0x8f, 0x84, 0x72, 0x68, 0x9e,
-	0xcf, 0xff, 0xb2, 0x95, 0xdc, 0xff, 0x99, 0x28, 0xfd, 0xfc, 0xe1, 0x28, 0xcc, 0x84, 0xe5, 0x73,
-	0x7c, 0x91, 0xa4, 0xfb, 0x12, 0xda, 0x97, 0x37, 0xa0, 0x36, 0x54, 0x4f, 0xe8, 0x5c, 0x75, 0x20,
-	0x5f, 0xa2, 0x8f, 0xa1, 0x7e, 0x4a, 0x26, 0x33, 0xd9, 0x75, 0x1a, 0x96, 0xc2, 0x77, 0x95, 0x6f,
-	0xb5, 0xee, 0x7d, 0xb8, 0x7b, 0x6d, 0x8e, 0x7a, 0x33, 0xd8, 0x58, 0xe8, 0x0d, 0xf4, 0x08, 0xba,
-	0xd8, 0xd9, 0xdf, 0x77, 0x0e, 0xc5, 0x54, 0xbf, 0x3a, 0xfb, 0x2f, 0x0d, 0x78, 0x8d, 0x8f, 0x4c,
-	0xef, 0x70, 0x30, 0xe0, 0x42, 0x65, 0x71, 0xc2, 0x2f, 0x0e, 0xff, 0x26, 0xac, 0xba, 0xa6, 0x3d,
-	0xe4, 0xa3, 0xb5, 0xbe, 0x03, 0xb0, 0x56, 0x56, 0x7b, 0xe7, 0x25, 0x3c, 0x09, 0xd2, 0xe9, 0xb2,
-	0xfc, 0xed, 0xb4, 0x70, 0xf9, 0xf3, 0xd6, 0xe5, 0x97, 0xc8, 0xd5, 0x7e, 0xab, 0xd4, 0xf6, 0xfa,
-	0xde, 0xc1, 0xd1, 0x8a, 0xb8, 0x54, 0x5f, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x5c, 0x8b, 0x12,
-	0x2b, 0x3f, 0x0b, 0x00, 0x00,
+	// 1166 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xef, 0x8e, 0xdb, 0x44,
+	0x10, 0xaf, 0xf3, 0xe7, 0xee, 0x32, 0xb9, 0x0b, 0xee, 0x96, 0xf6, 0xd2, 0xd0, 0x3f, 0xc1, 0x15,
+	0xd2, 0x49, 0x48, 0x0e, 0x0d, 0x08, 0x28, 0x95, 0x5a, 0xe5, 0x12, 0xdf, 0x61, 0xc8, 0xd9, 0xee,
+	0xda, 0x07, 0x2a, 0x5f, 0xac, 0xad, 0xbd, 0x71, 0x4d, 0x13, 0xdb, 0xb2, 0x37, 0x27, 0x45, 0xfd,
+	0xc8, 0x0b, 0xf0, 0x0c, 0x7c, 0x81, 0x47, 0xe1, 0x03, 0x4f, 0x00, 0x2f, 0x83, 0xbc, 0x5e, 0xdf,
+	0xe5, 0xcf, 0xa1, 0x14, 0xf8, 0x92, 0xec, 0xfc, 0x66, 0xf6, 0x37, 0xb3, 0xb3, 0x33, 0xb3, 0x86,
+	0x5e, 0x10, 0xc7, 0xc1, 0x94, 0xf6, 0x48, 0x12, 0xf6, 0x32, 0x9a, 0x5e, 0x84, 0x1e, 0x9d, 0x91,
+	0x88, 0x04, 0x74, 0x46, 0x23, 0xd6, 0xbb, 0x78, 0xdc, 0x4b, 0x69, 0x16, 0xcf, 0x53, 0x8f, 0x66,
+	0x6a, 0x92, 0xc6, 0x2c, 0x46, 0x0f, 0x8b, 0x0d, 0x2a, 0x49, 0x42, 0x75, 0x63, 0x83, 0x7a, 0xf1,
+	0xb8, 0x73, 0x6f, 0x89, 0x91, 0x44, 0x51, 0xcc, 0x08, 0x0b, 0xe3, 0x48, 0x6c, 0xef, 0x3c, 0x58,
+	0xd2, 0x7a, 0x71, 0x34, 0x09, 0x03, 0xd7, 0x7b, 0x4d, 0xa2, 0x80, 0x0a, 0x7d, 0x7b, 0x33, 0x1e,
+	0xa1, 0x79, 0x24, 0x34, 0xd3, 0x38, 0x0a, 0xd2, 0x79, 0x14, 0x85, 0x51, 0xd0, 0x8b, 0x13, 0x9a,
+	0xae, 0xd0, 0xdf, 0x15, 0x46, 0x5c, 0x7a, 0x35, 0x9f, 0xf4, 0x48, 0xb4, 0x10, 0xaa, 0xee, 0xba,
+	0x6a, 0x12, 0xd2, 0xa9, 0xef, 0xce, 0x48, 0xf6, 0x46, 0x58, 0xdc, 0x5b, 0xb7, 0xc8, 0x58, 0x3a,
+	0xf7, 0x98, 0xd0, 0x3e, 0x5c, 0xd7, 0xb2, 0x70, 0x46, 0x33, 0x46, 0x66, 0x89, 0x30, 0x38, 0x14,
+	0x06, 0x69, 0xe2, 0xf5, 0x32, 0x46, 0xd8, 0x5c, 0x04, 0xa5, 0x78, 0xd0, 0x3a, 0xe3, 0x29, 0xf2,
+	0xed, 0xe2, 0x44, 0xe8, 0x43, 0xd8, 0x17, 0x87, 0x73, 0x23, 0x32, 0xa3, 0xed, 0x4a, 0x57, 0x3a,
+	0x6a, 0xe0, 0xa6, 0xc0, 0x0c, 0x32, 0xa3, 0x48, 0x85, 0x5b, 0x49, 0x1a, 0xfb, 0x73, 0x8f, 0xa6,
+	0x6e, 0x92, 0xc6, 0x3f, 0x52, 0x8f, 0xb9, 0xa1, 0xdf, 0xae, 0x72, 0xcb, 0x9b, 0xa5, 0xca, 0x2a,
+	0x34, 0xba, 0xaf, 0xfc, 0x55, 0x85, 0x9b, 0x66, 0x99, 0x8e, 0x33, 0xca, 0x88, 0x4f, 0x18, 0x41,
+	0x1f, 0x41, 0xab, 0xbc, 0x40, 0xee, 0x29, 0x6b, 0x4b, 0xdd, 0xea, 0x51, 0x03, 0x1f, 0x94, 0x68,
+	0xee, 0x2b, 0x43, 0x67, 0x50, 0xcf, 0x18, 0x4d, 0xb2, 0x76, 0xa5, 0x5b, 0x3d, 0x6a, 0xf6, 0xbf,
+	0x50, 0xb7, 0x5c, 0xb2, 0xba, 0xe1, 0x49, 0xb5, 0x19, 0x4d, 0x70, 0xc1, 0x82, 0x7a, 0x3c, 0xf6,
+	0x20, 0xa5, 0x59, 0xe6, 0x26, 0x34, 0xf5, 0x68, 0xc4, 0x48, 0x40, 0x79, 0xec, 0x75, 0x8c, 0x4a,
+	0x95, 0x75, 0xa9, 0x41, 0x4f, 0x00, 0x32, 0x46, 0x52, 0xe6, 0xe6, 0x39, 0x6d, 0xd7, 0xba, 0xd2,
+	0x51, 0xb3, 0xdf, 0x29, 0x83, 0x28, 0x13, 0xae, 0x3a, 0x65, 0xc2, 0x71, 0x83, 0x5b, 0xe7, 0x72,
+	0xe7, 0x2d, 0xd4, 0x72, 0xd7, 0xa8, 0x0b, 0x4d, 0x9f, 0x66, 0x5e, 0x1a, 0x26, 0x79, 0x58, 0x65,
+	0x46, 0x97, 0x20, 0xf4, 0x02, 0x76, 0x8a, 0x6b, 0xe1, 0x0e, 0x5a, 0xfd, 0x27, 0xff, 0xe9, 0x94,
+	0x39, 0x01, 0x16, 0x44, 0x4a, 0x00, 0x3b, 0x05, 0x82, 0xee, 0x00, 0xb2, 0x9d, 0x81, 0x73, 0x6e,
+	0xbb, 0xe7, 0x86, 0x6d, 0x69, 0x43, 0xfd, 0x44, 0xd7, 0x46, 0xf2, 0x0d, 0xb4, 0x07, 0xb5, 0x91,
+	0x69, 0x68, 0xb2, 0x84, 0xde, 0x83, 0xa6, 0x61, 0x3a, 0xae, 0xed, 0x0c, 0xb0, 0xa3, 0x8d, 0xe4,
+	0x4a, 0x0e, 0xe8, 0x86, 0x6b, 0x61, 0xf3, 0x14, 0x6b, 0xb6, 0x2d, 0x57, 0x11, 0xc0, 0xce, 0xc9,
+	0x40, 0x1f, 0x6b, 0x23, 0xb9, 0x86, 0x0e, 0xa0, 0x31, 0x1c, 0x18, 0x43, 0x6d, 0x9c, 0x8b, 0x75,
+	0xe5, 0x37, 0x09, 0x60, 0x14, 0x92, 0x20, 0x8a, 0x33, 0x16, 0x7a, 0xa8, 0x03, 0x7b, 0xd3, 0xd8,
+	0xe3, 0xa1, 0xb5, 0x25, 0x7e, 0xd2, 0x4b, 0x19, 0x8d, 0xa0, 0xf6, 0x26, 0x8c, 0x7c, 0x9e, 0x81,
+	0x56, 0xff, 0x93, 0xad, 0x87, 0xbc, 0xa2, 0x55, 0xbf, 0x0d, 0x23, 0x1f, 0xf3, 0xdd, 0xa8, 0x0d,
+	0xbb, 0x33, 0x9a, 0x65, 0xe5, 0xb5, 0x35, 0x70, 0x29, 0x2a, 0x0f, 0xa0, 0x96, 0xdb, 0xa1, 0x26,
+	0xec, 0x7e, 0x3f, 0xc0, 0x86, 0x6e, 0x9c, 0xca, 0x37, 0x50, 0x03, 0xea, 0x1a, 0xc6, 0x26, 0x96,
+	0x25, 0x85, 0xc0, 0xfe, 0x90, 0x37, 0xb6, 0xcd, 0x0b, 0x0c, 0xb5, 0xa0, 0x12, 0xfa, 0xed, 0x3a,
+	0x27, 0xa9, 0x84, 0x3e, 0x1a, 0x40, 0x7d, 0x12, 0x4e, 0x69, 0x59, 0x6b, 0x1f, 0x6f, 0x0d, 0xb0,
+	0x60, 0x3b, 0x09, 0xa7, 0x14, 0x17, 0x3b, 0x95, 0x5f, 0x2b, 0x00, 0x57, 0x28, 0xfa, 0x00, 0x1a,
+	0x39, 0xee, 0x26, 0x84, 0xbd, 0x2e, 0xd3, 0x91, 0x03, 0x16, 0x61, 0xaf, 0xd1, 0x23, 0x38, 0xe0,
+	0x4a, 0x2f, 0x8e, 0x18, 0x8d, 0x58, 0xc6, 0x8f, 0xb3, 0x8f, 0xf7, 0x73, 0x70, 0x28, 0x30, 0xf4,
+	0x42, 0x30, 0xb0, 0x45, 0x42, 0x45, 0x75, 0x7c, 0xf6, 0x2f, 0xe2, 0x52, 0xf3, 0x1f, 0x67, 0x91,
+	0xd0, 0xc2, 0x6f, 0xbe, 0x52, 0x7e, 0x92, 0x60, 0xaf, 0x84, 0xd1, 0x5d, 0xb8, 0x7d, 0xa2, 0x8f,
+	0x35, 0xd7, 0x79, 0x69, 0x69, 0x6b, 0x05, 0x72, 0x08, 0xb7, 0x6c, 0x0d, 0x7f, 0xa7, 0x0f, 0x35,
+	0x77, 0x68, 0x1a, 0x27, 0xfa, 0xa9, 0xfb, 0x72, 0x70, 0x36, 0x96, 0x25, 0x74, 0x13, 0x0e, 0x4c,
+	0x4b, 0x33, 0xdc, 0x81, 0xa5, 0xbb, 0xdf, 0xd8, 0xa6, 0x21, 0x57, 0x56, 0x20, 0x6e, 0x55, 0x45,
+	0xf7, 0xe1, 0x2e, 0x67, 0x1e, 0x69, 0xf6, 0x10, 0xeb, 0x96, 0x63, 0x62, 0xd7, 0xd6, 0x9c, 0xbc,
+	0xaa, 0x1c, 0x53, 0xae, 0x29, 0x0f, 0xa1, 0x51, 0x84, 0x89, 0xe9, 0x04, 0x21, 0xa8, 0xf1, 0x69,
+	0x53, 0xa4, 0x88, 0xaf, 0x15, 0x13, 0xf6, 0x87, 0x7c, 0xfe, 0x62, 0x9a, 0xc4, 0x29, 0x43, 0xcf,
+	0xa1, 0xb5, 0x32, 0x96, 0x8b, 0x81, 0xd1, 0xec, 0xb7, 0x97, 0xd3, 0x51, 0x50, 0x8a, 0x7d, 0x07,
+	0xde, 0x92, 0x94, 0x29, 0x7f, 0xee, 0xc0, 0x2e, 0x8e, 0xa7, 0xd3, 0x78, 0xce, 0xd0, 0x7d, 0x80,
+	0xb4, 0x58, 0xe6, 0xa3, 0xab, 0x70, 0xdb, 0x10, 0x88, 0xee, 0xa3, 0xa7, 0xd0, 0xf4, 0x52, 0x4a,
+	0x18, 0x2d, 0xda, 0xbe, 0xb2, 0xb5, 0xed, 0xa1, 0x30, 0xcf, 0x81, 0x9c, 0xbb, 0x90, 0x7c, 0xf7,
+	0xd5, 0x42, 0xd4, 0x68, 0x43, 0x20, 0xc7, 0x0b, 0x64, 0xac, 0x35, 0xfb, 0xe7, 0x5b, 0xaf, 0x53,
+	0x04, 0x5d, 0xfe, 0xaf, 0x76, 0x3a, 0x7a, 0x0b, 0x6d, 0x96, 0x92, 0xc9, 0x24, 0xf4, 0xca, 0x89,
+	0xe6, 0x66, 0x2c, 0x25, 0x8c, 0x06, 0x0b, 0x5e, 0xdb, 0xcd, 0xfe, 0xf3, 0x77, 0xf6, 0xe0, 0x14,
+	0x44, 0x62, 0xfe, 0xd9, 0x82, 0xe6, 0xeb, 0x1b, 0xf8, 0x0e, 0xbb, 0x56, 0x83, 0x16, 0x70, 0xe8,
+	0xd3, 0x29, 0x65, 0xd4, 0x2d, 0x5f, 0x8d, 0x4b, 0xdf, 0xbf, 0x4b, 0xdc, 0xf9, 0xb3, 0x77, 0x76,
+	0x3e, 0xe2, 0x44, 0xe2, 0x21, 0x5a, 0xf2, 0x7d, 0xdb, 0xbf, 0x4e, 0xb1, 0xf1, 0x52, 0xed, 0x6d,
+	0xbc, 0x54, 0x9d, 0x3f, 0x24, 0xb8, 0x73, 0xfd, 0x91, 0x50, 0x0a, 0xcd, 0xab, 0xf9, 0x5f, 0x96,
+	0x92, 0xf5, 0x3f, 0x13, 0xa5, 0x5e, 0x3d, 0x1c, 0x99, 0x16, 0xb1, 0x74, 0x81, 0x97, 0x9d, 0x74,
+	0x9e, 0x81, 0xbc, 0x6e, 0x80, 0x64, 0xa8, 0xbe, 0xa1, 0x0b, 0x51, 0x81, 0xf9, 0x12, 0xbd, 0x0f,
+	0xf5, 0x0b, 0x32, 0x9d, 0x17, 0x55, 0x27, 0xe1, 0x42, 0xf8, 0xaa, 0xf2, 0xa5, 0xd4, 0x39, 0x84,
+	0xdb, 0xd7, 0xe6, 0x48, 0x99, 0xc3, 0xc1, 0x4a, 0x6d, 0xa0, 0x07, 0xd0, 0xc1, 0xe6, 0x78, 0x6c,
+	0x9e, 0xf3, 0xa9, 0xbe, 0x39, 0xfb, 0xd7, 0x06, 0xbc, 0x94, 0x8f, 0x4c, 0xfb, 0x7c, 0x38, 0xcc,
+	0x85, 0xca, 0xea, 0x84, 0x5f, 0x1d, 0xfe, 0x4d, 0xd8, 0xb5, 0x34, 0x63, 0x94, 0x8f, 0xd6, 0xfa,
+	0x31, 0xc0, 0x5e, 0x79, 0xdb, 0xc7, 0x3f, 0x4b, 0xf0, 0xc8, 0x8b, 0x67, 0xdb, 0x12, 0x78, 0xdc,
+	0xc2, 0xe5, 0x57, 0x9b, 0x95, 0x77, 0x91, 0x25, 0xfd, 0x60, 0x89, 0x2d, 0x41, 0x3c, 0x25, 0x51,
+	0xa0, 0xc6, 0x69, 0xd0, 0x0b, 0x68, 0xc4, 0x7b, 0x4c, 0x7c, 0x02, 0x92, 0x24, 0xcc, 0xfe, 0xf1,
+	0x33, 0xf0, 0xe9, 0x06, 0xf8, 0x4b, 0xa5, 0x76, 0x3a, 0xb0, 0xcf, 0x5e, 0xed, 0x70, 0x8e, 0x4f,
+	0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x2d, 0x64, 0x4d, 0x1e, 0x49, 0x0a, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicemanagement/v1/resources.proto b/googleapis/api/servicemanagement/v1/resources.proto
deleted file mode 100644
index 05dd94bc..00000000
--- a/googleapis/api/servicemanagement/v1/resources.proto
+++ /dev/null
@@ -1,285 +0,0 @@
-// 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
index 3f107d2b..45c31644 100644
--- a/googleapis/api/servicemanagement/v1/servicemanager.pb.go
+++ b/googleapis/api/servicemanagement/v1/servicemanager.pb.go
@@ -1,18 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto
+// source: google/api/servicemanagement/v1/servicemanager.proto
 // DO NOT EDIT!
 
-package google_api_servicemanagement_v1 // import "google.golang.org/genproto/googleapis/api/servicemanagement/v1"
+package servicemanagement
 
 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/api/annotations"
 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 _ "google.golang.org/genproto/protobuf/field_mask"
 import _ "github.com/golang/protobuf/ptypes/struct"
 import _ "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -42,6 +42,27 @@ func (m *ListServicesRequest) String() string            { return proto.CompactT
 func (*ListServicesRequest) ProtoMessage()               {}
 func (*ListServicesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *ListServicesRequest) GetProducerProjectId() string {
+	if m != nil {
+		return m.ProducerProjectId
+	}
+	return ""
+}
+
+func (m *ListServicesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServicesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for `ListServices` method.
 type ListServicesResponse struct {
 	// The results of the query.
@@ -62,6 +83,13 @@ func (m *ListServicesResponse) GetServices() []*ManagedService {
 	return nil
 }
 
+func (m *ListServicesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `GetService` method.
 type GetServiceRequest struct {
 	// The name of the service.  See the `ServiceManager` overview for naming
@@ -74,6 +102,13 @@ func (m *GetServiceRequest) String() string            { return proto.CompactTex
 func (*GetServiceRequest) ProtoMessage()               {}
 func (*GetServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *GetServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Request message for CreateService method.
 type CreateServiceRequest struct {
 	// Initial values for the service resource.
@@ -104,6 +139,13 @@ func (m *DeleteServiceRequest) String() string            { return proto.Compact
 func (*DeleteServiceRequest) ProtoMessage()               {}
 func (*DeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *DeleteServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Request message for UndeleteService method.
 type UndeleteServiceRequest struct {
 	// The name of the service. See the [overview](/service-management/overview)
@@ -116,6 +158,13 @@ func (m *UndeleteServiceRequest) String() string            { return proto.Compa
 func (*UndeleteServiceRequest) ProtoMessage()               {}
 func (*UndeleteServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *UndeleteServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 // Response message for UndeleteService method.
 type UndeleteServiceResponse struct {
 	// Revived service resource.
@@ -147,6 +196,20 @@ func (m *GetServiceConfigRequest) String() string            { return proto.Comp
 func (*GetServiceConfigRequest) ProtoMessage()               {}
 func (*GetServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *GetServiceConfigRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GetServiceConfigRequest) GetConfigId() string {
+	if m != nil {
+		return m.ConfigId
+	}
+	return ""
+}
+
 // Request message for ListServiceConfigs method.
 type ListServiceConfigsRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -163,6 +226,27 @@ func (m *ListServiceConfigsRequest) String() string            { return proto.Co
 func (*ListServiceConfigsRequest) ProtoMessage()               {}
 func (*ListServiceConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *ListServiceConfigsRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ListServiceConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListServiceConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for ListServiceConfigs method.
 type ListServiceConfigsResponse struct {
 	// The list of service configuration resources.
@@ -183,6 +267,13 @@ func (m *ListServiceConfigsResponse) GetServiceConfigs() []*google_api17.Service
 	return nil
 }
 
+func (m *ListServiceConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for CreateServiceConfig method.
 type CreateServiceConfigRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -197,6 +288,13 @@ func (m *CreateServiceConfigRequest) String() string            { return proto.C
 func (*CreateServiceConfigRequest) ProtoMessage()               {}
 func (*CreateServiceConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *CreateServiceConfigRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CreateServiceConfigRequest) GetServiceConfig() *google_api17.Service {
 	if m != nil {
 		return m.ServiceConfig
@@ -222,6 +320,13 @@ func (m *SubmitConfigSourceRequest) String() string            { return proto.Co
 func (*SubmitConfigSourceRequest) ProtoMessage()               {}
 func (*SubmitConfigSourceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *SubmitConfigSourceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *SubmitConfigSourceRequest) GetConfigSource() *ConfigSource {
 	if m != nil {
 		return m.ConfigSource
@@ -229,6 +334,13 @@ func (m *SubmitConfigSourceRequest) GetConfigSource() *ConfigSource {
 	return nil
 }
 
+func (m *SubmitConfigSourceRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // Response message for SubmitConfigSource method.
 type SubmitConfigSourceResponse struct {
 	// The generated service configuration.
@@ -261,6 +373,13 @@ func (m *CreateServiceRolloutRequest) String() string            { return proto.
 func (*CreateServiceRolloutRequest) ProtoMessage()               {}
 func (*CreateServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *CreateServiceRolloutRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
 func (m *CreateServiceRolloutRequest) GetRollout() *Rollout {
 	if m != nil {
 		return m.Rollout
@@ -284,6 +403,27 @@ func (m *ListServiceRolloutsRequest) String() string            { return proto.C
 func (*ListServiceRolloutsRequest) ProtoMessage()               {}
 func (*ListServiceRolloutsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
+func (m *ListServiceRolloutsRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *ListServiceRolloutsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListServiceRolloutsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for ListServiceRollouts method.
 type ListServiceRolloutsResponse struct {
 	// The list of rollout resources.
@@ -304,6 +444,13 @@ func (m *ListServiceRolloutsResponse) GetRollouts() []*Rollout {
 	return nil
 }
 
+func (m *ListServiceRolloutsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for GetServiceRollout method.
 type GetServiceRolloutRequest struct {
 	// The name of the service.  See the [overview](/service-management/overview)
@@ -318,6 +465,20 @@ func (m *GetServiceRolloutRequest) String() string            { return proto.Com
 func (*GetServiceRolloutRequest) ProtoMessage()               {}
 func (*GetServiceRolloutRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *GetServiceRolloutRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GetServiceRolloutRequest) GetRolloutId() string {
+	if m != nil {
+		return m.RolloutId
+	}
+	return ""
+}
+
 // Request message for EnableService method.
 type EnableServiceRequest struct {
 	// Name of the service to enable. Specifying an unknown service name will
@@ -339,6 +500,20 @@ func (m *EnableServiceRequest) String() string            { return proto.Compact
 func (*EnableServiceRequest) ProtoMessage()               {}
 func (*EnableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *EnableServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *EnableServiceRequest) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 // Request message for DisableService method.
 type DisableServiceRequest struct {
 	// Name of the service to disable. Specifying an unknown service name
@@ -360,6 +535,20 @@ func (m *DisableServiceRequest) String() string            { return proto.Compac
 func (*DisableServiceRequest) ProtoMessage()               {}
 func (*DisableServiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
 
+func (m *DisableServiceRequest) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *DisableServiceRequest) GetConsumerId() string {
+	if m != nil {
+		return m.ConsumerId
+	}
+	return ""
+}
+
 // Request message for GenerateConfigReport method.
 type GenerateConfigReportRequest struct {
 	// Service configuration for which we want to generate the report.
@@ -415,6 +604,20 @@ func (m *GenerateConfigReportResponse) String() string            { return proto
 func (*GenerateConfigReportResponse) ProtoMessage()               {}
 func (*GenerateConfigReportResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{20} }
 
+func (m *GenerateConfigReportResponse) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *GenerateConfigReportResponse) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *GenerateConfigReportResponse) GetChangeReports() []*ChangeReport {
 	if m != nil {
 		return m.ChangeReports
@@ -1118,99 +1321,97 @@ var _ServiceManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto",
+	Metadata: "google/api/servicemanagement/v1/servicemanager.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/api/servicemanagement/v1/servicemanager.proto", fileDescriptor1)
+	proto.RegisterFile("google/api/servicemanagement/v1/servicemanager.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 1369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x57, 0x4d, 0x6f, 0xdc, 0x44,
-	0x18, 0xd6, 0xa4, 0x5f, 0xc9, 0x9b, 0xec, 0x96, 0x4e, 0x16, 0xba, 0x75, 0x88, 0xda, 0x3a, 0x50,
-	0xa2, 0x94, 0xae, 0x95, 0xa6, 0x69, 0xe9, 0xa6, 0x3d, 0x34, 0x4d, 0x55, 0x45, 0xd0, 0x36, 0xda,
-	0x14, 0x89, 0x2f, 0x69, 0xe5, 0xd8, 0x53, 0xd7, 0xd4, 0x3b, 0x63, 0x3c, 0x76, 0x4a, 0x1a, 0xf5,
-	0x40, 0x55, 0x09, 0x89, 0x9e, 0x10, 0x88, 0x4a, 0x1c, 0x11, 0xe2, 0xc0, 0x81, 0x0b, 0x07, 0x24,
-	0x0e, 0x48, 0xfc, 0x06, 0xfe, 0x02, 0xbf, 0x81, 0x33, 0xf2, 0x78, 0xbc, 0xf1, 0xec, 0xba, 0x6b,
-	0x3b, 0x7c, 0x1c, 0x92, 0x95, 0x67, 0xfc, 0xbc, 0xef, 0x33, 0xef, 0x3c, 0xf3, 0xfa, 0x19, 0xd8,
-	0x74, 0x18, 0x73, 0x3c, 0xd2, 0x72, 0x98, 0x67, 0x52, 0xa7, 0xc5, 0x02, 0xc7, 0x70, 0x08, 0xf5,
-	0x03, 0x16, 0x32, 0x23, 0x99, 0x32, 0x7d, 0x97, 0x1b, 0xa6, 0xef, 0x1a, 0x9c, 0x04, 0xdb, 0xae,
-	0x45, 0x7a, 0x26, 0x35, 0x1d, 0xd2, 0x23, 0x34, 0x34, 0xb6, 0x17, 0xd5, 0xc1, 0xa0, 0x25, 0x80,
-	0xf8, 0xa4, 0x0c, 0x6a, 0xfa, 0x6e, 0x6b, 0x08, 0xd5, 0xda, 0x5e, 0xd4, 0xd6, 0x2b, 0x67, 0xb5,
-	0x18, 0xbd, 0xe7, 0x3a, 0x86, 0x49, 0x29, 0x0b, 0xcd, 0xd0, 0x65, 0x94, 0x27, 0xb9, 0xb4, 0x1b,
-	0xfb, 0x0d, 0x25, 0x9f, 0x64, 0x98, 0xdb, 0xff, 0xb0, 0x0e, 0x01, 0xe1, 0x2c, 0x0a, 0x2c, 0x92,
-	0xd2, 0x5a, 0x2d, 0x17, 0xcf, 0x63, 0xd4, 0x09, 0x22, 0x4a, 0x5d, 0xea, 0x18, 0xcc, 0x27, 0x81,
-	0xb2, 0x34, 0xc3, 0x71, 0xc3, 0xfb, 0xd1, 0x56, 0xcb, 0x62, 0x3d, 0x23, 0x89, 0x63, 0x88, 0x89,
-	0xad, 0xe8, 0x9e, 0xe1, 0x87, 0x3b, 0x3e, 0xe1, 0x86, 0x49, 0x77, 0xe2, 0x3f, 0x09, 0x58, 0x2a,
-	0x06, 0x90, 0x9e, 0x1f, 0xee, 0x24, 0xff, 0x25, 0xe8, 0xc2, 0x08, 0xa6, 0x7d, 0xf4, 0x3d, 0x97,
-	0x78, 0x76, 0xb7, 0x67, 0xf2, 0x07, 0x12, 0xb5, 0x5c, 0x9c, 0x8a, 0x87, 0x41, 0x64, 0x85, 0xf2,
-	0x47, 0xc2, 0xae, 0x96, 0x2b, 0x4b, 0xe0, 0x5b, 0x06, 0x0f, 0xcd, 0x30, 0xe2, 0xf2, 0x27, 0x81,
-	0xeb, 0x9f, 0x21, 0x98, 0x7e, 0xc7, 0xe5, 0xe1, 0x66, 0xb2, 0x05, 0xbc, 0x43, 0x3e, 0x89, 0x08,
-	0x0f, 0x71, 0x0b, 0xa6, 0xfd, 0x80, 0xd9, 0x91, 0x45, 0x82, 0xae, 0x1f, 0xb0, 0x8f, 0x89, 0x15,
-	0x76, 0x5d, 0xbb, 0x89, 0x4e, 0xa1, 0xf9, 0x89, 0xce, 0xb1, 0x74, 0x6a, 0x23, 0x99, 0x59, 0xb7,
-	0xf1, 0x0c, 0x4c, 0xf8, 0xa6, 0x43, 0xba, 0xdc, 0x7d, 0x44, 0x9a, 0x87, 0x4e, 0xa1, 0xf9, 0x43,
-	0x9d, 0xf1, 0x78, 0x60, 0xd3, 0x7d, 0x44, 0xf0, 0x2c, 0x80, 0x98, 0x0c, 0xd9, 0x03, 0x42, 0x9b,
-	0x87, 0x45, 0x0c, 0xf1, 0xfa, 0xdd, 0x78, 0x40, 0x7f, 0x86, 0xa0, 0xa1, 0x72, 0xe0, 0x3e, 0xa3,
-	0x9c, 0xe0, 0xb7, 0x61, 0x5c, 0x4a, 0x83, 0x37, 0xd1, 0xa9, 0x03, 0xf3, 0x93, 0xe7, 0x8d, 0x56,
-	0xc1, 0x41, 0x68, 0xdd, 0x12, 0x4f, 0xb6, 0x8c, 0xd5, 0xe9, 0x07, 0xc0, 0x67, 0xe0, 0x28, 0x25,
-	0x9f, 0x86, 0xdd, 0x0c, 0x93, 0x31, 0xc1, 0xa4, 0x16, 0x0f, 0x6f, 0xf4, 0xd9, 0x5c, 0x84, 0x63,
-	0x37, 0x49, 0xca, 0x25, 0x2d, 0xc7, 0x69, 0x98, 0x92, 0x81, 0xba, 0xd4, 0xec, 0x11, 0x59, 0x87,
-	0x49, 0x39, 0x76, 0xdb, 0xec, 0x11, 0xdd, 0x84, 0xc6, 0xf5, 0x80, 0x98, 0x21, 0x19, 0x80, 0xae,
-	0xc3, 0x11, 0xf9, 0x9a, 0x40, 0xed, 0x63, 0x0d, 0x29, 0x5e, 0xbf, 0x0c, 0x8d, 0x35, 0xe2, 0x91,
-	0xa1, 0x14, 0x25, 0xd8, 0xad, 0xc0, 0x2b, 0xef, 0x52, 0x7b, 0x9f, 0x60, 0x1b, 0x8e, 0x0f, 0x81,
-	0xe5, 0x16, 0xfd, 0x8b, 0xab, 0x7b, 0x1f, 0x8e, 0xef, 0x15, 0xfe, 0xba, 0x68, 0x29, 0xe5, 0x39,
-	0xc6, 0x02, 0x4c, 0xda, 0x50, 0x2c, 0xd3, 0x64, 0x63, 0xc7, 0x93, 0x81, 0x75, 0x5b, 0x7f, 0x04,
-	0x27, 0x32, 0x02, 0x4b, 0x62, 0xf3, 0x0a, 0xc1, 0x55, 0x01, 0x8f, 0x0d, 0x08, 0x58, 0x15, 0xff,
-	0x01, 0x55, 0xfc, 0xfa, 0x13, 0x04, 0x5a, 0x5e, 0x72, 0x59, 0xc0, 0x2b, 0x70, 0x34, 0xcd, 0x9e,
-	0xd0, 0x4d, 0xa5, 0x3e, 0x9d, 0x2d, 0x64, 0x5a, 0xac, 0x3a, 0x57, 0xa2, 0x94, 0x16, 0xf5, 0x2e,
-	0x68, 0x8a, 0x38, 0x2b, 0x97, 0xb7, 0x0d, 0x75, 0x95, 0xa6, 0xc8, 0xf3, 0x02, 0x96, 0x35, 0x85,
-	0xa5, 0xfe, 0x0b, 0x82, 0x13, 0x9b, 0xd1, 0x56, 0xcf, 0x0d, 0x93, 0x81, 0x4d, 0xd1, 0xd7, 0x2b,
-	0x24, 0xef, 0x40, 0x4d, 0xee, 0x6d, 0xf2, 0x49, 0x90, 0xb9, 0xcf, 0x15, 0x4a, 0x4d, 0xc9, 0x37,
-	0x65, 0x65, 0x9e, 0xf0, 0x1c, 0xd4, 0xb6, 0x4d, 0xcf, 0xb5, 0xcd, 0x90, 0x74, 0x19, 0xf5, 0x76,
-	0xc4, 0xbe, 0x8d, 0x77, 0xa6, 0xd2, 0xc1, 0x3b, 0xd4, 0xdb, 0xd1, 0xdf, 0x03, 0x2d, 0x8f, 0xb8,
-	0xdc, 0xba, 0xe1, 0x9a, 0xa0, 0xd2, 0x35, 0x79, 0x8a, 0x60, 0x46, 0x6d, 0x17, 0xcc, 0xf3, 0x58,
-	0x14, 0x56, 0xa8, 0xca, 0x2a, 0x1c, 0x09, 0x12, 0x90, 0xac, 0xc7, 0x7c, 0x61, 0x3d, 0xd2, 0x24,
-	0x29, 0x30, 0xd6, 0x45, 0x46, 0x9b, 0x72, 0xfa, 0xff, 0x3a, 0x19, 0xcf, 0x10, 0xcc, 0xe4, 0x66,
-	0x97, 0xf5, 0x5d, 0x83, 0x71, 0xc9, 0x33, 0x3d, 0x13, 0xe5, 0x57, 0xd8, 0x47, 0x96, 0x3e, 0x22,
-	0x1f, 0x41, 0x33, 0xd3, 0xf7, 0x2b, 0xef, 0xc6, 0x2c, 0x80, 0x4c, 0xb9, 0xd7, 0x80, 0x26, 0xe4,
-	0xc8, 0xba, 0xad, 0x7f, 0x00, 0x8d, 0x1b, 0xd4, 0xdc, 0xf2, 0xaa, 0x77, 0x5f, 0x7c, 0x12, 0x26,
-	0x2d, 0x46, 0x79, 0xd4, 0x23, 0xc1, 0x5e, 0x68, 0x48, 0x87, 0xd6, 0x6d, 0xfd, 0x43, 0x78, 0x79,
-	0xcd, 0xe5, 0xff, 0x51, 0xf0, 0xcf, 0x11, 0xcc, 0xdc, 0x24, 0x34, 0x36, 0x52, 0xfd, 0xae, 0xe1,
-	0xb3, 0xa0, 0x5f, 0x9a, 0x25, 0x00, 0x4a, 0x1e, 0xaa, 0x07, 0xa0, 0x91, 0x6e, 0x53, 0x6a, 0x60,
-	0x5a, 0xd7, 0xe8, 0x4e, 0x67, 0x82, 0x92, 0x87, 0x49, 0x84, 0x18, 0xc4, 0x3c, 0x5b, 0xed, 0x24,
-	0x2f, 0x00, 0x31, 0xcf, 0x96, 0x47, 0xe6, 0x2f, 0x04, 0xaf, 0xe6, 0x33, 0x91, 0x7a, 0x29, 0xb1,
-	0xdc, 0x3a, 0x8c, 0xf5, 0x57, 0x39, 0xe6, 0xda, 0xf8, 0x2e, 0xd4, 0xad, 0xfb, 0x26, 0x75, 0x48,
-	0x37, 0x10, 0xb1, 0x78, 0xf3, 0x80, 0x10, 0x5a, 0x89, 0xd6, 0x22, 0x60, 0x92, 0x41, 0xcd, 0xca,
-	0x3c, 0x71, 0x7c, 0x0b, 0x26, 0x6d, 0xd7, 0x74, 0x28, 0xe3, 0xa1, 0x6b, 0xf1, 0xe6, 0x41, 0x11,
-	0xf2, 0x6c, 0x61, 0xc8, 0xb5, 0x3e, 0xa6, 0x93, 0xc5, 0x9f, 0xff, 0x69, 0x1a, 0xea, 0x72, 0x67,
-	0x93, 0x6f, 0x67, 0x80, 0xbf, 0x44, 0x30, 0x95, 0xb5, 0x4c, 0xf8, 0x42, 0x61, 0xf4, 0x1c, 0x97,
-	0xa7, 0x2d, 0x57, 0x44, 0x25, 0x85, 0xd6, 0x1b, 0x4f, 0xfe, 0xf8, 0xf3, 0xab, 0xb1, 0x3a, 0x9e,
-	0xca, 0xdc, 0x57, 0x38, 0xfe, 0x06, 0x01, 0xec, 0x9d, 0x20, 0x7c, 0xbe, 0x30, 0xf6, 0x90, 0xcd,
-	0xd2, 0xaa, 0x9a, 0x07, 0x7d, 0x4e, 0x30, 0x99, 0xc5, 0x33, 0x59, 0x26, 0xc6, 0x6e, 0x56, 0x06,
-	0x8f, 0xf1, 0x53, 0x04, 0x35, 0xa5, 0xd7, 0xe2, 0xe2, 0x75, 0xe7, 0x59, 0x39, 0x6d, 0x36, 0x85,
-	0x65, 0x2e, 0x19, 0xad, 0x3b, 0xe9, 0x25, 0x43, 0x9f, 0x15, 0x64, 0x8e, 0xeb, 0x4a, 0x59, 0xda,
-	0xa9, 0xbf, 0xc1, 0x5f, 0x20, 0xa8, 0x29, 0xf6, 0xad, 0x04, 0x8d, 0x3c, 0xbb, 0x57, 0x44, 0x43,
-	0xd6, 0x64, 0x61, 0x64, 0x4d, 0x9e, 0x23, 0x38, 0x3a, 0xe0, 0xe9, 0xf0, 0xa5, 0x42, 0x3a, 0xf9,
-	0x16, 0xb2, 0x88, 0xd0, 0x9b, 0x82, 0xd0, 0x19, 0xfd, 0xb5, 0x11, 0x84, 0xda, 0x91, 0x0c, 0x8d,
-	0x7f, 0x45, 0x80, 0x87, 0xfd, 0x12, 0x6e, 0x57, 0x91, 0xaa, 0xea, 0xf0, 0xb4, 0x95, 0x7d, 0x61,
-	0xa5, 0xd8, 0xcf, 0x0a, 0xf6, 0xaf, 0xe3, 0xb9, 0x11, 0xec, 0x0d, 0x69, 0xdd, 0xf0, 0xb7, 0x08,
-	0x5e, 0x1a, 0x34, 0xb1, 0xf8, 0xad, 0x0a, 0x27, 0x41, 0x31, 0x66, 0x5a, 0x9e, 0x93, 0xd0, 0x2f,
-	0x09, 0x42, 0x8b, 0xd8, 0x28, 0x41, 0xc8, 0xd8, 0xed, 0x9b, 0xe2, 0xc7, 0xf8, 0x7b, 0x04, 0xd3,
-	0x39, 0x2e, 0x10, 0xaf, 0x54, 0x3b, 0x0d, 0x25, 0x28, 0xae, 0x08, 0x8a, 0xcb, 0x7a, 0x99, 0x9a,
-	0xb5, 0x07, 0x4c, 0x14, 0xfe, 0x01, 0x01, 0x1e, 0x76, 0x5d, 0x25, 0x04, 0xf0, 0x42, 0x8f, 0x59,
-	0x24, 0xd0, 0x65, 0x41, 0xd7, 0xd0, 0x17, 0xca, 0xd0, 0xe5, 0x22, 0x4b, 0x1b, 0x2d, 0xe0, 0xdf,
-	0xd4, 0xbb, 0x73, 0xea, 0x5f, 0x70, 0x25, 0xb9, 0x0d, 0x78, 0x2e, 0xed, 0xca, 0xfe, 0xc0, 0x52,
-	0xac, 0xf2, 0xa8, 0xe1, 0x51, 0x47, 0xcd, 0xe8, 0x5b, 0xa3, 0x9f, 0x91, 0x72, 0xd7, 0x4d, 0x86,
-	0xf1, 0xe5, 0x2a, 0x8d, 0x5b, 0xf1, 0x49, 0x5a, 0x69, 0x7f, 0xa6, 0x5f, 0x16, 0x44, 0x97, 0xf0,
-	0x62, 0x19, 0xa2, 0xc6, 0xee, 0x9e, 0xb5, 0x7a, 0x8c, 0x7f, 0x44, 0x83, 0x37, 0x6d, 0x49, 0xfc,
-	0x4a, 0xc5, 0xae, 0xae, 0x72, 0x2f, 0xa9, 0x91, 0x52, 0x95, 0x6d, 0xa7, 0x06, 0x1b, 0xff, 0x8e,
-	0xa0, 0x91, 0x67, 0x5a, 0x4a, 0x90, 0x1d, 0xe1, 0xba, 0xb4, 0xab, 0xfb, 0x44, 0xab, 0x32, 0xd1,
-	0x4f, 0x2b, 0x5f, 0x2a, 0x27, 0x07, 0x12, 0xeb, 0xfc, 0x6b, 0x04, 0x35, 0xc5, 0xbc, 0x96, 0xf8,
-	0x70, 0xe5, 0x99, 0xdd, 0xa2, 0x12, 0x9f, 0x13, 0xac, 0xde, 0xd0, 0xf5, 0x51, 0xdf, 0x09, 0x22,
-	0x02, 0xc7, 0xb4, 0x9e, 0x23, 0xa8, 0xab, 0xbe, 0x17, 0x5f, 0x2c, 0xe1, 0xb1, 0x78, 0x75, 0x62,
-	0x2d, 0x41, 0x6c, 0x7e, 0x64, 0x3b, 0x6b, 0xdb, 0x49, 0xe4, 0x36, 0x5a, 0x58, 0xbd, 0x0e, 0x73,
-	0x16, 0xeb, 0x15, 0x71, 0x59, 0x9d, 0x56, 0x4d, 0xdd, 0x46, 0xec, 0x7b, 0x37, 0xd0, 0x77, 0x63,
-	0x07, 0x6f, 0x5e, 0xdb, 0xbc, 0xb5, 0x75, 0x58, 0xf8, 0xe0, 0xa5, 0xbf, 0x03, 0x00, 0x00, 0xff,
-	0xff, 0xb8, 0x45, 0x92, 0x9b, 0x50, 0x16, 0x00, 0x00,
+	// 1343 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0xcf, 0x6f, 0xdc, 0x44,
+	0x14, 0xd6, 0x6c, 0x7f, 0x25, 0x2f, 0xd9, 0x2d, 0x9d, 0x5d, 0xc8, 0xd6, 0xdb, 0xa8, 0xa9, 0x03,
+	0x25, 0x4a, 0xe9, 0x5a, 0xe9, 0x4f, 0xba, 0x29, 0x87, 0xb6, 0x41, 0x55, 0x04, 0xa5, 0xd1, 0xa6,
+	0x48, 0x50, 0x90, 0x56, 0x8e, 0x3d, 0x31, 0xa6, 0xde, 0x19, 0xe3, 0xf1, 0xa6, 0x24, 0x51, 0x0e,
+	0x54, 0x95, 0x90, 0xe8, 0x09, 0xf1, 0xa3, 0x12, 0x47, 0x84, 0x38, 0x70, 0xe0, 0xc2, 0x01, 0x89,
+	0x03, 0x12, 0x7f, 0x03, 0xff, 0x02, 0x7f, 0x03, 0x67, 0xb4, 0xe3, 0xf1, 0xc6, 0xb3, 0xeb, 0xac,
+	0xed, 0x08, 0x38, 0xfa, 0x8d, 0xbf, 0xf7, 0xbe, 0x79, 0xf3, 0xcd, 0xf3, 0xb7, 0x0b, 0x57, 0x1c,
+	0xc6, 0x1c, 0x8f, 0x18, 0xa6, 0xef, 0x1a, 0x9c, 0x04, 0x5b, 0xae, 0x45, 0xba, 0x26, 0x35, 0x1d,
+	0xd2, 0x25, 0x34, 0x34, 0xb6, 0x96, 0xd4, 0x60, 0xd0, 0xf4, 0x03, 0x16, 0x32, 0x7c, 0x36, 0x42,
+	0x35, 0x4d, 0xdf, 0x6d, 0x8e, 0xa0, 0x9a, 0x5b, 0x4b, 0xda, 0x99, 0x44, 0x5a, 0x93, 0x52, 0x16,
+	0x9a, 0xa1, 0xcb, 0x28, 0x8f, 0xe0, 0x5a, 0x7d, 0xb4, 0xa8, 0x5c, 0x31, 0xb2, 0xe8, 0x04, 0x84,
+	0xb3, 0x5e, 0x60, 0x91, 0x38, 0xd5, 0xbc, 0x04, 0x78, 0x8c, 0x3a, 0x41, 0x8f, 0x52, 0x97, 0x3a,
+	0x06, 0xf3, 0x49, 0xa0, 0xd4, 0x3b, 0x2d, 0x5f, 0x12, 0x4f, 0x1b, 0xbd, 0x4d, 0xc3, 0xa4, 0xdb,
+	0x72, 0xa9, 0x31, 0xbc, 0x44, 0xba, 0x7e, 0x18, 0x2f, 0xce, 0x0d, 0x2f, 0x6e, 0xba, 0xc4, 0xb3,
+	0x3b, 0x5d, 0x93, 0x3f, 0x92, 0x6f, 0x9c, 0x19, 0x7e, 0x83, 0x87, 0x41, 0xcf, 0x0a, 0xe5, 0xea,
+	0x8c, 0x5c, 0x0d, 0x7c, 0xcb, 0xe0, 0xa1, 0x19, 0xf6, 0x24, 0x21, 0xfd, 0x33, 0x04, 0xd5, 0xb7,
+	0x5d, 0x1e, 0xae, 0x47, 0x5b, 0xe4, 0x6d, 0xf2, 0x49, 0x8f, 0xf0, 0x10, 0x37, 0xa1, 0xea, 0x07,
+	0xcc, 0xee, 0x59, 0x24, 0xe8, 0xf8, 0x01, 0xfb, 0x98, 0x58, 0x61, 0xc7, 0xb5, 0xeb, 0x68, 0x0e,
+	0x2d, 0x4c, 0xb6, 0x4f, 0xc5, 0x4b, 0x6b, 0xd1, 0xca, 0xaa, 0x8d, 0x1b, 0x30, 0xe9, 0x9b, 0x0e,
+	0xe9, 0x70, 0x77, 0x87, 0xd4, 0x8f, 0xcd, 0xa1, 0x85, 0x63, 0xed, 0x89, 0x7e, 0x60, 0xdd, 0xdd,
+	0x21, 0x78, 0x16, 0x40, 0x2c, 0x86, 0xec, 0x11, 0xa1, 0xf5, 0xe3, 0x22, 0x87, 0x78, 0xfd, 0x41,
+	0x3f, 0xa0, 0x3f, 0x43, 0x50, 0x53, 0x39, 0x70, 0x9f, 0x51, 0x4e, 0xf0, 0x5b, 0x30, 0x21, 0x5b,
+	0xcf, 0xeb, 0x68, 0xee, 0xc8, 0xc2, 0xd4, 0x25, 0xa3, 0x99, 0x71, 0xde, 0xcd, 0x7b, 0xe2, 0xc9,
+	0x96, 0xb9, 0xda, 0x83, 0x04, 0xf8, 0x3c, 0x9c, 0xa4, 0xe4, 0xd3, 0xb0, 0x93, 0x60, 0x52, 0x12,
+	0x4c, 0xca, 0xfd, 0xf0, 0xda, 0x80, 0xcd, 0x35, 0x38, 0x75, 0x97, 0xc4, 0x5c, 0xe2, 0x76, 0x9c,
+	0x83, 0x69, 0x99, 0xa8, 0x43, 0xcd, 0x2e, 0x91, 0x7d, 0x98, 0x92, 0xb1, 0x77, 0xcc, 0x2e, 0xd1,
+	0x4d, 0xa8, 0xdd, 0x09, 0x88, 0x19, 0x92, 0x21, 0xe8, 0x2a, 0x9c, 0x90, 0xaf, 0x09, 0xd4, 0x21,
+	0xf6, 0x10, 0xe3, 0xf5, 0x1b, 0x50, 0x5b, 0x21, 0x1e, 0x19, 0x29, 0x91, 0x83, 0xdd, 0x32, 0xbc,
+	0xf4, 0x2e, 0xb5, 0x0f, 0x09, 0xb6, 0x61, 0x66, 0x04, 0x2c, 0x8f, 0xe8, 0x5f, 0xdc, 0xdd, 0xfb,
+	0x30, 0xb3, 0xdf, 0xf8, 0x3b, 0x8c, 0x6e, 0xba, 0x4e, 0x7e, 0x8e, 0x7d, 0x01, 0x5a, 0x02, 0xd3,
+	0x97, 0x69, 0x74, 0xb0, 0x13, 0x51, 0x60, 0xd5, 0xd6, 0x77, 0xe0, 0x74, 0x42, 0x60, 0x51, 0x6e,
+	0x5e, 0x20, 0xb9, 0x2a, 0xe0, 0xd2, 0x90, 0x80, 0x55, 0xf1, 0x1f, 0x51, 0xc5, 0xaf, 0x3f, 0x41,
+	0xa0, 0xa5, 0x15, 0x97, 0x0d, 0xbc, 0x09, 0x27, 0xe3, 0xea, 0x11, 0xdd, 0x58, 0xea, 0xd5, 0x64,
+	0x23, 0xe3, 0x66, 0x55, 0xb8, 0x92, 0x25, 0xb7, 0xa8, 0x77, 0x41, 0x53, 0xc4, 0x59, 0xb8, 0xbd,
+	0x2d, 0xa8, 0xa8, 0x34, 0x45, 0x9d, 0x03, 0x58, 0x96, 0x15, 0x96, 0xfa, 0xaf, 0x08, 0x4e, 0xaf,
+	0xf7, 0x36, 0xba, 0x6e, 0x18, 0x05, 0xd6, 0xc5, 0xdc, 0x2c, 0x50, 0xbc, 0x0d, 0x65, 0x79, 0xb6,
+	0xd1, 0xc8, 0x95, 0xb5, 0x2f, 0x66, 0x4a, 0x4d, 0xa9, 0x37, 0x6d, 0x25, 0x9e, 0xf0, 0x3c, 0x94,
+	0xb7, 0x4c, 0xcf, 0xb5, 0xcd, 0x90, 0x74, 0x18, 0xf5, 0xb6, 0xc5, 0xb9, 0x4d, 0xb4, 0xa7, 0xe3,
+	0xe0, 0x7d, 0xea, 0x6d, 0xeb, 0xef, 0x81, 0x96, 0x46, 0x5c, 0x1e, 0xdd, 0x68, 0x4f, 0x50, 0xee,
+	0x9e, 0x3c, 0x45, 0xd0, 0x50, 0xc7, 0x05, 0xf3, 0x3c, 0xd6, 0x0b, 0x0b, 0x74, 0xe5, 0x36, 0x9c,
+	0x08, 0x22, 0x90, 0xec, 0xc7, 0x42, 0x66, 0x3f, 0xe2, 0x22, 0x31, 0xb0, 0xaf, 0x8b, 0x84, 0x36,
+	0xe5, 0xf2, 0xff, 0x75, 0x33, 0x9e, 0x21, 0x68, 0xa4, 0x56, 0x97, 0xfd, 0x5d, 0x81, 0x09, 0xc9,
+	0x33, 0xbe, 0x13, 0xf9, 0x77, 0x38, 0x40, 0xe6, 0xbe, 0x22, 0x1f, 0x42, 0x3d, 0x31, 0xf7, 0x0b,
+	0x9f, 0xc6, 0x2c, 0x80, 0x2c, 0xb9, 0x3f, 0x80, 0x26, 0x65, 0x64, 0xd5, 0xd6, 0x1f, 0x42, 0xed,
+	0x4d, 0x6a, 0x6e, 0x78, 0xc5, 0xa7, 0x2f, 0x3e, 0x0b, 0x53, 0x16, 0xa3, 0xbc, 0xd7, 0x25, 0xc1,
+	0x7e, 0x6a, 0x88, 0x43, 0xab, 0xb6, 0xfe, 0x01, 0xbc, 0xb8, 0xe2, 0xf2, 0xff, 0x28, 0xf9, 0xe7,
+	0x08, 0x1a, 0x77, 0x09, 0xed, 0xfb, 0x98, 0xc1, 0xd4, 0xf0, 0x59, 0x30, 0x68, 0xcd, 0x65, 0x00,
+	0x4a, 0x1e, 0xab, 0x17, 0xa0, 0x16, 0x1f, 0x53, 0x6c, 0x46, 0x9a, 0xb7, 0xe8, 0x76, 0x7b, 0x92,
+	0x92, 0xc7, 0x51, 0x86, 0x3e, 0x88, 0x79, 0xb6, 0x3a, 0x49, 0x0e, 0x00, 0x31, 0xcf, 0x96, 0x57,
+	0xe6, 0x6f, 0x04, 0x67, 0xd2, 0x99, 0x48, 0xbd, 0xe4, 0xd8, 0x6e, 0x05, 0x4a, 0x83, 0x5d, 0x96,
+	0x5c, 0x1b, 0x3f, 0x80, 0x8a, 0xf5, 0x91, 0x49, 0x1d, 0xd2, 0x09, 0x44, 0x2e, 0x5e, 0x3f, 0x22,
+	0x84, 0x96, 0x63, 0xb4, 0x08, 0x98, 0x64, 0x50, 0xb6, 0x12, 0x4f, 0x1c, 0xdf, 0x83, 0x29, 0xdb,
+	0x35, 0x1d, 0xca, 0x78, 0xe8, 0x5a, 0xbc, 0x7e, 0x54, 0xa4, 0xbc, 0x90, 0x99, 0x72, 0x65, 0x80,
+	0x69, 0x27, 0xf1, 0x97, 0x7e, 0xae, 0x42, 0x45, 0x9e, 0x6c, 0xf4, 0xed, 0x0c, 0xf0, 0x97, 0x08,
+	0xa6, 0x93, 0x96, 0x09, 0x5f, 0xc9, 0xcc, 0x9e, 0xe2, 0xf2, 0xb4, 0xab, 0x05, 0x51, 0x51, 0xa3,
+	0xf5, 0xda, 0x93, 0x3f, 0xff, 0xfa, 0xaa, 0x54, 0xc1, 0xd3, 0x09, 0x5b, 0xce, 0xf1, 0xb7, 0x08,
+	0x60, 0xff, 0x06, 0xe1, 0x4b, 0x99, 0xb9, 0x47, 0x6c, 0x96, 0x56, 0xd4, 0x3c, 0xe8, 0xf3, 0x82,
+	0xc9, 0x2c, 0x6e, 0x24, 0x99, 0x18, 0xbb, 0x49, 0x19, 0xec, 0xe1, 0xa7, 0x08, 0xca, 0xca, 0xac,
+	0xc5, 0xd9, 0xfb, 0x4e, 0xb3, 0x72, 0xda, 0x6c, 0x0c, 0x4b, 0x78, 0xfc, 0xe6, 0xfd, 0xd8, 0xe3,
+	0xeb, 0xb3, 0x82, 0xcc, 0x8c, 0xae, 0xb4, 0xa5, 0x15, 0xfb, 0x1b, 0xfc, 0x05, 0x82, 0xb2, 0x62,
+	0xdf, 0x72, 0xd0, 0x48, 0xb3, 0x7b, 0x59, 0x34, 0x64, 0x4f, 0x16, 0xc7, 0xf6, 0xe4, 0x39, 0x82,
+	0x93, 0x43, 0x9e, 0x0e, 0x5f, 0xcf, 0xa4, 0x93, 0x6e, 0x21, 0xb3, 0x08, 0xbd, 0x26, 0x08, 0x9d,
+	0xd7, 0x5f, 0x1e, 0x43, 0xa8, 0xd5, 0x93, 0xa9, 0xf1, 0x6f, 0x08, 0xf0, 0xa8, 0x5f, 0xc2, 0xad,
+	0x22, 0x52, 0x55, 0x1d, 0x9e, 0xb6, 0x7c, 0x28, 0xac, 0x14, 0xfb, 0x05, 0xc1, 0xfe, 0x15, 0x3c,
+	0x3f, 0x86, 0xbd, 0x21, 0xad, 0x1b, 0xfe, 0x0e, 0xc1, 0x0b, 0xc3, 0x26, 0x16, 0xbf, 0x5e, 0xe0,
+	0x26, 0x28, 0xc6, 0x4c, 0x4b, 0x73, 0x12, 0xfa, 0x75, 0x41, 0x68, 0x09, 0x1b, 0x39, 0x08, 0x19,
+	0xbb, 0x03, 0x53, 0xbc, 0x87, 0x7f, 0x40, 0x50, 0x4d, 0x71, 0x81, 0x78, 0xb9, 0xd8, 0x6d, 0xc8,
+	0x41, 0x71, 0x59, 0x50, 0xbc, 0xaa, 0xe7, 0xe9, 0x59, 0x6b, 0xc8, 0x44, 0xe1, 0x1f, 0x11, 0xe0,
+	0x51, 0xd7, 0x95, 0x43, 0x00, 0x07, 0x7a, 0xcc, 0x2c, 0x81, 0x5e, 0x15, 0x74, 0x0d, 0x7d, 0x31,
+	0x0f, 0x5d, 0x2e, 0xaa, 0xb4, 0xd0, 0x22, 0xfe, 0x5d, 0xfd, 0xed, 0x1c, 0xfb, 0x17, 0x5c, 0x48,
+	0x6e, 0x43, 0x9e, 0x4b, 0xbb, 0x79, 0x38, 0xb0, 0x14, 0xab, 0xbc, 0x6a, 0x78, 0xdc, 0x55, 0x33,
+	0x06, 0xd6, 0xe8, 0x17, 0xa4, 0xfc, 0xd6, 0x8d, 0xc2, 0xf8, 0x46, 0x91, 0xc1, 0xad, 0xf8, 0x24,
+	0x2d, 0xb7, 0x3f, 0xd3, 0x6f, 0x08, 0xa2, 0x97, 0xf1, 0x52, 0x1e, 0xa2, 0xc6, 0xee, 0xbe, 0xb5,
+	0xda, 0xc3, 0x3f, 0xa1, 0xe1, 0x5f, 0xda, 0x92, 0xf8, 0xcd, 0x82, 0x53, 0x5d, 0xe5, 0x9e, 0x53,
+	0x23, 0xb9, 0x3a, 0xdb, 0x8a, 0x0d, 0x36, 0xfe, 0x03, 0x41, 0x2d, 0xcd, 0xb4, 0xe4, 0x20, 0x3b,
+	0xc6, 0x75, 0x69, 0x6f, 0x1c, 0x12, 0xad, 0xca, 0x44, 0x3f, 0xa7, 0x7c, 0xa9, 0x9c, 0x14, 0x48,
+	0x5f, 0xe7, 0x5f, 0x23, 0x28, 0x2b, 0xe6, 0x35, 0xc7, 0x87, 0x2b, 0xcd, 0xec, 0x66, 0xb5, 0xf8,
+	0xa2, 0x60, 0xf5, 0xaa, 0xae, 0x8f, 0xfb, 0x4e, 0x10, 0x91, 0xb8, 0x4f, 0xeb, 0x39, 0x82, 0x8a,
+	0xea, 0x7b, 0xf1, 0xb5, 0x1c, 0x1e, 0x8b, 0x17, 0x27, 0xd6, 0x14, 0xc4, 0x16, 0xc6, 0x8e, 0xb3,
+	0x96, 0x1d, 0x65, 0x6e, 0xa1, 0xc5, 0xdb, 0xdf, 0x20, 0x98, 0xb7, 0x58, 0x37, 0x8b, 0xcc, 0xed,
+	0xaa, 0xea, 0xea, 0xd6, 0xfa, 0xc6, 0x77, 0x0d, 0x3d, 0x5c, 0x93, 0x38, 0x87, 0x79, 0x26, 0x75,
+	0x9a, 0x2c, 0x70, 0x0c, 0x87, 0x50, 0x61, 0x8b, 0xe5, 0xbf, 0x92, 0xa6, 0xef, 0xf2, 0x03, 0xff,
+	0x99, 0x5c, 0x1e, 0x09, 0x7e, 0x5f, 0x3a, 0x7a, 0xf7, 0xd6, 0xfa, 0xbd, 0x8d, 0xe3, 0x22, 0xc7,
+	0xe5, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xb2, 0xf0, 0x70, 0x6f, 0x6b, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/api/servicemanagement/v1/servicemanager.proto b/googleapis/api/servicemanagement/v1/servicemanager.proto
deleted file mode 100644
index 312f89c2..00000000
--- a/googleapis/api/servicemanagement/v1/servicemanager.proto
+++ /dev/null
@@ -1,391 +0,0 @@
-// 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/logging/v1/request_log.pb.go b/googleapis/appengine/logging/v1/request_log.pb.go
index 6eb29142..4f285cc8 100644
--- a/googleapis/appengine/logging/v1/request_log.pb.go
+++ b/googleapis/appengine/logging/v1/request_log.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto
+// source: google/appengine/logging/v1/request_log.proto
 // DO NOT EDIT!
 
 /*
-Package google_appengine_logging_v1 is a generated protocol buffer package.
+Package logging is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto
+	google/appengine/logging/v1/request_log.proto
 
 It has these top-level messages:
 	LogLine
@@ -14,7 +14,7 @@ It has these top-level messages:
 	SourceReference
 	RequestLog
 */
-package google_appengine_logging_v1 // import "google.golang.org/genproto/googleapis/appengine/logging/v1"
+package logging
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -58,6 +58,20 @@ func (m *LogLine) GetTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *LogLine) GetSeverity() google_logging_type.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type.LogSeverity_DEFAULT
+}
+
+func (m *LogLine) GetLogMessage() string {
+	if m != nil {
+		return m.LogMessage
+	}
+	return ""
+}
+
 func (m *LogLine) GetSourceLocation() *SourceLocation {
 	if m != nil {
 		return m.SourceLocation
@@ -86,6 +100,27 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *SourceLocation) GetFile() string {
+	if m != nil {
+		return m.File
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLine() int64 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
+func (m *SourceLocation) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
 // A reference to a particular snapshot of the source tree used to build and
 // deploy an application.
 type SourceReference struct {
@@ -102,6 +137,20 @@ func (m *SourceReference) String() string            { return proto.CompactTextS
 func (*SourceReference) ProtoMessage()               {}
 func (*SourceReference) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *SourceReference) GetRepository() string {
+	if m != nil {
+		return m.Repository
+	}
+	return ""
+}
+
+func (m *SourceReference) GetRevisionId() string {
+	if m != nil {
+		return m.RevisionId
+	}
+	return ""
+}
+
 // Complete log information about a single HTTP request to an App Engine
 // application.
 type RequestLog struct {
@@ -194,6 +243,41 @@ func (m *RequestLog) String() string            { return proto.CompactTextString
 func (*RequestLog) ProtoMessage()               {}
 func (*RequestLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *RequestLog) GetAppId() string {
+	if m != nil {
+		return m.AppId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetModuleId() string {
+	if m != nil {
+		return m.ModuleId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetVersionId() string {
+	if m != nil {
+		return m.VersionId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
+func (m *RequestLog) GetIp() string {
+	if m != nil {
+		return m.Ip
+	}
+	return ""
+}
+
 func (m *RequestLog) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -215,6 +299,111 @@ func (m *RequestLog) GetLatency() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *RequestLog) GetMegaCycles() int64 {
+	if m != nil {
+		return m.MegaCycles
+	}
+	return 0
+}
+
+func (m *RequestLog) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
+func (m *RequestLog) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *RequestLog) GetHttpVersion() string {
+	if m != nil {
+		return m.HttpVersion
+	}
+	return ""
+}
+
+func (m *RequestLog) GetStatus() int32 {
+	if m != nil {
+		return m.Status
+	}
+	return 0
+}
+
+func (m *RequestLog) GetResponseSize() int64 {
+	if m != nil {
+		return m.ResponseSize
+	}
+	return 0
+}
+
+func (m *RequestLog) GetReferrer() string {
+	if m != nil {
+		return m.Referrer
+	}
+	return ""
+}
+
+func (m *RequestLog) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *RequestLog) GetNickname() string {
+	if m != nil {
+		return m.Nickname
+	}
+	return ""
+}
+
+func (m *RequestLog) GetUrlMapEntry() string {
+	if m != nil {
+		return m.UrlMapEntry
+	}
+	return ""
+}
+
+func (m *RequestLog) GetHost() string {
+	if m != nil {
+		return m.Host
+	}
+	return ""
+}
+
+func (m *RequestLog) GetCost() float64 {
+	if m != nil {
+		return m.Cost
+	}
+	return 0
+}
+
+func (m *RequestLog) GetTaskQueueName() string {
+	if m != nil {
+		return m.TaskQueueName
+	}
+	return ""
+}
+
+func (m *RequestLog) GetTaskName() string {
+	if m != nil {
+		return m.TaskName
+	}
+	return ""
+}
+
+func (m *RequestLog) GetWasLoadingRequest() bool {
+	if m != nil {
+		return m.WasLoadingRequest
+	}
+	return false
+}
+
 func (m *RequestLog) GetPendingTime() *google_protobuf1.Duration {
 	if m != nil {
 		return m.PendingTime
@@ -222,6 +411,34 @@ func (m *RequestLog) GetPendingTime() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *RequestLog) GetInstanceIndex() int32 {
+	if m != nil {
+		return m.InstanceIndex
+	}
+	return 0
+}
+
+func (m *RequestLog) GetFinished() bool {
+	if m != nil {
+		return m.Finished
+	}
+	return false
+}
+
+func (m *RequestLog) GetFirst() bool {
+	if m != nil {
+		return m.First
+	}
+	return false
+}
+
+func (m *RequestLog) GetInstanceId() string {
+	if m != nil {
+		return m.InstanceId
+	}
+	return ""
+}
+
 func (m *RequestLog) GetLine() []*LogLine {
 	if m != nil {
 		return m.Line
@@ -229,6 +446,20 @@ func (m *RequestLog) GetLine() []*LogLine {
 	return nil
 }
 
+func (m *RequestLog) GetAppEngineRelease() string {
+	if m != nil {
+		return m.AppEngineRelease
+	}
+	return ""
+}
+
+func (m *RequestLog) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 func (m *RequestLog) GetSourceReference() []*SourceReference {
 	if m != nil {
 		return m.SourceReference
@@ -243,69 +474,66 @@ func init() {
 	proto.RegisterType((*RequestLog)(nil), "google.appengine.logging.v1.RequestLog")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/logging/v1/request_log.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/appengine/logging/v1/request_log.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 929 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x54, 0x6f, 0x6f, 0x1c, 0xb5,
-	0x13, 0xd6, 0xe5, 0xef, 0x9d, 0x2f, 0xb9, 0xa4, 0xfe, 0xb5, 0xfd, 0x39, 0x09, 0xa5, 0x47, 0xa0,
-	0xe5, 0x80, 0x6a, 0x4f, 0x4d, 0x41, 0xa2, 0xa2, 0x6f, 0x28, 0xe4, 0xc5, 0x49, 0x57, 0x54, 0x36,
-	0x15, 0xbc, 0x42, 0x2b, 0x67, 0x77, 0xce, 0xb1, 0xba, 0x6b, 0xbb, 0xb6, 0x37, 0xe5, 0xfa, 0x41,
-	0xf8, 0x98, 0x7c, 0x06, 0xe4, 0xb1, 0xf7, 0x42, 0x84, 0x94, 0xf4, 0x9d, 0xe7, 0x99, 0x79, 0x66,
-	0xc6, 0xe3, 0xc7, 0x43, 0xe6, 0x42, 0x6b, 0x51, 0x43, 0x26, 0x74, 0xcd, 0x95, 0xc8, 0xb4, 0x15,
-	0x53, 0x01, 0xca, 0x58, 0xed, 0xf5, 0x34, 0xba, 0xb8, 0x91, 0x6e, 0xca, 0x8d, 0x01, 0x25, 0xa4,
-	0x82, 0x69, 0xad, 0x85, 0x90, 0x4a, 0x4c, 0x2f, 0x9f, 0x4e, 0x2d, 0xbc, 0x6b, 0xc1, 0xf9, 0xa2,
-	0xd6, 0x22, 0x43, 0x06, 0x3d, 0x4a, 0xd9, 0x56, 0xe1, 0x59, 0x0a, 0xcf, 0x2e, 0x9f, 0x1e, 0x9e,
-	0x7e, 0x5c, 0xa9, 0xae, 0x80, 0x5f, 0x1a, 0xac, 0x56, 0x38, 0xb8, 0x04, 0x2b, 0xfd, 0x32, 0xd6,
-	0x38, 0x7c, 0x2e, 0xa4, 0xbf, 0x68, 0xcf, 0xb3, 0x52, 0x37, 0xd3, 0x98, 0x6a, 0x8a, 0x8e, 0xf3,
-	0x76, 0x31, 0x35, 0x81, 0xe4, 0xa6, 0x55, 0x6b, 0xb9, 0x97, 0x5a, 0xad, 0x0e, 0x89, 0xfa, 0xc3,
-	0xed, 0x54, 0x2f, 0x1b, 0x70, 0x9e, 0x37, 0xe6, 0xea, 0x14, 0xc9, 0xc7, 0x7f, 0xf7, 0xc8, 0xf6,
-	0x5c, 0x8b, 0xb9, 0x54, 0x40, 0x33, 0xb2, 0x11, 0xdc, 0xac, 0x37, 0xee, 0x4d, 0x86, 0x27, 0x87,
-	0x59, 0xba, 0x59, 0x97, 0x2c, 0x7b, 0xd3, 0x71, 0x73, 0x8c, 0xa3, 0x2f, 0x48, 0xbf, 0xbb, 0x05,
-	0x5b, 0x1b, 0xf7, 0x26, 0xa3, 0x93, 0x71, 0xc7, 0xe9, 0x06, 0x14, 0xca, 0x67, 0x73, 0x2d, 0xce,
-	0x52, 0x5c, 0xbe, 0x62, 0xd0, 0x87, 0x64, 0x18, 0xe6, 0xd0, 0x80, 0x73, 0x5c, 0x00, 0x5b, 0x1f,
-	0xf7, 0x26, 0x83, 0x9c, 0xd4, 0x5a, 0xbc, 0x8a, 0x08, 0x7d, 0x43, 0xf6, 0x9c, 0x6e, 0x6d, 0x09,
-	0x45, 0xad, 0x4b, 0xbc, 0x30, 0xdb, 0xc0, 0xce, 0xbe, 0xc9, 0x6e, 0x78, 0x90, 0xec, 0x0c, 0x39,
-	0xf3, 0x44, 0xc9, 0x47, 0xee, 0x9a, 0x7d, 0xfc, 0x07, 0x19, 0x5d, 0x8f, 0xa0, 0x94, 0x6c, 0x2c,
-	0x64, 0x1d, 0xaf, 0x3d, 0xc8, 0xf1, 0x1c, 0xb0, 0x5a, 0x2a, 0xc0, 0x6b, 0xad, 0xe7, 0x78, 0xa6,
-	0x9f, 0x93, 0xdd, 0x45, 0xab, 0xca, 0xc0, 0x29, 0x14, 0x6f, 0xba, 0x96, 0x77, 0x3a, 0xf0, 0x17,
-	0xde, 0xc0, 0x71, 0x4e, 0xf6, 0x62, 0xfa, 0x1c, 0x16, 0x60, 0x41, 0x95, 0x40, 0x3f, 0x25, 0xc4,
-	0x82, 0xd1, 0x4e, 0x7a, 0x6d, 0x97, 0xa9, 0xca, 0xbf, 0x90, 0x30, 0x08, 0x0b, 0x97, 0xd2, 0x85,
-	0xbc, 0xb2, 0xc2, 0x92, 0x18, 0x10, 0xa1, 0x59, 0x75, 0xfc, 0xd7, 0x80, 0x90, 0x3c, 0xaa, 0x72,
-	0xae, 0x05, 0xbd, 0x47, 0xb6, 0xb8, 0x31, 0x21, 0x34, 0xe6, 0xda, 0xe4, 0xc6, 0xcc, 0x2a, 0x7a,
-	0x44, 0x06, 0x8d, 0xae, 0xda, 0x1a, 0x82, 0xe7, 0x11, 0x7a, 0xfa, 0x11, 0x98, 0x55, 0xf4, 0x01,
-	0x21, 0x97, 0x60, 0xaf, 0x97, 0x18, 0x24, 0x24, 0xba, 0x3b, 0xd9, 0xcb, 0x2a, 0xdd, 0x6b, 0x90,
-	0x90, 0x59, 0x45, 0x47, 0x64, 0x4d, 0x1a, 0x1c, 0xfe, 0x20, 0x5f, 0x93, 0x86, 0x3e, 0x27, 0xc4,
-	0x79, 0x6e, 0x7d, 0x81, 0x72, 0xd9, 0xba, 0x55, 0x2e, 0x03, 0x8c, 0x0e, 0x36, 0xfd, 0x8e, 0xf4,
-	0x41, 0x55, 0x91, 0xb8, 0x7d, 0x2b, 0x71, 0x1b, 0x54, 0x85, 0xb4, 0x67, 0x64, 0xbb, 0xe6, 0x1e,
-	0x54, 0xb9, 0x64, 0x7d, 0x64, 0x1d, 0xfc, 0x87, 0xf5, 0x73, 0xfa, 0x15, 0x79, 0x17, 0x19, 0x06,
-	0xdb, 0x80, 0xe0, 0x45, 0xb9, 0x2c, 0x6b, 0x70, 0x6c, 0x80, 0x6f, 0x49, 0x02, 0xf4, 0x13, 0x22,
-	0xf4, 0x3e, 0xd9, 0x6a, 0xc0, 0x5f, 0xe8, 0x8a, 0x11, 0xbc, 0x5b, 0xb2, 0xe8, 0x21, 0xe9, 0x5b,
-	0x88, 0xba, 0x61, 0xc3, 0x38, 0xc9, 0xce, 0xa6, 0x9f, 0x91, 0x9d, 0x0b, 0xef, 0x4d, 0x91, 0x86,
-	0xc7, 0x76, 0xd0, 0x3f, 0x0c, 0xd8, 0x6f, 0x11, 0x0a, 0x69, 0x9d, 0xe7, 0xbe, 0x75, 0x6c, 0x77,
-	0xdc, 0x9b, 0x6c, 0xe6, 0xc9, 0x0a, 0x02, 0xb2, 0xe0, 0x8c, 0x56, 0x0e, 0x0a, 0x27, 0x3f, 0x00,
-	0x1b, 0x61, 0x47, 0x3b, 0x1d, 0x78, 0x26, 0x3f, 0x40, 0xac, 0xbd, 0x00, 0x6b, 0xc1, 0xb2, 0xbd,
-	0xae, 0x76, 0xb4, 0xc3, 0x33, 0xb5, 0x0e, 0x6c, 0xc1, 0x05, 0x28, 0xcf, 0xf6, 0xe3, 0x33, 0x05,
-	0xe4, 0xc7, 0x00, 0x04, 0xaa, 0x92, 0xe5, 0x5b, 0xd4, 0xe6, 0x24, 0x52, 0x3b, 0x9b, 0x1e, 0x93,
-	0xdd, 0xd6, 0xd6, 0x45, 0xc3, 0x4d, 0x01, 0xca, 0xdb, 0x25, 0xbb, 0x13, 0xfb, 0x6e, 0x6d, 0xfd,
-	0x8a, 0x9b, 0xd3, 0x00, 0x05, 0xd1, 0x5f, 0x68, 0xe7, 0xd9, 0xdd, 0xf8, 0x11, 0xc2, 0x39, 0x60,
-	0x65, 0xc0, 0xee, 0x8d, 0x7b, 0x93, 0x5e, 0x8e, 0x67, 0xfa, 0x98, 0xec, 0x79, 0xee, 0xde, 0x16,
-	0xef, 0x5a, 0x68, 0x21, 0x7e, 0x85, 0xfb, 0x48, 0xd9, 0x0d, 0xf0, 0xaf, 0x01, 0x0d, 0x7f, 0x21,
-	0x28, 0x12, 0xe3, 0x30, 0xe2, 0xff, 0xb1, 0xa1, 0x00, 0xa0, 0x33, 0x23, 0xff, 0x7b, 0xcf, 0x5d,
-	0x51, 0x6b, 0x5e, 0x49, 0x25, 0x8a, 0x24, 0x36, 0xc6, 0xc6, 0xbd, 0x49, 0x3f, 0xbf, 0xf3, 0x9e,
-	0xbb, 0x79, 0xf4, 0x24, 0xe1, 0xd3, 0x17, 0x64, 0xc7, 0x80, 0xc2, 0x58, 0x14, 0xcf, 0xc1, 0x6d,
-	0x32, 0x18, 0xa6, 0x70, 0xd4, 0xcf, 0x23, 0x32, 0x92, 0xca, 0x79, 0xae, 0x4a, 0x28, 0xa4, 0xaa,
-	0xe0, 0x4f, 0x76, 0x88, 0x4f, 0xb3, 0xdb, 0xa1, 0xb3, 0x00, 0x86, 0x09, 0x2e, 0xa4, 0x92, 0xee,
-	0x02, 0x2a, 0x76, 0x84, 0x9d, 0xac, 0x6c, 0x7a, 0x97, 0x6c, 0x2e, 0xa4, 0x75, 0x9e, 0x7d, 0x8d,
-	0x8e, 0x68, 0x04, 0x8d, 0x5d, 0x25, 0xae, 0xd8, 0x27, 0xf1, 0xf3, 0xae, 0xb2, 0x56, 0xf4, 0xfb,
-	0xb4, 0x49, 0x1e, 0x8c, 0xd7, 0x27, 0xc3, 0x93, 0x2f, 0x6e, 0x5c, 0x5d, 0x69, 0x11, 0xa7, 0x7d,
-	0xf3, 0x84, 0xd0, 0xf0, 0xcf, 0x63, 0x58, 0x61, 0xa1, 0x06, 0xee, 0x80, 0x3d, 0xc6, 0x0a, 0xfb,
-	0xdc, 0x98, 0x53, 0x74, 0xe4, 0x11, 0xa7, 0x07, 0xa4, 0xef, 0x2d, 0x8f, 0x5d, 0x7c, 0x89, 0x31,
-	0xdb, 0x68, 0xcf, 0x2a, 0xfa, 0x3b, 0xd9, 0x4f, 0x8b, 0xd4, 0x76, 0x4b, 0x89, 0x7d, 0x85, 0xed,
-	0x3c, 0xf9, 0x88, 0x4d, 0xba, 0x5a, 0x64, 0x79, 0x5a, 0xc7, 0x2b, 0xe0, 0xe5, 0xb7, 0xe4, 0x61,
-	0xa9, 0x9b, 0x9b, 0x72, 0xbc, 0xdc, 0xbb, 0x5a, 0x5c, 0xaf, 0xc3, 0x13, 0xbd, 0xee, 0x9d, 0x6f,
-	0xe1, 0x5b, 0x3d, 0xfb, 0x27, 0x00, 0x00, 0xff, 0xff, 0x11, 0x12, 0x95, 0x58, 0xa5, 0x07, 0x00,
-	0x00,
+	// 921 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0x7f, 0x6f, 0x1c, 0x35,
+	0x10, 0xd5, 0xe6, 0xe7, 0x9d, 0x2f, 0xb9, 0xa4, 0xa6, 0x2d, 0x4e, 0x42, 0x9b, 0x23, 0xd0, 0x70,
+	0x40, 0xd9, 0x53, 0x53, 0x21, 0x81, 0xe8, 0x3f, 0x04, 0xfa, 0xc7, 0x49, 0x57, 0x54, 0x36, 0x15,
+	0x48, 0x48, 0x68, 0xe5, 0xee, 0xce, 0x6d, 0xac, 0xee, 0xda, 0xae, 0xed, 0xbd, 0xf6, 0xfa, 0x41,
+	0xf8, 0x98, 0x7c, 0x06, 0xe4, 0xb1, 0xf7, 0x4a, 0x00, 0x25, 0xfc, 0xb7, 0xf3, 0xe6, 0xbd, 0xf1,
+	0xd8, 0x7e, 0x9e, 0x25, 0x5f, 0x55, 0x4a, 0x55, 0x35, 0x4c, 0xb8, 0xd6, 0x20, 0x2b, 0x21, 0x61,
+	0x52, 0xab, 0xaa, 0x12, 0xb2, 0x9a, 0x2c, 0x1e, 0x4d, 0x0c, 0xbc, 0x6e, 0xc1, 0xba, 0xbc, 0x56,
+	0x55, 0xaa, 0x8d, 0x72, 0x8a, 0x1e, 0x05, 0x7a, 0xba, 0xa2, 0xa7, 0x91, 0x9e, 0x2e, 0x1e, 0x1d,
+	0x9e, 0xc6, 0x5a, 0x5d, 0x05, 0xb7, 0xd4, 0x18, 0xe4, 0x16, 0x16, 0x60, 0x84, 0x5b, 0x86, 0x22,
+	0x87, 0xf7, 0x23, 0x0f, 0xa3, 0x97, 0xed, 0x7c, 0x52, 0xb6, 0x86, 0x3b, 0xa1, 0x64, 0xcc, 0x1f,
+	0xff, 0x33, 0xef, 0x44, 0x03, 0xd6, 0xf1, 0x46, 0x07, 0xc2, 0xc9, 0x9f, 0x09, 0xd9, 0x9e, 0xa9,
+	0x6a, 0x26, 0x24, 0xd0, 0x94, 0x6c, 0xf8, 0x34, 0x4b, 0x46, 0xc9, 0x78, 0x70, 0x76, 0x98, 0xc6,
+	0x06, 0x3b, 0x6d, 0xfa, 0xa2, 0xd3, 0x66, 0xc8, 0xa3, 0x4f, 0x48, 0xaf, 0x6b, 0x87, 0xad, 0x8d,
+	0x92, 0xf1, 0xf0, 0x6c, 0xd4, 0x69, 0xba, 0xad, 0xf8, 0xbe, 0xd3, 0x99, 0xaa, 0x2e, 0x22, 0x2f,
+	0x5b, 0x29, 0xe8, 0x31, 0x19, 0xf8, 0x0d, 0x35, 0x60, 0x2d, 0xaf, 0x80, 0xad, 0x8f, 0x92, 0x71,
+	0x3f, 0x23, 0xb5, 0xaa, 0x9e, 0x05, 0x84, 0xbe, 0x20, 0x7b, 0x56, 0xb5, 0xa6, 0x80, 0xbc, 0x56,
+	0x05, 0x6e, 0x8a, 0x6d, 0x60, 0x67, 0x5f, 0xa6, 0xd7, 0x1c, 0x5d, 0x7a, 0x81, 0x9a, 0x59, 0x94,
+	0x64, 0x43, 0x7b, 0x25, 0x3e, 0xf9, 0x9d, 0x0c, 0xaf, 0x32, 0x28, 0x25, 0x1b, 0x73, 0x51, 0x87,
+	0x6d, 0xf7, 0x33, 0xfc, 0xf6, 0x58, 0x2d, 0x24, 0xe0, 0xb6, 0xd6, 0x33, 0xfc, 0xa6, 0x9f, 0x90,
+	0xdd, 0x79, 0x2b, 0x0b, 0xaf, 0xc9, 0x25, 0x6f, 0xba, 0x96, 0x77, 0x3a, 0xf0, 0x27, 0xde, 0xc0,
+	0x49, 0x46, 0xf6, 0x42, 0xf9, 0x0c, 0xe6, 0x60, 0x40, 0x16, 0x40, 0xef, 0x13, 0x62, 0x40, 0x2b,
+	0x2b, 0x9c, 0x32, 0xcb, 0xb8, 0xca, 0xdf, 0x10, 0x7f, 0x10, 0x06, 0x16, 0xc2, 0xfa, 0xba, 0xa2,
+	0xc4, 0x25, 0x91, 0x10, 0xa0, 0x69, 0x79, 0xf2, 0x47, 0x9f, 0x90, 0x2c, 0xf8, 0x67, 0xa6, 0x2a,
+	0x7a, 0x87, 0x6c, 0x71, 0xad, 0x3d, 0x35, 0xd4, 0xda, 0xe4, 0x5a, 0x4f, 0x4b, 0x7a, 0x44, 0xfa,
+	0x8d, 0x2a, 0xdb, 0x1a, 0x7c, 0xe6, 0x01, 0x66, 0x7a, 0x01, 0x98, 0x96, 0xf4, 0x1e, 0x21, 0x0b,
+	0x30, 0x57, 0x97, 0xe8, 0x47, 0x24, 0xa4, 0x3b, 0x83, 0x8a, 0x32, 0xee, 0xab, 0x1f, 0x91, 0x69,
+	0x49, 0x87, 0x64, 0x4d, 0x68, 0x3c, 0xfc, 0x7e, 0xb6, 0x26, 0x34, 0xfd, 0x96, 0x10, 0xeb, 0xb8,
+	0x71, 0x39, 0xda, 0x65, 0xeb, 0x46, 0xbb, 0xf4, 0x91, 0xed, 0x63, 0xfa, 0x35, 0xe9, 0x81, 0x2c,
+	0x83, 0x70, 0xfb, 0x46, 0xe1, 0x36, 0xc8, 0x12, 0x65, 0x8f, 0xc9, 0x76, 0xcd, 0x1d, 0xc8, 0x62,
+	0xc9, 0x7a, 0xa8, 0x3a, 0xf8, 0x97, 0xea, 0xc7, 0xe8, 0xfc, 0xac, 0x63, 0xfa, 0x83, 0x6d, 0xa0,
+	0xe2, 0x79, 0xb1, 0x2c, 0x6a, 0xb0, 0xac, 0x8f, 0x77, 0x49, 0x3c, 0xf4, 0x03, 0x22, 0xf4, 0x2e,
+	0xd9, 0x6a, 0xc0, 0x5d, 0xaa, 0x92, 0x11, 0xdc, 0x5b, 0x8c, 0xe8, 0x21, 0xe9, 0x19, 0x08, 0xbe,
+	0x61, 0x83, 0x70, 0x92, 0x5d, 0x4c, 0x3f, 0x26, 0x3b, 0x97, 0xce, 0xe9, 0x3c, 0x1e, 0x1e, 0xdb,
+	0xc1, 0xfc, 0xc0, 0x63, 0xbf, 0x04, 0xc8, 0x97, 0xb5, 0x8e, 0xbb, 0xd6, 0xb2, 0xdd, 0x51, 0x32,
+	0xde, 0xcc, 0x62, 0xe4, 0x0d, 0x64, 0xc0, 0x6a, 0x25, 0x2d, 0xe4, 0x56, 0xbc, 0x03, 0x36, 0xc4,
+	0x8e, 0x76, 0x3a, 0xf0, 0x42, 0xbc, 0x83, 0xb0, 0xf6, 0x1c, 0x8c, 0x01, 0xc3, 0xf6, 0xba, 0xb5,
+	0x43, 0xec, 0xaf, 0xa9, 0xb5, 0x60, 0x72, 0x5e, 0x81, 0x74, 0x6c, 0x3f, 0x5c, 0x93, 0x47, 0xbe,
+	0xf7, 0x80, 0x97, 0x4a, 0x51, 0xbc, 0x42, 0x6f, 0x8e, 0x83, 0xb4, 0x8b, 0xe9, 0x09, 0xd9, 0x6d,
+	0x4d, 0x9d, 0x37, 0x5c, 0xe7, 0x20, 0x9d, 0x59, 0xb2, 0x5b, 0xa1, 0xef, 0xd6, 0xd4, 0xcf, 0xb8,
+	0x7e, 0xea, 0x21, 0x6f, 0xfa, 0x4b, 0x65, 0x1d, 0xbb, 0x1d, 0x1e, 0x82, 0xff, 0xf6, 0x58, 0xe1,
+	0xb1, 0x3b, 0xa3, 0x64, 0x9c, 0x64, 0xf8, 0x4d, 0x4f, 0xc9, 0x9e, 0xe3, 0xf6, 0x55, 0xfe, 0xba,
+	0x85, 0x16, 0xc2, 0x53, 0xb8, 0x8b, 0x92, 0x5d, 0x0f, 0xff, 0xec, 0x51, 0xff, 0x16, 0xbc, 0x23,
+	0x91, 0x87, 0x8c, 0x0f, 0x43, 0x43, 0x1e, 0xc0, 0x64, 0x4a, 0x3e, 0x78, 0xc3, 0x6d, 0x5e, 0x2b,
+	0x5e, 0x0a, 0x59, 0xe5, 0xd1, 0x6c, 0x8c, 0x8d, 0x92, 0x71, 0x2f, 0xbb, 0xf5, 0x86, 0xdb, 0x59,
+	0xc8, 0x44, 0xe3, 0xd3, 0x27, 0x64, 0x47, 0x83, 0x44, 0x2e, 0x9a, 0xe7, 0xe0, 0x26, 0x1b, 0x0c,
+	0x22, 0x1d, 0xfd, 0xf3, 0x80, 0x0c, 0x85, 0xb4, 0x8e, 0xcb, 0x02, 0x72, 0x21, 0x4b, 0x78, 0xcb,
+	0x0e, 0xf1, 0x6a, 0x76, 0x3b, 0x74, 0xea, 0x41, 0x7f, 0x82, 0x73, 0x21, 0x85, 0xbd, 0x84, 0x92,
+	0x1d, 0x61, 0x27, 0xab, 0x98, 0xde, 0x26, 0x9b, 0x73, 0x61, 0xac, 0x63, 0x5f, 0x60, 0x22, 0x04,
+	0xde, 0x63, 0xef, 0x0b, 0x97, 0xec, 0xa3, 0xf0, 0x78, 0x57, 0x55, 0x4b, 0xfa, 0x4d, 0x9c, 0x24,
+	0xf7, 0x46, 0xeb, 0xe3, 0xc1, 0xd9, 0xa7, 0xd7, 0x8e, 0xae, 0x38, 0x88, 0xe3, 0xbc, 0x79, 0x48,
+	0xa8, 0x7f, 0xe7, 0x81, 0x96, 0x1b, 0xa8, 0x81, 0x5b, 0x60, 0xa7, 0xb8, 0xc2, 0x3e, 0xd7, 0xfa,
+	0x29, 0x26, 0xb2, 0x80, 0xd3, 0x03, 0xd2, 0x73, 0x86, 0x87, 0x2e, 0x3e, 0x43, 0xce, 0x36, 0xc6,
+	0xd3, 0x92, 0xfe, 0x4a, 0xf6, 0xe3, 0x20, 0x35, 0xdd, 0x50, 0x62, 0x9f, 0x63, 0x3b, 0x0f, 0xff,
+	0xc7, 0x24, 0x5d, 0x0d, 0xb2, 0x2c, 0x8e, 0xe3, 0x15, 0x70, 0xfe, 0x96, 0x1c, 0x17, 0xaa, 0xb9,
+	0xae, 0xc6, 0xf9, 0xde, 0xfb, 0xc1, 0xf5, 0xdc, 0x5f, 0xd1, 0xf3, 0xe4, 0xb7, 0xf3, 0xc8, 0xaf,
+	0x54, 0xcd, 0x65, 0x95, 0x2a, 0x53, 0x4d, 0x2a, 0x90, 0x78, 0x81, 0x93, 0x90, 0xe2, 0x5a, 0xd8,
+	0xff, 0xfc, 0x8d, 0x7e, 0x17, 0x3f, 0x5f, 0x6e, 0x21, 0xfd, 0xf1, 0x5f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x05, 0xf7, 0x68, 0xa8, 0x74, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/logging/v1/request_log.proto b/googleapis/appengine/logging/v1/request_log.proto
deleted file mode 100644
index 50f0bdc1..00000000
--- a/googleapis/appengine/logging/v1/request_log.proto
+++ /dev/null
@@ -1,189 +0,0 @@
-// 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.appengine.logging.v1;
-
-import "google.golang.org/genproto/googleapis/logging/type/log_severity.proto"; // from google/logging/type/log_severity.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "RequestLogProto";
-option java_package = "com.google.appengine.logging.v1";
-
-
-// Application log line emitted while processing a request.
-message LogLine {
-  // Approximate time when this log entry was made.
-  google.protobuf.Timestamp time = 1;
-
-  // Severity of this log entry.
-  google.logging.type.LogSeverity severity = 2;
-
-  // App-provided log message.
-  string log_message = 3;
-
-  // Where in the source code this log message was written.
-  SourceLocation source_location = 4;
-}
-
-// Specifies a location in a source code file.
-message SourceLocation {
-  // Source file name. Depending on the runtime environment, this might be a
-  // simple name or a fully-qualified name.
-  string file = 1;
-
-  // Line within the source file.
-  int64 line = 2;
-
-  // Human-readable name of the function or method being invoked, with optional
-  // context such as the class or package name. This information is used in
-  // contexts such as the logs viewer, where a file and line number are less
-  // meaningful. The format can vary by language. For example:
-  // `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
-  // (Python).
-  string function_name = 3;
-}
-
-// A reference to a particular snapshot of the source tree used to build and
-// deploy an application.
-message SourceReference {
-  // Optional. A URI string identifying the repository.
-  // Example: "https://github.com/GoogleCloudPlatform/kubernetes.git"
-  string repository = 1;
-
-  // The canonical and persistent identifier of the deployed revision.
-  // Example (git): "0035781c50ec7aa23385dc841529ce8a4b70db1b"
-  string revision_id = 2;
-}
-
-// Complete log information about a single HTTP request to an App Engine
-// application.
-message RequestLog {
-  // Application that handled this request.
-  string app_id = 1;
-
-  // Module of the application that handled this request.
-  string module_id = 37;
-
-  // Version of the application that handled this request.
-  string version_id = 2;
-
-  // Globally unique identifier for a request, which is based on the request
-  // start time.  Request IDs for requests which started later will compare
-  // greater as strings than those for requests which started earlier.
-  string request_id = 3;
-
-  // Origin IP address.
-  string ip = 4;
-
-  // Time when the request started.
-  google.protobuf.Timestamp start_time = 6;
-
-  // Time when the request finished.
-  google.protobuf.Timestamp end_time = 7;
-
-  // Latency of the request.
-  google.protobuf.Duration latency = 8;
-
-  // Number of CPU megacycles used to process request.
-  int64 mega_cycles = 9;
-
-  // Request method. Example: `"GET"`, `"HEAD"`, `"PUT"`, `"POST"`, `"DELETE"`.
-  string method = 10;
-
-  // Contains the path and query portion of the URL that was requested. For
-  // example, if the URL was "http://example.com/app?name=val", the resource
-  // would be "/app?name=val".  The fragment identifier, which is identified by
-  // the `#` character, is not included.
-  string resource = 11;
-
-  // HTTP version of request. Example: `"HTTP/1.1"`.
-  string http_version = 12;
-
-  // HTTP response status code. Example: 200, 404.
-  int32 status = 13;
-
-  // Size in bytes sent back to client by request.
-  int64 response_size = 14;
-
-  // Referrer URL of request.
-  string referrer = 15;
-
-  // User agent that made the request.
-  string user_agent = 16;
-
-  // The logged-in user who made the request.
-  //
-  // Most likely, this is the part of the user's email before the `@` sign.  The
-  // field value is the same for different requests from the same user, but
-  // different users can have similar names.  This information is also
-  // available to the application via the App Engine Users API.
-  //
-  // This field will be populated starting with App Engine 1.9.21.
-  string nickname = 40;
-
-  // File or class that handled the request.
-  string url_map_entry = 17;
-
-  // Internet host and port number of the resource being requested.
-  string host = 20;
-
-  // An indication of the relative cost of serving this request.
-  double cost = 21;
-
-  // Queue name of the request, in the case of an offline request.
-  string task_queue_name = 22;
-
-  // Task name of the request, in the case of an offline request.
-  string task_name = 23;
-
-  // Whether this was a loading request for the instance.
-  bool was_loading_request = 24;
-
-  // Time this request spent in the pending request queue.
-  google.protobuf.Duration pending_time = 25;
-
-  // If the instance processing this request belongs to a manually scaled
-  // module, then this is the 0-based index of the instance. Otherwise, this
-  // value is -1.
-  int32 instance_index = 26;
-
-  // Whether this request is finished or active.
-  bool finished = 27;
-
-  // Whether this is the first `RequestLog` entry for this request.  If an
-  // active request has several `RequestLog` entries written to Stackdriver
-  // Logging, then this field will be set for one of them.
-  bool first = 42;
-
-  // An identifier for the instance that handled the request.
-  string instance_id = 28;
-
-  // A list of log lines emitted by the application while serving this request.
-  repeated LogLine line = 29;
-
-  // App Engine release version.
-  string app_engine_release = 38;
-
-  // Stackdriver Trace identifier for this request.
-  string trace_id = 39;
-
-  // Source code for the application that handled this request. There can be
-  // more than one source reference per deployed application if source code is
-  // distributed among multiple repositories.
-  repeated SourceReference source_reference = 41;
-}
diff --git a/googleapis/appengine/v1/app_yaml.pb.go b/googleapis/appengine/v1/app_yaml.pb.go
index 28b4cec4..7d565528 100644
--- a/googleapis/appengine/v1/app_yaml.pb.go
+++ b/googleapis/appengine/v1/app_yaml.pb.go
@@ -1,13 +1,76 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto
+// source: google/appengine/v1/app_yaml.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+/*
+Package appengine is a generated protocol buffer package.
+
+It is generated from these files:
+	google/appengine/v1/app_yaml.proto
+	google/appengine/v1/appengine.proto
+	google/appengine/v1/application.proto
+	google/appengine/v1/deploy.proto
+	google/appengine/v1/instance.proto
+	google/appengine/v1/location.proto
+	google/appengine/v1/operation.proto
+	google/appengine/v1/service.proto
+	google/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 appengine
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -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,42 @@ 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} }
+
+func (m *ApiConfigHandler) GetAuthFailAction() AuthFailAction {
+	if m != nil {
+		return m.AuthFailAction
+	}
+	return AuthFailAction_AUTH_FAIL_ACTION_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetLogin() LoginRequirement {
+	if m != nil {
+		return m.Login
+	}
+	return LoginRequirement_LOGIN_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetScript() string {
+	if m != nil {
+		return m.Script
+	}
+	return ""
+}
+
+func (m *ApiConfigHandler) GetSecurityLevel() SecurityLevel {
+	if m != nil {
+		return m.SecurityLevel
+	}
+	return SecurityLevel_SECURE_UNSPECIFIED
+}
+
+func (m *ApiConfigHandler) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
 
 // Custom static error page to be served when an error occurs.
 type ErrorHandler struct {
@@ -235,7 +339,28 @@ 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} }
+
+func (m *ErrorHandler) GetErrorCode() ErrorHandler_ErrorCode {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return ErrorHandler_ERROR_CODE_UNSPECIFIED
+}
+
+func (m *ErrorHandler) GetStaticFile() string {
+	if m != nil {
+		return m.StaticFile
+	}
+	return ""
+}
+
+func (m *ErrorHandler) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
 
 // 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 +393,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()
@@ -295,6 +420,13 @@ func (m *UrlMap) GetHandlerType() isUrlMap_HandlerType {
 	return nil
 }
 
+func (m *UrlMap) GetUrlRegex() string {
+	if m != nil {
+		return m.UrlRegex
+	}
+	return ""
+}
+
 func (m *UrlMap) GetStaticFiles() *StaticFilesHandler {
 	if x, ok := m.GetHandlerType().(*UrlMap_StaticFiles); ok {
 		return x.StaticFiles
@@ -316,6 +448,34 @@ func (m *UrlMap) GetApiEndpoint() *ApiEndpointHandler {
 	return nil
 }
 
+func (m *UrlMap) GetSecurityLevel() SecurityLevel {
+	if m != nil {
+		return m.SecurityLevel
+	}
+	return SecurityLevel_SECURE_UNSPECIFIED
+}
+
+func (m *UrlMap) GetLogin() LoginRequirement {
+	if m != nil {
+		return m.Login
+	}
+	return LoginRequirement_LOGIN_UNSPECIFIED
+}
+
+func (m *UrlMap) GetAuthFailAction() AuthFailAction {
+	if m != nil {
+		return m.AuthFailAction
+	}
+	return AuthFailAction_AUTH_FAIL_ACTION_UNSPECIFIED
+}
+
+func (m *UrlMap) GetRedirectHttpResponseCode() UrlMap_RedirectHttpResponseCode {
+	if m != nil {
+		return m.RedirectHttpResponseCode
+	}
+	return UrlMap_REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*UrlMap) 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 _UrlMap_OneofMarshaler, _UrlMap_OneofUnmarshaler, _UrlMap_OneofSizer, []interface{}{
@@ -445,7 +605,21 @@ 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) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *StaticFilesHandler) GetUploadPathRegex() string {
+	if m != nil {
+		return m.UploadPathRegex
+	}
+	return ""
+}
 
 func (m *StaticFilesHandler) GetHttpHeaders() map[string]string {
 	if m != nil {
@@ -454,6 +628,13 @@ func (m *StaticFilesHandler) GetHttpHeaders() map[string]string {
 	return nil
 }
 
+func (m *StaticFilesHandler) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
+
 func (m *StaticFilesHandler) GetExpiration() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Expiration
@@ -461,6 +642,20 @@ func (m *StaticFilesHandler) GetExpiration() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *StaticFilesHandler) GetRequireMatchingFile() bool {
+	if m != nil {
+		return m.RequireMatchingFile
+	}
+	return false
+}
+
+func (m *StaticFilesHandler) GetApplicationReadable() bool {
+	if m != nil {
+		return m.ApplicationReadable
+	}
+	return false
+}
+
 // Executes a script to handle the request that matches the URL pattern.
 type ScriptHandler struct {
 	// Path to the script from the application root directory.
@@ -470,7 +665,14 @@ 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} }
+
+func (m *ScriptHandler) GetScriptPath() string {
+	if m != nil {
+		return m.ScriptPath
+	}
+	return ""
+}
 
 // Uses Google Cloud Endpoints to handle requests.
 type ApiEndpointHandler struct {
@@ -481,7 +683,14 @@ 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} }
+
+func (m *ApiEndpointHandler) GetScriptPath() string {
+	if m != nil {
+		return m.ScriptPath
+	}
+	return ""
+}
 
 // Health checking configuration for VM instances. Unhealthy instances
 // are killed and replaced with new instances. Only applicable for
@@ -510,7 +719,42 @@ 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) GetDisableHealthCheck() bool {
+	if m != nil {
+		return m.DisableHealthCheck
+	}
+	return false
+}
+
+func (m *HealthCheck) GetHost() string {
+	if m != nil {
+		return m.Host
+	}
+	return ""
+}
+
+func (m *HealthCheck) GetHealthyThreshold() uint32 {
+	if m != nil {
+		return m.HealthyThreshold
+	}
+	return 0
+}
+
+func (m *HealthCheck) GetUnhealthyThreshold() uint32 {
+	if m != nil {
+		return m.UnhealthyThreshold
+	}
+	return 0
+}
+
+func (m *HealthCheck) GetRestartThreshold() uint32 {
+	if m != nil {
+		return m.RestartThreshold
+	}
+	return 0
+}
 
 func (m *HealthCheck) GetCheckInterval() *google_protobuf1.Duration {
 	if m != nil {
@@ -537,7 +781,21 @@ 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 (m *Library) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Library) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*ApiConfigHandler)(nil), "google.appengine.v1.ApiConfigHandler")
@@ -555,89 +813,85 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.UrlMap_RedirectHttpResponseCode", UrlMap_RedirectHttpResponseCode_name, UrlMap_RedirectHttpResponseCode_value)
 }
 
-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,
+func init() { proto.RegisterFile("google/appengine/v1/app_yaml.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 1232 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xdd, 0x6e, 0x13, 0x47,
+	0x14, 0xc6, 0x76, 0x7e, 0x8f, 0x1d, 0xb3, 0x99, 0x00, 0x75, 0x02, 0x94, 0xd4, 0xa8, 0x02, 0x25,
+	0x92, 0x4d, 0x92, 0x56, 0xd0, 0x82, 0xaa, 0x2e, 0xf6, 0xa6, 0xde, 0xca, 0x89, 0xcd, 0xd8, 0xa6,
+	0x82, 0x5e, 0x8c, 0x26, 0xf6, 0xc4, 0x3b, 0x62, 0xbd, 0xbb, 0x9d, 0x1d, 0x47, 0xf8, 0x39, 0xaa,
+	0xbe, 0x07, 0xb7, 0x7d, 0x90, 0x5e, 0xf5, 0x65, 0xaa, 0x99, 0x1d, 0xff, 0x25, 0x0e, 0xa9, 0xb8,
+	0x9b, 0x73, 0xce, 0xf7, 0x9d, 0x9d, 0xf3, 0x3b, 0x0b, 0xc5, 0x7e, 0x18, 0xf6, 0x7d, 0x56, 0xa6,
+	0x51, 0xc4, 0x82, 0x3e, 0x0f, 0x58, 0xf9, 0xe2, 0x40, 0x09, 0x64, 0x44, 0x07, 0x7e, 0x29, 0x12,
+	0xa1, 0x0c, 0xd1, 0x56, 0x82, 0x29, 0x4d, 0x30, 0xa5, 0x8b, 0x83, 0x9d, 0x07, 0x13, 0x22, 0x2f,
+	0xd3, 0x20, 0x08, 0x25, 0x95, 0x3c, 0x0c, 0xe2, 0x84, 0xb2, 0xf3, 0xb5, 0xb1, 0x6a, 0xe9, 0x6c,
+	0x78, 0x5e, 0xee, 0x0d, 0x85, 0x06, 0x24, 0xf6, 0xe2, 0x9f, 0x69, 0xb0, 0xec, 0x88, 0x57, 0xc2,
+	0xe0, 0x9c, 0xf7, 0x6b, 0x34, 0xe8, 0xf9, 0x4c, 0xa0, 0x13, 0xb0, 0xe8, 0x50, 0x7a, 0xe4, 0x9c,
+	0x72, 0x9f, 0xd0, 0xae, 0x82, 0x17, 0x52, 0xbb, 0xa9, 0xa7, 0xf9, 0xc3, 0xc7, 0xa5, 0x05, 0x57,
+	0x28, 0xd9, 0x43, 0xe9, 0x1d, 0x53, 0xee, 0xdb, 0x1a, 0x8a, 0xf3, 0x74, 0x4e, 0x46, 0x2f, 0x61,
+	0xd9, 0x0f, 0xfb, 0x3c, 0x28, 0xa4, 0xb5, 0x8f, 0x6f, 0x17, 0xfa, 0xa8, 0x2b, 0x04, 0x66, 0x7f,
+	0x0c, 0xb9, 0x60, 0x03, 0x16, 0x48, 0x9c, 0x70, 0xd0, 0x3d, 0x58, 0x89, 0xbb, 0x82, 0x47, 0xb2,
+	0x90, 0xd9, 0x4d, 0x3d, 0x5d, 0xc7, 0x46, 0x42, 0x2e, 0xe4, 0x63, 0xd6, 0x1d, 0x0a, 0x2e, 0x47,
+	0xc4, 0x67, 0x17, 0xcc, 0x2f, 0x2c, 0x69, 0xef, 0xc5, 0x85, 0xde, 0x5b, 0x06, 0x5a, 0x57, 0x48,
+	0xbc, 0x11, 0xcf, 0x8a, 0xc8, 0x82, 0xcc, 0x50, 0xf8, 0x85, 0x65, 0xed, 0x5f, 0x1d, 0x8b, 0x9f,
+	0xd2, 0x90, 0x73, 0x84, 0x08, 0xc5, 0x38, 0x23, 0xbf, 0x02, 0x30, 0x25, 0x93, 0x6e, 0xd8, 0x63,
+	0x26, 0x17, 0xfb, 0x0b, 0xbf, 0x34, 0x4b, 0x4b, 0x84, 0x4a, 0xd8, 0x63, 0x78, 0x9d, 0x8d, 0x8f,
+	0xe8, 0x11, 0x64, 0x63, 0x55, 0xa4, 0x2e, 0x39, 0xe7, 0x3e, 0xd3, 0x49, 0x59, 0xc7, 0x90, 0xa8,
+	0x8e, 0xb9, 0xcf, 0xd0, 0x7d, 0x58, 0x1f, 0xf0, 0x01, 0x23, 0x72, 0x14, 0x31, 0x13, 0xf5, 0x9a,
+	0x52, 0xb4, 0x47, 0x11, 0x2b, 0xfe, 0x95, 0x82, 0xf5, 0x89, 0x5b, 0xb4, 0x03, 0xf7, 0x1c, 0x8c,
+	0x1b, 0x98, 0x54, 0x1a, 0x55, 0x87, 0x74, 0x4e, 0x5b, 0x4d, 0xa7, 0xe2, 0x1e, 0xbb, 0x4e, 0xd5,
+	0xba, 0x85, 0xee, 0x01, 0x9a, 0xb1, 0x55, 0x9d, 0x63, 0xbb, 0x53, 0x6f, 0x5b, 0xb7, 0xd0, 0x36,
+	0xdc, 0x9d, 0xd1, 0x37, 0xde, 0x3a, 0x98, 0xbc, 0xe9, 0x34, 0xda, 0xb6, 0x95, 0x42, 0x0f, 0x61,
+	0x7b, 0x96, 0xd2, 0x68, 0x11, 0xbb, 0xe9, 0x92, 0xaa, 0x73, 0xea, 0xda, 0x75, 0x2b, 0x7d, 0xc9,
+	0x63, 0xdb, 0x3d, 0x71, 0x1a, 0x9d, 0xb6, 0x95, 0xd9, 0x49, 0x5b, 0xa9, 0xe2, 0xdf, 0x2b, 0xb0,
+	0xd2, 0x11, 0xfe, 0x09, 0x8d, 0xd4, 0xfd, 0x87, 0xc2, 0x27, 0x82, 0xf5, 0xd9, 0x47, 0x9d, 0xab,
+	0x75, 0xbc, 0x36, 0x14, 0x3e, 0x56, 0x32, 0xaa, 0x43, 0x6e, 0x26, 0xfa, 0x58, 0x87, 0x9f, 0x3d,
+	0x7c, 0xb2, 0xb8, 0x6a, 0x93, 0x9c, 0xc4, 0x26, 0xa3, 0xb5, 0x5b, 0x38, 0x3b, 0xcd, 0x54, 0x8c,
+	0x5e, 0xcd, 0x75, 0x47, 0xf6, 0xba, 0xea, 0x6b, 0xc8, 0xd4, 0xc5, 0xb8, 0x87, 0xea, 0x90, 0xa3,
+	0x11, 0x27, 0x2c, 0xe8, 0x45, 0x21, 0x0f, 0xa4, 0xee, 0xa0, 0xeb, 0xee, 0x62, 0x47, 0xdc, 0x31,
+	0xb8, 0x99, 0xbb, 0xd0, 0xa9, 0x76, 0x41, 0x47, 0x2e, 0x7f, 0x69, 0x47, 0x4e, 0x26, 0x66, 0xe5,
+	0x0b, 0x26, 0x66, 0xd1, 0xf4, 0xae, 0x7e, 0xf9, 0xf4, 0xc6, 0x70, 0x5f, 0xb0, 0x1e, 0x17, 0xac,
+	0x2b, 0x89, 0x27, 0x65, 0x44, 0x04, 0x8b, 0xa3, 0x30, 0x88, 0x59, 0x32, 0x0b, 0x6b, 0xda, 0xf3,
+	0x77, 0x0b, 0x3d, 0x27, 0xfd, 0x50, 0xc2, 0x86, 0x5e, 0x93, 0x32, 0xc2, 0x86, 0xac, 0x87, 0xa2,
+	0x20, 0xae, 0xb1, 0x14, 0xff, 0x4d, 0x41, 0xe1, 0x3a, 0x1a, 0xda, 0x87, 0x27, 0xd8, 0xa9, 0xba,
+	0xd8, 0xa9, 0xb4, 0x49, 0xad, 0xdd, 0x6e, 0x12, 0xec, 0xb4, 0x9a, 0x8d, 0xd3, 0x96, 0xb3, 0x68,
+	0x0a, 0x1e, 0xc3, 0xa3, 0xcf, 0x81, 0x8f, 0x9e, 0x1d, 0x58, 0xa9, 0x9b, 0x41, 0x87, 0x56, 0xfa,
+	0x66, 0xd0, 0x91, 0x95, 0xb9, 0x19, 0xf4, 0xdc, 0x5a, 0x7a, 0x9d, 0x87, 0x9c, 0x97, 0xf4, 0x90,
+	0x9e, 0xf1, 0xe2, 0xa7, 0x0c, 0xa0, 0xab, 0xbd, 0x8e, 0x10, 0x2c, 0x45, 0x54, 0x7a, 0x66, 0x84,
+	0xf4, 0x19, 0xed, 0xc1, 0xe6, 0x30, 0xf2, 0x43, 0xda, 0x23, 0x4a, 0x34, 0x33, 0x96, 0xac, 0x90,
+	0xdb, 0x89, 0xa1, 0x49, 0xa5, 0x97, 0x8c, 0xda, 0xef, 0x90, 0xd3, 0x05, 0xf3, 0x18, 0xed, 0x31,
+	0x11, 0x17, 0x32, 0xbb, 0x99, 0xa7, 0xd9, 0xc3, 0x17, 0xff, 0x73, 0xd4, 0x4a, 0x2a, 0xef, 0xb5,
+	0x84, 0xea, 0x04, 0x52, 0x8c, 0x70, 0xd6, 0x9b, 0x6a, 0xe6, 0x97, 0xd4, 0xd2, 0xfc, 0x92, 0x42,
+	0x3f, 0x00, 0xb0, 0x8f, 0x11, 0x4f, 0x5e, 0x1a, 0x3d, 0x06, 0xd9, 0xc3, 0xed, 0xf1, 0x77, 0xc7,
+	0x4f, 0x51, 0xa9, 0x6a, 0x9e, 0x22, 0x3c, 0x03, 0x46, 0x87, 0x70, 0x57, 0x24, 0x3d, 0x4d, 0x06,
+	0x54, 0x76, 0x3d, 0x1e, 0xf4, 0x93, 0x3d, 0xa9, 0x46, 0x61, 0x0d, 0x6f, 0x19, 0xe3, 0x89, 0xb1,
+	0xe9, 0x85, 0x79, 0x00, 0x77, 0x68, 0x14, 0xf9, 0xbc, 0xab, 0x5d, 0x10, 0xc1, 0x68, 0x8f, 0x9e,
+	0xf9, 0x4c, 0x77, 0xfd, 0x1a, 0xde, 0x9a, 0xb1, 0x61, 0x63, 0xda, 0xf9, 0x09, 0xac, 0xcb, 0xf1,
+	0xa9, 0x77, 0xe0, 0x03, 0x1b, 0x99, 0x74, 0xab, 0x23, 0xba, 0x03, 0xcb, 0x17, 0xd4, 0x1f, 0x8e,
+	0x97, 0x74, 0x22, 0xfc, 0x98, 0x7e, 0x91, 0x2a, 0x3e, 0x83, 0x8d, 0xb9, 0xad, 0xa2, 0xb7, 0xba,
+	0x56, 0x90, 0x99, 0x9a, 0x41, 0xa2, 0x52, 0x25, 0x29, 0x7e, 0x0f, 0xe8, 0xea, 0x0e, 0xb9, 0x99,
+	0xf6, 0x4f, 0x1a, 0xb2, 0x35, 0x46, 0x7d, 0xe9, 0x55, 0x3c, 0xd6, 0xfd, 0x80, 0x9e, 0xc1, 0x9d,
+	0x1e, 0x8f, 0x55, 0x0c, 0xaa, 0xae, 0xbe, 0xf4, 0x48, 0x57, 0xe9, 0x35, 0x73, 0x0d, 0x23, 0x63,
+	0x9b, 0x65, 0x20, 0x58, 0xf2, 0xc2, 0x58, 0x9a, 0x18, 0xf4, 0x19, 0xed, 0xc3, 0x66, 0xc2, 0x1e,
+	0x11, 0xe9, 0x09, 0x16, 0x7b, 0xa1, 0xdf, 0xd3, 0x2b, 0x74, 0x03, 0x5b, 0xc6, 0xd0, 0x1e, 0xeb,
+	0x51, 0x19, 0xb6, 0x86, 0xc1, 0x55, 0xf8, 0x92, 0x86, 0xa3, 0x89, 0x69, 0x4a, 0xd8, 0x87, 0x4d,
+	0xc1, 0x62, 0x49, 0x85, 0x9c, 0x81, 0x2f, 0x27, 0xde, 0x8d, 0x61, 0x0a, 0xfe, 0x19, 0xf2, 0x3a,
+	0x02, 0xc2, 0x03, 0xc9, 0xc4, 0x05, 0xf5, 0x75, 0xa5, 0x3f, 0xdb, 0x2f, 0x1b, 0x9a, 0xe0, 0x1a,
+	0x3c, 0x3a, 0x82, 0x55, 0xc9, 0x07, 0x2c, 0x1c, 0x4a, 0x5d, 0xf1, 0xcf, 0x52, 0xc7, 0xc8, 0xe2,
+	0x73, 0x58, 0xad, 0xf3, 0x33, 0x41, 0xc5, 0x48, 0x25, 0x28, 0xa0, 0x03, 0x36, 0x9e, 0x33, 0x75,
+	0x46, 0x05, 0x58, 0xbd, 0x60, 0x22, 0x56, 0xed, 0x9b, 0xe4, 0x6d, 0x2c, 0xee, 0x49, 0xc8, 0xcf,
+	0x6f, 0x4c, 0xb4, 0x0b, 0x0f, 0xec, 0x4e, 0xbb, 0x46, 0x8e, 0x6d, 0xb7, 0x4e, 0xec, 0x4a, 0xdb,
+	0x6d, 0x9c, 0x5e, 0x5a, 0x42, 0x0f, 0x61, 0xfb, 0x0a, 0x62, 0xbc, 0x26, 0xac, 0x14, 0xfa, 0x06,
+	0x1e, 0x2e, 0x70, 0xa0, 0x54, 0x0d, 0xec, 0xbe, 0x77, 0xaa, 0x56, 0x7a, 0xef, 0x0c, 0xac, 0xcb,
+	0xfb, 0x1e, 0xdd, 0x85, 0xcd, 0x7a, 0xe3, 0x17, 0xf7, 0xf2, 0xc7, 0x10, 0xe4, 0x13, 0x75, 0xa3,
+	0xa9, 0x3c, 0xd9, 0x75, 0x2b, 0x85, 0x6e, 0x43, 0x36, 0xd1, 0xd9, 0xd5, 0x13, 0xf7, 0xd4, 0x4a,
+	0x4f, 0x41, 0xd8, 0x79, 0xd3, 0x71, 0xb1, 0x53, 0xb5, 0x32, 0x7b, 0x23, 0xd8, 0x98, 0x7b, 0x95,
+	0xd4, 0x7b, 0xdf, 0x72, 0x2a, 0x1d, 0xec, 0x5c, 0xfd, 0x82, 0xd1, 0x4f, 0xff, 0x2a, 0x2c, 0xc8,
+	0x19, 0xdd, 0xa9, 0xf3, 0xd6, 0xc1, 0x56, 0x0a, 0x6d, 0xc1, 0x6d, 0xa3, 0x99, 0x5c, 0x24, 0x8d,
+	0x36, 0x61, 0xc3, 0x28, 0xed, 0xfa, 0x6f, 0xf6, 0xbb, 0x56, 0xf2, 0xf7, 0xf0, 0xba, 0x0f, 0x5f,
+	0x75, 0xc3, 0xc1, 0xa2, 0xcd, 0xf4, 0x3a, 0x67, 0x47, 0xd1, 0x3b, 0x3a, 0xf0, 0x9b, 0xaa, 0x96,
+	0xcd, 0xd4, 0xfb, 0x57, 0x06, 0xd4, 0x0f, 0x7d, 0x1a, 0xf4, 0x4b, 0xa1, 0xe8, 0x97, 0xfb, 0x2c,
+	0xd0, 0x95, 0x2e, 0x27, 0x26, 0x1a, 0xf1, 0x78, 0xee, 0x3f, 0xfa, 0xe5, 0x44, 0x38, 0x5b, 0xd1,
+	0xc0, 0xa3, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x96, 0x5d, 0x26, 0x6c, 0x6f, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/app_yaml.proto b/googleapis/appengine/v1/app_yaml.proto
deleted file mode 100644
index 47442643..00000000
--- a/googleapis/appengine/v1/app_yaml.proto
+++ /dev/null
@@ -1,284 +0,0 @@
-// 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.appengine.v1;
-
-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 = "AppYamlProto";
-option java_package = "com.google.appengine.v1";
-
-
-// [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/)
-// configuration for API handlers.
-message ApiConfigHandler {
-  // Action to take when users access resources that require
-  // authentication. Defaults to `redirect`.
-  AuthFailAction auth_fail_action = 1;
-
-  // Level of login required to access this resource. Defaults to
-  // `optional`.
-  LoginRequirement login = 2;
-
-  // Path to the script from the application root directory.
-  string script = 3;
-
-  // Security (HTTPS) enforcement for this URL.
-  SecurityLevel security_level = 4;
-
-  // URL to serve the endpoint at.
-  string url = 5;
-}
-
-// Custom static error page to be served when an error occurs.
-message ErrorHandler {
-  // Error codes.
-  enum ErrorCode {
-    option allow_alias = true;
-    // Not specified. ERROR_CODE_DEFAULT is assumed.
-    ERROR_CODE_UNSPECIFIED = 0;
-
-    // All other error types.
-    ERROR_CODE_DEFAULT = 0;
-
-    // Application has exceeded a resource quota.
-    ERROR_CODE_OVER_QUOTA = 1;
-
-    // Client blocked by the application's Denial of Service protection
-    // configuration.
-    ERROR_CODE_DOS_API_DENIAL = 2;
-
-    // Deadline reached before the application responds.
-    ERROR_CODE_TIMEOUT = 3;
-  }
-
-  // Error condition this handler applies to.
-  ErrorCode error_code = 1;
-
-  // Static file content to be served for this error.
-  string static_file = 2;
-
-  // MIME type of file. Defaults to `text/html`.
-  string mime_type = 3;
-}
-
-// 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
-// uploaded with the version, such as images, CSS, or JavaScript.
-message UrlMap {
-  // Redirect codes.
-  enum RedirectHttpResponseCode {
-    // Not specified. `302` is assumed.
-    REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED = 0;
-
-    // `301 Moved Permanently` code.
-    REDIRECT_HTTP_RESPONSE_CODE_301 = 1;
-
-    // `302 Moved Temporarily` code.
-    REDIRECT_HTTP_RESPONSE_CODE_302 = 2;
-
-    // `303 See Other` code.
-    REDIRECT_HTTP_RESPONSE_CODE_303 = 3;
-
-    // `307 Temporary Redirect` code.
-    REDIRECT_HTTP_RESPONSE_CODE_307 = 4;
-  }
-
-  // URL prefix. Uses regular expression syntax, which means regexp
-  // special characters must be escaped, but should not contain groupings.
-  // All URLs that begin with this prefix are handled by this handler, using the
-  // portion of the URL after the prefix as part of the file path.
-  string url_regex = 1;
-
-  // Type of handler for this URL pattern.
-  oneof handler_type {
-    // Returns the contents of a file, such as an image, as the response.
-    StaticFilesHandler static_files = 2;
-
-    // Executes a script to handle the request that matches this URL
-    // pattern.
-    ScriptHandler script = 3;
-
-    // Uses API Endpoints to handle requests.
-    ApiEndpointHandler api_endpoint = 4;
-  }
-
-  // Security (HTTPS) enforcement for this URL.
-  SecurityLevel security_level = 5;
-
-  // Level of login required to access this resource.
-  LoginRequirement login = 6;
-
-  // Action to take when users access resources that require
-  // authentication. Defaults to `redirect`.
-  AuthFailAction auth_fail_action = 7;
-
-  // `30x` code to use when performing redirects for the `secure` field.
-  // Defaults to `302`.
-  RedirectHttpResponseCode redirect_http_response_code = 8;
-}
-
-// Files served directly to the user for a given URL, such as images, CSS
-// stylesheets, or JavaScript source files. Static file handlers describe which
-// files in the application directory are static files, and which URLs serve
-// them.
-message StaticFilesHandler {
-  // Path to the static files matched by the URL pattern, from the
-  // application root directory. The path can refer to text matched in groupings
-  // in the URL pattern.
-  string path = 1;
-
-  // Regular expression that matches the file paths for all files that should be
-  // referenced by this handler.
-  string upload_path_regex = 2;
-
-  // HTTP headers to use for all responses from these URLs.
-  map<string, string> http_headers = 3;
-
-  // MIME type used to serve all files served by this handler.
-  //
-  // Defaults to file-specific MIME types, which are derived from each file's
-  // filename extension.
-  string mime_type = 4;
-
-  // Time a static file served by this handler should be cached
-  // by web proxies and browsers.
-  google.protobuf.Duration expiration = 5;
-
-  // Whether this handler should match the request if the file
-  // referenced by the handler does not exist.
-  bool require_matching_file = 6;
-
-  // Whether files should also be uploaded as code data. By default, files
-  // declared in static file handlers are uploaded as static
-  // data and are only served to end users; they cannot be read by the
-  // application. If enabled, uploads are charged against both your code and
-  // static data storage resource quotas.
-  bool application_readable = 7;
-}
-
-// Executes a script to handle the request that matches the URL pattern.
-message ScriptHandler {
-  // Path to the script from the application root directory.
-  string script_path = 1;
-}
-
-// Uses Google Cloud Endpoints to handle requests.
-message ApiEndpointHandler {
-  // Path to the script from the application root directory.
-  string script_path = 1;
-}
-
-// Health checking configuration for VM instances. Unhealthy instances
-// are killed and replaced with new instances. Only applicable for
-// instances in App Engine flexible environment.
-message HealthCheck {
-  // Whether to explicitly disable health checks for this instance.
-  bool disable_health_check = 1;
-
-  // Host header to send when performing an HTTP health check.
-  // Example: "myapp.appspot.com"
-  string host = 2;
-
-  // Number of consecutive successful health checks required before receiving
-  // traffic.
-  uint32 healthy_threshold = 3;
-
-  // Number of consecutive failed health checks required before removing
-  // traffic.
-  uint32 unhealthy_threshold = 4;
-
-  // Number of consecutive failed health checks required before an instance is
-  // restarted.
-  uint32 restart_threshold = 5;
-
-  // Interval between health checks.
-  google.protobuf.Duration check_interval = 6;
-
-  // Time before the health check is considered failed.
-  google.protobuf.Duration timeout = 7;
-}
-
-// Third-party Python runtime library that is required by the application.
-message Library {
-  // Name of the library. Example: "django".
-  string name = 1;
-
-  // Version of the library to select, or "latest".
-  string version = 2;
-}
-
-// Actions to take when the user is not logged in.
-enum AuthFailAction {
-  // Not specified. `AUTH_FAIL_ACTION_REDIRECT` is assumed.
-  AUTH_FAIL_ACTION_UNSPECIFIED = 0;
-
-  // Redirects user to "accounts.google.com". The user is redirected back to the
-  // application URL after signing in or creating an account.
-  AUTH_FAIL_ACTION_REDIRECT = 1;
-
-  // Rejects request with a `401` HTTP status code and an error
-  // message.
-  AUTH_FAIL_ACTION_UNAUTHORIZED = 2;
-}
-
-// Methods to restrict access to a URL based on login status.
-enum LoginRequirement {
-  // Not specified. `LOGIN_OPTIONAL` is assumed.
-  LOGIN_UNSPECIFIED = 0;
-
-  // Does not require that the user is signed in.
-  LOGIN_OPTIONAL = 1;
-
-  // If the user is not signed in, the `auth_fail_action` is taken.
-  // In addition, if the user is not an administrator for the
-  // application, they are given an error message regardless of
-  // `auth_fail_action`. If the user is an administrator, the handler
-  // proceeds.
-  LOGIN_ADMIN = 2;
-
-  // If the user has signed in, the handler proceeds normally. Otherwise, the
-  // auth_fail_action is taken.
-  LOGIN_REQUIRED = 3;
-}
-
-// Methods to enforce security (HTTPS) on a URL.
-enum SecurityLevel {
-  option allow_alias = true;
-  // Not specified.
-  SECURE_UNSPECIFIED = 0;
-
-  // Both HTTP and HTTPS requests with URLs that match the handler succeed
-  // without redirects. The application can examine the request to determine
-  // which protocol was used, and respond accordingly.
-  SECURE_DEFAULT = 0;
-
-  // Requests for a URL that match this handler that use HTTPS are automatically
-  // redirected to the HTTP equivalent URL.
-  SECURE_NEVER = 1;
-
-  // Both HTTP and HTTPS requests with URLs that match the handler succeed
-  // without redirects. The application can examine the request to determine
-  // which protocol was used and respond accordingly.
-  SECURE_OPTIONAL = 2;
-
-  // Requests for a URL that match this handler that do not use HTTPS are
-  // automatically redirected to the HTTPS URL with the same path. Query
-  // parameters are reserved for the redirect.
-  SECURE_ALWAYS = 3;
-}
diff --git a/googleapis/appengine/v1/appengine.pb.go b/googleapis/appengine/v1/appengine.pb.go
index 478d4a3e..24d32d89 100644
--- a/googleapis/appengine/v1/appengine.pb.go
+++ b/googleapis/appengine/v1/appengine.pb.go
@@ -1,81 +1,18 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/appengine.proto
+// source: google/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"
+package appengine
 
 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/api/annotations"
 import _ "google.golang.org/genproto/googleapis/iam/v1"
 import _ "google.golang.org/genproto/googleapis/iam/v1"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf5 "google.golang.org/genproto/protobuf"
+import google_protobuf5 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -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,14 @@ 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} }
+
+func (m *GetApplicationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for 'Applications.RepairApplication'.
 type RepairApplicationRequest struct {
@@ -141,7 +79,14 @@ 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} }
+
+func (m *RepairApplicationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Services.ListServices`.
 type ListServicesRequest struct {
@@ -156,7 +101,28 @@ 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} }
+
+func (m *ListServicesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListServicesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServicesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Services.ListServices`.
 type ListServicesResponse struct {
@@ -169,7 +135,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 {
@@ -178,6 +144,13 @@ func (m *ListServicesResponse) GetServices() []*Service {
 	return nil
 }
 
+func (m *ListServicesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Services.GetService`.
 type GetServiceRequest struct {
 	// Name of the resource requested. Example: `apps/myapp/services/default`.
@@ -187,7 +160,14 @@ 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} }
+
+func (m *GetServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Services.UpdateService`.
 type UpdateServiceRequest struct {
@@ -216,7 +196,14 @@ 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) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *UpdateServiceRequest) GetService() *Service {
 	if m != nil {
@@ -232,6 +219,13 @@ func (m *UpdateServiceRequest) GetUpdateMask() *google_protobuf5.FieldMask {
 	return nil
 }
 
+func (m *UpdateServiceRequest) GetMigrateTraffic() bool {
+	if m != nil {
+		return m.MigrateTraffic
+	}
+	return false
+}
+
 // Request message for `Services.DeleteService`.
 type DeleteServiceRequest struct {
 	// Name of the resource requested. Example: `apps/myapp/services/default`.
@@ -241,7 +235,14 @@ 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} }
+
+func (m *DeleteServiceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Versions.ListVersions`.
 type ListVersionsRequest struct {
@@ -259,7 +260,35 @@ 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} }
+
+func (m *ListVersionsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetView() VersionView {
+	if m != nil {
+		return m.View
+	}
+	return VersionView_BASIC
+}
+
+func (m *ListVersionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListVersionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Versions.ListVersions`.
 type ListVersionsResponse struct {
@@ -272,7 +301,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 {
@@ -281,6 +310,13 @@ func (m *ListVersionsResponse) GetVersions() []*Version {
 	return nil
 }
 
+func (m *ListVersionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Versions.GetVersion`.
 type GetVersionRequest struct {
 	// Name of the resource requested. Example:
@@ -293,7 +329,21 @@ 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} }
+
+func (m *GetVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetVersionRequest) GetView() VersionView {
+	if m != nil {
+		return m.View
+	}
+	return VersionView_BASIC
+}
 
 // Request message for `Versions.CreateVersion`.
 type CreateVersionRequest struct {
@@ -307,7 +357,14 @@ 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) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -331,7 +388,14 @@ 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) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *UpdateVersionRequest) GetVersion() *Version {
 	if m != nil {
@@ -357,7 +421,14 @@ 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} }
+
+func (m *DeleteVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.ListInstances`.
 type ListInstancesRequest struct {
@@ -373,7 +444,28 @@ 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} }
+
+func (m *ListInstancesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListInstancesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListInstancesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // Response message for `Instances.ListInstances`.
 type ListInstancesResponse struct {
@@ -386,7 +478,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 {
@@ -395,6 +487,13 @@ func (m *ListInstancesResponse) GetInstances() []*Instance {
 	return nil
 }
 
+func (m *ListInstancesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `Instances.GetInstance`.
 type GetInstanceRequest struct {
 	// Name of the resource requested. Example:
@@ -405,7 +504,14 @@ 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} }
+
+func (m *GetInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.DeleteInstance`.
 type DeleteInstanceRequest struct {
@@ -417,7 +523,14 @@ 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} }
+
+func (m *DeleteInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // Request message for `Instances.DebugInstance`.
 type DebugInstanceRequest struct {
@@ -429,7 +542,14 @@ 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 (m *DebugInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*GetApplicationRequest)(nil), "google.appengine.v1.GetApplicationRequest")
@@ -643,7 +763,7 @@ var _Instances_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Versions service
@@ -881,7 +1001,7 @@ var _Versions_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Services service
@@ -1052,7 +1172,7 @@ var _Services_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
+	Metadata: "google/appengine/v1/appengine.proto",
 }
 
 // Client API for Applications service
@@ -1159,86 +1279,82 @@ var _Applications_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/appengine/v1/appengine.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/appengine.proto", fileDescriptor0)
-}
-
-var fileDescriptor0 = []byte{
-	// 1160 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,
+	Metadata: "google/appengine/v1/appengine.proto",
+}
+
+func init() { proto.RegisterFile("google/appengine/v1/appengine.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 1134 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xdf, 0x6f, 0xdb, 0x54,
+	0x14, 0xc6, 0x6d, 0xba, 0x25, 0x27, 0x6b, 0xb6, 0xde, 0xb6, 0x10, 0xbc, 0x76, 0x0a, 0x1e, 0x2c,
+	0xa9, 0xa7, 0xc5, 0x9a, 0x07, 0xd3, 0x48, 0x01, 0xa9, 0xdd, 0xb4, 0x6a, 0x52, 0x11, 0x95, 0xbb,
+	0xed, 0x01, 0x09, 0x55, 0x6e, 0x7a, 0x63, 0x5d, 0x9a, 0xd8, 0xc6, 0x76, 0xb2, 0x6e, 0x10, 0x21,
+	0x31, 0x09, 0x01, 0x8f, 0x1b, 0x0f, 0x3c, 0x20, 0xed, 0x81, 0x7f, 0x86, 0x77, 0xfe, 0x01, 0x1e,
+	0xf8, 0x43, 0x90, 0xaf, 0xef, 0xb5, 0x63, 0xc7, 0xbf, 0x54, 0xc4, 0x5b, 0x7c, 0xef, 0x77, 0xef,
+	0xf9, 0xee, 0x77, 0x3e, 0xfb, 0x9c, 0x1b, 0xb8, 0x6e, 0x58, 0x96, 0x31, 0xc4, 0x8a, 0x6e, 0xdb,
+	0xd8, 0x34, 0x88, 0x89, 0x95, 0xc9, 0xed, 0xe8, 0xa1, 0x6b, 0x3b, 0x96, 0x67, 0xa1, 0xd5, 0x00,
+	0xd4, 0x8d, 0xc6, 0x27, 0xb7, 0xc5, 0x8d, 0x70, 0x25, 0x51, 0x74, 0xd3, 0xb4, 0x3c, 0xdd, 0x23,
+	0x96, 0xe9, 0x06, 0x4b, 0xc4, 0x0f, 0x32, 0xf6, 0x1d, 0x92, 0x3e, 0xc5, 0x31, 0x98, 0x94, 0x06,
+	0x23, 0xa6, 0xeb, 0xe9, 0x66, 0x9f, 0x45, 0x17, 0xdf, 0x4b, 0xc3, 0xb8, 0xd8, 0x99, 0x90, 0x7c,
+	0xc8, 0x04, 0x3b, 0x6e, 0x14, 0xe9, 0x1a, 0x83, 0x10, 0x7d, 0x44, 0x63, 0xe8, 0xa3, 0x23, 0xdb,
+	0x1a, 0x92, 0xfe, 0x73, 0x36, 0x2f, 0xc6, 0xe7, 0x63, 0x73, 0x5c, 0xa4, 0xa1, 0x65, 0x1a, 0xce,
+	0xd8, 0x34, 0x89, 0x69, 0x28, 0x96, 0x8d, 0x9d, 0xd8, 0x89, 0xaf, 0x32, 0x10, 0x7d, 0x3a, 0x1e,
+	0x0f, 0x14, 0x3c, 0xb2, 0x3d, 0xbe, 0x43, 0x2b, 0x39, 0x39, 0x20, 0x78, 0x78, 0x72, 0x34, 0xd2,
+	0xdd, 0xd3, 0x00, 0x21, 0xdd, 0x84, 0xf5, 0x3d, 0xec, 0xed, 0x44, 0x0a, 0x69, 0xf8, 0x9b, 0x31,
+	0x76, 0x3d, 0x84, 0xa0, 0x62, 0xea, 0x23, 0xdc, 0x14, 0x5a, 0x42, 0xa7, 0xa6, 0xd1, 0xdf, 0x52,
+	0x17, 0x9a, 0x1a, 0xb6, 0x75, 0xe2, 0x94, 0xc4, 0x13, 0x58, 0xdd, 0x27, 0xae, 0x77, 0x18, 0x88,
+	0xe6, 0x72, 0xe8, 0xdb, 0x70, 0xc1, 0xd6, 0x1d, 0x6c, 0x7a, 0x0c, 0xcc, 0x9e, 0xd0, 0x55, 0xa8,
+	0xd9, 0xba, 0x81, 0x8f, 0x5c, 0xf2, 0x02, 0x37, 0x17, 0x5a, 0x42, 0x67, 0x49, 0xab, 0xfa, 0x03,
+	0x87, 0xe4, 0x05, 0x46, 0x9b, 0x00, 0x74, 0xd2, 0xb3, 0x4e, 0xb1, 0xd9, 0x5c, 0xa4, 0x0b, 0x29,
+	0xfc, 0xb1, 0x3f, 0x20, 0x9d, 0xc1, 0x5a, 0x3c, 0x94, 0x6b, 0x5b, 0xa6, 0x8b, 0xd1, 0x3d, 0xa8,
+	0xb2, 0x9c, 0xb9, 0x4d, 0xa1, 0xb5, 0xd8, 0xa9, 0xab, 0x1b, 0xdd, 0x14, 0x5b, 0x75, 0xd9, 0x42,
+	0x2d, 0x44, 0xa3, 0x1b, 0x70, 0xd9, 0xc4, 0x67, 0xde, 0xd1, 0x4c, 0xd4, 0x05, 0x1a, 0x75, 0xd9,
+	0x1f, 0x3e, 0x08, 0x23, 0xb7, 0x61, 0x65, 0x0f, 0xf3, 0xc0, 0x79, 0x6a, 0xfc, 0x29, 0xc0, 0xda,
+	0x13, 0xfb, 0x44, 0xf7, 0x70, 0x31, 0x18, 0xdd, 0x85, 0x8b, 0x8c, 0x09, 0x8d, 0x5a, 0x44, 0x9b,
+	0x83, 0xd1, 0x36, 0xd4, 0xc7, 0x34, 0x06, 0x4d, 0x32, 0xd5, 0xa9, 0xae, 0x8a, 0x7c, 0x2d, 0xf7,
+	0x41, 0xf7, 0xa1, 0xef, 0x83, 0xcf, 0x75, 0xf7, 0x54, 0x83, 0x00, 0xee, 0xff, 0x46, 0x6d, 0xb8,
+	0x3c, 0x22, 0x86, 0xe3, 0xaf, 0xf6, 0x1c, 0x7d, 0x30, 0x20, 0xfd, 0x66, 0xa5, 0x25, 0x74, 0xaa,
+	0x5a, 0x83, 0x0d, 0x3f, 0x0e, 0x46, 0x25, 0x19, 0xd6, 0x1e, 0xe0, 0x21, 0x2e, 0x73, 0x12, 0xe9,
+	0x8d, 0x10, 0xb8, 0xe0, 0x69, 0xf0, 0x5e, 0x14, 0xba, 0xe0, 0x43, 0xa8, 0x4c, 0x08, 0x7e, 0x46,
+	0x8f, 0xdd, 0x50, 0x5b, 0xa9, 0xc7, 0x66, 0x7b, 0x3d, 0x25, 0xf8, 0x99, 0x46, 0xd1, 0x71, 0xef,
+	0x2c, 0xe6, 0x7a, 0xa7, 0x92, 0xe1, 0x9d, 0x88, 0x60, 0xe4, 0x1d, 0xf6, 0x32, 0xe7, 0x7b, 0x87,
+	0x2d, 0xd4, 0x42, 0x74, 0x69, 0xef, 0x7c, 0x45, 0xbd, 0xc3, 0xd7, 0xe7, 0xd8, 0xe1, 0x5c, 0xa2,
+	0x48, 0x03, 0x58, 0xbb, 0xef, 0x60, 0xdd, 0xc3, 0x89, 0x08, 0x59, 0xd2, 0xdf, 0x85, 0x8b, 0xec,
+	0x08, 0xb9, 0xa6, 0xe3, 0xbb, 0x71, 0xb0, 0x9f, 0x62, 0xe6, 0xec, 0x12, 0x47, 0x39, 0x67, 0x90,
+	0xff, 0xe4, 0xec, 0xc8, 0xb0, 0xc5, 0x04, 0xa5, 0xaf, 0x03, 0x3b, 0x3c, 0x62, 0xe5, 0xe0, 0x7f,
+	0xfd, 0x6c, 0x7d, 0x07, 0xeb, 0x89, 0x58, 0xcc, 0x7b, 0xdb, 0x50, 0xe3, 0xf5, 0x88, 0x9b, 0x6f,
+	0x33, 0x55, 0x27, 0xbe, 0x54, 0x8b, 0xf0, 0xa5, 0xed, 0xd7, 0x01, 0xb4, 0x87, 0xc3, 0xe0, 0x79,
+	0x9a, 0xdc, 0x84, 0xf5, 0x40, 0xbf, 0x32, 0x60, 0x2a, 0xf6, 0xf1, 0xd8, 0x28, 0x81, 0x95, 0x25,
+	0xa8, 0xcf, 0xf8, 0x16, 0xd5, 0x60, 0x69, 0x77, 0xe7, 0xf0, 0xd1, 0xfd, 0x2b, 0x6f, 0xa1, 0x2a,
+	0x54, 0x1e, 0x3e, 0xd9, 0xdf, 0xbf, 0x22, 0xa8, 0x2f, 0x97, 0xa0, 0x16, 0x2a, 0x84, 0xfe, 0x10,
+	0x60, 0x39, 0xa6, 0x19, 0xda, 0x4a, 0x15, 0x26, 0x2d, 0x87, 0xa2, 0x5c, 0x06, 0x1a, 0xa4, 0x40,
+	0xda, 0xfe, 0xe1, 0xaf, 0x7f, 0x5e, 0x2f, 0x7c, 0x84, 0xee, 0xf8, 0x85, 0xf9, 0xdb, 0x20, 0xd9,
+	0x9f, 0xea, 0xb6, 0xed, 0x2a, 0x32, 0xef, 0x03, 0xfc, 0x9f, 0xfc, 0xa5, 0x57, 0xe4, 0xa9, 0x12,
+	0xa5, 0xe0, 0x95, 0x00, 0xf5, 0x19, 0x6d, 0x51, 0x3b, 0x35, 0xf0, 0xbc, 0xfa, 0x62, 0x7e, 0x96,
+	0x13, 0xa4, 0x7c, 0x09, 0x73, 0x29, 0x45, 0x8c, 0x14, 0x79, 0x8a, 0x7e, 0x13, 0xa0, 0x11, 0x4f,
+	0x23, 0x4a, 0x17, 0x24, 0x35, 0xd7, 0x11, 0xb5, 0x99, 0x86, 0xa4, 0xfb, 0x05, 0x6f, 0x48, 0x38,
+	0x35, 0xf9, 0x5c, 0xd4, 0xde, 0x08, 0xb0, 0x1c, 0x33, 0x4d, 0x46, 0x56, 0xd3, 0x8c, 0x55, 0x44,
+	0xec, 0x01, 0x25, 0xf6, 0x99, 0xf4, 0xf1, 0x39, 0x88, 0xf5, 0x4e, 0xfc, 0x80, 0x3d, 0x41, 0x56,
+	0xff, 0x5e, 0x82, 0x2a, 0x2f, 0x11, 0xe8, 0x57, 0x01, 0x2e, 0xcd, 0xd6, 0x0c, 0xd4, 0xc9, 0x34,
+	0x56, 0xa2, 0xee, 0x89, 0x5b, 0x25, 0x90, 0xcc, 0x81, 0x0a, 0x25, 0xbe, 0x85, 0xda, 0xb9, 0x0e,
+	0x9c, 0x86, 0xdc, 0xd1, 0x4b, 0x01, 0x20, 0x2a, 0x28, 0xe8, 0x46, 0x96, 0xe9, 0xe2, 0x5f, 0x41,
+	0x31, 0xf7, 0x0b, 0x9c, 0x60, 0x51, 0x28, 0xdf, 0x14, 0xbd, 0x16, 0x60, 0x39, 0x56, 0x77, 0x32,
+	0x72, 0x99, 0x56, 0x9b, 0x8a, 0x72, 0x79, 0x8f, 0x92, 0x51, 0xa5, 0xb2, 0x92, 0xf4, 0xc2, 0xfa,
+	0xe1, 0xb3, 0x8a, 0x15, 0xa9, 0x0c, 0x56, 0x69, 0x85, 0xac, 0x24, 0x2b, 0xb5, 0xac, 0x44, 0x11,
+	0xab, 0x5f, 0xa8, 0xef, 0x67, 0x2a, 0x53, 0xa6, 0xef, 0xe7, 0xab, 0x57, 0x11, 0x2b, 0x96, 0x38,
+	0xb9, 0x2c, 0x2b, 0xf5, 0xf7, 0x0a, 0x54, 0x79, 0x07, 0x8d, 0x7e, 0x66, 0x16, 0x0f, 0x07, 0xb2,
+	0x2d, 0x9e, 0x68, 0xf0, 0x73, 0x2c, 0x9e, 0xec, 0xcf, 0xa5, 0xf7, 0x29, 0xc7, 0x6b, 0x68, 0x63,
+	0x3e, 0x9f, 0xd3, 0x90, 0x26, 0x3a, 0xa3, 0xb6, 0x66, 0x8b, 0xb3, 0x6d, 0x1d, 0xef, 0x46, 0xc5,
+	0xdc, 0x96, 0x39, 0x11, 0x39, 0x5d, 0x9d, 0x29, 0xfa, 0x29, 0x74, 0x0d, 0x8f, 0x9e, 0xe7, 0x9a,
+	0x04, 0x81, 0x82, 0xfc, 0xdc, 0xa2, 0x0c, 0xda, 0x6a, 0x2e, 0x83, 0x5e, 0xd8, 0xda, 0x7f, 0xcf,
+	0x9d, 0x92, 0xcf, 0x24, 0xad, 0x31, 0x2f, 0x62, 0xc2, 0xb4, 0x90, 0x73, 0x99, 0xa8, 0xaf, 0x16,
+	0xe0, 0xd2, 0xcc, 0xcd, 0xcf, 0x45, 0xcf, 0xa1, 0x11, 0xbf, 0x3c, 0x66, 0x94, 0x93, 0xd4, 0x1b,
+	0xa6, 0x98, 0xde, 0xc5, 0xce, 0x00, 0xa5, 0x77, 0x29, 0xad, 0x55, 0xb4, 0x92, 0xa4, 0x35, 0x45,
+	0x3f, 0x0a, 0xb0, 0x32, 0x77, 0x17, 0x45, 0xb7, 0x52, 0xb7, 0xcc, 0xba, 0xb3, 0x16, 0xa9, 0x72,
+	0x9d, 0x86, 0xdf, 0x94, 0x9a, 0x73, 0xe1, 0x7b, 0x0e, 0xdd, 0xb2, 0x27, 0xc8, 0xbb, 0x04, 0xde,
+	0xe9, 0x5b, 0xa3, 0xb4, 0xb8, 0xbb, 0x8d, 0x1d, 0xfe, 0x74, 0xe0, 0x77, 0xa7, 0x07, 0xc2, 0x97,
+	0x9f, 0x30, 0x98, 0x61, 0x0d, 0x75, 0xd3, 0xe8, 0x5a, 0x8e, 0xa1, 0x18, 0xd8, 0xa4, 0xbd, 0xab,
+	0x12, 0x4c, 0xe9, 0x36, 0x71, 0x63, 0xff, 0x27, 0x6c, 0x87, 0x0f, 0xc7, 0x17, 0x28, 0xf0, 0xce,
+	0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x89, 0x36, 0x22, 0x8f, 0x3d, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/appengine.proto b/googleapis/appengine/v1/appengine.proto
deleted file mode 100644
index 51b4b57f..00000000
--- a/googleapis/appengine/v1/appengine.proto
+++ /dev/null
@@ -1,340 +0,0 @@
-// 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.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/application.proto"; // from google/appengine/v1/application.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/instance.proto"; // from google/appengine/v1/instance.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/service.proto"; // from google/appengine/v1/service.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/version.proto"; // from google/appengine/v1/version.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 "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 "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AppengineProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Manages instances of a version.
-service Instances {
-  // Lists the instances of a version.
-  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*/services/*/versions/*}/instances" };
-  }
-
-  // Gets instance information.
-  rpc GetInstance(GetInstanceRequest) returns (Instance) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
-  }
-
-  // Stops a running instance.
-  rpc DeleteInstance(DeleteInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*/instances/*}" };
-  }
-
-  // Enables debugging on a VM instance. This allows you to use the SSH
-  // command to connect to the virtual machine where the instance lives.
-  // While in "debug mode", the instance continues to serve live traffic.
-  // You should delete the instance when you are done debugging and then
-  // allow the system to take over and determine if another instance
-  // should be started.
-  //
-  // Only applicable for instances in App Engine flexible environment.
-  rpc DebugInstance(DebugInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{name=apps/*/services/*/versions/*/instances/*}:debug" body: "*" };
-  }
-}
-
-// Manages versions of a service.
-service Versions {
-  // Lists the versions of a service.
-  rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*/services/*}/versions" };
-  }
-
-  // Gets the specified Version resource.
-  // By default, only a `BASIC_VIEW` will be returned.
-  // Specify the `FULL_VIEW` parameter to get the full resource.
-  rpc GetVersion(GetVersionRequest) returns (Version) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*/versions/*}" };
-  }
-
-  // Deploys code and resource files to a new version.
-  rpc CreateVersion(CreateVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{parent=apps/*/services/*}/versions" body: "version" };
-  }
-
-  // Updates the specified Version resource.
-  // You can specify the following fields depending on the App Engine
-  // environment and type of scaling that the version resource uses:
-  //
-  // * [`serving_status`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.serving_status):
-  //   For Version resources that use basic scaling, manual scaling, or run in
-  //   the App Engine flexible environment.
-  // * [`instance_class`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.instance_class):
-  //   For Version resources that run in the App Engine standard environment.
-  // * [`automatic_scaling.min_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
-  //   For Version resources that use automatic scaling and run in the App
-  //   Engine standard environment.
-  // * [`automatic_scaling.max_idle_instances`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#Version.FIELDS.automatic_scaling):
-  //   For Version resources that use automatic scaling and run in the App
-  //   Engine standard environment.
-  rpc UpdateVersion(UpdateVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { patch: "/v1/{name=apps/*/services/*/versions/*}" body: "version" };
-  }
-
-  // Deletes an existing Version resource.
-  rpc DeleteVersion(DeleteVersionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*/versions/*}" };
-  }
-}
-
-// Manages services of an application.
-service Services {
-  // Lists all the services in the application.
-  rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
-    option (google.api.http) = { get: "/v1/{parent=apps/*}/services" };
-  }
-
-  // Gets the current configuration of the specified service.
-  rpc GetService(GetServiceRequest) returns (Service) {
-    option (google.api.http) = { get: "/v1/{name=apps/*/services/*}" };
-  }
-
-  // Updates the configuration of the specified service.
-  rpc UpdateService(UpdateServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { patch: "/v1/{name=apps/*/services/*}" body: "service" };
-  }
-
-  // Deletes the specified service and all enclosed versions.
-  rpc DeleteService(DeleteServiceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1/{name=apps/*/services/*}" };
-  }
-}
-
-// Manages App Engine applications.
-service Applications {
-  // Gets information about an application.
-  rpc GetApplication(GetApplicationRequest) returns (Application) {
-    option (google.api.http) = { get: "/v1/{name=apps/*}" };
-  }
-
-  // Recreates the required App Engine features for the application in your
-  // project, for example a Cloud Storage bucket or App Engine service account.
-  // Use this method if you receive an error message about a missing feature,
-  // for example "*Error retrieving the App Engine service account*".
-  rpc RepairApplication(RepairApplicationRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/{name=apps/*}:repair" body: "*" };
-  }
-}
-
-// Request message for `Applications.GetApplication`.
-message GetApplicationRequest {
-  // Name of the Application resource to get. Example: `apps/myapp`.
-  string name = 1;
-}
-
-// Request message for 'Applications.RepairApplication'.
-message RepairApplicationRequest {
-  // Name of the application to repair. Example: `apps/myapp`
-  string name = 1;
-}
-
-// Request message for `Services.ListServices`.
-message ListServicesRequest {
-  // Name of the parent Application resource. Example: `apps/myapp`.
-  string parent = 1;
-
-  // Maximum results to return per page.
-  int32 page_size = 2;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 3;
-}
-
-// Response message for `Services.ListServices`.
-message ListServicesResponse {
-  // The services belonging to the requested application.
-  repeated Service services = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Services.GetService`.
-message GetServiceRequest {
-  // Name of the resource requested. Example: `apps/myapp/services/default`.
-  string name = 1;
-}
-
-// Request message for `Services.UpdateService`.
-message UpdateServiceRequest {
-  // Name of the resource to update. Example: `apps/myapp/services/default`.
-  string name = 1;
-
-  // A Service resource containing the updated service. Only fields set in the
-  // field mask will be updated.
-  Service service = 2;
-
-  // Standard field mask for the set of fields to be updated.
-  google.protobuf.FieldMask update_mask = 3;
-
-  // Set to `true` to gradually shift traffic from one version to another
-  // single version. By default, traffic is shifted immediately.
-  // For gradual traffic migration, the target version
-  // must be located within instances that are configured for both
-  // [warmup requests](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#inboundservicetype)
-  // and
-  // [automatic scaling](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#automaticscaling).
-  // You must specify the
-  // [`shardBy`](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#shardby)
-  // field in the Service resource. Gradual traffic migration is not
-  // supported in the App Engine flexible environment. For examples, see
-  // [Migrating and Splitting Traffic](https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
-  bool migrate_traffic = 4;
-}
-
-// Request message for `Services.DeleteService`.
-message DeleteServiceRequest {
-  // Name of the resource requested. Example: `apps/myapp/services/default`.
-  string name = 1;
-}
-
-// Request message for `Versions.ListVersions`.
-message ListVersionsRequest {
-  // Name of the parent Service resource. Example:
-  // `apps/myapp/services/default`.
-  string parent = 1;
-
-  // Controls the set of fields returned in the `List` response.
-  VersionView view = 2;
-
-  // Maximum results to return per page.
-  int32 page_size = 3;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 4;
-}
-
-// Response message for `Versions.ListVersions`.
-message ListVersionsResponse {
-  // The versions belonging to the requested service.
-  repeated Version versions = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Versions.GetVersion`.
-message GetVersionRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string name = 1;
-
-  // Controls the set of fields returned in the `Get` response.
-  VersionView view = 2;
-}
-
-// Request message for `Versions.CreateVersion`.
-message CreateVersionRequest {
-  // Name of the parent resource to create this version under. Example:
-  // `apps/myapp/services/default`.
-  string parent = 1;
-
-  // Application deployment configuration.
-  Version version = 2;
-}
-
-// Request message for `Versions.UpdateVersion`.
-message UpdateVersionRequest {
-  // Name of the resource to update. Example:
-  // `apps/myapp/services/default/versions/1`.
-  string name = 1;
-
-  // A Version containing the updated resource. Only fields set in the field
-  // mask will be updated.
-  Version version = 2;
-
-  // Standard field mask for the set of fields to be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-// Request message for `Versions.DeleteVersion`.
-message DeleteVersionRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string name = 1;
-}
-
-// Request message for `Instances.ListInstances`.
-message ListInstancesRequest {
-  // Name of the parent Version resource. Example:
-  // `apps/myapp/services/default/versions/v1`.
-  string parent = 1;
-
-  // Maximum results to return per page.
-  int32 page_size = 2;
-
-  // Continuation token for fetching the next page of results.
-  string page_token = 3;
-}
-
-// Response message for `Instances.ListInstances`.
-message ListInstancesResponse {
-  // The instances belonging to the requested version.
-  repeated Instance instances = 1;
-
-  // Continuation token for fetching the next page of results.
-  string next_page_token = 2;
-}
-
-// Request message for `Instances.GetInstance`.
-message GetInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Request message for `Instances.DeleteInstance`.
-message DeleteInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Request message for `Instances.DebugInstance`.
-message DebugInstanceRequest {
-  // Name of the resource requested. Example:
-  // `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  string name = 1;
-}
-
-// Fields that should be returned when [Version][google.appengine.v1.Version] resources
-// are retreived.
-enum VersionView {
-  // Basic version information including scaling and inbound services,
-  // but not detailed deployment information.
-  BASIC = 0;
-
-  // The information from `BASIC`, plus detailed information about the
-  // deployment. This format is required when creating resources, but
-  // is not returned in `Get` or `List` by default.
-  FULL = 1;
-}
diff --git a/googleapis/appengine/v1/application.pb.go b/googleapis/appengine/v1/application.pb.go
index d6eb1af1..03c7822a 100644
--- a/googleapis/appengine/v1/application.pb.go
+++ b/googleapis/appengine/v1/application.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/application.proto
+// source: google/appengine/v1/application.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -76,7 +76,21 @@ 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) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Application) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
 
 func (m *Application) GetDispatchRules() []*UrlDispatchRule {
 	if m != nil {
@@ -85,6 +99,27 @@ func (m *Application) GetDispatchRules() []*UrlDispatchRule {
 	return nil
 }
 
+func (m *Application) GetAuthDomain() string {
+	if m != nil {
+		return m.AuthDomain
+	}
+	return ""
+}
+
+func (m *Application) GetLocationId() string {
+	if m != nil {
+		return m.LocationId
+	}
+	return ""
+}
+
+func (m *Application) GetCodeBucket() string {
+	if m != nil {
+		return m.CodeBucket
+	}
+	return ""
+}
+
 func (m *Application) GetDefaultCookieExpiration() *google_protobuf1.Duration {
 	if m != nil {
 		return m.DefaultCookieExpiration
@@ -92,6 +127,20 @@ func (m *Application) GetDefaultCookieExpiration() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *Application) GetDefaultHostname() string {
+	if m != nil {
+		return m.DefaultHostname
+	}
+	return ""
+}
+
+func (m *Application) GetDefaultBucket() string {
+	if m != nil {
+		return m.DefaultBucket
+	}
+	return ""
+}
+
 // Rules to match an HTTP request and dispatch that request to a service.
 type UrlDispatchRule struct {
 	// Domain name to match against. The wildcard "`*`" is supported if
@@ -113,44 +162,62 @@ 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 (m *UrlDispatchRule) GetDomain() string {
+	if m != nil {
+		return m.Domain
+	}
+	return ""
+}
+
+func (m *UrlDispatchRule) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *UrlDispatchRule) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*Application)(nil), "google.appengine.v1.Application")
 	proto.RegisterType((*UrlDispatchRule)(nil), "google.appengine.v1.UrlDispatchRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/application.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []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,
-	0x68, 0x07, 0x8c, 0xce, 0xfe, 0x02, 0x00, 0x00,
+func init() { proto.RegisterFile("google/appengine/v1/application.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 409 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x5f, 0x6b, 0xdb, 0x30,
+	0x14, 0xc5, 0x71, 0x3c, 0x92, 0x45, 0x5e, 0xfe, 0xa0, 0xc1, 0xa2, 0x84, 0xb1, 0x85, 0xb0, 0x40,
+	0xf6, 0x62, 0x93, 0xec, 0x71, 0x7b, 0x59, 0x9a, 0x42, 0x4b, 0x5f, 0x82, 0x21, 0x14, 0xfa, 0x62,
+	0x14, 0x4b, 0xb1, 0x45, 0x14, 0xc9, 0xd8, 0x72, 0xe8, 0x67, 0xe8, 0xa7, 0x2e, 0x96, 0x64, 0x37,
+	0x2d, 0x79, 0xd3, 0x3d, 0xfa, 0x1d, 0xdd, 0xeb, 0x73, 0x0d, 0xe6, 0x89, 0x94, 0x09, 0xa7, 0x01,
+	0xce, 0x32, 0x2a, 0x12, 0x26, 0x68, 0x70, 0x5e, 0x56, 0x05, 0x67, 0x31, 0x56, 0x4c, 0x0a, 0x3f,
+	0xcb, 0xa5, 0x92, 0xf0, 0xab, 0xc1, 0xfc, 0x06, 0xf3, 0xcf, 0xcb, 0xc9, 0xf7, 0xc6, 0xcb, 0x02,
+	0x2c, 0x84, 0x54, 0xda, 0x51, 0x18, 0xcb, 0xe4, 0x87, 0xbd, 0xd5, 0xd5, 0xbe, 0x3c, 0x04, 0xa4,
+	0xcc, 0x2f, 0x9e, 0x9c, 0xbd, 0xb8, 0xc0, 0xfb, 0xff, 0xd6, 0x08, 0x42, 0xf0, 0x49, 0xe0, 0x13,
+	0x45, 0xce, 0xd4, 0x59, 0x74, 0x43, 0x7d, 0x86, 0x7d, 0xd0, 0x62, 0x04, 0xb5, 0xb4, 0xd2, 0x62,
+	0x04, 0x3e, 0x80, 0x3e, 0x61, 0x45, 0x86, 0x55, 0x9c, 0x46, 0x79, 0xc9, 0x69, 0x81, 0xdc, 0xa9,
+	0xbb, 0xf0, 0x56, 0xbf, 0xfc, 0x2b, 0xf3, 0xf9, 0xbb, 0x9c, 0x6f, 0x2c, 0x1d, 0x96, 0x9c, 0x86,
+	0x3d, 0x72, 0x51, 0x15, 0xf0, 0x27, 0xf0, 0x70, 0xa9, 0xd2, 0x88, 0xc8, 0x13, 0x66, 0x02, 0xb5,
+	0x75, 0x17, 0x50, 0x49, 0x1b, 0xad, 0x54, 0x00, 0x97, 0x66, 0xba, 0x88, 0x11, 0xd4, 0x31, 0x40,
+	0x2d, 0xdd, 0x93, 0x0a, 0x88, 0x25, 0xa1, 0xd1, 0xbe, 0x8c, 0x8f, 0x54, 0xa1, 0xcf, 0x06, 0xa8,
+	0xa4, 0xb5, 0x56, 0xe0, 0x0e, 0x8c, 0x09, 0x3d, 0xe0, 0x92, 0xab, 0x28, 0x96, 0xf2, 0xc8, 0x68,
+	0x44, 0x9f, 0x33, 0x66, 0x62, 0x40, 0xdd, 0xa9, 0xb3, 0xf0, 0x56, 0xe3, 0x7a, 0xf4, 0x3a, 0x27,
+	0x7f, 0x63, 0x73, 0x0a, 0x47, 0xd6, 0x7b, 0xa3, 0xad, 0xb7, 0x8d, 0x13, 0xfe, 0x06, 0xc3, 0xfa,
+	0xd9, 0x54, 0x16, 0x4a, 0xc7, 0xe6, 0xe9, 0xe6, 0x03, 0xab, 0xdf, 0x59, 0x19, 0xce, 0x41, 0xbf,
+	0x46, 0xed, 0x94, 0x5f, 0x34, 0xd8, 0xb3, 0xaa, 0x19, 0x74, 0xf6, 0x08, 0x06, 0x1f, 0xd2, 0x82,
+	0xdf, 0x40, 0xdb, 0x26, 0x63, 0x36, 0x62, 0xab, 0x6a, 0x4f, 0x19, 0x56, 0xa9, 0xdd, 0x8a, 0x3e,
+	0x43, 0x04, 0x3a, 0x05, 0xcd, 0xcf, 0x2c, 0xa6, 0xc8, 0xd5, 0x72, 0x5d, 0xae, 0x8f, 0x60, 0x14,
+	0xcb, 0xd3, 0xb5, 0xf5, 0xac, 0x87, 0x17, 0xdb, 0xdf, 0x56, 0x1f, 0xbf, 0x75, 0x9e, 0xfe, 0x59,
+	0x30, 0x91, 0x1c, 0x8b, 0xc4, 0x97, 0x79, 0x12, 0x24, 0x54, 0xe8, 0x68, 0x02, 0x73, 0x85, 0x33,
+	0x56, 0xbc, 0xfb, 0x5b, 0xff, 0x36, 0xc5, 0xbe, 0xad, 0xc1, 0x3f, 0xaf, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x7a, 0x51, 0x2e, 0x3c, 0xd5, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/application.proto b/googleapis/appengine/v1/application.proto
deleted file mode 100644
index 8d49c8a1..00000000
--- a/googleapis/appengine/v1/application.proto
+++ /dev/null
@@ -1,111 +0,0 @@
-// 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.appengine.v1;
-
-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 = "ApplicationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// An Application resource contains the top-level configuration of an App
-// Engine application.
-message Application {
-  // Full path to the Application resource in the API.
-  // Example: `apps/myapp`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Identifier of the Application resource. This identifier is equivalent
-  // to the project ID of the Google Cloud Platform project where you want to
-  // deploy your application.
-  // Example: `myapp`.
-  string id = 2;
-
-  // HTTP path dispatch rules for requests to the application that do not
-  // explicitly target a service or version. Rules are order-dependent.
-  //
-  // @OutputOnly
-  repeated UrlDispatchRule dispatch_rules = 3;
-
-  // Google Apps authentication domain that controls which users can access
-  // this application.
-  //
-  // Defaults to open access for any Google Account.
-  string auth_domain = 6;
-
-  // Location from which this application will be run. Application instances
-  // will run out of data centers in the chosen location, which is also where
-  // all of the application's end user content is stored.
-  //
-  // Defaults to `us-central`.
-  //
-  // Options are:
-  //
-  // `us-central` - Central US
-  //
-  // `europe-west` - Western Europe
-  //
-  // `us-east1` - Eastern US
-  string location_id = 7;
-
-  // Google Cloud Storage bucket that can be used for storing files
-  // associated with this application. This bucket is associated with the
-  // application and can be used by the gcloud deployment commands.
-  //
-  // @OutputOnly
-  string code_bucket = 8;
-
-  // Cookie expiration policy for this application.
-  //
-  // @OutputOnly
-  google.protobuf.Duration default_cookie_expiration = 9;
-
-  // Hostname used to reach this application, as resolved by App Engine.
-  //
-  // @OutputOnly
-  string default_hostname = 11;
-
-  // Google Cloud Storage bucket that can be used by this application to store
-  // content.
-  //
-  // @OutputOnly
-  string default_bucket = 12;
-}
-
-// Rules to match an HTTP request and dispatch that request to a service.
-message UrlDispatchRule {
-  // Domain name to match against. The wildcard "`*`" is supported if
-  // specified before a period: "`*.`".
-  //
-  // Defaults to matching all domains: "`*`".
-  string domain = 1;
-
-  // Pathname within the host. Must start with a "`/`". A
-  // single "`*`" can be included at the end of the path. The sum
-  // of the lengths of the domain and path may not exceed 100
-  // characters.
-  string path = 2;
-
-  // Resource ID of a service in this application that should
-  // serve the matched request. The service must already
-  // exist. Example: `default`.
-  string service = 3;
-}
diff --git a/googleapis/appengine/v1/deploy.pb.go b/googleapis/appengine/v1/deploy.pb.go
index 508c3df7..ffc43973 100644
--- a/googleapis/appengine/v1/deploy.pb.go
+++ b/googleapis/appengine/v1/deploy.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/deploy.proto
+// source: google/appengine/v1/deploy.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -73,6 +73,27 @@ func (m *FileInfo) String() string            { return proto.CompactTextString(m
 func (*FileInfo) ProtoMessage()               {}
 func (*FileInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *FileInfo) GetSourceUrl() string {
+	if m != nil {
+		return m.SourceUrl
+	}
+	return ""
+}
+
+func (m *FileInfo) GetSha1Sum() string {
+	if m != nil {
+		return m.Sha1Sum
+	}
+	return ""
+}
+
+func (m *FileInfo) GetMimeType() string {
+	if m != nil {
+		return m.MimeType
+	}
+	return ""
+}
+
 // Docker image that is used to start a VM container for the version you
 // deploy.
 type ContainerInfo struct {
@@ -87,6 +108,13 @@ func (m *ContainerInfo) String() string            { return proto.CompactTextStr
 func (*ContainerInfo) ProtoMessage()               {}
 func (*ContainerInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{2} }
 
+func (m *ContainerInfo) GetImage() string {
+	if m != nil {
+		return m.Image
+	}
+	return ""
+}
+
 type ZipInfo struct {
 	// URL of the zip file to deploy from. Must be a URL to a resource in
 	// Google Cloud Storage in the form
@@ -103,6 +131,20 @@ func (m *ZipInfo) String() string            { return proto.CompactTextString(m)
 func (*ZipInfo) ProtoMessage()               {}
 func (*ZipInfo) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{3} }
 
+func (m *ZipInfo) GetSourceUrl() string {
+	if m != nil {
+		return m.SourceUrl
+	}
+	return ""
+}
+
+func (m *ZipInfo) GetFilesCount() int32 {
+	if m != nil {
+		return m.FilesCount
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Deployment)(nil), "google.appengine.v1.Deployment")
 	proto.RegisterType((*FileInfo)(nil), "google.appengine.v1.FileInfo")
@@ -110,35 +152,33 @@ func init() {
 	proto.RegisterType((*ZipInfo)(nil), "google.appengine.v1.ZipInfo")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/deploy.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/appengine/v1/deploy.proto", fileDescriptor3) }
 
 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, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0xd1, 0xab, 0xd3, 0x30,
+	0x14, 0xc6, 0xe9, 0x6a, 0xbd, 0xeb, 0x29, 0x82, 0x44, 0xc1, 0x7a, 0xbd, 0x17, 0x4b, 0x41, 0x28,
+	0x3e, 0xa4, 0xec, 0xde, 0x17, 0x51, 0x1f, 0x2e, 0x9b, 0x0a, 0x7b, 0x1b, 0x55, 0x11, 0xf6, 0x52,
+	0x62, 0xcd, 0x62, 0xb0, 0x4d, 0x42, 0x9b, 0x0e, 0xea, 0x7f, 0xe2, 0x7f, 0x2b, 0x49, 0xba, 0x8d,
+	0x8d, 0xbe, 0xf5, 0x7c, 0xfd, 0x7d, 0x5f, 0x4e, 0x72, 0x0e, 0x24, 0x4c, 0x4a, 0x56, 0xd3, 0x9c,
+	0x28, 0x45, 0x05, 0xe3, 0x82, 0xe6, 0xfb, 0x45, 0xfe, 0x8b, 0xaa, 0x5a, 0x0e, 0x58, 0xb5, 0x52,
+	0x4b, 0xf4, 0xcc, 0x11, 0xf8, 0x48, 0xe0, 0xfd, 0xe2, 0xfa, 0xe6, 0x68, 0xe3, 0x39, 0x11, 0x42,
+	0x6a, 0xa2, 0xb9, 0x14, 0x9d, 0xb3, 0xa4, 0xff, 0x66, 0x00, 0x9f, 0x6c, 0x46, 0x43, 0x85, 0x46,
+	0x0f, 0x10, 0xec, 0x78, 0x4d, 0xbb, 0xd8, 0x4b, 0xfc, 0x2c, 0xba, 0x7b, 0x8b, 0x27, 0x12, 0xf1,
+	0x89, 0xc7, 0x5f, 0x0c, 0xfc, 0x59, 0xe8, 0x76, 0x28, 0x9c, 0x11, 0x3d, 0x40, 0x58, 0x49, 0xa1,
+	0x09, 0x17, 0xb4, 0x8d, 0x67, 0x89, 0x97, 0x45, 0x77, 0xe9, 0x64, 0xca, 0xea, 0x40, 0xad, 0xc5,
+	0x4e, 0x16, 0x27, 0x13, 0xc2, 0xe0, 0xff, 0xe5, 0x2a, 0xf6, 0xad, 0xf7, 0x66, 0xd2, 0xbb, 0xe5,
+	0xca, 0xba, 0x0c, 0x78, 0xfd, 0x03, 0xe0, 0xd4, 0x06, 0x7a, 0x0a, 0xfe, 0x1f, 0x3a, 0xc4, 0x5e,
+	0xe2, 0x65, 0x61, 0x61, 0x3e, 0xd1, 0x3d, 0x04, 0x7b, 0x52, 0xf7, 0x74, 0xec, 0xe6, 0x76, 0x32,
+	0xd1, 0x24, 0xd8, 0x48, 0xc7, 0xbe, 0x9f, 0xbd, 0xf3, 0x52, 0x02, 0xf3, 0x83, 0x8c, 0x6e, 0x01,
+	0x3a, 0xd9, 0xb7, 0x15, 0x2d, 0xfb, 0xb6, 0x1e, 0xd3, 0x43, 0xa7, 0x7c, 0x6f, 0x6b, 0xf4, 0x12,
+	0xe6, 0xdd, 0x6f, 0xb2, 0x28, 0xbb, 0xbe, 0xb1, 0xc7, 0x84, 0xc5, 0x95, 0xa9, 0xbf, 0xf6, 0x0d,
+	0x7a, 0x05, 0x61, 0xc3, 0x1b, 0x5a, 0xea, 0x41, 0x51, 0x7b, 0xa9, 0xb0, 0x98, 0x1b, 0xe1, 0xdb,
+	0xa0, 0x68, 0xfa, 0x06, 0x9e, 0x9c, 0xbd, 0x03, 0x7a, 0x0e, 0x01, 0x6f, 0x08, 0xa3, 0xe3, 0x11,
+	0xae, 0x48, 0xd7, 0x70, 0x35, 0x5e, 0xf9, 0xa2, 0x11, 0xff, 0xb2, 0x91, 0xd7, 0x10, 0xd9, 0x39,
+	0x94, 0x95, 0xec, 0x85, 0x8e, 0x1f, 0x25, 0x5e, 0x16, 0x14, 0x60, 0xa5, 0x95, 0x51, 0x96, 0x3b,
+	0x78, 0x51, 0xc9, 0x66, 0xea, 0x0d, 0x96, 0x91, 0x1b, 0xec, 0xc6, 0x2c, 0xc6, 0xc6, 0xdb, 0x7e,
+	0x1c, 0x19, 0x26, 0x6b, 0x22, 0x18, 0x96, 0x2d, 0xcb, 0x19, 0x15, 0x76, 0x6d, 0x72, 0xf7, 0x8b,
+	0x28, 0xde, 0x9d, 0xad, 0xe3, 0x87, 0x63, 0xf1, 0xf3, 0xb1, 0x05, 0xef, 0xff, 0x07, 0x00, 0x00,
+	0xff, 0xff, 0x6e, 0xeb, 0x52, 0x5a, 0xb6, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/deploy.proto b/googleapis/appengine/v1/deploy.proto
deleted file mode 100644
index 62300ff5..00000000
--- a/googleapis/appengine/v1/deploy.proto
+++ /dev/null
@@ -1,77 +0,0 @@
-// 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.appengine.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 = "DeployProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Code and application artifacts used to deploy a version to App Engine.
-message Deployment {
-  // Manifest of the files stored in Google Cloud Storage that are included
-  // as part of this version. All files must be readable using the
-  // credentials supplied with this call.
-  map<string, FileInfo> files = 1;
-
-  // A Docker image that App Engine uses to run the version.
-  // Only applicable for instances in App Engine flexible environment.
-  ContainerInfo container = 2;
-
-  // The zip file for this deployment, if this is a zip deployment.
-  ZipInfo zip = 3;
-}
-
-// Single source file that is part of the version to be deployed. Each source
-// file that is deployed must be specified separately.
-message FileInfo {
-  // URL source to use to fetch this file. Must be a URL to a resource in
-  // Google Cloud Storage in the form
-  // 'http(s)://storage.googleapis.com/\<bucket\>/\<object\>'.
-  string source_url = 1;
-
-  // The SHA1 hash of the file, in hex.
-  string sha1_sum = 2;
-
-  // The MIME type of the file.
-  //
-  // Defaults to the value from Google Cloud Storage.
-  string mime_type = 3;
-}
-
-// Docker image that is used to start a VM container for the version you
-// deploy.
-message ContainerInfo {
-  // URI to the hosted container image in a Docker repository. The URI must be
-  // fully qualified and include a tag or digest.
-  // Examples: "gcr.io/my-project/image:tag" or "gcr.io/my-project/image@digest"
-  string image = 1;
-}
-
-message ZipInfo {
-  // URL of the zip file to deploy from. Must be a URL to a resource in
-  // Google Cloud Storage in the form
-  // 'http(s)://storage.googleapis.com/\<bucket\>/\<object\>'.
-  string source_url = 3;
-
-  // An estimate of the number of files in a zip for a zip deployment.
-  // If set, must be greater than or equal to the actual number of files.
-  // Used for optimizing performance; if not provided, deployment may be slow.
-  int32 files_count = 4;
-}
diff --git a/googleapis/appengine/v1/instance.pb.go b/googleapis/appengine/v1/instance.pb.go
index 06532296..591da0de 100644
--- a/googleapis/appengine/v1/instance.pb.go
+++ b/googleapis/appengine/v1/instance.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/instance.proto
+// source: google/appengine/v1/instance.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -117,6 +117,55 @@ func (m *Instance) String() string            { return proto.CompactTextString(m
 func (*Instance) ProtoMessage()               {}
 func (*Instance) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Instance) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Instance) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Instance) GetAppEngineRelease() string {
+	if m != nil {
+		return m.AppEngineRelease
+	}
+	return ""
+}
+
+func (m *Instance) GetAvailability() Instance_Availability {
+	if m != nil {
+		return m.Availability
+	}
+	return Instance_UNSPECIFIED
+}
+
+func (m *Instance) GetVmName() string {
+	if m != nil {
+		return m.VmName
+	}
+	return ""
+}
+
+func (m *Instance) GetVmZoneName() string {
+	if m != nil {
+		return m.VmZoneName
+	}
+	return ""
+}
+
+func (m *Instance) GetVmId() string {
+	if m != nil {
+		return m.VmId
+	}
+	return ""
+}
+
 func (m *Instance) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -124,49 +173,95 @@ func (m *Instance) GetStartTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Instance) GetRequests() int32 {
+	if m != nil {
+		return m.Requests
+	}
+	return 0
+}
+
+func (m *Instance) GetErrors() int32 {
+	if m != nil {
+		return m.Errors
+	}
+	return 0
+}
+
+func (m *Instance) GetQps() float32 {
+	if m != nil {
+		return m.Qps
+	}
+	return 0
+}
+
+func (m *Instance) GetAverageLatency() int32 {
+	if m != nil {
+		return m.AverageLatency
+	}
+	return 0
+}
+
+func (m *Instance) GetMemoryUsage() int64 {
+	if m != nil {
+		return m.MemoryUsage
+	}
+	return 0
+}
+
+func (m *Instance) GetVmStatus() string {
+	if m != nil {
+		return m.VmStatus
+	}
+	return ""
+}
+
+func (m *Instance) GetVmDebugEnabled() bool {
+	if m != nil {
+		return m.VmDebugEnabled
+	}
+	return false
+}
+
 func init() {
 	proto.RegisterType((*Instance)(nil), "google.appengine.v1.Instance")
 	proto.RegisterEnum("google.appengine.v1.Instance_Availability", Instance_Availability_name, Instance_Availability_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/instance.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/appengine/v1/instance.proto", fileDescriptor4) }
 
 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,
+	// 521 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x53, 0x5d, 0x6b, 0xdb, 0x3c,
+	0x14, 0x7e, 0x9d, 0xb6, 0xa9, 0x73, 0xe2, 0x26, 0x46, 0x85, 0xb7, 0x22, 0x1b, 0xcc, 0xcb, 0xcd,
+	0xcc, 0x18, 0x36, 0xed, 0xae, 0xf6, 0x71, 0xd3, 0x36, 0x1e, 0x18, 0xb6, 0x10, 0x9c, 0xf6, 0x62,
+	0xbd, 0x31, 0x4a, 0xac, 0x79, 0x02, 0x4b, 0x72, 0x2d, 0x45, 0x90, 0xfd, 0xc6, 0xfd, 0xa8, 0x61,
+	0x39, 0x09, 0x2d, 0xf4, 0xce, 0xcf, 0xc7, 0x41, 0xcf, 0x79, 0x0e, 0x86, 0x69, 0x29, 0x65, 0x59,
+	0xd1, 0x98, 0xd4, 0x35, 0x15, 0x25, 0x13, 0x34, 0x36, 0x97, 0x31, 0x13, 0x4a, 0x13, 0xb1, 0xa6,
+	0x51, 0xdd, 0x48, 0x2d, 0xd1, 0x79, 0xe7, 0x89, 0x0e, 0x9e, 0xc8, 0x5c, 0x4e, 0x5e, 0x1f, 0x06,
+	0x59, 0x4c, 0x84, 0x90, 0x9a, 0x68, 0x26, 0x85, 0xea, 0x46, 0x26, 0x6f, 0x76, 0xaa, 0x45, 0xab,
+	0xcd, 0xaf, 0x58, 0x33, 0x4e, 0x95, 0x26, 0xbc, 0xee, 0x0c, 0xd3, 0xbf, 0xc7, 0xe0, 0xa6, 0xbb,
+	0x67, 0x10, 0x82, 0x63, 0x41, 0x38, 0xc5, 0x4e, 0xe0, 0x84, 0x83, 0xcc, 0x7e, 0xa3, 0x11, 0xf4,
+	0x58, 0x81, 0x7b, 0x96, 0xe9, 0xb1, 0x02, 0x7d, 0x00, 0x44, 0xea, 0x3a, 0xef, 0x02, 0xe4, 0x0d,
+	0xad, 0x28, 0x51, 0x14, 0x1f, 0x59, 0xdd, 0x27, 0x75, 0x9d, 0x58, 0x21, 0xeb, 0x78, 0x34, 0x07,
+	0x8f, 0x18, 0xc2, 0x2a, 0xb2, 0x62, 0x15, 0xd3, 0x5b, 0x7c, 0x1c, 0x38, 0xe1, 0xe8, 0xea, 0x7d,
+	0xf4, 0xc2, 0x26, 0xd1, 0x3e, 0x46, 0x74, 0xfd, 0x64, 0x22, 0x7b, 0x36, 0x8f, 0x2e, 0xe0, 0xd4,
+	0xf0, 0xdc, 0x86, 0x3c, 0xb1, 0x4f, 0xf6, 0x0d, 0x9f, 0xb7, 0x31, 0x03, 0xf0, 0x0c, 0xcf, 0xff,
+	0x48, 0x41, 0x3b, 0xb5, 0x6f, 0x55, 0x30, 0xfc, 0x41, 0x0a, 0x6a, 0x1d, 0xe7, 0x70, 0x62, 0x78,
+	0xce, 0x0a, 0x7c, 0xda, 0x6d, 0x67, 0x78, 0x5a, 0xa0, 0x4f, 0x00, 0x4a, 0x93, 0x46, 0xe7, 0x6d,
+	0x2f, 0xd8, 0x0d, 0x9c, 0x70, 0x78, 0x35, 0xd9, 0xa7, 0xdb, 0x97, 0x16, 0xdd, 0xed, 0x4b, 0xcb,
+	0x06, 0xd6, 0xdd, 0x62, 0x34, 0x01, 0xb7, 0xa1, 0x8f, 0x1b, 0xaa, 0xb4, 0xc2, 0x83, 0xc0, 0x09,
+	0x4f, 0xb2, 0x03, 0x46, 0xff, 0x43, 0x9f, 0x36, 0x8d, 0x6c, 0x14, 0x06, 0xab, 0xec, 0x10, 0xf2,
+	0xe1, 0xe8, 0xb1, 0x56, 0x78, 0x18, 0x38, 0x61, 0x2f, 0x6b, 0x3f, 0xd1, 0x3b, 0x18, 0x13, 0x43,
+	0x1b, 0x52, 0xd2, 0xbc, 0x22, 0x9a, 0x8a, 0xf5, 0x16, 0x7b, 0x76, 0x64, 0xb4, 0xa3, 0xbf, 0x77,
+	0x2c, 0x7a, 0x0b, 0x1e, 0xa7, 0x5c, 0x36, 0xdb, 0x7c, 0xa3, 0x48, 0x49, 0xf1, 0x59, 0xe0, 0x84,
+	0x47, 0xd9, 0xb0, 0xe3, 0xee, 0x5b, 0x0a, 0xbd, 0x82, 0x81, 0xe1, 0xb9, 0xd2, 0x44, 0x6f, 0x14,
+	0x1e, 0xd9, 0x2d, 0x5d, 0xc3, 0x97, 0x16, 0xa3, 0x10, 0x7c, 0xc3, 0xf3, 0x82, 0xae, 0x36, 0x65,
+	0x4e, 0x05, 0x59, 0x55, 0xb4, 0xc0, 0xe3, 0xc0, 0x09, 0xdd, 0x6c, 0x64, 0xf8, 0xac, 0xa5, 0x93,
+	0x8e, 0x9d, 0x7e, 0x06, 0xef, 0xe9, 0x05, 0xd0, 0x18, 0x86, 0xf7, 0xf3, 0xe5, 0x22, 0xb9, 0x4d,
+	0xbf, 0xa5, 0xc9, 0xcc, 0xff, 0x0f, 0x79, 0xe0, 0x66, 0xc9, 0x32, 0x9d, 0x25, 0xf3, 0x3b, 0xdf,
+	0x41, 0x43, 0x38, 0x9d, 0xfd, 0x9c, 0x5f, 0xff, 0x48, 0x6f, 0xfd, 0xde, 0xcd, 0x6f, 0xb8, 0x58,
+	0x4b, 0xfe, 0xd2, 0x79, 0x6f, 0xce, 0xf6, 0xf7, 0x5d, 0xb4, 0xb5, 0x2e, 0x9c, 0x87, 0xaf, 0x3b,
+	0x57, 0x29, 0x2b, 0x22, 0xca, 0x48, 0x36, 0x65, 0x5c, 0x52, 0x61, 0x4b, 0x8f, 0x3b, 0x89, 0xd4,
+	0x4c, 0x3d, 0xfb, 0x23, 0xbe, 0x1c, 0xc0, 0xaa, 0x6f, 0x8d, 0x1f, 0xff, 0x05, 0x00, 0x00, 0xff,
+	0xff, 0x97, 0xe7, 0x7d, 0x88, 0x39, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/instance.proto b/googleapis/appengine/v1/instance.proto
deleted file mode 100644
index 55814e37..00000000
--- a/googleapis/appengine/v1/instance.proto
+++ /dev/null
@@ -1,120 +0,0 @@
-// 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.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "InstanceProto";
-option java_package = "com.google.appengine.v1";
-
-
-// An Instance resource is the computing unit that App Engine uses to
-// automatically scale an application.
-message Instance {
-  // Availability of the instance.
-  enum Availability {
-    UNSPECIFIED = 0;
-
-    RESIDENT = 1;
-
-    DYNAMIC = 2;
-  }
-
-  // Full path to the Instance resource in the API.
-  // Example: `apps/myapp/services/default/versions/v1/instances/instance-1`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the instance within the version.
-  // Example: `instance-1`.
-  //
-  // @OutputOnly
-  string id = 2;
-
-  // App Engine release this instance is running on.
-  //
-  // @OutputOnly
-  string app_engine_release = 3;
-
-  // Availability of the instance.
-  //
-  // @OutputOnly
-  Availability availability = 4;
-
-  // Name of the virtual machine where this instance lives. Only applicable
-  // for instances in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_name = 5;
-
-  // Zone where the virtual machine is located. Only applicable for instances
-  // in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_zone_name = 6;
-
-  // Virtual machine ID of this instance. Only applicable for instances in
-  // App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_id = 7;
-
-  // Time that this instance was started.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp start_time = 8;
-
-  // Number of requests since this instance was started.
-  //
-  // @OutputOnly
-  int32 requests = 9;
-
-  // Number of errors since this instance was started.
-  //
-  // @OutputOnly
-  int32 errors = 10;
-
-  // Average queries per second (QPS) over the last minute.
-  //
-  // @OutputOnly
-  float qps = 11;
-
-  // Average latency (ms) over the last minute.
-  //
-  // @OutputOnly
-  int32 average_latency = 12;
-
-  // Total memory in use (bytes).
-  //
-  // @OutputOnly
-  int64 memory_usage = 13;
-
-  // Status of the virtual machine where this instance lives. Only applicable
-  // for instances in App Engine flexible environment.
-  //
-  // @OutputOnly
-  string vm_status = 14;
-
-  // Whether this instance is in debug mode. Only applicable for instances in
-  // App Engine flexible environment.
-  //
-  // @OutputOnly
-  bool vm_debug_enabled = 15;
-}
diff --git a/googleapis/appengine/v1/location.pb.go b/googleapis/appengine/v1/location.pb.go
index 422de363..9b2309a3 100644
--- a/googleapis/appengine/v1/location.pb.go
+++ b/googleapis/appengine/v1/location.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/location.proto
+// source: google/appengine/v1/location.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -32,30 +32,41 @@ func (m *LocationMetadata) String() string            { return proto.CompactText
 func (*LocationMetadata) ProtoMessage()               {}
 func (*LocationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*LocationMetadata)(nil), "google.appengine.v1.LocationMetadata")
+func (m *LocationMetadata) GetStandardEnvironmentAvailable() bool {
+	if m != nil {
+		return m.StandardEnvironmentAvailable
+	}
+	return false
+}
+
+func (m *LocationMetadata) GetFlexibleEnvironmentAvailable() bool {
+	if m != nil {
+		return m.FlexibleEnvironmentAvailable
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/location.proto", fileDescriptor5)
+	proto.RegisterType((*LocationMetadata)(nil), "google.appengine.v1.LocationMetadata")
 }
 
+func init() { proto.RegisterFile("google/appengine/v1/location.proto", fileDescriptor5) }
+
 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,
-	0x00,
+	// 236 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x41, 0x4b, 0xc3, 0x40,
+	0x10, 0x85, 0x89, 0x88, 0x48, 0x40, 0x90, 0x7a, 0xb0, 0x94, 0x22, 0xd2, 0x93, 0xa7, 0x5d, 0x8a,
+	0x47, 0xbd, 0x58, 0xf4, 0xa6, 0x50, 0x3c, 0x7a, 0x29, 0x93, 0x66, 0x1c, 0x17, 0xa6, 0x33, 0x4b,
+	0x32, 0x04, 0xfd, 0x33, 0xfe, 0x56, 0x69, 0x36, 0x1b, 0x11, 0xea, 0x71, 0x79, 0xdf, 0xfb, 0xd8,
+	0x37, 0xe5, 0x82, 0x54, 0x89, 0xd1, 0x43, 0x8c, 0x28, 0x14, 0x04, 0x7d, 0xb7, 0xf4, 0xac, 0x5b,
+	0xb0, 0xa0, 0xe2, 0x62, 0xa3, 0xa6, 0x93, 0x8b, 0xc4, 0xb8, 0x91, 0x71, 0xdd, 0x72, 0x36, 0x1f,
+	0x8b, 0xc1, 0x83, 0x88, 0x5a, 0xdf, 0x68, 0x53, 0x65, 0x36, 0x1d, 0x52, 0xfb, 0x8a, 0xe8, 0x19,
+	0x8c, 0x85, 0x52, 0xb2, 0xf8, 0x2e, 0xca, 0xf3, 0xe7, 0xc1, 0xff, 0x82, 0x06, 0x35, 0x18, 0x4c,
+	0x1e, 0xcb, 0xab, 0xd6, 0x40, 0x6a, 0x68, 0xea, 0x0d, 0x4a, 0x17, 0x1a, 0x95, 0x1d, 0x8a, 0x6d,
+	0xa0, 0x83, 0xc0, 0x50, 0x31, 0x4e, 0x8f, 0xae, 0x8b, 0x9b, 0xd3, 0xd7, 0x79, 0xa6, 0x9e, 0x7e,
+	0xa1, 0x87, 0xcc, 0xec, 0x2d, 0xef, 0x8c, 0x9f, 0xa1, 0x62, 0xfc, 0xc7, 0x72, 0x9c, 0x2c, 0x99,
+	0x3a, 0x64, 0x59, 0x7d, 0x94, 0x97, 0x5b, 0xdd, 0xb9, 0x03, 0x9b, 0x57, 0x67, 0xf9, 0xe3, 0xeb,
+	0xfd, 0x94, 0x75, 0xf1, 0x76, 0x3f, 0x50, 0xa4, 0x0c, 0x42, 0x4e, 0x1b, 0xf2, 0x84, 0xd2, 0x0f,
+	0xf5, 0x29, 0x82, 0x18, 0xda, 0x3f, 0xc7, 0xbd, 0x1b, 0x1f, 0xd5, 0x49, 0x0f, 0xde, 0xfe, 0x04,
+	0x00, 0x00, 0xff, 0xff, 0x93, 0x9b, 0x7c, 0xf8, 0x84, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/location.proto b/googleapis/appengine/v1/location.proto
deleted file mode 100644
index b91caff7..00000000
--- a/googleapis/appengine/v1/location.proto
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LocationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Metadata for the given [google.cloud.location.Location][google.cloud.location.Location].
-message LocationMetadata {
-  // App Engine Standard Environment is available in the given location.
-  //
-  // @OutputOnly
-  bool standard_environment_available = 2;
-
-  // App Engine Flexible Environment is available in the given location.
-  //
-  // @OutputOnly
-  bool flexible_environment_available = 4;
-}
diff --git a/googleapis/appengine/v1/operation.pb.go b/googleapis/appengine/v1/operation.pb.go
index 2f4e6eca..d5f5a009 100644
--- a/googleapis/appengine/v1/operation.pb.go
+++ b/googleapis/appengine/v1/operation.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/operation.proto
+// source: google/appengine/v1/operation.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -46,6 +46,13 @@ func (m *OperationMetadataV1) String() string            { return proto.CompactT
 func (*OperationMetadataV1) ProtoMessage()               {}
 func (*OperationMetadataV1) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{0} }
 
+func (m *OperationMetadataV1) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
 func (m *OperationMetadataV1) GetInsertTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.InsertTime
@@ -60,33 +67,43 @@ func (m *OperationMetadataV1) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*OperationMetadataV1)(nil), "google.appengine.v1.OperationMetadataV1")
+func (m *OperationMetadataV1) GetUser() string {
+	if m != nil {
+		return m.User
+	}
+	return ""
+}
+
+func (m *OperationMetadataV1) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/operation.proto", fileDescriptor6)
+	proto.RegisterType((*OperationMetadataV1)(nil), "google.appengine.v1.OperationMetadataV1")
 }
 
+func init() { proto.RegisterFile("google/appengine/v1/operation.proto", fileDescriptor6) }
+
 var fileDescriptor6 = []byte{
-	// 290 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,
+	// 271 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x41, 0x4b, 0x03, 0x31,
+	0x10, 0x85, 0x59, 0xad, 0x55, 0x53, 0xf0, 0xb0, 0x05, 0x5d, 0x16, 0xc1, 0xa2, 0x97, 0x9e, 0x12,
+	0x56, 0xf1, 0x54, 0x4f, 0xbd, 0x8b, 0xa5, 0x88, 0x07, 0x2f, 0x92, 0xba, 0x63, 0x0c, 0x74, 0x67,
+	0x42, 0x32, 0xed, 0xbf, 0xf4, 0x3f, 0xc9, 0x26, 0xbb, 0x0b, 0x82, 0xd0, 0x5b, 0x5e, 0xe6, 0x7d,
+	0x79, 0x2f, 0x89, 0xb8, 0x33, 0x44, 0x66, 0x0b, 0x4a, 0x3b, 0x07, 0x68, 0x2c, 0x82, 0xda, 0x57,
+	0x8a, 0x1c, 0x78, 0xcd, 0x96, 0x50, 0x3a, 0x4f, 0x4c, 0xf9, 0x34, 0x99, 0xe4, 0x60, 0x92, 0xfb,
+	0xaa, 0xbc, 0x1e, 0x48, 0xab, 0x34, 0x22, 0x71, 0x24, 0x42, 0x42, 0xca, 0x9b, 0x6e, 0x1a, 0xd5,
+	0x66, 0xf7, 0xa5, 0xd8, 0x36, 0x10, 0x58, 0x37, 0x2e, 0x19, 0x6e, 0x7f, 0x32, 0x31, 0x7d, 0xe9,
+	0x73, 0x9e, 0x81, 0x75, 0xad, 0x59, 0xbf, 0x55, 0xf9, 0xa5, 0x18, 0x37, 0xc0, 0xdf, 0x54, 0x17,
+	0xd9, 0x2c, 0x9b, 0x9f, 0xaf, 0x3b, 0x95, 0x2f, 0xc4, 0xc4, 0x62, 0x00, 0xcf, 0x1f, 0xed, 0x49,
+	0xc5, 0xd1, 0x2c, 0x9b, 0x4f, 0xee, 0x4b, 0xd9, 0x35, 0xeb, 0x63, 0xe4, 0x6b, 0x1f, 0xb3, 0x16,
+	0xc9, 0xde, 0x6e, 0xe4, 0x8f, 0xe2, 0x0c, 0xb0, 0x4e, 0xe4, 0xf1, 0x41, 0xf2, 0x14, 0xb0, 0x8e,
+	0x58, 0x2e, 0x46, 0xbb, 0x00, 0xbe, 0x18, 0xc5, 0x26, 0x71, 0xdd, 0xf6, 0x63, 0xed, 0x0d, 0x70,
+	0x71, 0x92, 0xfa, 0x25, 0xb5, 0xb4, 0xe2, 0xea, 0x93, 0x1a, 0xf9, 0xcf, 0x4b, 0x2d, 0x2f, 0x86,
+	0x7b, 0xae, 0xda, 0xb0, 0x55, 0xf6, 0xfe, 0xd4, 0xd9, 0x0c, 0x6d, 0x35, 0x1a, 0x49, 0xde, 0x28,
+	0x03, 0x18, 0xab, 0xa8, 0x34, 0xd2, 0xce, 0x86, 0x3f, 0x9f, 0xb2, 0x18, 0xc4, 0x66, 0x1c, 0x8d,
+	0x0f, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1d, 0x8e, 0xb2, 0x00, 0xbc, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/operation.proto b/googleapis/appengine/v1/operation.proto
deleted file mode 100644
index 28304b93..00000000
--- a/googleapis/appengine/v1/operation.proto
+++ /dev/null
@@ -1,55 +0,0 @@
-// 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.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "OperationProto";
-option java_package = "com.google.appengine.v1";
-
-
-// Metadata for the given [google.longrunning.Operation][google.longrunning.Operation].
-message OperationMetadataV1 {
-  // API method that initiated this operation. Example:
-  // `google.appengine.v1.Versions.CreateVersion`.
-  //
-  // @OutputOnly
-  string method = 1;
-
-  // Time that this operation was created.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp insert_time = 2;
-
-  // Time that this operation completed.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp end_time = 3;
-
-  // User who requested this operation.
-  //
-  // @OutputOnly
-  string user = 4;
-
-  // Name of the resource that this operation is acting on. Example:
-  // `apps/myapp/services/default`.
-  //
-  // @OutputOnly
-  string target = 5;
-}
diff --git a/googleapis/appengine/v1/service.pb.go b/googleapis/appengine/v1/service.pb.go
index 36689182..222cb13f 100644
--- a/googleapis/appengine/v1/service.pb.go
+++ b/googleapis/appengine/v1/service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/service.proto
+// source: google/appengine/v1/service.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -72,6 +72,20 @@ func (m *Service) String() string            { return proto.CompactTextString(m)
 func (*Service) ProtoMessage()               {}
 func (*Service) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
+func (m *Service) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Service) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *Service) GetSplit() *TrafficSplit {
 	if m != nil {
 		return m.Split
@@ -102,6 +116,13 @@ func (m *TrafficSplit) String() string            { return proto.CompactTextStri
 func (*TrafficSplit) ProtoMessage()               {}
 func (*TrafficSplit) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{1} }
 
+func (m *TrafficSplit) GetShardBy() TrafficSplit_ShardBy {
+	if m != nil {
+		return m.ShardBy
+	}
+	return TrafficSplit_UNSPECIFIED
+}
+
 func (m *TrafficSplit) GetAllocations() map[string]float64 {
 	if m != nil {
 		return m.Allocations
@@ -115,32 +136,31 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.TrafficSplit_ShardBy", TrafficSplit_ShardBy_name, TrafficSplit_ShardBy_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/service.proto", fileDescriptor7)
-}
+func init() { proto.RegisterFile("google/appengine/v1/service.proto", fileDescriptor7) }
 
 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,
+	// 356 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x51, 0x8b, 0xda, 0x40,
+	0x10, 0xc7, 0x9b, 0xb5, 0x6a, 0x3b, 0x11, 0x1b, 0xb6, 0x85, 0x06, 0xe9, 0x83, 0xfa, 0x64, 0x5f,
+	0x36, 0x98, 0x3e, 0xb4, 0xb4, 0xa5, 0x50, 0x35, 0x85, 0x50, 0x38, 0x43, 0xe2, 0xbd, 0xdc, 0xcb,
+	0xb1, 0xc6, 0x75, 0x6f, 0xb9, 0xb8, 0x1b, 0x92, 0x5c, 0x20, 0x5f, 0xe5, 0x3e, 0xed, 0x91, 0x6c,
+	0xf0, 0xbc, 0x43, 0xf0, 0x6d, 0x66, 0xf2, 0xfb, 0xff, 0x67, 0x32, 0xb3, 0x30, 0xe1, 0x4a, 0xf1,
+	0x84, 0x39, 0x34, 0x4d, 0x99, 0xe4, 0x42, 0x32, 0xa7, 0x9c, 0x3b, 0x39, 0xcb, 0x4a, 0x11, 0x33,
+	0x92, 0x66, 0xaa, 0x50, 0xf8, 0xa3, 0x46, 0xc8, 0x11, 0x21, 0xe5, 0x7c, 0xf4, 0xe5, 0xa8, 0x13,
+	0x0e, 0x95, 0x52, 0x15, 0xb4, 0x10, 0x4a, 0xe6, 0x5a, 0x32, 0xdd, 0x43, 0x3f, 0xd2, 0x1e, 0x18,
+	0xc3, 0x5b, 0x49, 0x0f, 0xcc, 0x36, 0xc6, 0xc6, 0xec, 0x7d, 0xd8, 0xc4, 0x78, 0x08, 0x48, 0xec,
+	0x6c, 0xd4, 0x54, 0x90, 0xd8, 0xe1, 0xef, 0xd0, 0xcd, 0xd3, 0x44, 0x14, 0x76, 0x67, 0x6c, 0xcc,
+	0x4c, 0x77, 0x42, 0xce, 0x74, 0x24, 0x9b, 0x8c, 0xee, 0xf7, 0x22, 0x8e, 0x6a, 0x30, 0xd4, 0xfc,
+	0xf4, 0x11, 0xc1, 0xe0, 0xb4, 0x8e, 0x57, 0xf0, 0x2e, 0xbf, 0xa3, 0xd9, 0xee, 0x76, 0x5b, 0x35,
+	0x1d, 0x87, 0xee, 0xd7, 0x8b, 0x66, 0x24, 0xaa, 0x15, 0x8b, 0x2a, 0xec, 0xe7, 0x3a, 0xc0, 0x1b,
+	0x30, 0x69, 0x92, 0xa8, 0x58, 0xff, 0x93, 0x8d, 0xc6, 0x9d, 0x99, 0xe9, 0xba, 0x97, 0x8d, 0xfe,
+	0x3e, 0x8b, 0x3c, 0x59, 0x64, 0x55, 0x78, 0x6a, 0x33, 0xfa, 0x03, 0xd6, 0x6b, 0x00, 0x5b, 0xd0,
+	0xb9, 0x67, 0x55, 0xbb, 0x9c, 0x3a, 0xc4, 0x9f, 0xa0, 0x5b, 0xd2, 0xe4, 0x81, 0x35, 0xeb, 0x31,
+	0x42, 0x9d, 0xfc, 0x44, 0x3f, 0x8c, 0x29, 0x81, 0x7e, 0x3b, 0x29, 0xfe, 0x00, 0xe6, 0xf5, 0x55,
+	0x14, 0x78, 0x4b, 0xff, 0x9f, 0xef, 0xad, 0xac, 0x37, 0x18, 0xa0, 0xb7, 0x5c, 0xaf, 0xff, 0xfb,
+	0x9e, 0x65, 0xe0, 0x1e, 0x20, 0x3f, 0xb0, 0xd0, 0x82, 0xc3, 0xe7, 0x58, 0x1d, 0xce, 0x4d, 0xbd,
+	0x18, 0xb4, 0xd7, 0x09, 0xea, 0x6b, 0x05, 0xc6, 0xcd, 0xef, 0x16, 0xe2, 0x2a, 0xa1, 0x92, 0x13,
+	0x95, 0x71, 0x87, 0x33, 0xd9, 0xdc, 0xd2, 0xd1, 0x9f, 0x68, 0x2a, 0xf2, 0x17, 0x8f, 0xe4, 0xd7,
+	0x31, 0xd9, 0xf6, 0x1a, 0xf0, 0xdb, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5f, 0xbc, 0x13, 0xf4,
+	0x4c, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/service.proto b/googleapis/appengine/v1/service.proto
deleted file mode 100644
index a7197594..00000000
--- a/googleapis/appengine/v1/service.proto
+++ /dev/null
@@ -1,82 +0,0 @@
-// 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.appengine.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 = "ServiceProto";
-option java_package = "com.google.appengine.v1";
-
-
-// A Service resource is a logical component of an application that can share
-// state and communicate in a secure fashion with other services.
-// For example, an application that handles customer requests might
-// include separate services to handle tasks such as backend data
-// analysis or API requests from mobile devices. Each service has a
-// collection of versions that define a specific set of code used to
-// implement the functionality of that service.
-message Service {
-  // Full path to the Service resource in the API.
-  // Example: `apps/myapp/services/default`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the service within the application.
-  // Example: `default`.
-  //
-  // @OutputOnly
-  string id = 2;
-
-  // Mapping that defines fractional HTTP traffic diversion to
-  // different versions within the service.
-  TrafficSplit split = 3;
-}
-
-// Traffic routing configuration for versions within a single service. Traffic
-// splits define how traffic directed to the service is assigned to versions.
-message TrafficSplit {
-  // Available sharding mechanisms.
-  enum ShardBy {
-    // Diversion method unspecified.
-    UNSPECIFIED = 0;
-
-    // Diversion based on a specially named cookie, "GOOGAPPUID." The cookie
-    // must be set by the application itself or no diversion will occur.
-    COOKIE = 1;
-
-    // Diversion based on applying the modulus operation to a fingerprint
-    // of the IP address.
-    IP = 2;
-  }
-
-  // Mechanism used to determine which version a request is sent to.
-  // The traffic selection algorithm will
-  // be stable for either type until allocations are changed.
-  ShardBy shard_by = 1;
-
-  // Mapping from version IDs within the service to fractional
-  // (0.000, 1] allocations of traffic for that version. Each version can
-  // be specified only once, but some versions in the service may not
-  // have any traffic allocation. Services that have traffic allocated
-  // cannot be deleted until either the service is deleted or
-  // their traffic allocation is removed. Allocations must sum to 1.
-  // Up to two decimal place precision is supported for IP-based splits and
-  // up to three decimal places is supported for cookie-based splits.
-  map<string, double> allocations = 2;
-}
diff --git a/googleapis/appengine/v1/version.pb.go b/googleapis/appengine/v1/version.pb.go
index 98715679..331a9e5d 100644
--- a/googleapis/appengine/v1/version.pb.go
+++ b/googleapis/appengine/v1/version.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/appengine/v1/version.proto
+// source: google/appengine/v1/version.proto
 // DO NOT EDIT!
 
-package google_appengine_v1 // import "google.golang.org/genproto/googleapis/appengine/v1"
+package appengine
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -249,6 +249,20 @@ func (m *Version) GetScaling() isVersion_Scaling {
 	return nil
 }
 
+func (m *Version) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Version) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *Version) GetAutomaticScaling() *AutomaticScaling {
 	if x, ok := m.GetScaling().(*Version_AutomaticScaling); ok {
 		return x.AutomaticScaling
@@ -270,6 +284,20 @@ func (m *Version) GetManualScaling() *ManualScaling {
 	return nil
 }
 
+func (m *Version) GetInboundServices() []InboundServiceType {
+	if m != nil {
+		return m.InboundServices
+	}
+	return nil
+}
+
+func (m *Version) GetInstanceClass() string {
+	if m != nil {
+		return m.InstanceClass
+	}
+	return ""
+}
+
 func (m *Version) GetNetwork() *Network {
 	if m != nil {
 		return m.Network
@@ -284,6 +312,27 @@ func (m *Version) GetResources() *Resources {
 	return nil
 }
 
+func (m *Version) GetRuntime() string {
+	if m != nil {
+		return m.Runtime
+	}
+	return ""
+}
+
+func (m *Version) GetThreadsafe() bool {
+	if m != nil {
+		return m.Threadsafe
+	}
+	return false
+}
+
+func (m *Version) GetVm() bool {
+	if m != nil {
+		return m.Vm
+	}
+	return false
+}
+
 func (m *Version) GetBetaSettings() map[string]string {
 	if m != nil {
 		return m.BetaSettings
@@ -291,6 +340,27 @@ func (m *Version) GetBetaSettings() map[string]string {
 	return nil
 }
 
+func (m *Version) GetEnv() string {
+	if m != nil {
+		return m.Env
+	}
+	return ""
+}
+
+func (m *Version) GetServingStatus() ServingStatus {
+	if m != nil {
+		return m.ServingStatus
+	}
+	return ServingStatus_SERVING_STATUS_UNSPECIFIED
+}
+
+func (m *Version) GetCreatedBy() string {
+	if m != nil {
+		return m.CreatedBy
+	}
+	return ""
+}
+
 func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -298,6 +368,13 @@ func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Version) GetDiskUsageBytes() int64 {
+	if m != nil {
+		return m.DiskUsageBytes
+	}
+	return 0
+}
+
 func (m *Version) GetHandlers() []*UrlMap {
 	if m != nil {
 		return m.Handlers
@@ -347,6 +424,13 @@ func (m *Version) GetHealthCheck() *HealthCheck {
 	return nil
 }
 
+func (m *Version) GetNobuildFilesRegex() string {
+	if m != nil {
+		return m.NobuildFilesRegex
+	}
+	return ""
+}
+
 func (m *Version) GetDeployment() *Deployment {
 	if m != nil {
 		return m.Deployment
@@ -354,6 +438,13 @@ func (m *Version) GetDeployment() *Deployment {
 	return nil
 }
 
+func (m *Version) GetVersionUrl() string {
+	if m != nil {
+		return m.VersionUrl
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Version) 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 _Version_OneofMarshaler, _Version_OneofUnmarshaler, _Version_OneofSizer, []interface{}{
@@ -505,6 +596,27 @@ func (m *AutomaticScaling) GetCpuUtilization() *CpuUtilization {
 	return nil
 }
 
+func (m *AutomaticScaling) GetMaxConcurrentRequests() int32 {
+	if m != nil {
+		return m.MaxConcurrentRequests
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMaxIdleInstances() int32 {
+	if m != nil {
+		return m.MaxIdleInstances
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMaxTotalInstances() int32 {
+	if m != nil {
+		return m.MaxTotalInstances
+	}
+	return 0
+}
+
 func (m *AutomaticScaling) GetMaxPendingLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.MaxPendingLatency
@@ -512,6 +624,20 @@ func (m *AutomaticScaling) GetMaxPendingLatency() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *AutomaticScaling) GetMinIdleInstances() int32 {
+	if m != nil {
+		return m.MinIdleInstances
+	}
+	return 0
+}
+
+func (m *AutomaticScaling) GetMinTotalInstances() int32 {
+	if m != nil {
+		return m.MinTotalInstances
+	}
+	return 0
+}
+
 func (m *AutomaticScaling) GetMinPendingLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.MinPendingLatency
@@ -564,6 +690,13 @@ func (m *BasicScaling) GetIdleTimeout() *google_protobuf1.Duration {
 	return nil
 }
 
+func (m *BasicScaling) GetMaxInstances() int32 {
+	if m != nil {
+		return m.MaxInstances
+	}
+	return 0
+}
+
 // A service with manual scaling runs continuously, allowing you to perform
 // complex initialization and rely on the state of its memory over time.
 type ManualScaling struct {
@@ -579,6 +712,13 @@ func (m *ManualScaling) String() string            { return proto.CompactTextStr
 func (*ManualScaling) ProtoMessage()               {}
 func (*ManualScaling) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{3} }
 
+func (m *ManualScaling) GetInstances() int32 {
+	if m != nil {
+		return m.Instances
+	}
+	return 0
+}
+
 // Target scaling by CPU usage.
 type CpuUtilization struct {
 	// Period of time over which CPU utilization is calculated.
@@ -600,6 +740,13 @@ func (m *CpuUtilization) GetAggregationWindowLength() *google_protobuf1.Duration
 	return nil
 }
 
+func (m *CpuUtilization) GetTargetUtilization() float64 {
+	if m != nil {
+		return m.TargetUtilization
+	}
+	return 0
+}
+
 // Target scaling by request utilization. Only applicable for VM runtimes.
 type RequestUtilization struct {
 	// Target requests per second.
@@ -613,6 +760,20 @@ func (m *RequestUtilization) String() string            { return proto.CompactTe
 func (*RequestUtilization) ProtoMessage()               {}
 func (*RequestUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{5} }
 
+func (m *RequestUtilization) GetTargetRequestCountPerSecond() int32 {
+	if m != nil {
+		return m.TargetRequestCountPerSecond
+	}
+	return 0
+}
+
+func (m *RequestUtilization) GetTargetConcurrentRequests() int32 {
+	if m != nil {
+		return m.TargetConcurrentRequests
+	}
+	return 0
+}
+
 // Target scaling by disk usage. Only applicable for VM runtimes.
 type DiskUtilization struct {
 	// Target bytes written per second.
@@ -630,6 +791,34 @@ func (m *DiskUtilization) String() string            { return proto.CompactTextS
 func (*DiskUtilization) ProtoMessage()               {}
 func (*DiskUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{6} }
 
+func (m *DiskUtilization) GetTargetWriteBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetWriteBytesPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetWriteOpsPerSecond() int32 {
+	if m != nil {
+		return m.TargetWriteOpsPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetReadBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetReadBytesPerSecond
+	}
+	return 0
+}
+
+func (m *DiskUtilization) GetTargetReadOpsPerSecond() int32 {
+	if m != nil {
+		return m.TargetReadOpsPerSecond
+	}
+	return 0
+}
+
 // Target scaling by network usage. Only applicable for VM runtimes.
 type NetworkUtilization struct {
 	// Target bytes sent per second.
@@ -647,6 +836,34 @@ func (m *NetworkUtilization) String() string            { return proto.CompactTe
 func (*NetworkUtilization) ProtoMessage()               {}
 func (*NetworkUtilization) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{7} }
 
+func (m *NetworkUtilization) GetTargetSentBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetSentBytesPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetSentPacketsPerSecond() int32 {
+	if m != nil {
+		return m.TargetSentPacketsPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetReceivedBytesPerSecond() int32 {
+	if m != nil {
+		return m.TargetReceivedBytesPerSecond
+	}
+	return 0
+}
+
+func (m *NetworkUtilization) GetTargetReceivedPacketsPerSecond() int32 {
+	if m != nil {
+		return m.TargetReceivedPacketsPerSecond
+	}
+	return 0
+}
+
 // Extra network settings. Only applicable for VM runtimes.
 type Network struct {
 	// List of ports, or port pairs, to forward from the virtual machine to the
@@ -666,6 +883,27 @@ func (m *Network) String() string            { return proto.CompactTextString(m)
 func (*Network) ProtoMessage()               {}
 func (*Network) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{8} }
 
+func (m *Network) GetForwardedPorts() []string {
+	if m != nil {
+		return m.ForwardedPorts
+	}
+	return nil
+}
+
+func (m *Network) GetInstanceTag() string {
+	if m != nil {
+		return m.InstanceTag
+	}
+	return ""
+}
+
+func (m *Network) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Machine resources for a version.
 type Resources struct {
 	// Number of CPU cores needed.
@@ -681,6 +919,27 @@ func (m *Resources) String() string            { return proto.CompactTextString(
 func (*Resources) ProtoMessage()               {}
 func (*Resources) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{9} }
 
+func (m *Resources) GetCpu() float64 {
+	if m != nil {
+		return m.Cpu
+	}
+	return 0
+}
+
+func (m *Resources) GetDiskGb() float64 {
+	if m != nil {
+		return m.DiskGb
+	}
+	return 0
+}
+
+func (m *Resources) GetMemoryGb() float64 {
+	if m != nil {
+		return m.MemoryGb
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Version)(nil), "google.appengine.v1.Version")
 	proto.RegisterType((*AutomaticScaling)(nil), "google.appengine.v1.AutomaticScaling")
@@ -696,122 +955,119 @@ func init() {
 	proto.RegisterEnum("google.appengine.v1.ServingStatus", ServingStatus_name, ServingStatus_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/appengine/v1/version.proto", fileDescriptor8)
-}
+func init() { proto.RegisterFile("google/appengine/v1/version.proto", fileDescriptor8) }
 
 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,
+	// 1767 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x58, 0x5d, 0x73, 0xdb, 0xc6,
+	0x15, 0x0d, 0x29, 0x4b, 0x14, 0x2f, 0x3f, 0x04, 0xad, 0xd3, 0x08, 0x96, 0x64, 0x89, 0x66, 0x92,
+	0xb1, 0x26, 0xd3, 0x50, 0x13, 0x77, 0x26, 0xed, 0x38, 0x9e, 0xa6, 0x22, 0x45, 0x5b, 0x6c, 0xf5,
+	0xc1, 0x01, 0x48, 0x3b, 0xd3, 0x17, 0xcc, 0x12, 0x58, 0x41, 0x5b, 0x01, 0x0b, 0x64, 0xb1, 0xa0,
+	0xc4, 0xfe, 0x87, 0x3e, 0xb6, 0xd3, 0x1f, 0xd1, 0xc7, 0xbe, 0xf5, 0xcf, 0x75, 0x76, 0x01, 0x90,
+	0x20, 0x89, 0xd8, 0xed, 0x1b, 0xf7, 0xee, 0x39, 0x67, 0x0f, 0xee, 0xde, 0xbd, 0x0b, 0x10, 0x5e,
+	0xb8, 0x41, 0xe0, 0x7a, 0xe4, 0x14, 0x87, 0x21, 0x61, 0x2e, 0x65, 0xe4, 0x74, 0xfa, 0xdd, 0xe9,
+	0x94, 0xf0, 0x88, 0x06, 0xac, 0x13, 0xf2, 0x40, 0x04, 0xe8, 0x69, 0x02, 0xe9, 0xcc, 0x21, 0x9d,
+	0xe9, 0x77, 0xfb, 0x87, 0x73, 0x1e, 0x3d, 0xc5, 0x8c, 0x05, 0x02, 0x0b, 0x1a, 0xb0, 0x28, 0xa1,
+	0xec, 0xb7, 0x8b, 0x54, 0x71, 0x18, 0x5a, 0x33, 0xec, 0x7b, 0x29, 0xa6, 0x55, 0x84, 0x71, 0x48,
+	0xe8, 0x05, 0xb3, 0x14, 0x71, 0x94, 0x22, 0xd4, 0x68, 0x12, 0xdf, 0x9e, 0x3a, 0x31, 0x57, 0xcb,
+	0xa4, 0xf3, 0xc7, 0xab, 0xf3, 0x82, 0xfa, 0x24, 0x12, 0xd8, 0x0f, 0x13, 0x40, 0xfb, 0xef, 0x0d,
+	0xa8, 0xbc, 0x4f, 0x9e, 0x05, 0x21, 0x78, 0xc2, 0xb0, 0x4f, 0xf4, 0x52, 0xab, 0x74, 0x52, 0x35,
+	0xd4, 0x6f, 0xd4, 0x84, 0x32, 0x75, 0xf4, 0xb2, 0x8a, 0x94, 0xa9, 0x83, 0x46, 0xb0, 0x8b, 0x63,
+	0x11, 0xf8, 0x58, 0x50, 0xdb, 0x8a, 0x6c, 0xec, 0x51, 0xe6, 0xea, 0x1b, 0xad, 0xd2, 0x49, 0xed,
+	0xd5, 0xd7, 0x9d, 0x82, 0x2c, 0x74, 0xce, 0x32, 0xb4, 0x99, 0x80, 0x2f, 0x3e, 0x33, 0x34, 0xbc,
+	0x12, 0x43, 0x17, 0xd0, 0x98, 0xe0, 0x28, 0xa7, 0xf8, 0x44, 0x29, 0xbe, 0x28, 0x54, 0xec, 0x4a,
+	0xe4, 0x42, 0xad, 0x3e, 0xc9, 0x8d, 0xd1, 0x9f, 0xa0, 0xe9, 0x63, 0x16, 0x63, 0x6f, 0x2e, 0xb5,
+	0xa9, 0xa4, 0xda, 0x85, 0x52, 0x57, 0x0a, 0xba, 0xd0, 0x6a, 0xf8, 0xf9, 0x00, 0x32, 0x40, 0xa3,
+	0x6c, 0x12, 0xc4, 0xcc, 0xb1, 0x22, 0xc2, 0xa7, 0xd4, 0x26, 0x91, 0xbe, 0xd5, 0xda, 0x38, 0x69,
+	0xbe, 0x7a, 0x59, 0x28, 0x37, 0x48, 0xc0, 0x66, 0x82, 0x1d, 0xcd, 0x42, 0x62, 0xec, 0xd0, 0xa5,
+	0x58, 0x84, 0xbe, 0x86, 0x26, 0x65, 0x91, 0xc0, 0xcc, 0x26, 0x96, 0xed, 0xe1, 0x28, 0xd2, 0x2b,
+	0x2a, 0xb9, 0x8d, 0x2c, 0xda, 0x93, 0x41, 0xf4, 0x3d, 0x54, 0x18, 0x11, 0x0f, 0x01, 0xbf, 0xd7,
+	0xb7, 0xd5, 0x03, 0x1c, 0x16, 0xae, 0x78, 0x9d, 0x60, 0x8c, 0x0c, 0x8c, 0xde, 0x40, 0x95, 0x93,
+	0x28, 0x88, 0xb9, 0xf4, 0x5a, 0x55, 0xcc, 0xa3, 0x42, 0xa6, 0x91, 0xa1, 0x8c, 0x05, 0x01, 0xe9,
+	0x50, 0xe1, 0x31, 0x93, 0x35, 0xa2, 0x83, 0x72, 0x95, 0x0d, 0xd1, 0x11, 0x80, 0xb8, 0xe3, 0x04,
+	0x3b, 0x11, 0xbe, 0x25, 0x7a, 0xad, 0x55, 0x3a, 0xd9, 0x36, 0x72, 0x11, 0x59, 0x27, 0x53, 0x5f,
+	0xaf, 0xab, 0x78, 0x79, 0xea, 0x23, 0x13, 0x1a, 0x13, 0x22, 0xb0, 0x15, 0x11, 0x21, 0x28, 0x73,
+	0x23, 0xbd, 0xd1, 0xda, 0x38, 0xa9, 0xbd, 0xea, 0x14, 0x7a, 0x49, 0x0b, 0xb0, 0xd3, 0x25, 0x02,
+	0x9b, 0x29, 0xa1, 0xcf, 0x04, 0x9f, 0x19, 0xf5, 0x49, 0x2e, 0x84, 0x34, 0xd8, 0x20, 0x6c, 0xaa,
+	0x37, 0x95, 0x35, 0xf9, 0x13, 0x0d, 0xa0, 0xa9, 0x76, 0x86, 0xb9, 0x56, 0x24, 0xb0, 0x88, 0x23,
+	0x7d, 0xa7, 0x55, 0x3a, 0x69, 0xfe, 0xc2, 0x76, 0x9b, 0x09, 0xd4, 0x54, 0x48, 0xa3, 0x11, 0xe5,
+	0x87, 0xe8, 0x39, 0x80, 0xcd, 0x09, 0x16, 0xc4, 0xb1, 0x26, 0x33, 0x5d, 0x53, 0x6b, 0x54, 0xd3,
+	0x48, 0x77, 0x86, 0x7e, 0x80, 0x5a, 0x32, 0xb0, 0x54, 0x7a, 0x76, 0x55, 0x6a, 0xf7, 0xb3, 0x65,
+	0xb2, 0xf3, 0xd5, 0x19, 0x65, 0xe7, 0xcb, 0x48, 0xd5, 0x64, 0x00, 0x9d, 0x80, 0xe6, 0xd0, 0xe8,
+	0xde, 0x8a, 0x23, 0xec, 0x12, 0x6b, 0x32, 0x13, 0x24, 0xd2, 0x51, 0xab, 0x74, 0xb2, 0x61, 0x34,
+	0x65, 0x7c, 0x2c, 0xc3, 0x5d, 0x19, 0x45, 0xbf, 0x85, 0xed, 0x3b, 0xcc, 0x1c, 0x8f, 0xf0, 0x48,
+	0x77, 0x54, 0xca, 0x0e, 0x0a, 0x1f, 0x65, 0xcc, 0xbd, 0x2b, 0x1c, 0x1a, 0x73, 0x30, 0xba, 0x80,
+	0x26, 0xe1, 0x3c, 0xe0, 0xd6, 0x9c, 0x4e, 0x14, 0xbd, 0xf8, 0x0c, 0xf5, 0x25, 0xf4, 0x22, 0x41,
+	0x1a, 0x0d, 0x92, 0x1b, 0x45, 0xe8, 0x35, 0x54, 0x3d, 0x3a, 0xe1, 0x98, 0x53, 0x12, 0xe9, 0xb7,
+	0x4a, 0xa4, 0xb8, 0xf8, 0x2e, 0x15, 0x6a, 0x66, 0x2c, 0xe0, 0xe8, 0x1c, 0x00, 0x87, 0xd4, 0xb2,
+	0x03, 0x76, 0x4b, 0x5d, 0xdd, 0xfd, 0x58, 0x5f, 0x08, 0x69, 0x4f, 0xa1, 0x32, 0x17, 0x55, 0x9c,
+	0x45, 0x64, 0xf1, 0x10, 0x36, 0xb5, 0xa6, 0x98, 0x53, 0x3c, 0xf1, 0x48, 0xa4, 0xdf, 0xfd, 0x0f,
+	0xc5, 0xd3, 0x67, 0xd3, 0xf7, 0x19, 0x21, 0x2d, 0x1e, 0x92, 0x0b, 0xa1, 0x0b, 0x40, 0x0e, 0xb9,
+	0xc5, 0xb1, 0x27, 0x2c, 0xf2, 0x18, 0xd2, 0xa4, 0x4d, 0xea, 0x54, 0x59, 0x7c, 0xb6, 0xb6, 0x8f,
+	0xe7, 0x69, 0x1f, 0x35, 0x76, 0x53, 0x52, 0x7f, 0xce, 0x41, 0x3d, 0xa8, 0xdf, 0x11, 0xec, 0x89,
+	0x3b, 0xcb, 0xbe, 0x23, 0xf6, 0xbd, 0xfe, 0x17, 0xa5, 0xd1, 0x2a, 0x74, 0x77, 0xa1, 0x80, 0x3d,
+	0x89, 0x33, 0x6a, 0x77, 0x8b, 0x01, 0xea, 0xc0, 0x53, 0x16, 0x4c, 0x62, 0xea, 0x39, 0xd6, 0x2d,
+	0xf5, 0x48, 0x64, 0x71, 0xe2, 0x92, 0x47, 0xfd, 0x5e, 0xd5, 0xdd, 0x6e, 0x3a, 0xf5, 0x56, 0xce,
+	0x18, 0x72, 0x02, 0xfd, 0x08, 0x90, 0x74, 0x7e, 0x9f, 0x30, 0xa1, 0x7b, 0x6a, 0xc9, 0xe3, 0xc2,
+	0x25, 0xcf, 0xe7, 0x30, 0x23, 0x47, 0x41, 0xc7, 0x50, 0x4b, 0x2f, 0x2d, 0x2b, 0xe6, 0x9e, 0xee,
+	0xab, 0x85, 0x20, 0x0d, 0x8d, 0xb9, 0xb7, 0xff, 0x23, 0xec, 0xae, 0x1d, 0x40, 0x79, 0xe4, 0xee,
+	0xc9, 0x2c, 0xbd, 0x12, 0xe4, 0x4f, 0xf4, 0x39, 0x6c, 0x4e, 0xb1, 0x17, 0x93, 0xf4, 0x52, 0x48,
+	0x06, 0xaf, 0xcb, 0xbf, 0x2b, 0x49, 0x81, 0xb5, 0x4d, 0xf8, 0x7f, 0x04, 0xba, 0x55, 0xa8, 0xa4,
+	0x5d, 0xbb, 0xfd, 0xef, 0x2d, 0xd0, 0x56, 0xaf, 0x0e, 0xd4, 0x03, 0xcd, 0x0e, 0x02, 0xcf, 0x72,
+	0x82, 0x07, 0x66, 0x85, 0x84, 0xd3, 0xc0, 0x51, 0xc2, 0x1f, 0xdd, 0xc0, 0xa6, 0xa4, 0x9c, 0x07,
+	0x0f, 0x6c, 0xa8, 0x08, 0xe8, 0x12, 0x76, 0xec, 0x30, 0xb6, 0x62, 0x41, 0x3d, 0xfa, 0xd7, 0xa4,
+	0x08, 0xca, 0x4a, 0xe3, 0xcb, 0xc2, 0x6c, 0xf6, 0xc2, 0x78, 0xbc, 0x80, 0x1a, 0x4d, 0x7b, 0x69,
+	0x8c, 0xbe, 0x87, 0x3d, 0x1f, 0x3f, 0xca, 0x82, 0xb7, 0x63, 0xce, 0x09, 0x13, 0x16, 0x27, 0x3f,
+	0xc7, 0x24, 0x12, 0x91, 0xba, 0x15, 0x37, 0x8d, 0x5f, 0xf9, 0xf8, 0xb1, 0x37, 0x9f, 0x35, 0xd2,
+	0x49, 0xf4, 0x6b, 0x40, 0x92, 0x47, 0x1d, 0x8f, 0x58, 0x59, 0xe7, 0x8f, 0xd4, 0xb5, 0xb7, 0x69,
+	0x68, 0x3e, 0x7e, 0x1c, 0x38, 0x1e, 0x19, 0x64, 0x71, 0x59, 0x2c, 0x12, 0x2d, 0x02, 0x81, 0xbd,
+	0x1c, 0x7c, 0x53, 0xc1, 0x77, 0x7d, 0xfc, 0x38, 0x92, 0x33, 0x0b, 0xfc, 0x20, 0xc1, 0x87, 0x84,
+	0x39, 0xb2, 0x35, 0x7a, 0x58, 0x10, 0x66, 0xcf, 0xf4, 0xad, 0x4f, 0x16, 0xbb, 0x8f, 0x1f, 0x87,
+	0x09, 0xe9, 0x32, 0xe1, 0x28, 0xa3, 0x94, 0xad, 0x1a, 0xad, 0xa4, 0x46, 0x29, 0x5b, 0x37, 0x4a,
+	0xd9, 0x9a, 0xd1, 0xed, 0xd4, 0x28, 0x65, 0x05, 0x46, 0x29, 0x5b, 0x33, 0x5a, 0xfd, 0xb4, 0x51,
+	0xca, 0x56, 0x8c, 0xfe, 0x04, 0x4f, 0xd3, 0xd4, 0x2f, 0xed, 0x2d, 0x28, 0xa9, 0x97, 0xbf, 0x70,
+	0x07, 0x2a, 0x7c, 0x7e, 0x7f, 0x11, 0x5f, 0x8b, 0xa1, 0x9b, 0xac, 0x7b, 0xe7, 0x64, 0x6b, 0x4a,
+	0xf6, 0xab, 0xe2, 0x03, 0x28, 0x5b, 0x7a, 0x4e, 0x73, 0xc7, 0x59, 0x0e, 0x48, 0xab, 0xe9, 0x7d,
+	0xbd, 0xa4, 0x59, 0xff, 0x88, 0xd5, 0xf4, 0xa2, 0x5f, 0xb2, 0xca, 0xd6, 0x62, 0xed, 0x9f, 0xa1,
+	0x9e, 0x7f, 0x3d, 0x42, 0x6f, 0xa0, 0xae, 0x76, 0x4e, 0xde, 0x59, 0x41, 0x2c, 0x3e, 0x7d, 0x5a,
+	0x6a, 0x12, 0x3e, 0x4a, 0xd0, 0xe8, 0x4b, 0x68, 0xa8, 0x22, 0x9d, 0xef, 0x63, 0x59, 0xed, 0x63,
+	0x5d, 0xd6, 0x67, 0x16, 0x6b, 0x7f, 0x0b, 0x8d, 0xa5, 0xd7, 0x28, 0x74, 0x08, 0xd5, 0x05, 0xa3,
+	0xa4, 0x18, 0x8b, 0x40, 0xfb, 0x1f, 0x25, 0x68, 0x2e, 0x9f, 0x29, 0x34, 0x86, 0x67, 0xd8, 0x75,
+	0x39, 0x71, 0xd5, 0xd0, 0x7a, 0xa0, 0xcc, 0x09, 0x1e, 0x2c, 0x8f, 0x30, 0x57, 0xdc, 0x7d, 0xda,
+	0xf1, 0x5e, 0x8e, 0xfb, 0x41, 0x51, 0x2f, 0x15, 0x13, 0x7d, 0x0b, 0x48, 0x60, 0xee, 0x12, 0xb1,
+	0x76, 0xd6, 0x4b, 0xc6, 0x6e, 0x32, 0x93, 0x4f, 0xdd, 0x3f, 0x4b, 0x80, 0xd6, 0x0b, 0x02, 0x9d,
+	0xc3, 0x71, 0xaa, 0x92, 0x55, 0x97, 0x1d, 0xc4, 0x4c, 0xc8, 0xf6, 0x63, 0x45, 0xc4, 0x0e, 0x98,
+	0x93, 0x3e, 0xe3, 0x41, 0x02, 0x4b, 0x25, 0x7a, 0x12, 0x34, 0x24, 0xdc, 0x54, 0x10, 0xf4, 0x06,
+	0xf6, 0x53, 0x95, 0xa2, 0x4e, 0x91, 0xa4, 0x55, 0x4f, 0x10, 0xeb, 0xcd, 0xa2, 0xfd, 0xb7, 0x32,
+	0xec, 0xac, 0x14, 0x15, 0xfa, 0x03, 0x3c, 0x4f, 0x15, 0x1f, 0x38, 0x15, 0xe9, 0x4b, 0x45, 0xde,
+	0x55, 0x53, 0x89, 0x3e, 0x4b, 0x40, 0x1f, 0x24, 0x46, 0xbd, 0x61, 0xe4, 0x3d, 0x1d, 0x2c, 0x29,
+	0x04, 0xe1, 0x12, 0x7f, 0x47, 0xf1, 0xf7, 0x72, 0xfc, 0x9b, 0x30, 0xc7, 0xfe, 0x3d, 0x1c, 0xce,
+	0xf3, 0x82, 0x9d, 0xf5, 0xe5, 0xb5, 0xfc, 0x33, 0x19, 0x04, 0x3b, 0x2b, 0xab, 0xbf, 0x9e, 0x67,
+	0x44, 0xf1, 0x57, 0x16, 0xdf, 0x55, 0xec, 0x2f, 0x16, 0xec, 0xfc, 0xda, 0xed, 0x7f, 0x95, 0x01,
+	0xad, 0x1f, 0x88, 0x9c, 0xa5, 0x48, 0xa6, 0x77, 0xcd, 0x52, 0x29, 0x6f, 0xc9, 0x24, 0x4c, 0xac,
+	0x58, 0xea, 0xc2, 0x51, 0x9e, 0x1f, 0x62, 0xfb, 0x9e, 0x88, 0x25, 0x85, 0x9a, 0x52, 0xd8, 0x5f,
+	0x28, 0x0c, 0x13, 0xcc, 0x42, 0xe3, 0x2d, 0xb4, 0xe6, 0x8f, 0x65, 0x13, 0x3a, 0x25, 0x05, 0xa9,
+	0xa9, 0x2b, 0x95, 0xc3, 0xec, 0xe1, 0x12, 0xd8, 0x8a, 0x97, 0x3f, 0x42, 0x7b, 0x55, 0xa7, 0xc0,
+	0x4f, 0x43, 0x29, 0x1d, 0x2d, 0x2b, 0xad, 0x7a, 0x6a, 0x53, 0xa8, 0xa4, 0xd9, 0x42, 0x2f, 0x61,
+	0xe7, 0x36, 0xe0, 0x0f, 0x98, 0x3b, 0x52, 0x30, 0xe0, 0x42, 0x9e, 0xd0, 0x8d, 0x93, 0xaa, 0xd1,
+	0x9c, 0x87, 0x87, 0x32, 0x8a, 0x5e, 0x40, 0x7d, 0xfe, 0x99, 0x22, 0xb0, 0x9b, 0xde, 0xd5, 0xb5,
+	0x2c, 0x36, 0xc2, 0xee, 0xfc, 0x73, 0x71, 0x63, 0xf1, 0xb9, 0xd8, 0x36, 0xa1, 0x3a, 0xff, 0xb0,
+	0x90, 0x57, 0xbf, 0x1d, 0xc6, 0x2a, 0xed, 0x25, 0x43, 0xfe, 0x44, 0x7b, 0x50, 0x51, 0x9d, 0xd4,
+	0x9d, 0xa4, 0xe7, 0x70, 0x4b, 0x0e, 0xdf, 0x4d, 0xd0, 0x01, 0x54, 0x7d, 0xe2, 0x07, 0x7c, 0x26,
+	0xa7, 0x36, 0xd4, 0xd4, 0x76, 0x12, 0x78, 0x37, 0xf9, 0xe6, 0x3f, 0x65, 0x40, 0xeb, 0x9f, 0x56,
+	0xe8, 0x18, 0x0e, 0x06, 0xd7, 0xdd, 0x9b, 0xf1, 0xf5, 0xb9, 0x65, 0xf6, 0x8d, 0xf7, 0x83, 0x5e,
+	0xdf, 0x1a, 0x5f, 0x9b, 0xc3, 0x7e, 0x6f, 0xf0, 0x76, 0xd0, 0x3f, 0xd7, 0x3e, 0x43, 0x3a, 0x7c,
+	0xbe, 0x0a, 0xb8, 0x3a, 0x1b, 0x5c, 0x6a, 0xa5, 0x22, 0xaa, 0x9c, 0xb1, 0x64, 0xa8, 0xd7, 0xd7,
+	0xca, 0xe8, 0x08, 0xf6, 0x57, 0x01, 0x3f, 0x5d, 0x0d, 0x87, 0x56, 0xdf, 0x30, 0x6e, 0x0c, 0x6d,
+	0x03, 0xb5, 0xe0, 0xb0, 0x70, 0xfe, 0xaa, 0x6f, 0x9a, 0x67, 0xef, 0xfa, 0xda, 0x13, 0xd4, 0x86,
+	0xa3, 0x42, 0x84, 0x39, 0xee, 0x9a, 0x3d, 0x63, 0xd0, 0xed, 0x6b, 0x9b, 0xe8, 0x05, 0x3c, 0x2f,
+	0xc4, 0x0c, 0x8d, 0xbe, 0xd9, 0x97, 0x46, 0xb6, 0xd0, 0x57, 0xd0, 0x5a, 0x85, 0xf4, 0x2e, 0xce,
+	0xae, 0xaf, 0xfb, 0x97, 0x0b, 0x54, 0x05, 0xed, 0xc3, 0x17, 0xab, 0xa8, 0x0f, 0x67, 0xc6, 0xd5,
+	0x78, 0xa8, 0x55, 0xbf, 0x19, 0x40, 0x63, 0xe9, 0xbb, 0x47, 0x3e, 0x9b, 0x02, 0x5d, 0xbf, 0xb3,
+	0xcc, 0xd1, 0xd9, 0x68, 0x6c, 0xae, 0xa4, 0xad, 0x06, 0x95, 0x74, 0x5e, 0x2b, 0xa9, 0xc1, 0xe8,
+	0x66, 0x38, 0xec, 0x9f, 0x6b, 0xe5, 0xae, 0x0b, 0x7b, 0x76, 0xe0, 0x17, 0xdd, 0x4f, 0xdd, 0x7a,
+	0xfa, 0x1a, 0x3e, 0x94, 0xfd, 0x79, 0x58, 0xfa, 0xf3, 0x9b, 0x14, 0xe4, 0x06, 0x1e, 0x66, 0x6e,
+	0x27, 0xe0, 0xee, 0xa9, 0x4b, 0x98, 0xea, 0xde, 0xa7, 0xc9, 0x14, 0x0e, 0x69, 0xb4, 0xf4, 0xcf,
+	0xc6, 0x0f, 0xf3, 0xc1, 0x64, 0x4b, 0x01, 0x7f, 0xf3, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f,
+	0xe1, 0xd6, 0xfa, 0x7b, 0x11, 0x00, 0x00,
 }
diff --git a/googleapis/appengine/v1/version.proto b/googleapis/appengine/v1/version.proto
deleted file mode 100644
index d915e207..00000000
--- a/googleapis/appengine/v1/version.proto
+++ /dev/null
@@ -1,377 +0,0 @@
-// 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.appengine.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/app_yaml.proto"; // from google/appengine/v1/app_yaml.proto
-import "google.golang.org/genproto/googleapis/appengine/v1/deploy.proto"; // from google/appengine/v1/deploy.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "VersionProto";
-option java_package = "com.google.appengine.v1";
-
-
-// A Version resource is a specific set of source code and configuration files
-// that are deployed into a service.
-message Version {
-  // Full path to the Version resource in the API.  Example:
-  // `apps/myapp/services/default/versions/v1`.
-  //
-  // @OutputOnly
-  string name = 1;
-
-  // Relative name of the version within the service.  Example: `v1`.
-  // Version names can contain only lowercase letters, numbers, or hyphens.
-  // Reserved names: "default", "latest", and any name with the prefix "ah-".
-  string id = 2;
-
-  // Controls how instances are created.
-  //
-  // Defaults to `AutomaticScaling`.
-  oneof scaling {
-    // Automatic scaling is based on request rate, response latencies, and other
-    // application metrics.
-    AutomaticScaling automatic_scaling = 3;
-
-    // A service with basic scaling will create an instance when the application
-    // receives a request. The instance will be turned down when the app becomes
-    // idle. Basic scaling is ideal for work that is intermittent or driven by
-    // user activity.
-    BasicScaling basic_scaling = 4;
-
-    // A service with manual scaling runs continuously, allowing you to perform
-    // complex initialization and rely on the state of its memory over time.
-    ManualScaling manual_scaling = 5;
-  }
-
-  // Before an application can receive email or XMPP messages, the application
-  // must be configured to enable the service.
-  repeated InboundServiceType inbound_services = 6;
-
-  // Instance class that is used to run this version. Valid values are:
-  // * AutomaticScaling: `F1`, `F2`, `F4`, `F4_1G`
-  // * ManualScaling or BasicScaling: `B1`, `B2`, `B4`, `B8`, `B4_1G`
-  //
-  // Defaults to `F1` for AutomaticScaling and `B1` for ManualScaling or
-  // BasicScaling.
-  string instance_class = 7;
-
-  // Extra network settings. Only applicable for VM runtimes.
-  Network network = 8;
-
-  // Machine resources for this version. Only applicable for VM runtimes.
-  Resources resources = 9;
-
-  // Desired runtime. Example: `python27`.
-  string runtime = 10;
-
-  // Whether multiple requests can be dispatched to this version at once.
-  bool threadsafe = 11;
-
-  // Whether to deploy this version in a container on a virtual machine.
-  bool vm = 12;
-
-  // Metadata settings that are supplied to this version to enable
-  // beta runtime features.
-  map<string, string> beta_settings = 13;
-
-  // App Engine execution environment for this version.
-  //
-  // Defaults to `standard`.
-  string env = 14;
-
-  // Current serving status of this version. Only the versions with a
-  // `SERVING` status create instances and can be billed.
-  //
-  // `SERVING_STATUS_UNSPECIFIED` is an invalid value. Defaults to `SERVING`.
-  ServingStatus serving_status = 15;
-
-  // Email address of the user who created this version.
-  //
-  // @OutputOnly
-  string created_by = 16;
-
-  // Time that this version was created.
-  //
-  // @OutputOnly
-  google.protobuf.Timestamp create_time = 17;
-
-  // Total size in bytes of all the files that are included in this version
-  // and curerntly hosted on the App Engine disk.
-  //
-  // @OutputOnly
-  int64 disk_usage_bytes = 18;
-
-  // An ordered list of URL-matching patterns that should be applied to incoming
-  // requests. The first matching URL handles the request and other request
-  // handlers are not attempted.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated UrlMap handlers = 100;
-
-  // Custom static error pages. Limited to 10KB per page.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated ErrorHandler error_handlers = 101;
-
-  // Configuration for third-party Python runtime libraries that are required
-  // by the application.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  repeated Library libraries = 102;
-
-  // Serving configuration for
-  // [Google Cloud Endpoints](https://cloud.google.com/appengine/docs/python/endpoints/).
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  ApiConfigHandler api_config = 103;
-
-  // Environment variables available to the application.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  map<string, string> env_variables = 104;
-
-  // Duration that static files should be cached by web proxies and browsers.
-  // Only applicable if the corresponding
-  // [StaticFilesHandler](https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#staticfileshandler)
-  // does not specify its own expiration time.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  google.protobuf.Duration default_expiration = 105;
-
-  // Configures health checking for VM instances. Unhealthy instances are
-  // stopped and replaced with new instances. Only applicable for VM
-  // runtimes.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  HealthCheck health_check = 106;
-
-  // Files that match this pattern will not be built into this version.
-  // Only applicable for Go runtimes.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  string nobuild_files_regex = 107;
-
-  // Code and application artifacts that make up this version.
-  //
-  // Only returned in `GET` requests if `view=FULL` is set.
-  Deployment deployment = 108;
-
-  // Serving URL for this version. Example:
-  // "https://myversion-dot-myservice-dot-myapp.appspot.com"
-  //
-  // @OutputOnly
-  string version_url = 109;
-}
-
-// Automatic scaling is based on request rate, response latencies, and other
-// application metrics.
-message AutomaticScaling {
-  // Amount of time that the
-  // [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/)
-  // should wait between changes to the number of virtual machines.
-  // Only applicable for VM runtimes.
-  google.protobuf.Duration cool_down_period = 1;
-
-  // Target scaling by CPU usage.
-  CpuUtilization cpu_utilization = 2;
-
-  // Number of concurrent requests an automatic scaling instance can accept
-  // before the scheduler spawns a new instance.
-  //
-  // Defaults to a runtime-specific value.
-  int32 max_concurrent_requests = 3;
-
-  // Maximum number of idle instances that should be maintained for this
-  // version.
-  int32 max_idle_instances = 4;
-
-  // Maximum number of instances that should be started to handle requests.
-  int32 max_total_instances = 5;
-
-  // Maximum amount of time that a request should wait in the pending queue
-  // before starting a new instance to handle it.
-  google.protobuf.Duration max_pending_latency = 6;
-
-  // Minimum number of idle instances that should be maintained for
-  // this version. Only applicable for the default version of a service.
-  int32 min_idle_instances = 7;
-
-  // Minimum number of instances that should be maintained for this version.
-  int32 min_total_instances = 8;
-
-  // Minimum amount of time a request should wait in the pending queue before
-  // starting a new instance to handle it.
-  google.protobuf.Duration min_pending_latency = 9;
-
-  // Target scaling by request utilization.
-  RequestUtilization request_utilization = 10;
-
-  // Target scaling by disk usage.
-  DiskUtilization disk_utilization = 11;
-
-  // Target scaling by network usage.
-  NetworkUtilization network_utilization = 12;
-}
-
-// A service with basic scaling will create an instance when the application
-// receives a request. The instance will be turned down when the app becomes
-// idle. Basic scaling is ideal for work that is intermittent or driven by
-// user activity.
-message BasicScaling {
-  // Duration of time after the last request that an instance must wait before
-  // the instance is shut down.
-  google.protobuf.Duration idle_timeout = 1;
-
-  // Maximum number of instances to create for this version.
-  int32 max_instances = 2;
-}
-
-// A service with manual scaling runs continuously, allowing you to perform
-// complex initialization and rely on the state of its memory over time.
-message ManualScaling {
-  // Number of instances to assign to the service at the start. This number
-  // can later be altered by using the
-  // [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions)
-  // `set_num_instances()` function.
-  int32 instances = 1;
-}
-
-// Target scaling by CPU usage.
-message CpuUtilization {
-  // Period of time over which CPU utilization is calculated.
-  google.protobuf.Duration aggregation_window_length = 1;
-
-  // Target CPU utilization ratio to maintain when scaling. Must be between 0
-  // and 1.
-  double target_utilization = 2;
-}
-
-// Target scaling by request utilization. Only applicable for VM runtimes.
-message RequestUtilization {
-  // Target requests per second.
-  int32 target_request_count_per_second = 1;
-
-  // Target number of concurrent requests.
-  int32 target_concurrent_requests = 2;
-}
-
-// Target scaling by disk usage. Only applicable for VM runtimes.
-message DiskUtilization {
-  // Target bytes written per second.
-  int32 target_write_bytes_per_second = 14;
-
-  // Target ops written per second.
-  int32 target_write_ops_per_second = 15;
-
-  // Target bytes read per second.
-  int32 target_read_bytes_per_second = 16;
-
-  // Target ops read per seconds.
-  int32 target_read_ops_per_second = 17;
-}
-
-// Target scaling by network usage. Only applicable for VM runtimes.
-message NetworkUtilization {
-  // Target bytes sent per second.
-  int32 target_sent_bytes_per_second = 1;
-
-  // Target packets sent per second.
-  int32 target_sent_packets_per_second = 11;
-
-  // Target bytes received per second.
-  int32 target_received_bytes_per_second = 12;
-
-  // Target packets received per second.
-  int32 target_received_packets_per_second = 13;
-}
-
-// Extra network settings. Only applicable for VM runtimes.
-message Network {
-  // List of ports, or port pairs, to forward from the virtual machine to the
-  // application container.
-  repeated string forwarded_ports = 1;
-
-  // Tag to apply to the VM instance during creation.
-  string instance_tag = 2;
-
-  // Google Cloud Platform network where the virtual machines are created.
-  // Specify the short name, not the resource path.
-  //
-  // Defaults to `default`.
-  string name = 3;
-}
-
-// Machine resources for a version.
-message Resources {
-  // Number of CPU cores needed.
-  double cpu = 1;
-
-  // Disk size (GB) needed.
-  double disk_gb = 2;
-
-  // Memory (GB) needed.
-  double memory_gb = 3;
-}
-
-// Available inbound services.
-enum InboundServiceType {
-  // Not specified.
-  INBOUND_SERVICE_UNSPECIFIED = 0;
-
-  // Allows an application to receive mail.
-  INBOUND_SERVICE_MAIL = 1;
-
-  // Allows an application to receive email-bound notifications.
-  INBOUND_SERVICE_MAIL_BOUNCE = 2;
-
-  // Allows an application to receive error stanzas.
-  INBOUND_SERVICE_XMPP_ERROR = 3;
-
-  // Allows an application to receive instant messages.
-  INBOUND_SERVICE_XMPP_MESSAGE = 4;
-
-  // Allows an application to receive user subscription POSTs.
-  INBOUND_SERVICE_XMPP_SUBSCRIBE = 5;
-
-  // Allows an application to receive a user's chat presence.
-  INBOUND_SERVICE_XMPP_PRESENCE = 6;
-
-  // Registers an application for notifications when a client connects or
-  // disconnects from a channel.
-  INBOUND_SERVICE_CHANNEL_PRESENCE = 7;
-
-  // Enables warmup requests.
-  INBOUND_SERVICE_WARMUP = 9;
-}
-
-// Run states of a version.
-enum ServingStatus {
-  // Not specified.
-  SERVING_STATUS_UNSPECIFIED = 0;
-
-  // Currently serving. Instances are created according to the
-  // scaling settings of the version.
-  SERVING = 1;
-
-  // Disabled. No instances will be created and the scaling
-  // settings are ignored until the state of the version changes
-  // to `SERVING`.
-  STOPPED = 2;
-}
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..24636a7c 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_data.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_data.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_admin_table_v1 is a generated protocol buffer package.
+Package table 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/bigtable/admin/table/v1/bigtable_table_data.proto
+	google/bigtable/admin/table/v1/bigtable_table_service.proto
+	google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 
 It has these top-level messages:
 	Table
@@ -24,7 +24,7 @@ It has these top-level messages:
 	DeleteColumnFamilyRequest
 	BulkDeleteRowsRequest
 */
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -86,6 +86,13 @@ func (m *Table) String() string            { return proto.CompactTextString(m) }
 func (*Table) ProtoMessage()               {}
 func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Table) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Table) GetCurrentOperation() *google_longrunning.Operation {
 	if m != nil {
 		return m.CurrentOperation
@@ -100,6 +107,13 @@ func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	return nil
 }
 
+func (m *Table) GetGranularity() Table_TimestampGranularity {
+	if m != nil {
+		return m.Granularity
+	}
+	return Table_MILLIS
+}
+
 // A set of columns within a table which share a common configuration.
 type ColumnFamily struct {
 	// A unique identifier of the form <table_name>/columnFamilies/[-_.a-zA-Z0-9]+
@@ -147,6 +161,20 @@ func (m *ColumnFamily) String() string            { return proto.CompactTextStri
 func (*ColumnFamily) ProtoMessage()               {}
 func (*ColumnFamily) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ColumnFamily) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ColumnFamily) GetGcExpression() string {
+	if m != nil {
+		return m.GcExpression
+	}
+	return ""
+}
+
 func (m *ColumnFamily) GetGcRule() *GcRule {
 	if m != nil {
 		return m.GcRule
@@ -379,46 +407,46 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto", fileDescriptor0)
+	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_data.proto", fileDescriptor0)
 }
 
 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,
+	// 579 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x94, 0x61, 0x6b, 0xd3, 0x40,
+	0x18, 0xc7, 0x9b, 0xa5, 0xed, 0xd8, 0xb3, 0x3a, 0xeb, 0x29, 0x52, 0x0b, 0x4a, 0xc9, 0x40, 0x8a,
+	0xc8, 0x85, 0x6d, 0xbe, 0x98, 0x53, 0x10, 0xbb, 0xcd, 0x6d, 0x32, 0x75, 0xc4, 0x29, 0x28, 0x42,
+	0xb8, 0x66, 0xb7, 0x23, 0x98, 0xbb, 0x2b, 0x97, 0x5c, 0x69, 0x5f, 0xfb, 0xc6, 0x8f, 0xe2, 0xa7,
+	0xf0, 0xb3, 0x49, 0xee, 0x2e, 0x35, 0x83, 0xe9, 0x26, 0xbe, 0x49, 0x9e, 0x3c, 0xf7, 0xfc, 0x7f,
+	0xf7, 0xcf, 0xf3, 0x5c, 0x02, 0xdb, 0x4c, 0x4a, 0x96, 0xd1, 0x70, 0x9c, 0xb2, 0x82, 0x8c, 0x33,
+	0x1a, 0x92, 0x33, 0x9e, 0x8a, 0xd0, 0xc6, 0xd3, 0x8d, 0x45, 0x3e, 0xb6, 0xd7, 0x33, 0x52, 0x10,
+	0x3c, 0x51, 0xb2, 0x90, 0xe8, 0x81, 0x55, 0xe2, 0xaa, 0x02, 0x1b, 0x25, 0xb6, 0xf1, 0x74, 0xa3,
+	0xbf, 0xee, 0xc8, 0x99, 0x14, 0x4c, 0x69, 0x21, 0x52, 0xc1, 0x42, 0x39, 0xa1, 0x8a, 0x14, 0xa9,
+	0x14, 0xb9, 0x85, 0xf4, 0x1d, 0x24, 0x34, 0x4f, 0x63, 0x7d, 0x1e, 0x9e, 0x69, 0x5b, 0x60, 0xd7,
+	0x83, 0x9f, 0x3e, 0xb4, 0x4e, 0x4b, 0x22, 0x42, 0xd0, 0x14, 0x84, 0xd3, 0x9e, 0x37, 0xf0, 0x86,
+	0x2b, 0x91, 0x89, 0xd1, 0x6b, 0xb8, 0x95, 0x68, 0xa5, 0xa8, 0x28, 0xe2, 0x05, 0xb9, 0xb7, 0x34,
+	0xf0, 0x86, 0xab, 0x9b, 0xf7, 0xb1, 0xb3, 0x57, 0xdb, 0x1e, 0xbf, 0xab, 0x8a, 0xa2, 0xae, 0xd3,
+	0x2d, 0x32, 0x68, 0x0c, 0x37, 0x13, 0x99, 0x69, 0x2e, 0xe2, 0x73, 0xc2, 0xd3, 0x2c, 0xa5, 0x79,
+	0xcf, 0x1f, 0xf8, 0xc3, 0xd5, 0xcd, 0xa7, 0xf8, 0xef, 0x2f, 0x8a, 0x8d, 0x3f, 0xbc, 0x6b, 0xc4,
+	0xaf, 0x9c, 0x76, 0x5f, 0x14, 0x6a, 0x1e, 0xad, 0x25, 0x17, 0x92, 0xe8, 0x0b, 0xac, 0x32, 0x45,
+	0x84, 0xce, 0x88, 0x4a, 0x8b, 0x79, 0xaf, 0x39, 0xf0, 0x86, 0x6b, 0x9b, 0x3b, 0xd7, 0xe3, 0x9f,
+	0xa6, 0x9c, 0xe6, 0x05, 0xe1, 0x93, 0x83, 0xdf, 0x84, 0xa8, 0x8e, 0xeb, 0x4b, 0xb8, 0x7d, 0x89,
+	0x09, 0xd4, 0x05, 0xff, 0x2b, 0x9d, 0xbb, 0xbe, 0x95, 0x21, 0x1a, 0x41, 0x6b, 0x4a, 0x32, 0x4d,
+	0x5d, 0xab, 0x1e, 0x5f, 0x65, 0xa0, 0x46, 0x9d, 0x47, 0x56, 0xba, 0xb3, 0xb4, 0xed, 0x05, 0x01,
+	0xdc, 0xb9, 0xcc, 0x15, 0x02, 0x68, 0xbf, 0x39, 0x3a, 0x3e, 0x3e, 0x7a, 0xdf, 0x6d, 0x04, 0xdf,
+	0x3d, 0xe8, 0xd4, 0xf5, 0x97, 0xce, 0x71, 0x1d, 0x6e, 0xb0, 0x24, 0xa6, 0xb3, 0x89, 0xa2, 0x79,
+	0x5e, 0xcd, 0x70, 0x25, 0xea, 0xb0, 0x64, 0x7f, 0x91, 0x43, 0x2f, 0x60, 0x99, 0x25, 0xb1, 0xd2,
+	0x19, 0xed, 0xf9, 0xc6, 0xf7, 0xc3, 0xab, 0x7c, 0x1f, 0x24, 0x91, 0xce, 0x68, 0xd4, 0x66, 0xe6,
+	0x1e, 0xfc, 0xf0, 0xa1, 0x6d, 0x53, 0xe8, 0x11, 0x74, 0x39, 0x99, 0xc5, 0x42, 0xf3, 0x78, 0x4a,
+	0x55, 0x89, 0xcf, 0x8d, 0xa1, 0xd6, 0x61, 0x23, 0x5a, 0xe3, 0x64, 0xf6, 0x56, 0xf3, 0x8f, 0x2e,
+	0x8f, 0x9e, 0xc0, 0x72, 0x59, 0x4b, 0x58, 0xd5, 0xaf, 0x7b, 0xd5, 0xbe, 0xd5, 0xa1, 0xc5, 0x7b,
+	0xee, 0xd0, 0x1e, 0x36, 0xa2, 0x36, 0x27, 0xb3, 0x97, 0x8c, 0xa2, 0x4f, 0xd0, 0x49, 0x45, 0x41,
+	0x55, 0x4e, 0x13, 0x73, 0x2a, 0xad, 0xe5, 0xad, 0xeb, 0x59, 0xc6, 0x47, 0x35, 0xe9, 0x61, 0x23,
+	0xba, 0x80, 0x42, 0x7b, 0xd0, 0xd2, 0xa2, 0x64, 0x36, 0xaf, 0x37, 0x3e, 0xc7, 0xfc, 0x20, 0x2c,
+	0xcc, 0x8a, 0xfb, 0xc7, 0xd0, 0xa9, 0xef, 0x82, 0x9e, 0x43, 0xab, 0xec, 0x6d, 0xd9, 0x07, 0xff,
+	0x1f, 0x9a, 0x6b, 0x45, 0xfd, 0x7d, 0x68, 0x19, 0xfe, 0xff, 0x61, 0x46, 0x6d, 0x68, 0x96, 0xc1,
+	0xe8, 0x9b, 0x07, 0x41, 0x22, 0xf9, 0x15, 0xe2, 0xd1, 0xdd, 0x91, 0x5b, 0x30, 0x9f, 0xc8, 0x1e,
+	0x29, 0xc8, 0x49, 0x39, 0x92, 0x13, 0xef, 0xf3, 0xae, 0x53, 0x32, 0x99, 0x11, 0xc1, 0xb0, 0x54,
+	0x2c, 0x64, 0x54, 0x98, 0x81, 0x85, 0x76, 0x89, 0x4c, 0xd2, 0xfc, 0x4f, 0x7f, 0xbd, 0x67, 0x26,
+	0x18, 0xb7, 0x4d, 0xfd, 0xd6, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x80, 0x76, 0xdc, 0x24,
+	0x05, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
deleted file mode 100644
index f85edfc5..00000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (c) 2015, 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.bigtable.admin.table.v1;
-
-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
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableDataProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-// A collection of user data indexed by row, column, and timestamp.
-// Each table is served using the resources of its parent cluster.
-message Table {
-  enum TimestampGranularity {
-    MILLIS = 0;
-  }
-
-  // A unique identifier of the form
-  // <cluster_name>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*
-  string name = 1;
-
-  // If this Table is in the process of being created, the Operation used to
-  // track its progress. As long as this operation is present, the Table will
-  // not accept any Table Admin or Read/Write requests.
-  google.longrunning.Operation current_operation = 2;
-
-  // The column families configured for this table, mapped by column family id.
-  map<string, ColumnFamily> column_families = 3;
-
-  // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in
-  // this table. Timestamps not matching the granularity will be rejected.
-  // Cannot be changed once the table is created.
-  TimestampGranularity granularity = 4;
-}
-
-// A set of columns within a table which share a common configuration.
-message ColumnFamily {
-  // A unique identifier of the form <table_name>/columnFamilies/[-_.a-zA-Z0-9]+
-  // The last segment is the same as the "name" field in
-  // google.bigtable.v1.Family.
-  string name = 1;
-
-  // Garbage collection expression specified by the following grammar:
-  //   GC = EXPR
-  //      | "" ;
-  //   EXPR = EXPR, "||", EXPR              (* lowest precedence *)
-  //        | EXPR, "&&", EXPR
-  //        | "(", EXPR, ")"                (* highest precedence *)
-  //        | PROP ;
-  //   PROP = "version() >", NUM32
-  //        | "age() >", NUM64, [ UNIT ] ;
-  //   NUM32 = non-zero-digit { digit } ;    (* # NUM32 <= 2^32 - 1 *)
-  //   NUM64 = non-zero-digit { digit } ;    (* # NUM64 <= 2^63 - 1 *)
-  //   UNIT =  "d" | "h" | "m"  (* d=days, h=hours, m=minutes, else micros *)
-  // GC expressions can be up to 500 characters in length
-  //
-  // The different types of PROP are defined as follows:
-  //   version() - cell index, counting from most recent and starting at 1
-  //   age() - age of the cell (current time minus cell timestamp)
-  //
-  // Example: "version() > 3 || (age() > 3d && version() > 1)"
-  //   drop cells beyond the most recent three, and drop cells older than three
-  //   days unless they're the most recent cell in the row/column
-  //
-  // Garbage collection executes opportunistically in the background, and so
-  // it's possible for reads to return a cell even if it matches the active GC
-  // expression for its family.
-  string gc_expression = 2;
-
-  // Garbage collection rule specified as a protobuf.
-  // Supersedes `gc_expression`.
-  // Must serialize to at most 500 bytes.
-  //
-  // NOTE: Garbage collection executes opportunistically in the background, and
-  // so it's possible for reads to return a cell even if it matches the active
-  // GC expression for its family.
-  GcRule gc_rule = 3;
-}
-
-// Rule for determining which cells to delete during garbage collection.
-message GcRule {
-  // A GcRule which deletes cells matching all of the given rules.
-  message Intersection {
-    // Only delete cells which would be deleted by every element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  // A GcRule which deletes cells matching any of the given rules.
-  message Union {
-    // Delete cells which would be deleted by any element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  oneof rule {
-    // Delete all cells in a column except the most recent N.
-    int32 max_num_versions = 1;
-
-    // Delete cells in a column older than the given age.
-    // Values must be at least one millisecond, and will be truncated to
-    // microsecond granularity.
-    google.protobuf.Duration max_age = 2;
-
-    // Delete cells that would be deleted by every nested rule.
-    Intersection intersection = 3;
-
-    // Delete cells that would be deleted by any nested rule.
-    Union union = 4;
-  }
-}
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 18f3b6f9..342c0769 100644
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
+++ b/googleapis/bigtable/admin/table/v1/bigtable_table_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_service.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -377,49 +377,48 @@ var _BigtableTableService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto",
+	Metadata: "google/bigtable/admin/table/v1/bigtable_table_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto", fileDescriptor2)
+	proto.RegisterFile("google/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{
+	// 560 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x95, 0xbf, 0x6f, 0xd4, 0x30,
+	0x14, 0xc7, 0x65, 0x06, 0x84, 0x7c, 0x88, 0xc1, 0x42, 0x0c, 0x07, 0x62, 0x88, 0xc4, 0x12, 0xa1,
+	0x58, 0xb9, 0x82, 0x68, 0xaf, 0xaa, 0x84, 0x72, 0xd7, 0x56, 0xa2, 0x20, 0x95, 0x03, 0x16, 0x96,
+	0xca, 0xc9, 0x3d, 0xa2, 0x40, 0x62, 0x87, 0xd8, 0x39, 0x54, 0x50, 0x17, 0x16, 0xfe, 0x00, 0x58,
+	0x61, 0x62, 0x64, 0x82, 0x1d, 0x76, 0x56, 0xfe, 0x05, 0xfe, 0x10, 0x14, 0x3b, 0xa1, 0x69, 0xf9,
+	0xe1, 0x73, 0xd5, 0x25, 0xe7, 0xb3, 0xbf, 0xdf, 0xf7, 0x3e, 0xcf, 0x7e, 0x96, 0xf1, 0x7a, 0x2a,
+	0x44, 0x9a, 0x03, 0x8d, 0xb3, 0x54, 0xb1, 0x38, 0x07, 0xca, 0xe6, 0x45, 0xc6, 0xa9, 0x19, 0x2f,
+	0xc2, 0xdf, 0xf3, 0x7b, 0xe6, 0x2b, 0xa1, 0x5a, 0x64, 0x09, 0x04, 0x65, 0x25, 0x94, 0x20, 0x57,
+	0x8d, 0x39, 0xe8, 0x44, 0x81, 0x36, 0x07, 0x66, 0xbc, 0x08, 0x87, 0x57, 0xda, 0xe0, 0xac, 0xcc,
+	0x28, 0xe3, 0x5c, 0x28, 0xa6, 0x32, 0xc1, 0xa5, 0x71, 0x0f, 0x57, 0xdd, 0x52, 0xcf, 0x99, 0x62,
+	0xad, 0x73, 0x7a, 0x22, 0xe8, 0xbd, 0x02, 0xa4, 0x64, 0x29, 0x74, 0xf9, 0x2f, 0xb7, 0x51, 0xf4,
+	0xbf, 0xb8, 0x7e, 0x42, 0xa1, 0x28, 0xd5, 0xbe, 0x59, 0x1c, 0x7d, 0x3d, 0x8f, 0x2f, 0x46, 0x6d,
+	0x98, 0x87, 0xcd, 0xe7, 0x81, 0x09, 0x42, 0x3e, 0x22, 0x3c, 0x98, 0x54, 0xc0, 0x94, 0x99, 0x26,
+	0xa3, 0xe0, 0xff, 0x9b, 0x10, 0xf4, 0xc4, 0x33, 0x78, 0x5e, 0x83, 0x54, 0xc3, 0x6b, 0x36, 0x8f,
+	0x56, 0x7b, 0xe3, 0xd7, 0x3f, 0x7e, 0xbe, 0x3d, 0x73, 0xc3, 0xa3, 0x4d, 0x4d, 0xaf, 0x38, 0x2b,
+	0x60, 0xa3, 0xac, 0xc4, 0x53, 0x48, 0x94, 0xa4, 0x3e, 0x7d, 0x29, 0x38, 0x34, 0xbf, 0x49, 0x5e,
+	0x4b, 0x05, 0x95, 0xa4, 0xfe, 0x81, 0xd9, 0x01, 0x39, 0x46, 0x3e, 0xf9, 0x84, 0x30, 0xbe, 0x9b,
+	0x49, 0xa5, 0x23, 0x49, 0x12, 0xda, 0x32, 0x1e, 0x6a, 0x3b, 0xc8, 0x91, 0x8b, 0x45, 0x96, 0x82,
+	0x4b, 0xf0, 0x6e, 0x69, 0xe2, 0x90, 0xb8, 0x12, 0x93, 0xf7, 0x08, 0x9f, 0xdb, 0x06, 0x13, 0x8e,
+	0x50, 0x5b, 0xe6, 0x4e, 0xe9, 0xb8, 0x9f, 0x6b, 0x9a, 0x6e, 0x85, 0x84, 0x4b, 0xd2, 0xb5, 0x70,
+	0xd4, 0x3f, 0x20, 0xef, 0x10, 0x1e, 0x4c, 0x21, 0x87, 0xa5, 0x4f, 0xbd, 0x27, 0xee, 0x28, 0x2f,
+	0x75, 0x9e, 0xae, 0xe1, 0x82, 0xcd, 0xa6, 0xe1, 0x3a, 0x2c, 0xff, 0x04, 0x58, 0x1f, 0x10, 0x1e,
+	0xcc, 0xa0, 0xb1, 0x2c, 0x89, 0xd5, 0x13, 0xdb, 0xb0, 0x26, 0x1a, 0x6b, 0xc3, 0x5b, 0x75, 0xc6,
+	0x1a, 0x57, 0x3a, 0x4b, 0xd3, 0x86, 0xdf, 0x11, 0x26, 0xe6, 0x02, 0x4c, 0x44, 0x5e, 0x17, 0x7c,
+	0x8b, 0x15, 0x59, 0xbe, 0x4f, 0xd6, 0x96, 0xbb, 0x34, 0x7d, 0x4f, 0x87, 0x7b, 0xdd, 0x6a, 0xed,
+	0x99, 0xbc, 0x1d, 0x5d, 0xc4, 0xa6, 0x77, 0xdb, 0xb9, 0x08, 0x9a, 0x1c, 0xc6, 0xc9, 0xcc, 0x9d,
+	0xfa, 0x86, 0x30, 0x79, 0x54, 0xce, 0x8f, 0x17, 0xe3, 0x44, 0xe4, 0xc8, 0x7f, 0x4f, 0xf3, 0x6f,
+	0x0f, 0x23, 0x57, 0xfe, 0x63, 0xf8, 0xcd, 0xa9, 0x20, 0x9f, 0x7c, 0x41, 0x98, 0x98, 0xce, 0x74,
+	0x3b, 0x8e, 0x3f, 0x3d, 0xb6, 0xee, 0xb9, 0xa3, 0xc1, 0xa7, 0xfe, 0x29, 0x80, 0x93, 0xcf, 0x08,
+	0x5f, 0x88, 0xea, 0xfc, 0x99, 0xa1, 0x98, 0x89, 0x17, 0x92, 0xdc, 0xb4, 0x11, 0x1f, 0xd5, 0xdb,
+	0x68, 0xef, 0x6b, 0xda, 0x1d, 0x6f, 0x4b, 0xd3, 0x9a, 0x57, 0xc3, 0xa9, 0xe3, 0xe3, 0x23, 0xe9,
+	0xc6, 0xc8, 0x8f, 0xde, 0x20, 0xec, 0x25, 0xa2, 0xb0, 0x70, 0x46, 0xc3, 0xbf, 0x3d, 0x32, 0x72,
+	0xb7, 0xc1, 0xdb, 0x45, 0x8f, 0x27, 0xad, 0x3b, 0x15, 0x39, 0xe3, 0x69, 0x20, 0xaa, 0x94, 0xa6,
+	0xc0, 0x35, 0x3c, 0x35, 0x4b, 0xac, 0xcc, 0xe4, 0xbf, 0xde, 0xc1, 0x75, 0x3d, 0x88, 0xcf, 0x6a,
+	0xfd, 0xca, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x65, 0xb4, 0xe0, 0xeb, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
deleted file mode 100644
index 77f7ea2f..00000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service.proto
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) 2015, 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.bigtable.admin.table.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto"; // from google/bigtable/admin/table/v1/bigtable_table_data.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto"; // from google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableServicesProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable tables.
-// Provides access to the table schemas only, not the data stored within the tables.
-service BigtableTableService {
-  // Creates a new table, to be served from a specified cluster.
-  // The table can be created with a full set of initial column families,
-  // specified in the request.
-  rpc CreateTable(CreateTableRequest) returns (Table) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*}/tables" body: "*" };
-  }
-
-  // Lists the names of all tables served from a specified cluster.
-  rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/zones/*/clusters/*}/tables" };
-  }
-
-  // Gets the schema of the specified table, including its column families.
-  rpc GetTable(GetTableRequest) returns (Table) {
-    option (google.api.http) = { get: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" };
-  }
-
-  // Permanently deletes a specified table and all of its data.
-  rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}" };
-  }
-
-  // Changes the name of a specified table.
-  // Cannot be used to move tables between clusters, zones, or projects.
-  rpc RenameTable(RenameTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}:rename" body: "*" };
-  }
-
-  // Creates a new column family within a specified table.
-  rpc CreateColumnFamily(CreateColumnFamilyRequest) returns (ColumnFamily) {
-    option (google.api.http) = { post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}/columnFamilies" body: "*" };
-  }
-
-  // Changes the configuration of a specified column family.
-  rpc UpdateColumnFamily(ColumnFamily) returns (ColumnFamily) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" body: "*" };
-  }
-
-  // Permanently deletes a specified column family and all of its data.
-  rpc DeleteColumnFamily(DeleteColumnFamilyRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}" };
-  }
-
-  // Delete all rows in a table corresponding to a particular prefix
-  rpc BulkDeleteRows(BulkDeleteRowsRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:bulkDeleteRows" body: "*" };
-  }
-}
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..3ac7d7f9 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
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
+// source: google/bigtable/admin/table/v1/bigtable_table_service_messages.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_table_v1 // import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1"
+package table
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -43,7 +43,21 @@ 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) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateTableRequest) GetTableId() string {
+	if m != nil {
+		return m.TableId
+	}
+	return ""
+}
 
 func (m *CreateTableRequest) GetTable() *Table {
 	if m != nil {
@@ -52,6 +66,13 @@ func (m *CreateTableRequest) GetTable() *Table {
 	return nil
 }
 
+func (m *CreateTableRequest) GetInitialSplitKeys() []string {
+	if m != nil {
+		return m.InitialSplitKeys
+	}
+	return nil
+}
+
 type ListTablesRequest struct {
 	// The unique name of the cluster for which tables should be listed.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
@@ -60,7 +81,14 @@ 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} }
+
+func (m *ListTablesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type ListTablesResponse struct {
 	// The tables present in the requested cluster.
@@ -71,7 +99,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 +116,14 @@ 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} }
+
+func (m *GetTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type DeleteTableRequest struct {
 	// The unique name of the table to be deleted.
@@ -98,7 +133,14 @@ 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} }
+
+func (m *DeleteTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type RenameTableRequest struct {
 	// The current unique name of the table.
@@ -111,7 +153,21 @@ 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} }
+
+func (m *RenameTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *RenameTableRequest) GetNewId() string {
+	if m != nil {
+		return m.NewId
+	}
+	return ""
+}
 
 type CreateColumnFamilyRequest struct {
 	// The unique name of the table in which to create the new column family.
@@ -126,7 +182,21 @@ 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) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateColumnFamilyRequest) GetColumnFamilyId() string {
+	if m != nil {
+		return m.ColumnFamilyId
+	}
+	return ""
+}
 
 func (m *CreateColumnFamilyRequest) GetColumnFamily() *ColumnFamily {
 	if m != nil {
@@ -143,7 +213,14 @@ 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} }
+
+func (m *DeleteColumnFamilyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 type BulkDeleteRowsRequest struct {
 	// The unique name of the table on which to perform the bulk delete
@@ -157,7 +234,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()
@@ -180,6 +257,13 @@ func (m *BulkDeleteRowsRequest) GetTarget() isBulkDeleteRowsRequest_Target {
 	return nil
 }
 
+func (m *BulkDeleteRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *BulkDeleteRowsRequest) GetRowKeyPrefix() []byte {
 	if x, ok := m.GetTarget().(*BulkDeleteRowsRequest_RowKeyPrefix); ok {
 		return x.RowKeyPrefix
@@ -276,41 +360,42 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor1)
-}
-
-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,
+	proto.RegisterFile("google/bigtable/admin/table/v1/bigtable_table_service_messages.proto", fileDescriptor2)
+}
+
+var fileDescriptor2 = []byte{
+	// 514 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0xc1, 0x6e, 0xd3, 0x40,
+	0x10, 0xad, 0x49, 0x1b, 0x92, 0x21, 0x94, 0xb2, 0x52, 0x51, 0x52, 0x09, 0x14, 0x56, 0x2a, 0xe4,
+	0x50, 0xd9, 0x2a, 0x5c, 0x90, 0x0a, 0x42, 0x24, 0x51, 0x69, 0x54, 0x40, 0xc1, 0xe1, 0xc4, 0xc5,
+	0xda, 0xc4, 0x13, 0x6b, 0xd5, 0xb5, 0x37, 0xec, 0x6e, 0x12, 0xf2, 0x13, 0x7c, 0x06, 0x27, 0xc4,
+	0x37, 0x22, 0xef, 0x9a, 0x26, 0x3d, 0x10, 0x97, 0x8b, 0x35, 0x9e, 0x79, 0xf3, 0x66, 0xf6, 0xcd,
+	0x0c, 0xf4, 0x13, 0x29, 0x13, 0x81, 0xc1, 0x98, 0x27, 0x86, 0x8d, 0x05, 0x06, 0x2c, 0x4e, 0x79,
+	0x16, 0x38, 0x7b, 0x71, 0x7a, 0xed, 0x8f, 0xdc, 0x57, 0xa3, 0x5a, 0xf0, 0x09, 0x46, 0x29, 0x6a,
+	0xcd, 0x12, 0xd4, 0xfe, 0x4c, 0x49, 0x23, 0xc9, 0x13, 0xc7, 0xe2, 0xff, 0x45, 0xfb, 0x96, 0xc5,
+	0x77, 0xf6, 0xe2, 0xf4, 0xe8, 0xd5, 0xff, 0x55, 0x89, 0x99, 0x61, 0x8e, 0x99, 0xfe, 0xf6, 0x80,
+	0xf4, 0x14, 0x32, 0x83, 0x5f, 0xf2, 0x50, 0x88, 0xdf, 0xe6, 0xa8, 0x0d, 0x21, 0xb0, 0x9b, 0xb1,
+	0x14, 0x9b, 0x5e, 0xdb, 0xeb, 0xd4, 0x43, 0x6b, 0x93, 0x16, 0xd4, 0x5c, 0x3a, 0x8f, 0x9b, 0x77,
+	0xac, 0xff, 0xae, 0xfd, 0x1f, 0xc4, 0xe4, 0x0c, 0xf6, 0xac, 0xd9, 0xac, 0xb4, 0xbd, 0xce, 0xbd,
+	0x17, 0xc7, 0xfe, 0xf6, 0x7e, 0x7d, 0x57, 0xcb, 0xe5, 0x90, 0x13, 0x20, 0x3c, 0xe3, 0x86, 0x33,
+	0x11, 0xe9, 0x99, 0xe0, 0x26, 0xba, 0xc2, 0x95, 0x6e, 0xee, 0xb6, 0x2b, 0x9d, 0x7a, 0x78, 0x50,
+	0x44, 0x46, 0x79, 0xe0, 0x12, 0x57, 0x9a, 0x3e, 0x87, 0x87, 0x1f, 0xb8, 0x36, 0x96, 0x41, 0x6f,
+	0x69, 0x97, 0x8e, 0x80, 0x6c, 0x02, 0xf5, 0x4c, 0x66, 0x1a, 0xc9, 0x1b, 0xa8, 0xda, 0xaa, 0xba,
+	0xe9, 0xb5, 0x2b, 0xb7, 0x6f, 0xb5, 0x48, 0xa2, 0xc7, 0xf0, 0xe0, 0x3d, 0x9a, 0x32, 0xa9, 0x68,
+	0x07, 0x48, 0x1f, 0x05, 0x96, 0x8b, 0x4a, 0xdf, 0x02, 0x09, 0x31, 0xb7, 0x4a, 0xe5, 0x3f, 0x84,
+	0x6a, 0x86, 0xcb, 0xb5, 0xf8, 0x7b, 0x19, 0x2e, 0x07, 0x31, 0xfd, 0xe5, 0x41, 0xcb, 0x0d, 0xb0,
+	0x27, 0xc5, 0x3c, 0xcd, 0xce, 0x59, 0xca, 0xc5, 0x6a, 0x1b, 0x51, 0x07, 0x0e, 0x26, 0x16, 0x1a,
+	0x4d, 0x2d, 0x76, 0x4d, 0xb9, 0x3f, 0xd9, 0xa0, 0x18, 0xc4, 0xe4, 0x33, 0xdc, 0xbf, 0x81, 0x2c,
+	0xc6, 0x7b, 0x52, 0xa6, 0xd9, 0x8d, 0x4e, 0x1a, 0x9b, 0xa4, 0x34, 0x80, 0x96, 0x53, 0xe6, 0x96,
+	0xdd, 0xd2, 0x9f, 0x1e, 0x1c, 0x76, 0xe7, 0xe2, 0xca, 0x65, 0x85, 0x72, 0x79, 0x3d, 0xf4, 0xc7,
+	0x00, 0x6e, 0x1f, 0x37, 0x72, 0xea, 0xd6, 0xf3, 0x29, 0x7f, 0xe6, 0x33, 0xd8, 0x57, 0x72, 0x99,
+	0x2f, 0x53, 0x34, 0x53, 0x38, 0xe5, 0xdf, 0xed, 0x23, 0x1b, 0x17, 0x3b, 0x61, 0x43, 0xc9, 0xe5,
+	0x25, 0xae, 0x86, 0xd6, 0x4b, 0x5e, 0xc3, 0x51, 0x6c, 0xb9, 0x23, 0x26, 0x84, 0x3d, 0x8d, 0x68,
+	0xaa, 0x64, 0x1a, 0xad, 0x17, 0xba, 0x76, 0xb1, 0x13, 0x3e, 0x72, 0x98, 0x77, 0x42, 0xf4, 0x99,
+	0x61, 0xe7, 0x4a, 0xa6, 0x76, 0x60, 0xdd, 0x5a, 0xbe, 0x4f, 0x2a, 0x41, 0xd3, 0xfd, 0xe1, 0x01,
+	0x9d, 0xc8, 0xb4, 0x44, 0x9b, 0xee, 0xd3, 0x6e, 0x11, 0xb0, 0xf9, 0x23, 0x77, 0xef, 0x1f, 0x8b,
+	0x73, 0x1f, 0xe6, 0x37, 0x39, 0xf4, 0xbe, 0xf6, 0x0a, 0x92, 0x44, 0x0a, 0x96, 0x25, 0xbe, 0x54,
+	0x49, 0x90, 0x60, 0x66, 0x2f, 0x36, 0x70, 0x21, 0x36, 0xe3, 0xfa, 0x5f, 0xe7, 0x7e, 0x66, 0x8d,
+	0x71, 0xd5, 0xe2, 0x5f, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0xf7, 0x08, 0x29, 0x16, 0x83, 0x04,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto b/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
deleted file mode 100644
index b9353510..00000000
--- a/googleapis/bigtable/admin/table/v1/bigtable_table_service_messages.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright (c) 2015, 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.bigtable.admin.table.v1;
-
-import "google.golang.org/genproto/googleapis/bigtable/admin/table/v1/bigtable_table_data.proto"; // from google/bigtable/admin/table/v1/bigtable_table_data.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableServiceMessagesProto";
-option java_package = "com.google.bigtable.admin.table.v1";
-
-
-message CreateTableRequest {
-  // The unique name of the cluster in which to create the new table.
-  string name = 1;
-
-  // The name by which the new table should be referred to within the cluster,
-  // e.g. "foobar" rather than "<cluster_name>/tables/foobar".
-  string table_id = 2;
-
-  // The Table to create. The `name` field of the Table and all of its
-  // ColumnFamilies must be left blank, and will be populated in the response.
-  Table table = 3;
-
-  // The optional list of row keys that will be used to initially split the
-  // table into several tablets (Tablets are similar to HBase regions).
-  // Given two split keys, "s1" and "s2", three tablets will be created,
-  // spanning the key ranges: [, s1), [s1, s2), [s2, ).
-  //
-  // Example:
-  //  * Row keys := ["a", "apple", "custom", "customer_1", "customer_2",
-  //                 "other", "zz"]
-  //  * initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
-  //  * Key assignment:
-  //    - Tablet 1 [, apple)                => {"a"}.
-  //    - Tablet 2 [apple, customer_1)      => {"apple", "custom"}.
-  //    - Tablet 3 [customer_1, customer_2) => {"customer_1"}.
-  //    - Tablet 4 [customer_2, other)      => {"customer_2"}.
-  //    - Tablet 5 [other, )                => {"other", "zz"}.
-  repeated string initial_split_keys = 4;
-}
-
-message ListTablesRequest {
-  // The unique name of the cluster for which tables should be listed.
-  string name = 1;
-}
-
-message ListTablesResponse {
-  // The tables present in the requested cluster.
-  // At present, only the names of the tables are populated.
-  repeated Table tables = 1;
-}
-
-message GetTableRequest {
-  // The unique name of the requested table.
-  string name = 1;
-}
-
-message DeleteTableRequest {
-  // The unique name of the table to be deleted.
-  string name = 1;
-}
-
-message RenameTableRequest {
-  // The current unique name of the table.
-  string name = 1;
-
-  // The new name by which the table should be referred to within its containing
-  // cluster, e.g. "foobar" rather than "<cluster_name>/tables/foobar".
-  string new_id = 2;
-}
-
-message CreateColumnFamilyRequest {
-  // The unique name of the table in which to create the new column family.
-  string name = 1;
-
-  // The name by which the new column family should be referred to within the
-  // table, e.g. "foobar" rather than "<table_name>/columnFamilies/foobar".
-  string column_family_id = 2;
-
-  // The column family to create. The `name` field must be left blank.
-  ColumnFamily column_family = 3;
-}
-
-message DeleteColumnFamilyRequest {
-  // The unique name of the column family to be deleted.
-  string name = 1;
-}
-
-message BulkDeleteRowsRequest {
-  // The unique name of the table on which to perform the bulk delete
-  string table_name = 1;
-
-  oneof target {
-    // Delete all rows that start with this row key prefix. Prefix cannot be
-    // zero length.
-    bytes row_key_prefix = 2;
-
-    // Delete all rows in the table. Setting this to false is a no-op.
-    bool delete_all_data_from_table = 3;
-  }
-}
diff --git a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
index 884e3201..17de8014 100644
--- a/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_instance_admin.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
+// source: google/bigtable/admin/v2/bigtable_instance_admin.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_admin_v2 is a generated protocol buffer package.
+Package admin is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto
-	google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto
+	google/bigtable/admin/v2/bigtable_instance_admin.proto
+	google/bigtable/admin/v2/bigtable_table_admin.proto
+	google/bigtable/admin/v2/common.proto
+	google/bigtable/admin/v2/instance.proto
+	google/bigtable/admin/v2/table.proto
 
 It has these top-level messages:
 	CreateInstanceRequest
@@ -38,12 +38,12 @@ It has these top-level messages:
 	ColumnFamily
 	GcRule
 */
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 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/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
@@ -89,6 +89,20 @@ func (m *CreateInstanceRequest) String() string            { return proto.Compac
 func (*CreateInstanceRequest) ProtoMessage()               {}
 func (*CreateInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *CreateInstanceRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateInstanceRequest) GetInstanceId() string {
+	if m != nil {
+		return m.InstanceId
+	}
+	return ""
+}
+
 func (m *CreateInstanceRequest) GetInstance() *Instance {
 	if m != nil {
 		return m.Instance
@@ -115,6 +129,13 @@ func (m *GetInstanceRequest) String() string            { return proto.CompactTe
 func (*GetInstanceRequest) ProtoMessage()               {}
 func (*GetInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.ListInstances.
 type ListInstancesRequest struct {
 	// The unique name of the project for which a list of instances is requested.
@@ -129,6 +150,20 @@ func (m *ListInstancesRequest) String() string            { return proto.Compact
 func (*ListInstancesRequest) ProtoMessage()               {}
 func (*ListInstancesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListInstancesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListInstancesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for BigtableInstanceAdmin.ListInstances.
 type ListInstancesResponse struct {
 	// The list of requested instances.
@@ -157,6 +192,20 @@ func (m *ListInstancesResponse) GetInstances() []*Instance {
 	return nil
 }
 
+func (m *ListInstancesResponse) GetFailedLocations() []string {
+	if m != nil {
+		return m.FailedLocations
+	}
+	return nil
+}
+
+func (m *ListInstancesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.DeleteInstance.
 type DeleteInstanceRequest struct {
 	// The unique name of the instance to be deleted.
@@ -169,6 +218,13 @@ func (m *DeleteInstanceRequest) String() string            { return proto.Compac
 func (*DeleteInstanceRequest) ProtoMessage()               {}
 func (*DeleteInstanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *DeleteInstanceRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.CreateCluster.
 type CreateClusterRequest struct {
 	// The unique name of the instance in which to create the new cluster.
@@ -189,6 +245,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *CreateClusterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -208,6 +278,13 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.ListClusters.
 type ListClustersRequest struct {
 	// The unique name of the instance for which a list of clusters is requested.
@@ -224,6 +301,20 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListClustersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for BigtableInstanceAdmin.ListClusters.
 type ListClustersResponse struct {
 	// The list of requested clusters.
@@ -251,6 +342,20 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetFailedLocations() []string {
+	if m != nil {
+		return m.FailedLocations
+	}
+	return nil
+}
+
+func (m *ListClustersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for BigtableInstanceAdmin.DeleteCluster.
 type DeleteClusterRequest struct {
 	// The unique name of the cluster to be deleted. Values are of the form
@@ -263,6 +368,13 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteClusterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The metadata for the Operation returned by CreateInstance.
 type CreateInstanceMetadata struct {
 	// The request that prompted the initiation of this CreateInstance operation.
@@ -736,76 +848,75 @@ var _BigtableInstanceAdmin_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto",
+	Metadata: "google/bigtable/admin/v2/bigtable_instance_admin.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto", fileDescriptor0)
+	proto.RegisterFile("google/bigtable/admin/v2/bigtable_instance_admin.proto", fileDescriptor0)
 }
 
 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,
+	// 985 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x41, 0x8f, 0xdb, 0x44,
+	0x14, 0xd6, 0x24, 0xa5, 0x34, 0xcf, 0xcd, 0xee, 0x32, 0x6c, 0x56, 0x91, 0x69, 0xd5, 0xad, 0x2b,
+	0xb5, 0x69, 0xba, 0xd8, 0x22, 0x20, 0x16, 0xed, 0x2a, 0x08, 0xb6, 0x54, 0xd5, 0x4a, 0x5b, 0xb1,
+	0x8a, 0xca, 0x81, 0x1e, 0x88, 0x66, 0x93, 0x59, 0x63, 0xea, 0x8c, 0x8d, 0x3d, 0x59, 0xb1, 0xaa,
+	0x7a, 0x41, 0x88, 0x43, 0x25, 0x38, 0xc0, 0x11, 0x71, 0xe2, 0xc2, 0x81, 0x7f, 0xc2, 0x91, 0x23,
+	0x27, 0x24, 0x7e, 0x00, 0x3f, 0x01, 0x8d, 0x67, 0xc6, 0x89, 0xb3, 0x76, 0xec, 0x08, 0x21, 0xf5,
+	0x66, 0xcf, 0xbc, 0xf7, 0xe6, 0x9b, 0xef, 0xfb, 0xfc, 0x5e, 0x02, 0xef, 0xba, 0x41, 0xe0, 0xfa,
+	0xd4, 0x39, 0xf1, 0x5c, 0x4e, 0x4e, 0x7c, 0xea, 0x90, 0xf1, 0xc4, 0x63, 0xce, 0x59, 0x2f, 0x5d,
+	0x19, 0x7a, 0x2c, 0xe6, 0x84, 0x8d, 0xe8, 0x30, 0xd9, 0xb2, 0xc3, 0x28, 0xe0, 0x01, 0x6e, 0xcb,
+	0x3c, 0x5b, 0x47, 0xd9, 0x72, 0xf3, 0xac, 0x67, 0x5e, 0x53, 0x15, 0x49, 0xe8, 0x39, 0x84, 0xb1,
+	0x80, 0x13, 0xee, 0x05, 0x2c, 0x96, 0x79, 0xe6, 0x9d, 0xc2, 0xf3, 0xf4, 0x31, 0x2a, 0xf0, 0x96,
+	0x0a, 0xf4, 0x03, 0xe6, 0x46, 0x53, 0xc6, 0x3c, 0xe6, 0x3a, 0x41, 0x48, 0xa3, 0x4c, 0xb5, 0x37,
+	0x54, 0x50, 0xf2, 0x76, 0x32, 0x3d, 0x75, 0xe8, 0x24, 0xe4, 0xe7, 0x6a, 0xf3, 0xc6, 0xe2, 0x26,
+	0xf7, 0x26, 0x34, 0xe6, 0x64, 0x12, 0xca, 0x00, 0xeb, 0xf7, 0x1a, 0xb4, 0xee, 0x47, 0x94, 0x70,
+	0x7a, 0xa8, 0xce, 0x1e, 0xd0, 0x2f, 0xa7, 0x34, 0xe6, 0x78, 0x0b, 0x2e, 0x87, 0x24, 0xa2, 0x8c,
+	0xb7, 0xd1, 0x36, 0xea, 0x34, 0x06, 0xea, 0x0d, 0xdf, 0x00, 0x23, 0x65, 0xc3, 0x1b, 0xb7, 0x6b,
+	0xc9, 0x26, 0xe8, 0xa5, 0xc3, 0x31, 0x7e, 0x1f, 0xae, 0xe8, 0xb7, 0x76, 0x7d, 0x1b, 0x75, 0x8c,
+	0x9e, 0x65, 0x17, 0x31, 0x65, 0xa7, 0xa7, 0xa6, 0x39, 0xf8, 0x53, 0xb8, 0x32, 0xf2, 0xa7, 0x31,
+	0xa7, 0x51, 0xdc, 0xbe, 0xb4, 0x5d, 0xef, 0x18, 0xbd, 0x7e, 0x71, 0x7e, 0x2e, 0x76, 0xfb, 0xbe,
+	0xca, 0x7f, 0xc0, 0x78, 0x74, 0x3e, 0x48, 0xcb, 0x99, 0x9f, 0x41, 0x33, 0xb3, 0x85, 0x37, 0xa0,
+	0xfe, 0x94, 0x9e, 0xab, 0x1b, 0x8a, 0x47, 0xbc, 0x0b, 0xaf, 0x9c, 0x11, 0x7f, 0x4a, 0x93, 0x8b,
+	0x19, 0xbd, 0x9b, 0x4b, 0x8e, 0x96, 0x95, 0x06, 0x32, 0x7e, 0xaf, 0xf6, 0x1e, 0xb2, 0x3a, 0x80,
+	0x1f, 0x52, 0xbe, 0xc8, 0x24, 0x86, 0x4b, 0x8c, 0x4c, 0xa8, 0x3a, 0x25, 0x79, 0xb6, 0x1e, 0xc1,
+	0xe6, 0x91, 0x17, 0xa7, 0xa1, 0x71, 0x19, 0xeb, 0xd7, 0x01, 0x42, 0xe2, 0xd2, 0x21, 0x0f, 0x9e,
+	0x52, 0xa6, 0x48, 0x6f, 0x88, 0x95, 0xc7, 0x62, 0xc1, 0xfa, 0x0d, 0x41, 0x6b, 0xa1, 0x5e, 0x1c,
+	0x06, 0x2c, 0xa6, 0xf8, 0x03, 0x68, 0x68, 0x66, 0xe3, 0x36, 0x4a, 0xe8, 0xac, 0x22, 0xc7, 0x2c,
+	0x09, 0xdf, 0x85, 0x8d, 0x53, 0xe2, 0xf9, 0x74, 0x3c, 0xf4, 0x83, 0x91, 0xb4, 0x5e, 0xbb, 0xb6,
+	0x5d, 0xef, 0x34, 0x06, 0xeb, 0x72, 0xfd, 0x48, 0x2f, 0xe3, 0xdb, 0xb0, 0xce, 0xe8, 0x57, 0x7c,
+	0x38, 0x07, 0xb5, 0x9e, 0x40, 0x6d, 0x8a, 0xe5, 0xe3, 0x14, 0xee, 0x3d, 0x68, 0x7d, 0x44, 0x7d,
+	0x7a, 0xd1, 0x74, 0x79, 0x54, 0xbd, 0x40, 0xb0, 0x29, 0x65, 0xd6, 0x8c, 0x97, 0x73, 0xa5, 0x14,
+	0x9f, 0x19, 0xb4, 0xa1, 0x56, 0x0e, 0xc7, 0x78, 0x1f, 0x5e, 0x55, 0x2f, 0xca, 0x9e, 0x15, 0x34,
+	0xd6, 0x19, 0xd6, 0x1d, 0x78, 0xed, 0x21, 0xe5, 0x0b, 0x40, 0xf2, 0x50, 0x1f, 0xc1, 0xeb, 0x42,
+	0x10, 0x6d, 0xb7, 0xff, 0xa8, 0xef, 0xaf, 0x48, 0xfa, 0x65, 0x56, 0x4e, 0xc9, 0xdb, 0x9f, 0xfb,
+	0x58, 0xa4, 0xba, 0x15, 0x6e, 0x93, 0xa6, 0xfc, 0x1f, 0xda, 0x76, 0x61, 0x53, 0x6a, 0x5b, 0x81,
+	0xa4, 0x7f, 0x10, 0x6c, 0x65, 0xbf, 0xe0, 0x47, 0x94, 0x93, 0x31, 0xe1, 0x04, 0x3f, 0x81, 0x8d,
+	0x20, 0xf2, 0x5c, 0x8f, 0x11, 0x7f, 0x18, 0xc9, 0x12, 0x49, 0xaa, 0xd1, 0x73, 0x56, 0xec, 0x06,
+	0x83, 0x75, 0x5d, 0x48, 0x43, 0xe9, 0xc3, 0x55, 0x55, 0x72, 0x28, 0xfa, 0xa1, 0xfa, 0xd4, 0x4d,
+	0x5d, 0x57, 0x37, 0x4b, 0xfb, 0xb1, 0x6e, 0x96, 0x03, 0x43, 0xc5, 0x8b, 0x15, 0xbc, 0x0f, 0xc6,
+	0xa9, 0xc7, 0xbc, 0xf8, 0x73, 0x99, 0x5d, 0x2f, 0xcd, 0x06, 0x19, 0x2e, 0x16, 0xac, 0xbf, 0x10,
+	0xb4, 0x3e, 0x09, 0xc7, 0x33, 0x37, 0xa7, 0x37, 0x3e, 0x2a, 0xbc, 0x71, 0x05, 0x49, 0x5f, 0xa6,
+	0x3b, 0xf6, 0xfe, 0x34, 0xa0, 0x75, 0xa0, 0xa0, 0x6a, 0x31, 0x3e, 0x14, 0x88, 0xf1, 0xf7, 0x08,
+	0xd6, 0xb2, 0x22, 0xe1, 0x55, 0xe5, 0x34, 0xaf, 0xeb, 0x84, 0xb9, 0xb1, 0x68, 0x7f, 0xac, 0xc7,
+	0xa2, 0xb5, 0xf3, 0xf5, 0x1f, 0x7f, 0xff, 0x58, 0xbb, 0x6d, 0xdd, 0x14, 0x03, 0xf5, 0x99, 0xfc,
+	0xbc, 0xfa, 0x61, 0x14, 0x7c, 0x41, 0x47, 0x3c, 0x76, 0xba, 0xcf, 0xd3, 0x21, 0x1b, 0xef, 0xa1,
+	0x2e, 0x7e, 0x81, 0xc0, 0x98, 0x6b, 0xd9, 0x78, 0xa7, 0x18, 0xcd, 0xc5, 0xce, 0x6e, 0x56, 0xe8,
+	0xa4, 0xd6, 0xdd, 0x04, 0xcf, 0x2d, 0x2c, 0xf1, 0x08, 0xdb, 0xcf, 0xa1, 0x99, 0x81, 0x71, 0xba,
+	0xcf, 0xf1, 0x4f, 0x08, 0x9a, 0x99, 0x2e, 0x8e, 0xed, 0xe2, 0x03, 0xf2, 0xc6, 0x87, 0xe9, 0x54,
+	0x8e, 0x97, 0xfd, 0x63, 0x01, 0xdd, 0x32, 0xb6, 0xf0, 0xb7, 0x08, 0xd6, 0xa4, 0x73, 0x53, 0xb6,
+	0x2a, 0xdc, 0xbf, 0x12, 0x47, 0x4a, 0x33, 0xb3, 0x9c, 0x23, 0xa1, 0xd9, 0x37, 0x08, 0xd6, 0xb2,
+	0xe3, 0x63, 0x99, 0x89, 0x72, 0x07, 0x8d, 0xb9, 0x75, 0xc1, 0xca, 0x0f, 0xc4, 0xcf, 0x26, 0xcd,
+	0x47, 0xb7, 0x82, 0x5a, 0x3f, 0x23, 0x68, 0x66, 0xe6, 0xd2, 0x32, 0xb5, 0xf2, 0x06, 0x58, 0x99,
+	0x93, 0xfb, 0x09, 0x96, 0x5d, 0x6b, 0x27, 0x5f, 0x9b, 0x0c, 0x1a, 0x47, 0xb7, 0xf4, 0x3d, 0x3d,
+	0xaa, 0xf0, 0x0f, 0x08, 0x60, 0x36, 0xab, 0xf0, 0xbd, 0xa5, 0xce, 0x5e, 0x40, 0x56, 0xde, 0x71,
+	0xac, 0x77, 0x12, 0x74, 0x36, 0xde, 0x29, 0x63, 0x2a, 0x85, 0x26, 0x48, 0xfb, 0x05, 0xc1, 0xd5,
+	0xf9, 0x41, 0x86, 0xdf, 0x5c, 0xee, 0xd8, 0x85, 0xf9, 0x69, 0xda, 0x55, 0xc3, 0x95, 0xbf, 0xb3,
+	0x28, 0x2b, 0x72, 0x28, 0xba, 0x42, 0x33, 0xd3, 0xa4, 0x71, 0x39, 0x21, 0x65, 0x6a, 0xee, 0x26,
+	0x48, 0xde, 0x32, 0x57, 0xe2, 0x4b, 0xd8, 0xfd, 0x3b, 0x04, 0xcd, 0xcc, 0x44, 0x5d, 0xe6, 0xb3,
+	0xbc, 0xd1, 0x5b, 0x68, 0x76, 0x45, 0x4e, 0x77, 0x25, 0x48, 0x07, 0xcf, 0xe0, 0xda, 0x28, 0x98,
+	0x14, 0x42, 0x38, 0x30, 0x73, 0x5b, 0xff, 0xb1, 0x38, 0xfa, 0x18, 0x3d, 0xe9, 0xab, 0x3c, 0x37,
+	0xf0, 0x09, 0x73, 0xed, 0x20, 0x72, 0x1d, 0x97, 0xb2, 0x04, 0x98, 0x23, 0xb7, 0x48, 0xe8, 0xc5,
+	0x17, 0xff, 0x1b, 0xed, 0x27, 0x0f, 0x27, 0x97, 0x93, 0xc8, 0xb7, 0xff, 0x0d, 0x00, 0x00, 0xff,
+	0xff, 0xb8, 0x4b, 0x18, 0x4a, 0xb4, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto b/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
deleted file mode 100644
index c8460f1b..00000000
--- a/googleapis/bigtable/admin/v2/bigtable_instance_admin.proto
+++ /dev/null
@@ -1,232 +0,0 @@
-// 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.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto"; // from google/bigtable/admin/v2/instance.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 = "BigtableInstanceAdminProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable Instances and
-// Clusters. Provides access to the Instance and Cluster schemas only, not the
-// tables metadata or data stored in those tables.
-service BigtableInstanceAdmin {
-  // Create an instance within a project.
-  rpc CreateInstance(CreateInstanceRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*}/instances" body: "*" };
-  }
-
-  // Gets information about an instance.
-  rpc GetInstance(GetInstanceRequest) returns (Instance) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*}" };
-  }
-
-  // Lists information about instances in a project.
-  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/instances" };
-  }
-
-  // Updates an instance within a project.
-  rpc UpdateInstance(Instance) returns (Instance) {
-    option (google.api.http) = { put: "/v2/{name=projects/*/instances/*}" body: "*" };
-  }
-
-  // Delete an instance from a project.
-  rpc DeleteInstance(DeleteInstanceRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*}" };
-  }
-
-  // Creates a cluster within an instance.
-  rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/clusters" body: "cluster" };
-  }
-
-  // Gets information about a cluster.
-  rpc GetCluster(GetClusterRequest) returns (Cluster) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/clusters/*}" };
-  }
-
-  // Lists information about clusters in an instance.
-  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/clusters" };
-  }
-
-  // Updates a cluster within an instance.
-  rpc UpdateCluster(Cluster) returns (google.longrunning.Operation) {
-    option (google.api.http) = { put: "/v2/{name=projects/*/instances/*/clusters/*}" body: "*" };
-  }
-
-  // Deletes a cluster from an instance.
-  rpc DeleteCluster(DeleteClusterRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/clusters/*}" };
-  }
-}
-
-// Request message for BigtableInstanceAdmin.CreateInstance.
-message CreateInstanceRequest {
-  // The unique name of the project in which to create the new instance.
-  // Values are of the form projects/<project>
-  string parent = 1;
-
-  // The id to be used when referring to the new instance within its project,
-  // e.g. just the "myinstance" section of the full name
-  // "projects/myproject/instances/myinstance"
-  string instance_id = 2;
-
-  // The instance to create.
-  // Fields marked "@OutputOnly" must be left blank.
-  Instance instance = 3;
-
-  // The clusters to be created within the instance, mapped by desired
-  // cluster ID (e.g. just the "mycluster" part of the full name
-  // "projects/myproject/instances/myinstance/clusters/mycluster").
-  // Fields marked "@OutputOnly" must be left blank.
-  // Currently exactly one cluster must be specified.
-  map<string, Cluster> clusters = 4;
-}
-
-// Request message for BigtableInstanceAdmin.GetInstance.
-message GetInstanceRequest {
-  // The unique name of the requested instance. Values are of the form
-  // projects/<project>/instances/<instance>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.ListInstances.
-message ListInstancesRequest {
-  // The unique name of the project for which a list of instances is requested.
-  // Values are of the form projects/<project>
-  string parent = 1;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 2;
-}
-
-// Response message for BigtableInstanceAdmin.ListInstances.
-message ListInstancesResponse {
-  // The list of requested instances.
-  repeated Instance instances = 1;
-
-  // Locations from which Instance information could not be retrieved,
-  // due to an outage or some other transient condition.
-  // Instances whose Clusters are all in one of the failed locations
-  // may be missing from 'instances', and Instances with at least one
-  // Cluster in a failed location may only have partial information returned.
-  repeated string failed_locations = 2;
-
-  // Set if not all instances could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 3;
-}
-
-// Request message for BigtableInstanceAdmin.DeleteInstance.
-message DeleteInstanceRequest {
-  // The unique name of the instance to be deleted.
-  // Values are of the form projects/<project>/instances/<instance>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.CreateCluster.
-message CreateClusterRequest {
-  // The unique name of the instance in which to create the new cluster.
-  // Values are of the form
-  // projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*
-  string parent = 1;
-
-  // The id to be used when referring to the new cluster within its instance,
-  // e.g. just the "mycluster" section of the full name
-  // "projects/myproject/instances/myinstance/clusters/mycluster"
-  string cluster_id = 2;
-
-  // The cluster to be created.
-  // Fields marked "@OutputOnly" must be left blank.
-  Cluster cluster = 3;
-}
-
-// Request message for BigtableInstanceAdmin.GetCluster.
-message GetClusterRequest {
-  // The unique name of the requested cluster. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/<cluster>
-  string name = 1;
-}
-
-// Request message for BigtableInstanceAdmin.ListClusters.
-message ListClustersRequest {
-  // The unique name of the instance for which a list of clusters is requested.
-  // Values are of the form projects/<project>/instances/<instance>
-  // Use <instance> = '-' to list Clusters for all Instances in a project,
-  // for example "projects/myproject/instances/-"
-  string parent = 1;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 2;
-}
-
-// Response message for BigtableInstanceAdmin.ListClusters.
-message ListClustersResponse {
-  // The list of requested clusters.
-  repeated Cluster clusters = 1;
-
-  // Locations from which Cluster information could not be retrieved,
-  // due to an outage or some other transient condition.
-  // Clusters from these locations may be missing from 'clusters',
-  // or may only have partial information returned.
-  repeated string failed_locations = 2;
-
-  // Set if not all clusters could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 3;
-}
-
-// Request message for BigtableInstanceAdmin.DeleteCluster.
-message DeleteClusterRequest {
-  // The unique name of the cluster to be deleted. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/<cluster>
-  string name = 1;
-}
-
-// The metadata for the Operation returned by CreateInstance.
-message CreateInstanceMetadata {
-  // The request that prompted the initiation of this CreateInstance operation.
-  CreateInstanceRequest original_request = 1;
-
-  // The time at which the original request was received.
-  google.protobuf.Timestamp request_time = 2;
-
-  // The time at which the operation failed or was completed successfully.
-  google.protobuf.Timestamp finish_time = 3;
-}
-
-// The metadata for the Operation returned by UpdateCluster.
-message UpdateClusterMetadata {
-  // The request that prompted the initiation of this UpdateCluster operation.
-  Cluster original_request = 1;
-
-  // The time at which the original request was received.
-  google.protobuf.Timestamp request_time = 2;
-
-  // The time at which the operation failed or was completed successfully.
-  google.protobuf.Timestamp finish_time = 3;
-}
diff --git a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
index 3390a56e..7896af3f 100644
--- a/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
+++ b/googleapis/bigtable/admin/v2/bigtable_table_admin.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
+// source: google/bigtable/admin/v2/bigtable_table_admin.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -53,6 +53,20 @@ func (m *CreateTableRequest) String() string            { return proto.CompactTe
 func (*CreateTableRequest) ProtoMessage()               {}
 func (*CreateTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *CreateTableRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *CreateTableRequest) GetTableId() string {
+	if m != nil {
+		return m.TableId
+	}
+	return ""
+}
+
 func (m *CreateTableRequest) GetTable() *Table {
 	if m != nil {
 		return m.Table
@@ -78,6 +92,13 @@ func (m *CreateTableRequest_Split) String() string            { return proto.Com
 func (*CreateTableRequest_Split) ProtoMessage()               {}
 func (*CreateTableRequest_Split) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0, 0} }
 
+func (m *CreateTableRequest_Split) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
 type DropRowRangeRequest struct {
 	// The unique name of the table on which to drop a range of rows.
@@ -115,6 +136,13 @@ func (m *DropRowRangeRequest) GetTarget() isDropRowRangeRequest_Target {
 	return nil
 }
 
+func (m *DropRowRangeRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *DropRowRangeRequest) GetRowKeyPrefix() []byte {
 	if x, ok := m.GetTarget().(*DropRowRangeRequest_RowKeyPrefix); ok {
 		return x.RowKeyPrefix
@@ -215,6 +243,27 @@ func (m *ListTablesRequest) String() string            { return proto.CompactTex
 func (*ListTablesRequest) ProtoMessage()               {}
 func (*ListTablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *ListTablesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListTablesRequest) GetView() Table_View {
+	if m != nil {
+		return m.View
+	}
+	return Table_VIEW_UNSPECIFIED
+}
+
+func (m *ListTablesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
 type ListTablesResponse struct {
 	// The tables present in the requested cluster.
@@ -237,6 +286,13 @@ func (m *ListTablesResponse) GetTables() []*Table {
 	return nil
 }
 
+func (m *ListTablesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
 type GetTableRequest struct {
 	// The unique name of the requested table.
@@ -252,6 +308,20 @@ func (m *GetTableRequest) String() string            { return proto.CompactTextS
 func (*GetTableRequest) ProtoMessage()               {}
 func (*GetTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *GetTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetTableRequest) GetView() Table_View {
+	if m != nil {
+		return m.View
+	}
+	return Table_VIEW_UNSPECIFIED
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
 type DeleteTableRequest struct {
 	// The unique name of the table to be deleted.
@@ -264,6 +334,13 @@ func (m *DeleteTableRequest) String() string            { return proto.CompactTe
 func (*DeleteTableRequest) ProtoMessage()               {}
 func (*DeleteTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *DeleteTableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies]
 type ModifyColumnFamiliesRequest struct {
 	// The unique name of the table whose families should be modified.
@@ -281,6 +358,13 @@ func (m *ModifyColumnFamiliesRequest) String() string            { return proto.
 func (*ModifyColumnFamiliesRequest) ProtoMessage()               {}
 func (*ModifyColumnFamiliesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *ModifyColumnFamiliesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *ModifyColumnFamiliesRequest) GetModifications() []*ModifyColumnFamiliesRequest_Modification {
 	if m != nil {
 		return m.Modifications
@@ -336,6 +420,13 @@ func (m *ModifyColumnFamiliesRequest_Modification) GetMod() isModifyColumnFamili
 	return nil
 }
 
+func (m *ModifyColumnFamiliesRequest_Modification) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 func (m *ModifyColumnFamiliesRequest_Modification) GetCreate() *ColumnFamily {
 	if x, ok := m.GetMod().(*ModifyColumnFamiliesRequest_Modification_Create); ok {
 		return x.Create
@@ -717,69 +808,67 @@ var _BigtableTableAdmin_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto",
+	Metadata: "google/bigtable/admin/v2/bigtable_table_admin.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/bigtable_table_admin.proto", fileDescriptor1)
+	proto.RegisterFile("google/bigtable/admin/v2/bigtable_table_admin.proto", fileDescriptor1)
 }
 
 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,
+	// 864 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4d, 0x6f, 0x1b, 0x45,
+	0x18, 0xce, 0xd8, 0x4e, 0x9a, 0xbc, 0x76, 0x52, 0x18, 0xaa, 0xb0, 0xdd, 0x16, 0x11, 0xad, 0xaa,
+	0x28, 0x98, 0xb0, 0x2b, 0x6d, 0x15, 0x15, 0x85, 0x56, 0x50, 0x37, 0x94, 0xf0, 0x25, 0x45, 0x4b,
+	0x85, 0x04, 0x97, 0xd5, 0xc4, 0x3b, 0x5e, 0x86, 0xec, 0xce, 0x2c, 0xbb, 0xe3, 0x38, 0x16, 0xea,
+	0x05, 0x21, 0x21, 0x71, 0xed, 0xa9, 0xe2, 0x8f, 0x20, 0x2e, 0xfc, 0x08, 0xce, 0xdc, 0xf8, 0x09,
+	0xfc, 0x00, 0x34, 0x33, 0xeb, 0xd8, 0xc1, 0x5e, 0xbb, 0xce, 0xc5, 0x9a, 0x79, 0x3f, 0x9f, 0xf7,
+	0xe3, 0xd9, 0x31, 0xdc, 0x8f, 0x85, 0x88, 0x13, 0xea, 0x9d, 0xb2, 0x58, 0x92, 0xd3, 0x84, 0x7a,
+	0x24, 0x4a, 0x19, 0xf7, 0xce, 0xfd, 0x4b, 0x49, 0x68, 0x7e, 0xb5, 0xdc, 0xcd, 0x72, 0x21, 0x05,
+	0xb6, 0x8c, 0x93, 0x3b, 0x32, 0x71, 0x8d, 0xf2, 0xdc, 0xb7, 0xef, 0x96, 0xe1, 0x48, 0xc6, 0x3c,
+	0xc2, 0xb9, 0x90, 0x44, 0x32, 0xc1, 0x0b, 0xe3, 0x67, 0xdf, 0xab, 0x4c, 0x66, 0xc2, 0x18, 0xab,
+	0x3b, 0xa5, 0x95, 0xbe, 0x9d, 0xf6, 0x7b, 0x1e, 0x4d, 0x33, 0x39, 0x34, 0x4a, 0xe7, 0x5f, 0x04,
+	0xf8, 0x49, 0x4e, 0x89, 0xa4, 0xcf, 0x94, 0x4b, 0x40, 0x7f, 0xe8, 0xd3, 0x42, 0xe2, 0x6d, 0x58,
+	0xcb, 0x48, 0x4e, 0xb9, 0xb4, 0xd0, 0x0e, 0xda, 0xdb, 0x08, 0xca, 0x1b, 0xbe, 0x0d, 0xeb, 0x06,
+	0x3e, 0x8b, 0xac, 0x9a, 0xd6, 0xdc, 0xd0, 0xf7, 0x4f, 0x23, 0x7c, 0x00, 0xab, 0xfa, 0x68, 0xd5,
+	0x77, 0xd0, 0x5e, 0xd3, 0x7f, 0xdb, 0xad, 0x2a, 0xca, 0x35, 0x99, 0x8c, 0x35, 0xfe, 0x06, 0xb6,
+	0x18, 0x67, 0x92, 0x91, 0x24, 0x2c, 0xb2, 0x84, 0xc9, 0xc2, 0x6a, 0xec, 0xd4, 0xf7, 0x9a, 0xbe,
+	0x5f, 0xed, 0x3f, 0x8d, 0xd7, 0xfd, 0x4a, 0xb9, 0x06, 0x9b, 0x65, 0x24, 0x7d, 0x2b, 0xec, 0xdb,
+	0xb0, 0xaa, 0x4f, 0xf8, 0x35, 0xa8, 0x9f, 0xd1, 0xa1, 0x2e, 0xa5, 0x15, 0xa8, 0xa3, 0xf3, 0x12,
+	0xc1, 0x1b, 0x47, 0xb9, 0xc8, 0x02, 0x31, 0x08, 0x08, 0x8f, 0x2f, 0xeb, 0xc6, 0xd0, 0xe0, 0x24,
+	0xa5, 0x65, 0xd5, 0xfa, 0x8c, 0x77, 0x61, 0x2b, 0x17, 0x83, 0xf0, 0x8c, 0x0e, 0xc3, 0x2c, 0xa7,
+	0x3d, 0x76, 0xa1, 0x2b, 0x6f, 0x1d, 0xaf, 0x04, 0xad, 0x5c, 0x0c, 0x3e, 0xa7, 0xc3, 0x13, 0x2d,
+	0xc5, 0x0f, 0xc1, 0x8e, 0x68, 0x42, 0x25, 0x0d, 0x49, 0x92, 0x84, 0x11, 0x91, 0x24, 0xec, 0xe5,
+	0x22, 0x0d, 0xc7, 0x5d, 0x59, 0x3f, 0x5e, 0x09, 0xb6, 0x8d, 0xcd, 0xe3, 0x24, 0x39, 0x22, 0x92,
+	0x3c, 0xcd, 0x45, 0xaa, 0x0b, 0xe9, 0xac, 0xc3, 0x9a, 0x24, 0x79, 0x4c, 0xa5, 0xf3, 0x33, 0x82,
+	0xd7, 0xbf, 0x60, 0x85, 0xd4, 0xf2, 0x62, 0xd1, 0x44, 0xde, 0x87, 0xc6, 0x39, 0xa3, 0x03, 0x8d,
+	0x69, 0xcb, 0xbf, 0xb7, 0xa0, 0xeb, 0xee, 0xd7, 0x8c, 0x0e, 0x02, 0xed, 0x81, 0xdf, 0x02, 0xc8,
+	0x48, 0x4c, 0x43, 0x29, 0xce, 0x28, 0xd7, 0xf8, 0x36, 0x82, 0x0d, 0x25, 0x79, 0xa6, 0x04, 0x4e,
+	0x1f, 0xf0, 0x24, 0x8a, 0x22, 0x13, 0xbc, 0xa0, 0xf8, 0x81, 0x82, 0xa9, 0x24, 0x16, 0xd2, 0x63,
+	0x5a, 0x38, 0xe6, 0xd2, 0x1c, 0xef, 0xc2, 0x4d, 0x4e, 0x2f, 0x64, 0x38, 0x91, 0xd2, 0x2c, 0xd0,
+	0xa6, 0x12, 0x9f, 0x5c, 0xa6, 0x0d, 0xe1, 0xe6, 0x27, 0x54, 0x5e, 0x59, 0xc6, 0x59, 0x43, 0xb9,
+	0x76, 0xd9, 0xce, 0x1e, 0xe0, 0x23, 0x3d, 0x82, 0x45, 0x39, 0x9c, 0xbf, 0x6b, 0x70, 0xe7, 0x4b,
+	0x11, 0xb1, 0xde, 0xf0, 0x89, 0x48, 0xfa, 0x29, 0x7f, 0x4a, 0x52, 0x96, 0xb0, 0xf1, 0x48, 0x66,
+	0xe1, 0xfa, 0x0e, 0x36, 0x53, 0xe5, 0xc2, 0xba, 0x86, 0xa9, 0x56, 0x4d, 0xb7, 0xa9, 0x53, 0x0d,
+	0x70, 0x4e, 0x06, 0xa3, 0x2b, 0x43, 0x05, 0x57, 0x03, 0xdb, 0x7f, 0x22, 0x68, 0x4d, 0xea, 0xf1,
+	0x16, 0xd4, 0x58, 0x54, 0x82, 0xa9, 0xb1, 0x08, 0x7f, 0x04, 0x6b, 0x5d, 0xcd, 0x14, 0xdd, 0xa4,
+	0xa6, 0xbf, 0x3b, 0x87, 0x51, 0xe3, 0xec, 0xc3, 0xe3, 0x95, 0xa0, 0xf4, 0x53, 0x11, 0xfa, 0x59,
+	0xa4, 0x22, 0xd4, 0x97, 0x8d, 0x60, 0xfc, 0xf0, 0x2d, 0x68, 0x44, 0xb9, 0xc8, 0xac, 0x46, 0xb9,
+	0xfd, 0xfa, 0xd6, 0x59, 0x85, 0x7a, 0x2a, 0x22, 0xff, 0xf7, 0x1b, 0x80, 0x3b, 0x65, 0x24, 0x3d,
+	0x8c, 0xc7, 0x2a, 0x1a, 0x7e, 0x81, 0xa0, 0x39, 0x41, 0x71, 0xbc, 0xbf, 0xcc, 0x97, 0xc0, 0x5e,
+	0xb4, 0x90, 0xce, 0xc1, 0x4f, 0x7f, 0xfd, 0xf3, 0xa2, 0xe6, 0x39, 0x6d, 0xf5, 0x9d, 0xfc, 0xd1,
+	0xb0, 0xe8, 0x51, 0x96, 0x8b, 0xef, 0x69, 0x57, 0x16, 0x5e, 0xdb, 0x63, 0xbc, 0x90, 0x84, 0x77,
+	0x69, 0xe1, 0xb5, 0x9f, 0x9b, 0xef, 0x68, 0x71, 0x88, 0xda, 0xf8, 0x37, 0x04, 0x30, 0xe6, 0x03,
+	0x7e, 0xb7, 0x3a, 0xcd, 0x14, 0x77, 0xed, 0xfd, 0x57, 0x33, 0x36, 0x14, 0x73, 0x7c, 0x0d, 0x70,
+	0x1f, 0x2f, 0x01, 0x10, 0xff, 0x8a, 0x60, 0x7d, 0x44, 0x1b, 0xfc, 0x4e, 0x75, 0xba, 0xff, 0x51,
+	0x6b, 0x71, 0xb7, 0xae, 0x82, 0x51, 0x2b, 0x5e, 0x01, 0xa5, 0x44, 0xe2, 0xb5, 0x9f, 0xe3, 0x5f,
+	0x10, 0x34, 0x27, 0x28, 0x36, 0x6f, 0x80, 0xd3, 0x4c, 0xb4, 0xb7, 0x47, 0xd6, 0xa3, 0xf7, 0xca,
+	0xfd, 0x58, 0xbd, 0x57, 0x23, 0x24, 0xed, 0x65, 0x90, 0xfc, 0x81, 0xe0, 0xd6, 0x2c, 0x7e, 0xe1,
+	0x83, 0x6b, 0xf1, 0x71, 0x71, 0xbb, 0x3e, 0xd3, 0x20, 0x8f, 0x9c, 0x0f, 0x5f, 0x1d, 0xe4, 0x61,
+	0x3a, 0x23, 0xa1, 0xda, 0xb8, 0x97, 0x08, 0x5a, 0x93, 0x6f, 0x14, 0x7e, 0x6f, 0x4e, 0x1f, 0xa7,
+	0xdf, 0xb2, 0xca, 0x46, 0x76, 0x34, 0xc6, 0x87, 0xce, 0x83, 0x25, 0x30, 0x46, 0x13, 0xf1, 0x0f,
+	0x51, 0xbb, 0x73, 0x01, 0x77, 0xbb, 0x22, 0xad, 0xc4, 0xd3, 0x79, 0x73, 0x9a, 0xd7, 0x27, 0x0a,
+	0xc5, 0x09, 0xfa, 0xf6, 0x51, 0xe9, 0x14, 0x8b, 0x84, 0xf0, 0xd8, 0x15, 0x79, 0xec, 0xc5, 0x94,
+	0x6b, 0x8c, 0x9e, 0x51, 0x91, 0x8c, 0x15, 0xd3, 0xff, 0x69, 0x3e, 0xd0, 0x87, 0xd3, 0x35, 0x6d,
+	0x79, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb9, 0xba, 0x3b, 0xe9, 0x69, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/bigtable_table_admin.proto b/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
deleted file mode 100644
index 5be2fbbc..00000000
--- a/googleapis/bigtable/admin/v2/bigtable_table_admin.proto
+++ /dev/null
@@ -1,195 +0,0 @@
-// 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.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto"; // from google/bigtable/admin/v2/table.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableTableAdminProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Service for creating, configuring, and deleting Cloud Bigtable tables.
-// Provides access to the table schemas only, not the data stored within
-// the tables.
-service BigtableTableAdmin {
-  // Creates a new table in the specified instance.
-  // The table can be created with a full set of initial column families,
-  // specified in the request.
-  rpc CreateTable(CreateTableRequest) returns (Table) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*/instances/*}/tables" body: "*" };
-  }
-
-  // Lists all tables served from a specified instance.
-  rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*/instances/*}/tables" };
-  }
-
-  // Gets metadata information about the specified table.
-  rpc GetTable(GetTableRequest) returns (Table) {
-    option (google.api.http) = { get: "/v2/{name=projects/*/instances/*/tables/*}" };
-  }
-
-  // Permanently deletes a specified table and all of its data.
-  rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/{name=projects/*/instances/*/tables/*}" };
-  }
-
-  // Atomically performs a series of column family modifications
-  // on the specified table.
-  rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table) {
-    option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:modifyColumnFamilies" body: "*" };
-  }
-
-  // Permanently drop/delete a row range from a specified table. The request can
-  // specify whether to delete all rows in a table, or only those that match a
-  // particular prefix.
-  rpc DropRowRange(DropRowRangeRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v2/{name=projects/*/instances/*/tables/*}:dropRowRange" body: "*" };
-  }
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.CreateTable][google.bigtable.admin.v2.BigtableTableAdmin.CreateTable]
-message CreateTableRequest {
-  // An initial split point for a newly created table.
-  message Split {
-    // Row key to use as an initial tablet boundary.
-    bytes key = 1;
-  }
-
-  // The unique name of the instance in which to create the table.
-  // Values are of the form projects/<project>/instances/<instance>
-  string parent = 1;
-
-  // The name by which the new table should be referred to within the parent
-  // instance, e.g. "foobar" rather than "<parent>/tables/foobar".
-  string table_id = 2;
-
-  // The Table to create.
-  Table table = 3;
-
-  // The optional list of row keys that will be used to initially split the
-  // table into several tablets (Tablets are similar to HBase regions).
-  // Given two split keys, "s1" and "s2", three tablets will be created,
-  // spanning the key ranges: [, s1), [s1, s2), [s2, ).
-  //
-  // Example:
-  //  * Row keys := ["a", "apple", "custom", "customer_1", "customer_2",
-  //                 "other", "zz"]
-  //  * initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
-  //  * Key assignment:
-  //    - Tablet 1 [, apple)                => {"a"}.
-  //    - Tablet 2 [apple, customer_1)      => {"apple", "custom"}.
-  //    - Tablet 3 [customer_1, customer_2) => {"customer_1"}.
-  //    - Tablet 4 [customer_2, other)      => {"customer_2"}.
-  //    - Tablet 5 [other, )                => {"other", "zz"}.
-  repeated Split initial_splits = 4;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange][google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange]
-message DropRowRangeRequest {
-  // The unique name of the table on which to drop a range of rows.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  oneof target {
-    // Delete all rows that start with this row key prefix. Prefix cannot be
-    // zero length.
-    bytes row_key_prefix = 2;
-
-    // Delete all rows in the table. Setting this to false is a no-op.
-    bool delete_all_data_from_table = 3;
-  }
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
-message ListTablesRequest {
-  // The unique name of the instance for which tables should be listed.
-  // Values are of the form projects/<project>/instances/<instance>
-  string parent = 1;
-
-  // The view to be applied to the returned tables' fields.
-  // Defaults to NAME_ONLY if unspecified (no others are currently supported).
-  Table.View view = 2;
-
-  // The value of `next_page_token` returned by a previous call.
-  string page_token = 3;
-}
-
-// Response message for [google.bigtable.admin.v2.BigtableTableAdmin.ListTables][google.bigtable.admin.v2.BigtableTableAdmin.ListTables]
-message ListTablesResponse {
-  // The tables present in the requested cluster.
-  repeated Table tables = 1;
-
-  // Set if not all tables could be returned in a single response.
-  // Pass this value to `page_token` in another request to get the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.GetTable][google.bigtable.admin.v2.BigtableTableAdmin.GetTable]
-message GetTableRequest {
-  // The unique name of the requested table.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  // The view to be applied to the returned table's fields.
-  // Defaults to SCHEMA_ONLY if unspecified.
-  Table.View view = 2;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
-message DeleteTableRequest {
-  // The unique name of the table to be deleted.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-}
-
-// Request message for [google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies][google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies]
-message ModifyColumnFamiliesRequest {
-  // A create, update, or delete of a particular column family.
-  message Modification {
-    // The ID of the column family to be modified.
-    string id = 1;
-
-    oneof mod {
-      // Create a new column family with the specified schema, or fail if
-      // one already exists with the given ID.
-      ColumnFamily create = 2;
-
-      // Update an existing column family to the specified schema, or fail
-      // if no column family exists with the given ID.
-      ColumnFamily update = 3;
-
-      // Drop (delete) the column family with the given ID, or fail if no such
-      // family exists.
-      bool drop = 4;
-    }
-  }
-
-  // The unique name of the table whose families should be modified.
-  // Values are of the form projects/<project>/instances/<instance>/tables/<table>
-  string name = 1;
-
-  // Modifications to be atomically applied to the specified table's families.
-  // Entries are applied in order, meaning that earlier modifications can be
-  // masked by later ones (in the case of repeated updates to the same family,
-  // for example).
-  repeated Modification modifications = 2;
-}
diff --git a/googleapis/bigtable/admin/v2/common.pb.go b/googleapis/bigtable/admin/v2/common.pb.go
index 61220ec9..d52196db 100644
--- a/googleapis/bigtable/admin/v2/common.pb.go
+++ b/googleapis/bigtable/admin/v2/common.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto
+// source: google/bigtable/admin/v2/common.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 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/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -47,26 +47,23 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.StorageType", StorageType_name, StorageType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/common.proto", fileDescriptor2) }
 
 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,
+	// 234 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0xc4, 0x40,
+	0x10, 0x85, 0x3d, 0x05, 0x85, 0xbd, 0x26, 0xa4, 0x3a, 0x8e, 0x80, 0x95, 0x8d, 0xc5, 0x0e, 0x9c,
+	0xa5, 0x5c, 0xe1, 0x5d, 0xa2, 0x5e, 0xa3, 0xc1, 0x8d, 0x85, 0x36, 0xc7, 0xe4, 0x5c, 0x87, 0x85,
+	0xec, 0xce, 0x92, 0xac, 0x07, 0xfe, 0x7b, 0xc9, 0x6e, 0xac, 0xc4, 0xee, 0x0d, 0xef, 0x9b, 0x99,
+	0x37, 0x23, 0xae, 0x88, 0x99, 0x3a, 0x0d, 0xad, 0xa1, 0x80, 0x6d, 0xa7, 0x01, 0x3f, 0xac, 0x71,
+	0x70, 0x5c, 0xc1, 0x81, 0xad, 0x65, 0x27, 0x7d, 0xcf, 0x81, 0xf3, 0x45, 0xc2, 0xe4, 0x2f, 0x26,
+	0x23, 0x26, 0x8f, 0xab, 0x65, 0x31, 0x0d, 0x40, 0x6f, 0x00, 0x9d, 0xe3, 0x80, 0xc1, 0xb0, 0x1b,
+	0x52, 0xdf, 0xf2, 0x72, 0x72, 0x63, 0xd5, 0x7e, 0x7d, 0x42, 0x30, 0x56, 0x0f, 0x01, 0xad, 0x4f,
+	0xc0, 0xf5, 0x5a, 0xcc, 0x55, 0xe0, 0x1e, 0x49, 0x37, 0xdf, 0x5e, 0xe7, 0x85, 0x58, 0xa8, 0xe6,
+	0xf9, 0xe5, 0xee, 0xa1, 0xda, 0x37, 0x6f, 0x75, 0xb5, 0x7f, 0x7d, 0x52, 0x75, 0xb5, 0xdd, 0xdd,
+	0xef, 0xaa, 0x32, 0x3b, 0xc9, 0x2f, 0xc4, 0x99, 0x52, 0x65, 0x36, 0x1b, 0xc5, 0x63, 0x59, 0x66,
+	0xa7, 0x9b, 0x4e, 0x14, 0x07, 0xb6, 0xf2, 0xbf, 0x74, 0x9b, 0xf9, 0x36, 0x5e, 0x51, 0x8f, 0xbb,
+	0xea, 0xd9, 0xfb, 0x7a, 0x02, 0x89, 0x3b, 0x74, 0x24, 0xb9, 0x27, 0x20, 0xed, 0x62, 0x12, 0x48,
+	0x16, 0x7a, 0x33, 0xfc, 0x7d, 0xc6, 0x6d, 0x14, 0xed, 0x79, 0x24, 0x6f, 0x7e, 0x02, 0x00, 0x00,
+	0xff, 0xff, 0x66, 0x13, 0x33, 0x8e, 0x35, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/common.proto b/googleapis/bigtable/admin/v2/common.proto
deleted file mode 100644
index cc793a42..00000000
--- a/googleapis/bigtable/admin/v2/common.proto
+++ /dev/null
@@ -1,37 +0,0 @@
-// 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.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// Storage media types for persisting Bigtable data.
-enum StorageType {
-  // The user did not specify a storage type.
-  STORAGE_TYPE_UNSPECIFIED = 0;
-
-  // Flash (SSD) storage should be used.
-  SSD = 1;
-
-  // Magnetic drive (HDD) storage should be used.
-  HDD = 2;
-}
diff --git a/googleapis/bigtable/admin/v2/instance.pb.go b/googleapis/bigtable/admin/v2/instance.pb.go
index f00fb880..ffa834b2 100644
--- a/googleapis/bigtable/admin/v2/instance.pb.go
+++ b/googleapis/bigtable/admin/v2/instance.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto
+// source: google/bigtable/admin/v2/instance.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -110,6 +110,27 @@ func (m *Instance) String() string            { return proto.CompactTextString(m
 func (*Instance) ProtoMessage()               {}
 func (*Instance) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *Instance) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Instance) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *Instance) GetState() Instance_State {
+	if m != nil {
+		return m.State
+	}
+	return Instance_STATE_NOT_KNOWN
+}
+
 // A resizable group of nodes in a particular cloud location, capable
 // of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
 // [Instance][google.bigtable.admin.v2.Instance].
@@ -140,6 +161,41 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
+func (m *Cluster) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Cluster) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *Cluster) GetState() Cluster_State {
+	if m != nil {
+		return m.State
+	}
+	return Cluster_STATE_NOT_KNOWN
+}
+
+func (m *Cluster) GetServeNodes() int32 {
+	if m != nil {
+		return m.ServeNodes
+	}
+	return 0
+}
+
+func (m *Cluster) GetDefaultStorageType() StorageType {
+	if m != nil {
+		return m.DefaultStorageType
+	}
+	return StorageType_STORAGE_TYPE_UNSPECIFIED
+}
+
 func init() {
 	proto.RegisterType((*Instance)(nil), "google.bigtable.admin.v2.Instance")
 	proto.RegisterType((*Cluster)(nil), "google.bigtable.admin.v2.Cluster")
@@ -147,36 +203,34 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.Cluster_State", Cluster_State_name, Cluster_State_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/instance.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/instance.proto", fileDescriptor3) }
 
 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, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x51, 0xab, 0xd3, 0x30,
+	0x14, 0xc7, 0xed, 0xee, 0xaa, 0xbb, 0xb9, 0x57, 0x2d, 0xd1, 0x87, 0x32, 0x06, 0xce, 0xc2, 0x58,
+	0x9f, 0x52, 0x98, 0xf8, 0x24, 0x13, 0xba, 0xad, 0x48, 0x51, 0xba, 0xd9, 0x16, 0x86, 0x7b, 0x29,
+	0x59, 0x1b, 0x43, 0xa1, 0x4d, 0x4a, 0x93, 0x0d, 0xf6, 0xcd, 0xfc, 0x02, 0x7e, 0x2f, 0x69, 0xda,
+	0x89, 0x43, 0xfb, 0xe2, 0x5b, 0xfe, 0xe7, 0xfc, 0x92, 0xff, 0x9f, 0x93, 0x03, 0xe6, 0x94, 0x73,
+	0x5a, 0x10, 0xe7, 0x98, 0x53, 0x89, 0x8f, 0x05, 0x71, 0x70, 0x56, 0xe6, 0xcc, 0x39, 0x2f, 0x9c,
+	0x9c, 0x09, 0x89, 0x59, 0x4a, 0x50, 0x55, 0x73, 0xc9, 0xa1, 0xd9, 0x82, 0xe8, 0x0a, 0x22, 0x05,
+	0xa2, 0xf3, 0x62, 0x3c, 0xe9, 0x9e, 0xc0, 0x55, 0xee, 0x60, 0xc6, 0xb8, 0xc4, 0x32, 0xe7, 0x4c,
+	0xb4, 0xf7, 0xc6, 0xb3, 0x5e, 0x83, 0x94, 0x97, 0x25, 0x67, 0x2d, 0x66, 0xfd, 0xd0, 0xc0, 0xc8,
+	0xef, 0x1c, 0x21, 0x04, 0x43, 0x86, 0x4b, 0x62, 0x6a, 0x53, 0xcd, 0xbe, 0x0f, 0xd5, 0x19, 0xbe,
+	0x05, 0x8f, 0x59, 0x2e, 0xaa, 0x02, 0x5f, 0x12, 0xd5, 0x1b, 0xa8, 0xde, 0x43, 0x57, 0x0b, 0x1a,
+	0xe4, 0x23, 0xd0, 0x85, 0xc4, 0x92, 0x98, 0x77, 0x53, 0xcd, 0x7e, 0xb1, 0xb0, 0x51, 0x5f, 0x64,
+	0x74, 0x75, 0x42, 0x51, 0xc3, 0x87, 0xed, 0x35, 0xeb, 0x3d, 0xd0, 0x95, 0x86, 0xaf, 0xc0, 0xcb,
+	0x28, 0x76, 0x63, 0x2f, 0x09, 0xb6, 0x71, 0xf2, 0x39, 0xd8, 0xee, 0x03, 0xe3, 0x09, 0xbc, 0x07,
+	0x7a, 0xe8, 0xb9, 0x9b, 0x6f, 0x86, 0x06, 0x1f, 0xc1, 0x68, 0x1d, 0x7a, 0x6e, 0xec, 0x07, 0x9f,
+	0x8c, 0x81, 0xf5, 0x73, 0x00, 0x9e, 0xad, 0x8b, 0x93, 0x90, 0xa4, 0xfe, 0x67, 0xf2, 0x31, 0x18,
+	0x15, 0x3c, 0x55, 0x43, 0xe9, 0x52, 0xff, 0xd6, 0x70, 0x79, 0x1b, 0x79, 0xde, 0x1f, 0xb9, 0x73,
+	0xb8, 0x49, 0x0c, 0xdf, 0x80, 0x07, 0x41, 0xea, 0x33, 0x49, 0x18, 0xcf, 0x88, 0x30, 0x87, 0x53,
+	0xcd, 0xd6, 0x43, 0xa0, 0x4a, 0x41, 0x53, 0x81, 0x7b, 0xf0, 0x3a, 0x23, 0xdf, 0xf1, 0xa9, 0x90,
+	0x89, 0x90, 0xbc, 0xc6, 0x94, 0x24, 0xf2, 0x52, 0x11, 0x53, 0x57, 0x76, 0xb3, 0x7e, 0xbb, 0xa8,
+	0xa5, 0xe3, 0x4b, 0x45, 0x42, 0xd8, 0x3d, 0xf1, 0x47, 0xcd, 0xfa, 0xfa, 0x5f, 0xb3, 0x6a, 0x54,
+	0xe8, 0x45, 0xfe, 0xa1, 0x51, 0x77, 0x8d, 0xda, 0xf8, 0x91, 0xbb, 0xfa, 0xe2, 0x6d, 0x8c, 0xe1,
+	0x8a, 0x81, 0x49, 0xca, 0xcb, 0xde, 0x48, 0xab, 0xe7, 0xd7, 0x5f, 0xdb, 0x35, 0x1b, 0xb3, 0xd3,
+	0x0e, 0xcb, 0x0e, 0xa5, 0xbc, 0xc0, 0x8c, 0x22, 0x5e, 0x53, 0x87, 0x12, 0xa6, 0xf6, 0xc9, 0x69,
+	0x5b, 0xb8, 0xca, 0xc5, 0xdf, 0x9b, 0xf7, 0x41, 0x1d, 0x8e, 0x4f, 0x15, 0xf9, 0xee, 0x57, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x33, 0x2a, 0xdc, 0x7a, 0x03, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/instance.proto b/googleapis/bigtable/admin/v2/instance.proto
deleted file mode 100644
index ee29ea8d..00000000
--- a/googleapis/bigtable/admin/v2/instance.proto
+++ /dev/null
@@ -1,113 +0,0 @@
-// 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.bigtable.admin.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/admin/v2/common.proto"; // from google/bigtable/admin/v2/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "InstanceProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// A collection of Bigtable [Tables][google.bigtable.admin.v2.Table] and
-// the resources that serve them.
-// All tables in an instance are served from a single
-// [Cluster][google.bigtable.admin.v2.Cluster].
-message Instance {
-  // Possible states of an instance.
-  enum State {
-    // The state of the instance could not be determined.
-    STATE_NOT_KNOWN = 0;
-
-    // The instance has been successfully created and can serve requests
-    // to its tables.
-    READY = 1;
-
-    // The instance is currently being created, and may be destroyed
-    // if the creation process encounters an error.
-    CREATING = 2;
-  }
-
-  // @OutputOnly
-  // The unique name of the instance. Values are of the form
-  // projects/<project>/instances/[a-z][a-z0-9\\-]+[a-z0-9]
-  string name = 1;
-
-  // The descriptive name for this instance as it appears in UIs.
-  // Can be changed at any time, but should be kept globally unique
-  // to avoid confusion.
-  string display_name = 2;
-
-  //
-  // The current state of the instance.
-  State state = 3;
-}
-
-// A resizable group of nodes in a particular cloud location, capable
-// of serving all [Tables][google.bigtable.admin.v2.Table] in the parent
-// [Instance][google.bigtable.admin.v2.Instance].
-message Cluster {
-  // Possible states of a cluster.
-  enum State {
-    // The state of the cluster could not be determined.
-    STATE_NOT_KNOWN = 0;
-
-    // The cluster has been successfully created and is ready to serve requests.
-    READY = 1;
-
-    // The cluster is currently being created, and may be destroyed
-    // if the creation process encounters an error.
-    // A cluster may not be able to serve requests while being created.
-    CREATING = 2;
-
-    // The cluster is currently being resized, and may revert to its previous
-    // node count if the process encounters an error.
-    // A cluster is still capable of serving requests while being resized,
-    // but may exhibit performance as if its number of allocated nodes is
-    // between the starting and requested states.
-    RESIZING = 3;
-
-    // The cluster has no backing nodes. The data (tables) still
-    // exist, but no operations can be performed on the cluster.
-    DISABLED = 4;
-  }
-
-  // @OutputOnly
-  // The unique name of the cluster. Values are of the form
-  // projects/<project>/instances/<instance>/clusters/[a-z][-a-z0-9]*
-  string name = 1;
-
-  // @CreationOnly
-  // The location where this cluster's nodes and storage reside. For best
-  // performance, clients should be located as close as possible to this cluster.
-  // Currently only zones are supported, e.g. projects/*/locations/us-central1-b
-  string location = 2;
-
-  // @OutputOnly
-  // The current state of the cluster.
-  State state = 3;
-
-  // The number of nodes allocated to this cluster. More nodes enable higher
-  // throughput and more consistent performance.
-  int32 serve_nodes = 4;
-
-  // @CreationOnly
-  // The type of storage used by this cluster to serve its
-  // parent instance's tables, unless explicitly overridden.
-  StorageType default_storage_type = 5;
-}
diff --git a/googleapis/bigtable/admin/v2/table.pb.go b/googleapis/bigtable/admin/v2/table.pb.go
index cf62c3ba..13a3426c 100644
--- a/googleapis/bigtable/admin/v2/table.pb.go
+++ b/googleapis/bigtable/admin/v2/table.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto
+// source: google/bigtable/admin/v2/table.proto
 // DO NOT EDIT!
 
-package google_bigtable_admin_v2 // import "google.golang.org/genproto/googleapis/bigtable/admin/v2"
+package admin
 
 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/api/annotations"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -100,6 +100,13 @@ func (m *Table) String() string            { return proto.CompactTextString(m) }
 func (*Table) ProtoMessage()               {}
 func (*Table) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *Table) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	if m != nil {
 		return m.ColumnFamilies
@@ -107,6 +114,13 @@ func (m *Table) GetColumnFamilies() map[string]*ColumnFamily {
 	return nil
 }
 
+func (m *Table) GetGranularity() Table_TimestampGranularity {
+	if m != nil {
+		return m.Granularity
+	}
+	return Table_TIMESTAMP_GRANULARITY_UNSPECIFIED
+}
+
 // A set of columns within a table which share a common configuration.
 type ColumnFamily struct {
 	// Garbage collection rule specified as a protobuf.
@@ -355,48 +369,45 @@ func init() {
 	proto.RegisterEnum("google.bigtable.admin.v2.Table_View", Table_View_name, Table_View_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/admin/v2/table.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/bigtable/admin/v2/table.proto", fileDescriptor4) }
 
 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,
+	// 592 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x94, 0xed, 0x6a, 0xdb, 0x3c,
+	0x14, 0xc7, 0xe3, 0xda, 0x49, 0x9f, 0x9e, 0xf4, 0x69, 0x8d, 0xd6, 0x0f, 0x59, 0x28, 0x23, 0x0b,
+	0xdb, 0x08, 0x83, 0xd9, 0x90, 0x96, 0xb1, 0xf7, 0x91, 0xb6, 0x4e, 0x63, 0x70, 0xb2, 0xe0, 0xbc,
+	0x8c, 0x8e, 0x81, 0x51, 0x5c, 0x55, 0x88, 0x5a, 0x72, 0xf0, 0x4b, 0xd6, 0xdc, 0xc5, 0xee, 0x6c,
+	0xb7, 0x34, 0x2c, 0x3b, 0x2c, 0xdd, 0x1a, 0x3a, 0xf6, 0x29, 0x47, 0x3a, 0xff, 0xff, 0x4f, 0x47,
+	0x47, 0x27, 0x86, 0x27, 0x34, 0x0c, 0x69, 0x40, 0xcc, 0x19, 0xa3, 0x09, 0x9e, 0x05, 0xc4, 0xc4,
+	0x97, 0x9c, 0x09, 0x73, 0xd1, 0x36, 0xe5, 0xd2, 0x98, 0x47, 0x61, 0x12, 0xa2, 0x5a, 0xae, 0x32,
+	0x56, 0x2a, 0x43, 0xaa, 0x8c, 0x45, 0xbb, 0x7e, 0x58, 0xf8, 0xf1, 0x9c, 0x99, 0x58, 0x88, 0x30,
+	0xc1, 0x09, 0x0b, 0x45, 0x9c, 0xfb, 0xea, 0x8f, 0x8a, 0xac, 0x5c, 0xcd, 0xd2, 0x2b, 0xf3, 0x32,
+	0x8d, 0xa4, 0x20, 0xcf, 0x37, 0x7f, 0xa8, 0x50, 0x1e, 0x67, 0x40, 0x84, 0x40, 0x13, 0x98, 0x93,
+	0x9a, 0xd2, 0x50, 0x5a, 0x3b, 0xae, 0x8c, 0xd1, 0x57, 0xd8, 0xf7, 0xc3, 0x20, 0xe5, 0xc2, 0xbb,
+	0xc2, 0x9c, 0x05, 0x8c, 0xc4, 0x35, 0xb5, 0xa1, 0xb6, 0xaa, 0xed, 0x23, 0x63, 0x53, 0x3d, 0x86,
+	0xa4, 0x19, 0xa7, 0xd2, 0xd6, 0x2d, 0x5c, 0x96, 0x48, 0xa2, 0xa5, 0xbb, 0xe7, 0xdf, 0xda, 0x44,
+	0x53, 0xa8, 0xd2, 0x08, 0x8b, 0x34, 0xc0, 0x11, 0x4b, 0x96, 0x35, 0xad, 0xa1, 0xb4, 0xf6, 0xda,
+	0xc7, 0xf7, 0x91, 0xc7, 0x8c, 0x93, 0x38, 0xc1, 0x7c, 0x7e, 0xfe, 0xcb, 0xeb, 0xae, 0x83, 0xea,
+	0x0c, 0x1e, 0xdc, 0x71, 0x3c, 0xd2, 0x41, 0xbd, 0x26, 0xcb, 0xe2, 0x7e, 0x59, 0x88, 0xde, 0x41,
+	0x79, 0x81, 0x83, 0x94, 0xd4, 0xb6, 0x1a, 0x4a, 0xab, 0xda, 0x7e, 0xb6, 0xf9, 0xe8, 0x35, 0xde,
+	0xd2, 0xcd, 0x4d, 0x6f, 0xb6, 0x5e, 0x29, 0x4d, 0x1b, 0x0e, 0xee, 0xaa, 0x07, 0x3d, 0x85, 0xc7,
+	0x63, 0xbb, 0x6f, 0x8d, 0xc6, 0x9d, 0xfe, 0xd0, 0x3b, 0x77, 0x3b, 0x83, 0x89, 0xd3, 0x71, 0xed,
+	0xf1, 0x85, 0x37, 0x19, 0x8c, 0x86, 0xd6, 0xa9, 0xdd, 0xb5, 0xad, 0x33, 0xbd, 0x84, 0x00, 0x2a,
+	0x7d, 0xdb, 0x71, 0xec, 0x91, 0xae, 0x34, 0xbb, 0xa0, 0x4d, 0x19, 0xf9, 0x86, 0x0e, 0x40, 0x9f,
+	0xda, 0xd6, 0xe7, 0xdf, 0x94, 0xff, 0xc3, 0xce, 0xa0, 0xd3, 0xb7, 0xbc, 0x4f, 0x03, 0xe7, 0x42,
+	0x57, 0xd0, 0x3e, 0x54, 0x47, 0xa7, 0x3d, 0xab, 0xdf, 0xf1, 0x32, 0xad, 0xbe, 0x85, 0xfe, 0x03,
+	0xad, 0x3b, 0x71, 0x1c, 0x5d, 0x6b, 0xda, 0xb0, 0xbb, 0x5e, 0x2d, 0x7a, 0x0d, 0xdb, 0xd4, 0xf7,
+	0xa2, 0x34, 0xc8, 0x9f, 0xb6, 0xda, 0x6e, 0x6c, 0xbe, 0xe6, 0xb9, 0xef, 0xa6, 0x01, 0x71, 0x2b,
+	0x54, 0xfe, 0x36, 0xbf, 0xab, 0x50, 0xc9, 0xb7, 0xd0, 0x73, 0xd0, 0x39, 0xbe, 0xf1, 0x44, 0xca,
+	0xbd, 0x05, 0x89, 0xe2, 0x6c, 0xc2, 0x24, 0xae, 0xdc, 0x2b, 0xb9, 0x7b, 0x1c, 0xdf, 0x0c, 0x52,
+	0x3e, 0x2d, 0xf6, 0xd1, 0x31, 0x6c, 0x67, 0x5a, 0x4c, 0x57, 0x8d, 0x7d, 0xb8, 0x3a, 0x71, 0x35,
+	0x85, 0xc6, 0x59, 0x31, 0x85, 0xbd, 0x92, 0x5b, 0xe1, 0xf8, 0xa6, 0x43, 0x09, 0x1a, 0xc1, 0x2e,
+	0x13, 0x09, 0x89, 0x62, 0xe2, 0x67, 0x99, 0x9a, 0x2a, 0xad, 0x2f, 0xee, 0x2b, 0xd6, 0xb0, 0xd7,
+	0x4c, 0xbd, 0x92, 0x7b, 0x0b, 0x82, 0x3e, 0x40, 0x39, 0x15, 0x19, 0x4d, 0xbb, 0xef, 0x85, 0x0b,
+	0xda, 0x44, 0xe4, 0x98, 0xdc, 0x56, 0xef, 0xc2, 0xee, 0x3a, 0x1f, 0xbd, 0x84, 0x72, 0xd6, 0xc9,
+	0xec, 0xee, 0xea, 0x5f, 0xb5, 0x32, 0x97, 0xd7, 0x3f, 0x42, 0x59, 0x92, 0xff, 0x15, 0x70, 0x52,
+	0x01, 0x2d, 0x0b, 0x4e, 0xae, 0xe1, 0xd0, 0x0f, 0xf9, 0x46, 0xd7, 0x09, 0xc8, 0x3f, 0xc9, 0x30,
+	0xeb, 0xf3, 0x50, 0xf9, 0xf2, 0xbe, 0xd0, 0xd1, 0x30, 0xc0, 0x82, 0x1a, 0x61, 0x44, 0x4d, 0x4a,
+	0x84, 0x7c, 0x05, 0x33, 0x4f, 0xe1, 0x39, 0x8b, 0xff, 0xfc, 0xf4, 0xbc, 0x95, 0xc1, 0xac, 0x22,
+	0x95, 0x47, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xf1, 0xc7, 0x7b, 0xb1, 0xa3, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/admin/v2/table.proto b/googleapis/bigtable/admin/v2/table.proto
deleted file mode 100644
index 84f61e7e..00000000
--- a/googleapis/bigtable/admin/v2/table.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// 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.bigtable.admin.v2;
-
-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 = "TableProto";
-option java_package = "com.google.bigtable.admin.v2";
-
-
-// A collection of user data indexed by row, column, and timestamp.
-// Each table is served using the resources of its parent cluster.
-message Table {
-  // Possible timestamp granularities to use when keeping multiple versions
-  // of data in a table.
-  enum TimestampGranularity {
-    // The user did not specify a granularity. Should not be returned.
-    // When specified during table creation, MILLIS will be used.
-    TIMESTAMP_GRANULARITY_UNSPECIFIED = 0;
-
-    // The table keeps data versioned at a granularity of 1ms.
-    MILLIS = 1;
-  }
-
-  // Defines a view over a table's fields.
-  enum View {
-    // Uses the default view for each method as documented in its request.
-    VIEW_UNSPECIFIED = 0;
-
-    // Only populates `name`.
-    NAME_ONLY = 1;
-
-    // Only populates `name` and fields related to the table's schema.
-    SCHEMA_VIEW = 2;
-
-    // Populates all fields.
-    FULL = 4;
-  }
-
-  // The unique name of the table. Values are of the form
-  // projects/<project>/instances/<instance>/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*
-  // Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, FULL
-  // @OutputOnly
-  string name = 1;
-
-  // The column families configured for this table, mapped by column family ID.
-  // Views: SCHEMA_VIEW, FULL
-  // @CreationOnly
-  map<string, ColumnFamily> column_families = 3;
-
-  // The granularity (e.g. MILLIS, MICROS) at which timestamps are stored in
-  // this table. Timestamps not matching the granularity will be rejected.
-  // If unspecified at creation time, the value will be set to MILLIS.
-  // Views: SCHEMA_VIEW, FULL
-  // @CreationOnly
-  TimestampGranularity granularity = 4;
-}
-
-// A set of columns within a table which share a common configuration.
-message ColumnFamily {
-  // Garbage collection rule specified as a protobuf.
-  // Must serialize to at most 500 bytes.
-  //
-  // NOTE: Garbage collection executes opportunistically in the background, and
-  // so it's possible for reads to return a cell even if it matches the active
-  // GC expression for its family.
-  GcRule gc_rule = 1;
-}
-
-// Rule for determining which cells to delete during garbage collection.
-message GcRule {
-  // A GcRule which deletes cells matching all of the given rules.
-  message Intersection {
-    // Only delete cells which would be deleted by every element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  // A GcRule which deletes cells matching any of the given rules.
-  message Union {
-    // Delete cells which would be deleted by any element of `rules`.
-    repeated GcRule rules = 1;
-  }
-
-  oneof rule {
-    // Delete all cells in a column except the most recent N.
-    int32 max_num_versions = 1;
-
-    // Delete cells in a column older than the given age.
-    // Values must be at least one millisecond, and will be truncated to
-    // microsecond granularity.
-    google.protobuf.Duration max_age = 2;
-
-    // Delete cells that would be deleted by every nested rule.
-    Intersection intersection = 3;
-
-    // Delete cells that would be deleted by any nested rule.
-    Union union = 4;
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_data.pb.go b/googleapis/bigtable/v1/bigtable_data.pb.go
index a2936d59..2c530ff1 100644
--- a/googleapis/bigtable/v1/bigtable_data.pb.go
+++ b/googleapis/bigtable/v1/bigtable_data.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto
+// source: google/bigtable/v1/bigtable_data.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_v1 is a generated protocol buffer package.
+Package bigtable 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/bigtable/v1/bigtable_data.proto
+	google/bigtable/v1/bigtable_service.proto
+	google/bigtable/v1/bigtable_service_messages.proto
 
 It has these top-level messages:
 	Row
@@ -34,7 +34,7 @@ It has these top-level messages:
 	CheckAndMutateRowResponse
 	ReadModifyWriteRowRequest
 */
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -68,6 +68,13 @@ func (m *Row) String() string            { return proto.CompactTextString(m) }
 func (*Row) ProtoMessage()               {}
 func (*Row) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Row) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 func (m *Row) GetFamilies() []*Family {
 	if m != nil {
 		return m.Families
@@ -93,6 +100,13 @@ func (m *Family) String() string            { return proto.CompactTextString(m)
 func (*Family) ProtoMessage()               {}
 func (*Family) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Family) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Family) GetColumns() []*Column {
 	if m != nil {
 		return m.Columns
@@ -117,6 +131,13 @@ func (m *Column) String() string            { return proto.CompactTextString(m)
 func (*Column) ProtoMessage()               {}
 func (*Column) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Column) GetQualifier() []byte {
+	if m != nil {
+		return m.Qualifier
+	}
+	return nil
+}
+
 func (m *Column) GetCells() []*Cell {
 	if m != nil {
 		return m.Cells
@@ -146,6 +167,27 @@ func (m *Cell) String() string            { return proto.CompactTextString(m) }
 func (*Cell) ProtoMessage()               {}
 func (*Cell) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Cell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Cell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *Cell) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
 // Specifies a contiguous range of rows.
 type RowRange struct {
 	// Inclusive lower bound. If left empty, interpreted as the empty string.
@@ -159,6 +201,20 @@ func (m *RowRange) String() string            { return proto.CompactTextString(m
 func (*RowRange) ProtoMessage()               {}
 func (*RowRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RowRange) GetStartKey() []byte {
+	if m != nil {
+		return m.StartKey
+	}
+	return nil
+}
+
+func (m *RowRange) GetEndKey() []byte {
+	if m != nil {
+		return m.EndKey
+	}
+	return nil
+}
+
 // Specifies a non-contiguous set of rows.
 type RowSet struct {
 	// Single rows included in the set.
@@ -172,6 +228,13 @@ func (m *RowSet) String() string            { return proto.CompactTextString(m)
 func (*RowSet) ProtoMessage()               {}
 func (*RowSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *RowSet) GetRowKeys() [][]byte {
+	if m != nil {
+		return m.RowKeys
+	}
+	return nil
+}
+
 func (m *RowSet) GetRowRanges() []*RowRange {
 	if m != nil {
 		return m.RowRanges
@@ -245,6 +308,13 @@ func (m *ColumnRange) GetEndQualifier() isColumnRange_EndQualifier {
 	return nil
 }
 
+func (m *ColumnRange) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 func (m *ColumnRange) GetStartQualifierInclusive() []byte {
 	if x, ok := m.GetStartQualifier().(*ColumnRange_StartQualifierInclusive); ok {
 		return x.StartQualifierInclusive
@@ -394,6 +464,20 @@ func (m *TimestampRange) String() string            { return proto.CompactTextSt
 func (*TimestampRange) ProtoMessage()               {}
 func (*TimestampRange) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *TimestampRange) GetStartTimestampMicros() int64 {
+	if m != nil {
+		return m.StartTimestampMicros
+	}
+	return 0
+}
+
+func (m *TimestampRange) GetEndTimestampMicros() int64 {
+	if m != nil {
+		return m.EndTimestampMicros
+	}
+	return 0
+}
+
 // Specifies a contiguous range of raw byte values.
 type ValueRange struct {
 	// The value at which to start the range.
@@ -1548,6 +1632,34 @@ func (m *Mutation_SetCell) String() string            { return proto.CompactText
 func (*Mutation_SetCell) ProtoMessage()               {}
 func (*Mutation_SetCell) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 0} }
 
+func (m *Mutation_SetCell) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_SetCell) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
+func (m *Mutation_SetCell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Mutation_SetCell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // A Mutation which deletes cells from the specified column, optionally
 // restricting the deletions to a given timestamp range.
 type Mutation_DeleteFromColumn struct {
@@ -1566,6 +1678,20 @@ func (m *Mutation_DeleteFromColumn) String() string            { return proto.Co
 func (*Mutation_DeleteFromColumn) ProtoMessage()               {}
 func (*Mutation_DeleteFromColumn) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 1} }
 
+func (m *Mutation_DeleteFromColumn) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_DeleteFromColumn) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *Mutation_DeleteFromColumn) GetTimeRange() *TimestampRange {
 	if m != nil {
 		return m.TimeRange
@@ -1585,6 +1711,13 @@ func (m *Mutation_DeleteFromFamily) String() string            { return proto.Co
 func (*Mutation_DeleteFromFamily) ProtoMessage()               {}
 func (*Mutation_DeleteFromFamily) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10, 2} }
 
+func (m *Mutation_DeleteFromFamily) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 // A Mutation which deletes all cells from the containing row.
 type Mutation_DeleteFromRow struct {
 }
@@ -1639,6 +1772,20 @@ func (m *ReadModifyWriteRule) GetRule() isReadModifyWriteRule_Rule {
 	return nil
 }
 
+func (m *ReadModifyWriteRule) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRule) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRule) GetAppendValue() []byte {
 	if x, ok := m.GetRule().(*ReadModifyWriteRule_AppendValue); ok {
 		return x.AppendValue
@@ -1740,96 +1887,95 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRule)(nil), "google.bigtable.v1.ReadModifyWriteRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_data.proto", fileDescriptor0) }
 
 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,
+	// 1378 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdb, 0x6e, 0x1b, 0x37,
+	0x13, 0xd6, 0x5a, 0xb2, 0x0e, 0xb3, 0x76, 0x24, 0xd3, 0x27, 0x45, 0x49, 0xfe, 0x18, 0xca, 0x8f,
+	0x56, 0x49, 0x5b, 0x39, 0x71, 0x82, 0x36, 0x6d, 0x82, 0x22, 0x56, 0x0e, 0x55, 0x9a, 0x33, 0x63,
+	0xa4, 0x40, 0x80, 0x62, 0x4b, 0x6b, 0x29, 0x75, 0x11, 0xee, 0x52, 0xe5, 0xae, 0xac, 0xe8, 0x45,
+	0x7a, 0xdf, 0xe7, 0xe8, 0x5d, 0x5f, 0xa2, 0xaf, 0xd1, 0xcb, 0x5e, 0xf4, 0xa2, 0xe0, 0x61, 0x4f,
+	0xb2, 0x62, 0x1b, 0x45, 0xee, 0x96, 0x9c, 0xef, 0xfb, 0x66, 0x38, 0x1c, 0x0e, 0xb9, 0xf0, 0xc9,
+	0x88, 0xf3, 0x11, 0xa3, 0xbb, 0x87, 0xde, 0x28, 0x22, 0x87, 0x8c, 0xee, 0x1e, 0xdd, 0x48, 0xbe,
+	0x1d, 0x97, 0x44, 0xa4, 0x3b, 0x16, 0x3c, 0xe2, 0x08, 0x69, 0x5c, 0x37, 0xb6, 0x75, 0x8f, 0x6e,
+	0xb4, 0x5f, 0x40, 0x11, 0xf3, 0x29, 0x6a, 0x40, 0xf1, 0x1d, 0x9d, 0x35, 0xad, 0x1d, 0xab, 0xb3,
+	0x82, 0xe5, 0x27, 0xfa, 0x12, 0xaa, 0x43, 0xe2, 0x7b, 0xcc, 0xa3, 0x61, 0x73, 0x69, 0xa7, 0xd8,
+	0xb1, 0xf7, 0x5a, 0xdd, 0xe3, 0xfc, 0xee, 0x23, 0x89, 0x99, 0xe1, 0x04, 0xdb, 0xc6, 0x50, 0xd6,
+	0x73, 0x08, 0x41, 0x29, 0x20, 0x3e, 0x55, 0xa2, 0x35, 0xac, 0xbe, 0xd1, 0x2d, 0xa8, 0x0c, 0x38,
+	0x9b, 0xf8, 0xc1, 0x89, 0xa2, 0xf7, 0x15, 0x04, 0xc7, 0xd0, 0xf6, 0x1b, 0x28, 0xeb, 0x29, 0x74,
+	0x11, 0x6a, 0xbf, 0x4c, 0x08, 0xf3, 0x86, 0x1e, 0x15, 0x26, 0xda, 0x74, 0x02, 0x75, 0x61, 0x79,
+	0x40, 0x19, 0x8b, 0xb5, 0x9b, 0x0b, 0xb5, 0x29, 0x63, 0x58, 0xc3, 0xda, 0x0e, 0x94, 0xe4, 0x10,
+	0x5d, 0x85, 0x46, 0xe4, 0xf9, 0x34, 0x8c, 0x88, 0x3f, 0x76, 0x7c, 0x6f, 0x20, 0x78, 0xa8, 0xc4,
+	0x8b, 0xb8, 0x9e, 0xcc, 0x3f, 0x53, 0xd3, 0x68, 0x03, 0x96, 0x8f, 0x08, 0x9b, 0xd0, 0xe6, 0x92,
+	0x72, 0xae, 0x07, 0x68, 0x0b, 0xca, 0x8c, 0x1c, 0x52, 0x16, 0x36, 0x8b, 0x3b, 0xc5, 0x4e, 0x0d,
+	0x9b, 0x51, 0xfb, 0x1e, 0x54, 0x31, 0x9f, 0x62, 0x12, 0x8c, 0x28, 0xba, 0x00, 0xb5, 0x30, 0x22,
+	0x22, 0x72, 0x64, 0xa2, 0x35, 0xbb, 0xaa, 0x26, 0x9e, 0xd0, 0x19, 0xda, 0x86, 0x0a, 0x0d, 0x5c,
+	0x65, 0x2a, 0x2a, 0x53, 0x99, 0x06, 0xee, 0x13, 0x3a, 0x6b, 0xff, 0x04, 0x65, 0xcc, 0xa7, 0xaf,
+	0x69, 0x84, 0xce, 0x43, 0x55, 0xf0, 0xa9, 0x84, 0xc8, 0xe0, 0x8a, 0x9d, 0x15, 0x5c, 0x11, 0x7c,
+	0xfa, 0x84, 0xce, 0x42, 0x74, 0x07, 0x40, 0x9a, 0x84, 0xf4, 0x13, 0x2f, 0xfe, 0xe2, 0xa2, 0xc5,
+	0xc7, 0xc1, 0xe0, 0x9a, 0x30, 0x5f, 0x61, 0xfb, 0x8f, 0x25, 0xb0, 0x4d, 0xc2, 0x55, 0x9c, 0x97,
+	0xc1, 0x56, 0x9b, 0x39, 0x73, 0x32, 0xbb, 0x07, 0x7a, 0xea, 0xb9, 0xdc, 0xc3, 0xbb, 0x70, 0x5e,
+	0x2f, 0x24, 0x49, 0xbc, 0xe3, 0x05, 0x03, 0x36, 0x09, 0xbd, 0x23, 0x93, 0x96, 0x7e, 0x01, 0x6f,
+	0x2b, 0xc8, 0xab, 0x18, 0xf1, 0x38, 0x06, 0x2c, 0x62, 0xd3, 0xf7, 0x31, 0xbb, 0xb8, 0x98, 0xfd,
+	0x30, 0x06, 0xa0, 0xdb, 0xb0, 0x2d, 0xf3, 0xb4, 0xc8, 0x73, 0x49, 0x71, 0x2d, 0xbc, 0x49, 0x03,
+	0x77, 0x81, 0xdf, 0x63, 0xcc, 0xd4, 0xeb, 0xf2, 0x22, 0x66, 0xe2, 0xb3, 0xb7, 0x06, 0xf5, 0xb9,
+	0x88, 0x7b, 0x75, 0x58, 0xcd, 0x89, 0xb5, 0xdf, 0xc3, 0xb9, 0x83, 0xb8, 0x52, 0x74, 0x1a, 0x6f,
+	0xc1, 0x96, 0x66, 0x7d, 0xa0, 0xb2, 0x36, 0x94, 0xf5, 0x60, 0xae, 0xbc, 0xae, 0xc3, 0x86, 0x14,
+	0x3e, 0xc6, 0x59, 0x52, 0x1c, 0x44, 0x03, 0x77, 0x8e, 0xd1, 0xfe, 0xdb, 0x02, 0x78, 0x23, 0x8b,
+	0x30, 0x76, 0xbb, 0xa9, 0xdd, 0xaa, 0xc2, 0xcc, 0xa4, 0xc7, 0x32, 0xa9, 0x5d, 0x57, 0x66, 0xc5,
+	0x48, 0x93, 0x33, 0xc7, 0x4a, 0x53, 0xb3, 0x74, 0x9c, 0x95, 0x6e, 0xc6, 0x75, 0x58, 0x97, 0xc1,
+	0xce, 0x7b, 0x2a, 0x9a, 0x74, 0xae, 0xd1, 0xc0, 0x9d, 0xf3, 0x93, 0x63, 0xa4, 0x5e, 0x4a, 0xf3,
+	0x8c, 0x34, 0xf9, 0xab, 0x60, 0x67, 0x22, 0xeb, 0xd9, 0x50, 0x4b, 0x04, 0xda, 0xff, 0xd8, 0x50,
+	0xc3, 0x7c, 0xfa, 0xc8, 0x63, 0x11, 0x15, 0xe8, 0x0e, 0x2c, 0x0f, 0x7e, 0x26, 0x5e, 0xa0, 0x56,
+	0x6a, 0xef, 0x5d, 0xf9, 0x40, 0xfd, 0x6b, 0x74, 0xf7, 0xbe, 0x84, 0xf6, 0x0b, 0x58, 0x73, 0xd0,
+	0xf7, 0x00, 0x5e, 0x10, 0x51, 0xc1, 0x28, 0x31, 0xab, 0xb6, 0xf7, 0x3a, 0x27, 0x2b, 0x3c, 0x4e,
+	0xf0, 0xfd, 0x02, 0xce, 0xb0, 0xd1, 0x77, 0x50, 0x1b, 0xf0, 0xc0, 0xf5, 0x22, 0x8f, 0x07, 0x2a,
+	0x19, 0xf6, 0xde, 0xa7, 0xa7, 0x04, 0x13, 0xc3, 0xfb, 0x05, 0x9c, 0x72, 0xd1, 0x06, 0x94, 0x42,
+	0x2f, 0x78, 0xd7, 0x6c, 0xec, 0x58, 0x9d, 0x6a, 0xbf, 0x80, 0xd5, 0x08, 0x75, 0xa0, 0x3e, 0x26,
+	0x61, 0xe8, 0x10, 0xc6, 0x9c, 0xa1, 0xe2, 0x37, 0xd7, 0x0c, 0x60, 0x55, 0x1a, 0xf6, 0x19, 0x33,
+	0x19, 0xb9, 0x06, 0x8d, 0x43, 0xc6, 0x07, 0xef, 0xb2, 0x50, 0x64, 0xa0, 0xe7, 0x94, 0x25, 0xc5,
+	0xde, 0x80, 0x0d, 0xd3, 0x5d, 0x1c, 0x41, 0x47, 0xf4, 0x7d, 0x8c, 0x2f, 0x99, 0x02, 0x58, 0xd3,
+	0xbd, 0x06, 0x4b, 0x9b, 0xa1, 0x7c, 0x0e, 0x72, 0xd2, 0x09, 0x89, 0x3f, 0x66, 0x34, 0xc6, 0x9f,
+	0xdb, 0xb1, 0x3a, 0x56, 0xbf, 0x80, 0xeb, 0x82, 0x4f, 0x5f, 0x2b, 0x8b, 0x41, 0x7f, 0x0d, 0xcd,
+	0x4c, 0x5b, 0xc9, 0x3b, 0x91, 0x07, 0xb0, 0xd6, 0x2f, 0xe0, 0xcd, 0xb4, 0xcb, 0x64, 0x1d, 0xdd,
+	0x87, 0x4b, 0xfa, 0x26, 0xc8, 0x9c, 0xde, 0x1c, 0xbf, 0x6c, 0x82, 0x6c, 0x69, 0x58, 0x72, 0x86,
+	0xb3, 0x22, 0xaf, 0x60, 0xdd, 0x88, 0xa8, 0x36, 0x19, 0x53, 0x2b, 0x6a, 0x7f, 0x2e, 0x9f, 0x70,
+	0x0b, 0x49, 0xb4, 0x4c, 0xc0, 0x20, 0x1d, 0x1a, 0xc9, 0xb7, 0xb0, 0x95, 0x1e, 0xd4, 0x9c, 0x6a,
+	0x55, 0xa9, 0xb6, 0x17, 0xa9, 0xe6, 0xdb, 0x44, 0xbf, 0x80, 0x37, 0xa2, 0xdc, 0x8c, 0xd1, 0xee,
+	0x02, 0xd2, 0xa7, 0x24, 0xb7, 0xd0, 0x9a, 0x59, 0x68, 0x43, 0xd9, 0xb2, 0xcb, 0x7b, 0x9e, 0xe0,
+	0xb3, 0x71, 0xd4, 0x55, 0x1c, 0xff, 0x5b, 0x14, 0x47, 0xda, 0x33, 0x52, 0xbd, 0x8c, 0xff, 0x6f,
+	0xe1, 0x82, 0xba, 0x23, 0x9d, 0xb1, 0x4c, 0x36, 0x9f, 0x3a, 0x7c, 0x38, 0x0c, 0x69, 0x14, 0x0b,
+	0xc3, 0x8e, 0xd5, 0x59, 0x96, 0x8d, 0x5a, 0x81, 0x5e, 0x52, 0x81, 0xf9, 0xf4, 0x85, 0x42, 0x18,
+	0xfe, 0x5d, 0x68, 0xe5, 0xf9, 0xcc, 0xf3, 0xbd, 0x84, 0x6e, 0x1b, 0xfa, 0x56, 0x86, 0xfe, 0x54,
+	0x02, 0x0c, 0xbb, 0x07, 0x97, 0x52, 0xb6, 0xd9, 0xb6, 0x9c, 0xc0, 0x8a, 0x11, 0x38, 0x1f, 0x0b,
+	0xe8, 0xcd, 0xca, 0x6a, 0xdc, 0x86, 0xed, 0x30, 0x12, 0xde, 0xd8, 0x74, 0x9b, 0x48, 0x90, 0x20,
+	0x1c, 0x72, 0xe1, 0x53, 0xd1, 0x5c, 0x35, 0x87, 0x60, 0x53, 0x01, 0x54, 0x26, 0x0e, 0x52, 0xb3,
+	0x64, 0x92, 0xf1, 0x98, 0xcd, 0x1c, 0x75, 0x8b, 0xe7, 0x98, 0xeb, 0x71, 0xa5, 0x2a, 0xc0, 0x53,
+	0x69, 0xcf, 0x30, 0x5b, 0xf7, 0x60, 0x59, 0x35, 0x16, 0xf4, 0x15, 0x54, 0x74, 0xa4, 0xfa, 0xae,
+	0xb6, 0xf7, 0x2e, 0x9d, 0xd8, 0x01, 0x70, 0x8c, 0x6e, 0x3d, 0x04, 0x48, 0x1b, 0xcb, 0x7f, 0x97,
+	0xf9, 0xd3, 0x82, 0x5a, 0xd2, 0x55, 0x50, 0x1f, 0x1a, 0x63, 0x41, 0x5d, 0x6f, 0x40, 0xa2, 0xa4,
+	0x34, 0x74, 0x97, 0x3c, 0x45, 0xaf, 0x9e, 0xd0, 0x92, 0xb2, 0xb0, 0x23, 0x31, 0x49, 0x44, 0x96,
+	0xce, 0x22, 0x02, 0x92, 0x61, 0xf8, 0xf7, 0x60, 0x65, 0x48, 0x58, 0x98, 0x08, 0x14, 0xcf, 0x22,
+	0x60, 0x2b, 0x8a, 0x1e, 0xf4, 0xaa, 0x50, 0xd6, 0xdc, 0xf6, 0x5f, 0xcb, 0x50, 0x7d, 0x36, 0x89,
+	0x88, 0x5a, 0xe2, 0x3e, 0x54, 0x65, 0x79, 0xca, 0x72, 0x30, 0x4b, 0xfb, 0xff, 0x22, 0xd1, 0x18,
+	0xdf, 0x7d, 0x4d, 0x23, 0xf9, 0xf4, 0xeb, 0x17, 0x70, 0x25, 0xd4, 0x9f, 0xe8, 0x47, 0x40, 0x2e,
+	0x65, 0x54, 0xa6, 0x48, 0x70, 0xdf, 0x94, 0x9d, 0x59, 0xe2, 0x17, 0x27, 0x8a, 0x3d, 0x50, 0xb4,
+	0x47, 0x82, 0xfb, 0xba, 0x0c, 0xe5, 0x89, 0x72, 0xe7, 0xe6, 0xe6, 0xe5, 0x75, 0xab, 0x33, 0x09,
+	0x38, 0xab, 0xbc, 0x7e, 0x59, 0xe7, 0xe5, 0xcd, 0x6b, 0xfb, 0x00, 0xea, 0x59, 0x79, 0xc1, 0xa7,
+	0xaa, 0x77, 0xdb, 0x7b, 0xd7, 0xce, 0xa8, 0x8d, 0xf9, 0x54, 0x5e, 0x21, 0x6e, 0x76, 0xa2, 0xf5,
+	0xab, 0x05, 0x15, 0x93, 0xaa, 0xd3, 0x1f, 0x86, 0x57, 0xa1, 0x31, 0xdf, 0xa7, 0xcd, 0x43, 0xb7,
+	0x3e, 0xd7, 0x98, 0x17, 0xbe, 0xb8, 0x8b, 0xa7, 0xbc, 0xb8, 0x4b, 0x99, 0x17, 0x77, 0xeb, 0x37,
+	0x0b, 0x1a, 0xf3, 0x69, 0xff, 0xa8, 0x11, 0xee, 0x03, 0xc8, 0x48, 0x74, 0x3f, 0x35, 0xdb, 0x74,
+	0x86, 0x86, 0x8e, 0x6b, 0x92, 0xa5, 0x3e, 0x5b, 0x37, 0xb3, 0x21, 0x9a, 0x6d, 0x3a, 0x2d, 0xc4,
+	0x56, 0x1d, 0x56, 0x73, 0x7b, 0xd2, 0x03, 0xa8, 0xfa, 0x66, 0xb7, 0xda, 0xbf, 0x5b, 0xb0, 0x8e,
+	0x29, 0x71, 0x9f, 0x71, 0xd7, 0x1b, 0xce, 0x7e, 0x10, 0x5e, 0x44, 0xf1, 0x84, 0xd1, 0x8f, 0xba,
+	0xf0, 0x2b, 0xb0, 0x42, 0xc6, 0xe3, 0xe4, 0x95, 0x95, 0xbc, 0xc9, 0x6d, 0x3d, 0xab, 0xba, 0x25,
+	0xfa, 0x0c, 0x1a, 0x5e, 0x30, 0x10, 0xd4, 0xa7, 0x41, 0xe4, 0x10, 0x9f, 0x4f, 0x82, 0x48, 0xed,
+	0x4f, 0x51, 0x5e, 0xfd, 0x89, 0x65, 0x5f, 0x19, 0x7a, 0x65, 0x28, 0x89, 0x09, 0xa3, 0x3d, 0x0f,
+	0xb6, 0x06, 0xdc, 0x5f, 0x90, 0xc3, 0xde, 0x5a, 0xcf, 0x0c, 0x1e, 0x90, 0x88, 0xbc, 0x94, 0x3f,
+	0xab, 0x2f, 0xad, 0xb7, 0xdf, 0x18, 0xe0, 0x88, 0x33, 0x12, 0x8c, 0xba, 0x5c, 0x8c, 0x76, 0x47,
+	0x34, 0x50, 0xbf, 0xb2, 0xbb, 0xda, 0x44, 0xc6, 0x5e, 0x98, 0xfd, 0xeb, 0xbd, 0x13, 0x7f, 0x1f,
+	0x96, 0x15, 0xec, 0xe6, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x3e, 0x54, 0x66, 0x7c, 0x1b, 0x0f,
+	0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_data.proto b/googleapis/bigtable/v1/bigtable_data.proto
deleted file mode 100644
index 95fbdca1..00000000
--- a/googleapis/bigtable/v1/bigtable_data.proto
+++ /dev/null
@@ -1,515 +0,0 @@
-// 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.bigtable.v1;
-
-option java_multiple_files = true;
-option java_outer_classname = "BigtableDataProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Specifies the complete (requested) contents of a single row of a table.
-// Rows which exceed 256MiB in size cannot be read in full.
-message Row {
-  // The unique key which identifies this row within its table. This is the same
-  // key that's used to identify the row in, for example, a MutateRowRequest.
-  // May contain any non-empty byte string up to 4KiB in length.
-  bytes key = 1;
-
-  // May be empty, but only if the entire row is empty.
-  // The mutual ordering of column families is not specified.
-  repeated Family families = 2;
-}
-
-// Specifies (some of) the contents of a single row/column family of a table.
-message Family {
-  // The unique key which identifies this family within its row. This is the
-  // same key that's used to identify the family in, for example, a RowFilter
-  // which sets its "family_name_regex_filter" field.
-  // Must match [-_.a-zA-Z0-9]+, except that AggregatingRowProcessors may
-  // produce cells in a sentinel family with an empty name.
-  // Must be no greater than 64 characters in length.
-  string name = 1;
-
-  // Must not be empty. Sorted in order of increasing "qualifier".
-  repeated Column columns = 2;
-}
-
-// Specifies (some of) the contents of a single row/column of a table.
-message Column {
-  // The unique key which identifies this column within its family. This is the
-  // same key that's used to identify the column in, for example, a RowFilter
-  // which sets its "column_qualifier_regex_filter" field.
-  // May contain any byte string, including the empty string, up to 16kiB in
-  // length.
-  bytes qualifier = 1;
-
-  // Must not be empty. Sorted in order of decreasing "timestamp_micros".
-  repeated Cell cells = 2;
-}
-
-// Specifies (some of) the contents of a single row/column/timestamp of a table.
-message Cell {
-  // The cell's stored timestamp, which also uniquely identifies it within
-  // its column.
-  // Values are always expressed in microseconds, but individual tables may set
-  // a coarser "granularity" to further restrict the allowed values. For
-  // example, a table which specifies millisecond granularity will only allow
-  // values of "timestamp_micros" which are multiples of 1000.
-  int64 timestamp_micros = 1;
-
-  // The value stored in the cell.
-  // May contain any byte string, including the empty string, up to 100MiB in
-  // length.
-  bytes value = 2;
-
-  // Labels applied to the cell by a [RowFilter][google.bigtable.v1.RowFilter].
-  repeated string labels = 3;
-}
-
-// Specifies a contiguous range of rows.
-message RowRange {
-  // Inclusive lower bound. If left empty, interpreted as the empty string.
-  bytes start_key = 2;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  bytes end_key = 3;
-}
-
-// Specifies a non-contiguous set of rows.
-message RowSet {
-  // Single rows included in the set.
-  repeated bytes row_keys = 1;
-
-  // Contiguous row ranges included in the set.
-  repeated RowRange row_ranges = 2;
-}
-
-// Specifies a contiguous range of columns within a single column family.
-// The range spans from <column_family>:<start_qualifier> to
-// <column_family>:<end_qualifier>, where both bounds can be either inclusive or
-// exclusive.
-message ColumnRange {
-  // The name of the column family within which this range falls.
-  string family_name = 1;
-
-  // The column qualifier at which to start the range (within 'column_family').
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_qualifier {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_qualifier_inclusive = 2;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_qualifier_exclusive = 3;
-  }
-
-  // The column qualifier at which to end the range (within 'column_family').
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_qualifier {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_qualifier_inclusive = 4;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_qualifier_exclusive = 5;
-  }
-}
-
-// Specified a contiguous range of microsecond timestamps.
-message TimestampRange {
-  // Inclusive lower bound. If left empty, interpreted as 0.
-  int64 start_timestamp_micros = 1;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  int64 end_timestamp_micros = 2;
-}
-
-// Specifies a contiguous range of raw byte values.
-message ValueRange {
-  // The value at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_value {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_value_inclusive = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_value_exclusive = 2;
-  }
-
-  // The value at which to end the range.
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_value {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_value_inclusive = 3;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_value_exclusive = 4;
-  }
-}
-
-// Takes a row as input and produces an alternate view of the row based on
-// specified rules. For example, a RowFilter might trim down a row to include
-// just the cells from columns matching a given regular expression, or might
-// return all the cells of a row but not their values. More complicated filters
-// can be composed out of these components to express requests such as, "within
-// every column of a particular family, give just the two most recent cells
-// which are older than timestamp X."
-//
-// There are two broad categories of RowFilters (true filters and transformers),
-// as well as two ways to compose simple filters into more complex ones
-// (chains and interleaves). They work as follows:
-//
-// * True filters alter the input row by excluding some of its cells wholesale
-// from the output row. An example of a true filter is the "value_regex_filter",
-// which excludes cells whose values don't match the specified pattern. All
-// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
-// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
-// important point to keep in mind is that RE2(.) is equivalent by default to
-// RE2([^\n]), meaning that it does not match newlines. When attempting to match
-// an arbitrary byte, you should therefore use the escape sequence '\C', which
-// may need to be further escaped as '\\C' in your client language.
-//
-// * Transformers alter the input row by changing the values of some of its
-// cells in the output, without excluding them completely. Currently, the only
-// supported transformer is the "strip_value_transformer", which replaces every
-// cell's value with the empty string.
-//
-// * Chains and interleaves are described in more detail in the
-// RowFilter.Chain and RowFilter.Interleave documentation.
-//
-// The total serialized size of a RowFilter message must not
-// exceed 4096 bytes, and RowFilters may not be nested within each other
-// (in Chains or Interleaves) to a depth of more than 20.
-message RowFilter {
-  // A RowFilter which sends rows through several RowFilters in sequence.
-  message Chain {
-    // The elements of "filters" are chained together to process the input row:
-    // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
-    // The full chain is executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which sends each row to each of several component
-  // RowFilters and interleaves the results.
-  message Interleave {
-    // The elements of "filters" all process a copy of the input row, and the
-    // results are pooled, sorted, and combined into a single output row.
-    // If multiple cells are produced with the same column and timestamp,
-    // they will all appear in the output row in an unspecified mutual order.
-    // Consider the following example, with three filters:
-    //
-    //                              input row
-    //                                  |
-    //        -----------------------------------------------------
-    //        |                         |                         |
-    //       f(0)                      f(1)                      f(2)
-    //        |                         |                         |
-    // 1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
-    // 2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
-    //        |                         |                         |
-    //        -----------------------------------------------------
-    //                                  |
-    // 1:                        foo,bar,10,z     // could have switched with #2
-    // 2:                        foo,bar,10,x     // could have switched with #1
-    // 3:                        foo,blah,11,z
-    // 4:                        far,bar,7,a
-    // 5:                        far,blah,5,x     // identical to #6
-    // 6:                        far,blah,5,x     // identical to #5
-    // All interleaved filters are executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which evaluates one of two possible RowFilters, depending on
-  // whether or not a predicate RowFilter outputs any cells from the input row.
-  //
-  // IMPORTANT NOTE: The predicate filter does not execute atomically with the
-  // true and false filters, which may lead to inconsistent or unexpected
-  // results. Additionally, Condition filters have poor performance, especially
-  // when filters are set for the false condition.
-  message Condition {
-    // If "predicate_filter" outputs any cells, then "true_filter" will be
-    // evaluated on the input row. Otherwise, "false_filter" will be evaluated.
-    RowFilter predicate_filter = 1;
-
-    // The filter to apply to the input row if "predicate_filter" returns any
-    // results. If not provided, no results will be returned in the true case.
-    RowFilter true_filter = 2;
-
-    // The filter to apply to the input row if "predicate_filter" does not
-    // return any results. If not provided, no results will be returned in the
-    // false case.
-    RowFilter false_filter = 3;
-  }
-
-  // Which of the possible RowFilter types to apply. If none are set, this
-  // RowFilter returns all cells in the input row.
-  oneof filter {
-    // Applies several RowFilters to the data in sequence, progressively
-    // narrowing the results.
-    Chain chain = 1;
-
-    // Applies several RowFilters to the data in parallel and combines the
-    // results.
-    Interleave interleave = 2;
-
-    // Applies one of two possible RowFilters to the data based on the output of
-    // a predicate RowFilter.
-    Condition condition = 3;
-
-    // ADVANCED USE ONLY.
-    // Hook for introspection into the RowFilter. Outputs all cells directly to
-    // the output of the read rather than to any parent filter. Consider the
-    // following example:
-    //
-    // Chain(
-    //   FamilyRegex("A"),
-    //   Interleave(
-    //     All(),
-    //     Chain(Label("foo"), Sink())
-    //   ),
-    //   QualifierRegex("B")
-    // )
-    //
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                         B,B,4,z
-    //                            |
-    //                     FamilyRegex("A")
-    //                            |
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                            |
-    //               +------------+-------------+
-    //               |                          |
-    //             All()                    Label(foo)
-    //               |                          |
-    //            A,A,1,w              A,A,1,w,labels:[foo]
-    //            A,B,2,x              A,B,2,x,labels:[foo]
-    //               |                          |
-    //               |                        Sink() --------------+
-    //               |                          |                  |
-    //               +------------+      x------+          A,A,1,w,labels:[foo]
-    //                            |                        A,B,2,x,labels:[foo]
-    //                         A,A,1,w                             |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                    QualifierRegex("B")                      |
-    //                            |                                |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                            +--------------------------------+
-    //                            |
-    //                         A,A,1,w,labels:[foo]
-    //                         A,B,2,x,labels:[foo]  // could be switched
-    //                         A,B,2,x               // could be switched
-    //
-    // Despite being excluded by the qualifier filter, a copy of every cell
-    // that reaches the sink is present in the final result.
-    //
-    // As with an [Interleave][google.bigtable.v1.RowFilter.Interleave],
-    // duplicate cells are possible, and appear in an unspecified mutual order.
-    // In this case we have a duplicate with column "A:B" and timestamp 2,
-    // because one copy passed through the all filter while the other was
-    // passed through the label and sink. Note that one copy has label "foo",
-    // while the other does not.
-    //
-    // Cannot be used within the `predicate_filter`, `true_filter`, or
-    // `false_filter` of a [Condition][google.bigtable.v1.RowFilter.Condition].
-    bool sink = 16;
-
-    // Matches all cells, regardless of input. Functionally equivalent to
-    // leaving `filter` unset, but included for completeness.
-    bool pass_all_filter = 17;
-
-    // Does not match any cells, regardless of input. Useful for temporarily
-    // disabling just part of a filter.
-    bool block_all_filter = 18;
-
-    // Matches only cells from rows whose keys satisfy the given RE2 regex. In
-    // other words, passes through the entire row when the key matches, and
-    // otherwise produces an empty row.
-    // Note that, since row keys can contain arbitrary bytes, the '\C' escape
-    // sequence must be used if a true wildcard is desired. The '.' character
-    // will not match the new line character '\n', which may be present in a
-    // binary key.
-    bytes row_key_regex_filter = 4;
-
-    // Matches all cells from a row with probability p, and matches no cells
-    // from the row with probability 1-p.
-    double row_sample_filter = 14;
-
-    // Matches only cells from columns whose families satisfy the given RE2
-    // regex. For technical reasons, the regex must not contain the ':'
-    // character, even if it is not being used as a literal.
-    // Note that, since column families cannot contain the new line character
-    // '\n', it is sufficient to use '.' as a full wildcard when matching
-    // column family names.
-    string family_name_regex_filter = 5;
-
-    // Matches only cells from columns whose qualifiers satisfy the given RE2
-    // regex.
-    // Note that, since column qualifiers can contain arbitrary bytes, the '\C'
-    // escape sequence must be used if a true wildcard is desired. The '.'
-    // character will not match the new line character '\n', which may be
-    // present in a binary qualifier.
-    bytes column_qualifier_regex_filter = 6;
-
-    // Matches only cells from columns within the given range.
-    ColumnRange column_range_filter = 7;
-
-    // Matches only cells with timestamps within the given range.
-    TimestampRange timestamp_range_filter = 8;
-
-    // Matches only cells with values that satisfy the given regular expression.
-    // Note that, since cell values can contain arbitrary bytes, the '\C' escape
-    // sequence must be used if a true wildcard is desired. The '.' character
-    // will not match the new line character '\n', which may be present in a
-    // binary value.
-    bytes value_regex_filter = 9;
-
-    // Matches only cells with values that fall within the given range.
-    ValueRange value_range_filter = 15;
-
-    // Skips the first N cells of each row, matching all subsequent cells.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_offset_filter = 10;
-
-    // Matches only the first N cells of each row.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_limit_filter = 11;
-
-    // Matches only the most recent N cells within each column. For example,
-    // if N=2, this filter would match column "foo:bar" at timestamps 10 and 9,
-    // skip all earlier cells in "foo:bar", and then begin matching again in
-    // column "foo:bar2".
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_column_limit_filter = 12;
-
-    // Replaces each cell's value with the empty string.
-    bool strip_value_transformer = 13;
-
-    // Applies the given label to all cells in the output row. This allows
-    // the client to determine which results were produced from which part of
-    // the filter.
-    //
-    // Values must be at most 15 characters in length, and match the RE2
-    // pattern [a-z0-9\\-]+
-    //
-    // Due to a technical limitation, it is not currently possible to apply
-    // multiple labels to a cell. As a result, a Chain may have no more than
-    // one sub-filter which contains a apply_label_transformer. It is okay for
-    // an Interleave to contain multiple apply_label_transformers, as they will
-    // be applied to separate copies of the input. This may be relaxed in the
-    // future.
-    string apply_label_transformer = 19;
-  }
-}
-
-// Specifies a particular change to be made to the contents of a row.
-message Mutation {
-  // A Mutation which sets the value of the specified cell.
-  message SetCell {
-    // The name of the family into which new data should be written.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-
-    // The qualifier of the column into which new data should be written.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The timestamp of the cell into which new data should be written.
-    // Use -1 for current Bigtable server time.
-    // Otherwise, the client should set this value itself, noting that the
-    // default value is a timestamp of zero if the field is left unspecified.
-    // Values must match the "granularity" of the table (e.g. micros, millis).
-    int64 timestamp_micros = 3;
-
-    // The value to be written into the specified cell.
-    bytes value = 4;
-  }
-
-  // A Mutation which deletes cells from the specified column, optionally
-  // restricting the deletions to a given timestamp range.
-  message DeleteFromColumn {
-    // The name of the family from which cells should be deleted.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-
-    // The qualifier of the column from which cells should be deleted.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The range of timestamps within which cells should be deleted.
-    TimestampRange time_range = 3;
-  }
-
-  // A Mutation which deletes all cells from the specified column family.
-  message DeleteFromFamily {
-    // The name of the family from which cells should be deleted.
-    // Must match [-_.a-zA-Z0-9]+
-    string family_name = 1;
-  }
-
-  // A Mutation which deletes all cells from the containing row.
-  message DeleteFromRow {
-
-  }
-
-  // Which of the possible Mutation types to apply.
-  oneof mutation {
-    // Set a cell's value.
-    SetCell set_cell = 1;
-
-    // Deletes cells from a column.
-    DeleteFromColumn delete_from_column = 2;
-
-    // Deletes cells from a column family.
-    DeleteFromFamily delete_from_family = 3;
-
-    // Deletes cells from the entire row.
-    DeleteFromRow delete_from_row = 4;
-  }
-}
-
-// Specifies an atomic read/modify/write operation on the latest value of the
-// specified column.
-message ReadModifyWriteRule {
-  // The name of the family to which the read/modify/write should be applied.
-  // Must match [-_.a-zA-Z0-9]+
-  string family_name = 1;
-
-  // The qualifier of the column to which the read/modify/write should be
-  // applied.
-  // Can be any byte string, including the empty string.
-  bytes column_qualifier = 2;
-
-  // The rule used to determine the column's new latest value from its current
-  // latest value.
-  oneof rule {
-    // Rule specifying that "append_value" be appended to the existing value.
-    // If the targeted cell is unset, it will be treated as containing the
-    // empty string.
-    bytes append_value = 3;
-
-    // Rule specifying that "increment_amount" be added to the existing value.
-    // If the targeted cell is unset, it will be treated as containing a zero.
-    // Otherwise, the targeted cell must contain an 8-byte value (interpreted
-    // as a 64-bit big-endian signed integer), or the entire request will fail.
-    int64 increment_amount = 4;
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_service.pb.go b/googleapis/bigtable/v1/bigtable_service.pb.go
index 7f21ab96..dac6f4ab 100644
--- a/googleapis/bigtable/v1/bigtable_service.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto
+// source: google/bigtable/v1/bigtable_service.proto
 // DO NOT EDIT!
 
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -345,47 +345,44 @@ var _BigtableService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service.proto",
-}
-
-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,
+	Metadata: "google/bigtable/v1/bigtable_service.proto",
+}
+
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_service.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 521 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x94, 0xcd, 0x6e, 0xd4, 0x30,
+	0x10, 0xc7, 0x65, 0x0e, 0xa8, 0x58, 0x42, 0x08, 0x4b, 0x14, 0x69, 0xe1, 0x14, 0xa0, 0xa2, 0x11,
+	0x8d, 0xdb, 0x72, 0x0b, 0xe2, 0xd0, 0x45, 0x50, 0x21, 0x58, 0x51, 0xa5, 0xe2, 0x43, 0xe5, 0xb0,
+	0x78, 0x93, 0x69, 0x08, 0x4d, 0xe2, 0x60, 0x7b, 0x37, 0x5a, 0xaa, 0x5e, 0x38, 0x71, 0xe7, 0x11,
+	0x10, 0x17, 0x5e, 0x80, 0x23, 0xef, 0x00, 0x67, 0x6e, 0x3c, 0x08, 0xb2, 0x63, 0x2f, 0x2c, 0x0d,
+	0xcb, 0x8a, 0xee, 0x29, 0x8e, 0xe6, 0x3f, 0x33, 0xbf, 0xff, 0xf8, 0x03, 0xaf, 0xa6, 0x9c, 0xa7,
+	0x39, 0xd0, 0x41, 0x96, 0x2a, 0x36, 0xc8, 0x81, 0x8e, 0x36, 0x26, 0xeb, 0xbe, 0x04, 0x31, 0xca,
+	0x62, 0x08, 0x2a, 0xc1, 0x15, 0x27, 0xa4, 0x91, 0x06, 0x2e, 0x1c, 0x8c, 0x36, 0x3a, 0x97, 0x6d,
+	0x3a, 0xab, 0x32, 0xca, 0xca, 0x92, 0x2b, 0xa6, 0x32, 0x5e, 0xca, 0x26, 0xa3, 0xb3, 0x32, 0xab,
+	0x78, 0xc2, 0x14, 0xb3, 0xba, 0xcd, 0x39, 0x20, 0xfa, 0x05, 0x48, 0xc9, 0x52, 0x70, 0xb5, 0x2f,
+	0xd9, 0x1c, 0xf3, 0x37, 0x18, 0xee, 0x53, 0x28, 0x2a, 0x35, 0x6e, 0x82, 0x9b, 0xdf, 0x97, 0xf0,
+	0xb9, 0xae, 0x2d, 0xb0, 0xdb, 0xe4, 0x93, 0x8f, 0x08, 0x2f, 0x45, 0xc0, 0x92, 0x88, 0xd7, 0x92,
+	0x5c, 0x09, 0x8e, 0x9b, 0x09, 0x5c, 0x34, 0x82, 0xd7, 0x43, 0x90, 0xaa, 0x73, 0x75, 0xb6, 0x48,
+	0x56, 0xbc, 0x94, 0xe0, 0x3d, 0x7c, 0xfb, 0xed, 0xc7, 0xfb, 0x53, 0xf7, 0xbc, 0x2d, 0x4d, 0x7d,
+	0xd8, 0x30, 0x97, 0xac, 0x80, 0xdb, 0x95, 0xe0, 0xaf, 0x20, 0x56, 0x92, 0xfa, 0xf4, 0x0d, 0x2f,
+	0x41, 0x7f, 0xe3, 0x7c, 0x28, 0x15, 0x08, 0xbd, 0x34, 0x42, 0x49, 0xfd, 0x23, 0x2a, 0x78, 0x2d,
+	0x43, 0x01, 0x2c, 0x09, 0x91, 0xbf, 0x8e, 0xc8, 0x67, 0x84, 0xcf, 0xee, 0xb2, 0xa2, 0xca, 0x21,
+	0xe2, 0xf5, 0x03, 0x18, 0x4b, 0x72, 0xbd, 0x8d, 0x63, 0x4a, 0xe2, 0x88, 0x57, 0xe7, 0x50, 0x5a,
+	0xec, 0x47, 0x06, 0xfb, 0x3e, 0xd9, 0x3e, 0x11, 0xb6, 0x34, 0xb5, 0x75, 0xe1, 0x75, 0x44, 0x3e,
+	0x20, 0x7c, 0xa6, 0x37, 0x54, 0x4c, 0xe9, 0x66, 0xa4, 0x75, 0x7a, 0x93, 0xb0, 0x23, 0x5e, 0x76,
+	0x2a, 0xb7, 0x8f, 0xc1, 0x5d, 0xbd, 0x8f, 0xde, 0x33, 0x83, 0x17, 0x79, 0xbd, 0x93, 0xe0, 0xd1,
+	0x43, 0xc1, 0xeb, 0xfe, 0x01, 0x8c, 0x8f, 0xc2, 0xc2, 0x34, 0x0e, 0x91, 0x4f, 0x3e, 0x21, 0x8c,
+	0x27, 0x18, 0x92, 0x5c, 0x9b, 0x89, 0x39, 0x99, 0xec, 0xca, 0xbf, 0x64, 0x76, 0xac, 0x3d, 0xc3,
+	0xbd, 0xed, 0x75, 0xff, 0x93, 0xdb, 0x82, 0xea, 0x9a, 0x1a, 0xf6, 0x2b, 0xc2, 0xe7, 0xef, 0xbc,
+	0x84, 0xf8, 0x60, 0xab, 0x4c, 0x7e, 0x8d, 0xf6, 0x46, 0x1b, 0xcc, 0x31, 0x99, 0x43, 0x5f, 0x9b,
+	0x53, 0x6d, 0x1d, 0xbc, 0x30, 0x0e, 0xf6, 0xbc, 0xc7, 0x0b, 0x9a, 0x7c, 0x3c, 0xd5, 0x49, 0x9b,
+	0xfa, 0x82, 0x30, 0xd1, 0xd7, 0xa8, 0xc7, 0x93, 0x6c, 0x7f, 0xfc, 0x54, 0x64, 0x8d, 0xab, 0xb5,
+	0xbf, 0x5d, 0xb7, 0x69, 0x9d, 0xb3, 0x75, 0xb1, 0x55, 0xce, 0x6b, 0x8f, 0x19, 0x03, 0xcf, 0xbd,
+	0x27, 0x0b, 0x32, 0x20, 0xa6, 0x11, 0x42, 0xe4, 0x77, 0x2b, 0xbc, 0x1c, 0xf3, 0xa2, 0x05, 0xa0,
+	0x7b, 0xe1, 0x8f, 0x67, 0x47, 0xee, 0xe8, 0x73, 0xbd, 0x83, 0xf6, 0x42, 0x2b, 0x4e, 0x79, 0xce,
+	0xca, 0x34, 0xe0, 0x22, 0xa5, 0x29, 0x94, 0xe6, 0xd4, 0xd3, 0x26, 0xc4, 0xaa, 0x4c, 0xfe, 0xfe,
+	0x04, 0xde, 0x72, 0xeb, 0x77, 0x08, 0x0d, 0x4e, 0x1b, 0xe5, 0xcd, 0x9f, 0x01, 0x00, 0x00, 0xff,
+	0xff, 0x4c, 0x27, 0x6e, 0x9a, 0xb0, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service.proto b/googleapis/bigtable/v1/bigtable_service.proto
deleted file mode 100644
index e7bf44ee..00000000
--- a/googleapis/bigtable/v1/bigtable_service.proto
+++ /dev/null
@@ -1,73 +0,0 @@
-// 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.bigtable.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto"; // from google/bigtable/v1/bigtable_data.proto
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto"; // from google/bigtable/v1/bigtable_service_messages.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_generic_services = true;
-option java_multiple_files = true;
-option java_outer_classname = "BigtableServicesProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Service for reading from and writing to existing Bigtables.
-service BigtableService {
-  // Streams back the contents of all requested rows, optionally applying
-  // the same Reader filter to each. Depending on their size, rows may be
-  // broken up across multiple responses, but atomicity of each row will still
-  // be preserved.
-  rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:read" body: "*" };
-  }
-
-  // Returns a sample of row keys in the table. The returned row keys will
-  // delimit contiguous sections of the table of approximately equal size,
-  // which can be used to break up the data for distributed tasks like
-  // mapreduces.
-  rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) {
-    option (google.api.http) = { get: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows:sampleKeys" };
-  }
-
-  // Mutates a row atomically. Cells already present in the row are left
-  // unchanged unless explicitly changed by 'mutation'.
-  rpc MutateRow(MutateRowRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:mutate" body: "*" };
-  }
-
-  // Mutates multiple rows in a batch. Each individual row is mutated
-  // atomically as in MutateRow, but the entire batch is not executed
-  // atomically.
-  rpc MutateRows(MutateRowsRequest) returns (MutateRowsResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:mutateRows" body: "*" };
-  }
-
-  // Mutates a row atomically based on the output of a predicate Reader filter.
-  rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:checkAndMutate" body: "*" };
-  }
-
-  // Modifies a row atomically, reading the latest existing timestamp/value from
-  // the specified columns and writing a new value at
-  // max(existing timestamp, current server time) based on pre-defined
-  // read/modify/write rules. Returns the new contents of all modified cells.
-  rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (Row) {
-    option (google.api.http) = { post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}/rows/{row_key}:readModifyWrite" body: "*" };
-  }
-}
diff --git a/googleapis/bigtable/v1/bigtable_service_messages.pb.go b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
index 8166407e..1e7fad40 100644
--- a/googleapis/bigtable/v1/bigtable_service_messages.pb.go
+++ b/googleapis/bigtable/v1/bigtable_service_messages.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v1/bigtable_service_messages.proto
+// source: google/bigtable/v1/bigtable_service_messages.proto
 // DO NOT EDIT!
 
-package google_bigtable_v1 // import "google.golang.org/genproto/googleapis/bigtable/v1"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -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()
@@ -71,6 +71,13 @@ func (m *ReadRowsRequest) GetTarget() isReadRowsRequest_Target {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *ReadRowsRequest) GetRowKey() []byte {
 	if x, ok := m.GetTarget().(*ReadRowsRequest_RowKey); ok {
 		return x.RowKey
@@ -99,6 +106,20 @@ func (m *ReadRowsRequest) GetFilter() *RowFilter {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetAllowRowInterleaving() bool {
+	if m != nil {
+		return m.AllowRowInterleaving
+	}
+	return false
+}
+
+func (m *ReadRowsRequest) GetNumRowsLimit() int64 {
+	if m != nil {
+		return m.NumRowsLimit
+	}
+	return 0
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*ReadRowsRequest) 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 _ReadRowsRequest_OneofMarshaler, _ReadRowsRequest_OneofUnmarshaler, _ReadRowsRequest_OneofSizer, []interface{}{
@@ -201,7 +222,14 @@ 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) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_Chunk {
 	if m != nil {
@@ -223,7 +251,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 +399,14 @@ 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} }
+
+func (m *SampleRowKeysRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
 
 // Response message for BigtableService.SampleRowKeys.
 type SampleRowKeysResponse struct {
@@ -393,7 +428,21 @@ 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} }
+
+func (m *SampleRowKeysResponse) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
+func (m *SampleRowKeysResponse) GetOffsetBytes() int64 {
+	if m != nil {
+		return m.OffsetBytes
+	}
+	return 0
+}
 
 // Request message for BigtableService.MutateRow.
 type MutateRowRequest struct {
@@ -410,7 +459,21 @@ 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) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *MutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *MutateRowRequest) GetMutations() []*Mutation {
 	if m != nil {
@@ -434,7 +497,14 @@ 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) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
 
 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
 	if m != nil {
@@ -456,7 +526,14 @@ 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) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
 	if m != nil {
@@ -478,7 +555,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 +593,21 @@ 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) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *CheckAndMutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
 	if m != nil {
@@ -549,7 +640,14 @@ 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} }
+
+func (m *CheckAndMutateRowResponse) GetPredicateMatched() bool {
+	if m != nil {
+		return m.PredicateMatched
+	}
+	return false
+}
 
 // Request message for BigtableService.ReadModifyWriteRowRequest.
 type ReadModifyWriteRowRequest struct {
@@ -567,7 +665,21 @@ 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) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
 
 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
 	if m != nil {
@@ -591,59 +703,58 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRowRequest)(nil), "google.bigtable.v1.ReadModifyWriteRowRequest")
 }
 
-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,
+func init() { proto.RegisterFile("google/bigtable/v1/bigtable_service_messages.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 788 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0x5f, 0x8b, 0x23, 0x45,
+	0x10, 0xdf, 0x49, 0xcc, 0xbf, 0x4a, 0xdc, 0xdd, 0x6b, 0xce, 0xdb, 0xd9, 0x70, 0x8b, 0x71, 0x10,
+	0x0d, 0x1e, 0x4c, 0xb8, 0xd5, 0x7d, 0xb9, 0x43, 0xc4, 0xc4, 0x3d, 0x22, 0x1a, 0x39, 0x3a, 0x0f,
+	0x82, 0x08, 0xa1, 0x33, 0xa9, 0xcc, 0x0e, 0x3b, 0xd3, 0x1d, 0xbb, 0x7b, 0x32, 0xe4, 0x59, 0xf0,
+	0x5d, 0x3f, 0x85, 0xdf, 0xc8, 0x17, 0x3f, 0x8c, 0x74, 0xcf, 0xe4, 0x8f, 0x6b, 0xa2, 0x11, 0xf6,
+	0xad, 0xa7, 0xaa, 0x7e, 0xbf, 0xaa, 0xfa, 0x75, 0x4d, 0x17, 0x5c, 0x87, 0x42, 0x84, 0x31, 0xf6,
+	0xa6, 0x51, 0xa8, 0xd9, 0x34, 0xc6, 0xde, 0xf2, 0xe5, 0xe6, 0x3c, 0x51, 0x28, 0x97, 0x51, 0x80,
+	0x93, 0x04, 0x95, 0x62, 0x21, 0x2a, 0x7f, 0x21, 0x85, 0x16, 0x84, 0xe4, 0x18, 0x7f, 0x1d, 0xe7,
+	0x2f, 0x5f, 0xb6, 0x3f, 0xfa, 0x37, 0x9e, 0x19, 0xd3, 0x2c, 0xc7, 0xb6, 0x2f, 0x8a, 0x38, 0xb9,
+	0x08, 0x7a, 0x4a, 0x33, 0x9d, 0x16, 0xa4, 0xde, 0x9f, 0x25, 0x38, 0xa3, 0xc8, 0x66, 0x54, 0x64,
+	0x8a, 0xe2, 0x4f, 0x29, 0x2a, 0x4d, 0xae, 0x00, 0x72, 0x02, 0xce, 0x12, 0x74, 0x9d, 0x8e, 0xd3,
+	0x6d, 0xd0, 0x86, 0xb5, 0x7c, 0xc7, 0x12, 0x24, 0x97, 0x50, 0x93, 0x22, 0x9b, 0xdc, 0xe3, 0xca,
+	0x2d, 0x75, 0x9c, 0x6e, 0x6b, 0x78, 0x42, 0xab, 0x52, 0x64, 0xdf, 0xe0, 0x8a, 0xbc, 0x86, 0x86,
+	0x71, 0x49, 0xc6, 0x43, 0x74, 0xcb, 0x1d, 0xa7, 0xdb, 0xbc, 0x7e, 0xee, 0xff, 0xb3, 0x6c, 0x9f,
+	0x8a, 0x8c, 0x9a, 0x98, 0xe1, 0x09, 0xad, 0xcb, 0xe2, 0x4c, 0x6e, 0x72, 0x5e, 0x85, 0xda, 0xad,
+	0x5b, 0x68, 0xfb, 0x00, 0x74, 0x8c, 0xba, 0xc8, 0x39, 0x46, 0x4d, 0x6e, 0xa0, 0x3a, 0x8f, 0x62,
+	0x8d, 0xd2, 0xad, 0x58, 0xd4, 0xd5, 0x01, 0xd4, 0x1b, 0x1b, 0x44, 0x8b, 0x60, 0xf2, 0x19, 0x3c,
+	0x63, 0x71, 0x6c, 0x8a, 0x15, 0xd9, 0x24, 0xe2, 0x1a, 0x65, 0x8c, 0x6c, 0x19, 0xf1, 0xd0, 0xad,
+	0x76, 0x9c, 0x6e, 0x9d, 0x3e, 0xb5, 0x5e, 0x2a, 0xb2, 0xaf, 0x77, 0x7c, 0xe4, 0x43, 0x38, 0xe5,
+	0x69, 0x62, 0x30, 0x6a, 0x12, 0x47, 0x49, 0xa4, 0xdd, 0x5a, 0xc7, 0xe9, 0x96, 0x69, 0x8b, 0xa7,
+	0x89, 0x91, 0xf0, 0x5b, 0x63, 0xeb, 0xd7, 0xa1, 0xaa, 0x99, 0x0c, 0x51, 0x7b, 0x3f, 0x97, 0xe0,
+	0x7c, 0x2b, 0xaf, 0x5a, 0x08, 0xae, 0x90, 0x5c, 0x6c, 0x05, 0x34, 0xe2, 0xb6, 0x36, 0xf2, 0xf5,
+	0xa1, 0x1a, 0xdc, 0xa5, 0xfc, 0x5e, 0xb9, 0xa5, 0x4e, 0xb9, 0xdb, 0xbc, 0xfe, 0x64, 0x6f, 0x2b,
+	0x0f, 0xe8, 0xfc, 0x81, 0x81, 0xd0, 0x02, 0xd9, 0xfe, 0xd5, 0x81, 0x8a, 0xb5, 0x90, 0x2f, 0xa0,
+	0x65, 0xd2, 0x04, 0x82, 0x6b, 0xe4, 0x5a, 0xd9, 0x5c, 0x07, 0x44, 0x7d, 0xc3, 0x92, 0x28, 0x5e,
+	0x0d, 0x4f, 0x68, 0x53, 0x8a, 0x6c, 0x50, 0x00, 0xc8, 0x15, 0x34, 0x24, 0x2a, 0xd4, 0xa6, 0x5d,
+	0x7b, 0xd5, 0x75, 0x7b, 0x5f, 0xc6, 0x44, 0x45, 0x46, 0xde, 0x07, 0x08, 0x44, 0x92, 0x44, 0xb9,
+	0xbf, 0x5c, 0xf8, 0x1b, 0xb9, 0x8d, 0x8a, 0xac, 0x5f, 0x83, 0x8a, 0x2d, 0xca, 0xbb, 0x81, 0xa7,
+	0x63, 0x96, 0x2c, 0x62, 0xa4, 0xb6, 0xcf, 0x23, 0x07, 0xcd, 0x1b, 0xc3, 0x7b, 0x0f, 0x60, 0xff,
+	0x25, 0xe0, 0x07, 0xd0, 0x12, 0xf3, 0xb9, 0x29, 0x79, 0xba, 0xd2, 0xa8, 0x6c, 0xd1, 0x65, 0xda,
+	0xcc, 0x6d, 0x7d, 0x63, 0xf2, 0x7e, 0x71, 0xe0, 0x7c, 0x94, 0x6a, 0xa6, 0x0d, 0xeb, 0x91, 0x13,
+	0x7f, 0xf1, 0x60, 0xe2, 0x37, 0xf9, 0x5e, 0x41, 0x23, 0x31, 0x5c, 0x91, 0xe0, 0xca, 0x2d, 0xdb,
+	0x3b, 0xdb, 0x3b, 0xef, 0xa3, 0x22, 0x88, 0x6e, 0xc3, 0xbd, 0x3f, 0x1c, 0x78, 0xb2, 0x29, 0xe4,
+	0xd8, 0x7f, 0xef, 0x16, 0x6a, 0xc8, 0xb5, 0x8c, 0x70, 0x3d, 0x22, 0x2f, 0x0e, 0xa6, 0xdb, 0xa5,
+	0xf5, 0x6f, 0xb9, 0x96, 0x2b, 0xba, 0xc6, 0xb6, 0x7f, 0x84, 0x8a, 0xb5, 0x1c, 0x56, 0xf2, 0x6f,
+	0x9d, 0x95, 0xfe, 0x5f, 0x67, 0x5f, 0x01, 0xd9, 0xad, 0xa0, 0xb8, 0x34, 0x1f, 0xea, 0xf9, 0xcb,
+	0x83, 0x66, 0x14, 0x0d, 0x21, 0x59, 0x13, 0xca, 0x45, 0xe0, 0x8f, 0xad, 0x8f, 0x6e, 0x62, 0xbc,
+	0xdf, 0x4b, 0xe0, 0x0e, 0xee, 0x30, 0xb8, 0xff, 0x92, 0xcf, 0x1e, 0xed, 0xc2, 0x86, 0x70, 0xbe,
+	0x90, 0x38, 0x8b, 0x02, 0xa6, 0x71, 0x52, 0x3c, 0x1b, 0xd5, 0x63, 0x9e, 0x8d, 0xb3, 0x0d, 0x2c,
+	0x37, 0x90, 0x01, 0x9c, 0x6a, 0x99, 0xe2, 0x64, 0xab, 0xd2, 0x3b, 0x47, 0xa8, 0xf4, 0xae, 0xc1,
+	0xac, 0xbf, 0x14, 0xb9, 0x85, 0xb3, 0x39, 0x8b, 0xd5, 0x2e, 0x4b, 0xe5, 0x08, 0x96, 0x53, 0x0b,
+	0xda, 0xd0, 0x78, 0x43, 0xb8, 0xdc, 0xa3, 0x54, 0xa1, 0xfb, 0x0b, 0x78, 0xb2, 0x6d, 0x39, 0x61,
+	0x3a, 0xb8, 0xc3, 0x99, 0x55, 0xac, 0x4e, 0xb7, 0x5a, 0x8c, 0x72, 0xbb, 0xf7, 0x9b, 0x03, 0x97,
+	0xe6, 0x81, 0x19, 0x89, 0x59, 0x34, 0x5f, 0x7d, 0x2f, 0xa3, 0x47, 0x51, 0xfd, 0x73, 0xa8, 0xc8,
+	0x34, 0xc6, 0xf5, 0x2f, 0xf2, 0xf1, 0xa1, 0x67, 0x6d, 0x37, 0x6b, 0x1a, 0x23, 0xcd, 0x51, 0x7d,
+	0x0d, 0xcf, 0x02, 0x91, 0xec, 0x01, 0xf5, 0x9f, 0xf7, 0x8b, 0x8f, 0x71, 0xbe, 0x32, 0x47, 0xc5,
+	0xc6, 0x7c, 0x6b, 0x76, 0xdb, 0x5b, 0xe7, 0x87, 0x57, 0x05, 0x26, 0x14, 0x31, 0xe3, 0xa1, 0x2f,
+	0x64, 0xd8, 0x0b, 0x91, 0xdb, 0xcd, 0xd7, 0xcb, 0x5d, 0x6c, 0x11, 0xa9, 0xdd, 0xed, 0xf9, 0x7a,
+	0x7d, 0x9e, 0x56, 0x6d, 0xd8, 0xa7, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x16, 0x55, 0x90, 0x95,
+	0xab, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v1/bigtable_service_messages.proto b/googleapis/bigtable/v1/bigtable_service_messages.proto
deleted file mode 100644
index 7fa84aed..00000000
--- a/googleapis/bigtable/v1/bigtable_service_messages.proto
+++ /dev/null
@@ -1,217 +0,0 @@
-// 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.bigtable.v1;
-
-import "google.golang.org/genproto/googleapis/bigtable/v1/bigtable_data.proto"; // from google/bigtable/v1/bigtable_data.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 = "BigtableServiceMessagesProto";
-option java_package = "com.google.bigtable.v1";
-
-
-// Request message for BigtableServer.ReadRows.
-message ReadRowsRequest {
-  // The unique name of the table from which to read.
-  string table_name = 1;
-
-  // If neither row_key nor row_range is set, reads from all rows.
-  oneof target {
-    // The key of a single row from which to read.
-    bytes row_key = 2;
-
-    // A range of rows from which to read.
-    RowRange row_range = 3;
-
-    // A set of rows from which to read. Entries need not be in order, and will
-    // be deduplicated before reading.
-    // The total serialized size of the set must not exceed 1MB.
-    RowSet row_set = 8;
-  }
-
-  // The filter to apply to the contents of the specified row(s). If unset,
-  // reads the entire table.
-  RowFilter filter = 5;
-
-  // By default, rows are read sequentially, producing results which are
-  // guaranteed to arrive in increasing row order. Setting
-  // "allow_row_interleaving" to true allows multiple rows to be interleaved in
-  // the response stream, which increases throughput but breaks this guarantee,
-  // and may force the client to use more memory to buffer partially-received
-  // rows. Cannot be set to true when specifying "num_rows_limit".
-  bool allow_row_interleaving = 6;
-
-  // The read will terminate after committing to N rows' worth of results. The
-  // default (zero) is to return all results.
-  // Note that "allow_row_interleaving" cannot be set to true when this is set.
-  int64 num_rows_limit = 7;
-}
-
-// Response message for BigtableService.ReadRows.
-message ReadRowsResponse {
-  // Specifies a piece of a row's contents returned as part of the read
-  // response stream.
-  message Chunk {
-    oneof chunk {
-      // A subset of the data from a particular row. As long as no "reset_row"
-      // is received in between, multiple "row_contents" from the same row are
-      // from the same atomic view of that row, and will be received in the
-      // expected family/column/timestamp order.
-      Family row_contents = 1;
-
-      // Indicates that the client should drop all previous chunks for
-      // "row_key", as it will be re-read from the beginning.
-      bool reset_row = 2;
-
-      // Indicates that the client can safely process all previous chunks for
-      // "row_key", as its data has been fully read.
-      bool commit_row = 3;
-    }
-  }
-
-  // The key of the row for which we're receiving data.
-  // Results will be received in increasing row key order, unless
-  // "allow_row_interleaving" was specified in the request.
-  bytes row_key = 1;
-
-  // One or more chunks of the row specified by "row_key".
-  repeated Chunk chunks = 2;
-}
-
-// Request message for BigtableService.SampleRowKeys.
-message SampleRowKeysRequest {
-  // The unique name of the table from which to sample row keys.
-  string table_name = 1;
-}
-
-// Response message for BigtableService.SampleRowKeys.
-message SampleRowKeysResponse {
-  // Sorted streamed sequence of sample row keys in the table. The table might
-  // have contents before the first row key in the list and after the last one,
-  // but a key containing the empty string indicates "end of table" and will be
-  // the last response given, if present.
-  // Note that row keys in this list may not have ever been written to or read
-  // from, and users should therefore not make any assumptions about the row key
-  // structure that are specific to their use case.
-  bytes row_key = 1;
-
-  // Approximate total storage space used by all rows in the table which precede
-  // "row_key". Buffering the contents of all rows between two subsequent
-  // samples would require space roughly equal to the difference in their
-  // "offset_bytes" fields.
-  int64 offset_bytes = 2;
-}
-
-// Request message for BigtableService.MutateRow.
-message MutateRowRequest {
-  // The unique name of the table to which the mutation should be applied.
-  string table_name = 1;
-
-  // The key of the row to which the mutation should be applied.
-  bytes row_key = 2;
-
-  // Changes to be atomically applied to the specified row. Entries are applied
-  // in order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry and at most 100000.
-  repeated Mutation mutations = 3;
-}
-
-// Request message for BigtableService.MutateRows.
-message MutateRowsRequest {
-  message Entry {
-    // The key of the row to which the `mutations` should be applied.
-    bytes row_key = 1;
-
-    // Changes to be atomically applied to the specified row. Mutations are
-    // applied in order, meaning that earlier mutations can be masked by
-    // later ones.
-    // At least one mutation must be specified.
-    repeated Mutation mutations = 2;
-  }
-
-  // The unique name of the table to which the mutations should be applied.
-  string table_name = 1;
-
-  // The row keys/mutations to be applied in bulk.
-  // Each entry is applied as an atomic mutation, but the entries may be
-  // applied in arbitrary order (even between entries for the same row).
-  // At least one entry must be specified, and in total the entries may
-  // contain at most 100000 mutations.
-  repeated Entry entries = 2;
-}
-
-// Response message for BigtableService.MutateRows.
-message MutateRowsResponse {
-  // The results for each Entry from the request, presented in the order
-  // in which the entries were originally given.
-  // Depending on how requests are batched during execution, it is possible
-  // for one Entry to fail due to an error with another Entry. In the event
-  // that this occurs, the same error will be reported for both entries.
-  repeated google.rpc.Status statuses = 1;
-}
-
-// Request message for BigtableService.CheckAndMutateRowRequest
-message CheckAndMutateRowRequest {
-  // The unique name of the table to which the conditional mutation should be
-  // applied.
-  string table_name = 1;
-
-  // The key of the row to which the conditional mutation should be applied.
-  bytes row_key = 2;
-
-  // The filter to be applied to the contents of the specified row. Depending
-  // on whether or not any results are yielded, either "true_mutations" or
-  // "false_mutations" will be executed. If unset, checks that the row contains
-  // any values at all.
-  RowFilter predicate_filter = 6;
-
-  // Changes to be atomically applied to the specified row if "predicate_filter"
-  // yields at least one cell when applied to "row_key". Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if "false_mutations" is empty, and at most
-  // 100000.
-  repeated Mutation true_mutations = 4;
-
-  // Changes to be atomically applied to the specified row if "predicate_filter"
-  // does not yield any cells when applied to "row_key". Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if "true_mutations" is empty, and at most
-  // 100000.
-  repeated Mutation false_mutations = 5;
-}
-
-// Response message for BigtableService.CheckAndMutateRowRequest.
-message CheckAndMutateRowResponse {
-  // Whether or not the request's "predicate_filter" yielded any results for
-  // the specified row.
-  bool predicate_matched = 1;
-}
-
-// Request message for BigtableService.ReadModifyWriteRowRequest.
-message ReadModifyWriteRowRequest {
-  // The unique name of the table to which the read/modify/write rules should be
-  // applied.
-  string table_name = 1;
-
-  // The key of the row to which the read/modify/write rules should be applied.
-  bytes row_key = 2;
-
-  // Rules specifying how the specified row's contents are to be transformed
-  // into writes. Entries are applied in order, meaning that earlier rules will
-  // affect the results of later ones.
-  repeated ReadModifyWriteRule rules = 3;
-}
diff --git a/googleapis/bigtable/v2/bigtable.pb.go b/googleapis/bigtable/v2/bigtable.pb.go
index 035d7fe6..b41f14f2 100644
--- a/googleapis/bigtable/v2/bigtable.pb.go
+++ b/googleapis/bigtable/v2/bigtable.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto
+// source: google/bigtable/v2/bigtable.proto
 // DO NOT EDIT!
 
 /*
-Package google_bigtable_v2 is a generated protocol buffer package.
+Package bigtable is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto
-	google.golang.org/genproto/googleapis/bigtable/v2/data.proto
+	google/bigtable/v2/bigtable.proto
+	google/bigtable/v2/data.proto
 
 It has these top-level messages:
 	ReadRowsRequest
@@ -35,12 +35,12 @@ It has these top-level messages:
 	Mutation
 	ReadModifyWriteRule
 */
-package google_bigtable_v2 // import "google.golang.org/genproto/googleapis/bigtable/v2"
+package bigtable
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/wrappers"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -81,6 +81,13 @@ func (m *ReadRowsRequest) String() string            { return proto.CompactTextS
 func (*ReadRowsRequest) ProtoMessage()               {}
 func (*ReadRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ReadRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *ReadRowsRequest) GetRows() *RowSet {
 	if m != nil {
 		return m.Rows
@@ -95,6 +102,13 @@ func (m *ReadRowsRequest) GetFilter() *RowFilter {
 	return nil
 }
 
+func (m *ReadRowsRequest) GetRowsLimit() int64 {
+	if m != nil {
+		return m.RowsLimit
+	}
+	return 0
+}
+
 // Response message for Bigtable.ReadRows.
 type ReadRowsResponse struct {
 	Chunks []*ReadRowsResponse_CellChunk `protobuf:"bytes,1,rep,name=chunks" json:"chunks,omitempty"`
@@ -120,6 +134,13 @@ func (m *ReadRowsResponse) GetChunks() []*ReadRowsResponse_CellChunk {
 	return nil
 }
 
+func (m *ReadRowsResponse) GetLastScannedRowKey() []byte {
+	if m != nil {
+		return m.LastScannedRowKey
+	}
+	return nil
+}
+
 // Specifies a piece of a row's contents returned as part of the read
 // response stream.
 type ReadRowsResponse_CellChunk struct {
@@ -197,6 +218,13 @@ func (m *ReadRowsResponse_CellChunk) GetRowStatus() isReadRowsResponse_CellChunk
 	return nil
 }
 
+func (m *ReadRowsResponse_CellChunk) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *ReadRowsResponse_CellChunk) GetFamilyName() *google_protobuf1.StringValue {
 	if m != nil {
 		return m.FamilyName
@@ -211,6 +239,34 @@ func (m *ReadRowsResponse_CellChunk) GetQualifier() *google_protobuf1.BytesValue
 	return nil
 }
 
+func (m *ReadRowsResponse_CellChunk) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *ReadRowsResponse_CellChunk) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
+func (m *ReadRowsResponse_CellChunk) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *ReadRowsResponse_CellChunk) GetValueSize() int32 {
+	if m != nil {
+		return m.ValueSize
+	}
+	return 0
+}
+
 func (m *ReadRowsResponse_CellChunk) GetResetRow() bool {
 	if x, ok := m.GetRowStatus().(*ReadRowsResponse_CellChunk_ResetRow); ok {
 		return x.ResetRow
@@ -310,6 +366,13 @@ func (m *SampleRowKeysRequest) String() string            { return proto.Compact
 func (*SampleRowKeysRequest) ProtoMessage()               {}
 func (*SampleRowKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *SampleRowKeysRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 // Response message for Bigtable.SampleRowKeys.
 type SampleRowKeysResponse struct {
 	// Sorted streamed sequence of sample row keys in the table. The table might
@@ -332,6 +395,20 @@ func (m *SampleRowKeysResponse) String() string            { return proto.Compac
 func (*SampleRowKeysResponse) ProtoMessage()               {}
 func (*SampleRowKeysResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *SampleRowKeysResponse) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
+func (m *SampleRowKeysResponse) GetOffsetBytes() int64 {
+	if m != nil {
+		return m.OffsetBytes
+	}
+	return 0
+}
+
 // Request message for Bigtable.MutateRow.
 type MutateRowRequest struct {
 	// The unique name of the table to which the mutation should be applied.
@@ -351,6 +428,20 @@ func (m *MutateRowRequest) String() string            { return proto.CompactText
 func (*MutateRowRequest) ProtoMessage()               {}
 func (*MutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *MutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *MutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *MutateRowRequest) GetMutations() []*Mutation {
 	if m != nil {
 		return m.Mutations
@@ -384,6 +475,13 @@ func (m *MutateRowsRequest) String() string            { return proto.CompactTex
 func (*MutateRowsRequest) ProtoMessage()               {}
 func (*MutateRowsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *MutateRowsRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
 func (m *MutateRowsRequest) GetEntries() []*MutateRowsRequest_Entry {
 	if m != nil {
 		return m.Entries
@@ -406,6 +504,13 @@ func (m *MutateRowsRequest_Entry) String() string            { return proto.Comp
 func (*MutateRowsRequest_Entry) ProtoMessage()               {}
 func (*MutateRowsRequest_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
 
+func (m *MutateRowsRequest_Entry) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *MutateRowsRequest_Entry) GetMutations() []*Mutation {
 	if m != nil {
 		return m.Mutations
@@ -447,6 +552,13 @@ func (m *MutateRowsResponse_Entry) String() string            { return proto.Com
 func (*MutateRowsResponse_Entry) ProtoMessage()               {}
 func (*MutateRowsResponse_Entry) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7, 0} }
 
+func (m *MutateRowsResponse_Entry) GetIndex() int64 {
+	if m != nil {
+		return m.Index
+	}
+	return 0
+}
+
 func (m *MutateRowsResponse_Entry) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -487,6 +599,20 @@ func (m *CheckAndMutateRowRequest) String() string            { return proto.Com
 func (*CheckAndMutateRowRequest) ProtoMessage()               {}
 func (*CheckAndMutateRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CheckAndMutateRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *CheckAndMutateRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *CheckAndMutateRowRequest) GetPredicateFilter() *RowFilter {
 	if m != nil {
 		return m.PredicateFilter
@@ -520,6 +646,13 @@ func (m *CheckAndMutateRowResponse) String() string            { return proto.Co
 func (*CheckAndMutateRowResponse) ProtoMessage()               {}
 func (*CheckAndMutateRowResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *CheckAndMutateRowResponse) GetPredicateMatched() bool {
+	if m != nil {
+		return m.PredicateMatched
+	}
+	return false
+}
+
 // Request message for Bigtable.ReadModifyWriteRow.
 type ReadModifyWriteRowRequest struct {
 	// The unique name of the table to which the read/modify/write rules should be
@@ -540,6 +673,20 @@ func (m *ReadModifyWriteRowRequest) String() string            { return proto.Co
 func (*ReadModifyWriteRowRequest) ProtoMessage()               {}
 func (*ReadModifyWriteRowRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *ReadModifyWriteRowRequest) GetTableName() string {
+	if m != nil {
+		return m.TableName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRowRequest) GetRowKey() []byte {
+	if m != nil {
+		return m.RowKey
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRowRequest) GetRules() []*ReadModifyWriteRule {
 	if m != nil {
 		return m.Rules
@@ -939,86 +1086,82 @@ var _Bigtable_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto",
+	Metadata: "google/bigtable/v2/bigtable.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v2/bigtable.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bigtable/v2/bigtable.proto", fileDescriptor0) }
 
 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,
+	// 1135 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4f, 0x6f, 0x1b, 0x45,
+	0x14, 0x67, 0xec, 0xda, 0xf1, 0xbe, 0x24, 0x4d, 0x32, 0x84, 0xc6, 0x35, 0x09, 0xb8, 0x4b, 0x0b,
+	0x8e, 0x4b, 0xd7, 0x55, 0x50, 0x0f, 0x75, 0x95, 0x02, 0x0e, 0x49, 0x83, 0xc0, 0x55, 0x35, 0x96,
+	0x40, 0x42, 0x48, 0xd6, 0x78, 0x3d, 0x76, 0x96, 0xec, 0xbf, 0xee, 0x8c, 0x63, 0x5c, 0xc4, 0x85,
+	0x03, 0x1f, 0x00, 0xce, 0x88, 0x13, 0x82, 0x0b, 0x1c, 0xb9, 0x72, 0xe0, 0x23, 0x70, 0xe0, 0x0b,
+	0xf4, 0x13, 0xf0, 0x09, 0xd0, 0xcc, 0xce, 0xda, 0x4e, 0x62, 0xb7, 0x9b, 0xaa, 0xb7, 0x9d, 0xf7,
+	0xde, 0xef, 0xcd, 0xef, 0xfd, 0x1d, 0x1b, 0xae, 0xf5, 0x83, 0xa0, 0xef, 0xb2, 0x5a, 0xc7, 0xe9,
+	0x0b, 0xda, 0x71, 0x59, 0xed, 0x64, 0x67, 0xfc, 0x6d, 0x85, 0x51, 0x20, 0x02, 0x8c, 0x63, 0x13,
+	0x6b, 0x2c, 0x3e, 0xd9, 0x29, 0x6d, 0x6a, 0x18, 0x0d, 0x9d, 0x1a, 0xf5, 0xfd, 0x40, 0x50, 0xe1,
+	0x04, 0x3e, 0x8f, 0x11, 0xa5, 0xad, 0x19, 0x4e, 0xbb, 0x54, 0x50, 0xad, 0x7e, 0x43, 0xab, 0xd5,
+	0xa9, 0x33, 0xe8, 0xd5, 0x86, 0x11, 0x0d, 0x43, 0x16, 0x25, 0xf0, 0x0d, 0xad, 0x8f, 0x42, 0xbb,
+	0xc6, 0x05, 0x15, 0x03, 0xad, 0x30, 0xff, 0x44, 0xb0, 0x42, 0x18, 0xed, 0x92, 0x60, 0xc8, 0x09,
+	0x7b, 0x3c, 0x60, 0x5c, 0xe0, 0x2d, 0x00, 0x75, 0x47, 0xdb, 0xa7, 0x1e, 0x2b, 0xa2, 0x32, 0xaa,
+	0x18, 0xc4, 0x50, 0x92, 0x87, 0xd4, 0x63, 0xd8, 0x82, 0x4b, 0x51, 0x30, 0xe4, 0xc5, 0x4c, 0x19,
+	0x55, 0x16, 0x77, 0x4a, 0xd6, 0xf9, 0x58, 0x2c, 0x12, 0x0c, 0x5b, 0x4c, 0x10, 0x65, 0x87, 0xef,
+	0x40, 0xbe, 0xe7, 0xb8, 0x82, 0x45, 0xc5, 0xac, 0x42, 0x6c, 0xcd, 0x41, 0x1c, 0x28, 0x23, 0xa2,
+	0x8d, 0x25, 0x0b, 0x09, 0x6f, 0xbb, 0x8e, 0xe7, 0x88, 0xe2, 0xa5, 0x32, 0xaa, 0x64, 0x89, 0x21,
+	0x25, 0x9f, 0x4a, 0x81, 0xf9, 0x5f, 0x16, 0x56, 0x27, 0xc4, 0x79, 0x18, 0xf8, 0x9c, 0xe1, 0x03,
+	0xc8, 0xdb, 0x47, 0x03, 0xff, 0x98, 0x17, 0x51, 0x39, 0x5b, 0x59, 0xdc, 0xb1, 0x66, 0x5e, 0x75,
+	0x06, 0x65, 0xed, 0x31, 0xd7, 0xdd, 0x93, 0x30, 0xa2, 0xd1, 0xb8, 0x06, 0xeb, 0x2e, 0xe5, 0xa2,
+	0xcd, 0x6d, 0xea, 0xfb, 0xac, 0xdb, 0x8e, 0x82, 0x61, 0xfb, 0x98, 0x8d, 0x54, 0xc8, 0x4b, 0x64,
+	0x4d, 0xea, 0x5a, 0xb1, 0x8a, 0x04, 0xc3, 0x4f, 0xd8, 0xa8, 0xf4, 0x34, 0x03, 0xc6, 0xd8, 0x0d,
+	0xde, 0x80, 0x85, 0x04, 0x81, 0x14, 0x22, 0x1f, 0x29, 0x33, 0xbc, 0x0b, 0x8b, 0x3d, 0xea, 0x39,
+	0xee, 0x28, 0x4e, 0x6d, 0x9c, 0xc1, 0xcd, 0x84, 0x64, 0x52, 0x3c, 0xab, 0x25, 0x22, 0xc7, 0xef,
+	0x7f, 0x46, 0xdd, 0x01, 0x23, 0x10, 0x03, 0x54, 0xe6, 0xef, 0x82, 0xf1, 0x78, 0x40, 0x5d, 0xa7,
+	0xe7, 0x8c, 0x93, 0xf9, 0xfa, 0x39, 0x70, 0x63, 0x24, 0x18, 0x8f, 0xb1, 0x13, 0x6b, 0xbc, 0x0d,
+	0xab, 0xc2, 0xf1, 0x18, 0x17, 0xd4, 0x0b, 0xdb, 0x9e, 0x63, 0x47, 0x01, 0xd7, 0x39, 0x5d, 0x19,
+	0xcb, 0x9b, 0x4a, 0x8c, 0xaf, 0x40, 0xde, 0xa5, 0x1d, 0xe6, 0xf2, 0x62, 0xae, 0x9c, 0xad, 0x18,
+	0x44, 0x9f, 0xf0, 0x3a, 0xe4, 0x4e, 0xa4, 0xdb, 0x62, 0x5e, 0xc5, 0x14, 0x1f, 0x64, 0x99, 0xd4,
+	0x47, 0x9b, 0x3b, 0x4f, 0x58, 0x71, 0xa1, 0x8c, 0x2a, 0x39, 0x62, 0x28, 0x49, 0xcb, 0x79, 0x22,
+	0xd5, 0x46, 0xc4, 0x38, 0x13, 0x32, 0x85, 0xc5, 0x42, 0x19, 0x55, 0x0a, 0x87, 0xaf, 0x90, 0x82,
+	0x12, 0x91, 0x60, 0x88, 0xdf, 0x04, 0xb0, 0x03, 0xcf, 0x73, 0x62, 0xbd, 0xa1, 0xf5, 0x46, 0x2c,
+	0x23, 0xc1, 0xb0, 0xb1, 0xa4, 0xba, 0xa0, 0x1d, 0xf7, 0xac, 0x79, 0x07, 0xd6, 0x5b, 0xd4, 0x0b,
+	0x5d, 0x16, 0xa7, 0x3d, 0x65, 0xc7, 0x9a, 0x2d, 0x78, 0xed, 0x0c, 0x4c, 0xf7, 0xcb, 0xdc, 0x42,
+	0x5d, 0x83, 0xa5, 0xa0, 0xd7, 0x93, 0xbc, 0x3b, 0x32, 0x9d, 0xaa, 0x52, 0x59, 0xb2, 0x18, 0xcb,
+	0x54, 0x86, 0xcd, 0xef, 0x11, 0xac, 0x36, 0x07, 0x82, 0x0a, 0xe9, 0x35, 0xe5, 0xe8, 0x4c, 0xdd,
+	0x97, 0x39, 0x75, 0x5f, 0x1d, 0x0c, 0x6f, 0xa0, 0x27, 0xbe, 0x98, 0x55, 0xbd, 0xbb, 0x39, 0xab,
+	0x77, 0x9b, 0xda, 0x88, 0x4c, 0xcc, 0xcd, 0x57, 0x61, 0x6d, 0x8a, 0x47, 0x1c, 0x99, 0xf9, 0x2f,
+	0x9a, 0x92, 0xa6, 0x9d, 0xec, 0x7d, 0x58, 0x60, 0xbe, 0x88, 0x1c, 0x15, 0xb0, 0xe4, 0x70, 0x73,
+	0x2e, 0x87, 0x69, 0xb7, 0xd6, 0xbe, 0x2f, 0xa2, 0x11, 0x49, 0xb0, 0xa5, 0x2f, 0x21, 0xa7, 0x24,
+	0xf3, 0xd3, 0x7b, 0x2a, 0xdc, 0xcc, 0xc5, 0xc2, 0xfd, 0x15, 0x01, 0x9e, 0xa6, 0x30, 0x1e, 0xfd,
+	0x31, 0xf7, 0x78, 0xf6, 0xdf, 0x7d, 0x1e, 0x77, 0x3d, 0xfd, 0x67, 0xc8, 0x7f, 0x9c, 0x90, 0x5f,
+	0x87, 0x9c, 0xe3, 0x77, 0xd9, 0xd7, 0x8a, 0x7a, 0x96, 0xc4, 0x07, 0x5c, 0x85, 0x7c, 0xdc, 0x8b,
+	0x7a, 0x78, 0x71, 0x72, 0x4b, 0x14, 0xda, 0x56, 0x4b, 0x69, 0x88, 0xb6, 0x30, 0x7f, 0xcb, 0x40,
+	0x71, 0xef, 0x88, 0xd9, 0xc7, 0x1f, 0xfa, 0xdd, 0x97, 0xd6, 0x29, 0x87, 0xb0, 0x1a, 0x46, 0xac,
+	0xeb, 0xd8, 0x54, 0xb0, 0xb6, 0xde, 0xab, 0xf9, 0x34, 0x7b, 0x75, 0x65, 0x0c, 0x8b, 0x05, 0x78,
+	0x0f, 0x2e, 0x8b, 0x68, 0xc0, 0xda, 0x93, 0x4a, 0x5c, 0x4a, 0x51, 0x89, 0x65, 0x89, 0x49, 0x4e,
+	0x1c, 0xef, 0xc3, 0x4a, 0x8f, 0xba, 0x7c, 0xda, 0x4b, 0x2e, 0x85, 0x97, 0xcb, 0x0a, 0x34, 0x76,
+	0x63, 0x1e, 0xc2, 0xd5, 0x19, 0x99, 0xd2, 0xa5, 0xbd, 0x09, 0x6b, 0x93, 0x90, 0x3d, 0x2a, 0xec,
+	0x23, 0xd6, 0x55, 0x19, 0x2b, 0x90, 0x49, 0x2e, 0x9a, 0xb1, 0xdc, 0xfc, 0x01, 0xc1, 0x55, 0xb9,
+	0xe1, 0x9b, 0x41, 0xd7, 0xe9, 0x8d, 0x3e, 0x8f, 0x9c, 0x97, 0x92, 0xf5, 0x5d, 0xc8, 0x45, 0x03,
+	0x97, 0x25, 0xb3, 0xf9, 0xce, 0xbc, 0x77, 0x65, 0xfa, 0xd6, 0x81, 0xcb, 0x48, 0x8c, 0x32, 0x1f,
+	0x40, 0x69, 0x16, 0x27, 0x1d, 0xdf, 0x36, 0x64, 0xe5, 0xf6, 0x43, 0xaa, 0x8a, 0x1b, 0x73, 0xaa,
+	0x48, 0xa4, 0xcd, 0xce, 0xef, 0x05, 0x28, 0x34, 0xb4, 0x02, 0xff, 0x84, 0xa0, 0x90, 0x3c, 0x66,
+	0xf8, 0xad, 0x67, 0x3f, 0x75, 0x2a, 0xfc, 0xd2, 0xf5, 0x34, 0xef, 0xa1, 0xf9, 0xd1, 0x77, 0xff,
+	0x3c, 0xfd, 0x31, 0x73, 0xdf, 0xbc, 0x2b, 0x7f, 0x64, 0x7c, 0x33, 0xc9, 0xd7, 0x6e, 0x18, 0x05,
+	0x5f, 0x31, 0x5b, 0xf0, 0x5a, 0xb5, 0xe6, 0xf8, 0x5c, 0x50, 0xdf, 0x66, 0xf2, 0x5b, 0x59, 0xf0,
+	0x5a, 0xf5, 0xdb, 0x7a, 0xa4, 0x5d, 0xd5, 0x51, 0xf5, 0x36, 0xc2, 0x7f, 0x20, 0x58, 0x3e, 0xb5,
+	0x77, 0x71, 0x65, 0xd6, 0xfd, 0xb3, 0x36, 0x7a, 0x69, 0x3b, 0x85, 0xa5, 0xa6, 0x7b, 0xa0, 0xe8,
+	0x7e, 0x80, 0xef, 0x5f, 0x98, 0x2e, 0x9f, 0xf6, 0x77, 0x1b, 0xe1, 0x9f, 0x11, 0x18, 0xe3, 0xf6,
+	0xc3, 0xd7, 0x9f, 0xb9, 0x40, 0x12, 0xa2, 0x37, 0x9e, 0x63, 0xa5, 0x49, 0xee, 0x2b, 0x92, 0xef,
+	0x9b, 0xf5, 0x0b, 0x93, 0xf4, 0x12, 0x5f, 0x75, 0x54, 0xc5, 0xbf, 0x20, 0x80, 0xc9, 0x0e, 0xc3,
+	0x37, 0x52, 0xed, 0xe7, 0xd2, 0xdb, 0xe9, 0x56, 0x61, 0x92, 0x49, 0xf3, 0xde, 0x8b, 0x93, 0xd4,
+	0xa5, 0xff, 0x0b, 0xc1, 0xda, 0xb9, 0x81, 0xc6, 0x33, 0x57, 0xf2, 0xbc, 0x0d, 0x59, 0xba, 0x95,
+	0xd2, 0x5a, 0x93, 0x6f, 0x2a, 0xf2, 0x0f, 0xcc, 0xc6, 0x85, 0xc9, 0xdb, 0x67, 0x7d, 0xca, 0x4c,
+	0xff, 0x8d, 0x00, 0x9f, 0x9f, 0x59, 0x7c, 0x2b, 0xcd, 0xe4, 0x4f, 0x62, 0xb0, 0xd2, 0x9a, 0xeb,
+	0x20, 0x1e, 0xaa, 0x20, 0x0e, 0xcd, 0xbd, 0x17, 0x1a, 0xbd, 0xd3, 0x4e, 0xeb, 0xa8, 0xda, 0x60,
+	0x70, 0xc5, 0x0e, 0xbc, 0x19, 0x24, 0x1a, 0xcb, 0xc9, 0x1a, 0x79, 0x24, 0x7f, 0x38, 0x3e, 0x42,
+	0x5f, 0xd4, 0xb5, 0x51, 0x3f, 0x70, 0xa9, 0xdf, 0xb7, 0x82, 0xa8, 0x5f, 0xeb, 0x33, 0x5f, 0xfd,
+	0xac, 0xac, 0xc5, 0x2a, 0x1a, 0x3a, 0x7c, 0xfa, 0x0f, 0xc8, 0xbd, 0xe4, 0xbb, 0x93, 0x57, 0x66,
+	0xef, 0xfd, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x38, 0x8d, 0xf4, 0x91, 0xfb, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/bigtable.proto b/googleapis/bigtable/v2/bigtable.proto
deleted file mode 100644
index 866ca563..00000000
--- a/googleapis/bigtable/v2/bigtable.proto
+++ /dev/null
@@ -1,321 +0,0 @@
-// 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.bigtable.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/bigtable/v2/data.proto"; // from google/bigtable/v2/data.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.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 = "BigtableProto";
-option java_package = "com.google.bigtable.v2";
-
-
-// Service for reading from and writing to existing Bigtable tables.
-service Bigtable {
-  // Streams back the contents of all requested rows, optionally
-  // applying the same Reader filter to each. Depending on their size,
-  // rows and cells may be broken up across multiple responses, but
-  // atomicity of each row will still be preserved. See the
-  // ReadRowsResponse documentation for details.
-  rpc ReadRows(ReadRowsRequest) returns (stream ReadRowsResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readRows" body: "*" };
-  }
-
-  // Returns a sample of row keys in the table. The returned row keys will
-  // delimit contiguous sections of the table of approximately equal size,
-  // which can be used to break up the data for distributed tasks like
-  // mapreduces.
-  rpc SampleRowKeys(SampleRowKeysRequest) returns (stream SampleRowKeysResponse) {
-    option (google.api.http) = { get: "/v2/{table_name=projects/*/instances/*/tables/*}:sampleRowKeys" };
-  }
-
-  // Mutates a row atomically. Cells already present in the row are left
-  // unchanged unless explicitly changed by `mutation`.
-  rpc MutateRow(MutateRowRequest) returns (MutateRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRow" body: "*" };
-  }
-
-  // Mutates multiple rows in a batch. Each individual row is mutated
-  // atomically as in MutateRow, but the entire batch is not executed
-  // atomically.
-  rpc MutateRows(MutateRowsRequest) returns (stream MutateRowsResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:mutateRows" body: "*" };
-  }
-
-  // Mutates a row atomically based on the output of a predicate Reader filter.
-  rpc CheckAndMutateRow(CheckAndMutateRowRequest) returns (CheckAndMutateRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:checkAndMutateRow" body: "*" };
-  }
-
-  // Modifies a row atomically. The method reads the latest existing timestamp
-  // and value from the specified columns and writes a new entry based on
-  // pre-defined read/modify/write rules. The new value for the timestamp is the
-  // greater of the existing timestamp or the current server time. The method
-  // returns the new contents of all modified cells.
-  rpc ReadModifyWriteRow(ReadModifyWriteRowRequest) returns (ReadModifyWriteRowResponse) {
-    option (google.api.http) = { post: "/v2/{table_name=projects/*/instances/*/tables/*}:readModifyWriteRow" body: "*" };
-  }
-}
-
-// Request message for Bigtable.ReadRows.
-message ReadRowsRequest {
-  // The unique name of the table from which to read.
-  // Values are of the form
-  // `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.
-  RowSet rows = 2;
-
-  // The filter to apply to the contents of the specified row(s). If unset,
-  // reads the entirety of each row.
-  RowFilter filter = 3;
-
-  // The read will terminate after committing to N rows' worth of results. The
-  // default (zero) is to return all results.
-  int64 rows_limit = 4;
-}
-
-// Response message for Bigtable.ReadRows.
-message ReadRowsResponse {
-  // Specifies a piece of a row's contents returned as part of the read
-  // response stream.
-  message CellChunk {
-    // The row key for this chunk of data.  If the row key is empty,
-    // this CellChunk is a continuation of the same row as the previous
-    // CellChunk in the response stream, even if that CellChunk was in a
-    // previous ReadRowsResponse message.
-    bytes row_key = 1;
-
-    // The column family name for this chunk of data.  If this message
-    // is not present this CellChunk is a continuation of the same column
-    // family as the previous CellChunk.  The empty string can occur as a
-    // column family name in a response so clients must check
-    // explicitly for the presence of this message, not just for
-    // `family_name.value` being non-empty.
-    google.protobuf.StringValue family_name = 2;
-
-    // The column qualifier for this chunk of data.  If this message
-    // is not present, this CellChunk is a continuation of the same column
-    // as the previous CellChunk.  Column qualifiers may be empty so
-    // clients must check for the presence of this message, not just
-    // for `qualifier.value` being non-empty.
-    google.protobuf.BytesValue qualifier = 3;
-
-    // The cell's stored timestamp, which also uniquely identifies it
-    // within its column.  Values are always expressed in
-    // microseconds, but individual tables may set a coarser
-    // granularity to further restrict the allowed values. For
-    // example, a table which specifies millisecond granularity will
-    // only allow values of `timestamp_micros` which are multiples of
-    // 1000.  Timestamps are only set in the first CellChunk per cell
-    // (for cells split into multiple chunks).
-    int64 timestamp_micros = 4;
-
-    // Labels applied to the cell by a
-    // [RowFilter][google.bigtable.v2.RowFilter].  Labels are only set
-    // on the first CellChunk per cell.
-    repeated string labels = 5;
-
-    // The value stored in the cell.  Cell values can be split across
-    // multiple CellChunks.  In that case only the value field will be
-    // set in CellChunks after the first: the timestamp and labels
-    // will only be present in the first CellChunk, even if the first
-    // CellChunk came in a previous ReadRowsResponse.
-    bytes value = 6;
-
-    // If this CellChunk is part of a chunked cell value and this is
-    // not the final chunk of that cell, value_size will be set to the
-    // total length of the cell value.  The client can use this size
-    // to pre-allocate memory to hold the full cell value.
-    int32 value_size = 7;
-
-    oneof row_status {
-      // Indicates that the client should drop all previous chunks for
-      // `row_key`, as it will be re-read from the beginning.
-      bool reset_row = 8;
-
-      // Indicates that the client can safely process all previous chunks for
-      // `row_key`, as its data has been fully read.
-      bool commit_row = 9;
-    }
-  }
-
-  repeated CellChunk chunks = 1;
-
-  // Optionally the server might return the row key of the last row it
-  // has scanned.  The client can use this to construct a more
-  // efficient retry request if needed: any row keys or portions of
-  // ranges less than this row key can be dropped from the request.
-  // This is primarily useful for cases where the server has read a
-  // lot of data that was filtered out since the last committed row
-  // key, allowing the client to skip that work on a retry.
-  bytes last_scanned_row_key = 2;
-}
-
-// Request message for Bigtable.SampleRowKeys.
-message SampleRowKeysRequest {
-  // The unique name of the table from which to sample row keys.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-}
-
-// Response message for Bigtable.SampleRowKeys.
-message SampleRowKeysResponse {
-  // Sorted streamed sequence of sample row keys in the table. The table might
-  // have contents before the first row key in the list and after the last one,
-  // but a key containing the empty string indicates "end of table" and will be
-  // the last response given, if present.
-  // Note that row keys in this list may not have ever been written to or read
-  // from, and users should therefore not make any assumptions about the row key
-  // structure that are specific to their use case.
-  bytes row_key = 1;
-
-  // Approximate total storage space used by all rows in the table which precede
-  // `row_key`. Buffering the contents of all rows between two subsequent
-  // samples would require space roughly equal to the difference in their
-  // `offset_bytes` fields.
-  int64 offset_bytes = 2;
-}
-
-// Request message for Bigtable.MutateRow.
-message MutateRowRequest {
-  // The unique name of the table to which the mutation should be applied.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The key of the row to which the mutation should be applied.
-  bytes row_key = 2;
-
-  // Changes to be atomically applied to the specified row. Entries are applied
-  // in order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry and at most 100000.
-  repeated Mutation mutations = 3;
-}
-
-// Response message for Bigtable.MutateRow.
-message MutateRowResponse {
-
-}
-
-// Request message for BigtableService.MutateRows.
-message MutateRowsRequest {
-  message Entry {
-    // The key of the row to which the `mutations` should be applied.
-    bytes row_key = 1;
-
-    // Changes to be atomically applied to the specified row. Mutations are
-    // applied in order, meaning that earlier mutations can be masked by
-    // later ones.
-    // You must specify at least one mutation.
-    repeated Mutation mutations = 2;
-  }
-
-  // The unique name of the table to which the mutations should be applied.
-  string table_name = 1;
-
-  // The row keys and corresponding mutations to be applied in bulk.
-  // Each entry is applied as an atomic mutation, but the entries may be
-  // applied in arbitrary order (even between entries for the same row).
-  // At least one entry must be specified, and in total the entries can
-  // contain at most 100000 mutations.
-  repeated Entry entries = 2;
-}
-
-// Response message for BigtableService.MutateRows.
-message MutateRowsResponse {
-  message Entry {
-    // The index into the original request's `entries` list of the Entry
-    // for which a result is being reported.
-    int64 index = 1;
-
-    // The result of the request Entry identified by `index`.
-    // Depending on how requests are batched during execution, it is possible
-    // for one Entry to fail due to an error with another Entry. In the event
-    // that this occurs, the same error will be reported for both entries.
-    google.rpc.Status status = 2;
-  }
-
-  // One or more results for Entries from the batch request.
-  repeated Entry entries = 1;
-}
-
-// Request message for Bigtable.CheckAndMutateRow.
-message CheckAndMutateRowRequest {
-  // The unique name of the table to which the conditional mutation should be
-  // applied.
-  // Values are of the form
-  // `projects/<project>/instances/<instance>/tables/<table>`.
-  string table_name = 1;
-
-  // The key of the row to which the conditional mutation should be applied.
-  bytes row_key = 2;
-
-  // The filter to be applied to the contents of the specified row. Depending
-  // on whether or not any results are yielded, either `true_mutations` or
-  // `false_mutations` will be executed. If unset, checks that the row contains
-  // any values at all.
-  RowFilter predicate_filter = 6;
-
-  // Changes to be atomically applied to the specified row if `predicate_filter`
-  // yields at least one cell when applied to `row_key`. Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if `false_mutations` is empty, and at most
-  // 100000.
-  repeated Mutation true_mutations = 4;
-
-  // Changes to be atomically applied to the specified row if `predicate_filter`
-  // does not yield any cells when applied to `row_key`. Entries are applied in
-  // order, meaning that earlier mutations can be masked by later ones.
-  // Must contain at least one entry if `true_mutations` is empty, and at most
-  // 100000.
-  repeated Mutation false_mutations = 5;
-}
-
-// Response message for Bigtable.CheckAndMutateRow.
-message CheckAndMutateRowResponse {
-  // Whether or not the request's `predicate_filter` yielded any results for
-  // the specified row.
-  bool predicate_matched = 1;
-}
-
-// Request message for Bigtable.ReadModifyWriteRow.
-message ReadModifyWriteRowRequest {
-  // The unique name of the table to which the read/modify/write rules should be
-  // applied.
-  // Values are of the form
-  // `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.
-  bytes row_key = 2;
-
-  // Rules specifying how the specified row's contents are to be transformed
-  // into writes. Entries are applied in order, meaning that earlier rules will
-  // affect the results of later ones.
-  repeated ReadModifyWriteRule rules = 3;
-}
-
-// Response message for Bigtable.ReadModifyWriteRow.
-message ReadModifyWriteRowResponse {
-  // A Row containing the new contents of all cells modified by the request.
-  Row row = 1;
-}
diff --git a/googleapis/bigtable/v2/data.pb.go b/googleapis/bigtable/v2/data.pb.go
index 42871d51..2a57566b 100644
--- a/googleapis/bigtable/v2/data.pb.go
+++ b/googleapis/bigtable/v2/data.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bigtable/v2/data.proto
+// source: google/bigtable/v2/data.proto
 // DO NOT EDIT!
 
-package google_bigtable_v2 // import "google.golang.org/genproto/googleapis/bigtable/v2"
+package bigtable
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -30,6 +30,13 @@ func (m *Row) String() string            { return proto.CompactTextString(m) }
 func (*Row) ProtoMessage()               {}
 func (*Row) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Row) GetKey() []byte {
+	if m != nil {
+		return m.Key
+	}
+	return nil
+}
+
 func (m *Row) GetFamilies() []*Family {
 	if m != nil {
 		return m.Families
@@ -56,6 +63,13 @@ func (m *Family) String() string            { return proto.CompactTextString(m)
 func (*Family) ProtoMessage()               {}
 func (*Family) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Family) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Family) GetColumns() []*Column {
 	if m != nil {
 		return m.Columns
@@ -81,6 +95,13 @@ func (m *Column) String() string            { return proto.CompactTextString(m)
 func (*Column) ProtoMessage()               {}
 func (*Column) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *Column) GetQualifier() []byte {
+	if m != nil {
+		return m.Qualifier
+	}
+	return nil
+}
+
 func (m *Column) GetCells() []*Cell {
 	if m != nil {
 		return m.Cells
@@ -110,6 +131,27 @@ func (m *Cell) String() string            { return proto.CompactTextString(m) }
 func (*Cell) ProtoMessage()               {}
 func (*Cell) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *Cell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Cell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
+func (m *Cell) GetLabels() []string {
+	if m != nil {
+		return m.Labels
+	}
+	return nil
+}
+
 // Specifies a contiguous range of rows.
 type RowRange struct {
 	// The row key at which to start the range.
@@ -320,6 +362,13 @@ func (m *RowSet) String() string            { return proto.CompactTextString(m)
 func (*RowSet) ProtoMessage()               {}
 func (*RowSet) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *RowSet) GetRowKeys() [][]byte {
+	if m != nil {
+		return m.RowKeys
+	}
+	return nil
+}
+
 func (m *RowSet) GetRowRanges() []*RowRange {
 	if m != nil {
 		return m.RowRanges
@@ -393,6 +442,13 @@ func (m *ColumnRange) GetEndQualifier() isColumnRange_EndQualifier {
 	return nil
 }
 
+func (m *ColumnRange) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 func (m *ColumnRange) GetStartQualifierClosed() []byte {
 	if x, ok := m.GetStartQualifier().(*ColumnRange_StartQualifierClosed); ok {
 		return x.StartQualifierClosed
@@ -542,6 +598,20 @@ func (m *TimestampRange) String() string            { return proto.CompactTextSt
 func (*TimestampRange) ProtoMessage()               {}
 func (*TimestampRange) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *TimestampRange) GetStartTimestampMicros() int64 {
+	if m != nil {
+		return m.StartTimestampMicros
+	}
+	return 0
+}
+
+func (m *TimestampRange) GetEndTimestampMicros() int64 {
+	if m != nil {
+		return m.EndTimestampMicros
+	}
+	return 0
+}
+
 // Specifies a contiguous range of raw byte values.
 type ValueRange struct {
 	// The value at which to start the range.
@@ -1697,6 +1767,34 @@ func (m *Mutation_SetCell) String() string            { return proto.CompactText
 func (*Mutation_SetCell) ProtoMessage()               {}
 func (*Mutation_SetCell) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 0} }
 
+func (m *Mutation_SetCell) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_SetCell) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
+func (m *Mutation_SetCell) GetTimestampMicros() int64 {
+	if m != nil {
+		return m.TimestampMicros
+	}
+	return 0
+}
+
+func (m *Mutation_SetCell) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // A Mutation which deletes cells from the specified column, optionally
 // restricting the deletions to a given timestamp range.
 type Mutation_DeleteFromColumn struct {
@@ -1715,6 +1813,20 @@ func (m *Mutation_DeleteFromColumn) String() string            { return proto.Co
 func (*Mutation_DeleteFromColumn) ProtoMessage()               {}
 func (*Mutation_DeleteFromColumn) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 1} }
 
+func (m *Mutation_DeleteFromColumn) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *Mutation_DeleteFromColumn) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *Mutation_DeleteFromColumn) GetTimeRange() *TimestampRange {
 	if m != nil {
 		return m.TimeRange
@@ -1734,6 +1846,13 @@ func (m *Mutation_DeleteFromFamily) String() string            { return proto.Co
 func (*Mutation_DeleteFromFamily) ProtoMessage()               {}
 func (*Mutation_DeleteFromFamily) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10, 2} }
 
+func (m *Mutation_DeleteFromFamily) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
 // A Mutation which deletes all cells from the containing row.
 type Mutation_DeleteFromRow struct {
 }
@@ -1788,6 +1907,20 @@ func (m *ReadModifyWriteRule) GetRule() isReadModifyWriteRule_Rule {
 	return nil
 }
 
+func (m *ReadModifyWriteRule) GetFamilyName() string {
+	if m != nil {
+		return m.FamilyName
+	}
+	return ""
+}
+
+func (m *ReadModifyWriteRule) GetColumnQualifier() []byte {
+	if m != nil {
+		return m.ColumnQualifier
+	}
+	return nil
+}
+
 func (m *ReadModifyWriteRule) GetAppendValue() []byte {
 	if x, ok := m.GetRule().(*ReadModifyWriteRule_AppendValue); ok {
 		return x.AppendValue
@@ -1889,98 +2022,97 @@ func init() {
 	proto.RegisterType((*ReadModifyWriteRule)(nil), "google.bigtable.v2.ReadModifyWriteRule")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bigtable/v2/data.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/bigtable/v2/data.proto", fileDescriptor1) }
 
 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,
+	// 1412 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xdb, 0x6e, 0xdb, 0x46,
+	0x13, 0x16, 0x2d, 0xeb, 0x34, 0x94, 0x25, 0x65, 0xe3, 0x38, 0x8a, 0xfe, 0xf8, 0x8f, 0xc1, 0x14,
+	0xa9, 0xe2, 0xb6, 0x72, 0xab, 0x04, 0xe9, 0x21, 0x45, 0x11, 0xcb, 0x69, 0xaa, 0x36, 0xe7, 0x8d,
+	0x91, 0x02, 0x01, 0x0a, 0x76, 0x2d, 0xad, 0x54, 0xc2, 0x4b, 0x2e, 0x4b, 0x52, 0x56, 0xf4, 0x22,
+	0xbd, 0x6f, 0x5f, 0xa3, 0x77, 0x7d, 0x89, 0xf6, 0x31, 0xfa, 0x00, 0xbd, 0x28, 0xf6, 0xc0, 0x93,
+	0xa2, 0xd8, 0x46, 0x91, 0x3b, 0x72, 0xe6, 0xfb, 0xbe, 0x99, 0x9d, 0x9d, 0x1d, 0x2e, 0x61, 0x7b,
+	0xca, 0xf9, 0x94, 0xd1, 0xbd, 0x23, 0x67, 0x1a, 0x91, 0x23, 0x46, 0xf7, 0x4e, 0xfa, 0x7b, 0x63,
+	0x12, 0x91, 0x9e, 0x1f, 0xf0, 0x88, 0x23, 0xa4, 0xdc, 0xbd, 0xd8, 0xdd, 0x3b, 0xe9, 0x5b, 0x4f,
+	0xa1, 0x88, 0xf9, 0x1c, 0xb5, 0xa0, 0x78, 0x4c, 0x17, 0x6d, 0x63, 0xc7, 0xe8, 0xd6, 0xb1, 0x78,
+	0x44, 0x77, 0xa0, 0x3a, 0x21, 0xae, 0xc3, 0x1c, 0x1a, 0xb6, 0xd7, 0x76, 0x8a, 0x5d, 0xb3, 0xdf,
+	0xe9, 0xbd, 0xc9, 0xef, 0x3d, 0x10, 0x98, 0x05, 0x4e, 0xb0, 0x16, 0x86, 0xb2, 0xb2, 0x21, 0x04,
+	0xeb, 0x1e, 0x71, 0xa9, 0x14, 0xad, 0x61, 0xf9, 0x8c, 0x6e, 0x43, 0x65, 0xc4, 0xd9, 0xcc, 0xf5,
+	0x4e, 0x15, 0x3d, 0x90, 0x10, 0x1c, 0x43, 0xad, 0x97, 0x50, 0x56, 0x26, 0x74, 0x15, 0x6a, 0x3f,
+	0xcf, 0x08, 0x73, 0x26, 0x0e, 0x0d, 0x74, 0xb6, 0xa9, 0x01, 0xf5, 0xa0, 0x34, 0xa2, 0x8c, 0xc5,
+	0xda, 0xed, 0x95, 0xda, 0x94, 0x31, 0xac, 0x60, 0x96, 0x0d, 0xeb, 0xe2, 0x15, 0xdd, 0x84, 0x56,
+	0xe4, 0xb8, 0x34, 0x8c, 0x88, 0xeb, 0xdb, 0xae, 0x33, 0x0a, 0x78, 0x28, 0xc5, 0x8b, 0xb8, 0x99,
+	0xd8, 0x1f, 0x4b, 0x33, 0xda, 0x84, 0xd2, 0x09, 0x61, 0x33, 0xda, 0x5e, 0x93, 0xc1, 0xd5, 0x0b,
+	0xda, 0x82, 0x32, 0x23, 0x47, 0x94, 0x85, 0xed, 0xe2, 0x4e, 0xb1, 0x5b, 0xc3, 0xfa, 0xcd, 0xfa,
+	0xc3, 0x80, 0x2a, 0xe6, 0x73, 0x4c, 0xbc, 0x29, 0x45, 0xbb, 0xd0, 0x0a, 0x23, 0x12, 0x44, 0xf6,
+	0x31, 0x5d, 0xd8, 0x23, 0xc6, 0x43, 0x3a, 0x56, 0x4b, 0x18, 0x16, 0x70, 0x43, 0x7a, 0x1e, 0xd2,
+	0xc5, 0x81, 0xb4, 0xa3, 0x1b, 0xd0, 0x48, 0xb1, 0xdc, 0xa7, 0x9e, 0x8a, 0x37, 0x2c, 0xe0, 0x7a,
+	0x8c, 0x7c, 0xea, 0x53, 0x0f, 0x59, 0x50, 0xa7, 0xde, 0x38, 0x45, 0x15, 0x25, 0xca, 0xc0, 0x40,
+	0xbd, 0x71, 0x8c, 0xb9, 0x01, 0x8d, 0x18, 0xa3, 0xa3, 0xae, 0x6b, 0x54, 0x5d, 0xa1, 0x54, 0xcc,
+	0x81, 0x09, 0xb5, 0x24, 0xe6, 0xa0, 0x06, 0x15, 0x4d, 0xb2, 0x7e, 0x84, 0x32, 0xe6, 0xf3, 0x17,
+	0x34, 0x42, 0x57, 0xa0, 0x1a, 0xf0, 0xb9, 0x30, 0x8a, 0xfa, 0x14, 0xbb, 0x75, 0x5c, 0x09, 0xf8,
+	0xfc, 0x21, 0x5d, 0x84, 0xe8, 0x2e, 0x80, 0x70, 0x05, 0x62, 0xa5, 0x71, 0xfd, 0xaf, 0xae, 0xaa,
+	0x7f, 0x5c, 0x0e, 0x5c, 0x0b, 0xf4, 0x53, 0x68, 0xfd, 0xb6, 0x06, 0xa6, 0xde, 0x73, 0x59, 0xa9,
+	0x6b, 0x60, 0xca, 0x7e, 0x5a, 0xd8, 0x99, 0x06, 0x02, 0x65, 0x7a, 0x22, 0xda, 0xe8, 0x0e, 0x6c,
+	0xa9, 0x54, 0x93, 0xbd, 0x8f, 0x97, 0x16, 0x97, 0x69, 0x53, 0xfa, 0x9f, 0xc7, 0x6e, 0x5d, 0xd6,
+	0x3e, 0x6c, 0x2e, 0xf3, 0x32, 0x65, 0x2b, 0x60, 0x94, 0x67, 0xc9, 0xf2, 0xf5, 0x61, 0x53, 0x54,
+	0xe2, 0x8d, 0x48, 0x71, 0x11, 0x11, 0xf5, 0xc6, 0xcb, 0x71, 0x7a, 0x80, 0xf2, 0x1c, 0x19, 0xa5,
+	0xa4, 0x19, 0xad, 0x2c, 0x43, 0xc4, 0x18, 0x5c, 0x80, 0xe6, 0x52, 0x5e, 0x83, 0x26, 0x6c, 0xe4,
+	0x24, 0xac, 0xd7, 0xd0, 0x38, 0x8c, 0x9b, 0x51, 0x95, 0xe9, 0x76, 0x5c, 0x85, 0xb7, 0x34, 0xaf,
+	0x5a, 0xeb, 0xe1, 0x52, 0x07, 0x7f, 0xac, 0xd6, 0xf3, 0x06, 0x67, 0x4d, 0x72, 0x44, 0xde, 0x4b,
+	0x0c, 0xeb, 0x2f, 0x03, 0xe0, 0xa5, 0xe8, 0x73, 0x15, 0xb6, 0x07, 0xaa, 0x4c, 0xb6, 0xec, 0xfd,
+	0xe5, 0x4e, 0x56, 0x3d, 0x2e, 0xe1, 0xba, 0x18, 0x49, 0xdf, 0x2b, 0x7c, 0xae, 0x9b, 0x1b, 0x29,
+	0x5a, 0x16, 0x7b, 0x17, 0x44, 0x71, 0xf2, 0xca, 0x71, 0x4f, 0x8b, 0x2e, 0xce, 0xea, 0xea, 0xbe,
+	0xce, 0xa8, 0x66, 0xfb, 0x3a, 0xd1, 0x1c, 0x6c, 0x80, 0x99, 0x89, 0x2f, 0xda, 0x3c, 0xa1, 0x59,
+	0xff, 0x98, 0x50, 0xc3, 0x7c, 0xfe, 0xc0, 0x61, 0x11, 0x0d, 0xd0, 0x5d, 0x28, 0x8d, 0x7e, 0x22,
+	0x8e, 0x27, 0x17, 0x63, 0xf6, 0xaf, 0xbf, 0xa5, 0x7f, 0x15, 0xba, 0x77, 0x20, 0xa0, 0xc3, 0x02,
+	0x56, 0x1c, 0xf4, 0x1d, 0x80, 0xe3, 0x45, 0x34, 0x60, 0x94, 0x9c, 0xa8, 0xf1, 0x60, 0xf6, 0xbb,
+	0xa7, 0x2b, 0x7c, 0x9b, 0xe0, 0x87, 0x05, 0x9c, 0x61, 0xa3, 0x6f, 0xa0, 0x36, 0xe2, 0xde, 0xd8,
+	0x89, 0x1c, 0xae, 0x9a, 0xd3, 0xec, 0xbf, 0x7f, 0x46, 0x32, 0x31, 0x7c, 0x58, 0xc0, 0x29, 0x17,
+	0x6d, 0xc2, 0x7a, 0xe8, 0x78, 0xc7, 0xed, 0xd6, 0x8e, 0xd1, 0xad, 0x0e, 0x0b, 0x58, 0xbe, 0xa1,
+	0x2e, 0x34, 0x7d, 0x12, 0x86, 0x36, 0x61, 0xcc, 0x9e, 0x48, 0x7e, 0xfb, 0x82, 0x06, 0x6c, 0x08,
+	0xc7, 0x3e, 0x63, 0xba, 0x22, 0xbb, 0xd0, 0x3a, 0x62, 0x7c, 0x74, 0x9c, 0x85, 0x22, 0x0d, 0x6d,
+	0x48, 0x4f, 0x8a, 0xfd, 0x04, 0x36, 0xf5, 0x74, 0xb0, 0x03, 0x3a, 0xa5, 0xaf, 0x63, 0xfc, 0xba,
+	0xde, 0xeb, 0x0b, 0x6a, 0x56, 0x60, 0xe1, 0xd3, 0x94, 0x0f, 0x41, 0x18, 0xed, 0x90, 0xb8, 0x3e,
+	0xa3, 0x31, 0xbe, 0xb1, 0x63, 0x74, 0x8d, 0x61, 0x01, 0x37, 0x03, 0x3e, 0x7f, 0x21, 0x3d, 0x1a,
+	0xfd, 0x39, 0xb4, 0x33, 0x63, 0x21, 0x1f, 0x44, 0x9c, 0xad, 0xda, 0xb0, 0x80, 0x2f, 0xa5, 0x53,
+	0x22, 0x1b, 0xe8, 0x00, 0xb6, 0xd5, 0xc7, 0x24, 0x73, 0x26, 0x73, 0xfc, 0xb2, 0x4e, 0xb2, 0xa3,
+	0x60, 0xc9, 0xf1, 0xcc, 0x8a, 0x3c, 0x87, 0x8b, 0x5a, 0x44, 0x8e, 0xb9, 0x98, 0x5a, 0x91, 0xfb,
+	0x73, 0xed, 0x94, 0x0f, 0x99, 0x40, 0x8b, 0x02, 0x8c, 0xd2, 0x57, 0x2d, 0xf9, 0x0a, 0xb6, 0xd2,
+	0x83, 0x98, 0x53, 0xad, 0x4a, 0x55, 0x6b, 0x95, 0x6a, 0x7e, 0x0c, 0x88, 0x61, 0x17, 0xe5, 0x2c,
+	0x5a, 0xbb, 0x07, 0x48, 0x9d, 0x8d, 0xdc, 0x42, 0x6b, 0xf1, 0x39, 0x95, 0xbe, 0xec, 0xf2, 0x9e,
+	0x24, 0xf8, 0x6c, 0x1e, 0x4d, 0x99, 0xc7, 0xff, 0x57, 0xe5, 0x91, 0xce, 0x84, 0x54, 0x2f, 0x13,
+	0xff, 0x2b, 0xf8, 0x9f, 0xfc, 0xcc, 0xda, 0xbe, 0x28, 0x36, 0x9f, 0xdb, 0x7c, 0x32, 0x09, 0x69,
+	0x14, 0x0b, 0xc3, 0x8e, 0xd1, 0x2d, 0x0d, 0x0b, 0xf8, 0xb2, 0x04, 0x3d, 0xa3, 0x01, 0xe6, 0xf3,
+	0xa7, 0x12, 0xa1, 0xf9, 0x5f, 0x42, 0x27, 0xcf, 0x67, 0x8e, 0xeb, 0x24, 0x74, 0x53, 0xd3, 0xb7,
+	0x32, 0xf4, 0x47, 0x02, 0xa0, 0xd9, 0x03, 0xd8, 0x4e, 0xd9, 0x7a, 0xdb, 0x72, 0x02, 0x75, 0x2d,
+	0x70, 0x25, 0x16, 0x50, 0x9b, 0x95, 0xd5, 0xf8, 0x0c, 0x2e, 0x87, 0x51, 0xe0, 0xf8, 0x7a, 0xc6,
+	0x44, 0x01, 0xf1, 0xc2, 0x09, 0x0f, 0x5c, 0x1a, 0xb4, 0x37, 0xf4, 0x21, 0xb8, 0x24, 0x01, 0xb2,
+	0x12, 0x87, 0xa9, 0x5b, 0x30, 0x89, 0xef, 0xb3, 0x85, 0x2d, 0x2f, 0x02, 0x39, 0xe6, 0xc5, 0xb8,
+	0x53, 0x25, 0xe0, 0x91, 0xf0, 0x67, 0x98, 0x9d, 0x7b, 0x50, 0x92, 0x83, 0x05, 0x7d, 0x0a, 0x15,
+	0x95, 0xa9, 0xfa, 0xd6, 0x9a, 0xfd, 0xed, 0x53, 0x27, 0x00, 0x8e, 0xd1, 0x9d, 0xaf, 0x01, 0xd2,
+	0xc1, 0xf2, 0xdf, 0x65, 0xfe, 0x34, 0xa0, 0x96, 0x4c, 0x15, 0x34, 0x84, 0x96, 0x1f, 0xd0, 0xb1,
+	0x33, 0x22, 0x51, 0xd2, 0x1a, 0x6a, 0x4a, 0x9e, 0xa1, 0xd7, 0x4c, 0x68, 0x49, 0x5b, 0x98, 0x51,
+	0x30, 0x4b, 0x44, 0xd6, 0xce, 0x23, 0x02, 0x82, 0xa1, 0xf9, 0xf7, 0xa0, 0x3e, 0x21, 0x2c, 0x4c,
+	0x04, 0x8a, 0xe7, 0x11, 0x30, 0x25, 0x45, 0xbd, 0x0c, 0xaa, 0x50, 0x56, 0x5c, 0xeb, 0xef, 0x12,
+	0x54, 0x1f, 0xcf, 0x22, 0x22, 0x97, 0xb8, 0x0f, 0x55, 0xd1, 0x9e, 0xa2, 0x1d, 0xf4, 0xd2, 0xde,
+	0x5b, 0x25, 0x1a, 0xe3, 0x7b, 0x2f, 0x68, 0x24, 0x6e, 0x8f, 0xc3, 0x02, 0xae, 0x84, 0xea, 0x11,
+	0xfd, 0x00, 0x68, 0x4c, 0x19, 0x15, 0x25, 0x0a, 0xb8, 0xab, 0xdb, 0x4e, 0x2f, 0xf1, 0xa3, 0x53,
+	0xc5, 0xee, 0x4b, 0xda, 0x83, 0x80, 0xbb, 0xaa, 0x0d, 0xc5, 0x89, 0x1a, 0x2f, 0xd9, 0x96, 0xe5,
+	0xd5, 0xa8, 0xd3, 0x05, 0x38, 0xaf, 0xbc, 0xba, 0x9c, 0xe7, 0xe5, 0xf5, 0x85, 0xfd, 0x10, 0x9a,
+	0x59, 0xf9, 0x80, 0xcf, 0xe5, 0xec, 0x36, 0xfb, 0xbb, 0xe7, 0xd4, 0xc6, 0x7c, 0x2e, 0x3e, 0x21,
+	0xe3, 0xac, 0xa1, 0xf3, 0x8b, 0x01, 0x15, 0x5d, 0xaa, 0xb3, 0x2f, 0x76, 0x37, 0xa1, 0xb5, 0x3c,
+	0xa7, 0xf5, 0x4d, 0xbb, 0xb9, 0x34, 0x98, 0x57, 0x5e, 0xda, 0x8b, 0x67, 0x5c, 0xda, 0xd7, 0x33,
+	0x97, 0xf6, 0xce, 0xaf, 0x06, 0xb4, 0x96, 0xcb, 0xfe, 0x4e, 0x33, 0xdc, 0x07, 0x10, 0x99, 0xa8,
+	0x79, 0xaa, 0xb7, 0xe9, 0x1c, 0x03, 0x1d, 0xd7, 0x04, 0x4b, 0x3e, 0x76, 0x6e, 0x65, 0x53, 0xd4,
+	0xdb, 0x74, 0x56, 0x8a, 0x9d, 0x26, 0x6c, 0xe4, 0xf6, 0x64, 0x00, 0x50, 0x75, 0xf5, 0x6e, 0x59,
+	0xbf, 0x1b, 0x70, 0x11, 0x53, 0x32, 0x7e, 0xcc, 0xc7, 0xce, 0x64, 0xf1, 0x7d, 0xe0, 0x44, 0x14,
+	0xcf, 0x18, 0x7d, 0xa7, 0x0b, 0xbf, 0x0e, 0x75, 0xe2, 0xfb, 0xc9, 0x2d, 0x2b, 0xb9, 0x5e, 0x9b,
+	0xca, 0x2a, 0xa7, 0x25, 0xfa, 0x00, 0x5a, 0x8e, 0x37, 0x0a, 0xa8, 0x4b, 0xbd, 0xc8, 0x26, 0x2e,
+	0x9f, 0x79, 0x91, 0xdc, 0x9f, 0xa2, 0xf8, 0xf4, 0x27, 0x9e, 0x7d, 0xe9, 0x18, 0x94, 0x61, 0x3d,
+	0x98, 0x31, 0x3a, 0x20, 0xb0, 0x35, 0xe2, 0xee, 0x8a, 0x1a, 0x0e, 0x6a, 0xf7, 0x49, 0x44, 0x9e,
+	0x89, 0xff, 0xdc, 0x67, 0xc6, 0xab, 0x2f, 0x34, 0x60, 0xca, 0x19, 0xf1, 0xa6, 0x3d, 0x1e, 0x4c,
+	0xf7, 0xa6, 0xd4, 0x93, 0x7f, 0xc1, 0x7b, 0xca, 0x45, 0x7c, 0x27, 0xcc, 0xfe, 0x27, 0xdf, 0x8d,
+	0x9f, 0x8f, 0xca, 0x12, 0x76, 0xeb, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xbb, 0x74, 0x4d,
+	0x4d, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/bigtable/v2/data.proto b/googleapis/bigtable/v2/data.proto
deleted file mode 100644
index f98f436d..00000000
--- a/googleapis/bigtable/v2/data.proto
+++ /dev/null
@@ -1,532 +0,0 @@
-// 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.bigtable.v2;
-
-option java_multiple_files = true;
-option java_outer_classname = "DataProto";
-option java_package = "com.google.bigtable.v2";
-
-
-// Specifies the complete (requested) contents of a single row of a table.
-// Rows which exceed 256MiB in size cannot be read in full.
-message Row {
-  // The unique key which identifies this row within its table. This is the same
-  // key that's used to identify the row in, for example, a MutateRowRequest.
-  // May contain any non-empty byte string up to 4KiB in length.
-  bytes key = 1;
-
-  // May be empty, but only if the entire row is empty.
-  // The mutual ordering of column families is not specified.
-  repeated Family families = 2;
-}
-
-// Specifies (some of) the contents of a single row/column family intersection
-// of a table.
-message Family {
-  // The unique key which identifies this family within its row. This is the
-  // same key that's used to identify the family in, for example, a RowFilter
-  // which sets its "family_name_regex_filter" field.
-  // Must match `[-_.a-zA-Z0-9]+`, except that AggregatingRowProcessors may
-  // produce cells in a sentinel family with an empty name.
-  // Must be no greater than 64 characters in length.
-  string name = 1;
-
-  // Must not be empty. Sorted in order of increasing "qualifier".
-  repeated Column columns = 2;
-}
-
-// Specifies (some of) the contents of a single row/column intersection of a
-// table.
-message Column {
-  // The unique key which identifies this column within its family. This is the
-  // same key that's used to identify the column in, for example, a RowFilter
-  // which sets its `column_qualifier_regex_filter` field.
-  // May contain any byte string, including the empty string, up to 16kiB in
-  // length.
-  bytes qualifier = 1;
-
-  // Must not be empty. Sorted in order of decreasing "timestamp_micros".
-  repeated Cell cells = 2;
-}
-
-// Specifies (some of) the contents of a single row/column/timestamp of a table.
-message Cell {
-  // The cell's stored timestamp, which also uniquely identifies it within
-  // its column.
-  // Values are always expressed in microseconds, but individual tables may set
-  // a coarser granularity to further restrict the allowed values. For
-  // example, a table which specifies millisecond granularity will only allow
-  // values of `timestamp_micros` which are multiples of 1000.
-  int64 timestamp_micros = 1;
-
-  // The value stored in the cell.
-  // May contain any byte string, including the empty string, up to 100MiB in
-  // length.
-  bytes value = 2;
-
-  // Labels applied to the cell by a [RowFilter][google.bigtable.v2.RowFilter].
-  repeated string labels = 3;
-}
-
-// Specifies a contiguous range of rows.
-message RowRange {
-  // The row key at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_key {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_key_closed = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_key_open = 2;
-  }
-
-  // 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 exclusive upper bound for the range.
-    bytes end_key_open = 3;
-
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_key_closed = 4;
-  }
-}
-
-// Specifies a non-contiguous set of rows.
-message RowSet {
-  // Single rows included in the set.
-  repeated bytes row_keys = 1;
-
-  // Contiguous row ranges included in the set.
-  repeated RowRange row_ranges = 2;
-}
-
-// Specifies a contiguous range of columns within a single column family.
-// The range spans from &lt;column_family&gt;:&lt;start_qualifier&gt; to
-// &lt;column_family&gt;:&lt;end_qualifier&gt;, where both bounds can be either
-// inclusive or exclusive.
-message ColumnRange {
-  // The name of the column family within which this range falls.
-  string family_name = 1;
-
-  // The column qualifier at which to start the range (within `column_family`).
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_qualifier {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_qualifier_closed = 2;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_qualifier_open = 3;
-  }
-
-  // The column qualifier at which to end the range (within `column_family`).
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_qualifier {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_qualifier_closed = 4;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_qualifier_open = 5;
-  }
-}
-
-// Specified a contiguous range of microsecond timestamps.
-message TimestampRange {
-  // Inclusive lower bound. If left empty, interpreted as 0.
-  int64 start_timestamp_micros = 1;
-
-  // Exclusive upper bound. If left empty, interpreted as infinity.
-  int64 end_timestamp_micros = 2;
-}
-
-// Specifies a contiguous range of raw byte values.
-message ValueRange {
-  // The value at which to start the range.
-  // If neither field is set, interpreted as the empty string, inclusive.
-  oneof start_value {
-    // Used when giving an inclusive lower bound for the range.
-    bytes start_value_closed = 1;
-
-    // Used when giving an exclusive lower bound for the range.
-    bytes start_value_open = 2;
-  }
-
-  // The value at which to end the range.
-  // If neither field is set, interpreted as the infinite string, exclusive.
-  oneof end_value {
-    // Used when giving an inclusive upper bound for the range.
-    bytes end_value_closed = 3;
-
-    // Used when giving an exclusive upper bound for the range.
-    bytes end_value_open = 4;
-  }
-}
-
-// Takes a row as input and produces an alternate view of the row based on
-// specified rules. For example, a RowFilter might trim down a row to include
-// just the cells from columns matching a given regular expression, or might
-// return all the cells of a row but not their values. More complicated filters
-// can be composed out of these components to express requests such as, "within
-// every column of a particular family, give just the two most recent cells
-// which are older than timestamp X."
-//
-// There are two broad categories of RowFilters (true filters and transformers),
-// as well as two ways to compose simple filters into more complex ones
-// (chains and interleaves). They work as follows:
-//
-// * True filters alter the input row by excluding some of its cells wholesale
-// from the output row. An example of a true filter is the `value_regex_filter`,
-// which excludes cells whose values don't match the specified pattern. All
-// regex true filters use RE2 syntax (https://github.com/google/re2/wiki/Syntax)
-// in raw byte mode (RE2::Latin1), and are evaluated as full matches. An
-// important point to keep in mind is that `RE2(.)` is equivalent by default to
-// `RE2([^\n])`, meaning that it does not match newlines. When attempting to
-// match an arbitrary byte, you should therefore use the escape sequence `\C`,
-// which may need to be further escaped as `\\C` in your client language.
-//
-// * Transformers alter the input row by changing the values of some of its
-// cells in the output, without excluding them completely. Currently, the only
-// supported transformer is the `strip_value_transformer`, which replaces every
-// cell's value with the empty string.
-//
-// * Chains and interleaves are described in more detail in the
-// RowFilter.Chain and RowFilter.Interleave documentation.
-//
-// The total serialized size of a RowFilter message must not
-// exceed 4096 bytes, and RowFilters may not be nested within each other
-// (in Chains or Interleaves) to a depth of more than 20.
-message RowFilter {
-  // A RowFilter which sends rows through several RowFilters in sequence.
-  message Chain {
-    // The elements of "filters" are chained together to process the input row:
-    // in row -> f(0) -> intermediate row -> f(1) -> ... -> f(N) -> out row
-    // The full chain is executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which sends each row to each of several component
-  // RowFilters and interleaves the results.
-  message Interleave {
-    // The elements of "filters" all process a copy of the input row, and the
-    // results are pooled, sorted, and combined into a single output row.
-    // If multiple cells are produced with the same column and timestamp,
-    // they will all appear in the output row in an unspecified mutual order.
-    // Consider the following example, with three filters:
-    //
-    //                                  input row
-    //                                      |
-    //            -----------------------------------------------------
-    //            |                         |                         |
-    //           f(0)                      f(1)                      f(2)
-    //            |                         |                         |
-    //     1: foo,bar,10,x             foo,bar,10,z              far,bar,7,a
-    //     2: foo,blah,11,z            far,blah,5,x              far,blah,5,x
-    //            |                         |                         |
-    //            -----------------------------------------------------
-    //                                      |
-    //     1:                      foo,bar,10,z   // could have switched with #2
-    //     2:                      foo,bar,10,x   // could have switched with #1
-    //     3:                      foo,blah,11,z
-    //     4:                      far,bar,7,a
-    //     5:                      far,blah,5,x   // identical to #6
-    //     6:                      far,blah,5,x   // identical to #5
-    //
-    // All interleaved filters are executed atomically.
-    repeated RowFilter filters = 1;
-  }
-
-  // A RowFilter which evaluates one of two possible RowFilters, depending on
-  // whether or not a predicate RowFilter outputs any cells from the input row.
-  //
-  // IMPORTANT NOTE: The predicate filter does not execute atomically with the
-  // true and false filters, which may lead to inconsistent or unexpected
-  // results. Additionally, Condition filters have poor performance, especially
-  // when filters are set for the false condition.
-  message Condition {
-    // If `predicate_filter` outputs any cells, then `true_filter` will be
-    // evaluated on the input row. Otherwise, `false_filter` will be evaluated.
-    RowFilter predicate_filter = 1;
-
-    // The filter to apply to the input row if `predicate_filter` returns any
-    // results. If not provided, no results will be returned in the true case.
-    RowFilter true_filter = 2;
-
-    // The filter to apply to the input row if `predicate_filter` does not
-    // return any results. If not provided, no results will be returned in the
-    // false case.
-    RowFilter false_filter = 3;
-  }
-
-  // Which of the possible RowFilter types to apply. If none are set, this
-  // RowFilter returns all cells in the input row.
-  oneof filter {
-    // Applies several RowFilters to the data in sequence, progressively
-    // narrowing the results.
-    Chain chain = 1;
-
-    // Applies several RowFilters to the data in parallel and combines the
-    // results.
-    Interleave interleave = 2;
-
-    // Applies one of two possible RowFilters to the data based on the output of
-    // a predicate RowFilter.
-    Condition condition = 3;
-
-    // ADVANCED USE ONLY.
-    // Hook for introspection into the RowFilter. Outputs all cells directly to
-    // the output of the read rather than to any parent filter. Consider the
-    // following example:
-    //
-    //     Chain(
-    //       FamilyRegex("A"),
-    //       Interleave(
-    //         All(),
-    //         Chain(Label("foo"), Sink())
-    //       ),
-    //       QualifierRegex("B")
-    //     )
-    //
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                         B,B,4,z
-    //                            |
-    //                     FamilyRegex("A")
-    //                            |
-    //                         A,A,1,w
-    //                         A,B,2,x
-    //                            |
-    //               +------------+-------------+
-    //               |                          |
-    //             All()                    Label(foo)
-    //               |                          |
-    //            A,A,1,w              A,A,1,w,labels:[foo]
-    //            A,B,2,x              A,B,2,x,labels:[foo]
-    //               |                          |
-    //               |                        Sink() --------------+
-    //               |                          |                  |
-    //               +------------+      x------+          A,A,1,w,labels:[foo]
-    //                            |                        A,B,2,x,labels:[foo]
-    //                         A,A,1,w                             |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                    QualifierRegex("B")                      |
-    //                            |                                |
-    //                         A,B,2,x                             |
-    //                            |                                |
-    //                            +--------------------------------+
-    //                            |
-    //                         A,A,1,w,labels:[foo]
-    //                         A,B,2,x,labels:[foo]  // could be switched
-    //                         A,B,2,x               // could be switched
-    //
-    // Despite being excluded by the qualifier filter, a copy of every cell
-    // that reaches the sink is present in the final result.
-    //
-    // As with an [Interleave][google.bigtable.v2.RowFilter.Interleave],
-    // duplicate cells are possible, and appear in an unspecified mutual order.
-    // In this case we have a duplicate with column "A:B" and timestamp 2,
-    // because one copy passed through the all filter while the other was
-    // passed through the label and sink. Note that one copy has label "foo",
-    // while the other does not.
-    //
-    // Cannot be used within the `predicate_filter`, `true_filter`, or
-    // `false_filter` of a [Condition][google.bigtable.v2.RowFilter.Condition].
-    bool sink = 16;
-
-    // Matches all cells, regardless of input. Functionally equivalent to
-    // leaving `filter` unset, but included for completeness.
-    bool pass_all_filter = 17;
-
-    // Does not match any cells, regardless of input. Useful for temporarily
-    // disabling just part of a filter.
-    bool block_all_filter = 18;
-
-    // Matches only cells from rows whose keys satisfy the given RE2 regex. In
-    // other words, passes through the entire row when the key matches, and
-    // otherwise produces an empty row.
-    // Note that, since row keys can contain arbitrary bytes, the `\C` escape
-    // sequence must be used if a true wildcard is desired. The `.` character
-    // will not match the new line character `\n`, which may be present in a
-    // binary key.
-    bytes row_key_regex_filter = 4;
-
-    // Matches all cells from a row with probability p, and matches no cells
-    // from the row with probability 1-p.
-    double row_sample_filter = 14;
-
-    // Matches only cells from columns whose families satisfy the given RE2
-    // regex. For technical reasons, the regex must not contain the `:`
-    // character, even if it is not being used as a literal.
-    // Note that, since column families cannot contain the new line character
-    // `\n`, it is sufficient to use `.` as a full wildcard when matching
-    // column family names.
-    string family_name_regex_filter = 5;
-
-    // Matches only cells from columns whose qualifiers satisfy the given RE2
-    // regex.
-    // Note that, since column qualifiers can contain arbitrary bytes, the `\C`
-    // escape sequence must be used if a true wildcard is desired. The `.`
-    // character will not match the new line character `\n`, which may be
-    // present in a binary qualifier.
-    bytes column_qualifier_regex_filter = 6;
-
-    // Matches only cells from columns within the given range.
-    ColumnRange column_range_filter = 7;
-
-    // Matches only cells with timestamps within the given range.
-    TimestampRange timestamp_range_filter = 8;
-
-    // Matches only cells with values that satisfy the given regular expression.
-    // Note that, since cell values can contain arbitrary bytes, the `\C` escape
-    // sequence must be used if a true wildcard is desired. The `.` character
-    // will not match the new line character `\n`, which may be present in a
-    // binary value.
-    bytes value_regex_filter = 9;
-
-    // Matches only cells with values that fall within the given range.
-    ValueRange value_range_filter = 15;
-
-    // Skips the first N cells of each row, matching all subsequent cells.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_offset_filter = 10;
-
-    // Matches only the first N cells of each row.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_row_limit_filter = 11;
-
-    // Matches only the most recent N cells within each column. For example,
-    // if N=2, this filter would match column `foo:bar` at timestamps 10 and 9,
-    // skip all earlier cells in `foo:bar`, and then begin matching again in
-    // column `foo:bar2`.
-    // If duplicate cells are present, as is possible when using an Interleave,
-    // each copy of the cell is counted separately.
-    int32 cells_per_column_limit_filter = 12;
-
-    // Replaces each cell's value with the empty string.
-    bool strip_value_transformer = 13;
-
-    // Applies the given label to all cells in the output row. This allows
-    // the client to determine which results were produced from which part of
-    // the filter.
-    //
-    // Values must be at most 15 characters in length, and match the RE2
-    // pattern `[a-z0-9\\-]+`
-    //
-    // Due to a technical limitation, it is not currently possible to apply
-    // multiple labels to a cell. As a result, a Chain may have no more than
-    // one sub-filter which contains a `apply_label_transformer`. It is okay for
-    // an Interleave to contain multiple `apply_label_transformers`, as they
-    // will be applied to separate copies of the input. This may be relaxed in
-    // the future.
-    string apply_label_transformer = 19;
-  }
-}
-
-// Specifies a particular change to be made to the contents of a row.
-message Mutation {
-  // A Mutation which sets the value of the specified cell.
-  message SetCell {
-    // The name of the family into which new data should be written.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-
-    // The qualifier of the column into which new data should be written.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The timestamp of the cell into which new data should be written.
-    // Use -1 for current Bigtable server time.
-    // Otherwise, the client should set this value itself, noting that the
-    // default value is a timestamp of zero if the field is left unspecified.
-    // Values must match the granularity of the table (e.g. micros, millis).
-    int64 timestamp_micros = 3;
-
-    // The value to be written into the specified cell.
-    bytes value = 4;
-  }
-
-  // A Mutation which deletes cells from the specified column, optionally
-  // restricting the deletions to a given timestamp range.
-  message DeleteFromColumn {
-    // The name of the family from which cells should be deleted.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-
-    // The qualifier of the column from which cells should be deleted.
-    // Can be any byte string, including the empty string.
-    bytes column_qualifier = 2;
-
-    // The range of timestamps within which cells should be deleted.
-    TimestampRange time_range = 3;
-  }
-
-  // A Mutation which deletes all cells from the specified column family.
-  message DeleteFromFamily {
-    // The name of the family from which cells should be deleted.
-    // Must match `[-_.a-zA-Z0-9]+`
-    string family_name = 1;
-  }
-
-  // A Mutation which deletes all cells from the containing row.
-  message DeleteFromRow {
-
-  }
-
-  // Which of the possible Mutation types to apply.
-  oneof mutation {
-    // Set a cell's value.
-    SetCell set_cell = 1;
-
-    // Deletes cells from a column.
-    DeleteFromColumn delete_from_column = 2;
-
-    // Deletes cells from a column family.
-    DeleteFromFamily delete_from_family = 3;
-
-    // Deletes cells from the entire row.
-    DeleteFromRow delete_from_row = 4;
-  }
-}
-
-// Specifies an atomic read/modify/write operation on the latest value of the
-// specified column.
-message ReadModifyWriteRule {
-  // The name of the family to which the read/modify/write should be applied.
-  // Must match `[-_.a-zA-Z0-9]+`
-  string family_name = 1;
-
-  // The qualifier of the column to which the read/modify/write should be
-  // applied.
-  // Can be any byte string, including the empty string.
-  bytes column_qualifier = 2;
-
-  // The rule used to determine the column's new latest value from its current
-  // latest value.
-  oneof rule {
-    // Rule specifying that `append_value` be appended to the existing value.
-    // If the targeted cell is unset, it will be treated as containing the
-    // empty string.
-    bytes append_value = 3;
-
-    // Rule specifying that `increment_amount` be added to the existing value.
-    // If the targeted cell is unset, it will be treated as containing a zero.
-    // Otherwise, the targeted cell must contain an 8-byte value (interpreted
-    // as a 64-bit big-endian signed integer), or the entire request will fail.
-    int64 increment_amount = 4;
-  }
-}
diff --git a/googleapis/bytestream/bytestream.pb.go b/googleapis/bytestream/bytestream.pb.go
index ca479595..f52ab268 100644
--- a/googleapis/bytestream/bytestream.pb.go
+++ b/googleapis/bytestream/bytestream.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/bytestream/bytestream.proto
+// source: google/bytestream/bytestream.proto
 // DO NOT EDIT!
 
 /*
-Package google_bytestream is a generated protocol buffer package.
+Package bytestream is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/bytestream/bytestream.proto
+	google/bytestream/bytestream.proto
 
 It has these top-level messages:
 	ReadRequest
@@ -16,12 +16,12 @@ It has these top-level messages:
 	QueryWriteStatusRequest
 	QueryWriteStatusResponse
 */
-package google_bytestream // import "google.golang.org/genproto/googleapis/bytestream"
+package bytestream
 
 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/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/wrappers"
 
 import (
@@ -65,6 +65,27 @@ func (m *ReadRequest) String() string            { return proto.CompactTextStrin
 func (*ReadRequest) ProtoMessage()               {}
 func (*ReadRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ReadRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *ReadRequest) GetReadOffset() int64 {
+	if m != nil {
+		return m.ReadOffset
+	}
+	return 0
+}
+
+func (m *ReadRequest) GetReadLimit() int64 {
+	if m != nil {
+		return m.ReadLimit
+	}
+	return 0
+}
+
 // Response object for ByteStream.Read.
 type ReadResponse struct {
 	// A portion of the data for the resource. The service **may** leave `data`
@@ -79,6 +100,13 @@ func (m *ReadResponse) String() string            { return proto.CompactTextStri
 func (*ReadResponse) ProtoMessage()               {}
 func (*ReadResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ReadResponse) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 // Request object for ByteStream.Write.
 type WriteRequest struct {
 	// The name of the resource to write. This **must** be set on the first
@@ -114,6 +142,34 @@ func (m *WriteRequest) String() string            { return proto.CompactTextStri
 func (*WriteRequest) ProtoMessage()               {}
 func (*WriteRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *WriteRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *WriteRequest) GetWriteOffset() int64 {
+	if m != nil {
+		return m.WriteOffset
+	}
+	return 0
+}
+
+func (m *WriteRequest) GetFinishWrite() bool {
+	if m != nil {
+		return m.FinishWrite
+	}
+	return false
+}
+
+func (m *WriteRequest) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 // Response object for ByteStream.Write.
 type WriteResponse struct {
 	// The number of bytes that have been processed for the given resource.
@@ -125,6 +181,13 @@ func (m *WriteResponse) String() string            { return proto.CompactTextStr
 func (*WriteResponse) ProtoMessage()               {}
 func (*WriteResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *WriteResponse) GetCommittedSize() int64 {
+	if m != nil {
+		return m.CommittedSize
+	}
+	return 0
+}
+
 // Request object for ByteStream.QueryWriteStatus.
 type QueryWriteStatusRequest struct {
 	// The name of the resource whose write status is being requested.
@@ -136,6 +199,13 @@ func (m *QueryWriteStatusRequest) String() string            { return proto.Comp
 func (*QueryWriteStatusRequest) ProtoMessage()               {}
 func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *QueryWriteStatusRequest) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
 // Response object for ByteStream.QueryWriteStatus.
 type QueryWriteStatusResponse struct {
 	// The number of bytes that have been processed for the given resource.
@@ -150,6 +220,20 @@ func (m *QueryWriteStatusResponse) String() string            { return proto.Com
 func (*QueryWriteStatusResponse) ProtoMessage()               {}
 func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *QueryWriteStatusResponse) GetCommittedSize() int64 {
+	if m != nil {
+		return m.CommittedSize
+	}
+	return 0
+}
+
+func (m *QueryWriteStatusResponse) GetComplete() bool {
+	if m != nil {
+		return m.Complete
+	}
+	return false
+}
+
 func init() {
 	proto.RegisterType((*ReadRequest)(nil), "google.bytestream.ReadRequest")
 	proto.RegisterType((*ReadResponse)(nil), "google.bytestream.ReadResponse")
@@ -434,42 +518,39 @@ var _ByteStream_serviceDesc = grpc.ServiceDesc{
 			ClientStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/bytestream/bytestream.proto",
+	Metadata: "google/bytestream/bytestream.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/bytestream/bytestream.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/bytestream/bytestream.proto", fileDescriptor0) }
 
 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,
+	// 446 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x53, 0x5b, 0x8b, 0x13, 0x31,
+	0x14, 0x66, 0xb6, 0xab, 0x74, 0x4f, 0xa7, 0x5e, 0x02, 0xe2, 0x30, 0xe8, 0x6e, 0x77, 0x44, 0x28,
+	0x0a, 0x33, 0xa2, 0xe0, 0xcb, 0x82, 0x0f, 0x7d, 0x13, 0x16, 0x2f, 0xd9, 0x07, 0x41, 0x90, 0x21,
+	0x6d, 0x4f, 0xc7, 0x60, 0x93, 0x8c, 0x49, 0x86, 0xa5, 0xfb, 0x1f, 0x7c, 0xf1, 0x17, 0x4b, 0x92,
+	0xb1, 0x1d, 0x6d, 0x0b, 0xdb, 0xb7, 0xe4, 0xbb, 0xcc, 0xf9, 0xe6, 0xe4, 0x1c, 0xc8, 0x2a, 0xa5,
+	0xaa, 0x25, 0x16, 0xd3, 0x95, 0x45, 0x63, 0x35, 0x32, 0xd1, 0x39, 0xe6, 0xb5, 0x56, 0x56, 0x91,
+	0x87, 0x41, 0x93, 0x6f, 0x88, 0xf4, 0x49, 0x6b, 0x63, 0x35, 0x2f, 0x98, 0x94, 0xca, 0x32, 0xcb,
+	0x95, 0x34, 0xc1, 0x90, 0x9e, 0xb6, 0xac, 0xbf, 0x4d, 0x9b, 0x45, 0x71, 0xad, 0x59, 0x5d, 0xa3,
+	0x6e, 0xf9, 0x4c, 0xc3, 0x80, 0x22, 0x9b, 0x53, 0xfc, 0xd9, 0xa0, 0xb1, 0xe4, 0x19, 0x0c, 0x35,
+	0x1a, 0xd5, 0xe8, 0x19, 0x96, 0x92, 0x09, 0x4c, 0xa2, 0x51, 0x34, 0x3e, 0xa1, 0xf1, 0x5f, 0xf0,
+	0x03, 0x13, 0x48, 0xce, 0x60, 0xa0, 0x91, 0xcd, 0x4b, 0xb5, 0x58, 0x18, 0xb4, 0xc9, 0xd1, 0x28,
+	0x1a, 0xf7, 0x28, 0x38, 0xe8, 0xa3, 0x47, 0xc8, 0x53, 0xf0, 0xb7, 0x72, 0xc9, 0x05, 0xb7, 0x49,
+	0xcf, 0xf3, 0x27, 0x0e, 0xb9, 0x74, 0x40, 0x96, 0x41, 0x1c, 0x6a, 0x9a, 0x5a, 0x49, 0x83, 0x84,
+	0xc0, 0xf1, 0x9c, 0x59, 0x96, 0xc0, 0x28, 0x1a, 0xc7, 0xd4, 0x9f, 0xb3, 0x5f, 0x11, 0xc4, 0x5f,
+	0x34, 0xb7, 0x78, 0x50, 0xb2, 0x73, 0x88, 0xaf, 0x9d, 0xe9, 0xdf, 0x68, 0x03, 0x8f, 0xb5, 0xd9,
+	0xce, 0x21, 0x5e, 0x70, 0xc9, 0xcd, 0xf7, 0xd2, 0xa3, 0x3e, 0x5d, 0x9f, 0x0e, 0x02, 0xe6, 0x2b,
+	0xee, 0xcc, 0xf3, 0x16, 0x86, 0x6d, 0x9c, 0x36, 0xf4, 0x73, 0xb8, 0x37, 0x53, 0x42, 0x70, 0x6b,
+	0x71, 0x5e, 0x1a, 0x7e, 0x13, 0x02, 0xf5, 0xe8, 0x70, 0x8d, 0x5e, 0xf1, 0x1b, 0xcc, 0xde, 0xc1,
+	0xe3, 0xcf, 0x0d, 0xea, 0x95, 0x37, 0x5f, 0x59, 0x66, 0x1b, 0x73, 0xc8, 0x1f, 0x65, 0xdf, 0x20,
+	0xd9, 0xf6, 0x1f, 0x14, 0x81, 0xa4, 0xd0, 0x9f, 0x29, 0x51, 0x2f, 0xd1, 0xa2, 0x6f, 0x48, 0x9f,
+	0xae, 0xef, 0xaf, 0x7f, 0x1f, 0x01, 0x4c, 0x56, 0xee, 0xcb, 0x6e, 0x96, 0xc8, 0x7b, 0x38, 0x76,
+	0x2f, 0x43, 0x4e, 0xf3, 0xad, 0x39, 0xcb, 0x3b, 0x63, 0x92, 0x9e, 0xed, 0xe5, 0x43, 0xb4, 0x57,
+	0x11, 0xb9, 0x84, 0x3b, 0xa1, 0x9b, 0xbb, 0xb4, 0xdd, 0x97, 0x4d, 0x47, 0xfb, 0x05, 0xe1, 0x6b,
+	0xe3, 0x88, 0xfc, 0x80, 0x07, 0xff, 0xb7, 0x81, 0xbc, 0xd8, 0xe1, 0xdb, 0xd3, 0xeb, 0xf4, 0xe5,
+	0xad, 0xb4, 0xa1, 0xdc, 0x04, 0xe1, 0xd1, 0x4c, 0x89, 0x6d, 0xc7, 0xe4, 0xfe, 0xa6, 0x55, 0x9f,
+	0xdc, 0xf6, 0x7c, 0xbd, 0x68, 0x35, 0x95, 0x5a, 0x32, 0x59, 0xe5, 0x4a, 0x57, 0x45, 0x85, 0xd2,
+	0x6f, 0x56, 0x11, 0x28, 0x56, 0x73, 0xd3, 0x59, 0xe3, 0x8b, 0xcd, 0x71, 0x7a, 0xd7, 0xeb, 0xde,
+	0xfc, 0x09, 0x00, 0x00, 0xff, 0xff, 0x8f, 0x91, 0x09, 0xd4, 0xf8, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/bytestream/bytestream.proto b/googleapis/bytestream/bytestream.proto
deleted file mode 100644
index 7fc5a302..00000000
--- a/googleapis/bytestream/bytestream.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// 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.bytestream;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_outer_classname = "ByteStreamProto";
-option java_package = "com.google.bytestream";
-
-
-// #### Introduction
-//
-// The Byte Stream API enables a client to read and write a stream of bytes to
-// and from a resource. Resources have names, and these names are supplied in
-// the API calls below to identify the resource that is being read from or
-// written to.
-//
-// All implementations of the Byte Stream API export the interface defined here:
-//
-// * `Read()`: Reads the contents of a resource.
-//
-// * `Write()`: Writes the contents of a resource. The client can call `Write()`
-//   multiple times with the same resource and can check the status of the write
-//   by calling `QueryWriteStatus()`.
-//
-// #### Service parameters and metadata
-//
-// The ByteStream API provides no direct way to access/modify any metadata
-// associated with the resource.
-//
-// #### Errors
-//
-// The errors returned by the service are in the Google canonical error space.
-service ByteStream {
-  // `Read()` is used to retrieve the contents of a resource as a sequence
-  // of bytes. The bytes are returned in a sequence of responses, and the
-  // responses are delivered as the results of a server-side streaming RPC.
-  rpc Read(ReadRequest) returns (stream ReadResponse);
-
-  // `Write()` is used to send the contents of a resource as a sequence of
-  // bytes. The bytes are sent in a sequence of request protos of a client-side
-  // streaming RPC.
-  //
-  // A `Write()` action is resumable. If there is an error or the connection is
-  // broken during the `Write()`, the client should check the status of the
-  // `Write()` by calling `QueryWriteStatus()` and continue writing from the
-  // returned `committed_size`. This may be less than the amount of data the
-  // client previously sent.
-  //
-  // Calling `Write()` on a resource name that was previously written and
-  // finalized could cause an error, depending on whether the underlying service
-  // allows over-writing of previously written resources.
-  //
-  // When the client closes the request channel, the service will respond with
-  // a `WriteResponse`. The service will not view the resource as `complete`
-  // until the client has sent a `WriteRequest` with `finish_write` set to
-  // `true`. Sending any requests on a stream after sending a request with
-  // `finish_write` set to `true` will cause an error. The client **should**
-  // check the `WriteResponse` it receives to determine how much data the
-  // service was able to commit and whether the service views the resource as
-  // `complete` or not.
-  rpc Write(stream WriteRequest) returns (WriteResponse);
-
-  // `QueryWriteStatus()` is used to find the `committed_size` for a resource
-  // that is being written, which can then be used as the `write_offset` for
-  // the next `Write()` call.
-  //
-  // If the resource does not exist (i.e., the resource has been deleted, or the
-  // first `Write()` has not yet reached the service), this method returns the
-  // error `NOT_FOUND`.
-  //
-  // The client **may** call `QueryWriteStatus()` at any time to determine how
-  // much data has been processed for this resource. This is useful if the
-  // client is buffering data and needs to know which data can be safely
-  // evicted. For any sequence of `QueryWriteStatus()` calls for a given
-  // resource name, the sequence of returned `committed_size` values will be
-  // non-decreasing.
-  rpc QueryWriteStatus(QueryWriteStatusRequest) returns (QueryWriteStatusResponse);
-}
-
-// Request object for ByteStream.Read.
-message ReadRequest {
-  // The name of the resource to read.
-  string resource_name = 1;
-
-  // The offset for the first byte to return in the read, relative to the start
-  // of the resource.
-  //
-  // A `read_offset` that is negative or greater than the size of the resource
-  // will cause an `OUT_OF_RANGE` error.
-  int64 read_offset = 2;
-
-  // The maximum number of `data` bytes the server is allowed to return in the
-  // sum of all `ReadResponse` messages. A `read_limit` of zero indicates that
-  // there is no limit, and a negative `read_limit` will cause an error.
-  //
-  // If the stream returns fewer bytes than allowed by the `read_limit` and no
-  // error occurred, the stream includes all data from the `read_offset` to the
-  // end of the resource.
-  int64 read_limit = 3;
-}
-
-// Response object for ByteStream.Read.
-message ReadResponse {
-  // A portion of the data for the resource. The service **may** leave `data`
-  // empty for any given `ReadResponse`. This enables the service to inform the
-  // client that the request is still live while it is running an operation to
-  // generate more data.
-  bytes data = 10;
-}
-
-// Request object for ByteStream.Write.
-message WriteRequest {
-  // The name of the resource to write. This **must** be set on the first
-  // `WriteRequest` of each `Write()` action. If it is set on subsequent calls,
-  // it **must** match the value of the first request.
-  string resource_name = 1;
-
-  // The offset from the beginning of the resource at which the data should be
-  // written. It is required on all `WriteRequest`s.
-  //
-  // In the first `WriteRequest` of a `Write()` action, it indicates
-  // the initial offset for the `Write()` call. The value **must** be equal to
-  // the `committed_size` that a call to `QueryWriteStatus()` would return.
-  //
-  // On subsequent calls, this value **must** be set and **must** be equal to
-  // the sum of the first `write_offset` and the sizes of all `data` bundles
-  // sent previously on this stream.
-  //
-  // An incorrect value will cause an error.
-  int64 write_offset = 2;
-
-  // If `true`, this indicates that the write is complete. Sending any
-  // `WriteRequest`s subsequent to one in which `finish_write` is `true` will
-  // cause an error.
-  bool finish_write = 3;
-
-  // A portion of the data for the resource. The client **may** leave `data`
-  // empty for any given `WriteRequest`. This enables the client to inform the
-  // service that the request is still live while it is running an operation to
-  // generate more data.
-  bytes data = 10;
-}
-
-// Response object for ByteStream.Write.
-message WriteResponse {
-  // The number of bytes that have been processed for the given resource.
-  int64 committed_size = 1;
-}
-
-// Request object for ByteStream.QueryWriteStatus.
-message QueryWriteStatusRequest {
-  // The name of the resource whose write status is being requested.
-  string resource_name = 1;
-}
-
-// Response object for ByteStream.QueryWriteStatus.
-message QueryWriteStatusResponse {
-  // The number of bytes that have been processed for the given resource.
-  int64 committed_size = 1;
-
-  // `complete` is `true` only if the client has sent a `WriteRequest` with
-  // `finish_write` set to true, and the server has processed that request.
-  bool complete = 2;
-}
diff --git a/googleapis/cloud/audit/audit_log.pb.go b/googleapis/cloud/audit/audit_log.pb.go
index bd0976a4..30b080db 100644
--- a/googleapis/cloud/audit/audit_log.pb.go
+++ b/googleapis/cloud/audit/audit_log.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+// source: google/cloud/audit/audit_log.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_audit is a generated protocol buffer package.
+Package audit is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto
+	google/cloud/audit/audit_log.proto
 
 It has these top-level messages:
 	AuditLog
@@ -14,12 +14,12 @@ It has these top-level messages:
 	AuthorizationInfo
 	RequestMetadata
 */
-package google_cloud_audit // import "google.golang.org/genproto/googleapis/cloud/audit"
+package audit
 
 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/api/annotations"
 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"
@@ -91,6 +91,34 @@ func (m *AuditLog) String() string            { return proto.CompactTextString(m
 func (*AuditLog) ProtoMessage()               {}
 func (*AuditLog) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *AuditLog) GetServiceName() string {
+	if m != nil {
+		return m.ServiceName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetMethodName() string {
+	if m != nil {
+		return m.MethodName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *AuditLog) GetNumResponseItems() int64 {
+	if m != nil {
+		return m.NumResponseItems
+	}
+	return 0
+}
+
 func (m *AuditLog) GetStatus() *google_rpc.Status {
 	if m != nil {
 		return m.Status
@@ -151,6 +179,13 @@ func (m *AuthenticationInfo) String() string            { return proto.CompactTe
 func (*AuthenticationInfo) ProtoMessage()               {}
 func (*AuthenticationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *AuthenticationInfo) GetPrincipalEmail() string {
+	if m != nil {
+		return m.PrincipalEmail
+	}
+	return ""
+}
+
 // Authorization information for the operation.
 type AuthorizationInfo struct {
 	// The resource being accessed, as a REST-style string. For example:
@@ -169,6 +204,27 @@ func (m *AuthorizationInfo) String() string            { return proto.CompactTex
 func (*AuthorizationInfo) ProtoMessage()               {}
 func (*AuthorizationInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *AuthorizationInfo) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *AuthorizationInfo) GetPermission() string {
+	if m != nil {
+		return m.Permission
+	}
+	return ""
+}
+
+func (m *AuthorizationInfo) GetGranted() bool {
+	if m != nil {
+		return m.Granted
+	}
+	return false
+}
+
 // Metadata about the request.
 type RequestMetadata struct {
 	// The IP address of the caller.
@@ -191,6 +247,20 @@ func (m *RequestMetadata) String() string            { return proto.CompactTextS
 func (*RequestMetadata) ProtoMessage()               {}
 func (*RequestMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *RequestMetadata) GetCallerIp() string {
+	if m != nil {
+		return m.CallerIp
+	}
+	return ""
+}
+
+func (m *RequestMetadata) GetCallerSuppliedUserAgent() string {
+	if m != nil {
+		return m.CallerSuppliedUserAgent
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*AuditLog)(nil), "google.cloud.audit.AuditLog")
 	proto.RegisterType((*AuthenticationInfo)(nil), "google.cloud.audit.AuthenticationInfo")
@@ -198,48 +268,44 @@ func init() {
 	proto.RegisterType((*RequestMetadata)(nil), "google.cloud.audit.RequestMetadata")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/audit/audit_log.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/audit/audit_log.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 597 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x93, 0x5f, 0x6f, 0xd3, 0x30,
-	0x14, 0xc5, 0x55, 0x36, 0x6d, 0xad, 0xbb, 0xd1, 0xcd, 0x20, 0x16, 0x15, 0x09, 0x4a, 0x27, 0xa0,
-	0x20, 0x14, 0x8b, 0x4d, 0x88, 0x07, 0xb4, 0x87, 0x4e, 0xf0, 0x50, 0x09, 0xa6, 0x29, 0x03, 0xf1,
-	0x18, 0x79, 0xe9, 0xad, 0x67, 0x91, 0xd8, 0xc6, 0x7f, 0x90, 0xca, 0x77, 0xe6, 0x3b, 0xa0, 0xde,
-	0x38, 0x65, 0x5b, 0x07, 0xec, 0xa1, 0x8d, 0x72, 0xee, 0xef, 0x1c, 0xdb, 0xd7, 0x37, 0x64, 0x2c,
-	0xb4, 0x16, 0x25, 0xa4, 0x42, 0x97, 0x5c, 0x89, 0x54, 0x5b, 0xc1, 0x04, 0x28, 0x63, 0xb5, 0xd7,
-	0xac, 0x2e, 0x71, 0x23, 0x1d, 0x2b, 0x4a, 0x1d, 0xa6, 0x8c, 0x87, 0xa9, 0xf4, 0xf5, 0x7f, 0x5e,
-	0x6a, 0x91, 0x22, 0x46, 0x69, 0x8c, 0x40, 0x26, 0xc5, 0x6a, 0x7f, 0x72, 0xbb, 0x58, 0x6e, 0x24,
-	0x73, 0x60, 0x7f, 0xc8, 0x02, 0x0a, 0xad, 0x66, 0x52, 0x30, 0xae, 0x94, 0xf6, 0xdc, 0x4b, 0xad,
-	0x5c, 0x1d, 0xdf, 0x67, 0x42, 0xfa, 0x8b, 0x70, 0x9e, 0x16, 0xba, 0x62, 0x75, 0x1c, 0xc3, 0xc2,
-	0x79, 0x98, 0x31, 0xe3, 0xe7, 0x06, 0x1c, 0xe3, 0x6a, 0xbe, 0xf8, 0x45, 0xc3, 0x9b, 0xff, 0x1b,
-	0x9c, 0xb7, 0xa1, 0xf0, 0xf1, 0x11, 0x6d, 0x47, 0xb7, 0xdb, 0xb2, 0x35, 0x05, 0x73, 0x9e, 0xfb,
-	0xe0, 0xe2, 0xa3, 0xb6, 0x0f, 0x7f, 0xad, 0x93, 0xf6, 0x78, 0x71, 0xf6, 0x8f, 0x5a, 0xd0, 0x27,
-	0x64, 0x2b, 0x1e, 0x2b, 0x57, 0xbc, 0x82, 0x64, 0x73, 0xd0, 0x1a, 0x75, 0xb2, 0x6e, 0xd4, 0x4e,
-	0x78, 0x05, 0xf4, 0x31, 0xe9, 0x56, 0xe0, 0x2f, 0xf4, 0xb4, 0x26, 0xda, 0x48, 0x90, 0x5a, 0x42,
-	0x60, 0x9f, 0x6c, 0x5b, 0x70, 0x3a, 0xd8, 0x26, 0xa4, 0x8b, 0xc8, 0x56, 0x23, 0x22, 0xf4, 0x8a,
-	0x50, 0x15, 0xaa, 0xdc, 0x82, 0x33, 0x5a, 0x39, 0xc8, 0xa5, 0x87, 0xca, 0x25, 0x5b, 0x83, 0xd6,
-	0x68, 0x2d, 0xdb, 0x51, 0xa1, 0xca, 0x62, 0x61, 0xb2, 0xd0, 0xe9, 0x4b, 0xb2, 0x51, 0xef, 0x39,
-	0xb9, 0x33, 0x68, 0x8d, 0xba, 0x07, 0x34, 0x8d, 0x67, 0xb6, 0xa6, 0x48, 0xcf, 0xb0, 0x92, 0x45,
-	0x82, 0x7e, 0x25, 0xf7, 0x78, 0xf0, 0x17, 0xa0, 0xbc, 0x2c, 0xf0, 0x3e, 0x72, 0xa9, 0x66, 0x3a,
-	0x59, 0x43, 0xe3, 0xb3, 0x74, 0xf5, 0xce, 0xd3, 0xf1, 0x15, 0x7c, 0xa2, 0x66, 0x3a, 0xa3, 0x7c,
-	0x45, 0xa3, 0x9f, 0x09, 0xaa, 0xda, 0xca, 0x9f, 0x97, 0x72, 0x3b, 0x83, 0xb5, 0x51, 0xf7, 0xe0,
-	0xe9, 0xdf, 0x72, 0x97, 0x34, 0xc6, 0xee, 0xf2, 0xeb, 0x12, 0x3d, 0x21, 0x3b, 0x16, 0xbe, 0x07,
-	0x70, 0x3e, 0xaf, 0xc0, 0xf3, 0x29, 0xf7, 0x3c, 0x59, 0xc7, 0xbd, 0xee, 0xdf, 0x94, 0x99, 0xd5,
-	0xec, 0xa7, 0x88, 0x66, 0x3d, 0x7b, 0x55, 0xa0, 0xaf, 0xc9, 0x66, 0x94, 0x92, 0x1d, 0x8c, 0xd9,
-	0x6b, 0x62, 0x9a, 0x59, 0x4a, 0xcf, 0x70, 0x7a, 0xb2, 0x86, 0xa3, 0x87, 0xa4, 0xdd, 0xdc, 0x43,
-	0xb2, 0xfb, 0x6f, 0xcf, 0x12, 0xa4, 0x6f, 0xff, 0x4c, 0x0a, 0xee, 0xb9, 0x87, 0xc6, 0xfb, 0x2b,
-	0xc6, 0xb1, 0x9a, 0x2f, 0xe7, 0xe7, 0x3d, 0xf7, 0x7c, 0x78, 0x44, 0xe8, 0x6a, 0xc3, 0xe9, 0x73,
-	0xd2, 0x33, 0x56, 0xaa, 0x42, 0x1a, 0x5e, 0xe6, 0x50, 0x71, 0x59, 0x26, 0x2d, 0x1c, 0x9b, 0xbb,
-	0x4b, 0xf9, 0xc3, 0x42, 0x1d, 0x4a, 0xb2, 0xbb, 0xd2, 0x57, 0xda, 0xc7, 0x13, 0xe0, 0x74, 0x45,
-	0xdb, 0xf2, 0x9d, 0x3e, 0x22, 0xc4, 0x80, 0xad, 0xa4, 0x73, 0x52, 0x2b, 0x9c, 0x9f, 0x4e, 0x76,
-	0x49, 0xa1, 0x09, 0xd9, 0x14, 0x96, 0x2b, 0x0f, 0x53, 0x9c, 0x91, 0x76, 0xd6, 0xbc, 0x0e, 0xbf,
-	0x91, 0xde, 0xb5, 0x76, 0xd3, 0x87, 0xa4, 0x53, 0xf0, 0xb2, 0x04, 0x9b, 0x4b, 0xd3, 0xac, 0x54,
-	0x0b, 0x13, 0x43, 0xdf, 0x91, 0x7e, 0x2c, 0xba, 0x60, 0x4c, 0x29, 0x61, 0x9a, 0x07, 0x07, 0x36,
-	0xe7, 0x02, 0x94, 0x8f, 0x2b, 0xef, 0xd5, 0xc4, 0x59, 0x04, 0xbe, 0x38, 0xb0, 0xe3, 0x45, 0xf9,
-	0xf8, 0x05, 0x79, 0x50, 0xe8, 0xea, 0x86, 0x2b, 0x3f, 0xde, 0x6e, 0xbe, 0xce, 0xd3, 0x45, 0x4f,
-	0x4f, 0x5b, 0xe7, 0x1b, 0xd8, 0xdc, 0xc3, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x93, 0xa1, 0x4a,
-	0x9b, 0x03, 0x05, 0x00, 0x00,
+	// 576 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0x5f, 0x6f, 0xd3, 0x30,
+	0x14, 0xc5, 0x55, 0x36, 0x6d, 0xad, 0xbb, 0xd1, 0xd6, 0x20, 0x1a, 0xca, 0x04, 0xa5, 0x13, 0x50,
+	0x21, 0x94, 0x88, 0xed, 0x61, 0x0f, 0x13, 0x0f, 0x9d, 0xe0, 0xa1, 0x12, 0x4c, 0x53, 0x0a, 0x42,
+	0xe2, 0x25, 0x72, 0x93, 0xdb, 0xcc, 0x22, 0xb1, 0x8d, 0xff, 0x20, 0x8d, 0xef, 0xcc, 0x77, 0x40,
+	0xbd, 0x71, 0x4a, 0xd7, 0x0e, 0x5e, 0x2c, 0xf9, 0x9c, 0xdf, 0xbd, 0x76, 0xaf, 0x4f, 0x43, 0x46,
+	0xb9, 0x94, 0x79, 0x01, 0x51, 0x5a, 0x48, 0x97, 0x45, 0xcc, 0x65, 0xdc, 0x56, 0x6b, 0x52, 0xc8,
+	0x3c, 0x54, 0x5a, 0x5a, 0x49, 0x69, 0xc5, 0x84, 0xc8, 0x84, 0xe8, 0x0e, 0x8e, 0x7c, 0x1d, 0x53,
+	0x3c, 0x62, 0x42, 0x48, 0xcb, 0x2c, 0x97, 0xc2, 0x54, 0x15, 0x83, 0xc7, 0xde, 0xc5, 0xdd, 0xdc,
+	0x2d, 0x22, 0x26, 0x6e, 0xbc, 0x75, 0xb4, 0x69, 0x19, 0xab, 0x5d, 0x6a, 0xbd, 0xdb, 0xf7, 0xae,
+	0x56, 0x69, 0x64, 0x2c, 0xb3, 0xce, 0x77, 0x1c, 0xfd, 0xde, 0x25, 0xcd, 0xc9, 0xf2, 0xe4, 0x8f,
+	0x32, 0xa7, 0xcf, 0xc9, 0x81, 0x01, 0xfd, 0x93, 0xa7, 0x90, 0x08, 0x56, 0x42, 0xb0, 0x3f, 0x6c,
+	0x8c, 0x5b, 0x71, 0xdb, 0x6b, 0x97, 0xac, 0x04, 0xfa, 0x8c, 0xb4, 0x4b, 0xb0, 0xd7, 0x32, 0xab,
+	0x88, 0x26, 0x12, 0xa4, 0x92, 0x10, 0x38, 0x26, 0x87, 0x1a, 0x8c, 0x74, 0xba, 0x6e, 0xd2, 0x46,
+	0xe4, 0xa0, 0x16, 0x11, 0x7a, 0x43, 0xa8, 0x70, 0x65, 0xa2, 0xc1, 0x28, 0x29, 0x0c, 0x24, 0xdc,
+	0x42, 0x69, 0x82, 0x83, 0x61, 0x63, 0xbc, 0x13, 0x77, 0x85, 0x2b, 0x63, 0x6f, 0x4c, 0x97, 0x3a,
+	0x7d, 0x4d, 0xf6, 0xaa, 0x3b, 0x07, 0xf7, 0x86, 0x8d, 0x71, 0xfb, 0x84, 0x86, 0x7e, 0x70, 0x5a,
+	0xa5, 0xe1, 0x0c, 0x9d, 0xd8, 0x13, 0xf4, 0x2b, 0x79, 0xc0, 0x9c, 0xbd, 0x06, 0x61, 0x79, 0x8a,
+	0xa3, 0x4b, 0xb8, 0x58, 0xc8, 0x60, 0x07, 0x0b, 0x5f, 0x86, 0xdb, 0x13, 0x0f, 0x27, 0xb7, 0xf0,
+	0xa9, 0x58, 0xc8, 0x98, 0xb2, 0x2d, 0x8d, 0x7e, 0x26, 0xa8, 0x4a, 0xcd, 0x7f, 0xad, 0xf5, 0x6d,
+	0x0d, 0x77, 0xc6, 0xed, 0x93, 0x17, 0xff, 0xea, 0xbb, 0xa2, 0xb1, 0x6d, 0x8f, 0x6d, 0x4a, 0xf4,
+	0x92, 0x74, 0x35, 0xfc, 0x70, 0x60, 0x6c, 0x52, 0x82, 0x65, 0x19, 0xb3, 0x2c, 0xd8, 0xc5, 0xbb,
+	0x1e, 0xdf, 0xd5, 0x33, 0xae, 0xd8, 0x4f, 0x1e, 0x8d, 0x3b, 0xfa, 0xb6, 0x40, 0xdf, 0x92, 0x7d,
+	0x2f, 0x05, 0x5d, 0x6c, 0xd3, 0xaf, 0xdb, 0xd4, 0xb9, 0x08, 0x67, 0x98, 0x8b, 0xb8, 0xe6, 0xe8,
+	0x29, 0x69, 0xd6, 0xef, 0x10, 0xf4, 0xfe, 0x5f, 0xb3, 0x02, 0xe9, 0xd9, 0xdf, 0xa4, 0xe0, 0x9d,
+	0x3b, 0x58, 0xf8, 0x70, 0xab, 0x70, 0x22, 0x6e, 0x56, 0xf9, 0x79, 0xcf, 0x2c, 0x1b, 0xbd, 0x23,
+	0x74, 0x7b, 0xe0, 0xf4, 0x15, 0xe9, 0x28, 0xcd, 0x45, 0xca, 0x15, 0x2b, 0x12, 0x28, 0x19, 0x2f,
+	0x82, 0x06, 0xc6, 0xe6, 0xfe, 0x4a, 0xfe, 0xb0, 0x54, 0x47, 0x9c, 0xf4, 0xb6, 0xe6, 0x4a, 0x07,
+	0xf8, 0x0b, 0x30, 0x5d, 0xbe, 0x6c, 0xb5, 0xa7, 0x4f, 0x09, 0x51, 0xa0, 0x4b, 0x6e, 0x0c, 0x97,
+	0x02, 0xf3, 0xd3, 0x8a, 0xd7, 0x14, 0x1a, 0x90, 0xfd, 0x5c, 0x33, 0x61, 0x21, 0xc3, 0x8c, 0x34,
+	0xe3, 0x7a, 0x3b, 0xfa, 0x4e, 0x3a, 0x1b, 0xe3, 0xa6, 0x4f, 0x48, 0x2b, 0x65, 0x45, 0x01, 0x3a,
+	0xe1, 0xaa, 0x3e, 0xa9, 0x12, 0xa6, 0x8a, 0x9e, 0x93, 0x81, 0x37, 0x8d, 0x53, 0xaa, 0xe0, 0x90,
+	0x25, 0xce, 0x80, 0x4e, 0x58, 0x0e, 0xc2, 0xfa, 0x93, 0xfb, 0x15, 0x31, 0xf3, 0xc0, 0x17, 0x03,
+	0x7a, 0xb2, 0xb4, 0x2f, 0xe6, 0xe4, 0x51, 0x2a, 0xcb, 0x3b, 0x9e, 0xfc, 0xe2, 0xb0, 0xfe, 0x77,
+	0x5e, 0x2d, 0x67, 0x7a, 0xd5, 0xf8, 0x76, 0xe6, 0xa1, 0x5c, 0x16, 0x4c, 0xe4, 0xa1, 0xd4, 0x79,
+	0x94, 0x83, 0xc0, 0x89, 0x47, 0x95, 0xc5, 0x14, 0x37, 0xeb, 0x1f, 0x9e, 0x73, 0x5c, 0xe7, 0x7b,
+	0xc8, 0x9c, 0xfe, 0x09, 0x00, 0x00, 0xff, 0xff, 0x90, 0xe4, 0x37, 0xbf, 0x9b, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/audit/audit_log.proto b/googleapis/cloud/audit/audit_log.proto
deleted file mode 100644
index e801a75c..00000000
--- a/googleapis/cloud/audit/audit_log.proto
+++ /dev/null
@@ -1,127 +0,0 @@
-// 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
index a2c1bfc6..67d476b3 100644
--- a/googleapis/cloud/billing/v1/cloud_billing.pb.go
+++ b/googleapis/cloud/billing/v1/cloud_billing.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+// source: google/cloud/billing/v1/cloud_billing.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_billing_v1 is a generated protocol buffer package.
+Package billing is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto
+	google/cloud/billing/v1/cloud_billing.proto
 
 It has these top-level messages:
 	BillingAccount
@@ -19,12 +19,12 @@ It has these top-level messages:
 	GetProjectBillingInfoRequest
 	UpdateProjectBillingInfoRequest
 */
-package google_cloud_billing_v1 // import "google.golang.org/genproto/googleapis/cloud/billing/v1"
+package billing
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -65,6 +65,27 @@ func (m *BillingAccount) String() string            { return proto.CompactTextSt
 func (*BillingAccount) ProtoMessage()               {}
 func (*BillingAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *BillingAccount) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BillingAccount) GetOpen() bool {
+	if m != nil {
+		return m.Open
+	}
+	return false
+}
+
+func (m *BillingAccount) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
 // 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).
@@ -93,6 +114,34 @@ func (m *ProjectBillingInfo) String() string            { return proto.CompactTe
 func (*ProjectBillingInfo) ProtoMessage()               {}
 func (*ProjectBillingInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ProjectBillingInfo) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingAccountName() string {
+	if m != nil {
+		return m.BillingAccountName
+	}
+	return ""
+}
+
+func (m *ProjectBillingInfo) GetBillingEnabled() bool {
+	if m != nil {
+		return m.BillingEnabled
+	}
+	return false
+}
+
 // Request message for `GetBillingAccount`.
 type GetBillingAccountRequest struct {
 	// The resource name of the billing account to retrieve. For example,
@@ -105,6 +154,13 @@ func (m *GetBillingAccountRequest) String() string            { return proto.Com
 func (*GetBillingAccountRequest) ProtoMessage()               {}
 func (*GetBillingAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetBillingAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `ListBillingAccounts`.
 type ListBillingAccountsRequest struct {
 	// Requested page size. The maximum page size is 100; this is also the
@@ -121,6 +177,20 @@ func (m *ListBillingAccountsRequest) String() string            { return proto.C
 func (*ListBillingAccountsRequest) ProtoMessage()               {}
 func (*ListBillingAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ListBillingAccountsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBillingAccountsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for `ListBillingAccounts`.
 type ListBillingAccountsResponse struct {
 	// A list of billing accounts.
@@ -143,6 +213,13 @@ func (m *ListBillingAccountsResponse) GetBillingAccounts() []*BillingAccount {
 	return nil
 }
 
+func (m *ListBillingAccountsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `ListProjectBillingInfo`.
 type ListProjectBillingInfoRequest struct {
 	// The resource name of the billing account associated with the projects that
@@ -162,6 +239,27 @@ func (m *ListProjectBillingInfoRequest) String() string            { return prot
 func (*ListProjectBillingInfoRequest) ProtoMessage()               {}
 func (*ListProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListProjectBillingInfoRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Request message for `ListProjectBillingInfoResponse`.
 type ListProjectBillingInfoResponse struct {
 	// A list of `ProjectBillingInfo` resources representing the projects
@@ -185,6 +283,13 @@ func (m *ListProjectBillingInfoResponse) GetProjectBillingInfo() []*ProjectBilli
 	return nil
 }
 
+func (m *ListProjectBillingInfoResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for `GetProjectBillingInfo`.
 type GetProjectBillingInfoRequest struct {
 	// The resource name of the project for which billing information is
@@ -197,6 +302,13 @@ func (m *GetProjectBillingInfoRequest) String() string            { return proto
 func (*GetProjectBillingInfoRequest) ProtoMessage()               {}
 func (*GetProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *GetProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `UpdateProjectBillingInfo`.
 type UpdateProjectBillingInfoRequest struct {
 	// The resource name of the project associated with the billing information
@@ -212,6 +324,13 @@ func (m *UpdateProjectBillingInfoRequest) String() string            { return pr
 func (*UpdateProjectBillingInfoRequest) ProtoMessage()               {}
 func (*UpdateProjectBillingInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *UpdateProjectBillingInfoRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateProjectBillingInfoRequest) GetProjectBillingInfo() *ProjectBillingInfo {
 	if m != nil {
 		return m.ProjectBillingInfo
@@ -518,55 +637,53 @@ var _CloudBilling_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto",
+	Metadata: "google/cloud/billing/v1/cloud_billing.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/billing/v1/cloud_billing.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/billing/v1/cloud_billing.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 670 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x55, 0xdf, 0x4e, 0xd4, 0x4e,
-	0x14, 0xce, 0x00, 0x3f, 0xc2, 0x1e, 0xf8, 0x81, 0x0c, 0xa0, 0x9b, 0x5d, 0x40, 0xa8, 0x7f, 0x40,
-	0x8d, 0xad, 0x2c, 0xfe, 0x4f, 0x8c, 0x11, 0x63, 0x08, 0xc6, 0x98, 0xcd, 0xaa, 0x89, 0x89, 0x31,
-	0x9b, 0xd9, 0xee, 0xd0, 0x8c, 0x96, 0x99, 0xba, 0x53, 0x88, 0x62, 0xbc, 0xf1, 0x15, 0xd4, 0x0b,
-	0x2f, 0xbc, 0xf1, 0x42, 0x5f, 0xc1, 0x6b, 0x5f, 0xc1, 0x57, 0xf0, 0xde, 0x57, 0x30, 0x33, 0x9d,
-	0x2a, 0xdb, 0xed, 0x2c, 0xdb, 0x78, 0xd7, 0x7c, 0x33, 0xe7, 0x7c, 0xdf, 0xf9, 0xfa, 0x9d, 0x16,
-	0xee, 0x06, 0x42, 0x04, 0x21, 0x75, 0x03, 0x11, 0x12, 0x1e, 0xb8, 0xa2, 0x13, 0x78, 0x01, 0xe5,
-	0x51, 0x47, 0xc4, 0xc2, 0x4b, 0x8e, 0x48, 0xc4, 0xa4, 0xe7, 0x87, 0x62, 0xb7, 0xed, 0xb5, 0x58,
-	0x18, 0x32, 0x1e, 0x78, 0x7b, 0x6b, 0x09, 0xd0, 0x34, 0x80, 0xab, 0xef, 0xe3, 0x63, 0xa6, 0x97,
-	0x3e, 0x73, 0xd3, 0xb3, 0xbd, 0xb5, 0xca, 0xd6, 0x60, 0x24, 0x24, 0x62, 0x9e, 0xa4, 0x9d, 0x3d,
-	0xe6, 0x53, 0x5f, 0xf0, 0x6d, 0x16, 0x78, 0x84, 0x73, 0x11, 0x93, 0x98, 0x09, 0x2e, 0x13, 0x0e,
-	0xe7, 0x09, 0x4c, 0x6e, 0x24, 0x8d, 0x6f, 0xf9, 0xbe, 0xd8, 0xe5, 0x31, 0xc6, 0x30, 0xc2, 0xc9,
-	0x0e, 0x2d, 0xa3, 0x25, 0xb4, 0x5a, 0x6a, 0xe8, 0x67, 0x85, 0x89, 0x88, 0xf2, 0xf2, 0xd0, 0x12,
-	0x5a, 0x1d, 0x6b, 0xe8, 0x67, 0xbc, 0x0c, 0x13, 0x6d, 0x26, 0xa3, 0x90, 0xbc, 0x6a, 0xea, 0xfb,
-	0xc3, 0xfa, 0xfe, 0xb8, 0xc1, 0xee, 0x93, 0x1d, 0xea, 0x7c, 0x46, 0x80, 0xeb, 0x1d, 0xf1, 0x8c,
-	0xfa, 0xb1, 0x21, 0xd9, 0xe2, 0xdb, 0x22, 0x97, 0x61, 0x01, 0x20, 0x4a, 0x6e, 0x36, 0x59, 0x5b,
-	0xf3, 0x94, 0x1a, 0x25, 0x83, 0x6c, 0xb5, 0xf1, 0x05, 0x98, 0x35, 0xf3, 0x37, 0x49, 0xa2, 0xf3,
-	0x20, 0x29, 0x6e, 0x75, 0x8d, 0xa0, 0xb8, 0xf1, 0x0a, 0x4c, 0xa5, 0x15, 0x94, 0x93, 0x56, 0x48,
-	0xdb, 0xe5, 0x11, 0xad, 0x7e, 0xd2, 0xc0, 0x77, 0x12, 0xd4, 0x71, 0xa1, 0xbc, 0x49, 0xe3, 0x6e,
-	0x13, 0x1a, 0xf4, 0xc5, 0x2e, 0x95, 0xb9, 0x5e, 0x38, 0x8f, 0xa1, 0x72, 0x8f, 0xc9, 0x4c, 0x81,
-	0x4c, 0x2b, 0xaa, 0x50, 0x8a, 0x48, 0x40, 0x9b, 0x92, 0xed, 0x27, 0x65, 0xff, 0x35, 0xc6, 0x14,
-	0xf0, 0x80, 0xed, 0x27, 0x43, 0xaa, 0xc3, 0x58, 0x3c, 0x37, 0x66, 0xaa, 0x21, 0x49, 0x40, 0x1f,
-	0x2a, 0xc0, 0xf9, 0x88, 0xa0, 0x9a, 0xdb, 0x5a, 0x46, 0x82, 0x4b, 0x8a, 0x1b, 0x70, 0x24, 0x63,
-	0x82, 0x2c, 0xa3, 0xa5, 0xe1, 0xd5, 0xf1, 0xda, 0x8a, 0x6b, 0x89, 0x8a, 0x9b, 0x99, 0x6b, 0xaa,
-	0xdb, 0x29, 0x89, 0x4f, 0xc3, 0x14, 0xa7, 0x2f, 0xe3, 0x66, 0x8f, 0xae, 0xff, 0x15, 0x5c, 0xff,
-	0xa3, 0x4d, 0xc0, 0x82, 0x92, 0xd6, 0xfb, 0x36, 0xfb, 0x58, 0xd5, 0x6d, 0xc6, 0x50, 0x5f, 0x33,
-	0x86, 0xb3, 0x66, 0x7c, 0x45, 0xb0, 0x68, 0x63, 0x34, 0x7e, 0x3c, 0x85, 0xd9, 0x34, 0x33, 0xa9,
-	0x2f, 0x8c, 0x6f, 0x0b, 0xe3, 0xc9, 0x39, 0xab, 0x27, 0x39, 0x2d, 0x71, 0xd4, 0x1b, 0xd3, 0x41,
-	0xad, 0xa9, 0xc1, 0xfc, 0x26, 0x2d, 0xe6, 0x8c, 0xf3, 0x1e, 0xc1, 0xf1, 0x47, 0x51, 0x9b, 0xc4,
-	0xb4, 0x98, 0xa3, 0xb6, 0x91, 0x95, 0xb0, 0x7f, 0x1f, 0xb9, 0xf6, 0x6b, 0x14, 0x26, 0x6e, 0xab,
-	0x5a, 0x03, 0xe2, 0x0f, 0x08, 0xa6, 0x7b, 0xb6, 0x03, 0xaf, 0x59, 0x79, 0x6c, 0x9b, 0x54, 0x19,
-	0x34, 0xa1, 0xce, 0xc9, 0xb7, 0x3f, 0x7e, 0xbe, 0x1b, 0x5a, 0xc4, 0xf3, 0xea, 0xab, 0xf8, 0x5a,
-	0x0d, 0x7d, 0x23, 0x93, 0x59, 0xef, 0xec, 0x1b, 0xfc, 0x09, 0xc1, 0x4c, 0xce, 0xaa, 0xe0, 0x75,
-	0x2b, 0x8d, 0x7d, 0x67, 0x2b, 0x17, 0x8b, 0x15, 0x25, 0xe9, 0x73, 0xaa, 0x5a, 0xe8, 0x1c, 0x9e,
-	0x51, 0x42, 0xb3, 0x6b, 0xf5, 0x0d, 0xc1, 0xd1, 0xfc, 0xf4, 0xe2, 0xcb, 0x7d, 0xd9, 0xac, 0x71,
-	0xa8, 0x5c, 0x29, 0x5c, 0x67, 0x84, 0x9e, 0xd7, 0x42, 0x57, 0xf0, 0xa9, 0x7e, 0x8e, 0x7a, 0x26,
-	0x0d, 0x12, 0x7f, 0x41, 0x30, 0x97, 0x9b, 0x67, 0x7c, 0xa9, 0xdf, 0x6b, 0xb7, 0x0b, 0x2f, 0x92,
-	0x4a, 0xe7, 0x8c, 0x16, 0x7b, 0x02, 0x2f, 0xff, 0x15, 0x9b, 0x2a, 0x53, 0x2a, 0x5b, 0x07, 0xe4,
-	0x7c, 0x47, 0x50, 0xb6, 0xed, 0x10, 0xbe, 0x6a, 0x25, 0x3d, 0x64, 0xed, 0x8a, 0xc9, 0xbd, 0xa9,
-	0xe5, 0x5e, 0xab, 0x1c, 0x2e, 0xf7, 0x7a, 0xee, 0xe2, 0x6e, 0xd4, 0xa0, 0xea, 0x8b, 0x1d, 0x1b,
-	0xe5, 0xc6, 0xf4, 0xc1, 0x6d, 0xac, 0xab, 0x3f, 0x76, 0x1d, 0xb5, 0x46, 0xf5, 0xaf, 0x7b, 0xfd,
-	0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0xd6, 0xd7, 0x61, 0x6c, 0x08, 0x00, 0x00,
+	// 667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x4e, 0xd4, 0x40,
+	0x14, 0xce, 0x00, 0x12, 0xf6, 0x80, 0x20, 0x03, 0xe8, 0x66, 0x17, 0x10, 0xea, 0x0f, 0x28, 0xb1,
+	0x15, 0xf0, 0xdf, 0xa8, 0x11, 0x63, 0x08, 0x89, 0x31, 0x9b, 0xaa, 0x89, 0xd1, 0x98, 0x66, 0x76,
+	0x3b, 0x34, 0xd5, 0x32, 0x53, 0x77, 0x0a, 0x51, 0x8c, 0x37, 0xbe, 0x82, 0x7a, 0xe1, 0x85, 0x37,
+	0x5e, 0xe8, 0x2b, 0x78, 0xed, 0x2b, 0xf8, 0x0a, 0xde, 0xfb, 0x0a, 0x66, 0xa6, 0x53, 0x65, 0xbb,
+	0x9d, 0x85, 0xc6, 0xbb, 0xe6, 0x9b, 0x73, 0xfa, 0x7d, 0xe7, 0x9b, 0xef, 0x6c, 0x17, 0x96, 0x02,
+	0xce, 0x83, 0x88, 0x3a, 0xad, 0x88, 0x6f, 0xfb, 0x4e, 0x33, 0x8c, 0xa2, 0x90, 0x05, 0xce, 0xce,
+	0x72, 0x0a, 0x78, 0x1a, 0xb0, 0xe3, 0x36, 0x4f, 0x38, 0x3e, 0x96, 0x16, 0xdb, 0xea, 0xcc, 0xce,
+	0xce, 0x76, 0x96, 0x6b, 0xd3, 0xfa, 0x2d, 0x24, 0x0e, 0x1d, 0xc2, 0x18, 0x4f, 0x48, 0x12, 0x72,
+	0x26, 0xd2, 0x36, 0xeb, 0x29, 0x8c, 0xae, 0xa5, 0xb5, 0xb7, 0x5b, 0x2d, 0xbe, 0xcd, 0x12, 0x8c,
+	0x61, 0x80, 0x91, 0x2d, 0x5a, 0x45, 0x73, 0x68, 0xb1, 0xe2, 0xaa, 0x67, 0x89, 0xf1, 0x98, 0xb2,
+	0x6a, 0xdf, 0x1c, 0x5a, 0x1c, 0x72, 0xd5, 0x33, 0x9e, 0x87, 0x11, 0x3f, 0x14, 0x71, 0x44, 0x5e,
+	0x7b, 0xaa, 0xbe, 0x5f, 0xd5, 0x0f, 0x6b, 0xec, 0x3e, 0xd9, 0xa2, 0xd6, 0x17, 0x04, 0xb8, 0xd1,
+	0xe6, 0xcf, 0x69, 0x2b, 0xd1, 0x24, 0x1b, 0x6c, 0x93, 0x17, 0x32, 0xcc, 0x00, 0xc4, 0x69, 0xa5,
+	0x17, 0xfa, 0x8a, 0xa7, 0xe2, 0x56, 0x34, 0xb2, 0xe1, 0xe3, 0xf3, 0x30, 0xa9, 0x47, 0xf2, 0x48,
+	0xaa, 0x73, 0x2f, 0x29, 0x6e, 0x76, 0x8c, 0x20, 0xb9, 0xf1, 0x02, 0x8c, 0x65, 0x1d, 0x94, 0x91,
+	0x66, 0x44, 0xfd, 0xea, 0x80, 0x52, 0x3f, 0xaa, 0xe1, 0xbb, 0x29, 0x6a, 0xd9, 0x50, 0x5d, 0xa7,
+	0x49, 0xa7, 0x09, 0x2e, 0x7d, 0xb9, 0x4d, 0x45, 0xa1, 0x17, 0xd6, 0x63, 0xa8, 0xdd, 0x0b, 0x45,
+	0xae, 0x41, 0x64, 0x1d, 0x75, 0xa8, 0xc4, 0x24, 0xa0, 0x9e, 0x08, 0x77, 0xd3, 0xb6, 0x43, 0xee,
+	0x90, 0x04, 0x1e, 0x84, 0xbb, 0xe9, 0x90, 0xf2, 0x30, 0xe1, 0x2f, 0xb4, 0x99, 0x72, 0x48, 0x12,
+	0xd0, 0x87, 0x12, 0xb0, 0x3e, 0x21, 0xa8, 0x17, 0xbe, 0x5a, 0xc4, 0x9c, 0x09, 0x8a, 0x5d, 0x38,
+	0x92, 0x33, 0x41, 0x54, 0xd1, 0x5c, 0xff, 0xe2, 0xf0, 0xca, 0x82, 0x6d, 0xb8, 0x7d, 0x3b, 0x37,
+	0xd7, 0x58, 0xa7, 0x53, 0x02, 0x9f, 0x86, 0x31, 0x46, 0x5f, 0x25, 0x5e, 0x97, 0xae, 0xc3, 0x12,
+	0x6e, 0xfc, 0xd5, 0xc6, 0x61, 0x46, 0x4a, 0xeb, 0xbe, 0xcd, 0x1e, 0x56, 0x75, 0x9a, 0xd1, 0xd7,
+	0xd3, 0x8c, 0xfe, 0xbc, 0x19, 0xdf, 0x10, 0xcc, 0x9a, 0x18, 0xb5, 0x1f, 0xcf, 0x60, 0x32, 0xcb,
+	0x4c, 0xe6, 0x4b, 0xc8, 0x36, 0xb9, 0xf6, 0x64, 0xc9, 0xe8, 0x49, 0xc1, 0x2b, 0x71, 0xdc, 0x1d,
+	0xd3, 0x83, 0x5a, 0xb3, 0x02, 0xd3, 0xeb, 0xb4, 0x9c, 0x33, 0xd6, 0x07, 0x04, 0xc7, 0x1f, 0xc5,
+	0x3e, 0x49, 0x68, 0x39, 0x47, 0x4d, 0x23, 0x4b, 0x61, 0xff, 0x3f, 0xf2, 0xca, 0xef, 0x41, 0x18,
+	0xb9, 0x23, 0x7b, 0x35, 0x88, 0x3f, 0x22, 0x18, 0xef, 0xda, 0x0e, 0xbc, 0x6c, 0xe4, 0x31, 0x6d,
+	0x52, 0xed, 0xa0, 0x09, 0xb5, 0x4e, 0xbe, 0xfb, 0xf9, 0xeb, 0x7d, 0xdf, 0x2c, 0x9e, 0x96, 0x3f,
+	0x74, 0x6f, 0xe4, 0xd0, 0x37, 0x72, 0x99, 0x75, 0xce, 0xbe, 0xc5, 0x9f, 0x11, 0x4c, 0x14, 0xac,
+	0x0a, 0x5e, 0x35, 0xd2, 0x98, 0x77, 0xb6, 0x76, 0xa1, 0x5c, 0x53, 0x9a, 0x3e, 0xab, 0xae, 0x84,
+	0x4e, 0xe1, 0x09, 0x29, 0x34, 0xbf, 0x56, 0xdf, 0x11, 0x1c, 0x2d, 0x4e, 0x2f, 0xbe, 0xd4, 0x93,
+	0xcd, 0x18, 0x87, 0xda, 0xe5, 0xd2, 0x7d, 0x5a, 0xe8, 0x39, 0x25, 0x74, 0x01, 0x9f, 0xea, 0xe5,
+	0xa8, 0xa3, 0xd3, 0x20, 0xf0, 0x57, 0x04, 0x53, 0x85, 0x79, 0xc6, 0x17, 0x7b, 0x5d, 0xbb, 0x59,
+	0x78, 0x99, 0x54, 0x5a, 0x67, 0x94, 0xd8, 0x13, 0x78, 0xfe, 0x9f, 0xd8, 0x4c, 0x99, 0x54, 0xd9,
+	0xdc, 0x23, 0xe7, 0x07, 0x82, 0xaa, 0x69, 0x87, 0xf0, 0x15, 0x23, 0xe9, 0x3e, 0x6b, 0x57, 0x4e,
+	0xee, 0x2d, 0x25, 0xf7, 0x6a, 0x6d, 0x7f, 0xb9, 0xd7, 0x0a, 0x17, 0x77, 0xad, 0x0d, 0xf5, 0x16,
+	0xdf, 0x32, 0x51, 0xae, 0x8d, 0xef, 0xdd, 0xc6, 0x86, 0xfc, 0x62, 0x37, 0xd0, 0x93, 0x9b, 0xba,
+	0x3a, 0xe0, 0x11, 0x61, 0x81, 0xcd, 0xdb, 0x81, 0x13, 0x50, 0xa6, 0xbe, 0xe7, 0x4e, 0x7a, 0x44,
+	0xe2, 0x50, 0x74, 0xfd, 0x6d, 0xb8, 0xae, 0x1f, 0x9b, 0x83, 0xaa, 0x74, 0xf5, 0x4f, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xc0, 0x01, 0x24, 0x32, 0x60, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/billing/v1/cloud_billing.proto b/googleapis/cloud/billing/v1/cloud_billing.proto
deleted file mode 100644
index 696fb7a6..00000000
--- a/googleapis/cloud/billing/v1/cloud_billing.proto
+++ /dev/null
@@ -1,213 +0,0 @@
-// 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
index 22ecb01f..ff691c2c 100644
--- a/googleapis/cloud/dataproc/v1/clusters.pb.go
+++ b/googleapis/cloud/dataproc/v1/clusters.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto
+// source: google/cloud/dataproc/v1/clusters.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_dataproc_v1 is a generated protocol buffer package.
+Package dataproc 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
+	google/cloud/dataproc/v1/clusters.proto
+	google/cloud/dataproc/v1/jobs.proto
+	google/cloud/dataproc/v1/operations.proto
 
 It has these top-level messages:
 	Cluster
@@ -49,15 +49,15 @@ It has these top-level messages:
 	ClusterOperationStatus
 	ClusterOperationMetadata
 */
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 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/api/annotations"
 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_protobuf5 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -141,6 +141,20 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Cluster) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Cluster) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 func (m *Cluster) GetConfig() *ClusterConfig {
 	if m != nil {
 		return m.Config
@@ -162,6 +176,13 @@ func (m *Cluster) GetStatusHistory() []*ClusterStatus {
 	return nil
 }
 
+func (m *Cluster) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 // The cluster config.
 type ClusterConfig struct {
 	// [Optional] A Google Cloud Storage staging bucket used for sharing generated
@@ -204,6 +225,13 @@ func (m *ClusterConfig) String() string            { return proto.CompactTextStr
 func (*ClusterConfig) ProtoMessage()               {}
 func (*ClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *ClusterConfig) GetConfigBucket() string {
+	if m != nil {
+		return m.ConfigBucket
+	}
+	return ""
+}
+
 func (m *ClusterConfig) GetGceClusterConfig() *GceClusterConfig {
 	if m != nil {
 		return m.GceClusterConfig
@@ -298,6 +326,48 @@ func (m *GceClusterConfig) String() string            { return proto.CompactText
 func (*GceClusterConfig) ProtoMessage()               {}
 func (*GceClusterConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GceClusterConfig) GetZoneUri() string {
+	if m != nil {
+		return m.ZoneUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetNetworkUri() string {
+	if m != nil {
+		return m.NetworkUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetSubnetworkUri() string {
+	if m != nil {
+		return m.SubnetworkUri
+	}
+	return ""
+}
+
+func (m *GceClusterConfig) GetInternalIpOnly() bool {
+	if m != nil {
+		return m.InternalIpOnly
+	}
+	return false
+}
+
+func (m *GceClusterConfig) GetServiceAccountScopes() []string {
+	if m != nil {
+		return m.ServiceAccountScopes
+	}
+	return nil
+}
+
+func (m *GceClusterConfig) GetTags() []string {
+	if m != nil {
+		return m.Tags
+	}
+	return nil
+}
+
 func (m *GceClusterConfig) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -336,6 +406,34 @@ func (m *InstanceGroupConfig) String() string            { return proto.CompactT
 func (*InstanceGroupConfig) ProtoMessage()               {}
 func (*InstanceGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *InstanceGroupConfig) GetNumInstances() int32 {
+	if m != nil {
+		return m.NumInstances
+	}
+	return 0
+}
+
+func (m *InstanceGroupConfig) GetInstanceNames() []string {
+	if m != nil {
+		return m.InstanceNames
+	}
+	return nil
+}
+
+func (m *InstanceGroupConfig) GetImageUri() string {
+	if m != nil {
+		return m.ImageUri
+	}
+	return ""
+}
+
+func (m *InstanceGroupConfig) GetMachineTypeUri() string {
+	if m != nil {
+		return m.MachineTypeUri
+	}
+	return ""
+}
+
 func (m *InstanceGroupConfig) GetDiskConfig() *DiskConfig {
 	if m != nil {
 		return m.DiskConfig
@@ -343,6 +441,13 @@ func (m *InstanceGroupConfig) GetDiskConfig() *DiskConfig {
 	return nil
 }
 
+func (m *InstanceGroupConfig) GetIsPreemptible() bool {
+	if m != nil {
+		return m.IsPreemptible
+	}
+	return false
+}
+
 func (m *InstanceGroupConfig) GetManagedGroupConfig() *ManagedGroupConfig {
 	if m != nil {
 		return m.ManagedGroupConfig
@@ -364,6 +469,20 @@ func (m *ManagedGroupConfig) String() string            { return proto.CompactTe
 func (*ManagedGroupConfig) ProtoMessage()               {}
 func (*ManagedGroupConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ManagedGroupConfig) GetInstanceTemplateName() string {
+	if m != nil {
+		return m.InstanceTemplateName
+	}
+	return ""
+}
+
+func (m *ManagedGroupConfig) GetInstanceGroupManagerName() string {
+	if m != nil {
+		return m.InstanceGroupManagerName
+	}
+	return ""
+}
+
 // 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).
@@ -382,6 +501,20 @@ func (m *DiskConfig) String() string            { return proto.CompactTextString
 func (*DiskConfig) ProtoMessage()               {}
 func (*DiskConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DiskConfig) GetBootDiskSizeGb() int32 {
+	if m != nil {
+		return m.BootDiskSizeGb
+	}
+	return 0
+}
+
+func (m *DiskConfig) GetNumLocalSsds() int32 {
+	if m != nil {
+		return m.NumLocalSsds
+	}
+	return 0
+}
+
 // Specifies an executable to run on a fully configured node and a
 // timeout period for executable completion.
 type NodeInitializationAction struct {
@@ -399,6 +532,13 @@ func (m *NodeInitializationAction) String() string            { return proto.Com
 func (*NodeInitializationAction) ProtoMessage()               {}
 func (*NodeInitializationAction) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *NodeInitializationAction) GetExecutableFile() string {
+	if m != nil {
+		return m.ExecutableFile
+	}
+	return ""
+}
+
 func (m *NodeInitializationAction) GetExecutionTimeout() *google_protobuf4.Duration {
 	if m != nil {
 		return m.ExecutionTimeout
@@ -421,6 +561,20 @@ func (m *ClusterStatus) String() string            { return proto.CompactTextStr
 func (*ClusterStatus) ProtoMessage()               {}
 func (*ClusterStatus) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ClusterStatus) GetState() ClusterStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return ClusterStatus_UNKNOWN
+}
+
+func (m *ClusterStatus) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 func (m *ClusterStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -455,6 +609,13 @@ func (m *SoftwareConfig) String() string            { return proto.CompactTextSt
 func (*SoftwareConfig) ProtoMessage()               {}
 func (*SoftwareConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *SoftwareConfig) GetImageVersion() string {
+	if m != nil {
+		return m.ImageVersion
+	}
+	return ""
+}
+
 func (m *SoftwareConfig) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -478,6 +639,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *CreateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -531,6 +706,27 @@ func (m *UpdateClusterRequest) String() string            { return proto.Compact
 func (*UpdateClusterRequest) ProtoMessage()               {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *UpdateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 func (m *UpdateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -561,6 +757,27 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // 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
@@ -577,6 +794,27 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *GetClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // A request to list the clusters in a project.
 type ListClustersRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the cluster
@@ -595,6 +833,34 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *ListClustersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListClustersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The list of all clusters in a project.
 type ListClustersResponse struct {
 	// [Output-only] The clusters in the project.
@@ -617,6 +883,13 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // A request to collect cluster diagnostic information.
 type DiagnoseClusterRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the cluster
@@ -633,6 +906,27 @@ func (m *DiagnoseClusterRequest) String() string            { return proto.Compa
 func (*DiagnoseClusterRequest) ProtoMessage()               {}
 func (*DiagnoseClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *DiagnoseClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DiagnoseClusterRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DiagnoseClusterRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
 // The location of diagnostic output.
 type DiagnoseClusterResults struct {
 	// [Output-only] The Google Cloud Storage URI of the diagnostic output.
@@ -646,6 +940,13 @@ func (m *DiagnoseClusterResults) String() string            { return proto.Compa
 func (*DiagnoseClusterResults) ProtoMessage()               {}
 func (*DiagnoseClusterResults) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DiagnoseClusterResults) GetOutputUri() string {
+	if m != nil {
+		return m.OutputUri
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Cluster)(nil), "google.cloud.dataproc.v1.Cluster")
 	proto.RegisterType((*ClusterConfig)(nil), "google.cloud.dataproc.v1.ClusterConfig")
@@ -917,119 +1218,116 @@ var _ClusterController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto",
+	Metadata: "google/cloud/dataproc/v1/clusters.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/clusters.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/clusters.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1684 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x77, 0x1c, 0x47,
-	0x11, 0x67, 0x56, 0x5a, 0x69, 0x55, 0xd2, 0xae, 0xd6, 0x1d, 0x45, 0x6c, 0x64, 0xf2, 0x70, 0x86,
-	0x40, 0x84, 0x81, 0x1d, 0xa2, 0x84, 0x47, 0xb0, 0x5e, 0xe0, 0x59, 0x5a, 0x59, 0x11, 0xb1, 0xd7,
-	0x62, 0x24, 0x39, 0xb9, 0xc0, 0xbc, 0xde, 0x99, 0xd6, 0xb8, 0xd9, 0x99, 0xe9, 0x61, 0xba, 0x47,
-	0x89, 0xec, 0xe7, 0x0b, 0x27, 0x08, 0x47, 0xbe, 0x02, 0x07, 0x5e, 0x8e, 0x70, 0xe3, 0xc4, 0x27,
-	0xe0, 0xc2, 0x91, 0x2b, 0x27, 0x3e, 0x00, 0x27, 0x0e, 0xbc, 0xfe, 0x33, 0xbb, 0x3b, 0xd2, 0xfe,
-	0x91, 0x15, 0x3d, 0x9f, 0xd4, 0x53, 0x5d, 0xf5, 0xab, 0x5f, 0x57, 0x57, 0x55, 0xd7, 0x0a, 0x1e,
-	0x84, 0x8c, 0x85, 0x11, 0x69, 0x87, 0x2c, 0xc2, 0x49, 0xd8, 0x66, 0x59, 0xe8, 0x84, 0x24, 0x49,
-	0x33, 0x26, 0x98, 0xa3, 0xb7, 0x70, 0x4a, 0xb9, 0xe3, 0x47, 0x2c, 0x0f, 0x9c, 0x00, 0x0b, 0x9c,
-	0x66, 0xcc, 0x77, 0xce, 0xde, 0x75, 0xfc, 0x28, 0xe7, 0x82, 0x64, 0xbc, 0xad, 0x74, 0x51, 0xcb,
-	0xe0, 0x28, 0xc5, 0x76, 0xa1, 0xd8, 0x3e, 0x7b, 0x77, 0xe3, 0xe0, 0x6a, 0x1e, 0x70, 0x4a, 0x1d,
-	0x4e, 0xb2, 0x33, 0xea, 0x13, 0x9f, 0x25, 0xa7, 0x34, 0x74, 0x70, 0x92, 0x30, 0x81, 0x05, 0x65,
-	0x89, 0x71, 0xb2, 0xf1, 0xd1, 0x75, 0xc9, 0xb2, 0x94, 0x64, 0x25, 0xa4, 0x9d, 0xab, 0x21, 0x45,
-	0x2c, 0x09, 0xb3, 0x3c, 0x49, 0x68, 0x12, 0x5e, 0xc6, 0xf8, 0x49, 0x48, 0xc5, 0xd3, 0xbc, 0xd7,
-	0xf6, 0x59, 0xec, 0x68, 0x1c, 0x47, 0x6d, 0xf4, 0xf2, 0x53, 0x27, 0x15, 0xe7, 0x29, 0xe1, 0x4e,
-	0x90, 0x6b, 0x93, 0xc1, 0xc2, 0x98, 0xbe, 0x3f, 0xc5, 0xfd, 0x00, 0xe3, 0x94, 0x92, 0x28, 0xf0,
-	0x62, 0xcc, 0xfb, 0xc6, 0x6a, 0x7b, 0xb6, 0x43, 0x41, 0x63, 0xc2, 0x05, 0x8e, 0xd3, 0xe1, 0x4a,
-	0x1b, 0xdb, 0x7f, 0xaf, 0xc0, 0xe2, 0xae, 0xbe, 0x33, 0xf4, 0x26, 0x40, 0x9a, 0xb1, 0x5f, 0x13,
-	0x5f, 0x78, 0x34, 0x68, 0x59, 0x77, 0xac, 0xcd, 0x25, 0x77, 0xc9, 0x48, 0x0e, 0x02, 0xf4, 0x16,
-	0xac, 0x98, 0xdb, 0xf5, 0x12, 0x1c, 0x93, 0x56, 0x45, 0x29, 0x2c, 0x1b, 0x59, 0x17, 0xc7, 0x04,
-	0xfd, 0x0c, 0x16, 0xf4, 0x2d, 0xb5, 0xe6, 0xee, 0x58, 0x9b, 0xcb, 0x5b, 0xef, 0xb4, 0x27, 0xdd,
-	0x7f, 0xdb, 0x38, 0xdd, 0x55, 0xea, 0xae, 0x31, 0x93, 0x00, 0x5c, 0x60, 0x91, 0xf3, 0xd6, 0xfc,
-	0x15, 0x01, 0x8e, 0x94, 0xba, 0x6b, 0xcc, 0x50, 0x17, 0x1a, 0x7a, 0xe5, 0x3d, 0xa5, 0x5c, 0xb0,
-	0xec, 0xbc, 0xb5, 0x78, 0x67, 0xee, 0x65, 0x80, 0xea, 0xda, 0xfc, 0x23, 0x6d, 0x3d, 0x7a, 0xe8,
-	0x3c, 0xa7, 0x41, 0x6b, 0xa1, 0x74, 0xe8, 0x93, 0x9c, 0x06, 0xf6, 0xbf, 0xe6, 0xa1, 0x5e, 0x3a,
-	0x0d, 0xfa, 0x16, 0xd4, 0xf5, 0x79, 0xbc, 0x5e, 0xee, 0xf7, 0x89, 0x30, 0xb1, 0x5c, 0xd1, 0xc2,
-	0x1d, 0x25, 0x43, 0x9f, 0x02, 0x0a, 0x7d, 0xe2, 0x15, 0xe8, 0x26, 0x6e, 0x35, 0x75, 0xec, 0xbb,
-	0x93, 0xd9, 0xee, 0xfb, 0xa4, 0x1c, 0xba, 0x66, 0x78, 0x41, 0x82, 0x5c, 0xa8, 0xc7, 0x78, 0x14,
-	0x74, 0x49, 0x81, 0xfe, 0x60, 0x32, 0xe8, 0x41, 0xc2, 0x05, 0x4e, 0x7c, 0xb2, 0x9f, 0xb1, 0x3c,
-	0x35, 0xb8, 0x2b, 0x1a, 0x63, 0x88, 0xf9, 0x19, 0xcb, 0xfa, 0x43, 0x4c, 0xb8, 0x16, 0xa6, 0xc6,
-	0x30, 0x98, 0x04, 0xbe, 0xce, 0x65, 0x55, 0x07, 0x38, 0x3b, 0xf7, 0xca, 0xe8, 0x2b, 0xd7, 0x41,
-	0x7f, 0x7d, 0x80, 0xf6, 0xc9, 0xa8, 0x9b, 0x5f, 0xc0, 0x2a, 0x67, 0xa7, 0xe2, 0x33, 0x9c, 0x91,
-	0x02, 0xbe, 0xae, 0xe0, 0x37, 0x27, 0xc3, 0x1f, 0x19, 0x03, 0x83, 0xdc, 0xe0, 0xa5, 0x6f, 0x44,
-	0x61, 0x9d, 0x26, 0x54, 0x50, 0x1c, 0xd1, 0x67, 0xaa, 0x80, 0x3d, 0xec, 0xab, 0x1e, 0xd0, 0x5a,
-	0x56, 0xd9, 0xb6, 0x35, 0x19, 0xb9, 0xcb, 0x02, 0x72, 0x50, 0xb2, 0xbd, 0xaf, 0x4c, 0xdd, 0xd7,
-	0xe9, 0x18, 0x29, 0xb7, 0xff, 0x57, 0x81, 0xe6, 0xc5, 0x3b, 0x47, 0x6f, 0x40, 0xed, 0x19, 0x4b,
-	0x88, 0x97, 0x67, 0xd4, 0xe4, 0xd6, 0xa2, 0xfc, 0x3e, 0xc9, 0x28, 0xfa, 0x26, 0x2c, 0x27, 0x44,
-	0xc8, 0x68, 0xaa, 0x5d, 0x5d, 0xa4, 0x60, 0x44, 0x52, 0xe1, 0xdb, 0xd0, 0xe0, 0x79, 0x6f, 0x54,
-	0x47, 0xe7, 0x74, 0x7d, 0x28, 0x95, 0x6a, 0x9b, 0xd0, 0xa4, 0x89, 0x20, 0x59, 0x82, 0x23, 0x8f,
-	0xa6, 0x1e, 0x4b, 0x22, 0x59, 0x4a, 0xd6, 0x66, 0xcd, 0x6d, 0x14, 0xf2, 0x83, 0xf4, 0x71, 0x12,
-	0x9d, 0xa3, 0xf7, 0x61, 0xdd, 0x74, 0x68, 0x0f, 0xfb, 0x3e, 0xcb, 0x13, 0xe1, 0x71, 0x9f, 0xa5,
-	0x84, 0xb7, 0xe6, 0xee, 0xcc, 0x6d, 0x2e, 0xb9, 0x6b, 0x66, 0xf7, 0xbe, 0xde, 0x3c, 0x52, 0x7b,
-	0x08, 0xc1, 0xbc, 0xc0, 0xa1, 0xac, 0x73, 0xa9, 0xa3, 0xd6, 0xe8, 0x18, 0x6a, 0x31, 0x11, 0x58,
-	0x86, 0xab, 0x55, 0x55, 0x81, 0xfc, 0xe0, 0xea, 0x85, 0xd0, 0x7e, 0x64, 0x4c, 0xf7, 0x12, 0x91,
-	0x9d, 0xbb, 0x03, 0xa4, 0x8d, 0x6d, 0xa8, 0x97, 0xb6, 0x50, 0x13, 0xe6, 0xfa, 0xe4, 0xdc, 0x04,
-	0x4e, 0x2e, 0xd1, 0x1a, 0x54, 0xcf, 0x70, 0x94, 0x17, 0x3d, 0x4d, 0x7f, 0xdc, 0xab, 0x7c, 0x60,
-	0xd9, 0xff, 0xad, 0xc0, 0x6b, 0x63, 0x72, 0x4d, 0x96, 0x78, 0x92, 0xc7, 0x1e, 0x35, 0x5b, 0x5c,
-	0xa1, 0x55, 0xdd, 0x95, 0x24, 0x8f, 0x0b, 0x75, 0x2e, 0x43, 0x5d, 0x28, 0xa8, 0x96, 0xc9, 0x5b,
-	0x15, 0x75, 0xda, 0x7a, 0x21, 0x95, 0x4d, 0x93, 0xa3, 0xdb, 0xb0, 0x44, 0x63, 0x1c, 0xea, 0xeb,
-	0x9c, 0x53, 0x0c, 0x6a, 0x4a, 0x60, 0xee, 0x21, 0xc6, 0xfe, 0x53, 0x9a, 0x10, 0x4f, 0xf6, 0x72,
-	0xa5, 0x33, 0xaf, 0x74, 0x1a, 0x46, 0x7e, 0x7c, 0x9e, 0x2a, 0xcd, 0x3d, 0x58, 0x0e, 0x28, 0xef,
-	0x17, 0x39, 0x5e, 0x55, 0x39, 0xfe, 0xf6, 0xe4, 0x00, 0x76, 0x28, 0xef, 0x9b, 0xfc, 0x86, 0x60,
-	0xb0, 0x56, 0xa4, 0xb9, 0x97, 0x66, 0x84, 0xc4, 0xa9, 0xa0, 0xbd, 0x88, 0xa8, 0xfc, 0xa8, 0xb9,
-	0x75, 0xca, 0x0f, 0x87, 0x42, 0xf4, 0x2b, 0x58, 0x8b, 0x71, 0x82, 0x43, 0x12, 0x78, 0xa1, 0x8c,
-	0x4b, 0xe1, 0x76, 0x51, 0xb9, 0xfd, 0xfe, 0x64, 0xb7, 0x8f, 0xb4, 0xd5, 0x68, 0xe1, 0xa2, 0xf8,
-	0x92, 0xcc, 0xfe, 0xbd, 0x05, 0xe8, 0xb2, 0xaa, 0x4c, 0xb6, 0x41, 0x48, 0x05, 0x89, 0xd3, 0x08,
-	0x0b, 0x1d, 0x5b, 0x73, 0x9d, 0x6b, 0xc5, 0xee, 0xb1, 0xd9, 0x54, 0xef, 0xd2, 0x87, 0x70, 0x7b,
-	0x60, 0xa5, 0xd9, 0x6a, 0x8f, 0xa5, 0x97, 0xac, 0x45, 0x47, 0xef, 0x59, 0xfb, 0x56, 0xcf, 0x9a,
-	0xfd, 0x4b, 0x80, 0x61, 0xb0, 0xd0, 0x77, 0xe1, 0x56, 0x8f, 0x31, 0xe1, 0xa9, 0x60, 0x73, 0xfa,
-	0x8c, 0x78, 0x61, 0xcf, 0x5c, 0x7f, 0x43, 0x6e, 0x48, 0xd5, 0x23, 0xfa, 0x8c, 0xec, 0xf7, 0xd0,
-	0xdb, 0xd0, 0x90, 0x59, 0x12, 0x31, 0x1f, 0x47, 0x1e, 0xe7, 0x01, 0x57, 0xae, 0x74, 0x9a, 0x3c,
-	0x94, 0xc2, 0x23, 0x1e, 0x70, 0xfb, 0x0f, 0x16, 0xb4, 0x26, 0xb5, 0x05, 0xf4, 0x0e, 0xac, 0x92,
-	0xcf, 0x89, 0x9f, 0x0b, 0xdc, 0x8b, 0x88, 0x77, 0x4a, 0xa3, 0xe2, 0xa4, 0x8d, 0xa1, 0xf8, 0x01,
-	0x8d, 0x08, 0x7a, 0x00, 0xb7, 0xb4, 0x44, 0xb6, 0x23, 0xf9, 0xcc, 0xb3, 0x5c, 0x28, 0x77, 0xcb,
-	0x5b, 0x6f, 0x14, 0xb7, 0x51, 0xcc, 0x05, 0xed, 0x8e, 0x19, 0x3c, 0xdc, 0xe6, 0xc0, 0xe6, 0x58,
-	0x9b, 0xd8, 0x5f, 0x54, 0x06, 0xcf, 0x99, 0x7e, 0x12, 0xd1, 0x2e, 0x54, 0xe5, 0xa3, 0xa8, 0x1d,
-	0x37, 0xa6, 0x75, 0xe5, 0x92, 0x5d, 0x5b, 0xfe, 0x21, 0xae, 0xb6, 0x45, 0xeb, 0xb0, 0x10, 0x10,
-	0x81, 0x69, 0x64, 0xa2, 0x6d, 0xbe, 0x50, 0x07, 0x9a, 0x4a, 0xc1, 0xe3, 0x02, 0x67, 0x42, 0x11,
-	0x37, 0xc3, 0xc3, 0xc6, 0x25, 0xd6, 0xc7, 0xc5, 0xf0, 0xe2, 0xaa, 0x47, 0x9e, 0x1c, 0x49, 0x13,
-	0x29, 0xb4, 0x9f, 0x40, 0x55, 0x79, 0x43, 0xcb, 0xb0, 0x78, 0xd2, 0xfd, 0xb8, 0xfb, 0xf8, 0x93,
-	0x6e, 0xf3, 0x6b, 0x68, 0x05, 0x6a, 0xbb, 0xee, 0xde, 0xfd, 0xe3, 0x83, 0xee, 0x7e, 0xd3, 0x92,
-	0x5b, 0xee, 0x49, 0xb7, 0x2b, 0x3f, 0x2a, 0x68, 0x09, 0xaa, 0x7b, 0xae, 0xfb, 0xd8, 0x6d, 0xce,
-	0x49, 0xad, 0xce, 0xde, 0xc3, 0x3d, 0xa5, 0x35, 0x2f, 0xbf, 0x4e, 0x0e, 0x3b, 0xda, 0xa6, 0x6a,
-	0xff, 0xc3, 0x82, 0x46, 0xf9, 0x2d, 0x90, 0x95, 0xaf, 0xab, 0xf5, 0x8c, 0x64, 0x9c, 0xb2, 0xa4,
-	0x78, 0xdc, 0x95, 0xf0, 0x89, 0x96, 0xa1, 0x4f, 0xd5, 0x28, 0x95, 0x92, 0x4c, 0x50, 0x53, 0xf5,
-	0x53, 0x7b, 0x59, 0xd9, 0x45, 0xfb, 0x70, 0x60, 0xaa, 0x7b, 0xd9, 0x08, 0xd6, 0xc6, 0x87, 0xb0,
-	0x7a, 0x61, 0xfb, 0xa5, 0xfa, 0xd9, 0x17, 0x16, 0xac, 0xed, 0x66, 0x04, 0x8b, 0xa2, 0x79, 0xba,
-	0xe4, 0x37, 0x39, 0xe1, 0x62, 0xd6, 0xf0, 0xb7, 0x0e, 0x0b, 0x19, 0x09, 0xe5, 0x71, 0x75, 0x83,
-	0x32, 0x5f, 0x68, 0x1b, 0x16, 0xcd, 0x04, 0x63, 0x72, 0xed, 0xad, 0x99, 0xd9, 0xe1, 0x16, 0x16,
-	0xf6, 0x7f, 0x2c, 0x58, 0x3b, 0x49, 0x83, 0xaf, 0x40, 0xa6, 0x5a, 0x22, 0x73, 0x85, 0x09, 0x75,
-	0x84, 0xef, 0xdc, 0xcb, 0xf2, 0x45, 0xdb, 0xb0, 0x9c, 0x2b, 0xba, 0x6a, 0xfc, 0x36, 0x23, 0xea,
-	0xe5, 0x34, 0x7d, 0x20, 0x27, 0xf4, 0x47, 0x98, 0xf7, 0x5d, 0xd0, 0xea, 0x72, 0x6d, 0xa7, 0xb0,
-	0xd6, 0x21, 0x11, 0xb9, 0xa9, 0xc0, 0xcf, 0x3e, 0xab, 0x1d, 0xc3, 0xad, 0x7d, 0x22, 0x5e, 0x99,
-	0xbb, 0xdf, 0x59, 0xf0, 0xda, 0x43, 0xca, 0x0b, 0x87, 0xfc, 0xa5, 0x3d, 0xce, 0x97, 0x3c, 0xde,
-	0x86, 0xa5, 0x54, 0x96, 0x99, 0xec, 0xb0, 0xa6, 0x6d, 0xd6, 0xa4, 0x40, 0xb6, 0x56, 0x85, 0x29,
-	0x37, 0x05, 0xeb, 0x93, 0x82, 0xaa, 0x52, 0x3f, 0x96, 0x02, 0xfb, 0x05, 0xac, 0x95, 0x99, 0xf0,
-	0x94, 0x25, 0x5c, 0xbe, 0x03, 0xb5, 0xe2, 0x07, 0x6a, 0xcb, 0x52, 0x45, 0x79, 0x85, 0xeb, 0x1f,
-	0x98, 0xa0, 0xef, 0xc0, 0x6a, 0x42, 0x3e, 0x17, 0xde, 0x88, 0x6b, 0x1d, 0x87, 0xba, 0x14, 0x1f,
-	0x0e, 0xdc, 0x67, 0xb0, 0xde, 0xa1, 0x38, 0x4c, 0x18, 0x7f, 0x75, 0x97, 0xfd, 0xe3, 0x31, 0x3e,
-	0x79, 0x1e, 0x09, 0x2e, 0x7d, 0xb2, 0x5c, 0xa4, 0xb9, 0x18, 0x19, 0x17, 0x97, 0xb4, 0xe4, 0x24,
-	0xa3, 0x5b, 0x7f, 0xa9, 0xc1, 0xad, 0xe1, 0x20, 0x25, 0x32, 0x16, 0x45, 0x24, 0x43, 0x7f, 0xb2,
-	0xa0, 0x5e, 0xea, 0x13, 0xa8, 0x3d, 0x25, 0x52, 0x63, 0x1a, 0xca, 0xc6, 0x9b, 0x85, 0xfe, 0xc8,
-	0xaf, 0xe5, 0xf6, 0xe3, 0xe2, 0xd7, 0xb2, 0xdd, 0xf9, 0xed, 0x3f, 0xff, 0xfd, 0xc7, 0xca, 0x4f,
-	0xed, 0xf7, 0xe4, 0x0f, 0x71, 0x13, 0x01, 0xee, 0x3c, 0x1f, 0x46, 0xe7, 0x85, 0xa3, 0x0f, 0xcf,
-	0x9d, 0xe7, 0x7a, 0xf1, 0x62, 0xf0, 0xcf, 0x85, 0x7b, 0x83, 0x8a, 0xfc, 0xab, 0x05, 0xf5, 0x52,
-	0x07, 0x99, 0x46, 0x73, 0x5c, 0xab, 0x99, 0x45, 0xf3, 0x48, 0xd1, 0x7c, 0xb4, 0xb5, 0x73, 0x0d,
-	0x9a, 0xce, 0xf3, 0xd1, 0x4b, 0x7b, 0x31, 0x64, 0xfd, 0xa5, 0x05, 0xf5, 0x52, 0x2f, 0x98, 0xc6,
-	0x7a, 0x5c, 0xd3, 0x98, 0xc5, 0xfa, 0xe7, 0x8a, 0x75, 0xe7, 0xee, 0x0d, 0xb0, 0x46, 0x7f, 0xb6,
-	0x00, 0x86, 0x6d, 0x04, 0x7d, 0x6f, 0xca, 0x44, 0x7e, 0xb1, 0xd9, 0x6c, 0xcc, 0xae, 0xae, 0x82,
-	0x2a, 0xba, 0x09, 0xaa, 0x5f, 0x5a, 0xb0, 0x32, 0x5a, 0xf7, 0x68, 0xca, 0xa8, 0x32, 0xa6, 0x53,
-	0x6d, 0xb4, 0xaf, 0xaa, 0xae, 0xdb, 0x89, 0xbd, 0xad, 0xb8, 0xff, 0x08, 0x5d, 0x27, 0x87, 0xd1,
-	0xdf, 0x2c, 0x58, 0xbd, 0x50, 0xb1, 0xe8, 0x87, 0xd3, 0xa6, 0xf5, 0x71, 0x0d, 0x65, 0x56, 0x22,
-	0x3c, 0x51, 0x0c, 0x0f, 0xed, 0x8f, 0x6f, 0x20, 0x7d, 0x03, 0xc3, 0xe0, 0x9e, 0x75, 0x77, 0xc7,
-	0x81, 0x6f, 0xf8, 0x2c, 0x9e, 0xc8, 0x76, 0xa7, 0x98, 0x20, 0xf9, 0xa1, 0x7c, 0x14, 0x0f, 0xad,
-	0xde, 0x82, 0x7a, 0x1d, 0xdf, 0xfb, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa6, 0x0b, 0x0f, 0xab,
-	0x59, 0x14, 0x00, 0x00,
+	// 1667 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x73, 0x23, 0x47,
+	0x15, 0x67, 0x64, 0xcb, 0x96, 0x9f, 0x2c, 0x59, 0xdb, 0x51, 0x8c, 0xa2, 0x4d, 0x88, 0x33, 0x09,
+	0xac, 0xb3, 0x80, 0x44, 0x1c, 0x28, 0x52, 0xeb, 0x0a, 0xb0, 0x6b, 0x79, 0x8d, 0xc9, 0xae, 0xd6,
+	0x8c, 0xed, 0x4d, 0x8a, 0x2a, 0x98, 0x6a, 0xcd, 0xb4, 0x27, 0x8d, 0x66, 0xa6, 0x27, 0xd3, 0x3d,
+	0x4e, 0xbc, 0x5b, 0x7b, 0xe1, 0x04, 0xe1, 0xc8, 0x57, 0xe0, 0x40, 0xe5, 0x08, 0x37, 0x4e, 0x7c,
+	0x02, 0x2e, 0x1c, 0xb9, 0x72, 0xe2, 0x03, 0x70, 0xe2, 0x40, 0xf5, 0x9f, 0x91, 0x34, 0xb6, 0x24,
+	0x7b, 0x17, 0xd7, 0x9e, 0xd4, 0xfd, 0xde, 0xef, 0xfd, 0xe9, 0xd7, 0xef, 0xbd, 0x7e, 0x23, 0xb8,
+	0x15, 0x30, 0x16, 0x84, 0xa4, 0xeb, 0x85, 0x2c, 0xf3, 0xbb, 0x3e, 0x16, 0x38, 0x49, 0x99, 0xd7,
+	0x3d, 0x7d, 0xaf, 0xeb, 0x85, 0x19, 0x17, 0x24, 0xe5, 0x9d, 0x24, 0x65, 0x82, 0xa1, 0x96, 0x06,
+	0x76, 0x14, 0xb0, 0x93, 0x03, 0x3b, 0xa7, 0xef, 0xb5, 0x5f, 0x37, 0x2a, 0x70, 0x42, 0xbb, 0x38,
+	0x8e, 0x99, 0xc0, 0x82, 0xb2, 0xd8, 0xc8, 0xb5, 0xdf, 0x9d, 0x69, 0x80, 0x25, 0x24, 0x2d, 0x40,
+	0xdf, 0x36, 0xd0, 0x90, 0xc5, 0x41, 0x9a, 0xc5, 0x31, 0x8d, 0x83, 0x8b, 0xa0, 0x6f, 0x18, 0x90,
+	0xda, 0x0d, 0xb2, 0x93, 0xae, 0x9f, 0x69, 0x80, 0xe1, 0x6f, 0x9c, 0xe7, 0x9f, 0x50, 0x12, 0xfa,
+	0x6e, 0x84, 0xf9, 0xd0, 0x20, 0xde, 0x3c, 0x8f, 0x10, 0x34, 0x22, 0x5c, 0xe0, 0x28, 0xd1, 0x00,
+	0xfb, 0x6f, 0x25, 0x58, 0xde, 0xd1, 0xa7, 0x47, 0x6f, 0x00, 0x24, 0x29, 0xfb, 0x35, 0xf1, 0x84,
+	0x4b, 0xfd, 0x96, 0xb5, 0x61, 0x6d, 0xae, 0x38, 0x2b, 0x86, 0xb2, 0xef, 0xa3, 0xb7, 0x60, 0xd5,
+	0xc4, 0xc9, 0x8d, 0x71, 0x44, 0x5a, 0x25, 0x05, 0xa8, 0x1a, 0x5a, 0x1f, 0x47, 0x04, 0xfd, 0x18,
+	0x96, 0x3c, 0x16, 0x9f, 0xd0, 0xa0, 0xb5, 0xb0, 0x61, 0x6d, 0x56, 0xb7, 0x6e, 0x75, 0x66, 0x45,
+	0xb2, 0x63, 0x8c, 0xee, 0x28, 0xb8, 0x63, 0xc4, 0xa4, 0x02, 0x2e, 0xb0, 0xc8, 0x78, 0x6b, 0xf1,
+	0x8a, 0x0a, 0x0e, 0x15, 0xdc, 0x31, 0x62, 0xa8, 0x0f, 0x75, 0xbd, 0x72, 0x3f, 0xa5, 0x5c, 0xb0,
+	0xf4, 0xac, 0xb5, 0xbc, 0xb1, 0xf0, 0x3c, 0x8a, 0x6a, 0x5a, 0xfc, 0xa7, 0x5a, 0x7a, 0xf2, 0xd0,
+	0x59, 0x46, 0xfd, 0xd6, 0x52, 0xe1, 0xd0, 0xc7, 0x19, 0xf5, 0xed, 0x7f, 0x2e, 0x42, 0xad, 0x70,
+	0x1a, 0xf4, 0x36, 0xd4, 0xf4, 0x79, 0xdc, 0x41, 0xe6, 0x0d, 0x89, 0x30, 0xb1, 0x5c, 0xd5, 0xc4,
+	0x7b, 0x8a, 0x86, 0x3e, 0x01, 0x14, 0x78, 0xc4, 0xcd, 0xb5, 0x9b, 0xb8, 0x55, 0xd4, 0xb1, 0x6f,
+	0xcf, 0xf6, 0x76, 0xcf, 0x23, 0xc5, 0xd0, 0x35, 0x82, 0x73, 0x14, 0xe4, 0x40, 0x2d, 0xc2, 0x93,
+	0x4a, 0x57, 0x94, 0xd2, 0xef, 0xce, 0x56, 0xba, 0x1f, 0x73, 0x81, 0x63, 0x8f, 0xec, 0xa5, 0x2c,
+	0x4b, 0x8c, 0xde, 0x55, 0xad, 0x63, 0xac, 0xf3, 0x73, 0x96, 0x0e, 0xc7, 0x3a, 0xe1, 0x85, 0x74,
+	0x6a, 0x1d, 0x46, 0x27, 0x81, 0xaf, 0x73, 0xe2, 0xb1, 0xd8, 0xc7, 0xe9, 0x99, 0x5b, 0xd4, 0xbe,
+	0xfa, 0x22, 0xda, 0x5f, 0x1d, 0x69, 0xfb, 0x78, 0xd2, 0xcc, 0xcf, 0x61, 0x8d, 0xb3, 0x13, 0xf1,
+	0x39, 0x4e, 0x49, 0xae, 0xbe, 0xa6, 0xd4, 0x6f, 0xce, 0x56, 0x7f, 0x68, 0x04, 0x8c, 0xe6, 0x3a,
+	0x2f, 0xec, 0x11, 0x85, 0x75, 0x1a, 0x53, 0x41, 0x71, 0x48, 0x9f, 0xa8, 0x82, 0x74, 0xb1, 0xa7,
+	0x0a, 0xb7, 0x55, 0x55, 0xd9, 0xb6, 0x35, 0x5b, 0x73, 0x9f, 0xf9, 0x64, 0xbf, 0x20, 0x7b, 0x57,
+	0x89, 0x3a, 0xaf, 0xd2, 0x29, 0x54, 0x6e, 0xff, 0xb7, 0x04, 0x8d, 0xf3, 0x77, 0x8e, 0x5e, 0x83,
+	0xca, 0x13, 0x16, 0x13, 0x37, 0x4b, 0xa9, 0xc9, 0xad, 0x65, 0xb9, 0x3f, 0x4e, 0x29, 0x7a, 0x13,
+	0xaa, 0x31, 0x11, 0x32, 0x9a, 0x8a, 0xab, 0x8b, 0x14, 0x0c, 0x49, 0x02, 0xbe, 0x09, 0x75, 0x9e,
+	0x0d, 0x26, 0x31, 0x3a, 0xa7, 0x6b, 0x63, 0xaa, 0x84, 0x6d, 0x42, 0x83, 0xc6, 0x82, 0xa4, 0x31,
+	0x0e, 0x5d, 0x9a, 0xb8, 0x2c, 0x0e, 0x65, 0x29, 0x59, 0x9b, 0x15, 0xa7, 0x9e, 0xd3, 0xf7, 0x93,
+	0x47, 0x71, 0x78, 0x86, 0xbe, 0x0f, 0xeb, 0x9c, 0xa4, 0xa7, 0xd4, 0x23, 0x2e, 0xf6, 0x3c, 0x96,
+	0xc5, 0xc2, 0xe5, 0x1e, 0x4b, 0x08, 0x6f, 0x2d, 0x6c, 0x2c, 0x6c, 0xae, 0x38, 0x4d, 0xc3, 0xbd,
+	0xab, 0x99, 0x87, 0x8a, 0x87, 0x10, 0x2c, 0x0a, 0x1c, 0xc8, 0x3a, 0x97, 0x18, 0xb5, 0x46, 0x47,
+	0x50, 0x89, 0x88, 0xc0, 0x32, 0x5c, 0xad, 0xb2, 0x0a, 0xe4, 0x07, 0x57, 0x2f, 0x84, 0xce, 0x43,
+	0x23, 0xba, 0x1b, 0x8b, 0xf4, 0xcc, 0x19, 0x69, 0x6a, 0x6f, 0x43, 0xad, 0xc0, 0x42, 0x0d, 0x58,
+	0x18, 0x92, 0x33, 0x13, 0x38, 0xb9, 0x44, 0x4d, 0x28, 0x9f, 0xe2, 0x30, 0xcb, 0x7b, 0x9a, 0xde,
+	0xdc, 0x29, 0x7d, 0x60, 0xd9, 0xff, 0x29, 0xc1, 0x2b, 0x53, 0x72, 0x4d, 0x96, 0x78, 0x9c, 0x45,
+	0x2e, 0x35, 0x2c, 0xae, 0xb4, 0x95, 0x9d, 0xd5, 0x38, 0x8b, 0x72, 0x38, 0x97, 0xa1, 0xce, 0x01,
+	0xaa, 0x65, 0xf2, 0x56, 0x49, 0x9d, 0xb6, 0x96, 0x53, 0x65, 0xd3, 0xe4, 0xe8, 0x26, 0xac, 0xd0,
+	0x08, 0x07, 0xfa, 0x3a, 0x17, 0x94, 0x07, 0x15, 0x45, 0x30, 0xf7, 0x10, 0x61, 0xef, 0x53, 0x1a,
+	0x13, 0x57, 0x9c, 0x25, 0x1a, 0xb3, 0xa8, 0x30, 0x75, 0x43, 0x3f, 0x3a, 0x4b, 0x14, 0x72, 0x17,
+	0xaa, 0x3e, 0xe5, 0xc3, 0x3c, 0xc7, 0xcb, 0x2a, 0xc7, 0xdf, 0x99, 0x1d, 0xc0, 0x1e, 0xe5, 0x43,
+	0x93, 0xdf, 0xe0, 0x8f, 0xd6, 0xca, 0x69, 0xee, 0x26, 0x29, 0x21, 0x51, 0x22, 0xe8, 0x20, 0x24,
+	0x2a, 0x3f, 0x2a, 0x4e, 0x8d, 0xf2, 0x83, 0x31, 0x11, 0xfd, 0x0a, 0x9a, 0x11, 0x8e, 0x71, 0x40,
+	0x7c, 0x37, 0x90, 0x71, 0xc9, 0xcd, 0x2e, 0x2b, 0xb3, 0xdf, 0x99, 0x6d, 0xf6, 0xa1, 0x96, 0x9a,
+	0x2c, 0x5c, 0x14, 0x5d, 0xa0, 0xd9, 0xbf, 0xb3, 0x00, 0x5d, 0x84, 0xca, 0x64, 0x1b, 0x85, 0x54,
+	0x90, 0x28, 0x09, 0xb1, 0xd0, 0xb1, 0x35, 0xd7, 0xd9, 0xcc, 0xb9, 0x47, 0x86, 0xa9, 0xde, 0xa5,
+	0x0f, 0xe1, 0xe6, 0x48, 0x4a, 0x7b, 0xab, 0x2d, 0x16, 0x5e, 0xb2, 0x16, 0x9d, 0xbc, 0x67, 0x6d,
+	0x5b, 0x3d, 0x6b, 0xf6, 0x2f, 0x01, 0xc6, 0xc1, 0x42, 0xef, 0xc2, 0x8d, 0x01, 0x63, 0xc2, 0x55,
+	0xc1, 0xe6, 0xf4, 0x09, 0x71, 0x83, 0x81, 0xb9, 0xfe, 0xba, 0x64, 0x48, 0xe8, 0x21, 0x7d, 0x42,
+	0xf6, 0x06, 0xe8, 0x1d, 0xa8, 0xcb, 0x2c, 0x09, 0x99, 0x87, 0x43, 0x97, 0x73, 0x9f, 0x2b, 0x53,
+	0x3a, 0x4d, 0x1e, 0x48, 0xe2, 0x21, 0xf7, 0xb9, 0xfd, 0x7b, 0x0b, 0x5a, 0xb3, 0xda, 0x02, 0xba,
+	0x05, 0x6b, 0xe4, 0x0b, 0xe2, 0x65, 0x02, 0x0f, 0x42, 0xe2, 0x9e, 0xd0, 0x30, 0x3f, 0x69, 0x7d,
+	0x4c, 0xbe, 0x4f, 0x43, 0x82, 0xee, 0xc3, 0x0d, 0x4d, 0x91, 0xed, 0x48, 0x3e, 0xf3, 0x2c, 0x13,
+	0xca, 0x5c, 0x75, 0xeb, 0xb5, 0xfc, 0x36, 0xf2, 0x31, 0xa0, 0xd3, 0x33, 0x83, 0x84, 0xd3, 0x18,
+	0xc9, 0x1c, 0x69, 0x11, 0xfb, 0xcb, 0xd2, 0xe8, 0x39, 0xd3, 0x4f, 0x22, 0xda, 0x81, 0xb2, 0x7c,
+	0x14, 0xb5, 0xe1, 0xfa, 0xbc, 0xae, 0x5c, 0x90, 0xeb, 0xc8, 0x1f, 0xe2, 0x68, 0x59, 0xb4, 0x0e,
+	0x4b, 0x3e, 0x11, 0x98, 0x86, 0x26, 0xda, 0x66, 0x87, 0x7a, 0xd0, 0x50, 0x00, 0x97, 0x0b, 0x9c,
+	0x0a, 0xe5, 0xb8, 0x19, 0x1e, 0xda, 0x17, 0xbc, 0x3e, 0xca, 0x87, 0x17, 0x47, 0x3d, 0xf2, 0xe4,
+	0x50, 0x8a, 0x48, 0xa2, 0xfd, 0x18, 0xca, 0xca, 0x1a, 0xaa, 0xc2, 0xf2, 0x71, 0xff, 0xa3, 0xfe,
+	0xa3, 0x8f, 0xfb, 0x8d, 0xaf, 0xa1, 0x55, 0xa8, 0xec, 0x38, 0xbb, 0x77, 0x8f, 0xf6, 0xfb, 0x7b,
+	0x0d, 0x4b, 0xb2, 0x9c, 0xe3, 0x7e, 0x5f, 0x6e, 0x4a, 0x68, 0x05, 0xca, 0xbb, 0x8e, 0xf3, 0xc8,
+	0x69, 0x2c, 0x48, 0x54, 0x6f, 0xf7, 0xc1, 0xae, 0x42, 0x2d, 0xca, 0xdd, 0xf1, 0x41, 0x4f, 0xcb,
+	0x94, 0xed, 0xbf, 0x5b, 0x50, 0x2f, 0xbe, 0x05, 0xb2, 0xf2, 0x75, 0xb5, 0x9e, 0x92, 0x94, 0x53,
+	0x16, 0xe7, 0x8f, 0xbb, 0x22, 0x3e, 0xd6, 0x34, 0xf4, 0x89, 0x1a, 0xa5, 0x12, 0x92, 0x0a, 0x6a,
+	0xaa, 0x7e, 0x6e, 0x2f, 0x2b, 0x9a, 0xe8, 0x1c, 0x8c, 0x44, 0x75, 0x2f, 0x9b, 0xd0, 0xd5, 0xfe,
+	0x10, 0xd6, 0xce, 0xb1, 0x9f, 0xab, 0x9f, 0x7d, 0x69, 0x41, 0x73, 0x27, 0x25, 0x58, 0xe4, 0xcd,
+	0xd3, 0x21, 0x9f, 0x65, 0x84, 0x8b, 0xcb, 0x86, 0xbf, 0x75, 0x58, 0x4a, 0x49, 0x20, 0x8f, 0xab,
+	0x1b, 0x94, 0xd9, 0xa1, 0x6d, 0x58, 0x36, 0x13, 0x8c, 0xc9, 0xb5, 0xb7, 0x2e, 0xcd, 0x0e, 0x27,
+	0x97, 0xb0, 0xff, 0x6d, 0x41, 0xf3, 0x38, 0xf1, 0xff, 0x0f, 0x67, 0xca, 0x05, 0x67, 0xae, 0x30,
+	0xa1, 0x4e, 0xf8, 0xbb, 0xf0, 0xbc, 0xfe, 0xa2, 0x6d, 0xa8, 0x66, 0xca, 0x5d, 0x35, 0x62, 0x9b,
+	0x11, 0xf5, 0x62, 0x9a, 0xde, 0x97, 0x53, 0xf8, 0x43, 0xcc, 0x87, 0x0e, 0x68, 0xb8, 0x5c, 0xdb,
+	0x09, 0x34, 0x7b, 0x24, 0x24, 0xd7, 0x15, 0xf8, 0xcb, 0xcf, 0x6a, 0x47, 0x70, 0x63, 0x8f, 0x88,
+	0x97, 0x66, 0xee, 0xb7, 0x16, 0xbc, 0xf2, 0x80, 0xf2, 0xdc, 0x20, 0x7f, 0x6e, 0x8b, 0x8b, 0x05,
+	0x8b, 0x37, 0x61, 0x25, 0x91, 0x65, 0x26, 0x3b, 0xac, 0x69, 0x9b, 0x15, 0x49, 0x90, 0xad, 0x55,
+	0xe9, 0x94, 0x4c, 0xc1, 0x86, 0x24, 0x77, 0x55, 0xc1, 0x8f, 0x24, 0xc1, 0x7e, 0x06, 0xcd, 0xa2,
+	0x27, 0x3c, 0x61, 0x31, 0x97, 0xef, 0x40, 0x25, 0xff, 0xd4, 0x6b, 0x59, 0xaa, 0x28, 0xaf, 0x70,
+	0xfd, 0x23, 0x11, 0xf4, 0x2d, 0x58, 0x8b, 0xc9, 0x17, 0xc2, 0x9d, 0x30, 0xad, 0xe3, 0x50, 0x93,
+	0xe4, 0x83, 0x91, 0xf9, 0x14, 0xd6, 0x7b, 0x14, 0x07, 0x31, 0xe3, 0x2f, 0xef, 0xb2, 0x7f, 0x38,
+	0xc5, 0x26, 0xcf, 0x42, 0xc1, 0xa5, 0x4d, 0x96, 0x89, 0x24, 0x13, 0x13, 0xe3, 0xe2, 0x8a, 0xa6,
+	0x1c, 0xa7, 0x74, 0xeb, 0xcf, 0x15, 0xb8, 0x31, 0x1e, 0xa4, 0x44, 0xca, 0xc2, 0x90, 0xa4, 0xe8,
+	0x8f, 0x16, 0xd4, 0x0a, 0x7d, 0x02, 0x75, 0xe6, 0x44, 0x6a, 0x4a, 0x43, 0x69, 0xbf, 0x91, 0xe3,
+	0x27, 0x3e, 0x71, 0x3b, 0x8f, 0xf2, 0x4f, 0x5c, 0xbb, 0xf7, 0x9b, 0x7f, 0xfc, 0xeb, 0x0f, 0xa5,
+	0x1f, 0xd9, 0xef, 0xcb, 0xcf, 0x63, 0x13, 0x01, 0xde, 0x7d, 0x3a, 0x8e, 0xce, 0xb3, 0xae, 0x3e,
+	0x3c, 0xef, 0x3e, 0xd5, 0x8b, 0x67, 0xa3, 0xcf, 0xf4, 0x3b, 0xa3, 0x8a, 0xfc, 0x8b, 0x05, 0xb5,
+	0x42, 0x07, 0x99, 0xe7, 0xe6, 0xb4, 0x56, 0x73, 0x99, 0x9b, 0x87, 0xca, 0xcd, 0x87, 0x5b, 0xf7,
+	0x5e, 0xc0, 0xcd, 0xee, 0xd3, 0xc9, 0x4b, 0x7b, 0x36, 0xf6, 0xfa, 0x2b, 0x0b, 0x6a, 0x85, 0x5e,
+	0x30, 0xcf, 0xeb, 0x69, 0x4d, 0xe3, 0x32, 0xaf, 0x7f, 0xa6, 0xbc, 0xee, 0xdd, 0xbe, 0x06, 0xaf,
+	0xd1, 0x9f, 0x2c, 0x80, 0x71, 0x1b, 0x41, 0xdf, 0x9e, 0x33, 0x91, 0x9f, 0x6f, 0x36, 0xed, 0xcb,
+	0xab, 0x2b, 0x77, 0x15, 0x5d, 0x87, 0xab, 0x5f, 0x59, 0xb0, 0x3a, 0x59, 0xf7, 0x68, 0xce, 0xa8,
+	0x32, 0xa5, 0x53, 0xb5, 0x3b, 0x57, 0x85, 0xeb, 0x76, 0x62, 0x6f, 0x2b, 0xdf, 0x7f, 0x80, 0x5e,
+	0x24, 0x87, 0xd1, 0x5f, 0x2d, 0x58, 0x3b, 0x57, 0xb1, 0xe8, 0x7b, 0xf3, 0xa6, 0xf5, 0x69, 0x0d,
+	0xe5, 0xb2, 0x44, 0x78, 0xac, 0x3c, 0x3c, 0xb0, 0x3f, 0xba, 0x86, 0xf4, 0xf5, 0x8d, 0x07, 0x77,
+	0xac, 0xdb, 0xf7, 0x3e, 0x83, 0xd7, 0x3d, 0x16, 0xcd, 0xf4, 0xf6, 0x5e, 0x3e, 0x41, 0xf2, 0x03,
+	0xf9, 0x28, 0x1e, 0x58, 0xbf, 0xf8, 0x89, 0x81, 0x06, 0x2c, 0xc4, 0x71, 0xd0, 0x61, 0x69, 0xd0,
+	0x0d, 0x48, 0xac, 0x9e, 0xcc, 0xae, 0x66, 0xe1, 0x84, 0xf2, 0x8b, 0xff, 0x9c, 0x6d, 0xe7, 0xeb,
+	0xc1, 0x92, 0x02, 0xbf, 0xff, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x58, 0xab, 0x60, 0x26, 0xc6,
+	0x13, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/clusters.proto b/googleapis/cloud/dataproc/v1/clusters.proto
deleted file mode 100644
index a17ca466..00000000
--- a/googleapis/cloud/dataproc/v1/clusters.proto
+++ /dev/null
@@ -1,443 +0,0 @@
-// 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
index cc6bbe7d..5717e986 100644
--- a/googleapis/cloud/dataproc/v1/jobs.pb.go
+++ b/googleapis/cloud/dataproc/v1/jobs.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto
+// source: google/cloud/dataproc/v1/jobs.proto
 // DO NOT EDIT!
 
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -259,6 +259,34 @@ func (m *HadoopJob) GetMainClass() string {
 	return ""
 }
 
+func (m *HadoopJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *HadoopJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *HadoopJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -414,6 +442,34 @@ func (m *SparkJob) GetMainClass() string {
 	return ""
 }
 
+func (m *SparkJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *SparkJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *SparkJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *SparkJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *SparkJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -531,6 +587,48 @@ func (m *PySparkJob) String() string            { return proto.CompactTextString
 func (*PySparkJob) ProtoMessage()               {}
 func (*PySparkJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *PySparkJob) GetMainPythonFileUri() string {
+	if m != nil {
+		return m.MainPythonFileUri
+	}
+	return ""
+}
+
+func (m *PySparkJob) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetPythonFileUris() []string {
+	if m != nil {
+		return m.PythonFileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetFileUris() []string {
+	if m != nil {
+		return m.FileUris
+	}
+	return nil
+}
+
+func (m *PySparkJob) GetArchiveUris() []string {
+	if m != nil {
+		return m.ArchiveUris
+	}
+	return nil
+}
+
 func (m *PySparkJob) GetProperties() map[string]string {
 	if m != nil {
 		return m.Properties
@@ -569,6 +667,13 @@ func (m *QueryList) String() string            { return proto.CompactTextString(
 func (*QueryList) ProtoMessage()               {}
 func (*QueryList) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *QueryList) GetQueries() []string {
+	if m != nil {
+		return m.Queries
+	}
+	return nil
+}
+
 // A Cloud Dataproc job for running [Apache Hive](https://hive.apache.org/)
 // queries on YARN.
 type HiveJob struct {
@@ -637,6 +742,13 @@ func (m *HiveJob) GetQueryList() *QueryList {
 	return nil
 }
 
+func (m *HiveJob) GetContinueOnFailure() bool {
+	if m != nil {
+		return m.ContinueOnFailure
+	}
+	return false
+}
+
 func (m *HiveJob) GetScriptVariables() map[string]string {
 	if m != nil {
 		return m.ScriptVariables
@@ -651,6 +763,13 @@ func (m *HiveJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *HiveJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	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{}{
@@ -798,6 +917,13 @@ func (m *SparkSqlJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *SparkSqlJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
 func (m *SparkSqlJob) GetLoggingConfig() *LoggingConfig {
 	if m != nil {
 		return m.LoggingConfig
@@ -944,6 +1070,13 @@ func (m *PigJob) GetQueryList() *QueryList {
 	return nil
 }
 
+func (m *PigJob) GetContinueOnFailure() bool {
+	if m != nil {
+		return m.ContinueOnFailure
+	}
+	return false
+}
+
 func (m *PigJob) GetScriptVariables() map[string]string {
 	if m != nil {
 		return m.ScriptVariables
@@ -958,6 +1091,13 @@ func (m *PigJob) GetProperties() map[string]string {
 	return nil
 }
 
+func (m *PigJob) GetJarFileUris() []string {
+	if m != nil {
+		return m.JarFileUris
+	}
+	return nil
+}
+
 func (m *PigJob) GetLoggingConfig() *LoggingConfig {
 	if m != nil {
 		return m.LoggingConfig
@@ -1049,6 +1189,20 @@ func (m *JobPlacement) String() string            { return proto.CompactTextStri
 func (*JobPlacement) ProtoMessage()               {}
 func (*JobPlacement) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *JobPlacement) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *JobPlacement) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 // Cloud Dataproc job status.
 type JobStatus struct {
 	// [Output-only] A state message specifying the overall job state.
@@ -1065,6 +1219,20 @@ func (m *JobStatus) String() string            { return proto.CompactTextString(
 func (*JobStatus) ProtoMessage()               {}
 func (*JobStatus) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *JobStatus) GetState() JobStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return JobStatus_STATE_UNSPECIFIED
+}
+
+func (m *JobStatus) GetDetails() string {
+	if m != nil {
+		return m.Details
+	}
+	return ""
+}
+
 func (m *JobStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -1090,6 +1258,20 @@ func (m *JobReference) String() string            { return proto.CompactTextStri
 func (*JobReference) ProtoMessage()               {}
 func (*JobReference) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *JobReference) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *JobReference) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A Cloud Dataproc job resource.
 type Job struct {
 	// [Optional] The fully qualified reference to the job, which can be used to
@@ -1237,6 +1419,20 @@ func (m *Job) GetStatusHistory() []*JobStatus {
 	return nil
 }
 
+func (m *Job) GetDriverOutputResourceUri() string {
+	if m != nil {
+		return m.DriverOutputResourceUri
+	}
+	return ""
+}
+
+func (m *Job) GetDriverControlFilesUri() string {
+	if m != nil {
+		return m.DriverControlFilesUri
+	}
+	return ""
+}
+
 // 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{}{
@@ -1403,6 +1599,20 @@ func (m *SubmitJobRequest) String() string            { return proto.CompactText
 func (*SubmitJobRequest) ProtoMessage()               {}
 func (*SubmitJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *SubmitJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *SubmitJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 func (m *SubmitJobRequest) GetJob() *Job {
 	if m != nil {
 		return m.Job
@@ -1426,6 +1636,27 @@ func (m *GetJobRequest) String() string            { return proto.CompactTextStr
 func (*GetJobRequest) ProtoMessage()               {}
 func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *GetJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *GetJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A request to list jobs in a project.
 type ListJobsRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1451,6 +1682,48 @@ func (m *ListJobsRequest) String() string            { return proto.CompactTextS
 func (*ListJobsRequest) ProtoMessage()               {}
 func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
 
+func (m *ListJobsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetJobStateMatcher() ListJobsRequest_JobStateMatcher {
+	if m != nil {
+		return m.JobStateMatcher
+	}
+	return ListJobsRequest_ALL
+}
+
 // A list of jobs in a project.
 type ListJobsResponse struct {
 	// [Output-only] Jobs list.
@@ -1473,6 +1746,13 @@ func (m *ListJobsResponse) GetJobs() []*Job {
 	return nil
 }
 
+func (m *ListJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // A request to cancel a job.
 type CancelJobRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1489,6 +1769,27 @@ func (m *CancelJobRequest) String() string            { return proto.CompactText
 func (*CancelJobRequest) ProtoMessage()               {}
 func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *CancelJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CancelJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *CancelJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 // A request to delete a job.
 type DeleteJobRequest struct {
 	// [Required] The ID of the Google Cloud Platform project that the job
@@ -1505,6 +1806,27 @@ func (m *DeleteJobRequest) String() string            { return proto.CompactText
 func (*DeleteJobRequest) ProtoMessage()               {}
 func (*DeleteJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *DeleteJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteJobRequest) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
+func (m *DeleteJobRequest) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LoggingConfig)(nil), "google.cloud.dataproc.v1.LoggingConfig")
 	proto.RegisterType((*HadoopJob)(nil), "google.cloud.dataproc.v1.HadoopJob")
@@ -1748,131 +2070,128 @@ var _JobController_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto",
+	Metadata: "google/cloud/dataproc/v1/jobs.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/dataproc/v1/jobs.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/jobs.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 1878 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xdc, 0x58, 0xdd, 0x6e, 0x23, 0x49,
-	0x15, 0x8e, 0xff, 0xdd, 0xc7, 0x63, 0xa7, 0x53, 0xcc, 0x2c, 0x96, 0x97, 0x15, 0xd9, 0x5e, 0x76,
-	0xc8, 0xce, 0x0a, 0x37, 0xf1, 0xc0, 0xec, 0x90, 0x00, 0x8b, 0x63, 0x3b, 0x93, 0x04, 0xe3, 0x78,
-	0xdb, 0xce, 0x70, 0x85, 0x7a, 0xda, 0x76, 0xc5, 0xe9, 0x4c, 0xbb, 0xab, 0xd3, 0x55, 0x6d, 0xe1,
-	0x19, 0xcd, 0x0d, 0x2f, 0x80, 0xf8, 0x11, 0x12, 0x5c, 0xf2, 0x14, 0x48, 0x08, 0x71, 0x01, 0xe2,
-	0x05, 0xb8, 0x45, 0x5c, 0xf1, 0x20, 0xa8, 0xaa, 0xba, 0x1d, 0xe7, 0xcf, 0x76, 0x76, 0x76, 0x57,
-	0xbb, 0x73, 0x93, 0x54, 0x9f, 0xbf, 0x3a, 0x55, 0xdf, 0x77, 0x4e, 0x55, 0x19, 0x76, 0x86, 0x84,
-	0x0c, 0x1d, 0x5c, 0x1e, 0x12, 0xc7, 0x72, 0x87, 0x65, 0xe2, 0x0f, 0xf5, 0x21, 0x76, 0x3d, 0x9f,
-	0x30, 0xa2, 0x4b, 0x95, 0xe5, 0xd9, 0x54, 0xef, 0x3b, 0x24, 0x18, 0xe8, 0x03, 0x8b, 0x59, 0x9e,
-	0x4f, 0xfa, 0xfa, 0x78, 0x53, 0x3f, 0x25, 0x3d, 0x5a, 0x16, 0x76, 0xa8, 0x18, 0xc6, 0x10, 0x46,
-	0xe5, 0xc8, 0xa8, 0x3c, 0xde, 0x2c, 0xed, 0x2f, 0x17, 0xdd, 0xf2, 0x6c, 0x9d, 0x62, 0x7f, 0x6c,
-	0xf7, 0x71, 0x9f, 0xb8, 0xc7, 0xf6, 0x50, 0xb7, 0x5c, 0x97, 0x30, 0x8b, 0xd9, 0xc4, 0x0d, 0x27,
-	0x29, 0x3d, 0x1c, 0xda, 0xec, 0x24, 0xe8, 0x95, 0xfb, 0x64, 0xa4, 0xcb, 0x70, 0xba, 0x50, 0xf4,
-	0x82, 0x63, 0xdd, 0x63, 0x13, 0x0f, 0x53, 0x1d, 0x8f, 0x3c, 0x36, 0x91, 0x7f, 0x43, 0xa7, 0xed,
-	0xc5, 0x4e, 0xcc, 0x1e, 0x61, 0xca, 0xac, 0x91, 0x77, 0x3e, 0x92, 0xce, 0xda, 0x7f, 0xe3, 0x90,
-	0x6f, 0x92, 0xe1, 0xd0, 0x76, 0x87, 0x35, 0x91, 0x15, 0x3a, 0x81, 0xb5, 0x81, 0x6f, 0x8f, 0xb1,
-	0x6f, 0x3a, 0x64, 0x68, 0x3a, 0x78, 0x8c, 0x1d, 0x5a, 0x8c, 0xaf, 0x27, 0x36, 0x72, 0x95, 0x1f,
-	0x96, 0x6f, 0xda, 0x84, 0xf2, 0x85, 0x18, 0xe5, 0xba, 0x08, 0xd0, 0x24, 0xc3, 0xa6, 0x70, 0x6f,
-	0xb8, 0xcc, 0x9f, 0x18, 0xab, 0x83, 0x8b, 0xd2, 0xd2, 0x19, 0xdc, 0xbd, 0xce, 0x10, 0xa9, 0x90,
-	0x78, 0x8e, 0x27, 0xc5, 0xd8, 0x7a, 0x6c, 0x43, 0x31, 0xf8, 0x10, 0xd5, 0x20, 0x35, 0xb6, 0x9c,
-	0x00, 0x17, 0xe3, 0xeb, 0xb1, 0x8d, 0x42, 0xe5, 0x3b, 0xcb, 0xe6, 0x21, 0xa2, 0x1a, 0xd2, 0x77,
-	0x2b, 0xfe, 0x38, 0xa6, 0x79, 0x90, 0x12, 0x32, 0x74, 0x0f, 0xd6, 0x9a, 0x8d, 0xa7, 0x8d, 0xa6,
-	0x79, 0xd4, 0xea, 0xb4, 0x1b, 0xb5, 0xfd, 0xdd, 0xfd, 0x46, 0x5d, 0x5d, 0x41, 0x19, 0x48, 0x54,
-	0x9b, 0x4d, 0x35, 0x86, 0x14, 0x48, 0x75, 0x8d, 0x6a, 0xad, 0xa1, 0xc6, 0xf9, 0xb0, 0xde, 0xd8,
-	0x39, 0x7a, 0xa2, 0x26, 0x50, 0x16, 0x92, 0xfb, 0xad, 0xdd, 0x43, 0x35, 0xc9, 0x47, 0x3f, 0xaf,
-	0x1a, 0x2d, 0x35, 0xc5, 0xd5, 0x0d, 0xc3, 0x38, 0x34, 0xd4, 0x34, 0x1f, 0xee, 0x56, 0xbb, 0xd5,
-	0xa6, 0x9a, 0xe1, 0x81, 0x0e, 0x77, 0x77, 0xd5, 0xac, 0xf6, 0xf7, 0x04, 0x28, 0x7b, 0xd6, 0x80,
-	0x10, 0xef, 0x80, 0xf4, 0xd0, 0x87, 0xb0, 0x36, 0xb2, 0x6c, 0xd7, 0x3c, 0xb5, 0x7c, 0xf3, 0xd8,
-	0x76, 0xb0, 0x19, 0xf8, 0xb6, 0x5c, 0xe8, 0xde, 0x8a, 0x51, 0xe0, 0xaa, 0x03, 0xcb, 0xdf, 0xb5,
-	0x1d, 0x7c, 0xe4, 0xdb, 0xe8, 0x9b, 0x00, 0xc2, 0xb8, 0xef, 0x58, 0x94, 0x8a, 0xa5, 0x73, 0x2b,
-	0x85, 0xcb, 0x6a, 0x5c, 0x84, 0x10, 0x24, 0x2d, 0x7f, 0x48, 0x8b, 0x89, 0xf5, 0xc4, 0x86, 0x62,
-	0x88, 0x31, 0xd2, 0x20, 0x3f, 0x1b, 0x9c, 0x16, 0x93, 0x42, 0x99, 0x3b, 0x9d, 0xc6, 0xa5, 0xe8,
-	0x6d, 0x50, 0xce, 0xf5, 0x29, 0xa1, 0xcf, 0x1e, 0x47, 0xca, 0x77, 0xe1, 0x8e, 0xe5, 0xf7, 0x4f,
-	0xec, 0x71, 0xa8, 0x4f, 0x4b, 0xff, 0x50, 0x26, 0x4c, 0x3a, 0x00, 0x9e, 0x4f, 0x3c, 0xec, 0x33,
-	0x1b, 0xd3, 0x62, 0x46, 0x70, 0xe3, 0xe1, 0xcd, 0x98, 0x4c, 0x97, 0x5f, 0x6e, 0x4f, 0xbd, 0x24,
-	0x25, 0x66, 0xc2, 0xa0, 0x16, 0x14, 0x1c, 0x09, 0x9e, 0x29, 0xeb, 0xa3, 0x98, 0x5d, 0x8f, 0x6d,
-	0xe4, 0x2a, 0xdf, 0x5e, 0x12, 0x6c, 0x23, 0xef, 0xcc, 0x7e, 0x96, 0x7e, 0x04, 0xab, 0x97, 0xa6,
-	0xbb, 0x86, 0x58, 0x77, 0x67, 0x89, 0xa5, 0xcc, 0x30, 0x65, 0x27, 0x0b, 0x69, 0xc9, 0x57, 0xed,
-	0x6f, 0x09, 0xc8, 0x76, 0x3c, 0xcb, 0x7f, 0xfe, 0xe6, 0x00, 0x68, 0x5c, 0x03, 0x60, 0xe5, 0xe6,
-	0x7d, 0x8e, 0x56, 0xff, 0xd5, 0xc4, 0xef, 0x9f, 0x09, 0x80, 0xf6, 0x64, 0x8a, 0xa0, 0x0e, 0x77,
-	0x05, 0x28, 0xde, 0x84, 0x9d, 0x10, 0xf7, 0x12, 0x88, 0x86, 0x40, 0xb7, 0x2d, 0x54, 0x11, 0x8a,
-	0x11, 0x48, 0xf1, 0x19, 0x90, 0x36, 0x40, 0xbd, 0xe4, 0x1f, 0x81, 0x58, 0xf0, 0x66, 0x9d, 0xbf,
-	0x18, 0x38, 0xbb, 0xd7, 0xc0, 0xf9, 0xbd, 0x9b, 0xb7, 0xfd, 0x7c, 0x33, 0xbe, 0x42, 0x80, 0x6a,
-	0xef, 0x83, 0xf2, 0x49, 0x80, 0xfd, 0x49, 0xd3, 0xa6, 0x0c, 0x15, 0x21, 0x73, 0x16, 0x60, 0x9f,
-	0x2f, 0x37, 0x26, 0xf6, 0x23, 0xfa, 0xd4, 0x7e, 0x9d, 0x84, 0xcc, 0x9e, 0x3d, 0xc6, 0x1c, 0xea,
-	0xfb, 0x50, 0xe0, 0xe2, 0xc9, 0xd5, 0x4a, 0xbd, 0x23, 0xe4, 0x11, 0xc2, 0x75, 0x00, 0x69, 0xe7,
-	0xd8, 0x94, 0x89, 0x99, 0x73, 0x95, 0xf7, 0x6e, 0x5e, 0xe5, 0x34, 0x0d, 0x5e, 0xcc, 0x67, 0xd3,
-	0x9c, 0xca, 0xf0, 0xb5, 0x3e, 0x71, 0x99, 0xed, 0x06, 0xd8, 0xe4, 0xc4, 0xb0, 0x6c, 0x27, 0xf0,
-	0x71, 0x31, 0xb1, 0x1e, 0xdb, 0xc8, 0x1a, 0x6b, 0x91, 0xea, 0xd0, 0xdd, 0x95, 0x0a, 0x64, 0x81,
-	0x4a, 0xfb, 0xbe, 0xed, 0x31, 0x73, 0x6c, 0xf9, 0xb6, 0xd5, 0x73, 0xb0, 0x24, 0x47, 0xae, 0xf2,
-	0x68, 0x4e, 0x2f, 0x95, 0x4b, 0x2b, 0x77, 0x84, 0xe7, 0xd3, 0xc8, 0x31, 0x3c, 0x61, 0xe9, 0x45,
-	0x29, 0xfa, 0xe4, 0x02, 0x31, 0x52, 0x22, 0xf8, 0xe6, 0xe2, 0xe0, 0xf3, 0x58, 0x71, 0x85, 0xcf,
-	0xe9, 0x2b, 0x7c, 0x2e, 0xed, 0xc0, 0xdd, 0xeb, 0xf2, 0xbb, 0x0d, 0xdc, 0xaf, 0x5b, 0xfe, 0xca,
-	0x94, 0x20, 0xda, 0x5f, 0x93, 0x90, 0x13, 0x84, 0xef, 0x9c, 0x39, 0x5f, 0x3c, 0x2b, 0xf0, 0x35,
-	0x28, 0x27, 0x04, 0x10, 0x5b, 0x0b, 0x1a, 0xae, 0x4c, 0x77, 0x49, 0xa4, 0x8f, 0x2e, 0x20, 0x2d,
-	0x69, 0xf4, 0xfd, 0xe5, 0x26, 0xb8, 0x15, 0xda, 0x8f, 0xaf, 0x76, 0xaf, 0xab, 0x7d, 0x22, 0xfd,
-	0x5a, 0x7d, 0xe2, 0xcb, 0xc5, 0x9e, 0xff, 0x24, 0x21, 0xdd, 0xb6, 0x87, 0x5f, 0xfe, 0x76, 0xf2,
-	0xec, 0xc6, 0x76, 0x32, 0x87, 0x07, 0x72, 0x65, 0x4b, 0x72, 0xac, 0x7d, 0x4d, 0x37, 0xf9, 0xee,
-	0xc2, 0xd8, 0xaf, 0xd9, 0x4c, 0xae, 0xa1, 0x57, 0xe6, 0x0d, 0xa2, 0x57, 0x17, 0xee, 0x1c, 0x90,
-	0x5e, 0xdb, 0xb1, 0xfa, 0x78, 0x84, 0x5d, 0xc6, 0x4f, 0xfb, 0xbe, 0x13, 0x50, 0x86, 0x7d, 0xd3,
-	0xb5, 0x46, 0x38, 0x8c, 0x97, 0x0b, 0x65, 0x2d, 0x6b, 0x84, 0x67, 0x4d, 0x82, 0xc0, 0x1e, 0x84,
-	0xe1, 0x23, 0x93, 0xa3, 0xc0, 0x1e, 0x68, 0xff, 0x88, 0x83, 0x72, 0x40, 0x7a, 0x1d, 0x66, 0xb1,
-	0x80, 0xa2, 0x8f, 0x21, 0x45, 0x99, 0xc5, 0x64, 0xb0, 0x42, 0xe5, 0x83, 0x9b, 0x37, 0x6e, 0xea,
-	0x53, 0xe6, 0xff, 0xb0, 0x21, 0xfd, 0xf8, 0x69, 0x3b, 0xc0, 0xcc, 0xb2, 0x9d, 0xf0, 0x12, 0x6b,
-	0x44, 0x9f, 0xa8, 0x0e, 0xaa, 0x30, 0x31, 0x29, 0xb3, 0x7c, 0x66, 0xf2, 0xd7, 0x65, 0x58, 0xfd,
-	0xa5, 0x68, 0x96, 0xe8, 0x2d, 0x5a, 0xee, 0x46, 0x4f, 0x4f, 0xa3, 0x20, 0x7c, 0x3a, 0xdc, 0x85,
-	0x0b, 0xb5, 0xdf, 0xc7, 0x20, 0x25, 0x26, 0xe4, 0xcf, 0xb2, 0x4e, 0xb7, 0xda, 0x6d, 0x5c, 0x7a,
-	0x96, 0xe5, 0x20, 0xd3, 0x6e, 0xb4, 0xea, 0xfb, 0xad, 0x27, 0x6a, 0x0c, 0x15, 0x00, 0x3a, 0x8d,
-	0xee, 0x51, 0xdb, 0xac, 0x1f, 0xb6, 0x1a, 0x6a, 0x96, 0x2b, 0x8d, 0xa3, 0x56, 0x8b, 0x2b, 0xe3,
-	0x08, 0x41, 0xa1, 0x56, 0x6d, 0xd5, 0x1a, 0x4d, 0x33, 0x72, 0x48, 0xcc, 0xc8, 0x3a, 0xdd, 0xaa,
-	0xd1, 0x6d, 0xd4, 0xd5, 0x0c, 0xca, 0x83, 0x22, 0x65, 0xcd, 0x46, 0x5d, 0x3e, 0xe7, 0x44, 0xb4,
-	0xd9, 0xe7, 0x9c, 0x56, 0x17, 0xd8, 0x18, 0xf8, 0x18, 0xfb, 0xd8, 0xed, 0x63, 0xf4, 0x8e, 0xe0,
-	0xff, 0x29, 0xee, 0x33, 0xd3, 0x1e, 0x84, 0xc8, 0x28, 0xa1, 0x64, 0x7f, 0x80, 0xee, 0x41, 0xfa,
-	0x94, 0xf4, 0xcc, 0x29, 0x22, 0xa9, 0x53, 0xd2, 0xdb, 0x1f, 0x68, 0x7f, 0x49, 0x43, 0x82, 0x77,
-	0x8f, 0x3a, 0x28, 0x7e, 0x14, 0x4a, 0x38, 0xe7, 0x2a, 0xf7, 0xe7, 0x22, 0x31, 0x9d, 0xd8, 0x38,
-	0x77, 0xe4, 0x51, 0xbc, 0x88, 0x2c, 0x61, 0x6b, 0x99, 0x1f, 0x65, 0x4a, 0x2d, 0xe3, 0xdc, 0x91,
-	0x77, 0xa8, 0x13, 0xf1, 0x28, 0x33, 0x4f, 0x49, 0x4f, 0xb4, 0x94, 0xb9, 0x1d, 0x6a, 0xfa, 0x80,
-	0xe3, 0x1d, 0xea, 0x64, 0xfa, 0x98, 0xad, 0x82, 0x42, 0xf9, 0x39, 0x22, 0x82, 0x24, 0x45, 0x10,
-	0x6d, 0xf1, 0x23, 0x62, 0x6f, 0xc5, 0xc8, 0xd2, 0xe8, 0x32, 0xfe, 0x04, 0x72, 0xde, 0xe4, 0x3c,
-	0x48, 0x4a, 0x04, 0xf9, 0xd6, 0x32, 0x57, 0xd7, 0xbd, 0x15, 0x03, 0x42, 0x57, 0x1e, 0xe8, 0xc7,
-	0x90, 0x15, 0x57, 0x64, 0x1e, 0x45, 0x12, 0xf0, 0xdd, 0x85, 0xf7, 0x9c, 0xbd, 0x15, 0x23, 0x73,
-	0x12, 0x5e, 0x15, 0xb7, 0x21, 0xe3, 0xd9, 0x43, 0xe1, 0x2e, 0xdb, 0xcb, 0xfa, 0xa2, 0xc6, 0xb6,
-	0xb7, 0x62, 0xa4, 0x3d, 0x79, 0x30, 0xfc, 0x14, 0xf2, 0x72, 0x0d, 0xf4, 0xcc, 0x11, 0x21, 0xee,
-	0x88, 0x10, 0xef, 0x2f, 0x75, 0xfe, 0xee, 0xad, 0x18, 0x39, 0x3a, 0x73, 0x3d, 0xd9, 0x86, 0x34,
-	0x15, 0x35, 0x18, 0x5e, 0xb7, 0xdf, 0x5b, 0xa2, 0x5c, 0x8d, 0xd0, 0x05, 0x1d, 0x40, 0x41, 0x8e,
-	0xcc, 0x13, 0x9b, 0x32, 0xe2, 0x4f, 0x8a, 0x79, 0xd1, 0xa6, 0x97, 0x0a, 0x92, 0x97, 0xae, 0x7b,
-	0xd2, 0x13, 0x6d, 0x43, 0x29, 0xfc, 0x21, 0x88, 0x04, 0xcc, 0x0b, 0x98, 0xe9, 0x63, 0x4a, 0x02,
-	0xbf, 0x2f, 0x8f, 0xbe, 0x35, 0xc1, 0xf1, 0xaf, 0x4b, 0x8b, 0x43, 0x61, 0x60, 0x84, 0x7a, 0x7e,
-	0x06, 0x7e, 0x04, 0xc5, 0xd0, 0x99, 0x9f, 0x54, 0x3e, 0x71, 0x44, 0x93, 0xa7, 0xc2, 0x75, 0x55,
-	0xb8, 0xde, 0x93, 0xfa, 0x9a, 0x54, 0xf3, 0x76, 0x4f, 0x8f, 0x7c, 0x7b, 0x07, 0x20, 0xcb, 0x26,
-	0x9e, 0x00, 0x52, 0x7b, 0x01, 0x6a, 0x27, 0xe8, 0x8d, 0x6c, 0x26, 0xaa, 0xe1, 0x2c, 0xc0, 0x94,
-	0x2d, 0x2a, 0xc2, 0xb7, 0x20, 0xed, 0xe3, 0xa1, 0x4d, 0x5c, 0xc1, 0x6a, 0xc5, 0x08, 0xbf, 0x90,
-	0x0e, 0x09, 0x0e, 0x8c, 0xac, 0x98, 0x77, 0xe6, 0xd7, 0x1d, 0xb7, 0xd4, 0x7e, 0x01, 0xf9, 0x27,
-	0xf8, 0x33, 0x98, 0xf8, 0x86, 0xae, 0xf0, 0xaf, 0x38, 0xac, 0xf2, 0x63, 0xfe, 0x80, 0xf4, 0xe8,
-	0xad, 0x67, 0x48, 0x5f, 0x98, 0xe1, 0x6d, 0x50, 0x3c, 0x6b, 0x88, 0x4d, 0x6a, 0xbf, 0x90, 0x67,
-	0x4d, 0xca, 0xc8, 0x72, 0x41, 0xc7, 0x7e, 0x21, 0x7b, 0x16, 0x57, 0x32, 0xf2, 0x1c, 0x47, 0xa9,
-	0x09, 0xf3, 0x2e, 0x17, 0x5c, 0x39, 0x6e, 0x92, 0x57, 0x8f, 0x1b, 0x0c, 0x6b, 0x7c, 0x01, 0xb2,
-	0xcd, 0x8f, 0x2c, 0xd6, 0x3f, 0xc1, 0xbe, 0x28, 0xd4, 0x42, 0xe5, 0x07, 0x73, 0x8e, 0xe0, 0x8b,
-	0x6b, 0x8b, 0x58, 0x86, 0x7f, 0x26, 0x03, 0x18, 0xab, 0xa7, 0x17, 0x05, 0xda, 0x23, 0x58, 0xbd,
-	0x64, 0x13, 0xfd, 0x18, 0xb7, 0x82, 0x00, 0xd2, 0xd5, 0x5a, 0x77, 0xff, 0x69, 0x43, 0x76, 0xff,
-	0xd6, 0x61, 0xcb, 0x0c, 0xbf, 0xe3, 0xda, 0x08, 0xd4, 0xf3, 0xb9, 0xa8, 0x47, 0x5c, 0x8a, 0xd1,
-	0x26, 0x24, 0x4f, 0x49, 0x4f, 0x3e, 0x0d, 0x17, 0xa2, 0x2d, 0x4c, 0xd1, 0x7d, 0x58, 0x75, 0xf1,
-	0x2f, 0x99, 0x39, 0xb3, 0x59, 0x12, 0xaf, 0x3c, 0x17, 0xb7, 0xa3, 0x0d, 0xd3, 0x9e, 0x81, 0x5a,
-	0xb3, 0xdc, 0x3e, 0x76, 0x3e, 0x37, 0x66, 0x3c, 0x03, 0xb5, 0x8e, 0x1d, 0xcc, 0xf0, 0xe7, 0x35,
-	0x43, 0xe5, 0x0f, 0x69, 0xc8, 0x1f, 0x90, 0x5e, 0x58, 0x79, 0x0e, 0xf6, 0xd1, 0x1f, 0x63, 0xa0,
-	0x4c, 0x2b, 0x0d, 0x3d, 0x98, 0xd3, 0xb7, 0x2e, 0x95, 0x63, 0x69, 0xfe, 0xe6, 0x6a, 0xd5, 0x5f,
-	0xfd, 0xfb, 0x7f, 0xbf, 0x8b, 0x6f, 0x6b, 0x8f, 0xf4, 0xf1, 0xa6, 0x1e, 0x26, 0x4c, 0xf5, 0x97,
-	0xe7, 0x8b, 0x79, 0xa5, 0xcb, 0x5c, 0xa9, 0xfe, 0x52, 0x0e, 0x5e, 0x89, 0x1f, 0xdd, 0xb7, 0xa8,
-	0x98, 0x68, 0x2b, 0xf6, 0x00, 0xfd, 0x36, 0x06, 0x69, 0x59, 0x89, 0x68, 0xce, 0x95, 0xef, 0x42,
-	0xad, 0x2e, 0xca, 0xea, 0x27, 0x22, 0xab, 0x2d, 0xf4, 0xf8, 0x96, 0x59, 0xe9, 0x2f, 0xe5, 0x76,
-	0xbe, 0x42, 0x7f, 0x8a, 0x41, 0x36, 0xa2, 0x1d, 0xfa, 0x60, 0xe9, 0x32, 0x28, 0x3d, 0x58, 0xc6,
-	0x54, 0xb2, 0x58, 0xfb, 0x48, 0x64, 0xb9, 0x89, 0xf4, 0x5b, 0x66, 0x89, 0xfe, 0x1c, 0x03, 0x65,
-	0x4a, 0xd2, 0x79, 0x68, 0x5e, 0x66, 0xf2, 0xa2, 0x7d, 0x3b, 0x10, 0x19, 0xd5, 0xb5, 0x8f, 0x3f,
-	0xed, 0xbe, 0x6d, 0xf5, 0xc5, 0x8c, 0x1c, 0xd6, 0xdf, 0xc4, 0x40, 0x99, 0xf2, 0x7c, 0x5e, 0x92,
-	0x97, 0x8b, 0xa1, 0xf4, 0xd6, 0x95, 0x9b, 0x65, 0x63, 0xe4, 0xb1, 0x49, 0x84, 0xea, 0x83, 0x4f,
-	0x8d, 0xea, 0xce, 0x87, 0xf0, 0x8d, 0x3e, 0x19, 0xdd, 0x98, 0xca, 0x0e, 0xbf, 0x53, 0xd3, 0x36,
-	0x9f, 0xb5, 0x1d, 0xeb, 0xa5, 0xc5, 0xf4, 0x0f, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x97,
-	0xbe, 0x46, 0x5d, 0x1a, 0x00, 0x00,
+	// 1862 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x59, 0x5b, 0x6f, 0x23, 0x49,
+	0x15, 0x8e, 0xef, 0xee, 0xe3, 0xb1, 0xd3, 0x29, 0x66, 0x17, 0xcb, 0xb3, 0xab, 0xcd, 0xf6, 0xb0,
+	0x43, 0x76, 0x10, 0x36, 0xf1, 0xc2, 0xec, 0x90, 0x00, 0xbb, 0x8e, 0xed, 0x8c, 0x13, 0x8c, 0xe3,
+	0x6d, 0x3b, 0x83, 0x84, 0x84, 0x7a, 0xda, 0x76, 0xc5, 0x69, 0x4f, 0xbb, 0xab, 0xd3, 0xd5, 0x6d,
+	0xe1, 0x19, 0xcd, 0x0b, 0x7f, 0x00, 0x71, 0x11, 0x12, 0x3c, 0xf2, 0x2b, 0x90, 0x10, 0xe2, 0x01,
+	0xc4, 0x1f, 0xe0, 0x15, 0xf1, 0xc4, 0x0f, 0x41, 0x55, 0xd5, 0xed, 0xf8, 0x12, 0x5f, 0xb2, 0xc3,
+	0xae, 0x76, 0xf7, 0x29, 0xd5, 0xe7, 0x56, 0xa7, 0xea, 0xfb, 0xce, 0xa9, 0x2a, 0x07, 0xee, 0xf7,
+	0x09, 0xe9, 0x9b, 0xb8, 0xd0, 0x35, 0x89, 0xd7, 0x2b, 0xf4, 0x74, 0x57, 0xb7, 0x1d, 0xd2, 0x2d,
+	0x8c, 0xf6, 0x0b, 0x03, 0xd2, 0xa1, 0x79, 0xdb, 0x21, 0x2e, 0x41, 0x59, 0x61, 0x94, 0xe7, 0x46,
+	0xf9, 0xc0, 0x28, 0x3f, 0xda, 0xcf, 0xbd, 0xe5, 0xbb, 0xeb, 0xb6, 0x51, 0xd0, 0x2d, 0x8b, 0xb8,
+	0xba, 0x6b, 0x10, 0xcb, 0xf7, 0xcb, 0xdd, 0xf3, 0xb5, 0xfc, 0xab, 0xe3, 0x5d, 0x14, 0xf0, 0xd0,
+	0x76, 0xc7, 0xbe, 0xf2, 0x9d, 0x79, 0xa5, 0x6b, 0x0c, 0x31, 0x75, 0xf5, 0xa1, 0x2d, 0x0c, 0x94,
+	0xff, 0x84, 0x21, 0x5d, 0x27, 0xfd, 0xbe, 0x61, 0xf5, 0xcb, 0xc4, 0xba, 0x30, 0xfa, 0xe8, 0x12,
+	0x76, 0x7a, 0x8e, 0x31, 0xc2, 0x8e, 0x66, 0x92, 0xbe, 0x66, 0xe2, 0x11, 0x36, 0x69, 0x36, 0xbc,
+	0x1b, 0xd9, 0x4b, 0x15, 0x7f, 0x90, 0x5f, 0x96, 0x63, 0x7e, 0x26, 0x46, 0xbe, 0xc2, 0x03, 0xd4,
+	0x49, 0xbf, 0xce, 0xdd, 0xab, 0x96, 0xeb, 0x8c, 0xd5, 0xed, 0xde, 0xac, 0x34, 0x77, 0x05, 0x77,
+	0x6f, 0x32, 0x44, 0x32, 0x44, 0x9e, 0xe3, 0x71, 0x36, 0xb4, 0x1b, 0xda, 0x93, 0x54, 0x36, 0x44,
+	0x65, 0x88, 0x8d, 0x74, 0xd3, 0xc3, 0xd9, 0xf0, 0x6e, 0x68, 0x2f, 0x53, 0xfc, 0xf6, 0xa6, 0x79,
+	0xf0, 0xa8, 0xaa, 0xf0, 0x3d, 0x08, 0x3f, 0x0e, 0x29, 0x36, 0xc4, 0xb8, 0x0c, 0xbd, 0x01, 0x3b,
+	0xf5, 0xea, 0xd3, 0x6a, 0x5d, 0x3b, 0x6f, 0xb4, 0x9a, 0xd5, 0xf2, 0xc9, 0xf1, 0x49, 0xb5, 0x22,
+	0x6f, 0xa1, 0x04, 0x44, 0x4a, 0xf5, 0xba, 0x1c, 0x42, 0x12, 0xc4, 0xda, 0x6a, 0xa9, 0x5c, 0x95,
+	0xc3, 0x6c, 0x58, 0xa9, 0x1e, 0x9d, 0x3f, 0x91, 0x23, 0x28, 0x09, 0xd1, 0x93, 0xc6, 0xf1, 0x99,
+	0x1c, 0x65, 0xa3, 0x9f, 0x96, 0xd4, 0x86, 0x1c, 0x63, 0xea, 0xaa, 0xaa, 0x9e, 0xa9, 0x72, 0x9c,
+	0x0d, 0x8f, 0x4b, 0xed, 0x52, 0x5d, 0x4e, 0xb0, 0x40, 0x67, 0xc7, 0xc7, 0x72, 0x52, 0xf9, 0x5b,
+	0x04, 0xa4, 0x9a, 0xde, 0x23, 0xc4, 0x3e, 0x25, 0x1d, 0xf4, 0x2d, 0xd8, 0x19, 0xea, 0x86, 0xa5,
+	0x0d, 0x74, 0x47, 0xbb, 0x30, 0x4c, 0xac, 0x79, 0x8e, 0x21, 0x16, 0x5a, 0xdb, 0x52, 0x33, 0x4c,
+	0x75, 0xaa, 0x3b, 0xc7, 0x86, 0x89, 0xcf, 0x1d, 0x03, 0xbd, 0x03, 0xc0, 0x8d, 0xbb, 0xa6, 0x4e,
+	0x29, 0x5f, 0x3a, 0xb3, 0x92, 0x98, 0xac, 0xcc, 0x44, 0x08, 0x41, 0x54, 0x77, 0xfa, 0x34, 0x1b,
+	0xd9, 0x8d, 0xec, 0x49, 0x2a, 0x1f, 0x23, 0x05, 0xd2, 0xd3, 0xc1, 0x69, 0x36, 0xca, 0x95, 0xa9,
+	0xc1, 0x24, 0x2e, 0x45, 0xf7, 0x40, 0xba, 0xd6, 0xc7, 0xb8, 0x3e, 0x79, 0x11, 0x28, 0xdf, 0x85,
+	0x3b, 0xba, 0xd3, 0xbd, 0x34, 0x46, 0xbe, 0x3e, 0x2e, 0xfc, 0x7d, 0x19, 0x37, 0x69, 0x01, 0xd8,
+	0x0e, 0xb1, 0xb1, 0xe3, 0x1a, 0x98, 0x66, 0x13, 0x9c, 0x1b, 0x1f, 0x2c, 0xc7, 0x64, 0xb2, 0xfc,
+	0x7c, 0x73, 0xe2, 0x25, 0x28, 0x31, 0x15, 0x06, 0x35, 0x20, 0x63, 0x0a, 0xf0, 0xb4, 0x2e, 0x47,
+	0x2f, 0x9b, 0xdc, 0x0d, 0xed, 0xa5, 0x8a, 0xdf, 0xdc, 0x10, 0x6c, 0x35, 0x6d, 0x4e, 0x7f, 0xe6,
+	0x7e, 0x08, 0xdb, 0x73, 0xd3, 0xdd, 0x40, 0xac, 0xbb, 0xd3, 0xc4, 0x92, 0xa6, 0x98, 0x72, 0x94,
+	0x84, 0xb8, 0xe0, 0xab, 0xf2, 0xd7, 0x08, 0x24, 0x5b, 0xb6, 0xee, 0x3c, 0xff, 0xea, 0x00, 0xa8,
+	0xde, 0x00, 0x60, 0x71, 0xf9, 0x3e, 0x07, 0xab, 0xff, 0x72, 0xe2, 0xf7, 0x8f, 0x08, 0x40, 0x73,
+	0x3c, 0x41, 0xb0, 0x00, 0x77, 0x39, 0x28, 0xf6, 0xd8, 0xbd, 0x24, 0xd6, 0x1c, 0x88, 0x2a, 0x47,
+	0xb7, 0xc9, 0x55, 0x01, 0x8a, 0x01, 0x48, 0xe1, 0x29, 0x90, 0xf6, 0x40, 0x9e, 0xf3, 0x0f, 0x40,
+	0xcc, 0xd8, 0xd3, 0xce, 0x9f, 0x0f, 0x9c, 0xed, 0x1b, 0xe0, 0xfc, 0xee, 0xf2, 0x6d, 0xbf, 0xde,
+	0x8c, 0x2f, 0x11, 0xa0, 0xca, 0x7b, 0x20, 0x7d, 0xe2, 0x61, 0x67, 0x5c, 0x37, 0xa8, 0x8b, 0xb2,
+	0x90, 0xb8, 0xf2, 0xb0, 0xc3, 0x96, 0x1b, 0xe2, 0xfb, 0x11, 0x7c, 0x2a, 0xbf, 0x8a, 0x42, 0xa2,
+	0x66, 0x8c, 0x30, 0x83, 0xfa, 0x01, 0x64, 0x98, 0x78, 0xbc, 0x58, 0xa9, 0x77, 0xb8, 0x3c, 0x40,
+	0xb8, 0x02, 0x20, 0xec, 0x4c, 0x83, 0xba, 0x7c, 0xe6, 0x54, 0xf1, 0xfe, 0xf2, 0x55, 0x4e, 0xd2,
+	0x60, 0xc5, 0x7c, 0x35, 0xc9, 0x29, 0x0f, 0x5f, 0xeb, 0x12, 0xcb, 0x35, 0x2c, 0x0f, 0x6b, 0x8c,
+	0x18, 0xba, 0x61, 0x7a, 0x0e, 0xce, 0x46, 0x76, 0x43, 0x7b, 0x49, 0x75, 0x27, 0x50, 0x9d, 0x59,
+	0xc7, 0x42, 0x81, 0x74, 0x90, 0x69, 0xd7, 0x31, 0x6c, 0x57, 0x1b, 0xe9, 0x8e, 0xa1, 0x77, 0x4c,
+	0x2c, 0xc8, 0x91, 0x2a, 0x3e, 0x5a, 0xd1, 0x4b, 0xc5, 0xd2, 0xf2, 0x2d, 0xee, 0xf9, 0x34, 0x70,
+	0xf4, 0x4f, 0x58, 0x3a, 0x2b, 0x45, 0x9f, 0xcc, 0x10, 0x23, 0xc6, 0x83, 0xef, 0xaf, 0x0f, 0xbe,
+	0x8a, 0x15, 0x0b, 0x7c, 0x8e, 0x2f, 0xf0, 0x39, 0x77, 0x04, 0x77, 0x6f, 0xca, 0xef, 0x36, 0x70,
+	0xbf, 0x6e, 0xf9, 0x4b, 0x13, 0x82, 0x28, 0x7f, 0x89, 0x42, 0x8a, 0x13, 0xbe, 0x75, 0x65, 0x7e,
+	0xfe, 0xac, 0xc0, 0x37, 0xa0, 0x1c, 0xe1, 0x40, 0x1c, 0xac, 0x69, 0xb8, 0x22, 0xdd, 0x0d, 0x91,
+	0x3e, 0x9f, 0x41, 0x5a, 0xd0, 0xe8, 0x7b, 0x9b, 0x4d, 0x70, 0x2b, 0xb4, 0x1f, 0x2f, 0x76, 0xaf,
+	0xc5, 0x3e, 0x11, 0x7f, 0xad, 0x3e, 0xf1, 0xc5, 0x62, 0xcf, 0xbf, 0xa3, 0x10, 0x6f, 0x1a, 0xfd,
+	0x2f, 0x7e, 0x3b, 0x79, 0xb6, 0xb4, 0x9d, 0xac, 0xe0, 0x81, 0x58, 0xd9, 0x86, 0x1c, 0x6b, 0xde,
+	0xd0, 0x4d, 0xbe, 0xb3, 0x36, 0xf6, 0x6b, 0x36, 0x93, 0x1b, 0xe8, 0x95, 0xf8, 0x0a, 0xd1, 0xab,
+	0x0d, 0x77, 0x4e, 0x49, 0xa7, 0x69, 0xea, 0x5d, 0x3c, 0xc4, 0x96, 0xcb, 0x4e, 0xfb, 0xae, 0xe9,
+	0x51, 0x17, 0x3b, 0x9a, 0xa5, 0x0f, 0xb1, 0x1f, 0x2f, 0xe5, 0xcb, 0x1a, 0xfa, 0x10, 0x4f, 0x9b,
+	0x78, 0x9e, 0xd1, 0xf3, 0xc3, 0x07, 0x26, 0xe7, 0x9e, 0xd1, 0x53, 0xfe, 0x1e, 0x06, 0xe9, 0x94,
+	0x74, 0x5a, 0xae, 0xee, 0x7a, 0x14, 0x7d, 0x04, 0x31, 0xea, 0xea, 0xae, 0x08, 0x96, 0x29, 0xbe,
+	0xbf, 0x7c, 0xe3, 0x26, 0x3e, 0x79, 0xf6, 0x07, 0xab, 0xc2, 0x8f, 0x9d, 0xb6, 0x3d, 0xec, 0xea,
+	0x86, 0xe9, 0x5f, 0x62, 0xd5, 0xe0, 0x13, 0x55, 0x40, 0xe6, 0x26, 0x1a, 0x75, 0x75, 0xc7, 0xd5,
+	0xd8, 0xeb, 0xd2, 0xaf, 0xfe, 0x5c, 0x30, 0x4b, 0xf0, 0xf4, 0xcc, 0xb7, 0x83, 0xa7, 0xa7, 0x9a,
+	0xe1, 0x3e, 0x2d, 0xe6, 0xc2, 0x84, 0xca, 0xef, 0x42, 0x10, 0xe3, 0x13, 0xb2, 0x67, 0x59, 0xab,
+	0x5d, 0x6a, 0x57, 0xe7, 0x9e, 0x65, 0x29, 0x48, 0x34, 0xab, 0x8d, 0xca, 0x49, 0xe3, 0x89, 0x1c,
+	0x42, 0x19, 0x80, 0x56, 0xb5, 0x7d, 0xde, 0xd4, 0x2a, 0x67, 0x8d, 0xaa, 0x9c, 0x64, 0x4a, 0xf5,
+	0xbc, 0xd1, 0x60, 0xca, 0x30, 0x42, 0x90, 0x29, 0x97, 0x1a, 0xe5, 0x6a, 0x5d, 0x0b, 0x1c, 0x22,
+	0x53, 0xb2, 0x56, 0xbb, 0xa4, 0xb6, 0xab, 0x15, 0x39, 0x81, 0xd2, 0x20, 0x09, 0x59, 0xbd, 0x5a,
+	0x11, 0xcf, 0x39, 0x1e, 0x6d, 0xfa, 0x39, 0xa7, 0x54, 0x38, 0x36, 0x2a, 0xbe, 0xc0, 0x0e, 0xb6,
+	0xba, 0x18, 0xbd, 0xcd, 0xf9, 0x3f, 0xc0, 0x5d, 0x57, 0x33, 0x7a, 0x3e, 0x32, 0x92, 0x2f, 0x39,
+	0xe9, 0xa1, 0x37, 0x20, 0x3e, 0x20, 0x1d, 0x6d, 0x82, 0x48, 0x6c, 0x40, 0x3a, 0x27, 0x3d, 0xe5,
+	0xcf, 0x71, 0x88, 0xb0, 0xee, 0x51, 0x01, 0xc9, 0x09, 0x42, 0x71, 0xe7, 0x54, 0xf1, 0xc1, 0x4a,
+	0x24, 0x26, 0x13, 0xab, 0xd7, 0x8e, 0x2c, 0x8a, 0x1d, 0x90, 0xc5, 0x6f, 0x2d, 0xab, 0xa3, 0x4c,
+	0xa8, 0xa5, 0x5e, 0x3b, 0xb2, 0x0e, 0x75, 0xc9, 0x1f, 0x65, 0xda, 0x80, 0x74, 0x78, 0x4b, 0x59,
+	0xd9, 0xa1, 0x26, 0x0f, 0x38, 0xd6, 0xa1, 0x2e, 0x27, 0x8f, 0xd9, 0x12, 0x48, 0x94, 0x9d, 0x23,
+	0x3c, 0x48, 0x94, 0x07, 0x51, 0xd6, 0x3f, 0x22, 0x6a, 0x5b, 0x6a, 0x92, 0x06, 0x97, 0xf1, 0x27,
+	0x90, 0xb2, 0xc7, 0xd7, 0x41, 0x62, 0x3c, 0xc8, 0x37, 0x36, 0xb9, 0xba, 0xd6, 0xb6, 0x54, 0xf0,
+	0x5d, 0x59, 0xa0, 0x1f, 0x41, 0x92, 0x5f, 0x91, 0x59, 0x14, 0x41, 0xc0, 0x77, 0xd7, 0xde, 0x73,
+	0x6a, 0x5b, 0x6a, 0xe2, 0xd2, 0xbf, 0x2a, 0x1e, 0x42, 0xc2, 0x36, 0xfa, 0xdc, 0x5d, 0xb4, 0x97,
+	0xdd, 0x75, 0x8d, 0xad, 0xb6, 0xa5, 0xc6, 0x6d, 0x71, 0x30, 0xfc, 0x18, 0xd2, 0x62, 0x0d, 0xf4,
+	0xca, 0xe4, 0x21, 0xee, 0xf0, 0x10, 0xef, 0x6d, 0x74, 0xfe, 0xd6, 0xb6, 0xd4, 0x14, 0x9d, 0xba,
+	0x9e, 0x1c, 0x42, 0x9c, 0xf2, 0x1a, 0xf4, 0xaf, 0xdb, 0xf7, 0x37, 0x28, 0x57, 0xd5, 0x77, 0x41,
+	0xa7, 0x90, 0x11, 0x23, 0xed, 0xd2, 0xa0, 0x2e, 0x71, 0xc6, 0xd9, 0x34, 0x6f, 0xd3, 0x1b, 0x05,
+	0x49, 0x0b, 0xd7, 0x9a, 0xf0, 0x44, 0x87, 0x90, 0xf3, 0x7f, 0x08, 0x22, 0x9e, 0x6b, 0x7b, 0xae,
+	0xe6, 0x60, 0x4a, 0x3c, 0xa7, 0x2b, 0x8e, 0xbe, 0x1d, 0xce, 0xf1, 0xaf, 0x0b, 0x8b, 0x33, 0x6e,
+	0xa0, 0xfa, 0x7a, 0x76, 0x06, 0x7e, 0x08, 0x59, 0xdf, 0x99, 0x9d, 0x54, 0x0e, 0x31, 0x79, 0x93,
+	0xa7, 0xdc, 0x75, 0x9b, 0xbb, 0xbe, 0x21, 0xf4, 0x65, 0xa1, 0x66, 0xed, 0x9e, 0x9e, 0x3b, 0xc6,
+	0x11, 0x40, 0xd2, 0x1d, 0xdb, 0x1c, 0x48, 0xe5, 0x05, 0xc8, 0x2d, 0xaf, 0x33, 0x34, 0x5c, 0x5e,
+	0x0d, 0x57, 0x1e, 0xa6, 0xee, 0xba, 0x22, 0x7c, 0x13, 0xe2, 0x0e, 0xee, 0x1b, 0xc4, 0xe2, 0xac,
+	0x96, 0x54, 0xff, 0x0b, 0x15, 0x20, 0xc2, 0x80, 0x11, 0x15, 0xf3, 0xf6, 0xea, 0xba, 0x63, 0x96,
+	0xca, 0xcf, 0x21, 0xfd, 0x04, 0xff, 0x1f, 0x26, 0x5e, 0xd2, 0x15, 0xfe, 0x19, 0x86, 0x6d, 0x76,
+	0xcc, 0x9f, 0x92, 0x0e, 0xbd, 0xf5, 0x0c, 0xf1, 0x99, 0x19, 0xee, 0x81, 0x64, 0xeb, 0x7d, 0xac,
+	0x51, 0xe3, 0x85, 0x38, 0x6b, 0x62, 0x6a, 0x92, 0x09, 0x5a, 0xc6, 0x0b, 0xd1, 0xb3, 0x98, 0xd2,
+	0x25, 0xcf, 0x71, 0x90, 0x1a, 0x37, 0x6f, 0x33, 0xc1, 0xc2, 0x71, 0x13, 0x5d, 0x3c, 0x6e, 0x30,
+	0xec, 0xb0, 0x05, 0x88, 0x36, 0x3f, 0xd4, 0xdd, 0xee, 0x25, 0x76, 0x78, 0xa1, 0x66, 0x8a, 0xdf,
+	0x5f, 0x71, 0x04, 0xcf, 0xae, 0x2d, 0x60, 0x19, 0xfe, 0x89, 0x08, 0xa0, 0x6e, 0x0f, 0x66, 0x05,
+	0xca, 0x23, 0xd8, 0x9e, 0xb3, 0x09, 0x7e, 0x8c, 0xdb, 0x42, 0x00, 0xf1, 0x52, 0xb9, 0x7d, 0xf2,
+	0xb4, 0x2a, 0xba, 0x7f, 0xe3, 0xac, 0xa1, 0xf9, 0xdf, 0x61, 0x65, 0x08, 0xf2, 0xf5, 0x5c, 0xd4,
+	0x26, 0x16, 0xc5, 0x68, 0x1f, 0xa2, 0x03, 0xd2, 0x11, 0x4f, 0xc3, 0xb5, 0x68, 0x73, 0x53, 0xf4,
+	0x00, 0xb6, 0x2d, 0xfc, 0x0b, 0x57, 0x9b, 0xda, 0x2c, 0x81, 0x57, 0x9a, 0x89, 0x9b, 0xc1, 0x86,
+	0x29, 0xcf, 0x40, 0x2e, 0xeb, 0x56, 0x17, 0x9b, 0x9f, 0x19, 0x33, 0x9e, 0x81, 0x5c, 0xc1, 0x26,
+	0x76, 0xf1, 0x67, 0x35, 0x43, 0xf1, 0xf7, 0x71, 0x48, 0x9f, 0x92, 0x8e, 0x5f, 0x79, 0x26, 0x76,
+	0xd0, 0x1f, 0x42, 0x20, 0x4d, 0x2a, 0x0d, 0x3d, 0x5c, 0xd1, 0xb7, 0xe6, 0xca, 0x31, 0xb7, 0x7a,
+	0x73, 0x95, 0xd2, 0x2f, 0xff, 0xf5, 0xdf, 0xdf, 0x86, 0x0f, 0x95, 0x47, 0x85, 0xd1, 0x7e, 0xc1,
+	0x4f, 0x98, 0x16, 0x5e, 0x5e, 0x2f, 0xe6, 0x55, 0x41, 0xe4, 0x4a, 0x0b, 0x2f, 0xc5, 0xe0, 0x15,
+	0xff, 0x4d, 0xfc, 0x80, 0xf2, 0x89, 0x0e, 0x42, 0x0f, 0xd1, 0x6f, 0x42, 0x10, 0x17, 0x95, 0x88,
+	0x56, 0x5c, 0xf9, 0x66, 0x6a, 0x75, 0x5d, 0x56, 0x1f, 0xf3, 0xac, 0x0e, 0xd0, 0xe3, 0x5b, 0x66,
+	0x55, 0x78, 0x29, 0xb6, 0xf3, 0x15, 0xfa, 0x63, 0x08, 0x92, 0x01, 0xed, 0xd0, 0xfb, 0x1b, 0x97,
+	0x41, 0xee, 0xe1, 0x26, 0xa6, 0x82, 0xc5, 0xca, 0x87, 0x3c, 0xcb, 0x7d, 0x54, 0xb8, 0x65, 0x96,
+	0xe8, 0x4f, 0x21, 0x90, 0x26, 0x24, 0x5d, 0x85, 0xe6, 0x3c, 0x93, 0xd7, 0xed, 0xdb, 0x29, 0xcf,
+	0xa8, 0xa2, 0x7c, 0xf4, 0x69, 0xf7, 0xed, 0xa0, 0xcb, 0x67, 0x64, 0xb0, 0xfe, 0x3a, 0x04, 0xd2,
+	0x84, 0xe7, 0xab, 0x92, 0x9c, 0x2f, 0x86, 0xdc, 0x9b, 0x0b, 0x37, 0xcb, 0xea, 0xd0, 0x76, 0xc7,
+	0x01, 0xaa, 0x0f, 0x3f, 0x35, 0xaa, 0x47, 0x43, 0x78, 0xab, 0x4b, 0x86, 0x4b, 0x53, 0x39, 0x62,
+	0x77, 0x6a, 0xda, 0x64, 0xb3, 0x36, 0x43, 0x3f, 0xfb, 0xd8, 0x37, 0xeb, 0x13, 0x53, 0xb7, 0xfa,
+	0x79, 0xe2, 0xf4, 0x0b, 0x7d, 0x6c, 0xf1, 0x9c, 0x0a, 0x42, 0xa5, 0xdb, 0x06, 0x5d, 0xfc, 0x9f,
+	0xcf, 0x61, 0x30, 0xee, 0xc4, 0xb9, 0xf1, 0x07, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xaf, 0x59,
+	0x9b, 0xa1, 0x1f, 0x1a, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/jobs.proto b/googleapis/cloud/dataproc/v1/jobs.proto
deleted file mode 100644
index 303804ed..00000000
--- a/googleapis/cloud/dataproc/v1/jobs.proto
+++ /dev/null
@@ -1,572 +0,0 @@
-// 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
index 803d92af..f29c49a4 100644
--- a/googleapis/cloud/dataproc/v1/operations.pb.go
+++ b/googleapis/cloud/dataproc/v1/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/dataproc/v1/operations.proto
+// source: google/cloud/dataproc/v1/operations.proto
 // DO NOT EDIT!
 
-package google_cloud_dataproc_v1 // import "google.golang.org/genproto/googleapis/cloud/dataproc/v1"
+package dataproc
 
 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/api/annotations"
 import _ "google.golang.org/genproto/googleapis/longrunning"
 import _ "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
@@ -68,6 +68,27 @@ func (m *ClusterOperationStatus) String() string            { return proto.Compa
 func (*ClusterOperationStatus) ProtoMessage()               {}
 func (*ClusterOperationStatus) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *ClusterOperationStatus) GetState() ClusterOperationStatus_State {
+	if m != nil {
+		return m.State
+	}
+	return ClusterOperationStatus_UNKNOWN
+}
+
+func (m *ClusterOperationStatus) GetInnerState() string {
+	if m != nil {
+		return m.InnerState
+	}
+	return ""
+}
+
+func (m *ClusterOperationStatus) GetDetails() string {
+	if m != nil {
+		return m.Details
+	}
+	return ""
+}
+
 func (m *ClusterOperationStatus) GetStateStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StateStartTime
@@ -96,6 +117,20 @@ func (m *ClusterOperationMetadata) String() string            { return proto.Com
 func (*ClusterOperationMetadata) ProtoMessage()               {}
 func (*ClusterOperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
+func (m *ClusterOperationMetadata) GetClusterName() string {
+	if m != nil {
+		return m.ClusterName
+	}
+	return ""
+}
+
+func (m *ClusterOperationMetadata) GetClusterUuid() string {
+	if m != nil {
+		return m.ClusterUuid
+	}
+	return ""
+}
+
 func (m *ClusterOperationMetadata) GetStatus() *ClusterOperationStatus {
 	if m != nil {
 		return m.Status
@@ -110,48 +145,58 @@ func (m *ClusterOperationMetadata) GetStatusHistory() []*ClusterOperationStatus
 	return nil
 }
 
+func (m *ClusterOperationMetadata) GetOperationType() string {
+	if m != nil {
+		return m.OperationType
+	}
+	return ""
+}
+
+func (m *ClusterOperationMetadata) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 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)
-}
+func init() { proto.RegisterFile("google/cloud/dataproc/v1/operations.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 497 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x52, 0xdd, 0x6a, 0xdb, 0x30,
-	0x18, 0x9d, 0x93, 0xb6, 0x69, 0xe5, 0x36, 0x0b, 0xba, 0x18, 0x22, 0x0c, 0x96, 0x05, 0x06, 0xb9,
-	0xb2, 0x96, 0x16, 0xc6, 0x60, 0x77, 0x59, 0xca, 0x52, 0xb6, 0x39, 0x21, 0x6d, 0xe8, 0x65, 0x50,
-	0x6c, 0x55, 0x15, 0xd8, 0x92, 0x90, 0xe4, 0x40, 0x1e, 0x67, 0xef, 0xb3, 0x87, 0x1a, 0x92, 0xe2,
-	0x2c, 0xfb, 0x29, 0xeb, 0x7a, 0x63, 0xeb, 0xfb, 0x39, 0xe7, 0x3b, 0xe7, 0x93, 0xc0, 0x84, 0x49,
-	0xc9, 0x0a, 0x9a, 0x30, 0x59, 0x10, 0xc1, 0x12, 0xa9, 0x19, 0x66, 0x54, 0x28, 0x2d, 0xad, 0xc4,
-	0xa1, 0x44, 0x14, 0x37, 0x38, 0x2b, 0x64, 0x95, 0xe3, 0x9c, 0x58, 0xa2, 0xb4, 0xcc, 0xf0, 0x7a,
-	0x88, 0xa5, 0xa2, 0x9a, 0x58, 0x2e, 0x85, 0x49, 0x7c, 0x37, 0x44, 0x5b, 0x26, 0xdf, 0x9a, 0xd4,
-	0xad, 0xc9, 0x7a, 0xd8, 0xbd, 0x7a, 0xdc, 0x0c, 0xa2, 0x38, 0x36, 0x54, 0xaf, 0x79, 0x46, 0x33,
-	0x29, 0xee, 0x38, 0xc3, 0x44, 0x08, 0x69, 0xf7, 0x87, 0x74, 0x47, 0x8f, 0xa3, 0x2a, 0xa4, 0x60,
-	0xba, 0x12, 0x82, 0x0b, 0xf6, 0x87, 0xd0, 0xee, 0x05, 0xe3, 0xf6, 0xbe, 0x5a, 0x25, 0x99, 0x2c,
-	0x71, 0xe0, 0xc1, 0xbe, 0xb0, 0xaa, 0xee, 0xb0, 0xb2, 0x1b, 0x45, 0x0d, 0xa6, 0xa5, 0xb2, 0x9b,
-	0xf0, 0xdd, 0x82, 0x3e, 0xfc, 0x1b, 0x64, 0x79, 0x49, 0x8d, 0x25, 0xa5, 0xfa, 0x79, 0x0a, 0xe0,
-	0xfe, 0xb7, 0x06, 0x78, 0xf1, 0xb1, 0xa8, 0x8c, 0xa5, 0x7a, 0x5a, 0xab, 0xb9, 0xb6, 0xc4, 0x56,
-	0x06, 0x7e, 0x01, 0x87, 0xc6, 0x12, 0x4b, 0x51, 0xd4, 0x8b, 0x06, 0xed, 0xf3, 0x77, 0xc9, 0x43,
-	0x5b, 0x4c, 0xfe, 0x4e, 0x90, 0xb8, 0x1f, 0x9d, 0x07, 0x12, 0xf8, 0x0a, 0xc4, 0x5c, 0x08, 0xaa,
-	0x97, 0x81, 0xb3, 0xd1, 0x8b, 0x06, 0x27, 0x73, 0xe0, 0x53, 0xbe, 0x0f, 0x22, 0xd0, 0xca, 0xa9,
-	0x25, 0xbc, 0x30, 0xa8, 0xe9, 0x8b, 0x75, 0x08, 0xc7, 0xa0, 0xe3, 0x41, 0x0e, 0xaa, 0xed, 0xd2,
-	0x59, 0x40, 0x07, 0xbd, 0x68, 0x10, 0x9f, 0x77, 0x6b, 0x4d, 0xb5, 0xe1, 0xe4, 0xa6, 0xf6, 0x37,
-	0x6f, 0x7b, 0xcc, 0xb5, 0x83, 0xb8, 0x64, 0xff, 0x3d, 0x38, 0x0c, 0x83, 0x62, 0xd0, 0x5a, 0xa4,
-	0x9f, 0xd3, 0xe9, 0x6d, 0xda, 0x79, 0xe6, 0x82, 0xd9, 0x65, 0x3a, 0xbe, 0x4a, 0x3f, 0x75, 0x22,
-	0x17, 0xcc, 0x17, 0x69, 0xea, 0x82, 0x06, 0x3c, 0x06, 0x07, 0xe3, 0x69, 0x7a, 0xd9, 0x69, 0xf6,
-	0xbf, 0x37, 0x00, 0xfa, 0xdd, 0xe2, 0x57, 0x6a, 0x89, 0x5b, 0x01, 0x7c, 0x0d, 0x4e, 0xb3, 0x50,
-	0x5b, 0x0a, 0x52, 0x52, 0xd4, 0xf2, 0xda, 0xe3, 0x6d, 0x2e, 0x25, 0x25, 0xdd, 0x6f, 0xa9, 0x2a,
-	0x9e, 0xa3, 0xe3, 0x5f, 0x5a, 0x16, 0x15, 0xcf, 0xe1, 0x04, 0x1c, 0x19, 0xbf, 0x34, 0x74, 0xe2,
-	0x8d, 0xbd, 0xfd, 0xdf, 0x65, 0xcf, 0xb7, 0x78, 0x78, 0x0b, 0xda, 0xe1, 0xb4, 0xbc, 0xe7, 0xc6,
-	0x4a, 0xbd, 0x41, 0xa0, 0xd7, 0x7c, 0x12, 0xe3, 0x59, 0xe0, 0x99, 0x04, 0x1a, 0xf8, 0x06, 0xb4,
-	0x77, 0xef, 0x75, 0xe9, 0x9e, 0x15, 0x8a, 0xbd, 0x8f, 0xb3, 0x5d, 0xf6, 0x66, 0xa3, 0x28, 0xec,
-	0x81, 0x38, 0xa7, 0x26, 0xd3, 0x5c, 0xb9, 0x14, 0x3a, 0x0d, 0x5e, 0xf7, 0x52, 0xa3, 0x21, 0x78,
-	0x99, 0xc9, 0xf2, 0x41, 0x39, 0xa3, 0xe7, 0x3b, 0x21, 0x66, 0xe6, 0xae, 0x75, 0x16, 0xad, 0x8e,
-	0xfc, 0xfd, 0x5e, 0xfc, 0x08, 0x00, 0x00, 0xff, 0xff, 0xc4, 0x53, 0x8b, 0x67, 0x13, 0x04, 0x00,
-	0x00,
+	// 479 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x53, 0x4f, 0x6f, 0xd3, 0x30,
+	0x14, 0x27, 0xed, 0xb6, 0x6e, 0xce, 0x56, 0x2a, 0x1f, 0x90, 0x55, 0x26, 0x2d, 0x14, 0x21, 0x95,
+	0x4b, 0xc2, 0x86, 0x84, 0x90, 0xb8, 0xa0, 0xd1, 0x89, 0x21, 0xc0, 0xad, 0xb2, 0x55, 0x93, 0xb8,
+	0x44, 0x5e, 0x62, 0x82, 0xa5, 0xc4, 0xb6, 0x6c, 0x67, 0x52, 0x3f, 0x0e, 0xdf, 0x87, 0x0f, 0x85,
+	0x6c, 0x27, 0x55, 0xd9, 0xe8, 0x01, 0x4e, 0xf1, 0x7b, 0xbf, 0x3f, 0x79, 0xbf, 0xe7, 0x04, 0xbc,
+	0x2c, 0x85, 0x28, 0x2b, 0x9a, 0xe4, 0x95, 0x68, 0x8a, 0xa4, 0x20, 0x86, 0x48, 0x25, 0xf2, 0xe4,
+	0xee, 0x34, 0x11, 0x92, 0x2a, 0x62, 0x98, 0xe0, 0x3a, 0x96, 0x4a, 0x18, 0x01, 0x91, 0xa7, 0xc6,
+	0x8e, 0x1a, 0x77, 0xd4, 0xf8, 0xee, 0x74, 0x7c, 0xdc, 0x9a, 0x10, 0xc9, 0x12, 0xc2, 0xb9, 0x30,
+	0x9b, 0xba, 0xf1, 0xf3, 0x16, 0xad, 0x04, 0x2f, 0x55, 0xc3, 0x39, 0xe3, 0xe5, 0x03, 0xf3, 0xf1,
+	0xd3, 0x96, 0xe4, 0xaa, 0xdb, 0xe6, 0x7b, 0x42, 0x6b, 0x69, 0x56, 0x2d, 0x78, 0x72, 0x1f, 0x34,
+	0xac, 0xa6, 0xda, 0x90, 0x5a, 0x7a, 0xc2, 0xe4, 0x67, 0x0f, 0x3c, 0xf9, 0x50, 0x35, 0xda, 0x50,
+	0x35, 0xef, 0x9c, 0xaf, 0x0c, 0x31, 0x8d, 0x86, 0x5f, 0xc0, 0xae, 0x36, 0xc4, 0x50, 0x14, 0x44,
+	0xc1, 0x74, 0x78, 0xf6, 0x26, 0xde, 0x96, 0x22, 0xfe, 0xbb, 0x41, 0x6c, 0x1f, 0x34, 0xf5, 0x26,
+	0xf0, 0x04, 0x84, 0x8c, 0x73, 0xaa, 0x32, 0xef, 0xd9, 0x8b, 0x82, 0xe9, 0x41, 0x0a, 0x5c, 0xcb,
+	0xf1, 0x20, 0x02, 0x83, 0x82, 0x1a, 0xc2, 0x2a, 0x8d, 0xfa, 0x0e, 0xec, 0x4a, 0x38, 0x03, 0x23,
+	0x27, 0xb2, 0x52, 0x65, 0x32, 0x1b, 0x01, 0xed, 0x44, 0xc1, 0x34, 0x3c, 0x1b, 0x77, 0x33, 0x75,
+	0xf9, 0xe2, 0xeb, 0x2e, 0x5f, 0x3a, 0x74, 0x9a, 0x2b, 0x2b, 0xb1, 0xcd, 0xc9, 0x5b, 0xb0, 0xeb,
+	0x5f, 0x14, 0x82, 0xc1, 0x12, 0x7f, 0xc6, 0xf3, 0x1b, 0x3c, 0x7a, 0x64, 0x8b, 0xc5, 0x05, 0x9e,
+	0x7d, 0xc2, 0x1f, 0x47, 0x81, 0x2d, 0xd2, 0x25, 0xc6, 0xb6, 0xe8, 0xc1, 0x7d, 0xb0, 0x33, 0x9b,
+	0xe3, 0x8b, 0x51, 0x7f, 0xf2, 0xab, 0x07, 0xd0, 0xfd, 0x88, 0x5f, 0xa9, 0x21, 0x76, 0x05, 0xf0,
+	0x19, 0x38, 0xcc, 0x3d, 0x96, 0x71, 0x52, 0x53, 0x34, 0x70, 0xb3, 0x87, 0x6d, 0x0f, 0x93, 0x9a,
+	0x6e, 0x52, 0x9a, 0x86, 0x15, 0x68, 0xff, 0x0f, 0xca, 0xb2, 0x61, 0x05, 0xbc, 0x04, 0x7b, 0xda,
+	0x2d, 0x0d, 0x1d, 0xb8, 0x60, 0xaf, 0xfe, 0x75, 0xd9, 0x69, 0xab, 0x87, 0x37, 0x60, 0xe8, 0x4f,
+	0xd9, 0x0f, 0xa6, 0x8d, 0x50, 0x2b, 0x04, 0xa2, 0xfe, 0x7f, 0x39, 0x1e, 0x79, 0x9f, 0x4b, 0x6f,
+	0x03, 0x5f, 0x80, 0xe1, 0xfa, 0xdb, 0xcb, 0xcc, 0x4a, 0x52, 0x14, 0xba, 0x1c, 0x47, 0xeb, 0xee,
+	0xf5, 0x4a, 0x52, 0x18, 0x81, 0xb0, 0xa0, 0x3a, 0x57, 0x4c, 0xda, 0x16, 0x3a, 0xf4, 0x59, 0x37,
+	0x5a, 0xe7, 0x1a, 0x1c, 0xe7, 0xa2, 0xde, 0x3a, 0xce, 0xf9, 0xe3, 0xf5, 0x20, 0x7a, 0x61, 0xaf,
+	0x75, 0x11, 0x7c, 0x7b, 0xdf, 0x92, 0x4b, 0x51, 0x11, 0x5e, 0xc6, 0x42, 0x95, 0x49, 0x49, 0xb9,
+	0xbb, 0xf4, 0xc4, 0x43, 0x44, 0x32, 0xfd, 0xf0, 0x57, 0x7c, 0xd7, 0x9d, 0x6f, 0xf7, 0x1c, 0xf9,
+	0xf5, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2c, 0x8c, 0x74, 0x3e, 0xb6, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/dataproc/v1/operations.proto b/googleapis/cloud/dataproc/v1/operations.proto
deleted file mode 100644
index 5c36ce13..00000000
--- a/googleapis/cloud/dataproc/v1/operations.proto
+++ /dev/null
@@ -1,78 +0,0 @@
-// 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/functions/v1beta2/functions.pb.go b/googleapis/cloud/functions/v1beta2/functions.pb.go
index e3dbf16b..401ca64d 100644
--- a/googleapis/cloud/functions/v1beta2/functions.pb.go
+++ b/googleapis/cloud/functions/v1beta2/functions.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto
+// source: google/cloud/functions/v1beta2/functions.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_functions_v1beta2 is a generated protocol buffer package.
+Package functions is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto
-	google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto
+	google/cloud/functions/v1beta2/functions.proto
+	google/cloud/functions/v1beta2/operations.proto
 
 It has these top-level messages:
 	CloudFunction
@@ -24,12 +24,12 @@ It has these top-level messages:
 	CallFunctionResponse
 	OperationMetadataV1Beta2
 */
-package google_cloud_functions_v1beta2 // import "google.golang.org/genproto/googleapis/cloud/functions/v1beta2"
+package functions
 
 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/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 
@@ -179,6 +179,13 @@ func (m *CloudFunction) GetTrigger() isCloudFunction_Trigger {
 	return nil
 }
 
+func (m *CloudFunction) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *CloudFunction) GetGcsUrl() string {
 	if x, ok := m.GetSourceCode().(*CloudFunction_GcsUrl); ok {
 		return x.GcsUrl
@@ -221,6 +228,27 @@ func (m *CloudFunction) GetEventTrigger() *EventTrigger {
 	return nil
 }
 
+func (m *CloudFunction) GetStatus() CloudFunctionStatus {
+	if m != nil {
+		return m.Status
+	}
+	return CloudFunctionStatus_STATUS_UNSPECIFIED
+}
+
+func (m *CloudFunction) GetLatestOperation() string {
+	if m != nil {
+		return m.LatestOperation
+	}
+	return ""
+}
+
+func (m *CloudFunction) GetEntryPoint() string {
+	if m != nil {
+		return m.EntryPoint
+	}
+	return ""
+}
+
 func (m *CloudFunction) GetTimeout() *google_protobuf3.Duration {
 	if m != nil {
 		return m.Timeout
@@ -228,6 +256,20 @@ func (m *CloudFunction) GetTimeout() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *CloudFunction) GetAvailableMemoryMb() int32 {
+	if m != nil {
+		return m.AvailableMemoryMb
+	}
+	return 0
+}
+
+func (m *CloudFunction) GetServiceAccount() string {
+	if m != nil {
+		return m.ServiceAccount
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*CloudFunction) 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 _CloudFunction_OneofMarshaler, _CloudFunction_OneofUnmarshaler, _CloudFunction_OneofSizer, []interface{}{
@@ -389,6 +431,13 @@ func (m *HTTPSTrigger) String() string            { return proto.CompactTextStri
 func (*HTTPSTrigger) ProtoMessage()               {}
 func (*HTTPSTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *HTTPSTrigger) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // Describes EventTrigger, used to request events be sent from another
 // service.
 type EventTrigger struct {
@@ -422,6 +471,27 @@ func (m *EventTrigger) String() string            { return proto.CompactTextStri
 func (*EventTrigger) ProtoMessage()               {}
 func (*EventTrigger) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *EventTrigger) GetEventType() string {
+	if m != nil {
+		return m.EventType
+	}
+	return ""
+}
+
+func (m *EventTrigger) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *EventTrigger) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
 // Describes the location of the function source in a remote repository.
 type SourceRepository struct {
 	// URL to the hosted repository where the function is defined. Only paths in
@@ -479,6 +549,20 @@ func (m *SourceRepository) GetVersion() isSourceRepository_Version {
 	return nil
 }
 
+func (m *SourceRepository) GetRepositoryUrl() string {
+	if m != nil {
+		return m.RepositoryUrl
+	}
+	return ""
+}
+
+func (m *SourceRepository) GetSourcePath() string {
+	if m != nil {
+		return m.SourcePath
+	}
+	return ""
+}
+
 func (m *SourceRepository) GetBranch() string {
 	if x, ok := m.GetVersion().(*SourceRepository_Branch); ok {
 		return x.Branch
@@ -500,6 +584,13 @@ func (m *SourceRepository) GetRevision() string {
 	return ""
 }
 
+func (m *SourceRepository) GetDeployedRevision() string {
+	if m != nil {
+		return m.DeployedRevision
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*SourceRepository) 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 _SourceRepository_OneofMarshaler, _SourceRepository_OneofUnmarshaler, _SourceRepository_OneofSizer, []interface{}{
@@ -595,6 +686,13 @@ func (m *CreateFunctionRequest) String() string            { return proto.Compac
 func (*CreateFunctionRequest) ProtoMessage()               {}
 func (*CreateFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *CreateFunctionRequest) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
 func (m *CreateFunctionRequest) GetFunction() *CloudFunction {
 	if m != nil {
 		return m.Function
@@ -615,6 +713,13 @@ func (m *UpdateFunctionRequest) String() string            { return proto.Compac
 func (*UpdateFunctionRequest) ProtoMessage()               {}
 func (*UpdateFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *UpdateFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateFunctionRequest) GetFunction() *CloudFunction {
 	if m != nil {
 		return m.Function
@@ -633,6 +738,13 @@ func (m *GetFunctionRequest) String() string            { return proto.CompactTe
 func (*GetFunctionRequest) ProtoMessage()               {}
 func (*GetFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the ListFunctions method.
 type ListFunctionsRequest struct {
 	// The project and location from which the function should be listed,
@@ -653,6 +765,27 @@ func (m *ListFunctionsRequest) String() string            { return proto.Compact
 func (*ListFunctionsRequest) ProtoMessage()               {}
 func (*ListFunctionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListFunctionsRequest) GetLocation() string {
+	if m != nil {
+		return m.Location
+	}
+	return ""
+}
+
+func (m *ListFunctionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListFunctionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListFunctions method.
 type ListFunctionsResponse struct {
 	// The functions that match the request.
@@ -675,6 +808,13 @@ func (m *ListFunctionsResponse) GetFunctions() []*CloudFunction {
 	return nil
 }
 
+func (m *ListFunctionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteFunction method.
 type DeleteFunctionRequest struct {
 	// The name of the function which should be deleted.
@@ -686,6 +826,13 @@ func (m *DeleteFunctionRequest) String() string            { return proto.Compac
 func (*DeleteFunctionRequest) ProtoMessage()               {}
 func (*DeleteFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the CallFunction method.
 type CallFunctionRequest struct {
 	// The name of the function to be called.
@@ -699,6 +846,20 @@ func (m *CallFunctionRequest) String() string            { return proto.CompactT
 func (*CallFunctionRequest) ProtoMessage()               {}
 func (*CallFunctionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *CallFunctionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CallFunctionRequest) GetData() string {
+	if m != nil {
+		return m.Data
+	}
+	return ""
+}
+
 // Response of CallFunction method.
 type CallFunctionResponse struct {
 	// Execution id of function invocation.
@@ -716,6 +877,27 @@ func (m *CallFunctionResponse) String() string            { return proto.Compact
 func (*CallFunctionResponse) ProtoMessage()               {}
 func (*CallFunctionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *CallFunctionResponse) GetExecutionId() string {
+	if m != nil {
+		return m.ExecutionId
+	}
+	return ""
+}
+
+func (m *CallFunctionResponse) GetResult() string {
+	if m != nil {
+		return m.Result
+	}
+	return ""
+}
+
+func (m *CallFunctionResponse) GetError() string {
+	if m != nil {
+		return m.Error
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CloudFunction)(nil), "google.cloud.functions.v1beta2.CloudFunction")
 	proto.RegisterType((*HTTPSTrigger)(nil), "google.cloud.functions.v1beta2.HTTPSTrigger")
@@ -986,90 +1168,87 @@ var _CloudFunctionsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto",
+	Metadata: "google/cloud/functions/v1beta2/functions.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/functions/v1beta2/functions.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/functions/v1beta2/functions.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1220 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
-	0x14, 0xcf, 0x26, 0xb1, 0x13, 0x3f, 0xff, 0xa9, 0x3b, 0x6d, 0x2a, 0xd7, 0x50, 0x9a, 0xae, 0x04,
-	0x0d, 0x29, 0x78, 0xc1, 0x0d, 0x20, 0xaa, 0x16, 0x11, 0xc7, 0x4e, 0x63, 0x35, 0x6d, 0xad, 0xb5,
-	0x73, 0xe8, 0x01, 0xad, 0xc6, 0xeb, 0xe9, 0x66, 0x61, 0xbd, 0xb3, 0xec, 0xcc, 0x5a, 0x75, 0x51,
-	0x39, 0x70, 0xe6, 0xc6, 0x37, 0xe8, 0x19, 0xf1, 0x01, 0x90, 0xb8, 0x73, 0x47, 0xe2, 0xc8, 0x89,
-	0x0f, 0x82, 0x66, 0x76, 0x76, 0x6d, 0xa7, 0x06, 0x3b, 0x11, 0xb7, 0x9d, 0xdf, 0xcc, 0x7b, 0xef,
-	0x37, 0xef, 0xfd, 0xde, 0xdb, 0x81, 0xc7, 0x0e, 0xa5, 0x8e, 0x47, 0x6a, 0x0e, 0xf5, 0xb0, 0xef,
-	0xd4, 0x68, 0xe8, 0x18, 0x0e, 0xf1, 0x83, 0x90, 0x72, 0x6a, 0xc4, 0x5b, 0x38, 0x70, 0x99, 0x61,
-	0x7b, 0x34, 0x1a, 0x18, 0xcf, 0x23, 0xdf, 0xe6, 0x2e, 0xf5, 0x99, 0x31, 0xfa, 0xb8, 0x4f, 0x38,
-	0xae, 0x4f, 0x90, 0x9a, 0x34, 0x41, 0xef, 0x28, 0x77, 0xf2, 0x7c, 0x6d, 0xb2, 0xab, 0xce, 0x57,
-	0xdb, 0xcb, 0x85, 0xc3, 0x81, 0x6b, 0x30, 0x12, 0x8e, 0x5c, 0x9b, 0xd8, 0xd4, 0x7f, 0xee, 0x3a,
-	0x06, 0xf6, 0x7d, 0xca, 0xf1, 0x54, 0xa8, 0x6a, 0x63, 0x39, 0x57, 0x1e, 0xf5, 0x9d, 0x30, 0xf2,
-	0x7d, 0xd7, 0x77, 0x0c, 0x1a, 0x90, 0x70, 0xc6, 0xc7, 0xe7, 0x8e, 0xcb, 0x4f, 0xa3, 0x7e, 0xcd,
-	0xa6, 0x43, 0x23, 0xf6, 0x63, 0xc8, 0x8d, 0x7e, 0xf4, 0xdc, 0x08, 0xf8, 0x38, 0x20, 0xcc, 0x18,
-	0x44, 0xb1, 0x49, 0xfa, 0x11, 0x9b, 0xea, 0x7f, 0x66, 0xa0, 0x78, 0x20, 0x6e, 0x79, 0xa8, 0x2e,
-	0x89, 0x10, 0xac, 0xfb, 0x78, 0x48, 0x2a, 0xda, 0xb6, 0xb6, 0x93, 0x33, 0xe5, 0x37, 0xba, 0x0e,
-	0x1b, 0x8e, 0xcd, 0xac, 0x28, 0xf4, 0x2a, 0xab, 0x02, 0x3e, 0x5a, 0x31, 0xb3, 0x8e, 0xcd, 0x4e,
-	0x42, 0x0f, 0x59, 0x70, 0x99, 0xd1, 0x28, 0xb4, 0x89, 0x15, 0x92, 0x80, 0x32, 0x97, 0xd3, 0x70,
-	0x5c, 0x59, 0xdb, 0xd6, 0x76, 0xf2, 0xf5, 0x8f, 0x6a, 0xff, 0x9d, 0xc6, 0x5a, 0x57, 0x1a, 0x9a,
-	0xa9, 0xdd, 0xd1, 0x8a, 0x59, 0x66, 0x67, 0x30, 0x74, 0x1b, 0x4a, 0x41, 0xd4, 0x67, 0x51, 0xdf,
-	0xe2, 0xa1, 0xeb, 0x38, 0x24, 0xac, 0xac, 0x4b, 0x0a, 0x9a, 0x59, 0x8c, 0xf1, 0x5e, 0x0c, 0xa3,
-	0x5b, 0x90, 0x17, 0x24, 0x93, 0x53, 0x19, 0x75, 0x0a, 0x1c, 0x9b, 0x25, 0x47, 0xba, 0x50, 0x3c,
-	0xe5, 0x3c, 0x98, 0x1c, 0xca, 0x4a, 0xa2, 0x1f, 0x2c, 0x22, 0x7a, 0xd4, 0xeb, 0x75, 0xba, 0xca,
-	0xc9, 0x91, 0x66, 0x16, 0xa4, 0x93, 0x29, 0xa7, 0x64, 0x44, 0x7c, 0x9e, 0x3a, 0x2d, 0x2c, 0xe7,
-	0xb4, 0x25, 0x8c, 0xa6, 0x9c, 0x92, 0xa9, 0x35, 0x7a, 0x04, 0x59, 0xc6, 0x31, 0x8f, 0x58, 0x65,
-	0x63, 0x5b, 0xdb, 0x29, 0xd5, 0xef, 0x2e, 0xf2, 0x36, 0x53, 0xc4, 0xae, 0x34, 0x35, 0x95, 0x0b,
-	0xf4, 0x3e, 0x94, 0x3d, 0xcc, 0x09, 0xe3, 0x56, 0x2a, 0x9d, 0xca, 0xa6, 0x2c, 0xef, 0xa5, 0x18,
-	0x7f, 0x9a, 0xc0, 0xe8, 0x26, 0xe4, 0x89, 0xcf, 0xc3, 0xb1, 0x15, 0x50, 0xd7, 0xe7, 0x95, 0x9c,
-	0x3c, 0x05, 0x12, 0xea, 0x08, 0x04, 0xdd, 0x85, 0x0d, 0xee, 0x0e, 0x09, 0x8d, 0x78, 0x05, 0xe4,
-	0x3d, 0xaf, 0x27, 0xcc, 0x12, 0xc9, 0xd5, 0x9a, 0x4a, 0x62, 0x66, 0x72, 0x12, 0xd5, 0xe0, 0x0a,
-	0x1e, 0x61, 0xd7, 0xc3, 0x7d, 0x8f, 0x58, 0x43, 0x32, 0xa4, 0xe1, 0xd8, 0x1a, 0xf6, 0x2b, 0xf9,
-	0x6d, 0x6d, 0x27, 0x63, 0x5e, 0x4e, 0xb7, 0x1e, 0xcb, 0x9d, 0xc7, 0x7d, 0x74, 0x1b, 0x2e, 0xa9,
-	0xbe, 0xb1, 0xb0, 0x6d, 0xd3, 0xc8, 0xe7, 0x95, 0xa2, 0x64, 0x52, 0x52, 0xf0, 0x7e, 0x8c, 0x36,
-	0x8a, 0x90, 0x57, 0xea, 0xb3, 0xe9, 0x80, 0x34, 0x72, 0xb0, 0xa1, 0x8a, 0xa0, 0x6f, 0x43, 0x61,
-	0xba, 0x6a, 0xa8, 0x0c, 0x6b, 0x42, 0xbe, 0xb1, 0xaa, 0xc5, 0xa7, 0xfe, 0x15, 0x14, 0xa6, 0x4b,
-	0x80, 0x6e, 0x00, 0xa8, 0x3a, 0x8e, 0x83, 0x44, 0xfe, 0xb9, 0xb8, 0x28, 0xe3, 0x80, 0xa0, 0x2a,
-	0x6c, 0x86, 0x24, 0x0e, 0x16, 0x37, 0x81, 0x99, 0xae, 0x45, 0xcf, 0x04, 0x98, 0x9f, 0x4a, 0xdd,
-	0xe7, 0x4c, 0xf9, 0xad, 0xff, 0xa5, 0x41, 0xf9, 0xac, 0xc0, 0xd1, 0xbb, 0x50, 0x9a, 0xb4, 0x89,
-	0x35, 0x21, 0x54, 0x9c, 0xa0, 0xa2, 0xa9, 0x6e, 0xa6, 0xd7, 0x92, 0x6e, 0xe3, 0x70, 0x10, 0x43,
-	0x1d, 0xcc, 0x4f, 0x51, 0x05, 0xb2, 0xfd, 0x10, 0xfb, 0xb6, 0x0a, 0x29, 0xfa, 0x31, 0x5e, 0x23,
-	0x04, 0x6b, 0x1c, 0x3b, 0xaa, 0x47, 0x56, 0x4c, 0xb1, 0x40, 0x6f, 0x0b, 0xea, 0x23, 0x97, 0x89,
-	0xba, 0x67, 0xd4, 0x46, 0x8a, 0xa0, 0x3b, 0x70, 0x79, 0x40, 0x02, 0x8f, 0x8e, 0xc9, 0xc0, 0x4a,
-	0x8f, 0x65, 0x65, 0xc8, 0x72, 0xb2, 0x61, 0x2a, 0x5c, 0x64, 0x78, 0x44, 0x42, 0xf1, 0xa9, 0x7f,
-	0x0f, 0x5b, 0x07, 0x21, 0xc1, 0x9c, 0x24, 0xaa, 0x33, 0xc9, 0xb7, 0x11, 0x61, 0x5c, 0x64, 0xca,
-	0xa3, 0x76, 0x2c, 0xb3, 0xf8, 0x7a, 0xe9, 0x1a, 0xb5, 0x61, 0x33, 0xd1, 0xae, 0xbc, 0x56, 0xbe,
-	0xfe, 0xe1, 0xb9, 0x94, 0x6d, 0xa6, 0xe6, 0xfa, 0x08, 0xb6, 0x4e, 0x82, 0xc1, 0x9c, 0xf8, 0xf3,
-	0x26, 0xd8, 0xff, 0x18, 0x77, 0x07, 0xd0, 0x43, 0xc2, 0x97, 0x08, 0xaa, 0xfb, 0x70, 0xf5, 0xd8,
-	0x65, 0xe9, 0x51, 0xb6, 0x4c, 0x82, 0xde, 0x82, 0x5c, 0x80, 0x1d, 0x62, 0x31, 0xf7, 0x65, 0xac,
-	0xb3, 0x8c, 0xb9, 0x29, 0x80, 0xae, 0xfb, 0x92, 0x08, 0x89, 0xca, 0x4d, 0x4e, 0xbf, 0x21, 0xbe,
-	0x52, 0x9b, 0x3c, 0xde, 0x13, 0x80, 0xfe, 0xa3, 0x06, 0x5b, 0x67, 0x02, 0xb2, 0x80, 0xfa, 0x8c,
-	0xa0, 0x47, 0x90, 0x4b, 0x2f, 0x58, 0xd1, 0xb6, 0xd7, 0xce, 0x7f, 0xff, 0x89, 0x3d, 0x7a, 0x0f,
-	0x2e, 0xf9, 0xe4, 0x05, 0xb7, 0xa6, 0xa8, 0xc4, 0x0a, 0x2d, 0x0a, 0xb8, 0x93, 0xd2, 0xb9, 0x03,
-	0x5b, 0x4d, 0xe2, 0x91, 0xa5, 0x0a, 0xa4, 0x3f, 0x80, 0x2b, 0x07, 0xd8, 0xf3, 0x96, 0xa9, 0x25,
-	0x82, 0xf5, 0x01, 0xe6, 0x58, 0x05, 0x95, 0xdf, 0xba, 0x03, 0x57, 0x67, 0xcd, 0xd5, 0xc5, 0x6f,
-	0x41, 0x81, 0xbc, 0x20, 0x76, 0x24, 0x40, 0xcb, 0x1d, 0x28, 0x3f, 0xf9, 0x14, 0x6b, 0x0f, 0xd0,
-	0x35, 0xc8, 0x86, 0x84, 0x45, 0x1e, 0x57, 0x0e, 0xd5, 0x0a, 0x5d, 0x85, 0x0c, 0x09, 0x43, 0x1a,
-	0xaa, 0x3c, 0xc7, 0x8b, 0x5d, 0x0c, 0x57, 0xe6, 0x8c, 0x5a, 0x74, 0x0d, 0x50, 0xb7, 0xb7, 0xdf,
-	0x3b, 0xe9, 0x5a, 0x27, 0x4f, 0xba, 0x9d, 0xd6, 0x41, 0xfb, 0xb0, 0xdd, 0x6a, 0x96, 0x57, 0x50,
-	0x0e, 0x32, 0x66, 0x6b, 0xbf, 0xf9, 0xac, 0xac, 0x21, 0x80, 0xec, 0xe1, 0x7e, 0xfb, 0xb8, 0xd5,
-	0x2c, 0xaf, 0xa2, 0x22, 0xe4, 0x9a, 0xad, 0xce, 0xf1, 0xd3, 0x67, 0xed, 0x27, 0x0f, 0xcb, 0x6b,
-	0xa8, 0x00, 0x9b, 0xcd, 0xd6, 0x71, 0xab, 0x27, 0x56, 0xeb, 0xf5, 0xdf, 0x37, 0x61, 0x6b, 0x26,
-	0x06, 0xeb, 0xc6, 0x53, 0x0f, 0xfd, 0xaa, 0x41, 0x71, 0xa6, 0xc0, 0x68, 0x6f, 0x51, 0x15, 0xe7,
-	0x09, 0xb0, 0xfa, 0xc9, 0x39, 0xad, 0xe2, 0x64, 0xea, 0xf7, 0x7f, 0xf8, 0xe3, 0xef, 0x9f, 0x56,
-	0x3f, 0x45, 0x7b, 0xe9, 0xc3, 0xe9, 0xbb, 0x44, 0xb7, 0x0f, 0x82, 0x90, 0x7e, 0x4d, 0x6c, 0xce,
-	0x8c, 0x5d, 0x23, 0xc1, 0x98, 0xb1, 0xfb, 0x6a, 0xf2, 0xb4, 0x42, 0x3f, 0x6b, 0x90, 0x9f, 0x6a,
-	0x1c, 0x54, 0x5f, 0x44, 0xe2, 0xcd, 0x2e, 0xab, 0x9e, 0x4f, 0xb4, 0xfa, 0x3d, 0x49, 0x78, 0x0f,
-	0xd5, 0x27, 0x84, 0x85, 0x82, 0xfe, 0x85, 0xec, 0xd4, 0xc3, 0x70, 0xf7, 0x15, 0xfa, 0x45, 0x83,
-	0xd2, 0xec, 0x7c, 0x43, 0x0b, 0xd3, 0x36, 0x77, 0x1e, 0x56, 0x6f, 0x24, 0x66, 0x53, 0x8f, 0xb8,
-	0x5a, 0xfa, 0xcb, 0xd5, 0x0f, 0x25, 0xc9, 0x2f, 0xf5, 0x0b, 0x65, 0xf5, 0x5e, 0x3a, 0x97, 0x44,
-	0x7e, 0x4b, 0xb3, 0x03, 0x71, 0x31, 0xe1, 0xb9, 0x03, 0x74, 0x11, 0xe1, 0xa6, 0x24, 0xfc, 0x45,
-	0xf5, 0x02, 0x59, 0x9d, 0xa2, 0xfb, 0x5a, 0x83, 0xd2, 0xec, 0x78, 0x58, 0x4c, 0x77, 0xee, 0x38,
-	0x59, 0x44, 0x57, 0x89, 0x60, 0xf7, 0x22, 0x22, 0xf8, 0x4d, 0x83, 0xc2, 0xf4, 0x5c, 0x41, 0x8b,
-	0xdf, 0x61, 0x6f, 0x0e, 0xb1, 0xea, 0xde, 0xf9, 0x8c, 0x54, 0xb7, 0x35, 0x24, 0xef, 0xfb, 0xfa,
-	0x67, 0x17, 0x48, 0xb3, 0x8d, 0x3d, 0xef, 0x9e, 0xb6, 0xdb, 0xb8, 0x0f, 0xba, 0x4d, 0x87, 0x0b,
-	0xc2, 0x37, 0x4a, 0x69, 0xab, 0x77, 0xc4, 0x1b, 0xae, 0xa3, 0xbd, 0x5e, 0x5d, 0x7b, 0x78, 0x70,
-	0xd8, 0xcf, 0xca, 0x27, 0xdd, 0xdd, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xae, 0x3b, 0xec,
-	0x5e, 0x0d, 0x00, 0x00,
+	// 1208 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4d, 0x6f, 0x1b, 0xc5,
+	0x1b, 0xcf, 0x26, 0xb1, 0x13, 0x3f, 0x7e, 0xa9, 0x3b, 0x6d, 0xaa, 0xad, 0xff, 0xed, 0xbf, 0xe9,
+	0x22, 0x68, 0x48, 0xc1, 0x0b, 0x6e, 0x00, 0xa9, 0xb4, 0x88, 0x24, 0x76, 0x5e, 0xd4, 0xb4, 0xb5,
+	0xd6, 0xce, 0xa1, 0x48, 0x68, 0x35, 0x5e, 0x4f, 0xb7, 0x0b, 0x9b, 0x9d, 0x65, 0x67, 0xd6, 0x6a,
+	0x8a, 0xca, 0x01, 0x89, 0x1b, 0x37, 0xbe, 0x41, 0xcf, 0x88, 0x0f, 0x80, 0xc4, 0x9d, 0x3b, 0x12,
+	0x47, 0x4e, 0x7c, 0x10, 0x34, 0xb3, 0xb3, 0xeb, 0x75, 0xea, 0xe2, 0x24, 0xe2, 0xb6, 0xf3, 0x9b,
+	0xe7, 0xe5, 0x37, 0xf3, 0xfc, 0x9e, 0xc7, 0x63, 0x68, 0xba, 0x94, 0xba, 0x3e, 0x31, 0x1d, 0x9f,
+	0xc6, 0x43, 0xf3, 0x69, 0x1c, 0x38, 0xdc, 0xa3, 0x01, 0x33, 0x47, 0x1f, 0x0e, 0x08, 0xc7, 0xad,
+	0x31, 0xd2, 0x0c, 0x23, 0xca, 0x29, 0xfa, 0x7f, 0x62, 0xdf, 0x94, 0xf6, 0xcd, 0xf1, 0xae, 0xb2,
+	0x6f, 0x5c, 0x53, 0xf1, 0x70, 0xe8, 0x99, 0x38, 0x08, 0x28, 0xc7, 0x39, 0xef, 0xc6, 0x5b, 0x6a,
+	0xd7, 0xa7, 0x81, 0x1b, 0xc5, 0x41, 0xe0, 0x05, 0xae, 0x49, 0x43, 0x12, 0x4d, 0x18, 0xa9, 0x14,
+	0xa6, 0x5c, 0x0d, 0xe2, 0xa7, 0xe6, 0x30, 0x4e, 0x0c, 0x92, 0x7d, 0xe3, 0xcf, 0x02, 0x54, 0xb7,
+	0x45, 0xfa, 0x1d, 0x95, 0x1d, 0x21, 0x58, 0x0c, 0xf0, 0x11, 0xd1, 0xb5, 0x55, 0x6d, 0xad, 0x64,
+	0xc9, 0x6f, 0x74, 0x15, 0x96, 0x5c, 0x87, 0xd9, 0x71, 0xe4, 0xeb, 0xf3, 0x02, 0xde, 0x9b, 0xb3,
+	0x8a, 0xae, 0xc3, 0x0e, 0x23, 0x1f, 0xd9, 0x70, 0x91, 0xd1, 0x38, 0x72, 0x88, 0x1d, 0x91, 0x90,
+	0x32, 0x8f, 0xd3, 0xe8, 0x58, 0x5f, 0x58, 0xd5, 0xd6, 0xca, 0xad, 0x0f, 0x9a, 0xff, 0x7e, 0xbe,
+	0x66, 0x4f, 0x3a, 0x5a, 0x99, 0xdf, 0xde, 0x9c, 0x55, 0x67, 0x27, 0x30, 0x74, 0x0b, 0x6a, 0x61,
+	0x3c, 0x60, 0xf1, 0xc0, 0xe6, 0x91, 0xe7, 0xba, 0x24, 0xd2, 0x17, 0x25, 0x05, 0xcd, 0xaa, 0x26,
+	0x78, 0x3f, 0x81, 0xd1, 0x4d, 0x28, 0x0b, 0x92, 0xa9, 0x55, 0x41, 0x59, 0x81, 0xeb, 0xb0, 0xd4,
+	0xa4, 0x07, 0xd5, 0x67, 0x9c, 0x87, 0x63, 0xa3, 0xa2, 0x24, 0xfa, 0xde, 0x2c, 0xa2, 0x7b, 0xfd,
+	0x7e, 0xb7, 0xa7, 0x82, 0xec, 0x69, 0x56, 0x45, 0x06, 0xc9, 0x05, 0x25, 0x23, 0x12, 0xf0, 0x2c,
+	0x68, 0xe5, 0x74, 0x41, 0x3b, 0xc2, 0x29, 0x17, 0x94, 0xe4, 0xd6, 0xe8, 0x01, 0x14, 0x19, 0xc7,
+	0x3c, 0x66, 0xfa, 0xd2, 0xaa, 0xb6, 0x56, 0x6b, 0xdd, 0x99, 0x15, 0x6d, 0xa2, 0x88, 0x3d, 0xe9,
+	0x6a, 0xa9, 0x10, 0xe8, 0x5d, 0xa8, 0xfb, 0x98, 0x13, 0xc6, 0xed, 0x4c, 0x1f, 0xfa, 0xb2, 0x2c,
+	0xef, 0x85, 0x04, 0x7f, 0x9c, 0xc2, 0xe8, 0x06, 0x94, 0x49, 0xc0, 0xa3, 0x63, 0x3b, 0xa4, 0x5e,
+	0xc0, 0xf5, 0x92, 0xb4, 0x02, 0x09, 0x75, 0x05, 0x82, 0xee, 0xc0, 0x12, 0xf7, 0x8e, 0x08, 0x8d,
+	0xb9, 0x0e, 0xf2, 0x9c, 0x57, 0x53, 0x66, 0xa9, 0xc4, 0x9a, 0x6d, 0x25, 0x31, 0x2b, 0xb5, 0x44,
+	0x4d, 0xb8, 0x84, 0x47, 0xd8, 0xf3, 0xf1, 0xc0, 0x27, 0xf6, 0x11, 0x39, 0xa2, 0xd1, 0xb1, 0x7d,
+	0x34, 0xd0, 0xcb, 0xab, 0xda, 0x5a, 0xc1, 0xba, 0x98, 0x6d, 0x3d, 0x94, 0x3b, 0x0f, 0x07, 0xe8,
+	0x16, 0x5c, 0x60, 0x24, 0x1a, 0x79, 0x0e, 0xb1, 0xb1, 0xe3, 0xd0, 0x38, 0xe0, 0x7a, 0x55, 0x32,
+	0xa9, 0x29, 0x78, 0x33, 0x41, 0xb7, 0xaa, 0x50, 0x56, 0xea, 0x73, 0xe8, 0x90, 0x6c, 0x95, 0x60,
+	0x49, 0x15, 0xc1, 0x58, 0x85, 0x4a, 0xbe, 0x6a, 0xa8, 0x0e, 0x0b, 0x42, 0xbe, 0x89, 0xaa, 0xc5,
+	0xa7, 0xf1, 0x25, 0x54, 0xf2, 0x25, 0x40, 0xd7, 0x01, 0x54, 0x1d, 0x8f, 0xc3, 0x54, 0xfe, 0xa5,
+	0xa4, 0x28, 0xc7, 0x21, 0x41, 0x0d, 0x58, 0x8e, 0x48, 0x92, 0x2c, 0x69, 0x02, 0x2b, 0x5b, 0x8b,
+	0x9e, 0x09, 0x31, 0x7f, 0x26, 0x75, 0x5f, 0xb2, 0xe4, 0xb7, 0xf1, 0x97, 0x06, 0xf5, 0x93, 0x02,
+	0x47, 0x6f, 0x43, 0x6d, 0xdc, 0x26, 0xf6, 0x98, 0x50, 0x75, 0x8c, 0x8a, 0xa6, 0xba, 0x91, 0x1d,
+	0x4b, 0x86, 0x4d, 0xd2, 0x41, 0x02, 0x75, 0x31, 0x7f, 0x86, 0x74, 0x28, 0x0e, 0x22, 0x1c, 0x38,
+	0x2a, 0xa5, 0xe8, 0xc7, 0x64, 0x8d, 0x10, 0x2c, 0x70, 0xec, 0xaa, 0x1e, 0x99, 0xb3, 0xc4, 0x02,
+	0x5d, 0x13, 0xd4, 0x47, 0x1e, 0x13, 0x75, 0x2f, 0xa8, 0x8d, 0x0c, 0x41, 0xb7, 0xe1, 0xe2, 0x90,
+	0x84, 0x3e, 0x3d, 0x26, 0x43, 0x3b, 0x33, 0x2b, 0xca, 0x94, 0xf5, 0x74, 0xc3, 0x52, 0xb8, 0xb8,
+	0xe1, 0x11, 0x89, 0xc4, 0xa7, 0xf1, 0x1d, 0xac, 0x6c, 0x47, 0x04, 0x73, 0x92, 0xaa, 0xce, 0x22,
+	0xdf, 0xc4, 0x84, 0x71, 0x71, 0x53, 0x3e, 0x75, 0x12, 0x99, 0x25, 0xc7, 0xcb, 0xd6, 0x68, 0x1f,
+	0x96, 0x53, 0xed, 0xca, 0x63, 0x95, 0x5b, 0xef, 0x9f, 0x49, 0xd9, 0x56, 0xe6, 0x6e, 0x8c, 0x60,
+	0xe5, 0x30, 0x1c, 0x4e, 0xc9, 0x3f, 0x6d, 0x82, 0xfd, 0x87, 0x79, 0xd7, 0x00, 0xed, 0x12, 0x7e,
+	0x8a, 0xa4, 0x46, 0x00, 0x97, 0x0f, 0x3c, 0x96, 0x99, 0xb2, 0xd3, 0x5c, 0xd0, 0xff, 0xa0, 0x14,
+	0x62, 0x97, 0xd8, 0xcc, 0x7b, 0x91, 0xe8, 0xac, 0x60, 0x2d, 0x0b, 0xa0, 0xe7, 0xbd, 0x20, 0x42,
+	0xa2, 0x72, 0x93, 0xd3, 0xaf, 0x49, 0xa0, 0xd4, 0x26, 0xcd, 0xfb, 0x02, 0x30, 0x7e, 0xd4, 0x60,
+	0xe5, 0x44, 0x42, 0x16, 0xd2, 0x80, 0x11, 0xf4, 0x00, 0x4a, 0xd9, 0x01, 0x75, 0x6d, 0x75, 0xe1,
+	0xec, 0xe7, 0x1f, 0xfb, 0xa3, 0x77, 0xe0, 0x42, 0x40, 0x9e, 0x73, 0x3b, 0x47, 0x25, 0x51, 0x68,
+	0x55, 0xc0, 0xdd, 0x8c, 0xce, 0x6d, 0x58, 0x69, 0x13, 0x9f, 0x9c, 0xaa, 0x40, 0xc6, 0x7d, 0xb8,
+	0xb4, 0x8d, 0x7d, 0xff, 0x34, 0xb5, 0x44, 0xb0, 0x38, 0xc4, 0x1c, 0xab, 0xa4, 0xf2, 0xdb, 0x70,
+	0xe1, 0xf2, 0xa4, 0xbb, 0x3a, 0xf8, 0x4d, 0xa8, 0x90, 0xe7, 0xc4, 0x89, 0x05, 0x68, 0x7b, 0x43,
+	0x15, 0xa7, 0x9c, 0x61, 0xfb, 0x43, 0x74, 0x05, 0x8a, 0x11, 0x61, 0xb1, 0xcf, 0x55, 0x40, 0xb5,
+	0x42, 0x97, 0xa1, 0x40, 0xa2, 0x88, 0x46, 0xea, 0x9e, 0x93, 0xc5, 0x3a, 0x86, 0x4b, 0x53, 0x46,
+	0x2d, 0xba, 0x02, 0xa8, 0xd7, 0xdf, 0xec, 0x1f, 0xf6, 0xec, 0xc3, 0x47, 0xbd, 0x6e, 0x67, 0x7b,
+	0x7f, 0x67, 0xbf, 0xd3, 0xae, 0xcf, 0xa1, 0x12, 0x14, 0xac, 0xce, 0x66, 0xfb, 0x49, 0x5d, 0x43,
+	0x00, 0xc5, 0x9d, 0xcd, 0xfd, 0x83, 0x4e, 0xbb, 0x3e, 0x8f, 0xaa, 0x50, 0x6a, 0x77, 0xba, 0x07,
+	0x8f, 0x9f, 0xec, 0x3f, 0xda, 0xad, 0x2f, 0xa0, 0x0a, 0x2c, 0xb7, 0x3b, 0x07, 0x9d, 0xbe, 0x58,
+	0x2d, 0xb6, 0x7e, 0x5f, 0x86, 0x95, 0x89, 0x1c, 0xac, 0x97, 0x4c, 0x3d, 0xf4, 0xab, 0x06, 0xd5,
+	0x89, 0x02, 0xa3, 0x8d, 0x59, 0x55, 0x9c, 0x26, 0xc0, 0xc6, 0x47, 0x67, 0xf4, 0x4a, 0x2e, 0xd3,
+	0xb8, 0xf7, 0xfd, 0x1f, 0x7f, 0xff, 0x34, 0xff, 0x31, 0xda, 0xc8, 0x5e, 0x34, 0xdf, 0xa6, 0xba,
+	0xbd, 0x1f, 0x46, 0xf4, 0x2b, 0xe2, 0x70, 0x66, 0xae, 0x9b, 0x29, 0xc6, 0xcc, 0xf5, 0x97, 0xe3,
+	0x37, 0x0f, 0xfa, 0x59, 0x83, 0x72, 0xae, 0x71, 0x50, 0x6b, 0x16, 0x89, 0xd7, 0xbb, 0xac, 0x71,
+	0x36, 0xd1, 0x1a, 0x77, 0x25, 0xe1, 0x0d, 0xd4, 0x1a, 0x13, 0x16, 0x0a, 0x7a, 0x03, 0xd9, 0xdc,
+	0x8b, 0x6d, 0xfd, 0x25, 0xfa, 0x45, 0x83, 0xda, 0xe4, 0x7c, 0x43, 0x33, 0xaf, 0x6d, 0xea, 0x3c,
+	0x6c, 0x5c, 0x4f, 0xdd, 0x72, 0x2f, 0xb5, 0x66, 0xf6, 0x93, 0x6b, 0xec, 0x48, 0x92, 0x9f, 0x1b,
+	0xe7, 0xba, 0xd5, 0xbb, 0xd9, 0x5c, 0x12, 0xf7, 0x5b, 0x9b, 0x1c, 0x88, 0xb3, 0x09, 0x4f, 0x1d,
+	0xa0, 0xb3, 0x08, 0xb7, 0x25, 0xe1, 0xcf, 0x1a, 0xe7, 0xb8, 0xd5, 0x1c, 0xdd, 0x57, 0x1a, 0xd4,
+	0x26, 0xc7, 0xc3, 0x6c, 0xba, 0x53, 0xc7, 0xc9, 0x2c, 0xba, 0x4a, 0x04, 0xeb, 0xe7, 0x11, 0xc1,
+	0x6f, 0x1a, 0x54, 0xf2, 0x73, 0x05, 0xcd, 0x7e, 0x87, 0xbd, 0x3e, 0xc4, 0x1a, 0x1b, 0x67, 0x73,
+	0x52, 0xdd, 0xb6, 0x25, 0x79, 0xdf, 0x33, 0x3e, 0x39, 0xc7, 0x35, 0x3b, 0xd8, 0xf7, 0xef, 0x6a,
+	0xeb, 0x5b, 0x3f, 0x68, 0x60, 0x38, 0xf4, 0x68, 0x46, 0xfe, 0xad, 0x5a, 0xd6, 0xeb, 0x5d, 0xf1,
+	0x88, 0xeb, 0x6a, 0x5f, 0xec, 0x2a, 0x0f, 0x97, 0xfa, 0x38, 0x70, 0x9b, 0x34, 0x72, 0x4d, 0x97,
+	0x04, 0xf2, 0x89, 0x67, 0x26, 0x5b, 0x38, 0xf4, 0xd8, 0x9b, 0xfe, 0xe9, 0x7c, 0x9a, 0x21, 0xaf,
+	0xe6, 0x17, 0x76, 0xb7, 0x77, 0x06, 0x45, 0xe9, 0x79, 0xe7, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0xfe, 0x72, 0xda, 0x26, 0x22, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/functions/v1beta2/functions.proto b/googleapis/cloud/functions/v1beta2/functions.proto
deleted file mode 100644
index 33cfcd44..00000000
--- a/googleapis/cloud/functions/v1beta2/functions.proto
+++ /dev/null
@@ -1,298 +0,0 @@
-// 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.functions.v1beta2;
-
-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
-
-option java_multiple_files = true;
-option java_outer_classname = "FunctionsProto";
-option java_package = "com.google.cloud.functions.v1beta2";
-option objc_class_prefix = "GCF";
-
-
-// A service that application uses to manipulate triggers and functions.
-service CloudFunctionsService {
-  // Returns a list of functions that belong to the requested project.
-  rpc ListFunctions(ListFunctionsRequest) returns (ListFunctionsResponse) {
-    option (google.api.http) = { get: "/v1beta2/{location=projects/*/locations/*}/functions" };
-  }
-
-  // Returns a function with the given name from the requested project.
-  rpc GetFunction(GetFunctionRequest) returns (CloudFunction) {
-    option (google.api.http) = { get: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
-  }
-
-  // Creates a new function. If a function with the given name already exists in
-  // the specified project, it will return ALREADY_EXISTS error.
-  rpc CreateFunction(CreateFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta2/{location=projects/*/locations/*}/functions" body: "function" };
-  }
-
-  // Updates existing function.
-  rpc UpdateFunction(UpdateFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { put: "/v1beta2/{name=projects/*/locations/*/functions/*}" body: "function" };
-  }
-
-  // Deletes a function with the given name from the specified project. If the
-  // given function is used by some trigger, the trigger will be updated to
-  // remove this function.
-  rpc DeleteFunction(DeleteFunctionRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { delete: "/v1beta2/{name=projects/*/locations/*/functions/*}" };
-  }
-
-  // Invokes synchronously deployed function. To be used for testing, very
-  // limited traffic allowed.
-  rpc CallFunction(CallFunctionRequest) returns (CallFunctionResponse) {
-    option (google.api.http) = { post: "/v1beta2/{name=projects/*/locations/*/functions/*}:call" body: "*" };
-  }
-}
-
-// Describes a cloud function that contains user computation executed in
-// response to an event. It encapsulate function and triggers configurations.
-message CloudFunction {
-  // A user-defined name of the function. Function names must be unique
-  // globally and match pattern: projects/*/locations/*/functions/*
-  string name = 1;
-
-  // The location of the function source code.
-  oneof source_code {
-    // GCS URL pointing to the zip archive which contains the function.
-    string gcs_url = 2;
-
-    // The hosted repository where the function is defined.
-    SourceRepository source_repository = 3;
-  }
-
-  oneof trigger {
-    // A pub/sub type of source.
-    string pubsub_trigger = 4;
-
-    // Google Cloud Storage resource whose changes trigger the events.
-    // Currently, it must have the form gs://<bucket>/ (that is, it must refer
-    // to a bucket, rather than an object).
-    string gcs_trigger = 5;
-
-    // A https endpoint type of source that can be trigger via URL.
-    HTTPSTrigger https_trigger = 6;
-
-    // A source that fires events in response to a condition in another service.
-    EventTrigger event_trigger = 12;
-  }
-
-  // [Output only] Status of the function deployment.
-  CloudFunctionStatus status = 7;
-
-  // [Output only] Name of the most recent operation modifying the function. If
-  // the function status is DEPLOYING or DELETING, then it points to the active
-  // operation.
-  string latest_operation = 8;
-
-  // The name of the function (as defined in source code) that will be
-  // executed. Defaults to the resource name suffix, if not specified. For
-  // backward compatibility, if function with given name is not found, then the
-  // system will try to use function named 'function'.
-  // For Node.js this is name of a function exported by the module specified
-  // in source_location.
-  string entry_point = 9;
-
-  // The cloud function execution timeout. Execution is considered failed and
-  // can be terminated if the function is not completed at the end of the
-  // timeout period. Defaults to 60 seconds.
-  google.protobuf.Duration timeout = 10;
-
-  // The amount of memory in MB available for a function.
-  // Defaults to 128MB.
-  int32 available_memory_mb = 11;
-
-  // [Output only] The service account of the function.
-  string service_account = 13;
-}
-
-// Describes HTTPSTrigger, could be used to connect web hooks to function.
-message HTTPSTrigger {
-  // [Output only] The deployed url for the function.
-  string url = 1;
-}
-
-// Describes EventTrigger, used to request events be sent from another
-// service.
-message EventTrigger {
-  // event_type names contain the service that is sending an event and the kind
-  // of event that was fired. Must be of the form providers/*/eventTypes/*
-  // e.g. Directly handle a Message published to Google Cloud PubSub
-  //      providers/cloud.pubsub/eventTypes/topic.publish
-  //
-  //      Handle an object changing in Google Cloud Storage
-  //      providers/cloud.storage/eventTypes/object.change
-  //
-  //      Handle a write to the Firebase Realtime Database
-  //      providers/firebase.database/eventTypes/data.write
-  string event_type = 1;
-
-  // Which instance of the source's service should send events. E.g. for PubSub
-  // this would be a PubSub topic at projects/*/topics/*. For Google Cloud
-  // Storage this would be a bucket at projects/*/buckets/*. For any source
-  // that only supports one instance per-project, this should be the name of the
-  // project (projects/*)
-  string resource = 2;
-
-  // Optional path within the resource that should be used to filter events.
-  // Named wildcards may be written in curly brackets (e.g. {variable}). The
-  // value that matched this parameter will be included  in the event
-  // parameters. e.g. users/{userId}/profilePic
-  // Path is not supported for all actions.
-  string path = 3;
-}
-
-// Describes the location of the function source in a remote repository.
-message SourceRepository {
-  // URL to the hosted repository where the function is defined. Only paths in
-  // https://source.developers.google.com domain are supported. The path should
-  // contain the name of the repository.
-  string repository_url = 1;
-
-  // The path within the repository where the function is defined. The path
-  // should point to the directory where cloud functions files are located. Use
-  // '/' if the function is defined directly in the root directory of a
-  // repository.
-  string source_path = 2;
-
-  // The version of a function. Defaults to the latest version of the master
-  // branch.
-  oneof version {
-    // The name of the branch from which the function should be fetched.
-    string branch = 3;
-
-    // The name of the tag that captures the state of the repository from
-    // which the function should be fetched.
-    string tag = 4;
-
-    // The id of the revision that captures the state of the repository from
-    // which the function should be fetched.
-    string revision = 5;
-  }
-
-  // [Output only] The id of the revision that was resolved at the moment of
-  // function creation or update. For example when a user deployed from a
-  // branch, it will be the revision id of the latest change on this branch at
-  // that time. If user deployed from revision then this value will be always
-  // equal to the revision specified by the user.
-  string deployed_revision = 6;
-}
-
-// Request for the CreateFunction method.
-message CreateFunctionRequest {
-  // The project and location in which the function should be created, specified
-  // in the format: projects/*/locations/*
-  string location = 1;
-
-  // Function to be created.
-  CloudFunction function = 2;
-}
-
-// Request for the UpdateFunction method.
-message UpdateFunctionRequest {
-  // The name of the function to be updated.
-  string name = 1;
-
-  // New version of the function.
-  CloudFunction function = 2;
-}
-
-// Request for the GetFunction method.
-message GetFunctionRequest {
-  // The name of the function which details should be obtained.
-  string name = 1;
-}
-
-// Request for the ListFunctions method.
-message ListFunctionsRequest {
-  // The project and location from which the function should be listed,
-  // specified in the format: projects/*/locations/*
-  // If you want to list functions in all locations, use '-' in place of a
-  // location.
-  string location = 1;
-
-  // Maximum number of functions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListFunctionsResponse; indicates that
-  // this is a continuation of a prior ListFunctions call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListFunctions method.
-message ListFunctionsResponse {
-  // The functions that match the request.
-  repeated CloudFunction functions = 1;
-
-  // If not empty, indicates that there may be more functions that match
-  // the request; this value should be passed in a new ListFunctionsRequest
-  // to get more functions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteFunction method.
-message DeleteFunctionRequest {
-  // The name of the function which should be deleted.
-  string name = 1;
-}
-
-// Request for the CallFunction method.
-message CallFunctionRequest {
-  // The name of the function to be called.
-  string name = 1;
-
-  // Input to be passed to the function.
-  string data = 2;
-}
-
-// Response of CallFunction method.
-message CallFunctionResponse {
-  // Execution id of function invocation.
-  string execution_id = 1;
-
-  // Result populated for successful execution of synchronous function. Will
-  // not be populated if function does not return a result through context.
-  string result = 2;
-
-  // Either system or user-function generated error. Set if execution
-  // was not successful.
-  string error = 3;
-}
-
-// Describes the current stage of a deployment.
-enum CloudFunctionStatus {
-  // Status not specified.
-  STATUS_UNSPECIFIED = 0;
-
-  // Successfully deployed.
-  READY = 1;
-
-  // Not deployed correctly - behavior is undefined. The item should be updated
-  // or deleted to move it out of this state.
-  FAILED = 2;
-
-  // Creation or update in progress.
-  DEPLOYING = 3;
-
-  // Deletion in progress.
-  DELETING = 4;
-}
diff --git a/googleapis/cloud/functions/v1beta2/operations.pb.go b/googleapis/cloud/functions/v1beta2/operations.pb.go
index 5d1fd613..33658f6e 100644
--- a/googleapis/cloud/functions/v1beta2/operations.pb.go
+++ b/googleapis/cloud/functions/v1beta2/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto
+// source: google/cloud/functions/v1beta2/operations.proto
 // DO NOT EDIT!
 
-package google_cloud_functions_v1beta2 // import "google.golang.org/genproto/googleapis/cloud/functions/v1beta2"
+package functions
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -63,6 +63,20 @@ func (m *OperationMetadataV1Beta2) String() string            { return proto.Com
 func (*OperationMetadataV1Beta2) ProtoMessage()               {}
 func (*OperationMetadataV1Beta2) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *OperationMetadataV1Beta2) GetTarget() string {
+	if m != nil {
+		return m.Target
+	}
+	return ""
+}
+
+func (m *OperationMetadataV1Beta2) GetType() OperationType {
+	if m != nil {
+		return m.Type
+	}
+	return OperationType_OPERATION_UNSPECIFIED
+}
+
 func (m *OperationMetadataV1Beta2) GetRequest() *google_protobuf1.Any {
 	if m != nil {
 		return m.Request
@@ -75,32 +89,29 @@ func init() {
 	proto.RegisterEnum("google.cloud.functions.v1beta2.OperationType", OperationType_name, OperationType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/functions/v1beta2/operations.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/functions/v1beta2/operations.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 346 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x8f, 0x5f, 0x4f, 0xf2, 0x30,
-	0x18, 0xc5, 0xdf, 0xc2, 0x1b, 0x8c, 0x35, 0x2a, 0x99, 0x7f, 0x32, 0xb9, 0x30, 0x84, 0x2b, 0x62,
-	0x62, 0x1b, 0xf0, 0x0b, 0x38, 0xa0, 0x24, 0x4b, 0x74, 0x2c, 0x13, 0xbc, 0x25, 0xdd, 0x28, 0xb5,
-	0x09, 0xb4, 0x75, 0xeb, 0x48, 0xf6, 0x81, 0xfc, 0x9e, 0xa6, 0x83, 0x11, 0xb8, 0x51, 0x2f, 0x7a,
-	0xd1, 0xf3, 0x3c, 0xe7, 0xf7, 0x9c, 0x03, 0x03, 0xae, 0x14, 0x5f, 0x31, 0xc4, 0xd5, 0x8a, 0x4a,
-	0x8e, 0x54, 0xca, 0x31, 0x67, 0x52, 0xa7, 0xca, 0x28, 0xbc, 0x1d, 0x51, 0x2d, 0x32, 0x9c, 0xac,
-	0x54, 0xbe, 0xc0, 0xcb, 0x5c, 0x26, 0x46, 0x28, 0x99, 0xe1, 0x4d, 0x2f, 0x66, 0x86, 0xf6, 0xb1,
-	0xd2, 0x2c, 0xa5, 0xa5, 0x84, 0x4a, 0x8f, 0x73, 0xbf, 0xe3, 0x95, 0x06, 0xb4, 0x37, 0xa0, 0x9d,
-	0xa1, 0xe5, 0xff, 0xed, 0x1e, 0xd5, 0x02, 0x67, 0x2c, 0xdd, 0x88, 0x84, 0x25, 0x4a, 0x2e, 0x05,
-	0xc7, 0x54, 0x4a, 0x65, 0x0e, 0x4f, 0xb5, 0x30, 0x17, 0xe6, 0x23, 0x8f, 0x51, 0xa2, 0xd6, 0x78,
-	0x8b, 0xc3, 0xe5, 0x20, 0xce, 0x97, 0x58, 0x9b, 0x42, 0xb3, 0x0c, 0x53, 0x59, 0xd8, 0xb7, 0x35,
-	0x74, 0xbe, 0x00, 0x74, 0x27, 0x55, 0xe0, 0x57, 0x66, 0xe8, 0x82, 0x1a, 0xfa, 0xde, 0x1b, 0xd8,
-	0x60, 0xce, 0x2d, 0x6c, 0x18, 0x9a, 0x72, 0x66, 0x5c, 0xd0, 0x06, 0xdd, 0xd3, 0x68, 0xf7, 0x73,
-	0x3c, 0xf8, 0xdf, 0xb2, 0xdc, 0x5a, 0x1b, 0x74, 0x2f, 0xfa, 0x8f, 0xe8, 0xe7, 0x7e, 0x68, 0xcf,
-	0x9f, 0x16, 0x9a, 0x45, 0xa5, 0xd5, 0x41, 0xf0, 0x24, 0x65, 0x9f, 0x39, 0xcb, 0x8c, 0x5b, 0x6f,
-	0x83, 0xee, 0x59, 0xff, 0xba, 0xa2, 0x54, 0x79, 0x91, 0x27, 0x8b, 0xa8, 0x5a, 0x7a, 0x10, 0xf0,
-	0xfc, 0x08, 0xe3, 0xdc, 0xc1, 0x9b, 0x49, 0x48, 0x22, 0x6f, 0xea, 0x4f, 0x82, 0xf9, 0x2c, 0x78,
-	0x0b, 0xc9, 0xd0, 0x1f, 0xfb, 0x64, 0xd4, 0xfc, 0xe7, 0x5c, 0xc1, 0xcb, 0x61, 0x44, 0xbc, 0x29,
-	0x99, 0x8f, 0x67, 0xc1, 0xd0, 0x2e, 0x34, 0x81, 0x15, 0x67, 0xe1, 0xe8, 0x48, 0xac, 0x59, 0x71,
-	0x44, 0x5e, 0xc8, 0xa1, 0x58, 0x1f, 0x3c, 0xc3, 0x4e, 0xa2, 0xd6, 0xbf, 0x94, 0x1a, 0xb8, 0xe3,
-	0x4a, 0xda, 0xe7, 0xca, 0x42, 0x1b, 0x3d, 0x04, 0x71, 0xa3, 0xec, 0xf0, 0xf4, 0x1d, 0x00, 0x00,
-	0xff, 0xff, 0xd6, 0x4b, 0x8f, 0xf4, 0x49, 0x02, 0x00, 0x00,
+	// 333 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0x4f, 0x4f, 0xf2, 0x30,
+	0x1c, 0xc7, 0x9f, 0xc2, 0x13, 0x8c, 0x35, 0x2a, 0x99, 0x7f, 0x32, 0x88, 0x31, 0x84, 0x13, 0x31,
+	0xb1, 0x0d, 0x78, 0xf4, 0x34, 0xa0, 0x18, 0x12, 0x85, 0x65, 0x82, 0x07, 0x2f, 0xa4, 0x40, 0x69,
+	0x96, 0xcc, 0xb6, 0x6e, 0x9d, 0xc9, 0x5e, 0x82, 0x2f, 0xc4, 0xf7, 0x69, 0x56, 0xba, 0x05, 0x0e,
+	0xea, 0xb1, 0x9f, 0xf6, 0xf3, 0xed, 0xf7, 0x97, 0x1f, 0xc4, 0x5c, 0x4a, 0x1e, 0x31, 0xbc, 0x8a,
+	0x64, 0xba, 0xc6, 0x9b, 0x54, 0xac, 0x74, 0x28, 0x45, 0x82, 0x3f, 0xba, 0x4b, 0xa6, 0x69, 0x0f,
+	0x4b, 0xc5, 0x62, 0x6a, 0x10, 0x52, 0xb1, 0xd4, 0xd2, 0xb9, 0xde, 0x0a, 0xc8, 0x08, 0xa8, 0x14,
+	0x90, 0x15, 0x9a, 0x57, 0x36, 0x90, 0xaa, 0x10, 0x53, 0x21, 0xa4, 0xde, 0xb5, 0x9b, 0x0d, 0x7b,
+	0x6b, 0x4e, 0xcb, 0x74, 0x83, 0xa9, 0xc8, 0xb6, 0x57, 0xed, 0x2f, 0x00, 0xdd, 0x69, 0xf1, 0xdb,
+	0x13, 0xd3, 0x74, 0x4d, 0x35, 0x7d, 0xe9, 0xf6, 0xf3, 0x54, 0xe7, 0x12, 0xd6, 0x34, 0x8d, 0x39,
+	0xd3, 0x2e, 0x68, 0x81, 0xce, 0x61, 0x60, 0x4f, 0x8e, 0x07, 0xff, 0xeb, 0x4c, 0x31, 0xb7, 0xd2,
+	0x02, 0x9d, 0x93, 0xde, 0x2d, 0xfa, 0xbd, 0x1c, 0x2a, 0xf3, 0x67, 0x99, 0x62, 0x81, 0x51, 0x1d,
+	0x04, 0x0f, 0x62, 0xf6, 0x9e, 0xb2, 0x44, 0xbb, 0xd5, 0x16, 0xe8, 0x1c, 0xf5, 0xce, 0x8b, 0x94,
+	0xa2, 0x24, 0xf2, 0x44, 0x16, 0x14, 0x8f, 0x6e, 0x42, 0x78, 0xbc, 0x17, 0xe3, 0x34, 0xe0, 0xc5,
+	0xd4, 0x27, 0x81, 0x37, 0x1b, 0x4f, 0x27, 0x8b, 0xf9, 0xe4, 0xd9, 0x27, 0x83, 0xf1, 0x68, 0x4c,
+	0x86, 0xf5, 0x7f, 0xce, 0x19, 0x3c, 0x1d, 0x04, 0xc4, 0x9b, 0x91, 0xc5, 0x68, 0x3e, 0x19, 0xe4,
+	0x0f, 0xea, 0x20, 0x87, 0x73, 0x7f, 0xb8, 0x07, 0x2b, 0x39, 0x1c, 0x92, 0x47, 0xb2, 0x0b, 0xab,
+	0xfd, 0x4f, 0x00, 0xdb, 0x2b, 0xf9, 0xf6, 0xc7, 0x54, 0x7d, 0x77, 0x54, 0xa0, 0xb2, 0x58, 0xe2,
+	0xe7, 0xdd, 0x7d, 0xf0, 0xfa, 0x60, 0x5d, 0x2e, 0x23, 0x2a, 0x38, 0x92, 0x31, 0xc7, 0x9c, 0x09,
+	0x33, 0x99, 0x5d, 0x3d, 0x55, 0x61, 0xf2, 0xd3, 0xfa, 0xef, 0x4b, 0xb2, 0xac, 0x19, 0xe7, 0xee,
+	0x3b, 0x00, 0x00, 0xff, 0xff, 0x3c, 0x8a, 0xb1, 0x83, 0x31, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/functions/v1beta2/operations.proto b/googleapis/cloud/functions/v1beta2/operations.proto
deleted file mode 100644
index 2a2590f1..00000000
--- a/googleapis/cloud/functions/v1beta2/operations.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.functions.v1beta2;
-
-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
-
-option java_multiple_files = true;
-option java_outer_classname = "FunctionsOperationsProto";
-option java_package = "com.google.cloud.functions.v1beta2";
-
-
-// Metadata describing an [Operation][google.longrunning.Operation]
-message OperationMetadataV1Beta2 {
-  // Target of the operation - for example
-  // projects/project-1/locations/region-1/functions/function-1
-  string target = 1;
-
-  // Type of operation.
-  OperationType type = 2;
-
-  // The original request that started the operation.
-  google.protobuf.Any request = 3;
-}
-
-// A type of an operation.
-enum OperationType {
-  // Unknown operation type.
-  OPERATION_UNSPECIFIED = 0;
-
-  // Triggered by CreateFunction call
-  CREATE_FUNCTION = 1;
-
-  // Triggered by UpdateFunction call
-  UPDATE_FUNCTION = 2;
-
-  // Triggered by DeleteFunction call.
-  DELETE_FUNCTION = 3;
-}
diff --git a/googleapis/cloud/language/v1/language_service.pb.go b/googleapis/cloud/language/v1/language_service.pb.go
index dceb9f47..59b83931 100644
--- a/googleapis/cloud/language/v1/language_service.pb.go
+++ b/googleapis/cloud/language/v1/language_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto
+// source: google/cloud/language/v1/language_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_language_v1 is a generated protocol buffer package.
+Package language is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto
+	google/cloud/language/v1/language_service.proto
 
 It has these top-level messages:
 	Document
@@ -27,12 +27,12 @@ It has these top-level messages:
 	AnnotateTextRequest
 	AnnotateTextResponse
 */
-package google_cloud_language_v1 // import "google.golang.org/genproto/googleapis/cloud/language/v1"
+package language
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -1102,6 +1102,13 @@ func (m *Document) GetSource() isDocument_Source {
 	return nil
 }
 
+func (m *Document) GetType() Document_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Document_TYPE_UNSPECIFIED
+}
+
 func (m *Document) GetContent() string {
 	if x, ok := m.GetSource().(*Document_Content); ok {
 		return x.Content
@@ -1116,6 +1123,13 @@ func (m *Document) GetGcsContentUri() string {
 	return ""
 }
 
+func (m *Document) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Document) 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 _Document_OneofMarshaler, _Document_OneofUnmarshaler, _Document_OneofSizer, []interface{}{
@@ -1241,6 +1255,20 @@ func (m *Entity) String() string            { return proto.CompactTextString(m)
 func (*Entity) ProtoMessage()               {}
 func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Entity) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Entity) GetType() Entity_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Entity_UNKNOWN
+}
+
 func (m *Entity) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -1248,6 +1276,13 @@ func (m *Entity) GetMetadata() map[string]string {
 	return nil
 }
 
+func (m *Entity) GetSalience() float32 {
+	if m != nil {
+		return m.Salience
+	}
+	return 0
+}
+
 func (m *Entity) GetMentions() []*EntityMention {
 	if m != nil {
 		return m.Mentions
@@ -1293,6 +1328,13 @@ func (m *Token) GetDependencyEdge() *DependencyEdge {
 	return nil
 }
 
+func (m *Token) GetLemma() string {
+	if m != nil {
+		return m.Lemma
+	}
+	return ""
+}
+
 // Represents the feeling associated with the entire text or entities in
 // the text.
 type Sentiment struct {
@@ -1310,6 +1352,20 @@ func (m *Sentiment) String() string            { return proto.CompactTextString(
 func (*Sentiment) ProtoMessage()               {}
 func (*Sentiment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Sentiment) GetMagnitude() float32 {
+	if m != nil {
+		return m.Magnitude
+	}
+	return 0
+}
+
+func (m *Sentiment) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
 // Represents part of speech information for a token. Parts of speech
 // are as defined in
 // http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
@@ -1345,6 +1401,90 @@ func (m *PartOfSpeech) String() string            { return proto.CompactTextStri
 func (*PartOfSpeech) ProtoMessage()               {}
 func (*PartOfSpeech) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *PartOfSpeech) GetTag() PartOfSpeech_Tag {
+	if m != nil {
+		return m.Tag
+	}
+	return PartOfSpeech_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetAspect() PartOfSpeech_Aspect {
+	if m != nil {
+		return m.Aspect
+	}
+	return PartOfSpeech_ASPECT_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetCase() PartOfSpeech_Case {
+	if m != nil {
+		return m.Case
+	}
+	return PartOfSpeech_CASE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetForm() PartOfSpeech_Form {
+	if m != nil {
+		return m.Form
+	}
+	return PartOfSpeech_FORM_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetGender() PartOfSpeech_Gender {
+	if m != nil {
+		return m.Gender
+	}
+	return PartOfSpeech_GENDER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetMood() PartOfSpeech_Mood {
+	if m != nil {
+		return m.Mood
+	}
+	return PartOfSpeech_MOOD_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetNumber() PartOfSpeech_Number {
+	if m != nil {
+		return m.Number
+	}
+	return PartOfSpeech_NUMBER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetPerson() PartOfSpeech_Person {
+	if m != nil {
+		return m.Person
+	}
+	return PartOfSpeech_PERSON_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetProper() PartOfSpeech_Proper {
+	if m != nil {
+		return m.Proper
+	}
+	return PartOfSpeech_PROPER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetReciprocity() PartOfSpeech_Reciprocity {
+	if m != nil {
+		return m.Reciprocity
+	}
+	return PartOfSpeech_RECIPROCITY_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetTense() PartOfSpeech_Tense {
+	if m != nil {
+		return m.Tense
+	}
+	return PartOfSpeech_TENSE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetVoice() PartOfSpeech_Voice {
+	if m != nil {
+		return m.Voice
+	}
+	return PartOfSpeech_VOICE_UNKNOWN
+}
+
 // Represents dependency parse tree information for a token. (For more
 // information on dependency labels, see
 // http://www.aclweb.org/anthology/P13-2017
@@ -1364,6 +1504,20 @@ func (m *DependencyEdge) String() string            { return proto.CompactTextSt
 func (*DependencyEdge) ProtoMessage()               {}
 func (*DependencyEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DependencyEdge) GetHeadTokenIndex() int32 {
+	if m != nil {
+		return m.HeadTokenIndex
+	}
+	return 0
+}
+
+func (m *DependencyEdge) GetLabel() DependencyEdge_Label {
+	if m != nil {
+		return m.Label
+	}
+	return DependencyEdge_UNKNOWN
+}
+
 // Represents a mention for an entity in the text. Currently, proper noun
 // mentions are supported.
 type EntityMention struct {
@@ -1385,6 +1539,13 @@ func (m *EntityMention) GetText() *TextSpan {
 	return nil
 }
 
+func (m *EntityMention) GetType() EntityMention_Type {
+	if m != nil {
+		return m.Type
+	}
+	return EntityMention_TYPE_UNKNOWN
+}
+
 // Represents an output piece of text.
 type TextSpan struct {
 	// The content of the output text.
@@ -1399,6 +1560,20 @@ func (m *TextSpan) String() string            { return proto.CompactTextString(m
 func (*TextSpan) ProtoMessage()               {}
 func (*TextSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *TextSpan) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func (m *TextSpan) GetBeginOffset() int32 {
+	if m != nil {
+		return m.BeginOffset
+	}
+	return 0
+}
+
 // The sentiment analysis request message.
 type AnalyzeSentimentRequest struct {
 	// Input document. Currently, `analyzeSentiment` only supports English text
@@ -1420,6 +1595,13 @@ func (m *AnalyzeSentimentRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSentimentRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The sentiment analysis response message.
 type AnalyzeSentimentResponse struct {
 	// The overall sentiment of the input document.
@@ -1444,6 +1626,13 @@ func (m *AnalyzeSentimentResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnalyzeSentimentResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func (m *AnalyzeSentimentResponse) GetSentences() []*Sentence {
 	if m != nil {
 		return m.Sentences
@@ -1471,6 +1660,13 @@ func (m *AnalyzeEntitiesRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeEntitiesRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The entity analysis response message.
 type AnalyzeEntitiesResponse struct {
 	// The recognized entities in the input document.
@@ -1493,6 +1689,13 @@ func (m *AnalyzeEntitiesResponse) GetEntities() []*Entity {
 	return nil
 }
 
+func (m *AnalyzeEntitiesResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The syntax analysis request message.
 type AnalyzeSyntaxRequest struct {
 	// Input document.
@@ -1513,6 +1716,13 @@ func (m *AnalyzeSyntaxRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSyntaxRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The syntax analysis response message.
 type AnalyzeSyntaxResponse struct {
 	// Sentences in the input document.
@@ -1544,6 +1754,13 @@ func (m *AnalyzeSyntaxResponse) GetTokens() []*Token {
 	return nil
 }
 
+func (m *AnalyzeSyntaxResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The request message for the text annotation API, which can perform multiple
 // analysis types (sentiment, entities, and syntax) in one call.
 type AnnotateTextRequest struct {
@@ -1574,6 +1791,13 @@ func (m *AnnotateTextRequest) GetFeatures() *AnnotateTextRequest_Features {
 	return nil
 }
 
+func (m *AnnotateTextRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // All available features for sentiment, syntax, and semantic analysis.
 // Setting each one to true will enable that specific analysis for the input.
 type AnnotateTextRequest_Features struct {
@@ -1592,6 +1816,27 @@ func (*AnnotateTextRequest_Features) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{15, 0}
 }
 
+func (m *AnnotateTextRequest_Features) GetExtractSyntax() bool {
+	if m != nil {
+		return m.ExtractSyntax
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractEntities() bool {
+	if m != nil {
+		return m.ExtractEntities
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractDocumentSentiment() bool {
+	if m != nil {
+		return m.ExtractDocumentSentiment
+	}
+	return false
+}
+
 // The text annotations response message.
 type AnnotateTextResponse struct {
 	// Sentences in the input document. Populated if the user enables
@@ -1647,6 +1892,13 @@ func (m *AnnotateTextResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnnotateTextResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Document)(nil), "google.cloud.language.v1.Document")
 	proto.RegisterType((*Sentence)(nil), "google.cloud.language.v1.Sentence")
@@ -1869,184 +2121,182 @@ var _LanguageService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto",
+	Metadata: "google/cloud/language/v1/language_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/language/v1/language_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/language/v1/language_service.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2730 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x6f, 0xdc, 0xc6,
-	0x15, 0x37, 0xf7, 0x4b, 0xbb, 0xb3, 0x92, 0x3c, 0x66, 0x9c, 0x64, 0xab, 0x7c, 0x39, 0x4c, 0xed,
-	0x28, 0x4e, 0xb2, 0x8a, 0x94, 0xd6, 0x71, 0x1c, 0x37, 0x31, 0x45, 0xce, 0xae, 0x28, 0x73, 0x87,
-	0xcc, 0x90, 0x5c, 0x2b, 0xb9, 0x2c, 0xe8, 0xdd, 0xd1, 0x66, 0x11, 0x89, 0xdc, 0x2e, 0x29, 0xc3,
-	0xea, 0xa5, 0x40, 0x81, 0x1e, 0x73, 0x4a, 0x0f, 0x45, 0x4f, 0x05, 0xfa, 0x71, 0x6c, 0xff, 0x80,
-	0x16, 0xe8, 0x3f, 0xd0, 0x5b, 0xff, 0x85, 0xde, 0x5a, 0xa0, 0xb7, 0xa2, 0x97, 0x02, 0xc5, 0x9b,
-	0x21, 0xf7, 0x43, 0x91, 0x6c, 0xc9, 0x08, 0xd0, 0xdc, 0x66, 0xde, 0xbe, 0xdf, 0xfb, 0x9e, 0xf7,
-	0x86, 0xb3, 0x88, 0x0e, 0xe3, 0x78, 0x78, 0xc0, 0x9b, 0xc3, 0xf8, 0x20, 0x8c, 0x86, 0xcd, 0x78,
-	0x32, 0xdc, 0x18, 0xf2, 0x68, 0x3c, 0x89, 0xd3, 0x78, 0x43, 0xfe, 0x14, 0x8e, 0x47, 0xc9, 0x46,
-	0xff, 0x20, 0x3e, 0x1a, 0x6c, 0x00, 0xcb, 0x51, 0x38, 0xe4, 0x1b, 0x8f, 0x36, 0xa7, 0xeb, 0x5e,
-	0xc2, 0x27, 0x8f, 0x46, 0x7d, 0xde, 0x14, 0x18, 0xb5, 0x91, 0xc9, 0x13, 0x80, 0x66, 0xce, 0xd4,
-	0x7c, 0xb4, 0xb9, 0x66, 0x9d, 0x4f, 0x53, 0x38, 0x1e, 0x6d, 0x64, 0x22, 0xfb, 0x71, 0xb4, 0x3f,
-	0x1a, 0x6e, 0x84, 0x51, 0x14, 0xa7, 0x61, 0x3a, 0x8a, 0xa3, 0x44, 0x2a, 0xd1, 0xfe, 0xa1, 0xa0,
-	0xaa, 0x19, 0xf7, 0x8f, 0x0e, 0x79, 0x94, 0xaa, 0x1f, 0xa1, 0x52, 0x7a, 0x3c, 0xe6, 0x0d, 0xe5,
-	0x9a, 0xb2, 0xbe, 0xba, 0xf5, 0x66, 0xf3, 0x2c, 0x03, 0x9a, 0x39, 0xa2, 0xe9, 0x1f, 0x8f, 0x39,
-	0x13, 0x20, 0x75, 0x0d, 0x2d, 0xf5, 0xe3, 0x28, 0xe5, 0x51, 0xda, 0x28, 0x5c, 0x53, 0xd6, 0x6b,
-	0x3b, 0x97, 0x58, 0x4e, 0x50, 0xd7, 0xd1, 0xe5, 0x61, 0x3f, 0xe9, 0x65, 0xdb, 0xde, 0xd1, 0x64,
-	0xd4, 0x28, 0x66, 0x3c, 0x2b, 0xc3, 0x7e, 0x62, 0x48, 0x7a, 0x30, 0x19, 0xa9, 0x6b, 0xa8, 0x9a,
-	0x2b, 0x6a, 0x94, 0x80, 0x85, 0x4d, 0xf7, 0xda, 0x2d, 0x54, 0x02, 0x7d, 0xea, 0x55, 0x84, 0xfd,
-	0xcf, 0x5c, 0xd2, 0x0b, 0xa8, 0xe7, 0x12, 0xc3, 0x6a, 0x59, 0xc4, 0xc4, 0x97, 0xd4, 0x55, 0x84,
-	0x5c, 0x5b, 0xb7, 0x68, 0xcf, 0x27, 0x7b, 0x3e, 0x56, 0xd4, 0x2a, 0x2a, 0xed, 0xf8, 0x1d, 0x1b,
-	0x17, 0xb6, 0xab, 0xa8, 0x92, 0xc4, 0x47, 0x93, 0x3e, 0xd7, 0x7e, 0xae, 0xa0, 0xaa, 0xc7, 0x41,
-	0x59, 0x9f, 0xab, 0xb7, 0x50, 0x29, 0xe5, 0x8f, 0x53, 0xe1, 0x6d, 0x7d, 0x4b, 0x3b, 0xdb, 0x5b,
-	0x9f, 0x3f, 0x4e, 0xbd, 0x71, 0x18, 0x31, 0xc1, 0xaf, 0xea, 0xa8, 0x96, 0xf0, 0x28, 0x1d, 0x1d,
-	0xe6, 0xae, 0xd6, 0xb7, 0xde, 0x38, 0x1b, 0xec, 0xe5, 0xac, 0x6c, 0x86, 0xd2, 0xfe, 0x5c, 0x44,
-	0x15, 0x12, 0xa5, 0xa3, 0xf4, 0x58, 0x55, 0x51, 0x29, 0x0a, 0x0f, 0x65, 0xcc, 0x6b, 0x4c, 0xac,
-	0xd5, 0x0f, 0xb3, 0x3c, 0x14, 0x44, 0x1e, 0xae, 0x9f, 0x2d, 0x5c, 0xca, 0x98, 0xcf, 0xc2, 0x2e,
-	0xaa, 0x1e, 0xf2, 0x34, 0x1c, 0x84, 0x69, 0xd8, 0x28, 0x5e, 0x2b, 0xae, 0xd7, 0xb7, 0x9a, 0x4f,
-	0x85, 0x77, 0x32, 0x00, 0x89, 0xd2, 0xc9, 0x31, 0x9b, 0xe2, 0x21, 0x17, 0x49, 0x78, 0x30, 0x82,
-	0x60, 0x89, 0x5c, 0x14, 0xd8, 0x74, 0xaf, 0x1a, 0xa0, 0x27, 0x12, 0x95, 0xd4, 0x28, 0x0b, 0x3d,
-	0x6f, 0x3e, 0x4d, 0x4f, 0x47, 0xf2, 0xb3, 0x29, 0x70, 0xed, 0x23, 0xb4, 0xb2, 0xa0, 0x5b, 0xc5,
-	0xa8, 0xf8, 0x25, 0x3f, 0xce, 0x62, 0x01, 0x4b, 0xf5, 0x2a, 0x2a, 0x3f, 0x0a, 0x0f, 0x8e, 0x64,
-	0x2c, 0x6a, 0x4c, 0x6e, 0xee, 0x14, 0x6e, 0x2b, 0xda, 0x71, 0x56, 0x0d, 0x75, 0xb4, 0x14, 0xd0,
-	0xfb, 0xd4, 0x79, 0x40, 0xf1, 0x25, 0x15, 0xa1, 0x8a, 0x4b, 0x98, 0xe7, 0x50, 0xac, 0xa8, 0xcb,
-	0xa8, 0x6a, 0x3b, 0x86, 0xee, 0x5b, 0x0e, 0xc5, 0x05, 0x15, 0xa3, 0x65, 0x87, 0xb5, 0x75, 0x6a,
-	0x7d, 0x2e, 0x29, 0x45, 0xb5, 0x86, 0xca, 0xa4, 0x4b, 0xa8, 0x8f, 0x4b, 0xea, 0x65, 0x54, 0x7f,
-	0xe0, 0xb0, 0xfb, 0x3d, 0xa7, 0xd5, 0xd3, 0x99, 0x8f, 0xcb, 0xea, 0x15, 0xb4, 0x62, 0x38, 0xd4,
-	0x0b, 0x3a, 0x84, 0xf5, 0xda, 0x8e, 0x63, 0xe2, 0x0a, 0xb0, 0x3b, 0xfe, 0x0e, 0x61, 0x78, 0x49,
-	0xfb, 0xb7, 0x82, 0xca, 0x7e, 0xfc, 0x25, 0x8f, 0x9e, 0xb9, 0x86, 0x6c, 0xb4, 0x3a, 0x0e, 0x27,
-	0x69, 0x2f, 0xde, 0xef, 0x25, 0x63, 0xce, 0xfb, 0x5f, 0x64, 0x85, 0x74, 0xe3, 0x6c, 0x09, 0x6e,
-	0x38, 0x49, 0x9d, 0x7d, 0x4f, 0x70, 0xb3, 0xe5, 0xf1, 0xdc, 0x4e, 0xfd, 0x14, 0x5d, 0x1e, 0xf0,
-	0x31, 0x8f, 0x06, 0x3c, 0xea, 0x1f, 0xf7, 0xf8, 0x60, 0xc8, 0xc5, 0xf1, 0xaa, 0x6f, 0xad, 0x3f,
-	0xe1, 0x08, 0x4f, 0x01, 0x64, 0x30, 0xe4, 0x6c, 0x75, 0xb0, 0xb0, 0x87, 0xb8, 0x1f, 0xf0, 0xc3,
-	0xc3, 0x30, 0x3b, 0x84, 0x72, 0xa3, 0x7d, 0x82, 0x6a, 0xd3, 0x7a, 0x56, 0x5f, 0x46, 0xb5, 0xc3,
-	0x70, 0x18, 0x8d, 0xd2, 0xa3, 0x81, 0x4c, 0x4f, 0x81, 0xcd, 0x08, 0x20, 0x20, 0xe9, 0xc7, 0x13,
-	0x69, 0x49, 0x81, 0xc9, 0x8d, 0xf6, 0x5f, 0x8c, 0x96, 0xe7, 0x1d, 0x51, 0xef, 0xa2, 0x62, 0x1a,
-	0x0e, 0xb3, 0x8e, 0x73, 0xf3, 0x7c, 0xde, 0x37, 0xfd, 0x70, 0xc8, 0x00, 0xa6, 0x12, 0x54, 0x09,
-	0x93, 0x31, 0xef, 0xa7, 0xd9, 0x51, 0x79, 0xf7, 0x9c, 0x02, 0x74, 0x01, 0x62, 0x19, 0x58, 0xfd,
-	0x04, 0x95, 0xfa, 0x61, 0x22, 0x4d, 0x5d, 0xdd, 0x7a, 0xfb, 0x9c, 0x42, 0x8c, 0x30, 0xe1, 0x4c,
-	0x00, 0x41, 0xc0, 0x7e, 0x3c, 0x39, 0x14, 0xc1, 0x3a, 0xbf, 0x80, 0x56, 0x3c, 0x39, 0x64, 0x02,
-	0x08, 0x8e, 0x0c, 0x21, 0xfc, 0x93, 0x46, 0xf9, 0x42, 0x8e, 0xb4, 0x05, 0x88, 0x65, 0x60, 0xb0,
-	0xe3, 0x30, 0x8e, 0x07, 0x8d, 0xca, 0x85, 0xec, 0xe8, 0xc4, 0xf1, 0x80, 0x09, 0x20, 0xd8, 0x11,
-	0x1d, 0x1d, 0x3e, 0xe4, 0x93, 0xc6, 0xd2, 0x85, 0xec, 0xa0, 0x02, 0xc4, 0x32, 0x30, 0x88, 0x19,
-	0xf3, 0x49, 0x12, 0x47, 0x8d, 0xea, 0x85, 0xc4, 0xb8, 0x02, 0xc4, 0x32, 0xb0, 0x10, 0x33, 0x89,
-	0xc7, 0x7c, 0xd2, 0xa8, 0x5d, 0x4c, 0x8c, 0x00, 0xb1, 0x0c, 0xac, 0xfa, 0xa8, 0x3e, 0xe1, 0xfd,
-	0xd1, 0x78, 0x12, 0xf7, 0x47, 0xe9, 0x71, 0x03, 0x09, 0x59, 0x5b, 0xe7, 0x94, 0xc5, 0x66, 0x48,
-	0x36, 0x2f, 0x46, 0xdd, 0x46, 0xe5, 0x94, 0x47, 0x09, 0x6f, 0xd4, 0x85, 0xbc, 0x77, 0xce, 0x5b,
-	0xbb, 0x80, 0x61, 0x12, 0x0a, 0x32, 0x1e, 0xc5, 0xa3, 0x3e, 0x6f, 0x2c, 0x5f, 0x48, 0x46, 0x17,
-	0x30, 0x4c, 0x42, 0xb5, 0xaf, 0x14, 0x54, 0xf4, 0xc3, 0xe1, 0x62, 0x1f, 0x5c, 0x42, 0x45, 0xdd,
-	0xdc, 0xc5, 0x8a, 0x5c, 0xb8, 0xb8, 0x20, 0x17, 0x5d, 0x5c, 0x84, 0xb9, 0x68, 0x38, 0x74, 0x17,
-	0x97, 0x80, 0x64, 0x12, 0xe8, 0x76, 0x55, 0x54, 0xa2, 0x4e, 0x40, 0x71, 0x05, 0x48, 0x34, 0xe8,
-	0xe0, 0x25, 0x20, 0xb9, 0xcc, 0xa1, 0xb8, 0x0a, 0x24, 0x97, 0xf9, 0xb8, 0x06, 0x0d, 0xd0, 0x0d,
-	0xa8, 0xe1, 0x63, 0x04, 0xbf, 0x76, 0x09, 0xdb, 0xc6, 0x75, 0xb5, 0x8c, 0x94, 0x3d, 0xbc, 0x0c,
-	0xbf, 0xe9, 0xad, 0x96, 0xb5, 0x87, 0x57, 0x34, 0x07, 0x55, 0xe4, 0xf1, 0x52, 0x55, 0xb4, 0xaa,
-	0xc3, 0x84, 0xf6, 0x7b, 0x33, 0xc3, 0x60, 0x4a, 0x13, 0xd6, 0x22, 0x86, 0x6f, 0x75, 0x09, 0x56,
-	0xa0, 0x2d, 0x5b, 0x9d, 0x39, 0x4a, 0x01, 0x7a, 0xb1, 0xcb, 0x9c, 0x36, 0x23, 0x9e, 0x07, 0x84,
-	0xa2, 0xf6, 0x1f, 0x05, 0x95, 0xe0, 0xac, 0x01, 0xaf, 0xa1, 0x7b, 0x64, 0x51, 0x9a, 0x6e, 0x18,
-	0x81, 0xa7, 0x67, 0xd2, 0x56, 0x50, 0x4d, 0x37, 0xc1, 0x32, 0x4b, 0xb7, 0x71, 0x41, 0x76, 0xf1,
-	0x8e, 0x6b, 0x93, 0x0e, 0xa1, 0x82, 0xa3, 0x08, 0x03, 0xc2, 0x94, 0xdc, 0x25, 0x18, 0x10, 0x6d,
-	0x42, 0x2d, 0xb1, 0x2b, 0x0b, 0x4b, 0xa8, 0xe7, 0xb3, 0x00, 0x98, 0x75, 0x1b, 0x57, 0x66, 0x03,
-	0xa4, 0x4b, 0xf0, 0x12, 0xe8, 0xa2, 0x4e, 0xc7, 0xa2, 0x72, 0x5f, 0x85, 0x78, 0x3b, 0xdb, 0xb6,
-	0xf5, 0x69, 0x40, 0x70, 0x0d, 0x14, 0xbb, 0x3a, 0xf3, 0xa5, 0x2c, 0x04, 0x8a, 0x5d, 0x46, 0x5c,
-	0xc7, 0xb3, 0x60, 0xd6, 0xe8, 0x36, 0xae, 0x43, 0x30, 0x18, 0x69, 0xd9, 0x64, 0xcf, 0xea, 0x92,
-	0x1e, 0xb8, 0x81, 0x97, 0x81, 0x8d, 0x11, 0x5b, 0x08, 0x94, 0xa4, 0x15, 0xd0, 0xd9, 0xcd, 0x75,
-	0xae, 0x6a, 0x7f, 0x54, 0x50, 0x09, 0xba, 0x04, 0x18, 0xd7, 0x72, 0x58, 0x67, 0xce, 0xf5, 0x65,
-	0x54, 0xd5, 0x4d, 0x30, 0x48, 0xb7, 0x33, 0xc7, 0x83, 0x3d, 0xcb, 0xb6, 0x74, 0xf6, 0x19, 0x2e,
-	0x80, 0xb2, 0x39, 0xc7, 0x3f, 0x27, 0x0c, 0x17, 0x85, 0x08, 0x8b, 0xea, 0x76, 0x8f, 0x50, 0xd3,
-	0xa2, 0x6d, 0x5c, 0x82, 0x58, 0xb4, 0x09, 0x0b, 0xa8, 0x89, 0xcb, 0xb0, 0x66, 0x44, 0xb7, 0x2d,
-	0x4f, 0xfa, 0x6d, 0xb1, 0x6c, 0xb7, 0x04, 0xa9, 0xf5, 0x76, 0x1c, 0xe6, 0xe3, 0x2a, 0xa4, 0xdd,
-	0x76, 0x68, 0x5b, 0xd6, 0x82, 0xc3, 0x4c, 0xc2, 0x30, 0x02, 0xee, 0xec, 0x1a, 0x66, 0xe0, 0xba,
-	0x46, 0x50, 0x45, 0xf6, 0x24, 0xb0, 0xa1, 0x4d, 0xa8, 0x49, 0xd8, 0xa2, 0xd1, 0x2d, 0xd2, 0xb1,
-	0xa8, 0x45, 0xb3, 0x6c, 0x75, 0x74, 0xcf, 0x08, 0x6c, 0xd8, 0x16, 0xc0, 0x04, 0x4a, 0x02, 0x1f,
-	0x8c, 0xd5, 0x7e, 0x8a, 0x4a, 0xd0, 0x95, 0xc0, 0xe8, 0x8e, 0xe3, 0x98, 0x73, 0x22, 0xae, 0x22,
-	0x6c, 0x38, 0xd4, 0xcc, 0x02, 0xdb, 0x83, 0x5f, 0xb1, 0x02, 0xc9, 0x11, 0x65, 0xa4, 0x67, 0x45,
-	0x04, 0x7b, 0x6a, 0x5a, 0x59, 0x20, 0x8b, 0x10, 0x69, 0x8b, 0xfa, 0x84, 0x31, 0xa7, 0x9d, 0x67,
-	0xbf, 0x8e, 0x96, 0x76, 0x03, 0x59, 0x63, 0x65, 0x28, 0x3a, 0x2f, 0xd8, 0xde, 0x85, 0xf2, 0x06,
-	0x42, 0x45, 0xbb, 0x87, 0x2a, 0xb2, 0xa7, 0x81, 0x1f, 0x34, 0xe8, 0x6c, 0x9f, 0xf4, 0xc3, 0xb3,
-	0x68, 0x3b, 0xb0, 0x75, 0x86, 0x15, 0x71, 0xe9, 0xb0, 0x03, 0x26, 0x4a, 0xae, 0x8a, 0x4a, 0x66,
-	0xa0, 0xdb, 0xb8, 0xa8, 0xf9, 0xa8, 0x22, 0xdb, 0x19, 0x48, 0x90, 0x97, 0x92, 0x39, 0x09, 0x35,
-	0x54, 0x6e, 0x59, 0xcc, 0xf3, 0x25, 0xdc, 0x23, 0xe0, 0x13, 0x2e, 0x00, 0xd9, 0xdf, 0xb1, 0x98,
-	0x89, 0x8b, 0xe0, 0xe8, 0xac, 0x60, 0xb2, 0x4b, 0x4d, 0x49, 0xbb, 0x8d, 0x2a, 0xb2, 0xbb, 0x09,
-	0xa9, 0xcc, 0x71, 0x17, 0xec, 0x02, 0x4b, 0x04, 0x4d, 0x86, 0x84, 0x3a, 0x7e, 0x2f, 0xdb, 0x17,
-	0xb4, 0x5d, 0x54, 0x9f, 0xeb, 0x65, 0xea, 0x8b, 0xe8, 0x39, 0x46, 0x0c, 0xcb, 0x65, 0x8e, 0x61,
-	0xf9, 0x9f, 0x2d, 0x9e, 0xa9, 0xfc, 0x07, 0x51, 0x5a, 0xe0, 0xbf, 0x43, 0x7b, 0x73, 0xb4, 0x82,
-	0x96, 0xa0, 0xb2, 0xe8, 0x63, 0x10, 0x57, 0x9f, 0xd0, 0x85, 0x33, 0xf9, 0x3c, 0xba, 0x32, 0x9f,
-	0x20, 0xf1, 0xb3, 0xf4, 0xb2, 0x15, 0xf8, 0x01, 0x23, 0x32, 0x48, 0xae, 0xee, 0xf9, 0xb8, 0x08,
-	0x49, 0x70, 0x19, 0xf1, 0xe4, 0x2d, 0x6c, 0x05, 0xd5, 0xa6, 0xbd, 0x00, 0x97, 0xe5, 0x85, 0x3e,
-	0xc8, 0xf7, 0x15, 0x6d, 0x1b, 0x95, 0x45, 0xe3, 0x03, 0xa5, 0x5d, 0xc7, 0x32, 0xc8, 0xa2, 0xe3,
-	0xba, 0x31, 0x6b, 0x02, 0x86, 0x9e, 0xf7, 0x84, 0x82, 0x50, 0xa1, 0xe7, 0xbd, 0xe4, 0x5f, 0x4b,
-	0x68, 0x75, 0xf1, 0xe6, 0xa3, 0xae, 0x23, 0xfc, 0x05, 0x0f, 0x07, 0xbd, 0x14, 0x2e, 0x74, 0xbd,
-	0x51, 0x34, 0xe0, 0x8f, 0xc5, 0x75, 0xa4, 0xcc, 0x56, 0x81, 0x2e, 0xee, 0x79, 0x16, 0x50, 0x55,
-	0x13, 0x95, 0x0f, 0xc2, 0x87, 0xfc, 0x20, 0xbb, 0x6c, 0x34, 0xcf, 0x7b, 0xb9, 0x6a, 0xda, 0x80,
-	0x62, 0x12, 0xac, 0xfd, 0xb3, 0x82, 0xca, 0x82, 0xf0, 0x8d, 0x9b, 0xab, 0xbe, 0xbd, 0xcd, 0x48,
-	0x17, 0x2b, 0xa2, 0x9b, 0xc2, 0xf9, 0x95, 0x05, 0xa1, 0x9b, 0x5d, 0xc3, 0x96, 0xad, 0x4b, 0x37,
-	0xbb, 0x1d, 0xc7, 0xc4, 0x25, 0x88, 0xa0, 0x0e, 0xab, 0xb2, 0x60, 0x70, 0x5d, 0x07, 0xce, 0x2d,
-	0x10, 0x7d, 0x9f, 0xe1, 0x25, 0xd1, 0xec, 0x83, 0x3d, 0xd9, 0xa4, 0xf4, 0x60, 0x0f, 0xfc, 0xc7,
-	0x35, 0xb5, 0x82, 0x0a, 0x86, 0x81, 0x11, 0x40, 0x0c, 0x21, 0xbe, 0x3e, 0x1d, 0x06, 0xa2, 0x83,
-	0x1b, 0x70, 0x04, 0xf0, 0x8a, 0x08, 0x20, 0x2c, 0x05, 0x6c, 0x55, 0x8e, 0x09, 0x17, 0x5f, 0xce,
-	0xe7, 0x05, 0x06, 0x06, 0xd3, 0xf2, 0x0c, 0x27, 0x60, 0x1e, 0xc1, 0x57, 0x44, 0xcd, 0x3b, 0xdb,
-	0xbb, 0x58, 0x85, 0x15, 0xd9, 0x73, 0x6d, 0xfc, 0x9c, 0xe8, 0xad, 0x0e, 0xf1, 0x1e, 0x58, 0xfe,
-	0x0e, 0xbe, 0x0a, 0x74, 0x0b, 0x38, 0x9e, 0x87, 0x55, 0x47, 0x67, 0xf7, 0xf1, 0x0b, 0x20, 0xad,
-	0xf3, 0x80, 0xe0, 0x17, 0xe5, 0xa2, 0x8b, 0x1b, 0x62, 0xf8, 0x90, 0x36, 0xfe, 0x1e, 0x18, 0x4a,
-	0x29, 0x5e, 0x03, 0x21, 0xd4, 0xcd, 0x7c, 0x7e, 0x09, 0x2c, 0xa4, 0xc2, 0xc2, 0x97, 0xc1, 0x00,
-	0x3a, 0xb5, 0xf0, 0x95, 0x7c, 0x6a, 0xbd, 0x2a, 0x5a, 0x88, 0x38, 0xab, 0xf8, 0x35, 0x98, 0x4c,
-	0x2e, 0xbe, 0x96, 0x75, 0x66, 0xdd, 0xd7, 0xf7, 0x2c, 0x0f, 0xbf, 0x2e, 0xab, 0x81, 0xf9, 0x20,
-	0x51, 0x13, 0x13, 0x4d, 0x04, 0xe2, 0x0d, 0x51, 0x92, 0x60, 0xe1, 0xf7, 0xe5, 0xca, 0xf3, 0xf0,
-	0x75, 0xc1, 0xeb, 0x78, 0x3e, 0xd8, 0x74, 0x23, 0xab, 0x54, 0xc1, 0xfd, 0xe6, 0x74, 0x43, 0x77,
-	0xf1, 0xba, 0x3c, 0x74, 0x04, 0x22, 0xf3, 0x96, 0x1c, 0x9b, 0xa4, 0x85, 0x6f, 0x66, 0x2b, 0x17,
-	0xbf, 0x2d, 0xb4, 0x30, 0x87, 0xda, 0xf8, 0x9d, 0x7c, 0x96, 0xbe, 0x0b, 0x1e, 0xba, 0x1e, 0x6e,
-	0x82, 0x87, 0x9f, 0x06, 0x3a, 0x15, 0xf6, 0x6c, 0x00, 0x27, 0x33, 0x60, 0xf9, 0x1e, 0xfc, 0x20,
-	0x96, 0x8c, 0xd8, 0x78, 0x53, 0xfc, 0x60, 0x32, 0xc7, 0xc5, 0x5b, 0x20, 0x02, 0x14, 0xbc, 0x0f,
-	0x36, 0x30, 0xd2, 0xa1, 0x3a, 0xf5, 0xf1, 0x0f, 0xe4, 0xa1, 0x05, 0x3f, 0xa9, 0x19, 0x74, 0xf0,
-	0x0f, 0x41, 0x3b, 0x73, 0x1c, 0x1f, 0xdf, 0x82, 0x95, 0x07, 0xc1, 0xf9, 0x40, 0xac, 0x82, 0x56,
-	0x0b, 0xdf, 0x86, 0x95, 0xd0, 0xf8, 0xa1, 0xe8, 0x37, 0x8e, 0x6b, 0x19, 0xf8, 0x8e, 0x98, 0xe9,
-	0x40, 0xfc, 0x68, 0x61, 0x06, 0xdd, 0x05, 0x96, 0x3d, 0xe1, 0xf6, 0x8f, 0x44, 0xa7, 0x0a, 0xc4,
-	0x98, 0xff, 0x58, 0x20, 0x2d, 0xdf, 0x26, 0xf8, 0x13, 0x39, 0x8a, 0xba, 0xee, 0x0e, 0xa0, 0xef,
-	0x65, 0x25, 0x07, 0x27, 0x10, 0xeb, 0xa2, 0x3a, 0x83, 0xbd, 0x6e, 0x17, 0x6f, 0xc3, 0xd2, 0x14,
-	0x5a, 0x0d, 0x60, 0x69, 0x39, 0x8c, 0x58, 0x6d, 0x8a, 0x4d, 0x08, 0xc5, 0xfd, 0x07, 0x98, 0x88,
-	0xe1, 0x62, 0x79, 0x3e, 0x6e, 0xc9, 0xeb, 0x48, 0xc7, 0xc0, 0x6d, 0x51, 0x00, 0x4e, 0x47, 0xd6,
-	0xe5, 0x0e, 0x0c, 0x83, 0x7c, 0x27, 0x12, 0x6f, 0x09, 0xce, 0xa0, 0x63, 0xe0, 0x5d, 0x08, 0x8b,
-	0xe1, 0xb8, 0xf8, 0x3e, 0x44, 0xc2, 0xb4, 0x3c, 0x31, 0xb7, 0x89, 0x89, 0x6d, 0xed, 0x4f, 0x0a,
-	0x5a, 0x59, 0xf8, 0xfe, 0x7c, 0xe6, 0x6f, 0xb6, 0x7b, 0x0b, 0x5f, 0xe5, 0xef, 0x9c, 0xf3, 0x73,
-	0x77, 0xee, 0xe3, 0x5c, 0x7b, 0x2f, 0xfb, 0x64, 0xc5, 0x68, 0x39, 0x7b, 0xc0, 0x38, 0xad, 0x71,
-	0x23, 0x54, 0x31, 0x9c, 0x4e, 0x07, 0xbe, 0x5a, 0xb5, 0x36, 0xaa, 0xe6, 0x56, 0xa8, 0x8d, 0xd9,
-	0x03, 0x8b, 0xfc, 0x40, 0x9e, 0x3e, 0xaf, 0xbc, 0x8e, 0x96, 0x1f, 0xf2, 0xe1, 0x28, 0xea, 0xc5,
-	0xfb, 0xfb, 0x09, 0x97, 0x1f, 0x43, 0x65, 0x56, 0x17, 0x34, 0x47, 0x90, 0xb4, 0xdf, 0x2b, 0xe8,
-	0x45, 0x3d, 0x0a, 0x0f, 0x8e, 0x7f, 0xc2, 0x67, 0x2f, 0x12, 0xfc, 0xc7, 0x47, 0x3c, 0x49, 0xd5,
-	0x8f, 0x51, 0x75, 0x90, 0x3d, 0xe8, 0x3c, 0x3d, 0x28, 0xf9, 0xd3, 0x0f, 0x9b, 0x62, 0xd4, 0xfb,
-	0x68, 0x85, 0x47, 0xfd, 0x78, 0x30, 0x8a, 0x86, 0xbd, 0xb9, 0x08, 0xdd, 0x78, 0x52, 0x84, 0x24,
-	0xbb, 0x88, 0xcd, 0x32, 0x9f, 0xdb, 0x69, 0x7f, 0x55, 0x50, 0xe3, 0x9b, 0x86, 0x26, 0xe3, 0x18,
-	0xc6, 0x0d, 0x43, 0x6a, 0xae, 0xb5, 0x37, 0x7b, 0x83, 0x51, 0xce, 0xff, 0x06, 0x73, 0x25, 0x87,
-	0xcf, 0x3e, 0x63, 0xe7, 0x5f, 0x9c, 0x0a, 0x8b, 0x2f, 0x4e, 0xea, 0x3d, 0xf9, 0xd4, 0xc3, 0xa3,
-	0x3e, 0x4f, 0xb2, 0xe7, 0x14, 0xed, 0xc9, 0x6a, 0x80, 0x95, 0xcd, 0x40, 0xda, 0xef, 0x14, 0xf4,
-	0x42, 0xe6, 0x8e, 0x28, 0x8b, 0x11, 0x4f, 0xbe, 0x93, 0x61, 0x4f, 0xa6, 0xe5, 0x31, 0x33, 0x33,
-	0x0b, 0xfa, 0x5d, 0x54, 0xe5, 0x19, 0xad, 0xa1, 0x88, 0x18, 0x5c, 0x7b, 0x5a, 0xed, 0xb3, 0x29,
-	0xe2, 0x49, 0xe1, 0xd5, 0x7e, 0xa3, 0xa0, 0xab, 0x79, 0xae, 0x8f, 0xa3, 0x34, 0x7c, 0xfc, 0x9d,
-	0x0c, 0xcd, 0x1f, 0x14, 0xf4, 0xfc, 0x09, 0x2b, 0xb3, 0xc8, 0x2c, 0x94, 0x87, 0xf2, 0x0c, 0xe5,
-	0xa1, 0x7e, 0x80, 0x2a, 0xe2, 0xde, 0x91, 0x34, 0x0a, 0x02, 0xfe, 0xda, 0x13, 0xba, 0x11, 0xf0,
-	0xb1, 0x8c, 0x7d, 0x21, 0xac, 0xc5, 0x13, 0x61, 0xfd, 0xba, 0x88, 0x9e, 0xd3, 0xe5, 0x4b, 0x2f,
-	0x87, 0xee, 0xf1, 0x6d, 0x45, 0x95, 0xa1, 0xea, 0x3e, 0x0f, 0xd3, 0xa3, 0x09, 0x4f, 0xb2, 0xe7,
-	0xaa, 0x5b, 0x67, 0xe3, 0x4f, 0x31, 0xa0, 0xd9, 0xca, 0xd0, 0x6c, 0x2a, 0xe7, 0x9b, 0x99, 0x2a,
-	0x3e, 0x7b, 0xa6, 0xd6, 0x7e, 0xa5, 0xa0, 0x6a, 0xae, 0x43, 0xbd, 0x8e, 0x56, 0xf9, 0xe3, 0x74,
-	0x12, 0xf6, 0xd3, 0x5e, 0x22, 0xd2, 0x26, 0x7c, 0xae, 0xb2, 0x95, 0x8c, 0x2a, 0x73, 0xa9, 0xbe,
-	0x85, 0x70, 0xce, 0x36, 0xad, 0xf2, 0x82, 0x60, 0xbc, 0x9c, 0xd1, 0xf3, 0x03, 0xa1, 0xde, 0x45,
-	0x6b, 0x39, 0xeb, 0x29, 0x5d, 0xa8, 0x28, 0x40, 0x8d, 0x8c, 0xc3, 0x3c, 0xd9, 0x67, 0xb4, 0xbf,
-	0x14, 0xa0, 0xd8, 0xe7, 0x83, 0xf2, 0xff, 0xaf, 0xa2, 0xf9, 0xa3, 0x5d, 0xbc, 0xf0, 0xd1, 0x3e,
-	0xbd, 0x1b, 0x97, 0xbe, 0xb5, 0x6e, 0x5c, 0x5e, 0xac, 0xeb, 0x9b, 0xb7, 0xd1, 0xf2, 0x7c, 0xf2,
-	0xe5, 0x3d, 0x81, 0x12, 0x7c, 0x09, 0x56, 0x81, 0xdf, 0xba, 0x2d, 0xaf, 0xce, 0x81, 0xdf, 0xda,
-	0xbc, 0x25, 0xaf, 0xce, 0x81, 0xdf, 0x7a, 0x7f, 0x0b, 0x17, 0xb7, 0xbe, 0x2a, 0xa3, 0xcb, 0x76,
-	0x26, 0xc6, 0x93, 0xff, 0x88, 0xa8, 0xbf, 0x55, 0x10, 0x3e, 0x39, 0x68, 0xd4, 0xcd, 0x27, 0x15,
-	0xf4, 0xa9, 0xd3, 0x73, 0x6d, 0xeb, 0x22, 0x10, 0x99, 0x72, 0xed, 0xad, 0x9f, 0xfd, 0xed, 0xef,
-	0x5f, 0x17, 0xde, 0xd0, 0x5e, 0xdd, 0x78, 0xb4, 0xb9, 0x91, 0x07, 0x21, 0xb9, 0x13, 0x9e, 0xe0,
-	0xbf, 0xa3, 0xdc, 0x54, 0x7f, 0xad, 0xa0, 0xcb, 0x27, 0x3a, 0xb3, 0xfa, 0xde, 0x53, 0x55, 0x9e,
-	0x98, 0x35, 0x6b, 0x9b, 0x17, 0x40, 0x64, 0x36, 0xae, 0x0b, 0x1b, 0x35, 0xed, 0x95, 0x53, 0x6d,
-	0xcc, 0xd9, 0xc1, 0xc4, 0x5f, 0x2a, 0x68, 0x65, 0xa1, 0x41, 0xaa, 0xcd, 0xa7, 0xc7, 0x64, 0xbe,
-	0xdf, 0xaf, 0x6d, 0x9c, 0x9b, 0x3f, 0x33, 0xee, 0x86, 0x30, 0xee, 0x9a, 0xf6, 0xd2, 0xe9, 0x01,
-	0x14, 0xcc, 0x60, 0xda, 0x2f, 0x14, 0xb4, 0x3c, 0x7f, 0xe8, 0xd4, 0x77, 0x2f, 0xd4, 0xb1, 0xd6,
-	0x9a, 0xe7, 0x65, 0xcf, 0xec, 0xba, 0x2e, 0xec, 0x7a, 0x4d, 0x5b, 0x3b, 0x69, 0xd7, 0x8c, 0xf7,
-	0x8e, 0x72, 0x73, 0xfb, 0x16, 0x7a, 0xb9, 0x1f, 0x1f, 0x9e, 0x29, 0x7b, 0xfb, 0xea, 0x89, 0x62,
-	0x75, 0x27, 0x71, 0x1a, 0xbb, 0xca, 0xc3, 0x8a, 0xf8, 0xd3, 0xee, 0xfd, 0xff, 0x05, 0x00, 0x00,
-	0xff, 0xff, 0xde, 0x74, 0x83, 0x80, 0x6b, 0x1c, 0x00, 0x00,
+	// 2732 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0xcd, 0x8f, 0xdb, 0xc6,
+	0x15, 0x37, 0xf5, 0xb5, 0xd2, 0x68, 0x3f, 0xc6, 0x8c, 0x93, 0xa8, 0x1b, 0x27, 0x71, 0x98, 0xda,
+	0xd9, 0x38, 0x89, 0x36, 0xbb, 0x69, 0x1d, 0xc7, 0x76, 0x13, 0x53, 0xe4, 0x48, 0xcb, 0x35, 0x45,
+	0x32, 0x43, 0x52, 0xde, 0xf8, 0x22, 0xd0, 0xd2, 0x58, 0x11, 0xb2, 0x4b, 0xaa, 0x12, 0xd7, 0xf0,
+	0xf6, 0x52, 0xa0, 0x40, 0x8f, 0x39, 0xa5, 0x87, 0xa2, 0xa7, 0x02, 0xfd, 0x38, 0xb6, 0x7f, 0x40,
+	0x0b, 0xf4, 0x1f, 0xe8, 0xad, 0xff, 0x42, 0x6f, 0x2d, 0xd0, 0x5b, 0xd1, 0x4b, 0x81, 0xe2, 0xcd,
+	0x0c, 0xf5, 0xb1, 0xde, 0xb5, 0x77, 0x8d, 0x00, 0xcd, 0x6d, 0xe6, 0xe9, 0xfd, 0xde, 0xf7, 0xbc,
+	0x37, 0x1c, 0xa1, 0xcd, 0x41, 0x92, 0x0c, 0xf6, 0xd9, 0x66, 0x6f, 0x3f, 0x39, 0xec, 0x6f, 0xee,
+	0x47, 0xf1, 0xe0, 0x30, 0x1a, 0xb0, 0xcd, 0xc7, 0x5b, 0xd3, 0x75, 0x77, 0xc2, 0xc6, 0x8f, 0x87,
+	0x3d, 0x56, 0x1f, 0x8d, 0x93, 0x34, 0x51, 0x6b, 0x02, 0x50, 0xe7, 0x80, 0x7a, 0xc6, 0x54, 0x7f,
+	0xbc, 0xb5, 0x7e, 0x59, 0x8a, 0x8a, 0x46, 0xc3, 0xcd, 0x28, 0x8e, 0x93, 0x34, 0x4a, 0x87, 0x49,
+	0x3c, 0x11, 0x38, 0xed, 0x1f, 0x0a, 0x2a, 0x9b, 0x49, 0xef, 0xf0, 0x80, 0xc5, 0xa9, 0x7a, 0x1b,
+	0x15, 0xd2, 0xa3, 0x11, 0xab, 0x29, 0x57, 0x94, 0x8d, 0xd5, 0xed, 0x77, 0xea, 0xa7, 0xc9, 0xac,
+	0x67, 0x88, 0x7a, 0x70, 0x34, 0x62, 0x94, 0x83, 0xd4, 0x75, 0xb4, 0xd4, 0x4b, 0xe2, 0x94, 0xc5,
+	0x69, 0x2d, 0x77, 0x45, 0xd9, 0xa8, 0xec, 0x5c, 0xa0, 0x19, 0x41, 0xdd, 0x40, 0x6b, 0x83, 0xde,
+	0xa4, 0x2b, 0xb7, 0xdd, 0xc3, 0xf1, 0xb0, 0x96, 0x97, 0x3c, 0x2b, 0x83, 0xde, 0xc4, 0x10, 0xf4,
+	0x70, 0x3c, 0x54, 0xd7, 0x51, 0x39, 0x53, 0x54, 0x2b, 0x00, 0x0b, 0x9d, 0xee, 0xb5, 0x1b, 0xa8,
+	0x00, 0xfa, 0xd4, 0x4b, 0x08, 0x07, 0x5f, 0x78, 0xa4, 0x1b, 0x3a, 0xbe, 0x47, 0x0c, 0xab, 0x69,
+	0x11, 0x13, 0x5f, 0x50, 0x57, 0x11, 0xf2, 0x6c, 0xdd, 0x72, 0xba, 0x01, 0xd9, 0x0b, 0xb0, 0xa2,
+	0x96, 0x51, 0x61, 0x27, 0x68, 0xdb, 0x38, 0xd7, 0x28, 0xa3, 0xd2, 0x24, 0x39, 0x1c, 0xf7, 0x98,
+	0xf6, 0x73, 0x05, 0x95, 0x7d, 0x06, 0xca, 0x7a, 0x4c, 0xbd, 0x81, 0x0a, 0x29, 0x7b, 0x92, 0x72,
+	0x6f, 0xab, 0xdb, 0xda, 0xe9, 0xde, 0x06, 0xec, 0x49, 0xea, 0x8f, 0xa2, 0x98, 0x72, 0x7e, 0x55,
+	0x47, 0x95, 0x09, 0x8b, 0xd3, 0xe1, 0x41, 0xe6, 0x6a, 0x75, 0xfb, 0xed, 0xd3, 0xc1, 0x7e, 0xc6,
+	0x4a, 0x67, 0x28, 0xed, 0xcf, 0x79, 0x54, 0x22, 0x71, 0x3a, 0x4c, 0x8f, 0x54, 0x15, 0x15, 0xe2,
+	0xe8, 0x40, 0xc4, 0xbc, 0x42, 0xf9, 0x5a, 0xfd, 0x44, 0xe6, 0x21, 0xc7, 0xf3, 0x70, 0xf5, 0x74,
+	0xe1, 0x42, 0xc6, 0x7c, 0x16, 0x76, 0x51, 0xf9, 0x80, 0xa5, 0x51, 0x3f, 0x4a, 0xa3, 0x5a, 0xfe,
+	0x4a, 0x7e, 0xa3, 0xba, 0x5d, 0x7f, 0x2e, 0xbc, 0x2d, 0x01, 0x24, 0x4e, 0xc7, 0x47, 0x74, 0x8a,
+	0x87, 0x5c, 0x4c, 0xa2, 0xfd, 0x21, 0x04, 0x8b, 0xe7, 0x22, 0x47, 0xa7, 0x7b, 0xd5, 0x00, 0x3d,
+	0x31, 0xaf, 0xa4, 0x5a, 0x91, 0xeb, 0x79, 0xe7, 0x79, 0x7a, 0xda, 0x82, 0x9f, 0x4e, 0x81, 0xeb,
+	0xb7, 0xd1, 0xca, 0x82, 0x6e, 0x15, 0xa3, 0xfc, 0x57, 0xec, 0x48, 0xc6, 0x02, 0x96, 0xea, 0x25,
+	0x54, 0x7c, 0x1c, 0xed, 0x1f, 0x8a, 0x58, 0x54, 0xa8, 0xd8, 0xdc, 0xca, 0xdd, 0x54, 0xb4, 0x23,
+	0x59, 0x0d, 0x55, 0xb4, 0x14, 0x3a, 0xf7, 0x1c, 0xf7, 0xbe, 0x83, 0x2f, 0xa8, 0x08, 0x95, 0x3c,
+	0x42, 0x7d, 0xd7, 0xc1, 0x8a, 0xba, 0x8c, 0xca, 0xb6, 0x6b, 0xe8, 0x81, 0xe5, 0x3a, 0x38, 0xa7,
+	0x62, 0xb4, 0xec, 0xd2, 0x96, 0xee, 0x58, 0x0f, 0x04, 0x25, 0xaf, 0x56, 0x50, 0x91, 0x74, 0x88,
+	0x13, 0xe0, 0x82, 0xba, 0x86, 0xaa, 0xf7, 0x5d, 0x7a, 0xaf, 0xeb, 0x36, 0xbb, 0x3a, 0x0d, 0x70,
+	0x51, 0xbd, 0x88, 0x56, 0x0c, 0xd7, 0xf1, 0xc3, 0x36, 0xa1, 0xdd, 0x96, 0xeb, 0x9a, 0xb8, 0x04,
+	0xec, 0x6e, 0xb0, 0x43, 0x28, 0x5e, 0xd2, 0xfe, 0xad, 0xa0, 0x62, 0x90, 0x7c, 0xc5, 0xe2, 0x17,
+	0xae, 0x21, 0x1b, 0xad, 0x8e, 0xa2, 0x71, 0xda, 0x4d, 0x1e, 0x75, 0x27, 0x23, 0xc6, 0x7a, 0x5f,
+	0xca, 0x42, 0xba, 0x76, 0xba, 0x04, 0x2f, 0x1a, 0xa7, 0xee, 0x23, 0x9f, 0x73, 0xd3, 0xe5, 0xd1,
+	0xdc, 0x4e, 0xfd, 0x1c, 0xad, 0xf5, 0xd9, 0x88, 0xc5, 0x7d, 0x16, 0xf7, 0x8e, 0xba, 0xac, 0x3f,
+	0x60, 0xfc, 0x78, 0x55, 0xb7, 0x37, 0x9e, 0x71, 0x84, 0xa7, 0x00, 0xd2, 0x1f, 0x30, 0xba, 0xda,
+	0x5f, 0xd8, 0x43, 0xdc, 0xf7, 0xd9, 0xc1, 0x41, 0x24, 0x0f, 0xa1, 0xd8, 0x68, 0x9f, 0xa1, 0xca,
+	0xb4, 0x9e, 0xd5, 0xcb, 0xa8, 0x72, 0x10, 0x0d, 0xe2, 0x61, 0x7a, 0xd8, 0x17, 0xe9, 0xc9, 0xd1,
+	0x19, 0x01, 0x04, 0x4c, 0x7a, 0xc9, 0x58, 0x58, 0x92, 0xa3, 0x62, 0xa3, 0xfd, 0x17, 0xa3, 0xe5,
+	0x79, 0x47, 0xd4, 0x3b, 0x28, 0x9f, 0x46, 0x03, 0xd9, 0x71, 0xae, 0x9f, 0xcd, 0xfb, 0x7a, 0x10,
+	0x0d, 0x28, 0xc0, 0x54, 0x82, 0x4a, 0xd1, 0x64, 0xc4, 0x7a, 0xa9, 0x3c, 0x2a, 0x1f, 0x9c, 0x51,
+	0x80, 0xce, 0x41, 0x54, 0x82, 0xd5, 0xcf, 0x50, 0xa1, 0x17, 0x4d, 0x84, 0xa9, 0xab, 0xdb, 0xef,
+	0x9d, 0x51, 0x88, 0x11, 0x4d, 0x18, 0xe5, 0x40, 0x10, 0xf0, 0x28, 0x19, 0x1f, 0xf0, 0x60, 0x9d,
+	0x5d, 0x40, 0x33, 0x19, 0x1f, 0x50, 0x0e, 0x04, 0x47, 0x06, 0x10, 0xfe, 0x71, 0xad, 0x78, 0x2e,
+	0x47, 0x5a, 0x1c, 0x44, 0x25, 0x18, 0xec, 0x38, 0x48, 0x92, 0x7e, 0xad, 0x74, 0x2e, 0x3b, 0xda,
+	0x49, 0xd2, 0xa7, 0x1c, 0x08, 0x76, 0xc4, 0x87, 0x07, 0x0f, 0xd9, 0xb8, 0xb6, 0x74, 0x2e, 0x3b,
+	0x1c, 0x0e, 0xa2, 0x12, 0x0c, 0x62, 0x46, 0x6c, 0x3c, 0x49, 0xe2, 0x5a, 0xf9, 0x5c, 0x62, 0x3c,
+	0x0e, 0xa2, 0x12, 0xcc, 0xc5, 0x8c, 0x93, 0x11, 0x1b, 0xd7, 0x2a, 0xe7, 0x13, 0xc3, 0x41, 0x54,
+	0x82, 0xd5, 0x00, 0x55, 0xc7, 0xac, 0x37, 0x1c, 0x8d, 0x93, 0xde, 0x30, 0x3d, 0xaa, 0x21, 0x2e,
+	0x6b, 0xfb, 0x8c, 0xb2, 0xe8, 0x0c, 0x49, 0xe7, 0xc5, 0xa8, 0x0d, 0x54, 0x4c, 0x59, 0x3c, 0x61,
+	0xb5, 0x2a, 0x97, 0xf7, 0xfe, 0x59, 0x6b, 0x17, 0x30, 0x54, 0x40, 0x41, 0xc6, 0xe3, 0x64, 0xd8,
+	0x63, 0xb5, 0xe5, 0x73, 0xc9, 0xe8, 0x00, 0x86, 0x0a, 0xa8, 0xf6, 0xb5, 0x82, 0xf2, 0x41, 0x34,
+	0x58, 0xec, 0x83, 0x4b, 0x28, 0xaf, 0x9b, 0xbb, 0x58, 0x11, 0x0b, 0x0f, 0xe7, 0xc4, 0xa2, 0x83,
+	0xf3, 0x30, 0x17, 0x0d, 0xd7, 0xd9, 0xc5, 0x05, 0x20, 0x99, 0x04, 0xba, 0x5d, 0x19, 0x15, 0x1c,
+	0x37, 0x74, 0x70, 0x09, 0x48, 0x4e, 0xd8, 0xc6, 0x4b, 0x40, 0xf2, 0xa8, 0xeb, 0xe0, 0x32, 0x90,
+	0x3c, 0x1a, 0xe0, 0x0a, 0x34, 0x40, 0x2f, 0x74, 0x8c, 0x00, 0x23, 0xf8, 0xb5, 0x43, 0x68, 0x03,
+	0x57, 0xd5, 0x22, 0x52, 0xf6, 0xf0, 0x32, 0xfc, 0xa6, 0x37, 0x9b, 0xd6, 0x1e, 0x5e, 0xd1, 0x5c,
+	0x54, 0x12, 0xc7, 0x4b, 0x55, 0xd1, 0xaa, 0x0e, 0x13, 0x3a, 0xe8, 0xce, 0x0c, 0x83, 0x29, 0x4d,
+	0x68, 0x93, 0x18, 0x81, 0xd5, 0x21, 0x58, 0x81, 0xb6, 0x6c, 0xb5, 0xe7, 0x28, 0x39, 0xe8, 0xc5,
+	0x1e, 0x75, 0x5b, 0x94, 0xf8, 0x3e, 0x10, 0xf2, 0xda, 0x7f, 0x14, 0x54, 0x80, 0xb3, 0x06, 0xbc,
+	0x86, 0xee, 0x93, 0x45, 0x69, 0xba, 0x61, 0x84, 0xbe, 0x2e, 0xa5, 0xad, 0xa0, 0x8a, 0x6e, 0x82,
+	0x65, 0x96, 0x6e, 0xe3, 0x9c, 0xe8, 0xe2, 0x6d, 0xcf, 0x26, 0x6d, 0xe2, 0x70, 0x8e, 0x3c, 0x0c,
+	0x08, 0x53, 0x70, 0x17, 0x60, 0x40, 0xb4, 0x88, 0x63, 0xf1, 0x5d, 0x91, 0x5b, 0xe2, 0xf8, 0x01,
+	0x0d, 0x81, 0x59, 0xb7, 0x71, 0x69, 0x36, 0x40, 0x3a, 0x04, 0x2f, 0x81, 0x2e, 0xc7, 0x6d, 0x5b,
+	0x8e, 0xd8, 0x97, 0x21, 0xde, 0x6e, 0xc3, 0xb6, 0x3e, 0x0f, 0x09, 0xae, 0x80, 0x62, 0x4f, 0xa7,
+	0x81, 0x90, 0x85, 0x40, 0xb1, 0x47, 0x89, 0xe7, 0xfa, 0x16, 0xcc, 0x1a, 0xdd, 0xc6, 0x55, 0x08,
+	0x06, 0x25, 0x4d, 0x9b, 0xec, 0x59, 0x1d, 0xd2, 0x05, 0x37, 0xf0, 0x32, 0xb0, 0x51, 0x62, 0x73,
+	0x81, 0x82, 0xb4, 0x02, 0x3a, 0x3b, 0x99, 0xce, 0x55, 0xed, 0x8f, 0x0a, 0x2a, 0x40, 0x97, 0x00,
+	0xe3, 0x9a, 0x2e, 0x6d, 0xcf, 0xb9, 0xbe, 0x8c, 0xca, 0xba, 0x09, 0x06, 0xe9, 0xb6, 0x74, 0x3c,
+	0xdc, 0xb3, 0x6c, 0x4b, 0xa7, 0x5f, 0xe0, 0x1c, 0x28, 0x9b, 0x73, 0xfc, 0x01, 0xa1, 0x38, 0xcf,
+	0x45, 0x58, 0x8e, 0x6e, 0x77, 0x89, 0x63, 0x5a, 0x4e, 0x0b, 0x17, 0x20, 0x16, 0x2d, 0x42, 0x43,
+	0xc7, 0xc4, 0x45, 0x58, 0x53, 0xa2, 0xdb, 0x96, 0x2f, 0xfc, 0xb6, 0xa8, 0xdc, 0x2d, 0x41, 0x6a,
+	0xfd, 0x1d, 0x97, 0x06, 0xb8, 0x0c, 0x69, 0xb7, 0x5d, 0xa7, 0x25, 0x6a, 0xc1, 0xa5, 0x26, 0xa1,
+	0x18, 0x01, 0xb7, 0xbc, 0x86, 0x19, 0xb8, 0xaa, 0x11, 0x54, 0x12, 0x3d, 0x09, 0x6c, 0x68, 0x11,
+	0xc7, 0x24, 0x74, 0xd1, 0xe8, 0x26, 0x69, 0x5b, 0x8e, 0xe5, 0xc8, 0x6c, 0xb5, 0x75, 0xdf, 0x08,
+	0x6d, 0xd8, 0xe6, 0xc0, 0x04, 0x87, 0x84, 0x01, 0x18, 0xab, 0xfd, 0x14, 0x15, 0xa0, 0x2b, 0x81,
+	0xd1, 0x6d, 0xd7, 0x35, 0xe7, 0x44, 0x5c, 0x42, 0xd8, 0x70, 0x1d, 0x53, 0x06, 0xb6, 0x0b, 0xbf,
+	0x62, 0x05, 0x92, 0xc3, 0xcb, 0x48, 0x97, 0x45, 0x04, 0x7b, 0xc7, 0xb4, 0x64, 0x20, 0xf3, 0x10,
+	0x69, 0xcb, 0x09, 0x08, 0xa5, 0x6e, 0x2b, 0xcb, 0x7e, 0x15, 0x2d, 0xed, 0x86, 0xa2, 0xc6, 0x8a,
+	0x50, 0x74, 0x7e, 0xd8, 0xd8, 0x85, 0xf2, 0x06, 0x42, 0x49, 0xbb, 0x8b, 0x4a, 0xa2, 0xa7, 0x81,
+	0x1f, 0x4e, 0xd8, 0x6e, 0x1c, 0xf7, 0xc3, 0xb7, 0x9c, 0x56, 0x68, 0xeb, 0x14, 0x2b, 0xfc, 0xd2,
+	0x61, 0x87, 0x94, 0x97, 0x5c, 0x19, 0x15, 0xcc, 0x50, 0xb7, 0x71, 0x5e, 0x0b, 0x50, 0x49, 0xb4,
+	0x33, 0x90, 0x20, 0x2e, 0x25, 0x73, 0x12, 0x2a, 0xa8, 0xd8, 0xb4, 0xa8, 0x1f, 0x08, 0xb8, 0x4f,
+	0xc0, 0x27, 0x9c, 0x03, 0x72, 0xb0, 0x63, 0x51, 0x13, 0xe7, 0xc1, 0xd1, 0x59, 0xc1, 0xc8, 0x4b,
+	0x4d, 0x41, 0xbb, 0x89, 0x4a, 0xa2, 0xbb, 0x71, 0xa9, 0xd4, 0xf5, 0x16, 0xec, 0x02, 0x4b, 0x38,
+	0x4d, 0x84, 0xc4, 0x71, 0x83, 0xae, 0xdc, 0xe7, 0xb4, 0x5d, 0x54, 0x9d, 0xeb, 0x65, 0xea, 0xab,
+	0xe8, 0x25, 0x4a, 0x0c, 0xcb, 0xa3, 0xae, 0x61, 0x05, 0x5f, 0x2c, 0x9e, 0xa9, 0xec, 0x07, 0x5e,
+	0x5a, 0xe0, 0xbf, 0xeb, 0x74, 0xe7, 0x68, 0x39, 0x6d, 0x82, 0x8a, 0xbc, 0x8f, 0x41, 0x5c, 0x03,
+	0xe2, 0x2c, 0x9c, 0xc9, 0x97, 0xd1, 0xc5, 0xf9, 0x04, 0xf1, 0x9f, 0x85, 0x97, 0xcd, 0x30, 0x08,
+	0x29, 0x11, 0x41, 0xf2, 0x74, 0x3f, 0xc0, 0x79, 0x48, 0x82, 0x47, 0x89, 0x2f, 0x6e, 0x61, 0x2b,
+	0xa8, 0x32, 0xed, 0x05, 0xb8, 0x28, 0x2e, 0xf4, 0x61, 0xb6, 0x2f, 0x69, 0x0d, 0x54, 0xe4, 0x8d,
+	0x0f, 0x94, 0x76, 0x5c, 0xcb, 0x20, 0x8b, 0x8e, 0xeb, 0xc6, 0xac, 0x09, 0x18, 0x7a, 0xd6, 0x13,
+	0x72, 0x5c, 0x85, 0x9e, 0xf5, 0x92, 0x7f, 0x2d, 0xa1, 0xd5, 0xc5, 0x9b, 0x8f, 0xba, 0x81, 0xf0,
+	0x97, 0x2c, 0xea, 0x77, 0x53, 0xb8, 0xd0, 0x75, 0x87, 0x71, 0x9f, 0x3d, 0xe1, 0xd7, 0x91, 0x22,
+	0x5d, 0x05, 0x3a, 0xbf, 0xe7, 0x59, 0x40, 0x55, 0x4d, 0x54, 0xdc, 0x8f, 0x1e, 0xb2, 0x7d, 0x79,
+	0xd9, 0xa8, 0x9f, 0xf5, 0x72, 0x55, 0xb7, 0x01, 0x45, 0x05, 0x58, 0xfb, 0x67, 0x09, 0x15, 0x39,
+	0xe1, 0xa9, 0x9b, 0xab, 0xde, 0x68, 0x50, 0xd2, 0xc1, 0x0a, 0xef, 0xa6, 0x70, 0x7e, 0x45, 0x41,
+	0xe8, 0x66, 0xc7, 0xb0, 0x45, 0xeb, 0xd2, 0xcd, 0x4e, 0xdb, 0x35, 0x71, 0x01, 0x22, 0xa8, 0xc3,
+	0xaa, 0xc8, 0x19, 0x3c, 0xcf, 0x85, 0x73, 0x0b, 0xc4, 0x20, 0xa0, 0x78, 0x89, 0x37, 0xfb, 0x70,
+	0x4f, 0x34, 0x29, 0x3d, 0xdc, 0x03, 0xff, 0x71, 0x45, 0x2d, 0xa1, 0x9c, 0x61, 0x60, 0x04, 0x10,
+	0x83, 0x8b, 0xaf, 0x4e, 0x87, 0x01, 0xef, 0xe0, 0x06, 0x1c, 0x01, 0xbc, 0xc2, 0x03, 0x08, 0x4b,
+	0x0e, 0x5b, 0x15, 0x63, 0xc2, 0xc3, 0x6b, 0xd9, 0xbc, 0xc0, 0xc0, 0x60, 0x5a, 0xbe, 0xe1, 0x86,
+	0xd4, 0x27, 0xf8, 0x22, 0xaf, 0x79, 0xb7, 0xb1, 0x8b, 0x55, 0x58, 0x91, 0x3d, 0xcf, 0xc6, 0x2f,
+	0xf1, 0xde, 0xea, 0x12, 0xff, 0xbe, 0x15, 0xec, 0xe0, 0x4b, 0x40, 0xb7, 0x80, 0xe3, 0x65, 0x58,
+	0xb5, 0x75, 0x7a, 0x0f, 0xbf, 0x02, 0xd2, 0xda, 0xf7, 0x09, 0x7e, 0x55, 0x2c, 0x3a, 0xb8, 0xc6,
+	0x87, 0x0f, 0x69, 0xe1, 0xef, 0x81, 0xa1, 0x8e, 0x83, 0xd7, 0x41, 0x88, 0xe3, 0x49, 0x9f, 0x5f,
+	0x03, 0x0b, 0x1d, 0x6e, 0xe1, 0x65, 0x30, 0xc0, 0x99, 0x5a, 0xf8, 0x7a, 0x36, 0xb5, 0xde, 0xe0,
+	0x2d, 0x84, 0x9f, 0x55, 0xfc, 0x26, 0x4c, 0x26, 0x0f, 0x5f, 0x91, 0x9d, 0x59, 0x0f, 0xf4, 0x3d,
+	0xcb, 0xc7, 0x6f, 0x89, 0x6a, 0xa0, 0x01, 0x48, 0xd4, 0xf8, 0x44, 0xe3, 0x81, 0x78, 0x9b, 0x97,
+	0x24, 0x58, 0xf8, 0x7d, 0xb1, 0xf2, 0x7d, 0x7c, 0x95, 0xf3, 0xba, 0x7e, 0x00, 0x36, 0x5d, 0x93,
+	0x95, 0xca, 0xb9, 0xdf, 0x99, 0x6e, 0x9c, 0x5d, 0xbc, 0x21, 0x0e, 0x1d, 0x81, 0xc8, 0xbc, 0x2b,
+	0xc6, 0x26, 0x69, 0xe2, 0xeb, 0x72, 0xe5, 0xe1, 0xf7, 0xb8, 0x16, 0xea, 0x3a, 0x36, 0x7e, 0x3f,
+	0x9b, 0xa5, 0x1f, 0x80, 0x87, 0x9e, 0x8f, 0xeb, 0xe0, 0xe1, 0xe7, 0xa1, 0xee, 0x70, 0x7b, 0x36,
+	0x81, 0x93, 0x1a, 0xb0, 0xfc, 0x10, 0x7e, 0xe0, 0x4b, 0x4a, 0x6c, 0xbc, 0xc5, 0x7f, 0x30, 0xa9,
+	0xeb, 0xe1, 0x6d, 0x10, 0x01, 0x0a, 0x3e, 0x02, 0x1b, 0x28, 0x69, 0x3b, 0xba, 0x13, 0xe0, 0x1f,
+	0x88, 0x43, 0x0b, 0x7e, 0x3a, 0x66, 0xd8, 0xc6, 0x3f, 0x04, 0xed, 0xd4, 0x75, 0x03, 0x7c, 0x03,
+	0x56, 0x3e, 0x04, 0xe7, 0x63, 0xbe, 0x0a, 0x9b, 0x4d, 0x7c, 0x13, 0x56, 0x5c, 0xe3, 0x27, 0xbc,
+	0xdf, 0xb8, 0x9e, 0x65, 0xe0, 0x5b, 0x7c, 0xa6, 0x03, 0xf1, 0xf6, 0xc2, 0x0c, 0xba, 0x03, 0x2c,
+	0x7b, 0xdc, 0xed, 0x1f, 0xf1, 0x4e, 0x15, 0xf2, 0x31, 0xff, 0x29, 0x47, 0x5a, 0x81, 0x4d, 0xf0,
+	0x67, 0x62, 0x14, 0x75, 0xbc, 0x1d, 0x40, 0xdf, 0x95, 0x25, 0x07, 0x27, 0x10, 0xeb, 0xbc, 0x3a,
+	0xc3, 0xbd, 0x4e, 0x07, 0x37, 0x60, 0x69, 0x72, 0xad, 0x06, 0xb0, 0x34, 0x5d, 0x4a, 0xac, 0x96,
+	0x83, 0x4d, 0x08, 0xc5, 0xbd, 0xfb, 0x98, 0xf0, 0xe1, 0x62, 0xf9, 0x01, 0x6e, 0x8a, 0xeb, 0x48,
+	0xdb, 0xc0, 0x2d, 0x5e, 0x00, 0x6e, 0x5b, 0xd4, 0xe5, 0x0e, 0x0c, 0x83, 0x6c, 0xc7, 0x13, 0x6f,
+	0x71, 0xce, 0xb0, 0x6d, 0xe0, 0x5d, 0x08, 0x8b, 0xe1, 0x7a, 0xf8, 0x1e, 0x44, 0xc2, 0xb4, 0x7c,
+	0x3e, 0xb7, 0x89, 0x89, 0x6d, 0xed, 0x4f, 0x0a, 0x5a, 0x59, 0xf8, 0xfe, 0x7c, 0xe1, 0x6f, 0xb6,
+	0xbb, 0x0b, 0x5f, 0xe5, 0xef, 0x9f, 0xf1, 0x73, 0x77, 0xee, 0xe3, 0x5c, 0xfb, 0x50, 0x7e, 0xb2,
+	0x62, 0xb4, 0x2c, 0x1f, 0x30, 0x4e, 0x6a, 0xdc, 0x08, 0x95, 0x0c, 0xb7, 0xdd, 0x86, 0xaf, 0x56,
+	0xad, 0x85, 0xca, 0x99, 0x15, 0x6a, 0x6d, 0xf6, 0xc0, 0x22, 0x3e, 0x90, 0xa7, 0xcf, 0x2b, 0x6f,
+	0xa1, 0xe5, 0x87, 0x6c, 0x30, 0x8c, 0xbb, 0xc9, 0xa3, 0x47, 0x13, 0x26, 0x3e, 0x86, 0x8a, 0xb4,
+	0xca, 0x69, 0x2e, 0x27, 0x69, 0xbf, 0x57, 0xd0, 0xab, 0x7a, 0x1c, 0xed, 0x1f, 0xfd, 0x84, 0xcd,
+	0x5e, 0x24, 0xd8, 0x8f, 0x0f, 0xd9, 0x24, 0x55, 0x3f, 0x45, 0xe5, 0xbe, 0x7c, 0xd0, 0x79, 0x7e,
+	0x50, 0xb2, 0xa7, 0x1f, 0x3a, 0xc5, 0xa8, 0xf7, 0xd0, 0x0a, 0x8b, 0x7b, 0x49, 0x7f, 0x18, 0x0f,
+	0xba, 0x73, 0x11, 0xba, 0xf6, 0xac, 0x08, 0x09, 0x76, 0x1e, 0x9b, 0x65, 0x36, 0xb7, 0xd3, 0xfe,
+	0xaa, 0xa0, 0xda, 0xd3, 0x86, 0x4e, 0x46, 0x09, 0x8c, 0x1b, 0x8a, 0xd4, 0x4c, 0x6b, 0x77, 0xf6,
+	0x06, 0xa3, 0x9c, 0xfd, 0x0d, 0xe6, 0x62, 0x06, 0x9f, 0x7d, 0xc6, 0xce, 0xbf, 0x38, 0xe5, 0x16,
+	0x5f, 0x9c, 0xd4, 0xbb, 0xe2, 0xa9, 0x87, 0xc5, 0x3d, 0x36, 0x91, 0xcf, 0x29, 0xda, 0xb3, 0xd5,
+	0x00, 0x2b, 0x9d, 0x81, 0xb4, 0xdf, 0x29, 0xe8, 0x15, 0xe9, 0x0e, 0x2f, 0x8b, 0x21, 0x9b, 0x7c,
+	0x27, 0xc3, 0x3e, 0x99, 0x96, 0xc7, 0xcc, 0x4c, 0x19, 0xf4, 0x3b, 0xa8, 0xcc, 0x24, 0xad, 0xa6,
+	0xf0, 0x18, 0x5c, 0x79, 0x5e, 0xed, 0xd3, 0x29, 0xe2, 0x59, 0xe1, 0xd5, 0x7e, 0xa3, 0xa0, 0x4b,
+	0x59, 0xae, 0x8f, 0xe2, 0x34, 0x7a, 0xf2, 0x9d, 0x0c, 0xcd, 0x1f, 0x14, 0xf4, 0xf2, 0x31, 0x2b,
+	0x65, 0x64, 0x16, 0xca, 0x43, 0x79, 0x81, 0xf2, 0x50, 0x3f, 0x46, 0x25, 0x7e, 0xef, 0x98, 0xd4,
+	0x72, 0x1c, 0xfe, 0xe6, 0x33, 0xba, 0x11, 0xf0, 0x51, 0xc9, 0xbe, 0x10, 0xd6, 0xfc, 0xb1, 0xb0,
+	0x7e, 0x93, 0x47, 0x2f, 0xe9, 0xe2, 0xa5, 0x97, 0x41, 0xf7, 0xf8, 0xb6, 0xa2, 0x4a, 0x51, 0xf9,
+	0x11, 0x8b, 0xd2, 0xc3, 0x31, 0x9b, 0xc8, 0xe7, 0xaa, 0x1b, 0xa7, 0xe3, 0x4f, 0x30, 0xa0, 0xde,
+	0x94, 0x68, 0x3a, 0x95, 0xf3, 0x74, 0xa6, 0xf2, 0x2f, 0x9e, 0xa9, 0xf5, 0x5f, 0x29, 0xa8, 0x9c,
+	0xe9, 0x50, 0xaf, 0xa2, 0x55, 0xf6, 0x24, 0x1d, 0x47, 0xbd, 0xb4, 0x3b, 0xe1, 0x69, 0xe3, 0x3e,
+	0x97, 0xe9, 0x8a, 0xa4, 0x8a, 0x5c, 0xaa, 0xef, 0x22, 0x9c, 0xb1, 0x4d, 0xab, 0x3c, 0xc7, 0x19,
+	0xd7, 0x24, 0x3d, 0x3b, 0x10, 0xea, 0x1d, 0xb4, 0x9e, 0xb1, 0x9e, 0xd0, 0x85, 0xf2, 0x1c, 0x54,
+	0x93, 0x1c, 0xe6, 0xf1, 0x3e, 0xa3, 0xfd, 0x25, 0x07, 0xc5, 0x3e, 0x1f, 0x94, 0xff, 0x7f, 0x15,
+	0xcd, 0x1f, 0xed, 0xfc, 0xb9, 0x8f, 0xf6, 0xc9, 0xdd, 0xb8, 0xf0, 0xad, 0x75, 0xe3, 0xe2, 0x62,
+	0x5d, 0x5f, 0xbf, 0x89, 0x96, 0xe7, 0x93, 0x2f, 0xee, 0x09, 0x0e, 0xc1, 0x17, 0x60, 0x15, 0x06,
+	0xcd, 0x9b, 0xe2, 0xea, 0x1c, 0x06, 0xcd, 0xad, 0x1b, 0xe2, 0xea, 0x1c, 0x06, 0xcd, 0x8f, 0xb6,
+	0x71, 0x7e, 0xfb, 0xeb, 0x22, 0x5a, 0xb3, 0xa5, 0x18, 0x5f, 0xfc, 0x6f, 0xa2, 0xfe, 0x56, 0x41,
+	0xf8, 0xf8, 0xa0, 0x51, 0xb7, 0x9e, 0x55, 0xd0, 0x27, 0x4e, 0xcf, 0xf5, 0xed, 0xf3, 0x40, 0x44,
+	0xca, 0xb5, 0x77, 0x7f, 0xf6, 0xb7, 0xbf, 0x7f, 0x93, 0x7b, 0x5b, 0x7b, 0x63, 0xf3, 0xf1, 0xd6,
+	0x66, 0x16, 0x84, 0xc9, 0xad, 0xe8, 0x18, 0xff, 0x2d, 0xe5, 0xba, 0xfa, 0x6b, 0x05, 0xad, 0x1d,
+	0xeb, 0xcc, 0xea, 0x87, 0xcf, 0x55, 0x79, 0x6c, 0xd6, 0xac, 0x6f, 0x9d, 0x03, 0x21, 0x6d, 0xdc,
+	0xe0, 0x36, 0x6a, 0xda, 0xeb, 0x27, 0xda, 0x98, 0xb1, 0x83, 0x89, 0xbf, 0x54, 0xd0, 0xca, 0x42,
+	0x83, 0x54, 0xeb, 0xcf, 0x8f, 0xc9, 0x7c, 0xbf, 0x5f, 0xdf, 0x3c, 0x33, 0xbf, 0x34, 0xee, 0x1a,
+	0x37, 0xee, 0x8a, 0xf6, 0xda, 0xc9, 0x01, 0xe4, 0xcc, 0x60, 0xda, 0x2f, 0x14, 0xb4, 0x3c, 0x7f,
+	0xe8, 0xd4, 0x0f, 0xce, 0xd5, 0xb1, 0xd6, 0xeb, 0x67, 0x65, 0x97, 0x76, 0x5d, 0xe5, 0x76, 0xbd,
+	0xa9, 0xad, 0x1f, 0xb7, 0x6b, 0xc6, 0x7b, 0x4b, 0xb9, 0xde, 0x78, 0x82, 0x2e, 0xf7, 0x92, 0x83,
+	0x53, 0x65, 0x37, 0x2e, 0x1d, 0x2b, 0x56, 0x6f, 0x9c, 0xa4, 0x89, 0xa7, 0x3c, 0xb8, 0x2b, 0x11,
+	0x83, 0x04, 0xb8, 0xeb, 0xc9, 0x78, 0xb0, 0x39, 0x60, 0x31, 0xff, 0x27, 0x4f, 0xfe, 0x63, 0x18,
+	0x8d, 0x86, 0x93, 0xa7, 0xff, 0x35, 0xbc, 0x9d, 0xad, 0x1f, 0x96, 0x38, 0xf3, 0x47, 0xff, 0x0b,
+	0x00, 0x00, 0xff, 0xff, 0x3c, 0x3f, 0xd7, 0x9e, 0x61, 0x1c, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/language/v1/language_service.proto b/googleapis/cloud/language/v1/language_service.proto
deleted file mode 100644
index d83aaf4b..00000000
--- a/googleapis/cloud/language/v1/language_service.proto
+++ /dev/null
@@ -1,950 +0,0 @@
-// 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.language.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 = "LanguageServiceProto";
-option java_package = "com.google.cloud.language.v1";
-
-
-// Provides text analysis operations such as sentiment analysis and entity
-// recognition.
-service LanguageService {
-  // Analyzes the sentiment of the provided text.
-  rpc AnalyzeSentiment(AnalyzeSentimentRequest) returns (AnalyzeSentimentResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeSentiment" body: "*" };
-  }
-
-  // Finds named entities (currently finds proper names) in the text,
-  // entity types, salience, mentions for each entity, and other properties.
-  rpc AnalyzeEntities(AnalyzeEntitiesRequest) returns (AnalyzeEntitiesResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeEntities" body: "*" };
-  }
-
-  // Analyzes the syntax of the text and provides sentence boundaries and
-  // tokenization along with part of speech tags, dependency trees, and other
-  // properties.
-  rpc AnalyzeSyntax(AnalyzeSyntaxRequest) returns (AnalyzeSyntaxResponse) {
-    option (google.api.http) = { post: "/v1/documents:analyzeSyntax" body: "*" };
-  }
-
-  // A convenience method that provides all the features that analyzeSentiment,
-  // analyzeEntities, and analyzeSyntax provide in one call.
-  rpc AnnotateText(AnnotateTextRequest) returns (AnnotateTextResponse) {
-    option (google.api.http) = { post: "/v1/documents:annotateText" body: "*" };
-  }
-}
-
-// ################################################################ #
-//
-// Represents the input to API methods.
-message Document {
-  // The document types enum.
-  enum Type {
-    // The content type is not specified.
-    TYPE_UNSPECIFIED = 0;
-
-    // Plain text
-    PLAIN_TEXT = 1;
-
-    // HTML
-    HTML = 2;
-  }
-
-  // Required. If the type is not set or is `TYPE_UNSPECIFIED`,
-  // returns an `INVALID_ARGUMENT` error.
-  Type type = 1;
-
-  // The source of the document: a string containing the content or a
-  // Google Cloud Storage URI.
-  oneof source {
-    // The content of the input in string format.
-    string content = 2;
-
-    // The Google Cloud Storage URI where the file content is located.
-    // This URI must be of the form: gs://bucket_name/object_name. For more
-    // details, see https://cloud.google.com/storage/docs/reference-uris.
-    // NOTE: Cloud Storage object versioning is not supported.
-    string gcs_content_uri = 3;
-  }
-
-  // The language of the document (if not specified, the language is
-  // automatically detected). Both ISO and BCP-47 language codes are
-  // accepted.<br>
-  // **Current Language Restrictions:**
-  //
-  //  * Only English, Spanish, and Japanese textual content
-  //    are supported, with the following additional restriction:
-  //    * `analyzeSentiment` only supports English text.
-  // If the language (either specified by the caller or automatically detected)
-  // is not supported by the called API method, an `INVALID_ARGUMENT` error
-  // is returned.
-  string language = 4;
-}
-
-// Represents a sentence in the input document.
-message Sentence {
-  // The sentence text.
-  TextSpan text = 1;
-
-  // For calls to [AnalyzeSentiment][] or if
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1.AnnotateTextRequest.Features.extract_document_sentiment] is set to
-  // true, this field will contain the sentiment for the sentence.
-  Sentiment sentiment = 2;
-}
-
-// Represents a phrase in the text that is a known entity, such as
-// a person, an organization, or location. The API associates information, such
-// as salience and mentions, with entities.
-message Entity {
-  // The type of the entity.
-  enum Type {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Person
-    PERSON = 1;
-
-    // Location
-    LOCATION = 2;
-
-    // Organization
-    ORGANIZATION = 3;
-
-    // Event
-    EVENT = 4;
-
-    // Work of art
-    WORK_OF_ART = 5;
-
-    // Consumer goods
-    CONSUMER_GOOD = 6;
-
-    // Other types
-    OTHER = 7;
-  }
-
-  // The representative name for the entity.
-  string name = 1;
-
-  // The entity type.
-  Type type = 2;
-
-  // Metadata associated with the entity.
-  //
-  // Currently, Wikipedia URLs and Knowledge Graph MIDs are provided, if
-  // available. The associated keys are "wikipedia_url" and "mid", respectively.
-  map<string, string> metadata = 3;
-
-  // The salience score associated with the entity in the [0, 1.0] range.
-  //
-  // The salience score for an entity provides information about the
-  // importance or centrality of that entity to the entire document text.
-  // Scores closer to 0 are less salient, while scores closer to 1.0 are highly
-  // salient.
-  float salience = 4;
-
-  // The mentions of this entity in the input document. The API currently
-  // supports proper noun mentions.
-  repeated EntityMention mentions = 5;
-}
-
-// Represents the smallest syntactic building block of the text.
-message Token {
-  // The token text.
-  TextSpan text = 1;
-
-  // Parts of speech tag for this token.
-  PartOfSpeech part_of_speech = 2;
-
-  // Dependency tree parse for this token.
-  DependencyEdge dependency_edge = 3;
-
-  // [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.
-  string lemma = 4;
-}
-
-// Represents the feeling associated with the entire text or entities in
-// the text.
-message Sentiment {
-  // A non-negative number in the [0, +inf) range, which represents
-  // the absolute magnitude of sentiment regardless of score (positive or
-  // negative).
-  float magnitude = 2;
-
-  // Sentiment score between -1.0 (negative sentiment) and 1.0
-  // (positive sentiment.)
-  float score = 3;
-}
-
-// Represents part of speech information for a token. Parts of speech
-// are as defined in
-// http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
-message PartOfSpeech {
-  // The part of speech tags enum.
-  enum Tag {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Adjective
-    ADJ = 1;
-
-    // Adposition (preposition and postposition)
-    ADP = 2;
-
-    // Adverb
-    ADV = 3;
-
-    // Conjunction
-    CONJ = 4;
-
-    // Determiner
-    DET = 5;
-
-    // Noun (common and proper)
-    NOUN = 6;
-
-    // Cardinal number
-    NUM = 7;
-
-    // Pronoun
-    PRON = 8;
-
-    // Particle or other function word
-    PRT = 9;
-
-    // Punctuation
-    PUNCT = 10;
-
-    // Verb (all tenses and modes)
-    VERB = 11;
-
-    // Other: foreign words, typos, abbreviations
-    X = 12;
-
-    // Affix
-    AFFIX = 13;
-  }
-
-  // The characteristic of a verb that expresses time flow during an event.
-  enum Aspect {
-    // Aspect is not applicable in the analyzed language or is not predicted.
-    ASPECT_UNKNOWN = 0;
-
-    // Perfective
-    PERFECTIVE = 1;
-
-    // Imperfective
-    IMPERFECTIVE = 2;
-
-    // Progressive
-    PROGRESSIVE = 3;
-  }
-
-  // The grammatical function performed by a noun or pronoun in a phrase,
-  // clause, or sentence. In some languages, other parts of speech, such as
-  // adjective and determiner, take case inflection in agreement with the noun.
-  enum Case {
-    // Case is not applicable in the analyzed language or is not predicted.
-    CASE_UNKNOWN = 0;
-
-    // Accusative
-    ACCUSATIVE = 1;
-
-    // Adverbial
-    ADVERBIAL = 2;
-
-    // Complementive
-    COMPLEMENTIVE = 3;
-
-    // Dative
-    DATIVE = 4;
-
-    // Genitive
-    GENITIVE = 5;
-
-    // Instrumental
-    INSTRUMENTAL = 6;
-
-    // Locative
-    LOCATIVE = 7;
-
-    // Nominative
-    NOMINATIVE = 8;
-
-    // Oblique
-    OBLIQUE = 9;
-
-    // Partitive
-    PARTITIVE = 10;
-
-    // Prepositional
-    PREPOSITIONAL = 11;
-
-    // Reflexive
-    REFLEXIVE_CASE = 12;
-
-    // Relative
-    RELATIVE_CASE = 13;
-
-    // Vocative
-    VOCATIVE = 14;
-  }
-
-  // Depending on the language, Form can be categorizing different forms of
-  // verbs, adjectives, adverbs, etc. For example, categorizing inflected
-  // endings of verbs and adjectives or distinguishing between short and long
-  // forms of adjectives and participles
-  enum Form {
-    // Form is not applicable in the analyzed language or is not predicted.
-    FORM_UNKNOWN = 0;
-
-    // Adnomial
-    ADNOMIAL = 1;
-
-    // Auxiliary
-    AUXILIARY = 2;
-
-    // Complementizer
-    COMPLEMENTIZER = 3;
-
-    // Final ending
-    FINAL_ENDING = 4;
-
-    // Gerund
-    GERUND = 5;
-
-    // Realis
-    REALIS = 6;
-
-    // Irrealis
-    IRREALIS = 7;
-
-    // Short form
-    SHORT = 8;
-
-    // Long form
-    LONG = 9;
-
-    // Order form
-    ORDER = 10;
-
-    // Specific form
-    SPECIFIC = 11;
-  }
-
-  // Gender classes of nouns reflected in the behaviour of associated words.
-  enum Gender {
-    // Gender is not applicable in the analyzed language or is not predicted.
-    GENDER_UNKNOWN = 0;
-
-    // Feminine
-    FEMININE = 1;
-
-    // Masculine
-    MASCULINE = 2;
-
-    // Neuter
-    NEUTER = 3;
-  }
-
-  // The grammatical feature of verbs, used for showing modality and attitude.
-  enum Mood {
-    // Mood is not applicable in the analyzed language or is not predicted.
-    MOOD_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_MOOD = 1;
-
-    // Imperative
-    IMPERATIVE = 2;
-
-    // Indicative
-    INDICATIVE = 3;
-
-    // Interrogative
-    INTERROGATIVE = 4;
-
-    // Jussive
-    JUSSIVE = 5;
-
-    // Subjunctive
-    SUBJUNCTIVE = 6;
-  }
-
-  // Count distinctions.
-  enum Number {
-    // Number is not applicable in the analyzed language or is not predicted.
-    NUMBER_UNKNOWN = 0;
-
-    // Singular
-    SINGULAR = 1;
-
-    // Plural
-    PLURAL = 2;
-
-    // Dual
-    DUAL = 3;
-  }
-
-  // The distinction between the speaker, second person, third person, etc.
-  enum Person {
-    // Person is not applicable in the analyzed language or is not predicted.
-    PERSON_UNKNOWN = 0;
-
-    // First
-    FIRST = 1;
-
-    // Second
-    SECOND = 2;
-
-    // Third
-    THIRD = 3;
-
-    // Reflexive
-    REFLEXIVE_PERSON = 4;
-  }
-
-  // This category shows if the token is part of a proper name.
-  enum Proper {
-    // Proper is not applicable in the analyzed language or is not predicted.
-    PROPER_UNKNOWN = 0;
-
-    // Proper
-    PROPER = 1;
-
-    // Not proper
-    NOT_PROPER = 2;
-  }
-
-  // Reciprocal features of a pronoun.
-  enum Reciprocity {
-    // Reciprocity is not applicable in the analyzed language or is not
-    // predicted.
-    RECIPROCITY_UNKNOWN = 0;
-
-    // Reciprocal
-    RECIPROCAL = 1;
-
-    // Non-reciprocal
-    NON_RECIPROCAL = 2;
-  }
-
-  // Time reference.
-  enum Tense {
-    // Tense is not applicable in the analyzed language or is not predicted.
-    TENSE_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_TENSE = 1;
-
-    // Future
-    FUTURE = 2;
-
-    // Past
-    PAST = 3;
-
-    // Present
-    PRESENT = 4;
-
-    // Imperfect
-    IMPERFECT = 5;
-
-    // Pluperfect
-    PLUPERFECT = 6;
-  }
-
-  // The relationship between the action that a verb expresses and the
-  // participants identified by its arguments.
-  enum Voice {
-    // Voice is not applicable in the analyzed language or is not predicted.
-    VOICE_UNKNOWN = 0;
-
-    // Active
-    ACTIVE = 1;
-
-    // Causative
-    CAUSATIVE = 2;
-
-    // Passive
-    PASSIVE = 3;
-  }
-
-  // The part of speech tag.
-  Tag tag = 1;
-
-  // The grammatical aspect.
-  Aspect aspect = 2;
-
-  // The grammatical case.
-  Case case = 3;
-
-  // The grammatical form.
-  Form form = 4;
-
-  // The grammatical gender.
-  Gender gender = 5;
-
-  // The grammatical mood.
-  Mood mood = 6;
-
-  // The grammatical number.
-  Number number = 7;
-
-  // The grammatical person.
-  Person person = 8;
-
-  // The grammatical properness.
-  Proper proper = 9;
-
-  // The grammatical reciprocity.
-  Reciprocity reciprocity = 10;
-
-  // The grammatical tense.
-  Tense tense = 11;
-
-  // The grammatical voice.
-  Voice voice = 12;
-}
-
-// Represents dependency parse tree information for a token. (For more
-// information on dependency labels, see
-// http://www.aclweb.org/anthology/P13-2017
-message DependencyEdge {
-  // The parse label enum for the token.
-  enum Label {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Abbreviation modifier
-    ABBREV = 1;
-
-    // Adjectival complement
-    ACOMP = 2;
-
-    // Adverbial clause modifier
-    ADVCL = 3;
-
-    // Adverbial modifier
-    ADVMOD = 4;
-
-    // Adjectival modifier of an NP
-    AMOD = 5;
-
-    // Appositional modifier of an NP
-    APPOS = 6;
-
-    // Attribute dependent of a copular verb
-    ATTR = 7;
-
-    // Auxiliary (non-main) verb
-    AUX = 8;
-
-    // Passive auxiliary
-    AUXPASS = 9;
-
-    // Coordinating conjunction
-    CC = 10;
-
-    // Clausal complement of a verb or adjective
-    CCOMP = 11;
-
-    // Conjunct
-    CONJ = 12;
-
-    // Clausal subject
-    CSUBJ = 13;
-
-    // Clausal passive subject
-    CSUBJPASS = 14;
-
-    // Dependency (unable to determine)
-    DEP = 15;
-
-    // Determiner
-    DET = 16;
-
-    // Discourse
-    DISCOURSE = 17;
-
-    // Direct object
-    DOBJ = 18;
-
-    // Expletive
-    EXPL = 19;
-
-    // Goes with (part of a word in a text not well edited)
-    GOESWITH = 20;
-
-    // Indirect object
-    IOBJ = 21;
-
-    // Marker (word introducing a subordinate clause)
-    MARK = 22;
-
-    // Multi-word expression
-    MWE = 23;
-
-    // Multi-word verbal expression
-    MWV = 24;
-
-    // Negation modifier
-    NEG = 25;
-
-    // Noun compound modifier
-    NN = 26;
-
-    // Noun phrase used as an adverbial modifier
-    NPADVMOD = 27;
-
-    // Nominal subject
-    NSUBJ = 28;
-
-    // Passive nominal subject
-    NSUBJPASS = 29;
-
-    // Numeric modifier of a noun
-    NUM = 30;
-
-    // Element of compound number
-    NUMBER = 31;
-
-    // Punctuation mark
-    P = 32;
-
-    // Parataxis relation
-    PARATAXIS = 33;
-
-    // Participial modifier
-    PARTMOD = 34;
-
-    // The complement of a preposition is a clause
-    PCOMP = 35;
-
-    // Object of a preposition
-    POBJ = 36;
-
-    // Possession modifier
-    POSS = 37;
-
-    // Postverbal negative particle
-    POSTNEG = 38;
-
-    // Predicate complement
-    PRECOMP = 39;
-
-    // Preconjunt
-    PRECONJ = 40;
-
-    // Predeterminer
-    PREDET = 41;
-
-    // Prefix
-    PREF = 42;
-
-    // Prepositional modifier
-    PREP = 43;
-
-    // The relationship between a verb and verbal morpheme
-    PRONL = 44;
-
-    // Particle
-    PRT = 45;
-
-    // Associative or possessive marker
-    PS = 46;
-
-    // Quantifier phrase modifier
-    QUANTMOD = 47;
-
-    // Relative clause modifier
-    RCMOD = 48;
-
-    // Complementizer in relative clause
-    RCMODREL = 49;
-
-    // Ellipsis without a preceding predicate
-    RDROP = 50;
-
-    // Referent
-    REF = 51;
-
-    // Remnant
-    REMNANT = 52;
-
-    // Reparandum
-    REPARANDUM = 53;
-
-    // Root
-    ROOT = 54;
-
-    // Suffix specifying a unit of number
-    SNUM = 55;
-
-    // Suffix
-    SUFF = 56;
-
-    // Temporal modifier
-    TMOD = 57;
-
-    // Topic marker
-    TOPIC = 58;
-
-    // Clause headed by an infinite form of the verb that modifies a noun
-    VMOD = 59;
-
-    // Vocative
-    VOCATIVE = 60;
-
-    // Open clausal complement
-    XCOMP = 61;
-
-    // Name suffix
-    SUFFIX = 62;
-
-    // Name title
-    TITLE = 63;
-
-    // Adverbial phrase modifier
-    ADVPHMOD = 64;
-
-    // Causative auxiliary
-    AUXCAUS = 65;
-
-    // Helper auxiliary
-    AUXVV = 66;
-
-    // Rentaishi (Prenominal modifier)
-    DTMOD = 67;
-
-    // Foreign words
-    FOREIGN = 68;
-
-    // Keyword
-    KW = 69;
-
-    // List for chains of comparable items
-    LIST = 70;
-
-    // Nominalized clause
-    NOMC = 71;
-
-    // Nominalized clausal subject
-    NOMCSUBJ = 72;
-
-    // Nominalized clausal passive
-    NOMCSUBJPASS = 73;
-
-    // Compound of numeric modifier
-    NUMC = 74;
-
-    // Copula
-    COP = 75;
-
-    // Dislocated relation (for fronted/topicalized elements)
-    DISLOCATED = 76;
-  }
-
-  // Represents the head of this token in the dependency tree.
-  // This is the index of the token which has an arc going to this token.
-  // The index is the position of the token in the array of tokens returned
-  // by the API method. If this token is a root token, then the
-  // `head_token_index` is its own index.
-  int32 head_token_index = 1;
-
-  // The parse label for the token.
-  Label label = 2;
-}
-
-// Represents a mention for an entity in the text. Currently, proper noun
-// mentions are supported.
-message EntityMention {
-  // The supported types of mentions.
-  enum Type {
-    // Unknown
-    TYPE_UNKNOWN = 0;
-
-    // Proper name
-    PROPER = 1;
-
-    // Common noun (or noun compound)
-    COMMON = 2;
-  }
-
-  // The mention text.
-  TextSpan text = 1;
-
-  // The type of the entity mention.
-  Type type = 2;
-}
-
-// Represents an output piece of text.
-message TextSpan {
-  // The content of the output text.
-  string content = 1;
-
-  // The API calculates the beginning offset of the content in the original
-  // document according to the [EncodingType][google.cloud.language.v1.EncodingType] specified in the API request.
-  int32 begin_offset = 2;
-}
-
-// The sentiment analysis request message.
-message AnalyzeSentimentRequest {
-  // Input document. Currently, `analyzeSentiment` only supports English text
-  // ([Document.language][google.cloud.language.v1.Document.language]="EN").
-  Document document = 1;
-
-  // The encoding type used by the API to calculate sentence offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The sentiment analysis response message.
-message AnalyzeSentimentResponse {
-  // The overall sentiment of the input document.
-  Sentiment document_sentiment = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 2;
-
-  // The sentiment for all the sentences in the document.
-  repeated Sentence sentences = 3;
-}
-
-// The entity analysis request message.
-message AnalyzeEntitiesRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The entity analysis response message.
-message AnalyzeEntitiesResponse {
-  // The recognized entities in the input document.
-  repeated Entity entities = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 2;
-}
-
-// The syntax analysis request message.
-message AnalyzeSyntaxRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The syntax analysis response message.
-message AnalyzeSyntaxResponse {
-  // Sentences in the input document.
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  repeated Token tokens = 2;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 3;
-}
-
-// The request message for the text annotation API, which can perform multiple
-// analysis types (sentiment, entities, and syntax) in one call.
-message AnnotateTextRequest {
-  // All available features for sentiment, syntax, and semantic analysis.
-  // Setting each one to true will enable that specific analysis for the input.
-  message Features {
-    // Extract syntax information.
-    bool extract_syntax = 1;
-
-    // Extract entities.
-    bool extract_entities = 2;
-
-    // Extract document-level sentiment.
-    bool extract_document_sentiment = 3;
-  }
-
-  // Input document.
-  Document document = 1;
-
-  // The enabled features.
-  Features features = 2;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 3;
-}
-
-// The text annotations response message.
-message AnnotateTextResponse {
-  // Sentences in the input document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Token tokens = 2;
-
-  // Entities, along with their semantic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_entities][google.cloud.language.v1.AnnotateTextRequest.Features.extract_entities].
-  repeated Entity entities = 3;
-
-  // The overall sentiment for the document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1.AnnotateTextRequest.Features.extract_document_sentiment].
-  Sentiment document_sentiment = 4;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See `Document.language` field for more details.
-  string language = 5;
-}
-
-// Represents the text encoding that the caller uses to process the output.
-// Providing an `EncodingType` is recommended because the API provides the
-// beginning offsets for various outputs, such as tokens and mentions, and
-// languages that natively use different text encodings may access offsets
-// differently.
-enum EncodingType {
-  // If `EncodingType` is not specified, encoding-dependent information (such as
-  // `begin_offset`) will be set at `-1`.
-  NONE = 0;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-8 encoding of the input. C++ and Go are examples of languages
-  // that use this encoding natively.
-  UTF8 = 1;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-16 encoding of the input. Java and Javascript are examples of
-  // languages that use this encoding natively.
-  UTF16 = 2;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-32 encoding of the input. Python is an example of a language
-  // that uses this encoding natively.
-  UTF32 = 3;
-}
diff --git a/googleapis/cloud/language/v1beta1/language_service.pb.go b/googleapis/cloud/language/v1beta1/language_service.pb.go
index 62a3c88f..7ae6078e 100644
--- a/googleapis/cloud/language/v1beta1/language_service.pb.go
+++ b/googleapis/cloud/language/v1beta1/language_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto
+// source: google/cloud/language/v1beta1/language_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_language_v1beta1 is a generated protocol buffer package.
+Package language is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto
+	google/cloud/language/v1beta1/language_service.proto
 
 It has these top-level messages:
 	Document
@@ -27,12 +27,12 @@ It has these top-level messages:
 	AnnotateTextRequest
 	AnnotateTextResponse
 */
-package google_cloud_language_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/language/v1beta1"
+package language
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -1102,6 +1102,13 @@ func (m *Document) GetSource() isDocument_Source {
 	return nil
 }
 
+func (m *Document) GetType() Document_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Document_TYPE_UNSPECIFIED
+}
+
 func (m *Document) GetContent() string {
 	if x, ok := m.GetSource().(*Document_Content); ok {
 		return x.Content
@@ -1116,6 +1123,13 @@ func (m *Document) GetGcsContentUri() string {
 	return ""
 }
 
+func (m *Document) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Document) 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 _Document_OneofMarshaler, _Document_OneofUnmarshaler, _Document_OneofSizer, []interface{}{
@@ -1241,6 +1255,20 @@ func (m *Entity) String() string            { return proto.CompactTextString(m)
 func (*Entity) ProtoMessage()               {}
 func (*Entity) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Entity) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Entity) GetType() Entity_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Entity_UNKNOWN
+}
+
 func (m *Entity) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -1248,6 +1276,13 @@ func (m *Entity) GetMetadata() map[string]string {
 	return nil
 }
 
+func (m *Entity) GetSalience() float32 {
+	if m != nil {
+		return m.Salience
+	}
+	return 0
+}
+
 func (m *Entity) GetMentions() []*EntityMention {
 	if m != nil {
 		return m.Mentions
@@ -1293,6 +1328,13 @@ func (m *Token) GetDependencyEdge() *DependencyEdge {
 	return nil
 }
 
+func (m *Token) GetLemma() string {
+	if m != nil {
+		return m.Lemma
+	}
+	return ""
+}
+
 // Represents the feeling associated with the entire text or entities in
 // the text.
 type Sentiment struct {
@@ -1314,6 +1356,27 @@ func (m *Sentiment) String() string            { return proto.CompactTextString(
 func (*Sentiment) ProtoMessage()               {}
 func (*Sentiment) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Sentiment) GetPolarity() float32 {
+	if m != nil {
+		return m.Polarity
+	}
+	return 0
+}
+
+func (m *Sentiment) GetMagnitude() float32 {
+	if m != nil {
+		return m.Magnitude
+	}
+	return 0
+}
+
+func (m *Sentiment) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
 // Represents part of speech information for a token.
 type PartOfSpeech struct {
 	// The part of speech tag.
@@ -1347,6 +1410,90 @@ func (m *PartOfSpeech) String() string            { return proto.CompactTextStri
 func (*PartOfSpeech) ProtoMessage()               {}
 func (*PartOfSpeech) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *PartOfSpeech) GetTag() PartOfSpeech_Tag {
+	if m != nil {
+		return m.Tag
+	}
+	return PartOfSpeech_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetAspect() PartOfSpeech_Aspect {
+	if m != nil {
+		return m.Aspect
+	}
+	return PartOfSpeech_ASPECT_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetCase() PartOfSpeech_Case {
+	if m != nil {
+		return m.Case
+	}
+	return PartOfSpeech_CASE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetForm() PartOfSpeech_Form {
+	if m != nil {
+		return m.Form
+	}
+	return PartOfSpeech_FORM_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetGender() PartOfSpeech_Gender {
+	if m != nil {
+		return m.Gender
+	}
+	return PartOfSpeech_GENDER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetMood() PartOfSpeech_Mood {
+	if m != nil {
+		return m.Mood
+	}
+	return PartOfSpeech_MOOD_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetNumber() PartOfSpeech_Number {
+	if m != nil {
+		return m.Number
+	}
+	return PartOfSpeech_NUMBER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetPerson() PartOfSpeech_Person {
+	if m != nil {
+		return m.Person
+	}
+	return PartOfSpeech_PERSON_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetProper() PartOfSpeech_Proper {
+	if m != nil {
+		return m.Proper
+	}
+	return PartOfSpeech_PROPER_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetReciprocity() PartOfSpeech_Reciprocity {
+	if m != nil {
+		return m.Reciprocity
+	}
+	return PartOfSpeech_RECIPROCITY_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetTense() PartOfSpeech_Tense {
+	if m != nil {
+		return m.Tense
+	}
+	return PartOfSpeech_TENSE_UNKNOWN
+}
+
+func (m *PartOfSpeech) GetVoice() PartOfSpeech_Voice {
+	if m != nil {
+		return m.Voice
+	}
+	return PartOfSpeech_VOICE_UNKNOWN
+}
+
 // Represents dependency parse tree information for a token.
 type DependencyEdge struct {
 	// Represents the head of this token in the dependency tree.
@@ -1364,6 +1511,20 @@ func (m *DependencyEdge) String() string            { return proto.CompactTextSt
 func (*DependencyEdge) ProtoMessage()               {}
 func (*DependencyEdge) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DependencyEdge) GetHeadTokenIndex() int32 {
+	if m != nil {
+		return m.HeadTokenIndex
+	}
+	return 0
+}
+
+func (m *DependencyEdge) GetLabel() DependencyEdge_Label {
+	if m != nil {
+		return m.Label
+	}
+	return DependencyEdge_UNKNOWN
+}
+
 // Represents a mention for an entity in the text. Currently, proper noun
 // mentions are supported.
 type EntityMention struct {
@@ -1385,6 +1546,13 @@ func (m *EntityMention) GetText() *TextSpan {
 	return nil
 }
 
+func (m *EntityMention) GetType() EntityMention_Type {
+	if m != nil {
+		return m.Type
+	}
+	return EntityMention_TYPE_UNKNOWN
+}
+
 // Represents an output piece of text.
 type TextSpan struct {
 	// The content of the output text.
@@ -1399,6 +1567,20 @@ func (m *TextSpan) String() string            { return proto.CompactTextString(m
 func (*TextSpan) ProtoMessage()               {}
 func (*TextSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *TextSpan) GetContent() string {
+	if m != nil {
+		return m.Content
+	}
+	return ""
+}
+
+func (m *TextSpan) GetBeginOffset() int32 {
+	if m != nil {
+		return m.BeginOffset
+	}
+	return 0
+}
+
 // The sentiment analysis request message.
 type AnalyzeSentimentRequest struct {
 	// Input document. Currently, `analyzeSentiment` only supports English text
@@ -1421,6 +1603,13 @@ func (m *AnalyzeSentimentRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSentimentRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The sentiment analysis response message.
 type AnalyzeSentimentResponse struct {
 	// The overall sentiment of the input document.
@@ -1444,6 +1633,13 @@ func (m *AnalyzeSentimentResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnalyzeSentimentResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func (m *AnalyzeSentimentResponse) GetSentences() []*Sentence {
 	if m != nil {
 		return m.Sentences
@@ -1471,6 +1667,13 @@ func (m *AnalyzeEntitiesRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeEntitiesRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The entity analysis response message.
 type AnalyzeEntitiesResponse struct {
 	// The recognized entities in the input document.
@@ -1493,6 +1696,13 @@ func (m *AnalyzeEntitiesResponse) GetEntities() []*Entity {
 	return nil
 }
 
+func (m *AnalyzeEntitiesResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The syntax analysis request message.
 type AnalyzeSyntaxRequest struct {
 	// Input document.
@@ -1513,6 +1723,13 @@ func (m *AnalyzeSyntaxRequest) GetDocument() *Document {
 	return nil
 }
 
+func (m *AnalyzeSyntaxRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // The syntax analysis response message.
 type AnalyzeSyntaxResponse struct {
 	// Sentences in the input document.
@@ -1544,6 +1761,13 @@ func (m *AnalyzeSyntaxResponse) GetTokens() []*Token {
 	return nil
 }
 
+func (m *AnalyzeSyntaxResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 // The request message for the text annotation API, which can perform multiple
 // analysis types (sentiment, entities, and syntax) in one call.
 type AnnotateTextRequest struct {
@@ -1574,6 +1798,13 @@ func (m *AnnotateTextRequest) GetFeatures() *AnnotateTextRequest_Features {
 	return nil
 }
 
+func (m *AnnotateTextRequest) GetEncodingType() EncodingType {
+	if m != nil {
+		return m.EncodingType
+	}
+	return EncodingType_NONE
+}
+
 // All available features for sentiment, syntax, and semantic analysis.
 // Setting each one to true will enable that specific analysis for the input.
 type AnnotateTextRequest_Features struct {
@@ -1592,6 +1823,27 @@ func (*AnnotateTextRequest_Features) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{15, 0}
 }
 
+func (m *AnnotateTextRequest_Features) GetExtractSyntax() bool {
+	if m != nil {
+		return m.ExtractSyntax
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractEntities() bool {
+	if m != nil {
+		return m.ExtractEntities
+	}
+	return false
+}
+
+func (m *AnnotateTextRequest_Features) GetExtractDocumentSentiment() bool {
+	if m != nil {
+		return m.ExtractDocumentSentiment
+	}
+	return false
+}
+
 // The text annotations response message.
 type AnnotateTextResponse struct {
 	// Sentences in the input document. Populated if the user enables
@@ -1647,6 +1899,13 @@ func (m *AnnotateTextResponse) GetDocumentSentiment() *Sentiment {
 	return nil
 }
 
+func (m *AnnotateTextResponse) GetLanguage() string {
+	if m != nil {
+		return m.Language
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Document)(nil), "google.cloud.language.v1beta1.Document")
 	proto.RegisterType((*Sentence)(nil), "google.cloud.language.v1beta1.Sentence")
@@ -1869,185 +2128,186 @@ var _LanguageService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto",
+	Metadata: "google/cloud/language/v1beta1/language_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/language/v1beta1/language_service.proto", fileDescriptor0)
+	proto.RegisterFile("google/cloud/language/v1beta1/language_service.proto", fileDescriptor0)
 }
 
 var fileDescriptor0 = []byte{
-	// 2752 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0xcf, 0x73, 0xdb, 0xc6,
-	0xf5, 0x37, 0xf8, 0x4b, 0xe4, 0x92, 0x92, 0xd6, 0x88, 0x93, 0xf0, 0xab, 0x6f, 0xf2, 0x8d, 0x83,
-	0xc4, 0x5f, 0x2b, 0x76, 0x42, 0xc5, 0x52, 0xe2, 0xb8, 0x76, 0x9a, 0x06, 0x02, 0x96, 0x14, 0x64,
-	0x10, 0x40, 0x16, 0x00, 0x25, 0xa7, 0x07, 0x0e, 0x4c, 0xae, 0x18, 0x4e, 0x24, 0x80, 0x25, 0x21,
-	0x8f, 0xd5, 0x4b, 0x67, 0x3a, 0xd3, 0x63, 0xa7, 0x87, 0xde, 0x7a, 0x6c, 0x0f, 0x3d, 0x75, 0xd2,
-	0x99, 0x5e, 0xda, 0x3f, 0xa0, 0x87, 0x4e, 0x8f, 0x99, 0xe9, 0x5f, 0xd0, 0x63, 0x0f, 0x3d, 0xf4,
-	0xd0, 0x63, 0xe7, 0xed, 0x2e, 0xf8, 0x43, 0x71, 0x2d, 0x31, 0xc9, 0x21, 0xb7, 0xdd, 0xc7, 0xf7,
-	0x3e, 0xef, 0xe7, 0xbe, 0xb7, 0x58, 0x22, 0x7f, 0x90, 0x24, 0x83, 0x63, 0xd6, 0x18, 0x24, 0xc7,
-	0x51, 0x3c, 0x68, 0x24, 0xe3, 0xc1, 0xd6, 0x80, 0xc5, 0xa3, 0x71, 0x92, 0x26, 0x5b, 0xe2, 0xa7,
-	0x68, 0x34, 0x9c, 0x6c, 0xf5, 0x8e, 0x93, 0xd3, 0xfe, 0x16, 0xb0, 0x9c, 0x46, 0x03, 0xb6, 0xf5,
-	0xe4, 0xce, 0x63, 0x96, 0x46, 0x77, 0xa6, 0x84, 0xee, 0x84, 0x8d, 0x9f, 0x0c, 0x7b, 0xac, 0xc1,
-	0x05, 0xd5, 0x57, 0x25, 0x28, 0x97, 0x6a, 0x64, 0x4c, 0x0d, 0x29, 0xb5, 0x61, 0x5d, 0x4e, 0x67,
-	0x34, 0x1a, 0x6e, 0x49, 0xdc, 0x5e, 0x12, 0x1f, 0x0d, 0x07, 0x5b, 0x51, 0x1c, 0x27, 0x69, 0x94,
-	0x0e, 0x93, 0x78, 0x22, 0x34, 0x69, 0xff, 0x54, 0x50, 0xd9, 0x4c, 0x7a, 0xa7, 0x27, 0x2c, 0x4e,
-	0xd5, 0x8f, 0x51, 0x21, 0x3d, 0x1b, 0xb1, 0xba, 0x72, 0x5d, 0xd9, 0x5c, 0xdb, 0x7e, 0xbb, 0xf1,
-	0x5c, 0x2b, 0x1a, 0x99, 0x58, 0x23, 0x38, 0x1b, 0x31, 0xca, 0x25, 0xd5, 0x0d, 0xb4, 0xd2, 0x4b,
-	0xe2, 0x94, 0xc5, 0x69, 0x3d, 0x77, 0x5d, 0xd9, 0xac, 0xec, 0x5d, 0xa1, 0x19, 0x41, 0xdd, 0x44,
-	0xeb, 0x83, 0xde, 0xa4, 0x2b, 0xb7, 0xdd, 0xd3, 0xf1, 0xb0, 0x9e, 0x97, 0x3c, 0xab, 0x83, 0xde,
-	0xc4, 0x10, 0xf4, 0x70, 0x3c, 0x54, 0x37, 0x50, 0x39, 0xd3, 0x56, 0x2f, 0x00, 0x0b, 0x9d, 0xee,
-	0xb5, 0xbb, 0xa8, 0x00, 0xfa, 0xd4, 0x6b, 0x08, 0x07, 0x8f, 0x3c, 0xd2, 0x0d, 0x1d, 0xdf, 0x23,
-	0x86, 0xd5, 0xb4, 0x88, 0x89, 0xaf, 0xa8, 0x6b, 0x08, 0x79, 0xb6, 0x6e, 0x39, 0xdd, 0x80, 0x1c,
-	0x06, 0x58, 0x51, 0xcb, 0xa8, 0xb0, 0x17, 0xb4, 0x6d, 0x9c, 0xdb, 0x2d, 0xa3, 0xd2, 0x24, 0x39,
-	0x1d, 0xf7, 0x98, 0xf6, 0x0b, 0x05, 0x95, 0x7d, 0x06, 0xca, 0x7a, 0x4c, 0x7d, 0x80, 0x0a, 0x29,
-	0x7b, 0x9a, 0x72, 0x97, 0xab, 0xdb, 0x37, 0x2f, 0x70, 0x39, 0x60, 0x4f, 0x53, 0x7f, 0x14, 0xc5,
-	0x94, 0x0b, 0xa9, 0x4d, 0x54, 0x99, 0xb0, 0x38, 0x1d, 0x9e, 0x64, 0xfe, 0x56, 0xb7, 0x37, 0x2f,
-	0x40, 0xf0, 0x33, 0x7e, 0x3a, 0x13, 0xd5, 0xfe, 0x9a, 0x47, 0x25, 0x12, 0xa7, 0xc3, 0xf4, 0x4c,
-	0x55, 0x51, 0x21, 0x8e, 0x4e, 0x44, 0x0a, 0x2a, 0x94, 0xaf, 0xd5, 0x8f, 0x64, 0x5a, 0x72, 0x3c,
-	0x2d, 0xb7, 0x2e, 0xd0, 0x20, 0x80, 0xe6, 0x93, 0xe2, 0xa2, 0xf2, 0x09, 0x4b, 0xa3, 0x7e, 0x94,
-	0x46, 0xf5, 0xfc, 0xf5, 0xfc, 0x66, 0x75, 0x7b, 0xe7, 0x72, 0x18, 0x6d, 0x29, 0x45, 0xe2, 0x74,
-	0x7c, 0x46, 0xa7, 0x20, 0x90, 0x9f, 0x49, 0x74, 0x3c, 0x84, 0x00, 0xf2, 0xfc, 0xe4, 0xe8, 0x74,
-	0xaf, 0xee, 0x81, 0xb2, 0x98, 0x97, 0x58, 0xbd, 0xc8, 0x95, 0xbd, 0x7d, 0x29, 0x65, 0x6d, 0x21,
-	0x44, 0xa7, 0xd2, 0x1b, 0x0f, 0xd0, 0xea, 0x82, 0x01, 0x2a, 0x46, 0xf9, 0xcf, 0xd9, 0x99, 0x0c,
-	0x0d, 0x2c, 0xd5, 0x6b, 0xa8, 0xf8, 0x24, 0x3a, 0x3e, 0x15, 0xa1, 0xa9, 0x50, 0xb1, 0xb9, 0x9f,
-	0xbb, 0xa7, 0x68, 0x67, 0xb2, 0x4c, 0xaa, 0x68, 0x25, 0x74, 0x1e, 0x3a, 0xee, 0x81, 0x83, 0xaf,
-	0xa8, 0x08, 0x95, 0x3c, 0x42, 0x7d, 0xd7, 0xc1, 0x8a, 0x5a, 0x43, 0x65, 0xdb, 0x35, 0xf4, 0xc0,
-	0x72, 0x1d, 0x9c, 0x53, 0x31, 0xaa, 0xb9, 0xb4, 0xa5, 0x3b, 0xd6, 0xa7, 0x82, 0x92, 0x57, 0x2b,
-	0xa8, 0x48, 0x3a, 0xc4, 0x09, 0x70, 0x41, 0x5d, 0x47, 0xd5, 0x03, 0x97, 0x3e, 0xec, 0xba, 0xcd,
-	0xae, 0x4e, 0x03, 0x5c, 0x54, 0xaf, 0xa2, 0x55, 0xc3, 0x75, 0xfc, 0xb0, 0x4d, 0x68, 0xb7, 0xe5,
-	0xba, 0x26, 0x2e, 0x01, 0xbb, 0x1b, 0xec, 0x11, 0x8a, 0x57, 0xb4, 0x9f, 0xe5, 0x50, 0x31, 0x48,
-	0x3e, 0x67, 0xf1, 0x37, 0x2b, 0xae, 0x4f, 0xd0, 0xda, 0x28, 0x1a, 0xa7, 0xdd, 0xe4, 0xa8, 0x3b,
-	0x19, 0x31, 0xd6, 0xfb, 0x4c, 0x56, 0xd8, 0xed, 0x0b, 0x60, 0xbc, 0x68, 0x9c, 0xba, 0x47, 0x3e,
-	0x17, 0xa1, 0xb5, 0xd1, 0xdc, 0x4e, 0xed, 0xa0, 0xf5, 0x3e, 0x1b, 0xb1, 0xb8, 0xcf, 0xe2, 0xde,
-	0x59, 0x97, 0xf5, 0x07, 0x8c, 0x9f, 0xc0, 0xea, 0xf6, 0x3b, 0x17, 0x1d, 0xf5, 0xa9, 0x14, 0xe9,
-	0x0f, 0x18, 0x5d, 0xeb, 0x2f, 0xec, 0x21, 0x0d, 0xc7, 0xec, 0xe4, 0x24, 0x92, 0x87, 0x55, 0x6c,
-	0xb4, 0x1f, 0xa2, 0xca, 0xb4, 0xda, 0xa1, 0x64, 0x46, 0xc9, 0x71, 0x34, 0x1e, 0xa6, 0x22, 0x81,
-	0x39, 0x3a, 0xdd, 0xab, 0xaf, 0xa0, 0xca, 0x49, 0x34, 0x88, 0x87, 0xe9, 0x69, 0x5f, 0x64, 0x32,
-	0x47, 0x67, 0x04, 0x00, 0x9f, 0xf4, 0x92, 0xb1, 0x30, 0x35, 0x47, 0xc5, 0x46, 0xfb, 0xd3, 0x55,
-	0x54, 0x9b, 0xf7, 0x54, 0xd5, 0x51, 0x3e, 0x8d, 0x06, 0xb2, 0x75, 0x6d, 0x2d, 0x11, 0xa3, 0x46,
-	0x10, 0x0d, 0x28, 0xc8, 0xaa, 0xfb, 0xa8, 0x14, 0x4d, 0x46, 0xac, 0x97, 0xca, 0x93, 0xb6, 0xbd,
-	0x0c, 0x8a, 0xce, 0x25, 0xa9, 0x44, 0x50, 0x4d, 0x54, 0xe8, 0x45, 0x13, 0x61, 0xf4, 0xda, 0xf6,
-	0xbb, 0xcb, 0x20, 0x19, 0xd1, 0x84, 0x51, 0x2e, 0x0d, 0x28, 0x47, 0xc9, 0xf8, 0x84, 0xc7, 0x75,
-	0x49, 0x94, 0x66, 0x32, 0x3e, 0xa1, 0x5c, 0x1a, 0xfc, 0x1a, 0x40, 0xba, 0xc6, 0xf5, 0xe2, 0xf2,
-	0x7e, 0xb5, 0xb8, 0x24, 0x95, 0x08, 0x60, 0xd1, 0x49, 0x92, 0xf4, 0xeb, 0xa5, 0xe5, 0x2d, 0x6a,
-	0x27, 0x49, 0x9f, 0x72, 0x69, 0xb0, 0x28, 0x3e, 0x3d, 0x79, 0xcc, 0xc6, 0xf5, 0x95, 0xe5, 0x2d,
-	0x72, 0xb8, 0x24, 0x95, 0x08, 0x80, 0x35, 0x62, 0xe3, 0x49, 0x12, 0xd7, 0xcb, 0xcb, 0x63, 0x79,
-	0x5c, 0x92, 0x4a, 0x04, 0x8e, 0x35, 0x4e, 0x46, 0x6c, 0x5c, 0xaf, 0x7c, 0x0d, 0x2c, 0x2e, 0x49,
-	0x25, 0x82, 0xfa, 0x08, 0x55, 0xc7, 0xac, 0x37, 0x1c, 0x8d, 0x93, 0x1e, 0x14, 0x3d, 0xe2, 0x80,
-	0x1f, 0x2c, 0x03, 0x48, 0x67, 0xe2, 0x74, 0x1e, 0x4b, 0x6d, 0xa1, 0x62, 0xca, 0xe2, 0x09, 0xab,
-	0x57, 0x39, 0xe8, 0x9d, 0xa5, 0xaa, 0x1d, 0x04, 0xa9, 0x90, 0x07, 0xa0, 0x27, 0xc9, 0xb0, 0xc7,
-	0xea, 0xb5, 0xe5, 0x81, 0x3a, 0x20, 0x48, 0x85, 0xbc, 0xf6, 0x73, 0x05, 0xe5, 0x83, 0x68, 0xb0,
-	0xd8, 0x6e, 0x57, 0x50, 0x5e, 0x37, 0xf7, 0xb1, 0x22, 0x16, 0x1e, 0xce, 0x89, 0x45, 0x07, 0xe7,
-	0x61, 0x2e, 0x1b, 0xae, 0xb3, 0x8f, 0x0b, 0x40, 0x32, 0x09, 0x34, 0xd5, 0x32, 0x2a, 0x38, 0x6e,
-	0xe8, 0xe0, 0x12, 0x90, 0x9c, 0xb0, 0x8d, 0x57, 0x80, 0xe4, 0x51, 0xd7, 0xc1, 0x65, 0x20, 0x79,
-	0x34, 0xc0, 0x15, 0xe8, 0xb3, 0x5e, 0xe8, 0x18, 0x01, 0x46, 0xf0, 0x6b, 0x87, 0xd0, 0x5d, 0x5c,
-	0x55, 0x8b, 0x48, 0x39, 0xc4, 0x35, 0xf8, 0x4d, 0x6f, 0x36, 0xad, 0x43, 0xbc, 0xaa, 0xb9, 0xa8,
-	0x24, 0x0e, 0xa4, 0xaa, 0xa2, 0x35, 0x1d, 0x6e, 0x08, 0x41, 0x77, 0x66, 0x18, 0xdc, 0x12, 0x08,
-	0x6d, 0x12, 0x23, 0xb0, 0x3a, 0x04, 0x2b, 0xd0, 0xfd, 0xad, 0xf6, 0x1c, 0x25, 0x07, 0x2d, 0xdf,
-	0xa3, 0x6e, 0x8b, 0x12, 0xdf, 0x07, 0x42, 0x5e, 0xfb, 0xb7, 0x82, 0x0a, 0x70, 0x30, 0x81, 0xd7,
-	0xd0, 0x7d, 0xb2, 0x88, 0xa6, 0x1b, 0x46, 0xe8, 0xeb, 0x12, 0x6d, 0x15, 0x55, 0x74, 0x13, 0x2c,
-	0xb3, 0x74, 0x1b, 0xe7, 0xc4, 0xb0, 0x68, 0x7b, 0x36, 0x69, 0x13, 0x87, 0x73, 0xe4, 0x61, 0x0e,
-	0x99, 0x82, 0xbb, 0x00, 0x73, 0xa8, 0x45, 0x1c, 0x8b, 0xef, 0x8a, 0xdc, 0x12, 0xc7, 0x0f, 0x68,
-	0x08, 0xcc, 0xba, 0x8d, 0x4b, 0xb3, 0x39, 0xd5, 0x21, 0x78, 0x05, 0x74, 0x39, 0x6e, 0xdb, 0x72,
-	0xc4, 0xbe, 0x0c, 0xf1, 0x76, 0x77, 0x6d, 0xeb, 0x93, 0x90, 0xe0, 0x0a, 0x28, 0xf6, 0x74, 0x1a,
-	0x08, 0x2c, 0x04, 0x8a, 0x3d, 0x4a, 0x3c, 0xd7, 0xb7, 0x60, 0xa4, 0xe9, 0x36, 0xae, 0x42, 0x30,
-	0x28, 0x69, 0xda, 0xe4, 0xd0, 0xea, 0x90, 0x2e, 0xb8, 0x81, 0x6b, 0xc0, 0x46, 0x89, 0xcd, 0x01,
-	0x05, 0x69, 0x15, 0x74, 0x76, 0x32, 0x9d, 0x6b, 0xda, 0x17, 0x0a, 0x2a, 0x40, 0x37, 0x01, 0xe3,
-	0x9a, 0x2e, 0x6d, 0xcf, 0xb9, 0x5e, 0x43, 0x65, 0xdd, 0x04, 0x83, 0x74, 0x5b, 0x3a, 0x1e, 0x1e,
-	0x5a, 0xb6, 0xa5, 0xd3, 0x47, 0x38, 0x07, 0xca, 0xe6, 0x1c, 0xff, 0x94, 0x50, 0x9c, 0xe7, 0x10,
-	0x96, 0xa3, 0xdb, 0x5d, 0xe2, 0x98, 0x96, 0xd3, 0xc2, 0x05, 0x88, 0x45, 0x8b, 0xd0, 0xd0, 0x31,
-	0x71, 0x11, 0xd6, 0x94, 0xe8, 0xb6, 0xe5, 0x0b, 0xbf, 0x2d, 0x2a, 0x77, 0x2b, 0x90, 0x5a, 0x7f,
-	0xcf, 0xa5, 0x01, 0x2e, 0x43, 0xda, 0x6d, 0xd7, 0x69, 0x89, 0x5a, 0x70, 0xa9, 0x49, 0x28, 0x46,
-	0xc0, 0x2d, 0xaf, 0x81, 0x06, 0xae, 0x6a, 0x04, 0x95, 0x44, 0xdb, 0x02, 0x1b, 0x5a, 0xc4, 0x31,
-	0x09, 0x5d, 0x34, 0xba, 0x49, 0xda, 0x96, 0x63, 0x39, 0x32, 0x5b, 0x6d, 0xdd, 0x37, 0x42, 0x1b,
-	0xb6, 0x39, 0x30, 0xc1, 0x21, 0x61, 0x00, 0xc6, 0x6a, 0x3f, 0x41, 0x05, 0xe8, 0x59, 0x60, 0x74,
-	0xdb, 0x75, 0xcd, 0x39, 0x88, 0x6b, 0x08, 0x1b, 0xae, 0x63, 0xca, 0xc0, 0x76, 0xe1, 0x57, 0xac,
-	0x40, 0x72, 0x78, 0x19, 0xe9, 0xb2, 0x88, 0x60, 0xef, 0x98, 0x96, 0x0c, 0x64, 0x1e, 0x22, 0x6d,
-	0x39, 0x01, 0xa1, 0xd4, 0x6d, 0x65, 0xd9, 0xaf, 0xa2, 0x95, 0xfd, 0x50, 0xd4, 0x58, 0x11, 0x8a,
-	0xce, 0x0f, 0x77, 0xf7, 0xa1, 0xbc, 0x81, 0x50, 0xd2, 0x3e, 0x46, 0x25, 0xd1, 0xec, 0xc0, 0x0f,
-	0x27, 0x6c, 0xef, 0x9e, 0xf7, 0xc3, 0xb7, 0x9c, 0x56, 0x68, 0xeb, 0x14, 0x2b, 0xfc, 0x6e, 0x63,
-	0x87, 0x94, 0x97, 0x5c, 0x19, 0x15, 0xcc, 0x50, 0xb7, 0x71, 0x5e, 0x0b, 0x50, 0x49, 0xb4, 0x38,
-	0x40, 0x10, 0x77, 0x9f, 0x39, 0x84, 0x0a, 0x2a, 0x36, 0x2d, 0xea, 0x07, 0x42, 0xdc, 0x27, 0xe0,
-	0x13, 0xce, 0x01, 0x39, 0xd8, 0xb3, 0xa8, 0x89, 0xf3, 0xe0, 0xe8, 0xac, 0x60, 0xe4, 0xdd, 0xa9,
-	0xa0, 0xdd, 0x43, 0x25, 0xd1, 0xec, 0x38, 0x2a, 0x75, 0xbd, 0x05, 0xbb, 0xc0, 0x12, 0x4e, 0x13,
-	0x21, 0x71, 0xdc, 0xa0, 0x2b, 0xf7, 0x39, 0x6d, 0x1f, 0x55, 0xe7, 0xba, 0x9a, 0xfa, 0x32, 0x7a,
-	0x81, 0x12, 0xc3, 0xf2, 0xa8, 0x6b, 0x58, 0xc1, 0xa3, 0xc5, 0x33, 0x95, 0xfd, 0xc0, 0x4b, 0x0b,
-	0xfc, 0x77, 0x9d, 0xee, 0x1c, 0x2d, 0xa7, 0x4d, 0x50, 0x91, 0x37, 0x33, 0x88, 0x6b, 0x40, 0x9c,
-	0x85, 0x33, 0xf9, 0x22, 0xba, 0x3a, 0x9f, 0x20, 0xfe, 0xb3, 0xf0, 0xb2, 0x19, 0x06, 0x21, 0x25,
-	0x22, 0x48, 0x9e, 0xee, 0x07, 0x38, 0x0f, 0x49, 0xf0, 0x28, 0xf1, 0xc5, 0x65, 0x6f, 0x15, 0x55,
-	0xa6, 0xbd, 0x00, 0x17, 0xc5, 0x07, 0x45, 0x98, 0xed, 0x4b, 0xda, 0x2e, 0x2a, 0xf2, 0xc6, 0x07,
-	0x4a, 0x3b, 0xae, 0x65, 0x90, 0x45, 0xc7, 0x75, 0x63, 0xd6, 0x04, 0x0c, 0x3d, 0xeb, 0x09, 0x39,
-	0xae, 0x42, 0xcf, 0x7a, 0xc9, 0xbf, 0x56, 0xd0, 0xda, 0xe2, 0x8d, 0x4a, 0xdd, 0x44, 0xf8, 0x33,
-	0x16, 0xf5, 0xbb, 0x29, 0xdc, 0x1b, 0xbb, 0xc3, 0xb8, 0xcf, 0x9e, 0xf2, 0xab, 0x4c, 0x91, 0xae,
-	0x01, 0x9d, 0x5f, 0x27, 0x2d, 0xa0, 0xaa, 0x16, 0x2a, 0x1e, 0x47, 0x8f, 0xd9, 0xb1, 0xbc, 0xa3,
-	0xec, 0x2c, 0x75, 0x73, 0x6b, 0xd8, 0x20, 0x4a, 0x05, 0x82, 0xf6, 0x8f, 0x12, 0x2a, 0x72, 0xc2,
-	0x57, 0x6e, 0xc9, 0xfa, 0xee, 0x2e, 0x25, 0x1d, 0xac, 0xf0, 0x96, 0x0a, 0x87, 0x58, 0x54, 0x85,
-	0x6e, 0x76, 0x0c, 0x5b, 0xf4, 0x2f, 0xdd, 0xec, 0xb4, 0x5d, 0x13, 0x17, 0x20, 0x8c, 0x3a, 0xac,
-	0x8a, 0x9c, 0xc1, 0xf3, 0x5c, 0x38, 0xbc, 0x40, 0x0c, 0x02, 0x8a, 0x57, 0x78, 0xc7, 0x0f, 0x0f,
-	0x45, 0xa7, 0xd2, 0xc3, 0x43, 0x08, 0x02, 0xae, 0xa8, 0x25, 0x94, 0x33, 0x0c, 0x8c, 0x40, 0xc4,
-	0xe0, 0xf0, 0xd5, 0xe9, 0x44, 0xe0, 0x6d, 0xdc, 0x80, 0x73, 0x80, 0x57, 0x79, 0x14, 0x61, 0xc9,
-	0xc5, 0xd6, 0xc4, 0xac, 0xf0, 0xf0, 0x7a, 0x36, 0x34, 0x30, 0x30, 0x98, 0x96, 0x6f, 0xb8, 0x21,
-	0xf5, 0x09, 0xbe, 0xca, 0x0b, 0xdf, 0xdd, 0xdd, 0xc7, 0x2a, 0xac, 0xc8, 0xa1, 0x67, 0xe3, 0x17,
-	0x78, 0x83, 0x75, 0x89, 0x7f, 0x60, 0x05, 0x7b, 0xf8, 0x1a, 0xd0, 0x2d, 0xe0, 0x78, 0x11, 0x56,
-	0x6d, 0x9d, 0x3e, 0xc4, 0x2f, 0x01, 0x5a, 0xfb, 0x80, 0xe0, 0x97, 0xc5, 0xa2, 0x83, 0xeb, 0x7c,
-	0x02, 0x91, 0x16, 0xfe, 0x1f, 0x30, 0xd4, 0x71, 0xf0, 0x06, 0x80, 0x38, 0x9e, 0xf4, 0xf9, 0x7f,
-	0xc1, 0x42, 0x87, 0x5b, 0xf8, 0x0a, 0x18, 0xe0, 0x4c, 0x2d, 0x7c, 0x35, 0x1b, 0x5d, 0xff, 0xc7,
-	0xfb, 0x08, 0x3f, 0xb0, 0xf8, 0x35, 0x18, 0x4f, 0x1e, 0xbe, 0x2e, 0xdb, 0xb3, 0x1e, 0xe8, 0x87,
-	0x96, 0x8f, 0x5f, 0x17, 0x25, 0x41, 0x03, 0x40, 0xd4, 0xf8, 0x58, 0xe3, 0x81, 0x78, 0x83, 0xd7,
-	0x25, 0x58, 0xf8, 0xa6, 0x58, 0xf9, 0x3e, 0xbe, 0xc1, 0x79, 0x5d, 0x3f, 0x00, 0x9b, 0xfe, 0x5f,
-	0x96, 0x2b, 0xe7, 0xbe, 0x39, 0xdd, 0x38, 0xfb, 0x78, 0x53, 0x9c, 0x3c, 0x02, 0x91, 0x79, 0x4b,
-	0xcc, 0x4e, 0xd2, 0xc4, 0xb7, 0xe4, 0xca, 0xc3, 0xb7, 0xb9, 0x16, 0xea, 0x3a, 0x36, 0x7e, 0x3b,
-	0x1b, 0xa8, 0xef, 0x80, 0x87, 0x9e, 0x8f, 0x1b, 0xe0, 0xe1, 0x27, 0xa1, 0xee, 0x70, 0x7b, 0xb6,
-	0x80, 0x93, 0x1a, 0xb0, 0x7c, 0x17, 0x7e, 0xe0, 0x4b, 0x4a, 0x6c, 0x7c, 0x87, 0xff, 0x60, 0x52,
-	0xd7, 0xc3, 0xdb, 0x00, 0x01, 0x0a, 0x76, 0xc0, 0x06, 0x4a, 0xda, 0x8e, 0xee, 0x04, 0xf8, 0x3d,
-	0x71, 0x72, 0xc1, 0x4f, 0xc7, 0x0c, 0xdb, 0xf8, 0x7d, 0xd0, 0x4e, 0x5d, 0x37, 0xc0, 0x77, 0x61,
-	0xe5, 0x43, 0x70, 0x3e, 0xe0, 0xab, 0xb0, 0xd9, 0xc4, 0xf7, 0x60, 0xc5, 0x35, 0x7e, 0x8f, 0x37,
-	0x1d, 0xd7, 0xb3, 0x0c, 0x7c, 0x9f, 0x0f, 0x76, 0x20, 0x3e, 0x58, 0x18, 0x44, 0x1f, 0x02, 0xcb,
-	0x21, 0x77, 0xfb, 0xfb, 0xbc, 0x5d, 0x85, 0x7c, 0xd6, 0x7f, 0xc4, 0x25, 0xad, 0xc0, 0x26, 0xf8,
-	0x07, 0x62, 0x1e, 0x75, 0xbc, 0x3d, 0x90, 0xfe, 0x58, 0x96, 0x1c, 0x1c, 0x43, 0xac, 0xf3, 0xea,
-	0x0c, 0x0f, 0x3b, 0x1d, 0xbc, 0x0b, 0x4b, 0x93, 0x6b, 0x35, 0x80, 0xa5, 0xe9, 0x52, 0x62, 0xb5,
-	0x1c, 0x6c, 0x42, 0x28, 0x1e, 0x1e, 0x60, 0xc2, 0x27, 0x8c, 0xe5, 0x07, 0xb8, 0x29, 0xee, 0x24,
-	0x6d, 0x03, 0xb7, 0x78, 0x01, 0xb8, 0x6d, 0x51, 0x97, 0x7b, 0x30, 0x11, 0xb2, 0x1d, 0x4f, 0xbc,
-	0xc5, 0x39, 0xc3, 0xb6, 0x81, 0xf7, 0x21, 0x2c, 0x86, 0xeb, 0xe1, 0x87, 0x10, 0x09, 0xd3, 0xf2,
-	0xf9, 0xf0, 0x26, 0x26, 0xb6, 0xb5, 0x3f, 0x2b, 0x68, 0x75, 0xe1, 0x5b, 0xf7, 0x9b, 0x7d, 0x1f,
-	0x92, 0x85, 0x57, 0x81, 0x3b, 0xcb, 0x7c, 0x64, 0xcf, 0x3d, 0x0e, 0x68, 0xef, 0xca, 0x0f, 0x65,
-	0x8c, 0x6a, 0xf2, 0x3d, 0xe5, 0x59, 0x7d, 0x1c, 0xa1, 0x92, 0xe1, 0xb6, 0xdb, 0xf0, 0xad, 0xac,
-	0xb5, 0x50, 0x39, 0x33, 0x45, 0xad, 0xcf, 0xde, 0x7b, 0xc4, 0x67, 0xf9, 0xf4, 0xb5, 0xe7, 0x75,
-	0x54, 0x7b, 0xcc, 0x06, 0xc3, 0xb8, 0x9b, 0x1c, 0x1d, 0x4d, 0x98, 0xf8, 0xa4, 0x2a, 0xd2, 0x2a,
-	0xa7, 0xb9, 0x9c, 0xa4, 0xfd, 0x5e, 0x41, 0x2f, 0xeb, 0x71, 0x74, 0x7c, 0xf6, 0x63, 0x36, 0x7b,
-	0x16, 0x61, 0x3f, 0x3a, 0x65, 0x93, 0x54, 0x35, 0x50, 0xb9, 0x2f, 0xdf, 0x97, 0x2e, 0x19, 0x9e,
-	0xec, 0x39, 0x8a, 0x4e, 0x05, 0x55, 0x0f, 0xad, 0xb2, 0xb8, 0x97, 0xf4, 0x87, 0xf1, 0xa0, 0x3b,
-	0x17, 0xab, 0xdb, 0x17, 0xc6, 0x4a, 0xc8, 0xf0, 0x28, 0xd5, 0xd8, 0xdc, 0x4e, 0xfb, 0x9b, 0x82,
-	0xea, 0x5f, 0x35, 0x79, 0x32, 0x4a, 0x60, 0x0e, 0x1d, 0x20, 0x35, 0x53, 0xdd, 0x9d, 0xbd, 0x0b,
-	0x29, 0x4b, 0xbe, 0x0b, 0x5d, 0xcd, 0x30, 0x16, 0x3e, 0x9e, 0xa7, 0xef, 0x61, 0xb9, 0xc5, 0xf7,
-	0x30, 0x95, 0x88, 0x37, 0x28, 0x16, 0xf7, 0xd8, 0x44, 0xbe, 0xee, 0xdc, 0xbc, 0x84, 0x2e, 0xe0,
-	0xa7, 0x33, 0x49, 0xb8, 0xe4, 0xbd, 0x24, 0x1d, 0xe3, 0xa5, 0x32, 0x64, 0x93, 0xef, 0x78, 0x2a,
-	0x9e, 0x4e, 0x8b, 0x67, 0x66, 0xb0, 0x4c, 0x84, 0x8e, 0xca, 0x4c, 0xd2, 0xea, 0x0a, 0x0f, 0xc9,
-	0x8d, 0x4b, 0x1d, 0x0f, 0x3a, 0x15, 0x7b, 0x5e, 0xc8, 0xb5, 0xdf, 0x29, 0xe8, 0x5a, 0x56, 0x04,
-	0x67, 0x71, 0x1a, 0x3d, 0xfd, 0x8e, 0x47, 0xea, 0x8f, 0x0a, 0x7a, 0xf1, 0x9c, 0xbd, 0x32, 0x50,
-	0x0b, 0xc5, 0xa3, 0x7c, 0xdd, 0xe2, 0x51, 0x3f, 0x44, 0x25, 0x7e, 0x71, 0x99, 0xd4, 0x73, 0x1c,
-	0xe3, 0xcd, 0x8b, 0x3a, 0x19, 0x30, 0x53, 0x29, 0xb3, 0x10, 0xea, 0xfc, 0xb9, 0x50, 0xff, 0x3a,
-	0x8f, 0x5e, 0xd0, 0xc5, 0xa3, 0x35, 0x83, 0xa6, 0xf3, 0xad, 0x46, 0xfa, 0x00, 0x95, 0x8f, 0x58,
-	0x94, 0x9e, 0x8e, 0xd9, 0x44, 0xbe, 0xad, 0x3d, 0xb8, 0x00, 0xe4, 0x19, 0xa6, 0x34, 0x9a, 0x12,
-	0x82, 0x4e, 0xc1, 0xbe, 0x9a, 0xc2, 0xfc, 0x37, 0x4c, 0xe1, 0xc6, 0xaf, 0x14, 0x54, 0xce, 0x14,
-	0xa9, 0x37, 0xd0, 0x1a, 0x7b, 0x9a, 0x8e, 0xa3, 0x5e, 0xda, 0x9d, 0xf0, 0x7c, 0xf2, 0x10, 0x94,
-	0xe9, 0xaa, 0xa4, 0x8a, 0x24, 0xab, 0x6f, 0x21, 0x9c, 0xb1, 0x4d, 0x4f, 0x43, 0x8e, 0x33, 0xae,
-	0x4b, 0x7a, 0x76, 0x70, 0xd4, 0x0f, 0xd1, 0x46, 0xc6, 0xfa, 0x8c, 0x0e, 0x96, 0xe7, 0x42, 0x75,
-	0xc9, 0x61, 0x9e, 0x6f, 0x4f, 0xda, 0x97, 0x39, 0x38, 0x0f, 0xf3, 0x91, 0xf9, 0x2e, 0x95, 0xd7,
-	0x7c, 0x33, 0xc8, 0x7f, 0xbd, 0x66, 0xf0, 0xec, 0xc6, 0x5e, 0xf8, 0x76, 0x1b, 0x7b, 0x71, 0xb1,
-	0xf4, 0x6f, 0xdd, 0x43, 0xb5, 0xf9, 0x82, 0x10, 0x77, 0x11, 0x87, 0xe0, 0x2b, 0xb0, 0x0a, 0x83,
-	0xe6, 0x3d, 0x71, 0x3d, 0x0f, 0x83, 0xe6, 0x9d, 0xbb, 0xe2, 0x7a, 0x1e, 0x06, 0xcd, 0x9d, 0x6d,
-	0x9c, 0xdf, 0xfe, 0x4b, 0x11, 0xad, 0xdb, 0x12, 0xc6, 0x17, 0xff, 0xff, 0xa8, 0x7f, 0x50, 0x10,
-	0x3e, 0x3f, 0xb8, 0xd4, 0xbb, 0x17, 0x96, 0xfb, 0x33, 0x87, 0xf3, 0xc6, 0x07, 0x4b, 0xcb, 0x89,
-	0x82, 0xd0, 0x1a, 0x3f, 0xfd, 0xf2, 0xef, 0xbf, 0xcc, 0x6d, 0x6a, 0x6f, 0x4c, 0xff, 0x00, 0xcb,
-	0x62, 0x32, 0xb9, 0x1f, 0x9d, 0x13, 0xba, 0xaf, 0xdc, 0x52, 0xbf, 0x50, 0xd0, 0xfa, 0xb9, 0x26,
-	0xaf, 0xbe, 0x7f, 0x39, 0xe5, 0xe7, 0xa6, 0xd8, 0xc6, 0xdd, 0x65, 0xc5, 0xa4, 0xc9, 0xef, 0x70,
-	0x93, 0x6f, 0x6a, 0xda, 0x7f, 0x37, 0x39, 0x93, 0x01, 0x8b, 0x7f, 0xab, 0xa0, 0xd5, 0x85, 0x5e,
-	0xab, 0xee, 0x5c, 0x32, 0x58, 0xf3, 0x93, 0x64, 0xe3, 0xbd, 0xe5, 0x84, 0xa4, 0xad, 0xb7, 0xb9,
-	0xad, 0x37, 0xb4, 0xeb, 0xcf, 0x09, 0x2f, 0x97, 0x00, 0x4b, 0x7f, 0xa3, 0xa0, 0xda, 0xfc, 0xa9,
-	0x55, 0xb7, 0x97, 0x6f, 0x7e, 0x1b, 0x3b, 0x4b, 0xc9, 0x48, 0x33, 0x6f, 0x71, 0x33, 0xdf, 0xd4,
-	0x5e, 0x7b, 0xa6, 0x99, 0x33, 0x81, 0xfb, 0xca, 0xad, 0xdd, 0x07, 0xe8, 0xf5, 0x5e, 0x72, 0xf2,
-	0x7c, 0x2d, 0xbb, 0xd7, 0xce, 0x55, 0xbb, 0x37, 0x4e, 0xd2, 0xc4, 0x53, 0x1e, 0x97, 0xf8, 0x7f,
-	0x9c, 0x3b, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x57, 0xaf, 0x92, 0x3b, 0xa4, 0x1d, 0x00, 0x00,
+	// 2755 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x73, 0xdb, 0xc6,
+	0x15, 0x37, 0xf8, 0x4f, 0xe4, 0x92, 0x92, 0xd6, 0x88, 0x93, 0xb0, 0x6a, 0xd2, 0x38, 0x48, 0x5c,
+	0x2b, 0x76, 0x42, 0xc5, 0x52, 0xe2, 0xb8, 0x76, 0x9a, 0x06, 0x02, 0x96, 0x14, 0x64, 0x10, 0x40,
+	0x16, 0x00, 0x25, 0xa7, 0x07, 0x0e, 0x4c, 0xae, 0x19, 0x4e, 0x24, 0x80, 0x25, 0x21, 0x8f, 0xd5,
+	0x4b, 0x67, 0x32, 0xd3, 0x63, 0xa7, 0x87, 0xde, 0x7a, 0x6c, 0x0f, 0x3d, 0x75, 0xd2, 0x99, 0x5e,
+	0xda, 0x0f, 0xd0, 0x43, 0xa7, 0xc7, 0xcc, 0xf4, 0x13, 0xf4, 0xd8, 0x43, 0x0f, 0x3d, 0xf4, 0xd8,
+	0x79, 0xbb, 0x0b, 0xfe, 0x51, 0x1c, 0x4b, 0x4c, 0x72, 0xc8, 0x6d, 0xf7, 0xf1, 0xfd, 0x7e, 0xef,
+	0xed, 0xdb, 0xb7, 0xef, 0x2d, 0x96, 0xe8, 0x9d, 0x41, 0x92, 0x0c, 0x8e, 0xd8, 0x56, 0xef, 0x28,
+	0x39, 0xe9, 0x6f, 0x1d, 0x45, 0xf1, 0xe0, 0x24, 0x1a, 0xb0, 0xad, 0xc7, 0xb7, 0x1e, 0xb2, 0x34,
+	0xba, 0x35, 0x15, 0x74, 0x27, 0x6c, 0xfc, 0x78, 0xd8, 0x63, 0x8d, 0xd1, 0x38, 0x49, 0x13, 0xf5,
+	0x65, 0x81, 0x6a, 0x70, 0x54, 0x23, 0x53, 0x6a, 0x48, 0xd4, 0xc6, 0x4b, 0x92, 0x34, 0x1a, 0x0d,
+	0xb7, 0xa2, 0x38, 0x4e, 0xd2, 0x28, 0x1d, 0x26, 0xf1, 0x44, 0x80, 0xb5, 0xff, 0x28, 0xa8, 0x6c,
+	0x26, 0xbd, 0x93, 0x63, 0x16, 0xa7, 0xea, 0x87, 0xa8, 0x90, 0x9e, 0x8e, 0x58, 0x5d, 0xb9, 0xaa,
+	0x6c, 0xae, 0x6d, 0xbf, 0xd9, 0x78, 0x26, 0x71, 0x23, 0x83, 0x35, 0x82, 0xd3, 0x11, 0xa3, 0x1c,
+	0xa9, 0x6e, 0xa0, 0x95, 0x5e, 0x12, 0xa7, 0x2c, 0x4e, 0xeb, 0xb9, 0xab, 0xca, 0x66, 0x65, 0xef,
+	0x12, 0xcd, 0x04, 0xea, 0x26, 0x5a, 0x1f, 0xf4, 0x26, 0x5d, 0x39, 0xed, 0x9e, 0x8c, 0x87, 0xf5,
+	0xbc, 0xd4, 0x59, 0x1d, 0xf4, 0x26, 0x86, 0x90, 0x87, 0xe3, 0xa1, 0xba, 0x81, 0xca, 0x99, 0xb5,
+	0x7a, 0x01, 0x54, 0xe8, 0x74, 0xae, 0xdd, 0x46, 0x05, 0xb0, 0xa7, 0x5e, 0x41, 0x38, 0x78, 0xe0,
+	0x91, 0x6e, 0xe8, 0xf8, 0x1e, 0x31, 0xac, 0xa6, 0x45, 0x4c, 0x7c, 0x49, 0x5d, 0x43, 0xc8, 0xb3,
+	0x75, 0xcb, 0xe9, 0x06, 0xe4, 0x30, 0xc0, 0x8a, 0x5a, 0x46, 0x85, 0xbd, 0xa0, 0x6d, 0xe3, 0xdc,
+	0x6e, 0x19, 0x95, 0x26, 0xc9, 0xc9, 0xb8, 0xc7, 0xb4, 0x5f, 0x2b, 0xa8, 0xec, 0x33, 0x30, 0xd6,
+	0x63, 0xea, 0x3d, 0x54, 0x48, 0xd9, 0x93, 0x94, 0x2f, 0xb9, 0xba, 0x7d, 0xfd, 0x9c, 0x25, 0x07,
+	0xec, 0x49, 0xea, 0x8f, 0xa2, 0x98, 0x72, 0x90, 0xda, 0x44, 0x95, 0x09, 0x8b, 0xd3, 0xe1, 0x71,
+	0xb6, 0xde, 0xea, 0xf6, 0xe6, 0x39, 0x0c, 0x7e, 0xa6, 0x4f, 0x67, 0x50, 0xed, 0x1f, 0x79, 0x54,
+	0x22, 0x71, 0x3a, 0x4c, 0x4f, 0x55, 0x15, 0x15, 0xe2, 0xe8, 0x58, 0x6c, 0x41, 0x85, 0xf2, 0xb1,
+	0xfa, 0x81, 0xdc, 0x96, 0x1c, 0xdf, 0x96, 0x1b, 0xe7, 0x58, 0x10, 0x44, 0xf3, 0x9b, 0xe2, 0xa2,
+	0xf2, 0x31, 0x4b, 0xa3, 0x7e, 0x94, 0x46, 0xf5, 0xfc, 0xd5, 0xfc, 0x66, 0x75, 0x7b, 0xe7, 0x62,
+	0x1c, 0x6d, 0x89, 0x22, 0x71, 0x3a, 0x3e, 0xa5, 0x53, 0x12, 0xd8, 0x9f, 0x49, 0x74, 0x34, 0x84,
+	0x00, 0xf2, 0xfd, 0xc9, 0xd1, 0xe9, 0x5c, 0xdd, 0x03, 0x63, 0x31, 0x4f, 0xb1, 0x7a, 0x91, 0x1b,
+	0x7b, 0xf3, 0x42, 0xc6, 0xda, 0x02, 0x44, 0xa7, 0xe8, 0x8d, 0x7b, 0x68, 0x75, 0xc1, 0x01, 0x15,
+	0xa3, 0xfc, 0xa7, 0xec, 0x54, 0x86, 0x06, 0x86, 0xea, 0x15, 0x54, 0x7c, 0x1c, 0x1d, 0x9d, 0x88,
+	0xd0, 0x54, 0xa8, 0x98, 0xdc, 0xcd, 0xdd, 0x51, 0xb4, 0x53, 0x99, 0x26, 0x55, 0xb4, 0x12, 0x3a,
+	0xf7, 0x1d, 0xf7, 0xc0, 0xc1, 0x97, 0x54, 0x84, 0x4a, 0x1e, 0xa1, 0xbe, 0xeb, 0x60, 0x45, 0xad,
+	0xa1, 0xb2, 0xed, 0x1a, 0x7a, 0x60, 0xb9, 0x0e, 0xce, 0xa9, 0x18, 0xd5, 0x5c, 0xda, 0xd2, 0x1d,
+	0xeb, 0x63, 0x21, 0xc9, 0xab, 0x15, 0x54, 0x24, 0x1d, 0xe2, 0x04, 0xb8, 0xa0, 0xae, 0xa3, 0xea,
+	0x81, 0x4b, 0xef, 0x77, 0xdd, 0x66, 0x57, 0xa7, 0x01, 0x2e, 0xaa, 0x97, 0xd1, 0xaa, 0xe1, 0x3a,
+	0x7e, 0xd8, 0x26, 0xb4, 0xdb, 0x72, 0x5d, 0x13, 0x97, 0x40, 0xdd, 0x0d, 0xf6, 0x08, 0xc5, 0x2b,
+	0xda, 0x2f, 0x73, 0xa8, 0x18, 0x24, 0x9f, 0xb2, 0xf8, 0x9b, 0x25, 0xd7, 0x47, 0x68, 0x6d, 0x14,
+	0x8d, 0xd3, 0x6e, 0xf2, 0xa8, 0x3b, 0x19, 0x31, 0xd6, 0xfb, 0x44, 0x66, 0xd8, 0xcd, 0x73, 0x68,
+	0xbc, 0x68, 0x9c, 0xba, 0x8f, 0x7c, 0x0e, 0xa1, 0xb5, 0xd1, 0xdc, 0x4c, 0xed, 0xa0, 0xf5, 0x3e,
+	0x1b, 0xb1, 0xb8, 0xcf, 0xe2, 0xde, 0x69, 0x97, 0xf5, 0x07, 0x8c, 0x9f, 0xc0, 0xea, 0xf6, 0x5b,
+	0xe7, 0x1d, 0xf5, 0x29, 0x8a, 0xf4, 0x07, 0x8c, 0xae, 0xf5, 0x17, 0xe6, 0xb0, 0x0d, 0x47, 0xec,
+	0xf8, 0x38, 0x92, 0x87, 0x55, 0x4c, 0xb4, 0x9f, 0xa2, 0xca, 0x34, 0xdb, 0x21, 0x65, 0x46, 0xc9,
+	0x51, 0x34, 0x1e, 0xa6, 0x62, 0x03, 0x73, 0x74, 0x3a, 0x57, 0x5f, 0x42, 0x95, 0xe3, 0x68, 0x10,
+	0x0f, 0xd3, 0x93, 0xbe, 0xd8, 0xc9, 0x1c, 0x9d, 0x09, 0x80, 0x7c, 0xd2, 0x4b, 0xc6, 0xc2, 0xd5,
+	0x1c, 0x15, 0x13, 0xed, 0xaf, 0x97, 0x51, 0x6d, 0x7e, 0xa5, 0xaa, 0x8e, 0xf2, 0x69, 0x34, 0x90,
+	0xa5, 0x6b, 0x6b, 0x89, 0x18, 0x35, 0x82, 0x68, 0x40, 0x01, 0xab, 0xee, 0xa3, 0x52, 0x34, 0x19,
+	0xb1, 0x5e, 0x2a, 0x4f, 0xda, 0xf6, 0x32, 0x2c, 0x3a, 0x47, 0x52, 0xc9, 0xa0, 0x9a, 0xa8, 0xd0,
+	0x8b, 0x26, 0xc2, 0xe9, 0xb5, 0xed, 0xb7, 0x97, 0x61, 0x32, 0xa2, 0x09, 0xa3, 0x1c, 0x0d, 0x2c,
+	0x8f, 0x92, 0xf1, 0x31, 0x8f, 0xeb, 0x92, 0x2c, 0xcd, 0x64, 0x7c, 0x4c, 0x39, 0x1a, 0xd6, 0x35,
+	0x80, 0xed, 0x1a, 0xd7, 0x8b, 0xcb, 0xaf, 0xab, 0xc5, 0x91, 0x54, 0x32, 0x80, 0x47, 0xc7, 0x49,
+	0xd2, 0xaf, 0x97, 0x96, 0xf7, 0xa8, 0x9d, 0x24, 0x7d, 0xca, 0xd1, 0xe0, 0x51, 0x7c, 0x72, 0xfc,
+	0x90, 0x8d, 0xeb, 0x2b, 0xcb, 0x7b, 0xe4, 0x70, 0x24, 0x95, 0x0c, 0xc0, 0x35, 0x62, 0xe3, 0x49,
+	0x12, 0xd7, 0xcb, 0xcb, 0x73, 0x79, 0x1c, 0x49, 0x25, 0x03, 0xe7, 0x1a, 0x27, 0x23, 0x36, 0xae,
+	0x57, 0xbe, 0x06, 0x17, 0x47, 0x52, 0xc9, 0xa0, 0x3e, 0x40, 0xd5, 0x31, 0xeb, 0x0d, 0x47, 0xe3,
+	0xa4, 0x07, 0x49, 0x8f, 0x38, 0xe1, 0x7b, 0xcb, 0x10, 0xd2, 0x19, 0x9c, 0xce, 0x73, 0xa9, 0x2d,
+	0x54, 0x4c, 0x59, 0x3c, 0x61, 0xf5, 0x2a, 0x27, 0xbd, 0xb5, 0x54, 0xb6, 0x03, 0x90, 0x0a, 0x3c,
+	0x10, 0x3d, 0x4e, 0x86, 0x3d, 0x56, 0xaf, 0x2d, 0x4f, 0xd4, 0x01, 0x20, 0x15, 0x78, 0xed, 0x57,
+	0x0a, 0xca, 0x07, 0xd1, 0x60, 0xb1, 0xdc, 0xae, 0xa0, 0xbc, 0x6e, 0xee, 0x63, 0x45, 0x0c, 0x3c,
+	0x9c, 0x13, 0x83, 0x0e, 0xce, 0x43, 0x5f, 0x36, 0x5c, 0x67, 0x1f, 0x17, 0x40, 0x64, 0x12, 0x28,
+	0xaa, 0x65, 0x54, 0x70, 0xdc, 0xd0, 0xc1, 0x25, 0x10, 0x39, 0x61, 0x1b, 0xaf, 0x80, 0xc8, 0xa3,
+	0xae, 0x83, 0xcb, 0x20, 0xf2, 0x68, 0x80, 0x2b, 0x50, 0x67, 0xbd, 0xd0, 0x31, 0x02, 0x8c, 0xe0,
+	0xd7, 0x0e, 0xa1, 0xbb, 0xb8, 0xaa, 0x16, 0x91, 0x72, 0x88, 0x6b, 0xf0, 0x9b, 0xde, 0x6c, 0x5a,
+	0x87, 0x78, 0x55, 0x73, 0x51, 0x49, 0x1c, 0x48, 0x55, 0x45, 0x6b, 0x3a, 0xdc, 0x10, 0x82, 0xee,
+	0xcc, 0x31, 0xb8, 0x25, 0x10, 0xda, 0x24, 0x46, 0x60, 0x75, 0x08, 0x56, 0xa0, 0xfa, 0x5b, 0xed,
+	0x39, 0x49, 0x0e, 0x4a, 0xbe, 0x47, 0xdd, 0x16, 0x25, 0xbe, 0x0f, 0x82, 0xbc, 0xf6, 0x3f, 0x05,
+	0x15, 0xe0, 0x60, 0x82, 0xae, 0xa1, 0xfb, 0x64, 0x91, 0x4d, 0x37, 0x8c, 0xd0, 0xd7, 0x25, 0xdb,
+	0x2a, 0xaa, 0xe8, 0x26, 0x78, 0x66, 0xe9, 0x36, 0xce, 0x89, 0x66, 0xd1, 0xf6, 0x6c, 0xd2, 0x26,
+	0x0e, 0xd7, 0xc8, 0x43, 0x1f, 0x32, 0x85, 0x76, 0x01, 0xfa, 0x50, 0x8b, 0x38, 0x16, 0x9f, 0x15,
+	0xb9, 0x27, 0x8e, 0x1f, 0xd0, 0x10, 0x94, 0x75, 0x1b, 0x97, 0x66, 0x7d, 0xaa, 0x43, 0xf0, 0x0a,
+	0xd8, 0x72, 0xdc, 0xb6, 0xe5, 0x88, 0x79, 0x19, 0xe2, 0xed, 0xee, 0xda, 0xd6, 0x47, 0x21, 0xc1,
+	0x15, 0x30, 0xec, 0xe9, 0x34, 0x10, 0x5c, 0x08, 0x0c, 0x7b, 0x94, 0x78, 0xae, 0x6f, 0x41, 0x4b,
+	0xd3, 0x6d, 0x5c, 0x85, 0x60, 0x50, 0xd2, 0xb4, 0xc9, 0xa1, 0xd5, 0x21, 0x5d, 0x58, 0x06, 0xae,
+	0x81, 0x1a, 0x25, 0x36, 0x27, 0x14, 0xa2, 0x55, 0xb0, 0xd9, 0xc9, 0x6c, 0xae, 0x69, 0x9f, 0x2b,
+	0xa8, 0x00, 0xd5, 0x04, 0x9c, 0x6b, 0xba, 0xb4, 0x3d, 0xb7, 0xf4, 0x1a, 0x2a, 0xeb, 0x26, 0x38,
+	0xa4, 0xdb, 0x72, 0xe1, 0xe1, 0xa1, 0x65, 0x5b, 0x3a, 0x7d, 0x80, 0x73, 0x60, 0x6c, 0x6e, 0xe1,
+	0x1f, 0x13, 0x8a, 0xf3, 0x9c, 0xc2, 0x72, 0x74, 0xbb, 0x4b, 0x1c, 0xd3, 0x72, 0x5a, 0xb8, 0x00,
+	0xb1, 0x68, 0x11, 0x1a, 0x3a, 0x26, 0x2e, 0xc2, 0x98, 0x12, 0xdd, 0xb6, 0x7c, 0xb1, 0x6e, 0x8b,
+	0xca, 0xd9, 0x0a, 0x6c, 0xad, 0xbf, 0xe7, 0xd2, 0x00, 0x97, 0x61, 0xdb, 0x6d, 0xd7, 0x69, 0x89,
+	0x5c, 0x70, 0xa9, 0x49, 0x28, 0x46, 0xa0, 0x2d, 0xaf, 0x81, 0x06, 0xae, 0x6a, 0x04, 0x95, 0x44,
+	0xd9, 0x02, 0x1f, 0x5a, 0xc4, 0x31, 0x09, 0x5d, 0x74, 0xba, 0x49, 0xda, 0x96, 0x63, 0x39, 0x72,
+	0xb7, 0xda, 0xba, 0x6f, 0x84, 0x36, 0x4c, 0x73, 0xe0, 0x82, 0x43, 0xc2, 0x00, 0x9c, 0xd5, 0x7e,
+	0x81, 0x0a, 0x50, 0xb3, 0xc0, 0xe9, 0xb6, 0xeb, 0x9a, 0x73, 0x14, 0x57, 0x10, 0x36, 0x5c, 0xc7,
+	0x94, 0x81, 0xed, 0xc2, 0xaf, 0x58, 0x81, 0xcd, 0xe1, 0x69, 0xa4, 0xcb, 0x24, 0x82, 0xb9, 0x63,
+	0x5a, 0x32, 0x90, 0x79, 0x88, 0xb4, 0xe5, 0x04, 0x84, 0x52, 0xb7, 0x95, 0xed, 0x7e, 0x15, 0xad,
+	0xec, 0x87, 0x22, 0xc7, 0x8a, 0x90, 0x74, 0x7e, 0xb8, 0xbb, 0x0f, 0xe9, 0x0d, 0x82, 0x92, 0xf6,
+	0x21, 0x2a, 0x89, 0x62, 0x07, 0xeb, 0x70, 0xc2, 0xf6, 0xee, 0xd9, 0x75, 0xf8, 0x96, 0xd3, 0x0a,
+	0x6d, 0x9d, 0x62, 0x85, 0xdf, 0x6d, 0xec, 0x90, 0xf2, 0x94, 0x2b, 0xa3, 0x82, 0x19, 0xea, 0x36,
+	0xce, 0x6b, 0x01, 0x2a, 0x89, 0x12, 0x07, 0x0c, 0xe2, 0xee, 0x33, 0xc7, 0x50, 0x41, 0xc5, 0xa6,
+	0x45, 0xfd, 0x40, 0xc0, 0x7d, 0x02, 0x6b, 0xc2, 0x39, 0x10, 0x07, 0x7b, 0x16, 0x35, 0x71, 0x1e,
+	0x16, 0x3a, 0x4b, 0x18, 0x79, 0x77, 0x2a, 0x68, 0x77, 0x50, 0x49, 0x14, 0x3b, 0xce, 0x4a, 0x5d,
+	0x6f, 0xc1, 0x2f, 0xf0, 0x84, 0xcb, 0x44, 0x48, 0x1c, 0x37, 0xe8, 0xca, 0x79, 0x4e, 0xdb, 0x47,
+	0xd5, 0xb9, 0xaa, 0xa6, 0xbe, 0x88, 0x9e, 0xa3, 0xc4, 0xb0, 0x3c, 0xea, 0x1a, 0x56, 0xf0, 0x60,
+	0xf1, 0x4c, 0x65, 0x3f, 0xf0, 0xd4, 0x82, 0xf5, 0xbb, 0x4e, 0x77, 0x4e, 0x96, 0xd3, 0x26, 0xa8,
+	0xc8, 0x8b, 0x19, 0xc4, 0x35, 0x20, 0xce, 0xc2, 0x99, 0x7c, 0x1e, 0x5d, 0x9e, 0xdf, 0x20, 0xfe,
+	0xb3, 0x58, 0x65, 0x33, 0x0c, 0x42, 0x4a, 0x44, 0x90, 0x3c, 0xdd, 0x0f, 0x70, 0x1e, 0x36, 0xc1,
+	0xa3, 0xc4, 0x17, 0x97, 0xbd, 0x55, 0x54, 0x99, 0xd6, 0x02, 0x5c, 0x14, 0x1f, 0x14, 0x61, 0x36,
+	0x2f, 0x69, 0xbb, 0xa8, 0xc8, 0x0b, 0x1f, 0x18, 0xed, 0xb8, 0x96, 0x41, 0x16, 0x17, 0xae, 0x1b,
+	0xb3, 0x22, 0x60, 0xe8, 0x59, 0x4d, 0xc8, 0x71, 0x13, 0x7a, 0x56, 0x4b, 0xfe, 0xbb, 0x82, 0xd6,
+	0x16, 0x6f, 0x54, 0xea, 0x26, 0xc2, 0x9f, 0xb0, 0xa8, 0xdf, 0x4d, 0xe1, 0xde, 0xd8, 0x1d, 0xc6,
+	0x7d, 0xf6, 0x84, 0x5f, 0x65, 0x8a, 0x74, 0x0d, 0xe4, 0xfc, 0x3a, 0x69, 0x81, 0x54, 0xb5, 0x50,
+	0xf1, 0x28, 0x7a, 0xc8, 0x8e, 0xe4, 0x1d, 0x65, 0x67, 0xa9, 0x9b, 0x5b, 0xc3, 0x06, 0x28, 0x15,
+	0x0c, 0xda, 0xbf, 0x4b, 0xa8, 0xc8, 0x05, 0x5f, 0xba, 0x25, 0xeb, 0xbb, 0xbb, 0x94, 0x74, 0xb0,
+	0xc2, 0x4b, 0x2a, 0x1c, 0x62, 0x91, 0x15, 0xba, 0xd9, 0x31, 0x6c, 0x51, 0xbf, 0x74, 0xb3, 0xd3,
+	0x76, 0x4d, 0x5c, 0x80, 0x30, 0xea, 0x30, 0x2a, 0x72, 0x05, 0xcf, 0x73, 0xe1, 0xf0, 0x82, 0x30,
+	0x08, 0x28, 0x5e, 0xe1, 0x15, 0x3f, 0x3c, 0x14, 0x95, 0x4a, 0x0f, 0x0f, 0x21, 0x08, 0xb8, 0xa2,
+	0x96, 0x50, 0xce, 0x30, 0x30, 0x02, 0x88, 0xc1, 0xe9, 0xab, 0xd3, 0x8e, 0xc0, 0xcb, 0xb8, 0x01,
+	0xe7, 0x00, 0xaf, 0xf2, 0x28, 0xc2, 0x90, 0xc3, 0xd6, 0x44, 0xaf, 0xf0, 0xf0, 0x7a, 0xd6, 0x34,
+	0x30, 0x28, 0x98, 0x96, 0x6f, 0xb8, 0x21, 0xf5, 0x09, 0xbe, 0xcc, 0x13, 0xdf, 0xdd, 0xdd, 0xc7,
+	0x2a, 0x8c, 0xc8, 0xa1, 0x67, 0xe3, 0xe7, 0x78, 0x81, 0x75, 0x89, 0x7f, 0x60, 0x05, 0x7b, 0xf8,
+	0x0a, 0xc8, 0x2d, 0xd0, 0x78, 0x1e, 0x46, 0x6d, 0x9d, 0xde, 0xc7, 0x2f, 0x00, 0x5b, 0xfb, 0x80,
+	0xe0, 0x17, 0xc5, 0xa0, 0x83, 0xeb, 0xbc, 0x03, 0x91, 0x16, 0xfe, 0x1e, 0x38, 0xea, 0x38, 0x78,
+	0x03, 0x48, 0x1c, 0x4f, 0xae, 0xf9, 0xfb, 0xe0, 0xa1, 0xc3, 0x3d, 0x7c, 0x09, 0x1c, 0x70, 0xa6,
+	0x1e, 0xbe, 0x9c, 0xb5, 0xae, 0x1f, 0xf0, 0x3a, 0xc2, 0x0f, 0x2c, 0x7e, 0x05, 0xda, 0x93, 0x87,
+	0xaf, 0xca, 0xf2, 0xac, 0x07, 0xfa, 0xa1, 0xe5, 0xe3, 0x57, 0x45, 0x4a, 0xd0, 0x00, 0x18, 0x35,
+	0xde, 0xd6, 0x78, 0x20, 0x5e, 0xe3, 0x79, 0x09, 0x1e, 0xbe, 0x2e, 0x46, 0xbe, 0x8f, 0xaf, 0x71,
+	0x5d, 0xd7, 0x0f, 0xc0, 0xa7, 0x1f, 0xca, 0x74, 0xe5, 0xda, 0xd7, 0xa7, 0x13, 0x67, 0x1f, 0x6f,
+	0x8a, 0x93, 0x47, 0x20, 0x32, 0x6f, 0x88, 0xde, 0x49, 0x9a, 0xf8, 0x86, 0x1c, 0x79, 0xf8, 0x26,
+	0xb7, 0x42, 0x5d, 0xc7, 0xc6, 0x6f, 0x66, 0x0d, 0xf5, 0x2d, 0x58, 0xa1, 0xe7, 0xe3, 0x06, 0xac,
+	0xf0, 0xa3, 0x50, 0x77, 0xb8, 0x3f, 0x5b, 0xa0, 0x49, 0x0d, 0x18, 0xbe, 0x0d, 0x3f, 0xf0, 0x21,
+	0x25, 0x36, 0xbe, 0xc5, 0x7f, 0x30, 0xa9, 0xeb, 0xe1, 0x6d, 0xa0, 0x00, 0x03, 0x3b, 0xe0, 0x03,
+	0x25, 0x6d, 0x47, 0x77, 0x02, 0xfc, 0x8e, 0x38, 0xb9, 0xb0, 0x4e, 0xc7, 0x0c, 0xdb, 0xf8, 0x5d,
+	0xb0, 0x4e, 0x5d, 0x37, 0xc0, 0xb7, 0x61, 0xe4, 0x43, 0x70, 0xde, 0xe3, 0xa3, 0xb0, 0xd9, 0xc4,
+	0x77, 0x60, 0xc4, 0x2d, 0xfe, 0x88, 0x17, 0x1d, 0xd7, 0xb3, 0x0c, 0x7c, 0x97, 0x37, 0x76, 0x10,
+	0xde, 0x5b, 0x68, 0x44, 0xef, 0x83, 0xca, 0x21, 0x5f, 0xf6, 0x8f, 0x79, 0xb9, 0x0a, 0x79, 0xaf,
+	0xff, 0x80, 0x23, 0xad, 0xc0, 0x26, 0xf8, 0x27, 0xa2, 0x1f, 0x75, 0xbc, 0x3d, 0x40, 0x7f, 0x28,
+	0x53, 0x0e, 0x8e, 0x21, 0xd6, 0x79, 0x76, 0x86, 0x87, 0x9d, 0x0e, 0xde, 0x85, 0xa1, 0xc9, 0xad,
+	0x1a, 0xa0, 0xd2, 0x74, 0x29, 0xb1, 0x5a, 0x0e, 0x36, 0x21, 0x14, 0xf7, 0x0f, 0x30, 0xe1, 0x1d,
+	0xc6, 0xf2, 0x03, 0xdc, 0x14, 0x77, 0x92, 0xb6, 0x81, 0x5b, 0x3c, 0x01, 0xdc, 0xb6, 0xc8, 0xcb,
+	0x3d, 0xe8, 0x08, 0xd9, 0x8c, 0x6f, 0xbc, 0xc5, 0x35, 0xc3, 0xb6, 0x81, 0xf7, 0x21, 0x2c, 0x86,
+	0xeb, 0xe1, 0xfb, 0x10, 0x09, 0xd3, 0xf2, 0x79, 0xf3, 0x26, 0x26, 0xb6, 0xb5, 0xbf, 0x29, 0x68,
+	0x75, 0xe1, 0x5b, 0xf7, 0x9b, 0x7d, 0x1f, 0x92, 0x85, 0x57, 0x81, 0x5b, 0xcb, 0x7c, 0x64, 0xcf,
+	0x3d, 0x0e, 0x68, 0x6f, 0xcb, 0x0f, 0x65, 0x8c, 0x6a, 0xf2, 0x3d, 0xe5, 0x69, 0x75, 0x1c, 0xa1,
+	0x92, 0xe1, 0xb6, 0xdb, 0xf0, 0xad, 0xac, 0xb5, 0x50, 0x39, 0x73, 0x45, 0xad, 0xcf, 0xde, 0x7b,
+	0xc4, 0x67, 0xf9, 0xf4, 0xb5, 0xe7, 0x55, 0x54, 0x7b, 0xc8, 0x06, 0xc3, 0xb8, 0x9b, 0x3c, 0x7a,
+	0x34, 0x61, 0xe2, 0x93, 0xaa, 0x48, 0xab, 0x5c, 0xe6, 0x72, 0x91, 0xf6, 0x27, 0x05, 0xbd, 0xa8,
+	0xc7, 0xd1, 0xd1, 0xe9, 0xcf, 0xd9, 0xec, 0x59, 0x84, 0xfd, 0xec, 0x84, 0x4d, 0x52, 0xd5, 0x40,
+	0xe5, 0xbe, 0x7c, 0x5f, 0xba, 0x60, 0x78, 0xb2, 0xe7, 0x28, 0x3a, 0x05, 0xaa, 0x1e, 0x5a, 0x65,
+	0x71, 0x2f, 0xe9, 0x0f, 0xe3, 0x41, 0x77, 0x2e, 0x56, 0x37, 0xcf, 0x8d, 0x95, 0xc0, 0xf0, 0x28,
+	0xd5, 0xd8, 0xdc, 0x4c, 0xfb, 0xa7, 0x82, 0xea, 0x5f, 0x76, 0x79, 0x32, 0x4a, 0xa0, 0x0f, 0x1d,
+	0x20, 0x35, 0x33, 0xdd, 0x9d, 0xbd, 0x0b, 0x29, 0x4b, 0xbe, 0x0b, 0x5d, 0xce, 0x38, 0x16, 0x3e,
+	0x9e, 0xa7, 0xef, 0x61, 0xb9, 0xc5, 0xf7, 0x30, 0x95, 0x88, 0x37, 0x28, 0x16, 0xf7, 0xd8, 0x44,
+	0xbe, 0xee, 0x5c, 0xbf, 0x80, 0x2d, 0xd0, 0xa7, 0x33, 0x24, 0x5c, 0xf2, 0x5e, 0x90, 0x0b, 0xe3,
+	0xa9, 0x32, 0x64, 0x93, 0xef, 0xf8, 0x56, 0x3c, 0x99, 0x26, 0xcf, 0xcc, 0x61, 0xb9, 0x11, 0x3a,
+	0x2a, 0x33, 0x29, 0xab, 0x2b, 0x3c, 0x24, 0xd7, 0x2e, 0x74, 0x3c, 0xe8, 0x14, 0xf6, 0xac, 0x90,
+	0x6b, 0x7f, 0x54, 0xd0, 0x95, 0x2c, 0x09, 0x4e, 0xe3, 0x34, 0x7a, 0xf2, 0x1d, 0x8f, 0xd4, 0x5f,
+	0x14, 0xf4, 0xfc, 0x19, 0x7f, 0x65, 0xa0, 0x16, 0x92, 0x47, 0xf9, 0xba, 0xc9, 0xa3, 0xbe, 0x8f,
+	0x4a, 0xfc, 0xe2, 0x32, 0xa9, 0xe7, 0x38, 0xc7, 0xeb, 0xe7, 0x55, 0x32, 0x50, 0xa6, 0x12, 0xb3,
+	0x10, 0xea, 0xfc, 0x99, 0x50, 0xff, 0x2e, 0x8f, 0x9e, 0xd3, 0xc5, 0xa3, 0x35, 0x83, 0xa2, 0xf3,
+	0xad, 0x46, 0xfa, 0x00, 0x95, 0x1f, 0xb1, 0x28, 0x3d, 0x19, 0xb3, 0x89, 0x7c, 0x5b, 0xbb, 0x77,
+	0x0e, 0xc9, 0x53, 0x5c, 0x69, 0x34, 0x25, 0x05, 0x9d, 0x92, 0x7d, 0x79, 0x0b, 0xf3, 0xdf, 0x70,
+	0x0b, 0x37, 0x7e, 0xab, 0xa0, 0x72, 0x66, 0x48, 0xbd, 0x86, 0xd6, 0xd8, 0x93, 0x74, 0x1c, 0xf5,
+	0xd2, 0xee, 0x84, 0xef, 0x27, 0x0f, 0x41, 0x99, 0xae, 0x4a, 0xa9, 0xd8, 0x64, 0xf5, 0x0d, 0x84,
+	0x33, 0xb5, 0xe9, 0x69, 0xc8, 0x71, 0xc5, 0x75, 0x29, 0xcf, 0x0e, 0x8e, 0xfa, 0x3e, 0xda, 0xc8,
+	0x54, 0x9f, 0x52, 0xc1, 0xf2, 0x1c, 0x54, 0x97, 0x1a, 0xe6, 0xd9, 0xf2, 0xa4, 0x7d, 0x91, 0x83,
+	0xf3, 0x30, 0x1f, 0x99, 0xef, 0x52, 0x7a, 0xcd, 0x17, 0x83, 0xfc, 0xd7, 0x2b, 0x06, 0x4f, 0x2f,
+	0xec, 0x85, 0x6f, 0xb7, 0xb0, 0x17, 0x17, 0x53, 0xff, 0xc6, 0x1d, 0x54, 0x9b, 0x4f, 0x08, 0x71,
+	0x17, 0x71, 0x08, 0xbe, 0x04, 0xa3, 0x30, 0x68, 0xde, 0x11, 0xd7, 0xf3, 0x30, 0x68, 0xde, 0xba,
+	0x2d, 0xae, 0xe7, 0x61, 0xd0, 0xdc, 0xd9, 0xc6, 0xf9, 0xed, 0xbf, 0x17, 0xd1, 0xba, 0x2d, 0x69,
+	0x7c, 0xf1, 0x57, 0x91, 0xfa, 0x67, 0x05, 0xe1, 0xb3, 0x8d, 0x4b, 0xbd, 0x7d, 0x6e, 0xba, 0x3f,
+	0xb5, 0x39, 0x6f, 0xbc, 0xb7, 0x34, 0x4e, 0x24, 0x84, 0xd6, 0xf8, 0xec, 0x8b, 0x7f, 0xfd, 0x26,
+	0xb7, 0xa9, 0xbd, 0x36, 0xfd, 0x4f, 0x2b, 0x8b, 0xc9, 0xe4, 0x6e, 0x74, 0x06, 0x74, 0x57, 0xb9,
+	0xa1, 0x7e, 0xae, 0xa0, 0xf5, 0x33, 0x45, 0x5e, 0x7d, 0xf7, 0x62, 0xc6, 0xcf, 0x74, 0xb1, 0x8d,
+	0xdb, 0xcb, 0xc2, 0xa4, 0xcb, 0x6f, 0x71, 0x97, 0xaf, 0x6b, 0xda, 0x57, 0xbb, 0x9c, 0x61, 0xc0,
+	0xe3, 0x3f, 0x28, 0x68, 0x75, 0xa1, 0xd6, 0xaa, 0x3b, 0x17, 0x0c, 0xd6, 0x7c, 0x27, 0xd9, 0x78,
+	0x67, 0x39, 0x90, 0xf4, 0xf5, 0x26, 0xf7, 0xf5, 0x9a, 0x76, 0xf5, 0x19, 0xe1, 0xe5, 0x08, 0xf0,
+	0xf4, 0xf7, 0x0a, 0xaa, 0xcd, 0x9f, 0x5a, 0x75, 0x7b, 0xf9, 0xe2, 0xb7, 0xb1, 0xb3, 0x14, 0x46,
+	0xba, 0x79, 0x83, 0xbb, 0xf9, 0xba, 0xf6, 0xca, 0x53, 0xdd, 0x9c, 0x01, 0xee, 0x2a, 0x37, 0x76,
+	0x3f, 0x53, 0xd0, 0xab, 0xbd, 0xe4, 0xf8, 0xd9, 0x66, 0x76, 0xaf, 0x9c, 0x49, 0x77, 0x6f, 0x9c,
+	0xa4, 0x89, 0xa7, 0x7c, 0x4c, 0x24, 0x6c, 0x90, 0x00, 0xa4, 0x91, 0x8c, 0x07, 0x5b, 0x03, 0x16,
+	0xf3, 0x7f, 0x3e, 0xb7, 0xc4, 0x4f, 0xd1, 0x68, 0x38, 0xf9, 0x8a, 0xff, 0x5b, 0xef, 0x65, 0x82,
+	0x87, 0x25, 0x8e, 0xd8, 0xf9, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe6, 0xf6, 0xe5, 0xb1, 0xa0,
+	0x1d, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/language/v1beta1/language_service.proto b/googleapis/cloud/language/v1beta1/language_service.proto
deleted file mode 100644
index 40b65c7f..00000000
--- a/googleapis/cloud/language/v1beta1/language_service.proto
+++ /dev/null
@@ -1,951 +0,0 @@
-// 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.language.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 = "LanguageServiceProto";
-option java_package = "com.google.cloud.language.v1beta1";
-
-
-// Provides text analysis operations such as sentiment analysis and entity
-// recognition.
-service LanguageService {
-  // Analyzes the sentiment of the provided text.
-  rpc AnalyzeSentiment(AnalyzeSentimentRequest) returns (AnalyzeSentimentResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeSentiment" body: "*" };
-  }
-
-  // Finds named entities (currently finds proper names) in the text,
-  // entity types, salience, mentions for each entity, and other properties.
-  rpc AnalyzeEntities(AnalyzeEntitiesRequest) returns (AnalyzeEntitiesResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeEntities" body: "*" };
-  }
-
-  // Analyzes the syntax of the text and provides sentence boundaries and
-  // tokenization along with part of speech tags, dependency trees, and other
-  // properties.
-  rpc AnalyzeSyntax(AnalyzeSyntaxRequest) returns (AnalyzeSyntaxResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:analyzeSyntax" body: "*" };
-  }
-
-  // A convenience method that provides all the features that analyzeSentiment,
-  // analyzeEntities, and analyzeSyntax provide in one call.
-  rpc AnnotateText(AnnotateTextRequest) returns (AnnotateTextResponse) {
-    option (google.api.http) = { post: "/v1beta1/documents:annotateText" body: "*" };
-  }
-}
-
-// ################################################################ #
-//
-// Represents the input to API methods.
-message Document {
-  // The document types enum.
-  enum Type {
-    // The content type is not specified.
-    TYPE_UNSPECIFIED = 0;
-
-    // Plain text
-    PLAIN_TEXT = 1;
-
-    // HTML
-    HTML = 2;
-  }
-
-  // Required. If the type is not set or is `TYPE_UNSPECIFIED`,
-  // returns an `INVALID_ARGUMENT` error.
-  Type type = 1;
-
-  // The source of the document: a string containing the content or a
-  // Google Cloud Storage URI.
-  oneof source {
-    // The content of the input in string format.
-    string content = 2;
-
-    // The Google Cloud Storage URI where the file content is located.
-    // This URI must be of the form: gs://bucket_name/object_name. For more
-    // details, see https://cloud.google.com/storage/docs/reference-uris.
-    // NOTE: Cloud Storage object versioning is not supported.
-    string gcs_content_uri = 3;
-  }
-
-  // The language of the document (if not specified, the language is
-  // automatically detected). Both ISO and BCP-47 language codes are
-  // accepted.<br>
-  // **Current Language Restrictions:**
-  //
-  //  * Only English, Spanish, and Japanese textual content
-  //    are supported, with the following additional restriction:
-  //    * `analyzeSentiment` only supports English text.
-  // If the language (either specified by the caller or automatically detected)
-  // is not supported by the called API method, an `INVALID_ARGUMENT` error
-  // is returned.
-  string language = 4;
-}
-
-// Represents a sentence in the input document.
-message Sentence {
-  // The sentence text.
-  TextSpan text = 1;
-
-  // For calls to [AnalyzeSentiment][] or if
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_document_sentiment] is set to
-  // true, this field will contain the sentiment for the sentence.
-  Sentiment sentiment = 2;
-}
-
-// Represents a phrase in the text that is a known entity, such as
-// a person, an organization, or location. The API associates information, such
-// as salience and mentions, with entities.
-message Entity {
-  // The type of the entity.
-  enum Type {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Person
-    PERSON = 1;
-
-    // Location
-    LOCATION = 2;
-
-    // Organization
-    ORGANIZATION = 3;
-
-    // Event
-    EVENT = 4;
-
-    // Work of art
-    WORK_OF_ART = 5;
-
-    // Consumer goods
-    CONSUMER_GOOD = 6;
-
-    // Other types
-    OTHER = 7;
-  }
-
-  // The representative name for the entity.
-  string name = 1;
-
-  // The entity type.
-  Type type = 2;
-
-  // Metadata associated with the entity.
-  //
-  // Currently, Wikipedia URLs and Knowledge Graph MIDs are provided, if
-  // available. The associated keys are "wikipedia_url" and "mid", respectively.
-  map<string, string> metadata = 3;
-
-  // The salience score associated with the entity in the [0, 1.0] range.
-  //
-  // The salience score for an entity provides information about the
-  // importance or centrality of that entity to the entire document text.
-  // Scores closer to 0 are less salient, while scores closer to 1.0 are highly
-  // salient.
-  float salience = 4;
-
-  // The mentions of this entity in the input document. The API currently
-  // supports proper noun mentions.
-  repeated EntityMention mentions = 5;
-}
-
-// Represents the smallest syntactic building block of the text.
-message Token {
-  // The token text.
-  TextSpan text = 1;
-
-  // Parts of speech tag for this token.
-  PartOfSpeech part_of_speech = 2;
-
-  // Dependency tree parse for this token.
-  DependencyEdge dependency_edge = 3;
-
-  // [Lemma](https://en.wikipedia.org/wiki/Lemma_%28morphology%29) of the token.
-  string lemma = 4;
-}
-
-// Represents the feeling associated with the entire text or entities in
-// the text.
-message Sentiment {
-  // DEPRECATED FIELD - This field is being deprecated in
-  // favor of score. Please refer to our documentation at
-  // https://cloud.google.com/natural-language/docs for more information.
-  float polarity = 1;
-
-  // A non-negative number in the [0, +inf) range, which represents
-  // the absolute magnitude of sentiment regardless of score (positive or
-  // negative).
-  float magnitude = 2;
-
-  // Sentiment score between -1.0 (negative sentiment) and 1.0
-  // (positive sentiment.)
-  float score = 3;
-}
-
-// Represents part of speech information for a token.
-message PartOfSpeech {
-  // The part of speech tags enum.
-  enum Tag {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Adjective
-    ADJ = 1;
-
-    // Adposition (preposition and postposition)
-    ADP = 2;
-
-    // Adverb
-    ADV = 3;
-
-    // Conjunction
-    CONJ = 4;
-
-    // Determiner
-    DET = 5;
-
-    // Noun (common and proper)
-    NOUN = 6;
-
-    // Cardinal number
-    NUM = 7;
-
-    // Pronoun
-    PRON = 8;
-
-    // Particle or other function word
-    PRT = 9;
-
-    // Punctuation
-    PUNCT = 10;
-
-    // Verb (all tenses and modes)
-    VERB = 11;
-
-    // Other: foreign words, typos, abbreviations
-    X = 12;
-
-    // Affix
-    AFFIX = 13;
-  }
-
-  // The characteristic of a verb that expresses time flow during an event.
-  enum Aspect {
-    // Aspect is not applicable in the analyzed language or is not predicted.
-    ASPECT_UNKNOWN = 0;
-
-    // Perfective
-    PERFECTIVE = 1;
-
-    // Imperfective
-    IMPERFECTIVE = 2;
-
-    // Progressive
-    PROGRESSIVE = 3;
-  }
-
-  // The grammatical function performed by a noun or pronoun in a phrase,
-  // clause, or sentence. In some languages, other parts of speech, such as
-  // adjective and determiner, take case inflection in agreement with the noun.
-  enum Case {
-    // Case is not applicable in the analyzed language or is not predicted.
-    CASE_UNKNOWN = 0;
-
-    // Accusative
-    ACCUSATIVE = 1;
-
-    // Adverbial
-    ADVERBIAL = 2;
-
-    // Complementive
-    COMPLEMENTIVE = 3;
-
-    // Dative
-    DATIVE = 4;
-
-    // Genitive
-    GENITIVE = 5;
-
-    // Instrumental
-    INSTRUMENTAL = 6;
-
-    // Locative
-    LOCATIVE = 7;
-
-    // Nominative
-    NOMINATIVE = 8;
-
-    // Oblique
-    OBLIQUE = 9;
-
-    // Partitive
-    PARTITIVE = 10;
-
-    // Prepositional
-    PREPOSITIONAL = 11;
-
-    // Reflexive
-    REFLEXIVE_CASE = 12;
-
-    // Relative
-    RELATIVE_CASE = 13;
-
-    // Vocative
-    VOCATIVE = 14;
-  }
-
-  // Depending on the language, Form can be categorizing different forms of
-  // verbs, adjectives, adverbs, etc. For example, categorizing inflected
-  // endings of verbs and adjectives or distinguishing between short and long
-  // forms of adjectives and participles
-  enum Form {
-    // Form is not applicable in the analyzed language or is not predicted.
-    FORM_UNKNOWN = 0;
-
-    // Adnomial
-    ADNOMIAL = 1;
-
-    // Auxiliary
-    AUXILIARY = 2;
-
-    // Complementizer
-    COMPLEMENTIZER = 3;
-
-    // Final ending
-    FINAL_ENDING = 4;
-
-    // Gerund
-    GERUND = 5;
-
-    // Realis
-    REALIS = 6;
-
-    // Irrealis
-    IRREALIS = 7;
-
-    // Short form
-    SHORT = 8;
-
-    // Long form
-    LONG = 9;
-
-    // Order form
-    ORDER = 10;
-
-    // Specific form
-    SPECIFIC = 11;
-  }
-
-  // Gender classes of nouns reflected in the behaviour of associated words.
-  enum Gender {
-    // Gender is not applicable in the analyzed language or is not predicted.
-    GENDER_UNKNOWN = 0;
-
-    // Feminine
-    FEMININE = 1;
-
-    // Masculine
-    MASCULINE = 2;
-
-    // Neuter
-    NEUTER = 3;
-  }
-
-  // The grammatical feature of verbs, used for showing modality and attitude.
-  enum Mood {
-    // Mood is not applicable in the analyzed language or is not predicted.
-    MOOD_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_MOOD = 1;
-
-    // Imperative
-    IMPERATIVE = 2;
-
-    // Indicative
-    INDICATIVE = 3;
-
-    // Interrogative
-    INTERROGATIVE = 4;
-
-    // Jussive
-    JUSSIVE = 5;
-
-    // Subjunctive
-    SUBJUNCTIVE = 6;
-  }
-
-  // Count distinctions.
-  enum Number {
-    // Number is not applicable in the analyzed language or is not predicted.
-    NUMBER_UNKNOWN = 0;
-
-    // Singular
-    SINGULAR = 1;
-
-    // Plural
-    PLURAL = 2;
-
-    // Dual
-    DUAL = 3;
-  }
-
-  // The distinction between the speaker, second person, third person, etc.
-  enum Person {
-    // Person is not applicable in the analyzed language or is not predicted.
-    PERSON_UNKNOWN = 0;
-
-    // First
-    FIRST = 1;
-
-    // Second
-    SECOND = 2;
-
-    // Third
-    THIRD = 3;
-
-    // Reflexive
-    REFLEXIVE_PERSON = 4;
-  }
-
-  // This category shows if the token is part of a proper name.
-  enum Proper {
-    // Proper is not applicable in the analyzed language or is not predicted.
-    PROPER_UNKNOWN = 0;
-
-    // Proper
-    PROPER = 1;
-
-    // Not proper
-    NOT_PROPER = 2;
-  }
-
-  // Reciprocal features of a pronoun.
-  enum Reciprocity {
-    // Reciprocity is not applicable in the analyzed language or is not
-    // predicted.
-    RECIPROCITY_UNKNOWN = 0;
-
-    // Reciprocal
-    RECIPROCAL = 1;
-
-    // Non-reciprocal
-    NON_RECIPROCAL = 2;
-  }
-
-  // Time reference.
-  enum Tense {
-    // Tense is not applicable in the analyzed language or is not predicted.
-    TENSE_UNKNOWN = 0;
-
-    // Conditional
-    CONDITIONAL_TENSE = 1;
-
-    // Future
-    FUTURE = 2;
-
-    // Past
-    PAST = 3;
-
-    // Present
-    PRESENT = 4;
-
-    // Imperfect
-    IMPERFECT = 5;
-
-    // Pluperfect
-    PLUPERFECT = 6;
-  }
-
-  // The relationship between the action that a verb expresses and the
-  // participants identified by its arguments.
-  enum Voice {
-    // Voice is not applicable in the analyzed language or is not predicted.
-    VOICE_UNKNOWN = 0;
-
-    // Active
-    ACTIVE = 1;
-
-    // Causative
-    CAUSATIVE = 2;
-
-    // Passive
-    PASSIVE = 3;
-  }
-
-  // The part of speech tag.
-  Tag tag = 1;
-
-  // The grammatical aspect.
-  Aspect aspect = 2;
-
-  // The grammatical case.
-  Case case = 3;
-
-  // The grammatical form.
-  Form form = 4;
-
-  // The grammatical gender.
-  Gender gender = 5;
-
-  // The grammatical mood.
-  Mood mood = 6;
-
-  // The grammatical number.
-  Number number = 7;
-
-  // The grammatical person.
-  Person person = 8;
-
-  // The grammatical properness.
-  Proper proper = 9;
-
-  // The grammatical reciprocity.
-  Reciprocity reciprocity = 10;
-
-  // The grammatical tense.
-  Tense tense = 11;
-
-  // The grammatical voice.
-  Voice voice = 12;
-}
-
-// Represents dependency parse tree information for a token.
-message DependencyEdge {
-  // The parse label enum for the token.
-  enum Label {
-    // Unknown
-    UNKNOWN = 0;
-
-    // Abbreviation modifier
-    ABBREV = 1;
-
-    // Adjectival complement
-    ACOMP = 2;
-
-    // Adverbial clause modifier
-    ADVCL = 3;
-
-    // Adverbial modifier
-    ADVMOD = 4;
-
-    // Adjectival modifier of an NP
-    AMOD = 5;
-
-    // Appositional modifier of an NP
-    APPOS = 6;
-
-    // Attribute dependent of a copular verb
-    ATTR = 7;
-
-    // Auxiliary (non-main) verb
-    AUX = 8;
-
-    // Passive auxiliary
-    AUXPASS = 9;
-
-    // Coordinating conjunction
-    CC = 10;
-
-    // Clausal complement of a verb or adjective
-    CCOMP = 11;
-
-    // Conjunct
-    CONJ = 12;
-
-    // Clausal subject
-    CSUBJ = 13;
-
-    // Clausal passive subject
-    CSUBJPASS = 14;
-
-    // Dependency (unable to determine)
-    DEP = 15;
-
-    // Determiner
-    DET = 16;
-
-    // Discourse
-    DISCOURSE = 17;
-
-    // Direct object
-    DOBJ = 18;
-
-    // Expletive
-    EXPL = 19;
-
-    // Goes with (part of a word in a text not well edited)
-    GOESWITH = 20;
-
-    // Indirect object
-    IOBJ = 21;
-
-    // Marker (word introducing a subordinate clause)
-    MARK = 22;
-
-    // Multi-word expression
-    MWE = 23;
-
-    // Multi-word verbal expression
-    MWV = 24;
-
-    // Negation modifier
-    NEG = 25;
-
-    // Noun compound modifier
-    NN = 26;
-
-    // Noun phrase used as an adverbial modifier
-    NPADVMOD = 27;
-
-    // Nominal subject
-    NSUBJ = 28;
-
-    // Passive nominal subject
-    NSUBJPASS = 29;
-
-    // Numeric modifier of a noun
-    NUM = 30;
-
-    // Element of compound number
-    NUMBER = 31;
-
-    // Punctuation mark
-    P = 32;
-
-    // Parataxis relation
-    PARATAXIS = 33;
-
-    // Participial modifier
-    PARTMOD = 34;
-
-    // The complement of a preposition is a clause
-    PCOMP = 35;
-
-    // Object of a preposition
-    POBJ = 36;
-
-    // Possession modifier
-    POSS = 37;
-
-    // Postverbal negative particle
-    POSTNEG = 38;
-
-    // Predicate complement
-    PRECOMP = 39;
-
-    // Preconjunt
-    PRECONJ = 40;
-
-    // Predeterminer
-    PREDET = 41;
-
-    // Prefix
-    PREF = 42;
-
-    // Prepositional modifier
-    PREP = 43;
-
-    // The relationship between a verb and verbal morpheme
-    PRONL = 44;
-
-    // Particle
-    PRT = 45;
-
-    // Associative or possessive marker
-    PS = 46;
-
-    // Quantifier phrase modifier
-    QUANTMOD = 47;
-
-    // Relative clause modifier
-    RCMOD = 48;
-
-    // Complementizer in relative clause
-    RCMODREL = 49;
-
-    // Ellipsis without a preceding predicate
-    RDROP = 50;
-
-    // Referent
-    REF = 51;
-
-    // Remnant
-    REMNANT = 52;
-
-    // Reparandum
-    REPARANDUM = 53;
-
-    // Root
-    ROOT = 54;
-
-    // Suffix specifying a unit of number
-    SNUM = 55;
-
-    // Suffix
-    SUFF = 56;
-
-    // Temporal modifier
-    TMOD = 57;
-
-    // Topic marker
-    TOPIC = 58;
-
-    // Clause headed by an infinite form of the verb that modifies a noun
-    VMOD = 59;
-
-    // Vocative
-    VOCATIVE = 60;
-
-    // Open clausal complement
-    XCOMP = 61;
-
-    // Name suffix
-    SUFFIX = 62;
-
-    // Name title
-    TITLE = 63;
-
-    // Adverbial phrase modifier
-    ADVPHMOD = 64;
-
-    // Causative auxiliary
-    AUXCAUS = 65;
-
-    // Helper auxiliary
-    AUXVV = 66;
-
-    // Rentaishi (Prenominal modifier)
-    DTMOD = 67;
-
-    // Foreign words
-    FOREIGN = 68;
-
-    // Keyword
-    KW = 69;
-
-    // List for chains of comparable items
-    LIST = 70;
-
-    // Nominalized clause
-    NOMC = 71;
-
-    // Nominalized clausal subject
-    NOMCSUBJ = 72;
-
-    // Nominalized clausal passive
-    NOMCSUBJPASS = 73;
-
-    // Compound of numeric modifier
-    NUMC = 74;
-
-    // Copula
-    COP = 75;
-
-    // Dislocated relation (for fronted/topicalized elements)
-    DISLOCATED = 76;
-  }
-
-  // Represents the head of this token in the dependency tree.
-  // This is the index of the token which has an arc going to this token.
-  // The index is the position of the token in the array of tokens returned
-  // by the API method. If this token is a root token, then the
-  // `head_token_index` is its own index.
-  int32 head_token_index = 1;
-
-  // The parse label for the token.
-  Label label = 2;
-}
-
-// Represents a mention for an entity in the text. Currently, proper noun
-// mentions are supported.
-message EntityMention {
-  // The supported types of mentions.
-  enum Type {
-    // Unknown
-    TYPE_UNKNOWN = 0;
-
-    // Proper name
-    PROPER = 1;
-
-    // Common noun (or noun compound)
-    COMMON = 2;
-  }
-
-  // The mention text.
-  TextSpan text = 1;
-
-  // The type of the entity mention.
-  Type type = 2;
-}
-
-// Represents an output piece of text.
-message TextSpan {
-  // The content of the output text.
-  string content = 1;
-
-  // The API calculates the beginning offset of the content in the original
-  // document according to the [EncodingType][google.cloud.language.v1beta1.EncodingType] specified in the API request.
-  int32 begin_offset = 2;
-}
-
-// The sentiment analysis request message.
-message AnalyzeSentimentRequest {
-  // Input document. Currently, `analyzeSentiment` only supports English text
-  // ([Document.language][google.cloud.language.v1beta1.Document.language]="EN").
-  Document document = 1;
-
-  // The encoding type used by the API to calculate sentence offsets for the
-  // sentence sentiment.
-  EncodingType encoding_type = 2;
-}
-
-// The sentiment analysis response message.
-message AnalyzeSentimentResponse {
-  // The overall sentiment of the input document.
-  Sentiment document_sentiment = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  string language = 2;
-
-  // The sentiment for all the sentences in the document.
-  repeated Sentence sentences = 3;
-}
-
-// The entity analysis request message.
-message AnalyzeEntitiesRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The entity analysis response message.
-message AnalyzeEntitiesResponse {
-  // The recognized entities in the input document.
-  repeated Entity entities = 1;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 2;
-}
-
-// The syntax analysis request message.
-message AnalyzeSyntaxRequest {
-  // Input document.
-  Document document = 1;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 2;
-}
-
-// The syntax analysis response message.
-message AnalyzeSyntaxResponse {
-  // Sentences in the input document.
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  repeated Token tokens = 2;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 3;
-}
-
-// The request message for the text annotation API, which can perform multiple
-// analysis types (sentiment, entities, and syntax) in one call.
-message AnnotateTextRequest {
-  // All available features for sentiment, syntax, and semantic analysis.
-  // Setting each one to true will enable that specific analysis for the input.
-  message Features {
-    // Extract syntax information.
-    bool extract_syntax = 1;
-
-    // Extract entities.
-    bool extract_entities = 2;
-
-    // Extract document-level sentiment.
-    bool extract_document_sentiment = 3;
-  }
-
-  // Input document.
-  Document document = 1;
-
-  // The enabled features.
-  Features features = 2;
-
-  // The encoding type used by the API to calculate offsets.
-  EncodingType encoding_type = 3;
-}
-
-// The text annotations response message.
-message AnnotateTextResponse {
-  // Sentences in the input document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Sentence sentences = 1;
-
-  // Tokens, along with their syntactic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_syntax][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_syntax].
-  repeated Token tokens = 2;
-
-  // Entities, along with their semantic information, in the input document.
-  // Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_entities][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_entities].
-  repeated Entity entities = 3;
-
-  // The overall sentiment for the document. Populated if the user enables
-  // [AnnotateTextRequest.Features.extract_document_sentiment][google.cloud.language.v1beta1.AnnotateTextRequest.Features.extract_document_sentiment].
-  Sentiment document_sentiment = 4;
-
-  // The language of the text, which will be the same as the language specified
-  // in the request or, if not specified, the automatically-detected language.
-  // See [Document.language][google.cloud.language.v1beta1.Document.language] field for more details.
-  string language = 5;
-}
-
-// Represents the text encoding that the caller uses to process the output.
-// Providing an `EncodingType` is recommended because the API provides the
-// beginning offsets for various outputs, such as tokens and mentions, and
-// languages that natively use different text encodings may access offsets
-// differently.
-enum EncodingType {
-  // If `EncodingType` is not specified, encoding-dependent information (such as
-  // `begin_offset`) will be set at `-1`.
-  NONE = 0;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-8 encoding of the input. C++ and Go are examples of languages
-  // that use this encoding natively.
-  UTF8 = 1;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-16 encoding of the input. Java and Javascript are examples of
-  // languages that use this encoding natively.
-  UTF16 = 2;
-
-  // Encoding-dependent information (such as `begin_offset`) is calculated based
-  // on the UTF-32 encoding of the input. Python is an example of a language
-  // that uses this encoding natively.
-  UTF32 = 3;
-}
diff --git a/googleapis/cloud/ml/v1beta1/job_service.pb.go b/googleapis/cloud/ml/v1beta1/job_service.pb.go
index 5133e52d..a2b76f06 100644
--- a/googleapis/cloud/ml/v1beta1/job_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/job_service.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto
+// source: google/cloud/ml/v1beta1/job_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_ml_v1beta1 is a generated protocol buffer package.
+Package ml 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
+	google/cloud/ml/v1beta1/job_service.proto
+	google/cloud/ml/v1beta1/model_service.proto
+	google/cloud/ml/v1beta1/operation_metadata.proto
+	google/cloud/ml/v1beta1/prediction_service.proto
+	google/cloud/ml/v1beta1/project_service.proto
 
 It has these top-level messages:
 	TrainingInput
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GetConfigRequest
 	GetConfigResponse
 */
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -400,6 +400,69 @@ func (m *TrainingInput) String() string            { return proto.CompactTextStr
 func (*TrainingInput) ProtoMessage()               {}
 func (*TrainingInput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *TrainingInput) GetScaleTier() TrainingInput_ScaleTier {
+	if m != nil {
+		return m.ScaleTier
+	}
+	return TrainingInput_BASIC
+}
+
+func (m *TrainingInput) GetMasterType() string {
+	if m != nil {
+		return m.MasterType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetWorkerType() string {
+	if m != nil {
+		return m.WorkerType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetParameterServerType() string {
+	if m != nil {
+		return m.ParameterServerType
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetWorkerCount() int64 {
+	if m != nil {
+		return m.WorkerCount
+	}
+	return 0
+}
+
+func (m *TrainingInput) GetParameterServerCount() int64 {
+	if m != nil {
+		return m.ParameterServerCount
+	}
+	return 0
+}
+
+func (m *TrainingInput) GetPackageUris() []string {
+	if m != nil {
+		return m.PackageUris
+	}
+	return nil
+}
+
+func (m *TrainingInput) GetPythonModule() string {
+	if m != nil {
+		return m.PythonModule
+	}
+	return ""
+}
+
+func (m *TrainingInput) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
 func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
 	if m != nil {
 		return m.Hyperparameters
@@ -407,6 +470,13 @@ func (m *TrainingInput) GetHyperparameters() *HyperparameterSpec {
 	return nil
 }
 
+func (m *TrainingInput) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	return ""
+}
+
 // Represents a set of hyperparameters to optimize.
 type HyperparameterSpec struct {
 	// Required. The type of goal to use for tuning. Available types are
@@ -439,6 +509,13 @@ func (m *HyperparameterSpec) String() string            { return proto.CompactTe
 func (*HyperparameterSpec) ProtoMessage()               {}
 func (*HyperparameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *HyperparameterSpec) GetGoal() HyperparameterSpec_GoalType {
+	if m != nil {
+		return m.Goal
+	}
+	return HyperparameterSpec_GOAL_TYPE_UNSPECIFIED
+}
+
 func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
 	if m != nil {
 		return m.Params
@@ -446,6 +523,20 @@ func (m *HyperparameterSpec) GetParams() []*ParameterSpec {
 	return nil
 }
 
+func (m *HyperparameterSpec) GetMaxTrials() int32 {
+	if m != nil {
+		return m.MaxTrials
+	}
+	return 0
+}
+
+func (m *HyperparameterSpec) GetMaxParallelTrials() int32 {
+	if m != nil {
+		return m.MaxParallelTrials
+	}
+	return 0
+}
+
 // Represents a single hyperparameter to optimize.
 type ParameterSpec struct {
 	// Required. The parameter name must be unique amongst all ParameterConfigs in
@@ -481,6 +572,55 @@ func (m *ParameterSpec) String() string            { return proto.CompactTextStr
 func (*ParameterSpec) ProtoMessage()               {}
 func (*ParameterSpec) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ParameterSpec) GetParameterName() string {
+	if m != nil {
+		return m.ParameterName
+	}
+	return ""
+}
+
+func (m *ParameterSpec) GetType() ParameterSpec_ParameterType {
+	if m != nil {
+		return m.Type
+	}
+	return ParameterSpec_PARAMETER_TYPE_UNSPECIFIED
+}
+
+func (m *ParameterSpec) GetMinValue() float64 {
+	if m != nil {
+		return m.MinValue
+	}
+	return 0
+}
+
+func (m *ParameterSpec) GetMaxValue() float64 {
+	if m != nil {
+		return m.MaxValue
+	}
+	return 0
+}
+
+func (m *ParameterSpec) GetCategoricalValues() []string {
+	if m != nil {
+		return m.CategoricalValues
+	}
+	return nil
+}
+
+func (m *ParameterSpec) GetDiscreteValues() []float64 {
+	if m != nil {
+		return m.DiscreteValues
+	}
+	return nil
+}
+
+func (m *ParameterSpec) GetScaleType() ParameterSpec_ScaleType {
+	if m != nil {
+		return m.ScaleType
+	}
+	return ParameterSpec_NONE
+}
+
 // 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
@@ -501,6 +641,13 @@ func (m *HyperparameterOutput) String() string            { return proto.Compact
 func (*HyperparameterOutput) ProtoMessage()               {}
 func (*HyperparameterOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *HyperparameterOutput) GetTrialId() string {
+	if m != nil {
+		return m.TrialId
+	}
+	return ""
+}
+
 func (m *HyperparameterOutput) GetHyperparameters() map[string]string {
 	if m != nil {
 		return m.Hyperparameters
@@ -539,6 +686,20 @@ func (*HyperparameterOutput_HyperparameterMetric) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{3, 0}
 }
 
+func (m *HyperparameterOutput_HyperparameterMetric) GetTrainingStep() int64 {
+	if m != nil {
+		return m.TrainingStep
+	}
+	return 0
+}
+
+func (m *HyperparameterOutput_HyperparameterMetric) GetObjectiveValue() float64 {
+	if m != nil {
+		return m.ObjectiveValue
+	}
+	return 0
+}
+
 // Represents results of a training job.
 type TrainingOutput struct {
 	// The number of hyperparameter tuning trials that completed successfully.
@@ -552,6 +713,13 @@ func (m *TrainingOutput) String() string            { return proto.CompactTextSt
 func (*TrainingOutput) ProtoMessage()               {}
 func (*TrainingOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *TrainingOutput) GetCompletedTrialCount() int64 {
+	if m != nil {
+		return m.CompletedTrialCount
+	}
+	return 0
+}
+
 func (m *TrainingOutput) GetTrials() []*HyperparameterOutput {
 	if m != nil {
 		return m.Trials
@@ -621,6 +789,41 @@ func (m *PredictionInput) GetVersionName() string {
 	return ""
 }
 
+func (m *PredictionInput) GetDataFormat() PredictionInput_DataFormat {
+	if m != nil {
+		return m.DataFormat
+	}
+	return PredictionInput_DATA_FORMAT_UNSPECIFIED
+}
+
+func (m *PredictionInput) GetInputPaths() []string {
+	if m != nil {
+		return m.InputPaths
+	}
+	return nil
+}
+
+func (m *PredictionInput) GetOutputPath() string {
+	if m != nil {
+		return m.OutputPath
+	}
+	return ""
+}
+
+func (m *PredictionInput) GetMaxWorkerCount() int64 {
+	if m != nil {
+		return m.MaxWorkerCount
+	}
+	return 0
+}
+
+func (m *PredictionInput) GetRegion() string {
+	if m != nil {
+		return m.Region
+	}
+	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{}{
@@ -702,6 +905,27 @@ func (m *PredictionOutput) String() string            { return proto.CompactText
 func (*PredictionOutput) ProtoMessage()               {}
 func (*PredictionOutput) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PredictionOutput) GetOutputPath() string {
+	if m != nil {
+		return m.OutputPath
+	}
+	return ""
+}
+
+func (m *PredictionOutput) GetPredictionCount() int64 {
+	if m != nil {
+		return m.PredictionCount
+	}
+	return 0
+}
+
+func (m *PredictionOutput) GetErrorCount() int64 {
+	if m != nil {
+		return m.ErrorCount
+	}
+	return 0
+}
+
 // Represents a training or prediction job.
 type Job struct {
 	// Required. The user-specified id of the job.
@@ -773,6 +997,13 @@ func (m *Job) GetOutput() isJob_Output {
 	return nil
 }
 
+func (m *Job) GetJobId() string {
+	if m != nil {
+		return m.JobId
+	}
+	return ""
+}
+
 func (m *Job) GetTrainingInput() *TrainingInput {
 	if x, ok := m.GetInput().(*Job_TrainingInput); ok {
 		return x.TrainingInput
@@ -808,6 +1039,20 @@ func (m *Job) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Job) GetState() Job_State {
+	if m != nil {
+		return m.State
+	}
+	return Job_STATE_UNSPECIFIED
+}
+
+func (m *Job) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
 func (m *Job) GetTrainingOutput() *TrainingOutput {
 	if x, ok := m.GetOutput().(*Job_TrainingOutput); ok {
 		return x.TrainingOutput
@@ -961,6 +1206,13 @@ func (m *CreateJobRequest) String() string            { return proto.CompactText
 func (*CreateJobRequest) ProtoMessage()               {}
 func (*CreateJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateJobRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateJobRequest) GetJob() *Job {
 	if m != nil {
 		return m.Job
@@ -994,6 +1246,34 @@ func (m *ListJobsRequest) String() string            { return proto.CompactTextS
 func (*ListJobsRequest) ProtoMessage()               {}
 func (*ListJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *ListJobsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListJobs method.
 type ListJobsResponse struct {
 	// The list of jobs.
@@ -1015,6 +1295,13 @@ func (m *ListJobsResponse) GetJobs() []*Job {
 	return nil
 }
 
+func (m *ListJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetJob method.
 type GetJobRequest struct {
 	// Required. The name of the job to get the description of.
@@ -1028,6 +1315,13 @@ func (m *GetJobRequest) String() string            { return proto.CompactTextStr
 func (*GetJobRequest) ProtoMessage()               {}
 func (*GetJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *GetJobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the CancelJob method.
 type CancelJobRequest struct {
 	// Required. The name of the job to cancel.
@@ -1041,6 +1335,13 @@ func (m *CancelJobRequest) String() string            { return proto.CompactText
 func (*CancelJobRequest) ProtoMessage()               {}
 func (*CancelJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *CancelJobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*TrainingInput)(nil), "google.cloud.ml.v1beta1.TrainingInput")
 	proto.RegisterType((*HyperparameterSpec)(nil), "google.cloud.ml.v1beta1.HyperparameterSpec")
@@ -1240,135 +1541,131 @@ var _JobService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/job_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/job_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/job_service.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1939 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1b, 0x49,
-	0x15, 0xb6, 0xae, 0x96, 0x8e, 0x6c, 0x69, 0xd2, 0x9b, 0x78, 0xb5, 0x5a, 0x20, 0xce, 0xb8, 0xc8,
-	0x2a, 0xa1, 0x22, 0x6d, 0x9c, 0x50, 0xb5, 0x64, 0x0b, 0xaa, 0xc6, 0xd2, 0xd8, 0x96, 0xcb, 0xba,
-	0xd0, 0x1a, 0x85, 0x90, 0xa2, 0x6a, 0xaa, 0x35, 0x6a, 0x2b, 0xe3, 0xcc, 0x8d, 0x99, 0x91, 0xb1,
+	// 1919 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x58, 0x5b, 0x73, 0x1b, 0x49,
+	0x15, 0xb6, 0xae, 0x96, 0x8e, 0x6c, 0x69, 0xd2, 0xb9, 0xac, 0x56, 0x59, 0x88, 0x33, 0x29, 0xb2,
+	0x72, 0xa8, 0x48, 0x1b, 0x67, 0xa9, 0xda, 0xcd, 0x16, 0x54, 0x8d, 0xa5, 0xb1, 0x2d, 0x97, 0x75,
+	0xa1, 0x35, 0x0a, 0x21, 0x45, 0xd5, 0x54, 0x4b, 0xea, 0x28, 0xe3, 0xcc, 0x8d, 0x99, 0xb1, 0xb1,
 	0x96, 0x4a, 0x41, 0x01, 0x4f, 0xf0, 0x48, 0xc1, 0x03, 0x6f, 0xbc, 0xf2, 0xc4, 0x1f, 0xe0, 0x57,
-	0xf0, 0x17, 0xf8, 0x21, 0x54, 0x77, 0xcf, 0x8c, 0x2e, 0x8e, 0x2f, 0x5b, 0xf0, 0xe2, 0x9a, 0x3e,
-	0xe7, 0x3b, 0xf7, 0xd3, 0xa7, 0x8f, 0x0c, 0xc7, 0x53, 0xd7, 0x9d, 0x5a, 0xb4, 0x31, 0x75, 0x2d,
-	0xe2, 0x4c, 0x1b, 0xae, 0x3f, 0x6d, 0x4e, 0xa9, 0xe3, 0xf9, 0x6e, 0xe8, 0x36, 0x05, 0x8b, 0x78,
-	0x66, 0xd0, 0x34, 0x2c, 0x77, 0x36, 0x69, 0xda, 0x56, 0xf3, 0xe2, 0xf9, 0x98, 0x86, 0xe4, 0x79,
-	0xf3, 0xdc, 0x1d, 0xeb, 0x01, 0xf5, 0x2f, 0x4c, 0x83, 0x36, 0x38, 0x1a, 0x7d, 0x1a, 0x69, 0xe2,
-	0xd0, 0x86, 0x6d, 0x35, 0x22, 0x68, 0xad, 0x73, 0x37, 0x13, 0xc4, 0x33, 0x9b, 0x91, 0x46, 0xc3,
-	0x75, 0xce, 0xcc, 0x69, 0x93, 0x38, 0x8e, 0x1b, 0x92, 0xd0, 0x74, 0x9d, 0x40, 0xd8, 0xa8, 0xbd,
-	0x98, 0x9a, 0xe1, 0xbb, 0xd9, 0xb8, 0x61, 0xb8, 0x76, 0x53, 0xa8, 0x6b, 0x72, 0xc6, 0x78, 0x76,
-	0xd6, 0xf4, 0xc2, 0xb9, 0x47, 0x83, 0x26, 0xb5, 0xbd, 0x70, 0x2e, 0xfe, 0x46, 0x42, 0x5f, 0xdf,
-	0x2e, 0x14, 0x9a, 0x36, 0x0d, 0x42, 0x62, 0x7b, 0x8b, 0x2f, 0x21, 0x2c, 0xff, 0x2b, 0x0b, 0xdb,
-	0x9a, 0x4f, 0x4c, 0xc7, 0x74, 0xa6, 0x1d, 0xc7, 0x9b, 0x85, 0xa8, 0x0f, 0x10, 0x18, 0xc4, 0xa2,
-	0x7a, 0x68, 0x52, 0xbf, 0x9a, 0xda, 0x4d, 0xd5, 0xcb, 0xfb, 0x5f, 0x36, 0xae, 0x09, 0xbe, 0xb1,
-	0x22, 0xdb, 0x18, 0x32, 0x41, 0xcd, 0xa4, 0x3e, 0x2e, 0x06, 0xf1, 0x27, 0x7a, 0x08, 0x25, 0x9b,
-	0x04, 0x21, 0xf5, 0x75, 0xe6, 0x4c, 0x35, 0xbd, 0x9b, 0xaa, 0x17, 0x31, 0x08, 0x92, 0x36, 0xf7,
-	0x28, 0x03, 0xfc, 0xca, 0xf5, 0xdf, 0xc7, 0x80, 0x8c, 0x00, 0x08, 0x12, 0x07, 0xec, 0xc3, 0x03,
-	0x8f, 0xf8, 0xc4, 0xa6, 0x4c, 0x09, 0xcb, 0x61, 0x0c, 0xcd, 0x72, 0xe8, 0x27, 0x09, 0x73, 0xc8,
-	0x79, 0x5c, 0xe6, 0x11, 0x6c, 0x45, 0x4a, 0x0d, 0x77, 0xe6, 0x84, 0xd5, 0xdc, 0x6e, 0xaa, 0x9e,
-	0xc1, 0x91, 0xa1, 0x16, 0x23, 0xa1, 0x97, 0xb0, 0x73, 0x45, 0xad, 0x00, 0xe7, 0x39, 0xf8, 0xfe,
-	0x9a, 0x5e, 0x21, 0xf5, 0x08, 0xb6, 0x3c, 0x62, 0xbc, 0x27, 0x53, 0xaa, 0xcf, 0x7c, 0x33, 0xa8,
-	0x6e, 0xee, 0x66, 0xea, 0x45, 0x5c, 0x8a, 0x68, 0x23, 0xdf, 0x0c, 0xd0, 0x1e, 0x6c, 0x7b, 0xf3,
-	0xf0, 0x9d, 0xeb, 0xe8, 0xb6, 0x3b, 0x99, 0x59, 0xb4, 0x5a, 0xe0, 0x7e, 0x6e, 0x09, 0x62, 0x97,
-	0xd3, 0x10, 0x82, 0x2c, 0xf1, 0xa7, 0x41, 0x15, 0xb8, 0x3c, 0xff, 0x46, 0x23, 0xa8, 0xbc, 0x9b,
-	0x7b, 0xd4, 0x4f, 0x0c, 0x07, 0xd5, 0xad, 0xdd, 0x54, 0xbd, 0xb4, 0xff, 0x83, 0x6b, 0x0b, 0x70,
-	0xbc, 0x82, 0x1f, 0x7a, 0xd4, 0xc0, 0xeb, 0x3a, 0xd0, 0x0e, 0xe4, 0x7d, 0x3a, 0x35, 0x5d, 0xa7,
-	0x5a, 0xe6, 0x8e, 0x44, 0x27, 0x59, 0x81, 0x62, 0x52, 0x31, 0x54, 0x84, 0xdc, 0x81, 0x32, 0xec,
-	0xb4, 0xa4, 0x0d, 0x54, 0x06, 0x18, 0x6a, 0x4a, 0xaf, 0xad, 0xe0, 0xb6, 0xfe, 0x5c, 0x4a, 0xa1,
-	0x6d, 0x28, 0x0e, 0xb0, 0xda, 0xed, 0x8c, 0xba, 0xfa, 0x73, 0x29, 0x83, 0x00, 0xf2, 0xad, 0xd1,
-	0x50, 0xeb, 0x77, 0xa5, 0x9c, 0xfc, 0xcf, 0x34, 0xa0, 0xab, 0x2e, 0xa0, 0x63, 0xc8, 0x4e, 0x5d,
-	0x62, 0x45, 0xed, 0xf3, 0xf2, 0x5b, 0x78, 0xdf, 0x38, 0x72, 0x89, 0xc5, 0x2a, 0x88, 0xb9, 0x06,
-	0xf4, 0x13, 0xc8, 0x73, 0x7e, 0x50, 0x4d, 0xef, 0x66, 0xea, 0xa5, 0xfd, 0xc7, 0xd7, 0xea, 0x1a,
-	0xac, 0x24, 0x21, 0x92, 0x42, 0xdf, 0x05, 0xb0, 0xc9, 0xa5, 0x1e, 0xfa, 0x26, 0xb1, 0x02, 0xde,
-	0x5b, 0x39, 0x5c, 0xb4, 0xc9, 0xa5, 0xc6, 0x09, 0xa8, 0x01, 0x9f, 0x30, 0x36, 0x03, 0x5b, 0x16,
-	0xb5, 0x62, 0x5c, 0x96, 0xe3, 0xee, 0xd9, 0xe4, 0x72, 0x10, 0x71, 0x04, 0x5e, 0x56, 0xa0, 0x10,
-	0x3b, 0x88, 0x3e, 0x83, 0x07, 0x47, 0x7d, 0xe5, 0x54, 0xd7, 0x7e, 0x3e, 0x50, 0xf5, 0x51, 0x6f,
-	0x38, 0x50, 0x5b, 0x9d, 0xc3, 0x8e, 0xda, 0x96, 0x36, 0xd0, 0x16, 0x14, 0xba, 0xca, 0x9b, 0x4e,
-	0xb7, 0xf3, 0x56, 0x95, 0x52, 0xfc, 0xd4, 0xe9, 0x89, 0x53, 0x5a, 0xfe, 0x47, 0x16, 0xb6, 0x57,
-	0x7c, 0x45, 0xdf, 0x87, 0xf2, 0xa2, 0x11, 0x1d, 0x62, 0x53, 0x9e, 0xb7, 0x22, 0xde, 0x4e, 0xa8,
-	0x3d, 0x62, 0x53, 0x96, 0xd4, 0xa4, 0xeb, 0x6f, 0x4a, 0xea, 0x8a, 0xf2, 0xc5, 0x49, 0x24, 0x95,
-	0x69, 0x40, 0x9f, 0x43, 0xd1, 0x36, 0x1d, 0xfd, 0x82, 0x58, 0x33, 0x71, 0x21, 0x53, 0xb8, 0x60,
-	0x9b, 0xce, 0x6b, 0x76, 0xe6, 0x4c, 0x72, 0x19, 0x31, 0x33, 0x11, 0x93, 0x5c, 0x0a, 0xe6, 0x33,
-	0x40, 0x06, 0x09, 0xe9, 0xd4, 0xf5, 0x4d, 0x83, 0x58, 0x02, 0x14, 0x54, 0x73, 0xbc, 0x87, 0xef,
-	0x2d, 0x71, 0x38, 0x3a, 0x40, 0x5f, 0x40, 0x65, 0x62, 0x06, 0x86, 0x4f, 0x43, 0x1a, 0x63, 0xf3,
-	0xbb, 0x99, 0x7a, 0x0a, 0x97, 0x63, 0x72, 0x04, 0x5c, 0x4c, 0x1d, 0x16, 0xe1, 0xe6, 0x2d, 0x53,
-	0x67, 0x35, 0x42, 0xd1, 0xc3, 0x2c, 0xba, 0x68, 0xea, 0xcc, 0x3d, 0x2a, 0x4f, 0x97, 0x92, 0xcc,
-	0xab, 0xf5, 0x3d, 0xa8, 0x0d, 0x14, 0xac, 0x74, 0x55, 0x4d, 0xc5, 0x1f, 0x2b, 0x19, 0x40, 0xbe,
-	0xdd, 0x1f, 0x1d, 0x9c, 0xb2, 0x82, 0x95, 0x60, 0xb3, 0xd3, 0xd3, 0xd4, 0x23, 0x15, 0x4b, 0x69,
-	0x54, 0x81, 0x52, 0x4b, 0xd1, 0xd4, 0xa3, 0x3e, 0xee, 0xb4, 0x94, 0x53, 0x29, 0xc3, 0xca, 0xd9,
-	0xee, 0x0c, 0x5b, 0x58, 0xd5, 0x54, 0x29, 0x2b, 0xff, 0x22, 0xbe, 0x44, 0xcc, 0x48, 0x01, 0xb2,
-	0xbd, 0x7e, 0x4f, 0x95, 0x36, 0xd0, 0x03, 0xb8, 0x37, 0xea, 0x75, 0x34, 0xfd, 0xb4, 0xd3, 0x53,
-	0x15, 0xac, 0x0f, 0x5b, 0x0a, 0xd7, 0x8c, 0xa0, 0x2c, 0xc8, 0xfd, 0xa3, 0x88, 0x96, 0x46, 0x35,
-	0xd8, 0xe1, 0x34, 0xac, 0xbe, 0x56, 0xf1, 0x50, 0x5d, 0xe2, 0x65, 0xe4, 0xbf, 0x64, 0xe1, 0xfe,
-	0xea, 0x25, 0xe9, 0xcf, 0x42, 0x36, 0xa6, 0x3f, 0x83, 0x02, 0xef, 0x55, 0xdd, 0x9c, 0x44, 0xdd,
-	0xb2, 0xc9, 0xcf, 0x9d, 0x09, 0xb2, 0xae, 0x4e, 0x11, 0x71, 0x77, 0x0e, 0xee, 0x78, 0x0f, 0x85,
-	0x89, 0x35, 0x62, 0xa0, 0x3a, 0xa1, 0x3f, 0xbf, 0x3a, 0x5c, 0x28, 0x6c, 0x9d, 0x99, 0x0e, 0xb1,
-	0x74, 0x9b, 0x86, 0xbe, 0x69, 0xf0, 0x8e, 0xf9, 0x1f, 0x4d, 0x75, 0xb9, 0x26, 0x5c, 0xe2, 0x7a,
-	0xc5, 0x01, 0x19, 0x50, 0x22, 0x56, 0x6c, 0x84, 0x5d, 0xd0, 0xcc, 0xff, 0xc9, 0x0a, 0x10, 0x2b,
-	0xb2, 0x11, 0xd4, 0x26, 0xeb, 0xc9, 0x8e, 0x8c, 0xef, 0xc1, 0x76, 0x18, 0x3d, 0x74, 0x7a, 0x10,
-	0x52, 0x8f, 0x67, 0x3c, 0x83, 0xb7, 0x62, 0xe2, 0x30, 0xa4, 0x1e, 0xeb, 0x75, 0x77, 0x7c, 0x4e,
-	0x8d, 0xd0, 0xbc, 0xa0, 0x2b, 0x57, 0xab, 0x9c, 0x90, 0x79, 0xb3, 0xd7, 0x0e, 0xd6, 0xad, 0x88,
-	0xd4, 0x22, 0x09, 0x32, 0xef, 0xe9, 0x3c, 0xaa, 0x26, 0xfb, 0x44, 0xf7, 0x21, 0xb7, 0x50, 0x54,
-	0xc4, 0xe2, 0xf0, 0x2a, 0xfd, 0x55, 0x4a, 0xfe, 0x53, 0x0a, 0xca, 0xf1, 0xdb, 0x1b, 0x75, 0xc4,
-	0x3e, 0x3c, 0x30, 0x5c, 0xdb, 0xb3, 0x68, 0x48, 0x27, 0x62, 0x8e, 0x45, 0xaf, 0x99, 0x70, 0xf6,
-	0x93, 0x84, 0xc9, 0x47, 0x99, 0x78, 0xcc, 0x54, 0xc8, 0x47, 0x13, 0x4f, 0x74, 0xc8, 0xb3, 0x6f,
-	0x95, 0x50, 0x1c, 0x09, 0xcb, 0x7f, 0xcb, 0x40, 0x65, 0xe0, 0xd3, 0x89, 0x69, 0xb0, 0x6d, 0x46,
-	0xec, 0x11, 0x0f, 0x01, 0x6c, 0x77, 0x42, 0xad, 0xa5, 0x81, 0x76, 0xbc, 0x81, 0x8b, 0x9c, 0xc6,
-	0xc7, 0xd9, 0x1e, 0x6c, 0x5d, 0x50, 0x3f, 0x30, 0x5d, 0x47, 0x40, 0xd2, 0x11, 0xa4, 0x14, 0x51,
-	0x39, 0x48, 0x83, 0xd2, 0x84, 0x84, 0x44, 0x3f, 0x73, 0x7d, 0x9b, 0x84, 0xbc, 0xb9, 0xca, 0xfb,
-	0x2f, 0xae, 0x1f, 0x0c, 0xab, 0x4e, 0x34, 0xda, 0x24, 0x24, 0x87, 0x5c, 0x14, 0xc3, 0x24, 0xf9,
-	0x66, 0x1b, 0x87, 0xc9, 0xf8, 0xba, 0x47, 0xc2, 0x77, 0xa2, 0x99, 0x8a, 0x18, 0x38, 0x69, 0xc0,
-	0x28, 0x0c, 0xe0, 0xf2, 0x10, 0x39, 0x82, 0x2f, 0x0f, 0x45, 0x0c, 0x82, 0xc4, 0x10, 0xa8, 0x0e,
-	0x12, 0x1b, 0x92, 0x2b, 0x2b, 0x86, 0xd8, 0x1a, 0xca, 0x36, 0xb9, 0xfc, 0xd9, 0xd2, 0x96, 0xb1,
-	0x78, 0x7c, 0x37, 0x57, 0x1e, 0xdf, 0xd7, 0x00, 0x0b, 0xef, 0xd0, 0xe7, 0xf0, 0x69, 0x5b, 0xd1,
-	0x14, 0xfd, 0xb0, 0x8f, 0xbb, 0x8a, 0xb6, 0x36, 0x9a, 0x0a, 0x90, 0xd5, 0xd4, 0x37, 0x9a, 0x78,
-	0x89, 0xb5, 0x43, 0x1d, 0xab, 0xad, 0x3e, 0x6e, 0x4b, 0x69, 0x36, 0x4d, 0x92, 0xa3, 0x7e, 0xf4,
-	0xb6, 0x33, 0x90, 0x32, 0x07, 0x15, 0xd8, 0x16, 0x79, 0x8f, 0xd2, 0x28, 0xff, 0x06, 0xa4, 0x45,
-	0x5a, 0xa2, 0x5e, 0x59, 0x8b, 0x2f, 0x75, 0x25, 0xbe, 0x27, 0x20, 0x79, 0x89, 0x50, 0x14, 0x5f,
-	0x9a, 0xc7, 0x57, 0x59, 0xd0, 0x45, 0x80, 0x0f, 0xa1, 0x44, 0x7d, 0xdf, 0x8d, 0xb3, 0x90, 0xe1,
-	0x28, 0xe0, 0x24, 0x0e, 0x90, 0xff, 0x9a, 0x87, 0xcc, 0x89, 0x3b, 0x46, 0x0f, 0x20, 0xcf, 0xd6,
-	0xea, 0x64, 0x60, 0xe5, 0xce, 0xdd, 0x71, 0x67, 0x82, 0xfa, 0x50, 0x4e, 0x2e, 0x17, 0x2f, 0x01,
-	0x37, 0x74, 0xd3, 0x4b, 0xbf, 0xb2, 0x74, 0x1e, 0x6f, 0xe0, 0xe4, 0x72, 0x8a, 0xce, 0x1b, 0xad,
-	0xf8, 0x2e, 0x54, 0x8a, 0xa9, 0x54, 0xbf, 0x6b, 0xe3, 0x1c, 0x6f, 0x2c, 0xc7, 0x29, 0xd4, 0x7e,
-	0x0d, 0x25, 0xc3, 0xa7, 0x24, 0x64, 0x9b, 0xb1, 0x2d, 0x5e, 0xe1, 0xd2, 0x7e, 0x2d, 0xd6, 0x18,
-	0xaf, 0xdc, 0x0d, 0x2d, 0xde, 0xb0, 0x31, 0x08, 0x38, 0x23, 0xa0, 0x1f, 0x01, 0x04, 0x21, 0xf1,
-	0x43, 0x21, 0x9b, 0xbb, 0x55, 0xb6, 0xc8, 0xd1, 0x5c, 0xf4, 0x87, 0x50, 0xa0, 0xce, 0x44, 0x08,
-	0xe6, 0x6f, 0x15, 0xdc, 0xa4, 0xce, 0x84, 0x8b, 0x7d, 0x05, 0xb9, 0x20, 0x24, 0x61, 0xfc, 0x98,
-	0xca, 0xd7, 0x86, 0x7e, 0xe2, 0x8e, 0x1b, 0x43, 0x86, 0xc4, 0x42, 0x80, 0x4d, 0x3b, 0x51, 0x50,
-	0x9b, 0x06, 0x01, 0x99, 0x26, 0xeb, 0x2b, 0x27, 0x76, 0x05, 0x0d, 0x61, 0xa8, 0x24, 0x55, 0x13,
-	0x7d, 0x53, 0x2d, 0x72, 0xe7, 0xbe, 0xb8, 0xb5, 0x6c, 0xa2, 0x07, 0x8f, 0x53, 0x38, 0xa9, 0x7b,
-	0xd4, 0x95, 0x6f, 0xe0, 0xde, 0x52, 0xe1, 0x22, 0xad, 0xc0, 0xb5, 0x3e, 0xb9, 0x43, 0xe5, 0x12,
-	0xbd, 0x4b, 0xe5, 0x17, 0x34, 0xf9, 0xb7, 0x29, 0xc8, 0xf1, 0x18, 0xd9, 0xbb, 0x3c, 0xd4, 0x14,
-	0xed, 0x23, 0xaf, 0xff, 0x4f, 0x47, 0xea, 0x48, 0x6d, 0x27, 0xeb, 0xee, 0x40, 0xc1, 0x9d, 0xde,
-	0x91, 0x94, 0x66, 0xcb, 0x00, 0x1e, 0xf5, 0x7a, 0xec, 0x90, 0x61, 0xbc, 0xe1, 0xa8, 0xd5, 0x52,
-	0xd5, 0xb6, 0xda, 0x96, 0xb2, 0x4c, 0xec, 0x50, 0xe9, 0x9c, 0xaa, 0x6d, 0x29, 0xc7, 0xb6, 0xe6,
-	0x96, 0xd2, 0x6b, 0xa9, 0xa7, 0xa7, 0x0c, 0x9a, 0x67, 0xd0, 0xe8, 0xac, 0xb6, 0xa5, 0xcd, 0x83,
-	0x4d, 0xc8, 0xf1, 0x56, 0x3c, 0x28, 0x40, 0x5e, 0x84, 0x26, 0xbf, 0x05, 0xa9, 0xc5, 0x5b, 0xe4,
-	0xc4, 0x1d, 0x63, 0xfa, 0xcb, 0x19, 0x0d, 0xf8, 0xb8, 0xf0, 0x88, 0x4f, 0xa3, 0xb1, 0x5d, 0xc4,
-	0xd1, 0x09, 0x35, 0x20, 0x73, 0xee, 0x8e, 0xa3, 0xab, 0xf1, 0x9d, 0x9b, 0x8a, 0x89, 0x19, 0x50,
-	0xfe, 0x00, 0x95, 0x53, 0x33, 0x08, 0x4f, 0xdc, 0x71, 0x70, 0x9b, 0xea, 0x1d, 0xc8, 0x9f, 0x99,
-	0x56, 0x48, 0xfd, 0xe8, 0x99, 0x89, 0x4e, 0x6c, 0x75, 0xf6, 0xd8, 0xcf, 0x9c, 0xd0, 0x7d, 0x4f,
-	0x9d, 0xe8, 0xb7, 0x56, 0x91, 0x51, 0x34, 0x46, 0x60, 0x7b, 0x22, 0x67, 0x07, 0xe6, 0x37, 0xa2,
-	0xa3, 0x73, 0xb8, 0xc0, 0x08, 0x43, 0xf3, 0x1b, 0x2a, 0x5b, 0x20, 0x2d, 0xcc, 0x07, 0x9e, 0xeb,
-	0x04, 0x14, 0x7d, 0x09, 0xd9, 0x73, 0x77, 0x1c, 0x54, 0x53, 0xfc, 0xa9, 0xb9, 0x39, 0x06, 0x8e,
-	0x44, 0x8f, 0xa1, 0xe2, 0xd0, 0x4b, 0x36, 0xa4, 0x12, 0x37, 0x84, 0x8b, 0xdb, 0x8c, 0x3c, 0x88,
-	0x5d, 0x91, 0xf7, 0x60, 0xfb, 0x88, 0x86, 0x4b, 0x59, 0x44, 0x90, 0x5d, 0xda, 0xa3, 0xf9, 0xb7,
-	0xfc, 0x18, 0xa4, 0x16, 0x71, 0x0c, 0x6a, 0xdd, 0x8c, 0xdb, 0xff, 0x7b, 0x16, 0xe0, 0xc4, 0x1d,
-	0x0f, 0xc5, 0x6f, 0x75, 0xf4, 0x87, 0x14, 0x14, 0x93, 0x2a, 0xa1, 0xeb, 0xfb, 0x70, 0xbd, 0x92,
-	0xb5, 0x1b, 0x03, 0x94, 0x1b, 0xbf, 0xfb, 0xf7, 0x7f, 0xfe, 0x9c, 0xae, 0xcb, 0x8f, 0x92, 0x7f,
-	0x39, 0xfc, 0x5a, 0x94, 0xe3, 0xc7, 0x9e, 0xef, 0xb2, 0x75, 0x21, 0x68, 0x3e, 0xfd, 0xd0, 0x64,
-	0x59, 0x78, 0xc5, 0xea, 0x89, 0xfe, 0x98, 0x82, 0x42, 0x9c, 0x51, 0x74, 0xfd, 0x1c, 0x5b, 0xab,
-	0x79, 0xed, 0xc9, 0x1d, 0x90, 0xa2, 0x3c, 0xf2, 0x13, 0xee, 0xd1, 0x1e, 0xba, 0xdd, 0x23, 0x34,
-	0x87, 0xbc, 0xc8, 0x37, 0xba, 0x7e, 0x48, 0xaf, 0x14, 0xe4, 0x96, 0x64, 0x7c, 0xc4, 0x34, 0x2b,
-	0xc5, 0x92, 0x61, 0x6e, 0xb7, 0xf9, 0xf4, 0x03, 0xfa, 0x3d, 0x2b, 0x47, 0x5c, 0xc6, 0x9b, 0xca,
-	0xb1, 0x56, 0xea, 0xda, 0xce, 0x95, 0xa1, 0xa9, 0xda, 0x5e, 0x38, 0x97, 0x5f, 0x70, 0xdb, 0xcf,
-	0xe4, 0xfa, 0xad, 0xb6, 0x5f, 0x19, 0x5c, 0xe7, 0xab, 0xd4, 0xd3, 0x83, 0x97, 0xf0, 0xd0, 0x70,
-	0xed, 0x2b, 0xc6, 0x89, 0x67, 0xc6, 0x0e, 0x1c, 0x54, 0x16, 0x3d, 0x34, 0x60, 0x16, 0x07, 0xa9,
-	0x71, 0x9e, 0x9b, 0x7e, 0xf1, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x1d, 0x5c, 0x2a, 0x95,
-	0x12, 0x00, 0x00,
+	0xf0, 0x17, 0xf8, 0x21, 0x54, 0x5f, 0x66, 0x74, 0x71, 0x6c, 0x67, 0x0b, 0xde, 0xa6, 0xcf, 0xf9,
+	0xce, 0xfd, 0xf4, 0xe9, 0x23, 0xc1, 0xee, 0xcc, 0xf3, 0x66, 0x36, 0x6d, 0x4e, 0x6c, 0xef, 0x6c,
+	0xda, 0x74, 0xec, 0xe6, 0xf9, 0xb3, 0x31, 0x8d, 0xc8, 0xb3, 0xe6, 0xa9, 0x37, 0x36, 0x43, 0x1a,
+	0x9c, 0x5b, 0x13, 0xda, 0xf0, 0x03, 0x2f, 0xf2, 0xd0, 0x27, 0x02, 0xda, 0xe0, 0xd0, 0x86, 0x63,
+	0x37, 0x24, 0xb4, 0xf6, 0x99, 0xd4, 0x41, 0x7c, 0xab, 0x49, 0x5c, 0xd7, 0x8b, 0x48, 0x64, 0x79,
+	0x6e, 0x28, 0xc4, 0x6a, 0xf7, 0x25, 0x97, 0x9f, 0xc6, 0x67, 0x6f, 0x9a, 0xd4, 0xf1, 0xa3, 0xb9,
+	0x64, 0x3e, 0x58, 0x67, 0x46, 0x96, 0x43, 0xc3, 0x88, 0x38, 0xbe, 0x00, 0xa8, 0xff, 0xca, 0xc2,
+	0xb6, 0x11, 0x10, 0xcb, 0xb5, 0xdc, 0x59, 0xc7, 0xf5, 0xcf, 0x22, 0xd4, 0x07, 0x08, 0x27, 0xc4,
+	0xa6, 0x66, 0x64, 0xd1, 0xa0, 0x9a, 0xda, 0x49, 0xd5, 0xcb, 0x7b, 0x5f, 0x34, 0xae, 0xf0, 0xad,
+	0xb1, 0x22, 0xdb, 0x18, 0x32, 0x41, 0xc3, 0xa2, 0x01, 0x2e, 0x86, 0xf1, 0x27, 0x7a, 0x00, 0x25,
+	0x87, 0x84, 0x11, 0x0d, 0xcc, 0x68, 0xee, 0xd3, 0x6a, 0x7a, 0x27, 0x55, 0x2f, 0x62, 0x10, 0x24,
+	0x63, 0xee, 0x53, 0x06, 0xf8, 0x95, 0x17, 0xbc, 0x8b, 0x01, 0x19, 0x01, 0x10, 0x24, 0x0e, 0xd8,
+	0x83, 0xbb, 0x3e, 0x09, 0x88, 0x43, 0x99, 0x12, 0x96, 0xb4, 0x18, 0x9a, 0xe5, 0xd0, 0xdb, 0x09,
+	0x73, 0xc8, 0x79, 0x5c, 0xe6, 0x21, 0x6c, 0x49, 0xa5, 0x13, 0xef, 0xcc, 0x8d, 0xaa, 0xb9, 0x9d,
+	0x54, 0x3d, 0x83, 0xa5, 0xa1, 0x16, 0x23, 0xa1, 0x2f, 0xe1, 0xde, 0x25, 0xb5, 0x02, 0x9c, 0xe7,
+	0xe0, 0x3b, 0x6b, 0x7a, 0x85, 0xd4, 0x43, 0xd8, 0xf2, 0xc9, 0xe4, 0x1d, 0x99, 0x51, 0xf3, 0x2c,
+	0xb0, 0xc2, 0xea, 0xe6, 0x4e, 0xa6, 0x5e, 0xc4, 0x25, 0x49, 0x1b, 0x05, 0x56, 0x88, 0x1e, 0xc1,
+	0xb6, 0x3f, 0x8f, 0xde, 0x7a, 0xae, 0xe9, 0x78, 0xd3, 0x33, 0x9b, 0x56, 0x0b, 0xdc, 0xcf, 0x2d,
+	0x41, 0xec, 0x72, 0x1a, 0x42, 0x90, 0x25, 0xc1, 0x2c, 0xac, 0x02, 0x97, 0xe7, 0xdf, 0x68, 0x04,
+	0x95, 0xb7, 0x73, 0x9f, 0x06, 0x89, 0xe1, 0xb0, 0xba, 0xb5, 0x93, 0xaa, 0x97, 0xf6, 0x7e, 0x78,
+	0x65, 0x01, 0x8e, 0x56, 0xf0, 0x43, 0x9f, 0x4e, 0xf0, 0xba, 0x0e, 0x74, 0x0f, 0xf2, 0x01, 0x9d,
+	0x59, 0x9e, 0x5b, 0x2d, 0x73, 0x47, 0xe4, 0x49, 0xd5, 0xa0, 0x98, 0x54, 0x0c, 0x15, 0x21, 0xb7,
+	0xaf, 0x0d, 0x3b, 0x2d, 0x65, 0x03, 0x95, 0x01, 0x86, 0x86, 0xd6, 0x6b, 0x6b, 0xb8, 0x6d, 0x3e,
+	0x53, 0x52, 0x68, 0x1b, 0x8a, 0x03, 0xac, 0x77, 0x3b, 0xa3, 0xae, 0xf9, 0x4c, 0xc9, 0x20, 0x80,
+	0x7c, 0x6b, 0x34, 0x34, 0xfa, 0x5d, 0x25, 0xa7, 0xfe, 0x33, 0x0d, 0xe8, 0xb2, 0x0b, 0xe8, 0x08,
+	0xb2, 0x33, 0x8f, 0xd8, 0xb2, 0x7d, 0xbe, 0xfc, 0x0e, 0xde, 0x37, 0x0e, 0x3d, 0x62, 0xb3, 0x0a,
+	0x62, 0xae, 0x01, 0xfd, 0x04, 0xf2, 0x9c, 0x1f, 0x56, 0xd3, 0x3b, 0x99, 0x7a, 0x69, 0xef, 0xf1,
+	0x95, 0xba, 0x06, 0x2b, 0x49, 0x90, 0x52, 0xe8, 0x7b, 0x00, 0x0e, 0xb9, 0x30, 0xa3, 0xc0, 0x22,
+	0x76, 0xc8, 0x7b, 0x2b, 0x87, 0x8b, 0x0e, 0xb9, 0x30, 0x38, 0x01, 0x35, 0xe0, 0x36, 0x63, 0x33,
+	0xb0, 0x6d, 0x53, 0x3b, 0xc6, 0x65, 0x39, 0xee, 0x96, 0x43, 0x2e, 0x06, 0x92, 0x23, 0xf0, 0xaa,
+	0x06, 0x85, 0xd8, 0x41, 0xf4, 0x29, 0xdc, 0x3d, 0xec, 0x6b, 0x27, 0xa6, 0xf1, 0xf3, 0x81, 0x6e,
+	0x8e, 0x7a, 0xc3, 0x81, 0xde, 0xea, 0x1c, 0x74, 0xf4, 0xb6, 0xb2, 0x81, 0xb6, 0xa0, 0xd0, 0xd5,
+	0x5e, 0x75, 0xba, 0x9d, 0xd7, 0xba, 0x92, 0xe2, 0xa7, 0x4e, 0x4f, 0x9c, 0xd2, 0xea, 0x3f, 0xb2,
+	0xb0, 0xbd, 0xe2, 0x2b, 0xfa, 0x01, 0x94, 0x17, 0x8d, 0xe8, 0x12, 0x87, 0xf2, 0xbc, 0x15, 0xf1,
+	0x76, 0x42, 0xed, 0x11, 0x87, 0xb2, 0xa4, 0x26, 0x5d, 0x7f, 0x5d, 0x52, 0x57, 0x94, 0x2f, 0x4e,
+	0x22, 0xa9, 0x4c, 0x03, 0xba, 0x0f, 0x45, 0xc7, 0x72, 0xcd, 0x73, 0x62, 0x9f, 0x89, 0x0b, 0x99,
+	0xc2, 0x05, 0xc7, 0x72, 0x5f, 0xb2, 0x33, 0x67, 0x92, 0x0b, 0xc9, 0xcc, 0x48, 0x26, 0xb9, 0x10,
+	0xcc, 0xa7, 0x80, 0x26, 0x24, 0xa2, 0x33, 0x2f, 0xb0, 0x26, 0xc4, 0x16, 0xa0, 0xb0, 0x9a, 0xe3,
+	0x3d, 0x7c, 0x6b, 0x89, 0xc3, 0xd1, 0x21, 0xfa, 0x1c, 0x2a, 0x53, 0x2b, 0x9c, 0x04, 0x34, 0xa2,
+	0x31, 0x36, 0xbf, 0x93, 0xa9, 0xa7, 0x70, 0x39, 0x26, 0x4b, 0xe0, 0x62, 0xea, 0xb0, 0x08, 0x37,
+	0x6f, 0x98, 0x3a, 0xab, 0x11, 0x8a, 0x1e, 0x66, 0xd1, 0xc9, 0xa9, 0x33, 0xf7, 0xa9, 0x3a, 0x5b,
+	0x4a, 0x32, 0xaf, 0xd6, 0xf7, 0xa1, 0x36, 0xd0, 0xb0, 0xd6, 0xd5, 0x0d, 0x1d, 0x7f, 0xa8, 0x64,
+	0x00, 0xf9, 0x76, 0x7f, 0xb4, 0x7f, 0xc2, 0x0a, 0x56, 0x82, 0xcd, 0x4e, 0xcf, 0xd0, 0x0f, 0x75,
+	0xac, 0xa4, 0x51, 0x05, 0x4a, 0x2d, 0xcd, 0xd0, 0x0f, 0xfb, 0xb8, 0xd3, 0xd2, 0x4e, 0x94, 0x0c,
+	0x2b, 0x67, 0xbb, 0x33, 0x6c, 0x61, 0xdd, 0xd0, 0x95, 0xac, 0xfa, 0x8b, 0xf8, 0x12, 0x31, 0x23,
+	0x05, 0xc8, 0xf6, 0xfa, 0x3d, 0x5d, 0xd9, 0x40, 0x77, 0xe1, 0xd6, 0xa8, 0xd7, 0x31, 0xcc, 0x93,
+	0x4e, 0x4f, 0xd7, 0xb0, 0x39, 0x6c, 0x69, 0x5c, 0x33, 0x82, 0xb2, 0x20, 0xf7, 0x0f, 0x25, 0x2d,
+	0x8d, 0x6a, 0x70, 0x8f, 0xd3, 0xb0, 0xfe, 0x52, 0xc7, 0x43, 0x7d, 0x89, 0x97, 0x51, 0xff, 0x92,
+	0x85, 0x3b, 0xab, 0x97, 0xa4, 0x7f, 0x16, 0xb1, 0x31, 0xfd, 0x29, 0x14, 0x78, 0xaf, 0x9a, 0xd6,
+	0x54, 0x76, 0xcb, 0x26, 0x3f, 0x77, 0xa6, 0xc8, 0xbe, 0x3c, 0x45, 0xc4, 0xdd, 0xd9, 0xff, 0xc8,
+	0x7b, 0x28, 0x4c, 0xac, 0x11, 0x43, 0xdd, 0x8d, 0x82, 0xf9, 0xe5, 0xe1, 0x42, 0x61, 0xeb, 0x8d,
+	0xe5, 0x12, 0xdb, 0x74, 0x68, 0x14, 0x58, 0x13, 0xde, 0x31, 0xff, 0xa3, 0xa9, 0x2e, 0xd7, 0x84,
+	0x4b, 0x5c, 0xaf, 0x38, 0xa0, 0x09, 0x94, 0x88, 0x1d, 0x1b, 0x61, 0x17, 0x34, 0xf3, 0x7f, 0xb2,
+	0x02, 0xc4, 0x96, 0x36, 0xc2, 0xda, 0x74, 0x3d, 0xd9, 0xd2, 0xf8, 0x23, 0xd8, 0x8e, 0xe4, 0x43,
+	0x67, 0x86, 0x11, 0xf5, 0x79, 0xc6, 0x33, 0x78, 0x2b, 0x26, 0x0e, 0x23, 0xea, 0xb3, 0x5e, 0xf7,
+	0xc6, 0xa7, 0x74, 0x12, 0x59, 0xe7, 0x74, 0xe5, 0x6a, 0x95, 0x13, 0x32, 0x6f, 0xf6, 0xda, 0xfe,
+	0xba, 0x15, 0x91, 0x5a, 0xa4, 0x40, 0xe6, 0x1d, 0x9d, 0xcb, 0x6a, 0xb2, 0x4f, 0x74, 0x07, 0x72,
+	0x0b, 0x45, 0x45, 0x2c, 0x0e, 0x2f, 0xd2, 0x5f, 0xa5, 0xd4, 0x3f, 0xa5, 0xa0, 0x1c, 0xbf, 0xbd,
+	0xb2, 0x23, 0xf6, 0xe0, 0xee, 0xc4, 0x73, 0x7c, 0x9b, 0x46, 0x74, 0x2a, 0xe6, 0x98, 0x7c, 0xcd,
+	0x84, 0xb3, 0xb7, 0x13, 0x26, 0x1f, 0x65, 0xe2, 0x31, 0xd3, 0x21, 0x2f, 0x27, 0x9e, 0xe8, 0x90,
+	0xa7, 0xdf, 0x29, 0xa1, 0x58, 0x0a, 0xab, 0x7f, 0xcb, 0x40, 0x65, 0x10, 0xd0, 0xa9, 0x35, 0x61,
+	0x9b, 0x89, 0xd8, 0x23, 0x1e, 0x00, 0x38, 0xde, 0x94, 0xda, 0x4b, 0x03, 0xed, 0x68, 0x03, 0x17,
+	0x39, 0x8d, 0x8f, 0xb3, 0x47, 0xb0, 0x75, 0x4e, 0x83, 0xd0, 0xf2, 0x5c, 0x01, 0x49, 0x4b, 0x48,
+	0x49, 0x52, 0x39, 0xc8, 0x80, 0xd2, 0x94, 0x44, 0xc4, 0x7c, 0xe3, 0x05, 0x0e, 0x89, 0x78, 0x73,
+	0x95, 0xf7, 0x9e, 0x5f, 0x3d, 0x18, 0x56, 0x9d, 0x68, 0xb4, 0x49, 0x44, 0x0e, 0xb8, 0x28, 0x86,
+	0x69, 0xf2, 0xcd, 0x36, 0x0e, 0x8b, 0xf1, 0x4d, 0x9f, 0x44, 0x6f, 0x45, 0x33, 0x15, 0x31, 0x70,
+	0xd2, 0x80, 0x51, 0x18, 0xc0, 0xe3, 0x21, 0x72, 0x04, 0x5f, 0x1e, 0x8a, 0x18, 0x04, 0x89, 0x21,
+	0x50, 0x1d, 0x14, 0x36, 0x24, 0x57, 0x56, 0x0c, 0xb1, 0x35, 0x94, 0x1d, 0x72, 0xf1, 0xb3, 0xa5,
+	0x2d, 0x63, 0xf1, 0xf8, 0x6e, 0xae, 0x3c, 0xbe, 0x2f, 0x01, 0x16, 0xde, 0xa1, 0xfb, 0xf0, 0x49,
+	0x5b, 0x33, 0x34, 0xf3, 0xa0, 0x8f, 0xbb, 0x9a, 0xb1, 0x36, 0x9a, 0x0a, 0x90, 0x35, 0xf4, 0x57,
+	0x86, 0x78, 0x89, 0x8d, 0x03, 0x13, 0xeb, 0xad, 0x3e, 0x6e, 0x2b, 0x69, 0x36, 0x4d, 0x92, 0xa3,
+	0x79, 0xf8, 0xba, 0x33, 0x50, 0x32, 0xfb, 0x15, 0xd8, 0x16, 0x79, 0x97, 0x69, 0x54, 0x7f, 0x03,
+	0xca, 0x22, 0x2d, 0xb2, 0x57, 0xd6, 0xe2, 0x4b, 0x5d, 0x8a, 0x6f, 0x17, 0x14, 0x3f, 0x11, 0x92,
+	0xf1, 0xa5, 0x79, 0x7c, 0x95, 0x05, 0x5d, 0x04, 0xf8, 0x00, 0x4a, 0x34, 0x08, 0xbc, 0x38, 0x0b,
+	0x19, 0x8e, 0x02, 0x4e, 0xe2, 0x00, 0xf5, 0xaf, 0x79, 0xc8, 0x1c, 0x7b, 0x63, 0x74, 0x17, 0xf2,
+	0x6c, 0xeb, 0x4d, 0x06, 0x56, 0xee, 0xd4, 0x1b, 0x77, 0xa6, 0xa8, 0x0f, 0xe5, 0xe4, 0x72, 0xf1,
+	0x12, 0x70, 0x43, 0xd7, 0xbd, 0xf4, 0x2b, 0x4b, 0xe7, 0xd1, 0x06, 0x4e, 0x2e, 0xa7, 0xe8, 0xbc,
+	0xd1, 0x8a, 0xef, 0x42, 0xa5, 0x98, 0x4a, 0xf5, 0x8f, 0x6d, 0x9c, 0xa3, 0x8d, 0xe5, 0x38, 0x85,
+	0xda, 0x6f, 0xa0, 0x34, 0x09, 0x28, 0x89, 0xd8, 0x66, 0xec, 0x88, 0x57, 0xb8, 0xb4, 0x57, 0x8b,
+	0x35, 0xc6, 0x1b, 0x76, 0xc3, 0x88, 0x37, 0x6c, 0x0c, 0x02, 0xce, 0x08, 0xe8, 0x6b, 0x80, 0x30,
+	0x22, 0x41, 0x24, 0x64, 0x73, 0x37, 0xca, 0x16, 0x39, 0x9a, 0x8b, 0xfe, 0x08, 0x0a, 0xd4, 0x9d,
+	0x0a, 0xc1, 0xfc, 0x8d, 0x82, 0x9b, 0xd4, 0x9d, 0x72, 0xb1, 0xaf, 0x20, 0x17, 0x46, 0x24, 0x8a,
+	0x1f, 0x53, 0xf5, 0xca, 0xd0, 0x8f, 0xbd, 0x71, 0x63, 0xc8, 0x90, 0x58, 0x08, 0xb0, 0x69, 0x27,
+	0x0a, 0xea, 0xd0, 0x30, 0x24, 0xb3, 0x64, 0x7d, 0xe5, 0xc4, 0xae, 0xa0, 0x21, 0x0c, 0x95, 0xa4,
+	0x6a, 0xa2, 0x6f, 0xaa, 0x45, 0xee, 0xdc, 0xe7, 0x37, 0x96, 0x4d, 0xf4, 0xe0, 0x51, 0x0a, 0x27,
+	0x75, 0x97, 0x5d, 0xf9, 0x0a, 0x6e, 0x2d, 0x15, 0x4e, 0x6a, 0x05, 0xae, 0x75, 0xf7, 0x23, 0x2a,
+	0x97, 0xe8, 0x5d, 0x2a, 0xbf, 0xa0, 0xa9, 0xbf, 0x4d, 0x41, 0x8e, 0xc7, 0xc8, 0xde, 0xe5, 0xa1,
+	0xa1, 0x19, 0x1f, 0x78, 0xfd, 0x7f, 0x3a, 0xd2, 0x47, 0x7a, 0x3b, 0x59, 0x77, 0x07, 0x1a, 0xee,
+	0xf4, 0x0e, 0x95, 0x34, 0x5b, 0x06, 0xf0, 0xa8, 0xd7, 0x63, 0x87, 0x0c, 0xe3, 0x0d, 0x47, 0xad,
+	0x96, 0xae, 0xb7, 0xf5, 0xb6, 0x92, 0x65, 0x62, 0x07, 0x5a, 0xe7, 0x44, 0x6f, 0x2b, 0x39, 0xb6,
+	0x35, 0xb7, 0xb4, 0x5e, 0x4b, 0x3f, 0x39, 0x61, 0xd0, 0x3c, 0x83, 0xca, 0xb3, 0xde, 0x56, 0x36,
+	0xf7, 0x37, 0x21, 0xc7, 0x5b, 0x71, 0xbf, 0x00, 0x79, 0x11, 0x9a, 0xfa, 0x1a, 0x94, 0x16, 0x6f,
+	0x91, 0x63, 0x6f, 0x8c, 0xe9, 0x2f, 0xcf, 0x68, 0xc8, 0xc7, 0x85, 0x4f, 0x02, 0x2a, 0xc7, 0x76,
+	0x11, 0xcb, 0x13, 0x6a, 0x40, 0xe6, 0xd4, 0x1b, 0xcb, 0xab, 0xf1, 0xd9, 0x75, 0xc5, 0xc4, 0x0c,
+	0xa8, 0xbe, 0x87, 0xca, 0x89, 0x15, 0x46, 0xc7, 0xde, 0x38, 0xbc, 0x49, 0xf5, 0x3d, 0xc8, 0xbf,
+	0xb1, 0xec, 0x88, 0x06, 0xf2, 0x99, 0x91, 0x27, 0xb6, 0x3a, 0xfb, 0xec, 0x67, 0x4e, 0xe4, 0xbd,
+	0xa3, 0xae, 0xfc, 0xad, 0x55, 0x64, 0x14, 0x83, 0x11, 0xd8, 0x9e, 0xc8, 0xd9, 0xa1, 0xf5, 0xad,
+	0xe8, 0xe8, 0x1c, 0x2e, 0x30, 0xc2, 0xd0, 0xfa, 0x96, 0xaa, 0x36, 0x28, 0x0b, 0xf3, 0xa1, 0xef,
+	0xb9, 0x21, 0x45, 0x5f, 0x40, 0xf6, 0xd4, 0x1b, 0x87, 0xd5, 0x14, 0x7f, 0x6a, 0xae, 0x8f, 0x81,
+	0x23, 0xd1, 0x63, 0xa8, 0xb8, 0xf4, 0x82, 0x0d, 0xa9, 0xc4, 0x0d, 0xe1, 0xe2, 0x36, 0x23, 0x0f,
+	0x62, 0x57, 0xd4, 0x47, 0xb0, 0x7d, 0x48, 0xa3, 0xa5, 0x2c, 0x22, 0xc8, 0x2e, 0xed, 0xd1, 0xfc,
+	0x5b, 0x7d, 0x0c, 0x4a, 0x8b, 0xb8, 0x13, 0x6a, 0x5f, 0x8f, 0xdb, 0xfb, 0x7b, 0x16, 0xe0, 0xd8,
+	0x1b, 0x0f, 0xc5, 0x8f, 0x73, 0xf4, 0x87, 0x14, 0x14, 0x93, 0x2a, 0xa1, 0xab, 0xfb, 0x70, 0xbd,
+	0x92, 0xb5, 0x6b, 0x03, 0x54, 0x1b, 0xbf, 0xfb, 0xf7, 0x7f, 0xfe, 0x9c, 0xae, 0xab, 0x0f, 0x93,
+	0x7f, 0x04, 0x7e, 0x2d, 0xca, 0xf1, 0x63, 0x3f, 0xf0, 0xd8, 0xba, 0x10, 0x36, 0x9f, 0xbc, 0x6f,
+	0xb2, 0x2c, 0xbc, 0x60, 0xf5, 0x44, 0x7f, 0x4c, 0x41, 0x21, 0xce, 0x28, 0xba, 0x7a, 0x8e, 0xad,
+	0xd5, 0xbc, 0xb6, 0xfb, 0x11, 0x48, 0x51, 0x1e, 0x75, 0x97, 0x7b, 0xf4, 0x08, 0xdd, 0xec, 0x11,
+	0x9a, 0x43, 0x5e, 0xe4, 0x1b, 0x5d, 0x3d, 0xa4, 0x57, 0x0a, 0x72, 0x43, 0x32, 0x3e, 0x60, 0x9a,
+	0x95, 0x62, 0xc9, 0x30, 0xb7, 0xdb, 0x7c, 0xf2, 0x1e, 0xfd, 0x9e, 0x95, 0x23, 0x2e, 0xe3, 0x75,
+	0xe5, 0x58, 0x2b, 0x75, 0xed, 0xde, 0xa5, 0xa1, 0xa9, 0x3b, 0x7e, 0x34, 0x57, 0x9f, 0x73, 0xdb,
+	0x4f, 0xd5, 0xfa, 0x8d, 0xb6, 0x5f, 0x4c, 0xb8, 0xce, 0x17, 0xa9, 0x27, 0xfb, 0x1e, 0x3c, 0x98,
+	0x78, 0xce, 0x25, 0xe3, 0xc4, 0xb7, 0x62, 0x07, 0xf6, 0x2b, 0x8b, 0x1e, 0x1a, 0x30, 0x8b, 0x83,
+	0xd4, 0xeb, 0xaf, 0x25, 0x7e, 0xe6, 0xd9, 0xc4, 0x9d, 0x35, 0xbc, 0x60, 0xd6, 0x9c, 0x51, 0x97,
+	0xfb, 0xd3, 0x14, 0x2c, 0xe2, 0x5b, 0xe1, 0xa5, 0xff, 0x8a, 0xbe, 0x71, 0xec, 0x71, 0x9e, 0xa3,
+	0x9e, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0xbd, 0xb0, 0x8b, 0x60, 0x50, 0x12, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/job_service.proto b/googleapis/cloud/ml/v1beta1/job_service.proto
deleted file mode 100644
index 93c5904c..00000000
--- a/googleapis/cloud/ml/v1beta1/job_service.proto
+++ /dev/null
@@ -1,529 +0,0 @@
-// 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
index 36824560..583a76bc 100644
--- a/googleapis/cloud/ml/v1beta1/model_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/model_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto
+// source: google/cloud/ml/v1beta1/model_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 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/api/annotations"
 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"
@@ -47,6 +47,20 @@ func (m *Model) String() string            { return proto.CompactTextString(m) }
 func (*Model) ProtoMessage()               {}
 func (*Model) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Model) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Model) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Model) GetDefaultVersion() *Version {
 	if m != nil {
 		return m.DefaultVersion
@@ -95,6 +109,34 @@ func (m *Version) String() string            { return proto.CompactTextString(m)
 func (*Version) ProtoMessage()               {}
 func (*Version) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Version) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Version) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Version) GetIsDefault() bool {
+	if m != nil {
+		return m.IsDefault
+	}
+	return false
+}
+
+func (m *Version) GetDeploymentUri() string {
+	if m != nil {
+		return m.DeploymentUri
+	}
+	return ""
+}
+
 func (m *Version) GetCreateTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -124,6 +166,13 @@ func (m *CreateModelRequest) String() string            { return proto.CompactTe
 func (*CreateModelRequest) ProtoMessage()               {}
 func (*CreateModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *CreateModelRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateModelRequest) GetModel() *Model {
 	if m != nil {
 		return m.Model
@@ -155,6 +204,27 @@ func (m *ListModelsRequest) String() string            { return proto.CompactTex
 func (*ListModelsRequest) ProtoMessage()               {}
 func (*ListModelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *ListModelsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListModelsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListModelsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListModels method.
 type ListModelsResponse struct {
 	// The list of models.
@@ -176,6 +246,13 @@ func (m *ListModelsResponse) GetModels() []*Model {
 	return nil
 }
 
+func (m *ListModelsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetModel method.
 type GetModelRequest struct {
 	// Required. The name of the model.
@@ -189,6 +266,13 @@ func (m *GetModelRequest) String() string            { return proto.CompactTextS
 func (*GetModelRequest) ProtoMessage()               {}
 func (*GetModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *GetModelRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the DeleteModel method.
 type DeleteModelRequest struct {
 	// Required. The name of the model.
@@ -202,6 +286,13 @@ func (m *DeleteModelRequest) String() string            { return proto.CompactTe
 func (*DeleteModelRequest) ProtoMessage()               {}
 func (*DeleteModelRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *DeleteModelRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Uploads the provided trained model version to Cloud Machine Learning.
 type CreateVersionRequest struct {
 	// Required. The name of the model.
@@ -217,6 +308,13 @@ func (m *CreateVersionRequest) String() string            { return proto.Compact
 func (*CreateVersionRequest) ProtoMessage()               {}
 func (*CreateVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *CreateVersionRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateVersionRequest) GetVersion() *Version {
 	if m != nil {
 		return m.Version
@@ -248,6 +346,27 @@ func (m *ListVersionsRequest) String() string            { return proto.CompactT
 func (*ListVersionsRequest) ProtoMessage()               {}
 func (*ListVersionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *ListVersionsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListVersionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // Response message for the ListVersions method.
 type ListVersionsResponse struct {
 	// The list of versions.
@@ -269,6 +388,13 @@ func (m *ListVersionsResponse) GetVersions() []*Version {
 	return nil
 }
 
+func (m *ListVersionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for the GetVersion method.
 type GetVersionRequest struct {
 	// Required. The name of the version.
@@ -282,6 +408,13 @@ func (m *GetVersionRequest) String() string            { return proto.CompactTex
 func (*GetVersionRequest) ProtoMessage()               {}
 func (*GetVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *GetVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the DeleteVerionRequest method.
 type DeleteVersionRequest struct {
 	// Required. The name of the version. You can get the names of all the
@@ -297,6 +430,13 @@ func (m *DeleteVersionRequest) String() string            { return proto.Compact
 func (*DeleteVersionRequest) ProtoMessage()               {}
 func (*DeleteVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *DeleteVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for the SetDefaultVersion request.
 type SetDefaultVersionRequest struct {
 	// Required. The name of the version to make the default for the model. You
@@ -312,6 +452,13 @@ func (m *SetDefaultVersionRequest) String() string            { return proto.Com
 func (*SetDefaultVersionRequest) ProtoMessage()               {}
 func (*SetDefaultVersionRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *SetDefaultVersionRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Model)(nil), "google.cloud.ml.v1beta1.Model")
 	proto.RegisterType((*Version)(nil), "google.cloud.ml.v1beta1.Version")
@@ -763,71 +910,68 @@ var _ModelService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/model_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/model_service.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/model_service.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 921 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xdc, 0x44,
-	0x14, 0x97, 0xd3, 0x26, 0x4d, 0xde, 0x76, 0x1b, 0x65, 0x88, 0x60, 0xb5, 0x28, 0xb0, 0x32, 0x0a,
-	0x44, 0x9b, 0xd6, 0x43, 0x52, 0x14, 0xa9, 0x5b, 0x28, 0x52, 0x88, 0x54, 0x15, 0x81, 0x88, 0x36,
-	0x2d, 0x57, 0xcb, 0xbb, 0xfb, 0x62, 0xa6, 0xd8, 0x33, 0xc6, 0x33, 0x1b, 0x91, 0x42, 0x0f, 0xf4,
-	0x80, 0x38, 0x71, 0x00, 0x71, 0xe5, 0xc2, 0x9d, 0x2f, 0xc3, 0x57, 0x40, 0x7c, 0x0e, 0xe4, 0x99,
-	0x71, 0xd6, 0xfb, 0xc7, 0x6b, 0x07, 0x89, 0xcb, 0xca, 0x7e, 0x7e, 0x7f, 0x7e, 0xf3, 0xfb, 0xbd,
-	0xf7, 0x66, 0xe1, 0xd3, 0x50, 0x88, 0x30, 0x42, 0x2f, 0x14, 0x51, 0xc0, 0x43, 0x4f, 0xa4, 0x21,
-	0x0d, 0x91, 0x27, 0xa9, 0x50, 0x82, 0x9a, 0x4f, 0x41, 0xc2, 0x24, 0x1d, 0x46, 0x62, 0x3c, 0xa2,
-	0x71, 0x44, 0x2f, 0x0e, 0x06, 0xa8, 0x82, 0x03, 0x1a, 0x8b, 0x11, 0x46, 0xbe, 0xc4, 0xf4, 0x82,
-	0x0d, 0xd1, 0xd3, 0xfe, 0xe4, 0x0d, 0x9b, 0x4b, 0x3b, 0x7b, 0x71, 0xe4, 0x59, 0xe7, 0xf6, 0x93,
-	0x7a, 0x45, 0x82, 0x84, 0x51, 0x9b, 0x71, 0x28, 0xf8, 0x39, 0x0b, 0x69, 0xc0, 0xb9, 0x50, 0x81,
-	0x62, 0x82, 0x4b, 0x53, 0xa3, 0x7d, 0x5c, 0x2f, 0x55, 0x24, 0x78, 0x98, 0x8e, 0x39, 0x67, 0x3c,
-	0xa4, 0x22, 0xc1, 0x74, 0x2a, 0xc7, 0xfd, 0x90, 0xa9, 0xaf, 0xc6, 0x03, 0x6f, 0x28, 0x62, 0x6a,
-	0xf2, 0x50, 0xfd, 0x61, 0x30, 0x3e, 0xa7, 0x89, 0xba, 0x4c, 0x50, 0x52, 0x8c, 0x13, 0x75, 0x69,
-	0x7e, 0x6d, 0xd0, 0xc3, 0xea, 0x20, 0xc5, 0x62, 0x94, 0x2a, 0x88, 0x93, 0xc9, 0x93, 0x09, 0x76,
-	0x7f, 0x72, 0x60, 0xf5, 0xf3, 0x8c, 0x31, 0x42, 0xe0, 0x26, 0x0f, 0x62, 0x6c, 0x39, 0x1d, 0x67,
-	0x6f, 0xa3, 0xaf, 0x9f, 0x49, 0x07, 0x1a, 0x23, 0x94, 0xc3, 0x94, 0x25, 0x19, 0xca, 0xd6, 0x8a,
-	0xfe, 0x54, 0x34, 0x91, 0x27, 0xb0, 0x39, 0xc2, 0xf3, 0x60, 0x1c, 0x29, 0xff, 0x02, 0x53, 0x99,
-	0x79, 0xdd, 0xe8, 0x38, 0x7b, 0x8d, 0xc3, 0x8e, 0x57, 0xc2, 0xb9, 0xf7, 0xa5, 0xf1, 0xeb, 0xdf,
-	0xb1, 0x81, 0xf6, 0xdd, 0x7d, 0xb5, 0x02, 0xb7, 0xec, 0xf3, 0x7f, 0x04, 0xb3, 0x03, 0xc0, 0xa4,
-	0x6f, 0xd3, 0x6a, 0x1c, 0xeb, 0xfd, 0x0d, 0x26, 0x4f, 0x8c, 0x81, 0xec, 0xc2, 0x9d, 0x11, 0x26,
-	0x91, 0xb8, 0x8c, 0x91, 0x2b, 0x7f, 0x9c, 0xb2, 0xd6, 0x4d, 0x9d, 0xa3, 0x39, 0xb1, 0x3e, 0x4b,
-	0x19, 0x79, 0x08, 0x8d, 0x61, 0x8a, 0x81, 0x42, 0x3f, 0x23, 0xab, 0xb5, 0xaa, 0x8f, 0xd3, 0xce,
-	0x8f, 0x93, 0x53, 0xeb, 0x3d, 0xcd, 0x99, 0xec, 0x83, 0x71, 0xcf, 0x0c, 0xe4, 0x11, 0x34, 0xa3,
-	0x40, 0x2a, 0x7f, 0x2c, 0x6d, 0xf8, 0x5a, 0x65, 0x78, 0x23, 0x0b, 0x78, 0x26, 0x75, 0xbc, 0x3b,
-	0x00, 0xf2, 0x89, 0xce, 0xa6, 0x45, 0xe9, 0xe3, 0x37, 0x63, 0x94, 0x8a, 0xbc, 0x0e, 0x6b, 0x49,
-	0x90, 0x22, 0x57, 0x96, 0x10, 0xfb, 0x46, 0x3e, 0x80, 0x55, 0xdd, 0xee, 0x9a, 0x8c, 0xc6, 0xe1,
-	0x5b, 0xa5, 0x9c, 0x9b, 0x6c, 0xc6, 0xd9, 0x0d, 0x61, 0xeb, 0x33, 0x26, 0x95, 0xb6, 0xc9, 0xaa,
-	0x12, 0x3b, 0x00, 0x49, 0x10, 0xa2, 0xaf, 0xc4, 0xd7, 0xc8, 0x2d, 0x61, 0x1b, 0x99, 0xe5, 0x69,
-	0x66, 0x20, 0x6f, 0x82, 0x7e, 0xf1, 0x25, 0x7b, 0x61, 0xa8, 0x5a, 0xed, 0xaf, 0x67, 0x86, 0x33,
-	0xf6, 0x02, 0x5d, 0x05, 0xa4, 0x58, 0x48, 0x26, 0x82, 0x4b, 0x24, 0x47, 0xb0, 0xa6, 0x71, 0xc8,
-	0x96, 0xd3, 0xb9, 0x51, 0x03, 0xb5, 0xf5, 0x26, 0xef, 0xc2, 0x26, 0xc7, 0x6f, 0x95, 0x5f, 0x80,
-	0x63, 0x7a, 0xa0, 0x99, 0x99, 0x4f, 0x73, 0x48, 0xee, 0x2e, 0x6c, 0x3e, 0x46, 0x35, 0xc5, 0xdf,
-	0x82, 0x76, 0x72, 0xf7, 0x80, 0x9c, 0x60, 0x84, 0x33, 0x4c, 0x2f, 0xf2, 0x7c, 0x0e, 0xdb, 0x46,
-	0x93, 0xbc, 0x73, 0x2b, 0x28, 0xeb, 0xc1, 0xad, 0x7c, 0x16, 0x56, 0x6a, 0xce, 0x42, 0x1e, 0xe0,
-	0x32, 0x78, 0x2d, 0xa3, 0xcc, 0xda, 0xff, 0x57, 0x75, 0xbe, 0x87, 0xed, 0xe9, 0x52, 0x56, 0x9f,
-	0x0f, 0x61, 0xdd, 0xa2, 0xc9, 0x15, 0xaa, 0xc6, 0x7f, 0x15, 0x51, 0x5b, 0xa5, 0xf7, 0x60, 0xeb,
-	0x31, 0xaa, 0x19, 0x46, 0x17, 0xb1, 0xdf, 0x85, 0x6d, 0xa3, 0x53, 0x0d, 0x5f, 0x0f, 0x5a, 0x67,
-	0xa8, 0x4e, 0xa6, 0xf6, 0xca, 0x12, 0xff, 0xc3, 0x7f, 0x00, 0x6e, 0x6b, 0xf9, 0xcf, 0xcc, 0x72,
-	0x27, 0x3f, 0x3b, 0xd0, 0x28, 0xcc, 0x1f, 0xd9, 0x2f, 0x3d, 0xf9, 0xfc, 0x94, 0xb6, 0x2b, 0x1a,
-	0xd9, 0x3d, 0x7c, 0xf5, 0xd7, 0xdf, 0xbf, 0xae, 0xdc, 0x75, 0xdf, 0xb9, 0xba, 0xab, 0xbe, 0x33,
-	0x32, 0x7e, 0x94, 0xa4, 0xe2, 0x39, 0x0e, 0x95, 0xa4, 0xdd, 0x97, 0xe6, 0xfe, 0x92, 0x3d, 0x33,
-	0xab, 0xe4, 0x17, 0x07, 0x60, 0x32, 0x43, 0xa4, 0x5b, 0x5a, 0x62, 0x6e, 0xa2, 0xdb, 0xfb, 0xb5,
-	0x7c, 0x8d, 0xe8, 0xee, 0xbe, 0xc6, 0xb6, 0x4b, 0xea, 0x60, 0x23, 0x3f, 0x38, 0xb0, 0x9e, 0x8f,
-	0x18, 0xd9, 0x2b, 0x2d, 0x33, 0x33, 0x85, 0x95, 0xfc, 0x2c, 0xc0, 0x90, 0xa9, 0x54, 0x40, 0x60,
-	0x01, 0xd0, 0xee, 0x4b, 0xf2, 0xa3, 0x03, 0x8d, 0xc2, 0xfc, 0x2e, 0x51, 0x6a, 0x7e, 0xca, 0xdb,
-	0x3b, 0xb9, 0x73, 0xe1, 0x36, 0xf6, 0xbe, 0xc8, 0x6f, 0xe3, 0x1c, 0x48, 0xb7, 0x16, 0x90, 0xdf,
-	0x1d, 0x68, 0x4e, 0xad, 0x07, 0x72, 0xaf, 0xa2, 0x69, 0xa6, 0x1b, 0xb3, 0x0a, 0xcc, 0xc7, 0x1a,
-	0xcc, 0x03, 0xd7, 0x5b, 0xa2, 0xcc, 0x04, 0x0e, 0xcd, 0x07, 0xb1, 0x97, 0xaf, 0x14, 0xf2, 0x87,
-	0x03, 0xb7, 0x8b, 0x83, 0x4e, 0xee, 0x2e, 0x6d, 0x8c, 0x99, 0xd5, 0xd3, 0xbe, 0x57, 0xd3, 0xdb,
-	0x36, 0xd2, 0x91, 0x86, 0xfb, 0x3e, 0xb9, 0x26, 0x5c, 0xdd, 0xe8, 0x93, 0x85, 0xb0, 0xa4, 0xd1,
-	0xe7, 0xb6, 0x46, 0xbb, 0x72, 0x3d, 0x2d, 0x02, 0x55, 0x26, 0xe8, 0x15, 0xa2, 0x4c, 0xdb, 0xdf,
-	0x1c, 0x68, 0x4e, 0x2d, 0x9f, 0x25, 0xda, 0x2e, 0x5a, 0x52, 0x55, 0xda, 0x5a, 0x5c, 0xdd, 0xeb,
-	0xe2, 0xfa, 0xd3, 0x81, 0xad, 0xb9, 0x45, 0x47, 0x0e, 0x4a, 0xb1, 0x95, 0x2d, 0xc5, 0x1a, 0xd4,
-	0x9d, 0x68, 0x88, 0x8f, 0xdc, 0x07, 0xd7, 0x83, 0xd8, 0x93, 0x57, 0x25, 0x7b, 0x4e, 0xf7, 0xf8,
-	0x08, 0xde, 0x1e, 0x8a, 0x78, 0xae, 0x58, 0x90, 0xb0, 0xbc, 0xe0, 0xf1, 0x56, 0x71, 0x11, 0x9f,
-	0x66, 0x7f, 0x93, 0x4e, 0x9d, 0xc1, 0x9a, 0xfe, 0xbf, 0x74, 0xff, 0xdf, 0x00, 0x00, 0x00, 0xff,
-	0xff, 0xb6, 0xdd, 0x81, 0x3c, 0x0d, 0x0c, 0x00, 0x00,
+	// 904 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0x4f, 0x6f, 0xe3, 0x44,
+	0x14, 0x97, 0xb3, 0x9b, 0x6c, 0xfa, 0xb2, 0xd9, 0x2a, 0x43, 0x05, 0x91, 0x97, 0xb2, 0x91, 0x57,
+	0x85, 0x28, 0xd9, 0xb5, 0x69, 0x40, 0x2b, 0x35, 0x0b, 0x8b, 0xb4, 0x44, 0xaa, 0x90, 0x40, 0x54,
+	0x69, 0xcb, 0x81, 0x8b, 0xe5, 0x24, 0x53, 0x6b, 0x8a, 0xed, 0x71, 0x3d, 0x93, 0x8a, 0x16, 0x7a,
+	0xa0, 0x07, 0xc4, 0x89, 0x03, 0x88, 0x2b, 0x17, 0xee, 0x7c, 0x19, 0xbe, 0x02, 0xe2, 0x73, 0x20,
+	0xcf, 0x8c, 0x13, 0xe7, 0x8f, 0x63, 0x17, 0x89, 0x9b, 0xe7, 0xcd, 0xef, 0xcd, 0xfb, 0xcd, 0xfb,
+	0xbd, 0xf7, 0xc6, 0xd0, 0x75, 0x29, 0x75, 0x3d, 0x6c, 0x8d, 0x3d, 0x3a, 0x9d, 0x58, 0xbe, 0x67,
+	0x5d, 0xee, 0x8f, 0x30, 0x77, 0xf6, 0x2d, 0x9f, 0x4e, 0xb0, 0x67, 0x33, 0x1c, 0x5d, 0x92, 0x31,
+	0x36, 0xc3, 0x88, 0x72, 0x8a, 0xde, 0x92, 0x60, 0x53, 0x80, 0x4d, 0xdf, 0x33, 0x15, 0x58, 0x7f,
+	0x5b, 0x9d, 0xe2, 0x84, 0xc4, 0x72, 0x82, 0x80, 0x72, 0x87, 0x13, 0x1a, 0x30, 0xe9, 0xa6, 0x3f,
+	0x55, 0xbb, 0x1e, 0x0d, 0xdc, 0x68, 0x1a, 0x04, 0x24, 0x70, 0x2d, 0x1a, 0xe2, 0x68, 0x01, 0xf4,
+	0x58, 0x81, 0xc4, 0x6a, 0x34, 0x3d, 0xb3, 0xb0, 0x1f, 0xf2, 0x2b, 0xb5, 0xf9, 0x64, 0x79, 0x93,
+	0x13, 0x1f, 0x33, 0xee, 0xf8, 0xa1, 0x04, 0x18, 0x3f, 0x69, 0x50, 0xfe, 0x22, 0x66, 0x8c, 0x10,
+	0xdc, 0x0f, 0x1c, 0x1f, 0x37, 0xb5, 0x96, 0xd6, 0xde, 0x1a, 0x8a, 0x6f, 0xd4, 0x82, 0xda, 0x04,
+	0xb3, 0x71, 0x44, 0xc2, 0x38, 0x62, 0xb3, 0x24, 0xb6, 0xd2, 0x26, 0xf4, 0x19, 0x6c, 0x4f, 0xf0,
+	0x99, 0x33, 0xf5, 0xb8, 0x7d, 0x89, 0x23, 0x16, 0xa3, 0xee, 0xb5, 0xb4, 0x76, 0xad, 0xd7, 0x32,
+	0x33, 0xee, 0x6c, 0x7e, 0x25, 0x71, 0xc3, 0x47, 0xca, 0x51, 0xad, 0x8d, 0xdb, 0x12, 0x3c, 0x50,
+	0xdf, 0xff, 0x91, 0xcc, 0x2e, 0x00, 0x61, 0xb6, 0x3a, 0x56, 0xf0, 0xa8, 0x0e, 0xb7, 0x08, 0x1b,
+	0x48, 0x03, 0xda, 0x83, 0x47, 0x13, 0x1c, 0x7a, 0xf4, 0xca, 0xc7, 0x01, 0xb7, 0xa7, 0x11, 0x69,
+	0xde, 0x17, 0x67, 0xd4, 0xe7, 0xd6, 0xd3, 0x88, 0xa0, 0x97, 0x50, 0x1b, 0x47, 0xd8, 0xe1, 0xd8,
+	0x8e, 0x93, 0xd5, 0x2c, 0x8b, 0xeb, 0xe8, 0xc9, 0x75, 0x92, 0x4c, 0x9a, 0x27, 0x49, 0x26, 0x87,
+	0x20, 0xe1, 0xb1, 0x01, 0xbd, 0x82, 0xba, 0xe7, 0x30, 0x6e, 0x4f, 0x99, 0x72, 0xaf, 0xe4, 0xba,
+	0xd7, 0x62, 0x87, 0x53, 0x26, 0xfc, 0x8d, 0x11, 0xa0, 0x4f, 0xc5, 0x69, 0x42, 0x94, 0x21, 0xbe,
+	0x98, 0x62, 0xc6, 0xd1, 0x9b, 0x50, 0x09, 0x9d, 0x08, 0x07, 0x5c, 0x25, 0x44, 0xad, 0xd0, 0x87,
+	0x50, 0x16, 0xe5, 0x26, 0x92, 0x51, 0xeb, 0xbd, 0x93, 0x99, 0x73, 0x79, 0x9a, 0x04, 0x1b, 0x2e,
+	0x34, 0x3e, 0x27, 0x8c, 0x0b, 0x1b, 0xcb, 0x0b, 0xb1, 0x0b, 0x10, 0x3a, 0x2e, 0xb6, 0x39, 0xfd,
+	0x06, 0x07, 0x2a, 0x61, 0x5b, 0xb1, 0xe5, 0x24, 0x36, 0xa0, 0xc7, 0x20, 0x16, 0x36, 0x23, 0xd7,
+	0x32, 0x55, 0xe5, 0x61, 0x35, 0x36, 0x1c, 0x93, 0x6b, 0x6c, 0x70, 0x40, 0xe9, 0x40, 0x2c, 0xa4,
+	0x01, 0xc3, 0xe8, 0x05, 0x54, 0x04, 0x0f, 0xd6, 0xd4, 0x5a, 0xf7, 0x0a, 0xb0, 0x56, 0x68, 0xf4,
+	0x2e, 0x6c, 0x07, 0xf8, 0x5b, 0x6e, 0xa7, 0xe8, 0xc8, 0x1a, 0xa8, 0xc7, 0xe6, 0xa3, 0x84, 0x92,
+	0xb1, 0x07, 0xdb, 0x87, 0x98, 0x2f, 0xe4, 0x6f, 0x4d, 0x39, 0x19, 0x6d, 0x40, 0x03, 0xec, 0xe1,
+	0xa5, 0x4c, 0xaf, 0x43, 0x9e, 0xc3, 0x8e, 0xd4, 0x24, 0xa9, 0xdc, 0x9c, 0x94, 0xf5, 0xe1, 0x41,
+	0xd2, 0x0b, 0xa5, 0x82, 0xbd, 0x90, 0x38, 0x18, 0x04, 0xde, 0x88, 0x53, 0xa6, 0xec, 0xff, 0xab,
+	0x3a, 0xdf, 0xc3, 0xce, 0x62, 0x28, 0xa5, 0xcf, 0x47, 0x50, 0x55, 0x6c, 0x12, 0x85, 0xf2, 0xf9,
+	0xcf, 0x3c, 0x0a, 0xab, 0xf4, 0x1e, 0x34, 0x0e, 0x31, 0x5f, 0xca, 0xe8, 0xba, 0xec, 0x77, 0x60,
+	0x47, 0xea, 0x54, 0x00, 0x6b, 0x42, 0xf3, 0x18, 0xf3, 0xc1, 0xc2, 0x5c, 0xd9, 0x80, 0xef, 0xfd,
+	0x03, 0xf0, 0x50, 0xc8, 0x7f, 0x2c, 0xc7, 0x35, 0xfa, 0x59, 0x83, 0x5a, 0xaa, 0xff, 0x50, 0x37,
+	0xf3, 0xe6, 0xab, 0x5d, 0xaa, 0xe7, 0x14, 0xb2, 0xd1, 0xbb, 0xfd, 0xeb, 0xef, 0x5f, 0x4b, 0xcf,
+	0x8c, 0xa7, 0xb3, 0xb7, 0xe2, 0x3b, 0x29, 0xe3, 0xc7, 0x61, 0x44, 0xcf, 0xf1, 0x98, 0x33, 0xab,
+	0x73, 0x23, 0xdf, 0x0f, 0xd6, 0x97, 0xbd, 0x8a, 0x7e, 0xd1, 0x00, 0xe6, 0x3d, 0x84, 0x3a, 0x99,
+	0x21, 0x56, 0x3a, 0x5a, 0xef, 0x16, 0xc2, 0x4a, 0xd1, 0x8d, 0xae, 0xe0, 0xb6, 0x87, 0x8a, 0x70,
+	0x43, 0x3f, 0x68, 0x50, 0x4d, 0x5a, 0x0c, 0xb5, 0x33, 0xc3, 0x2c, 0x75, 0x61, 0x6e, 0x7e, 0xd6,
+	0x70, 0x88, 0x55, 0x4a, 0x31, 0x50, 0x04, 0xac, 0xce, 0x0d, 0xfa, 0x51, 0x83, 0x5a, 0xaa, 0x7f,
+	0x37, 0x28, 0xb5, 0xda, 0xe5, 0xfa, 0x6e, 0x02, 0x4e, 0xbd, 0xac, 0xe6, 0x97, 0xc9, 0xcb, 0x9a,
+	0x10, 0xe9, 0x14, 0x22, 0xf2, 0xbb, 0x06, 0xf5, 0x85, 0xf1, 0x80, 0x9e, 0xe7, 0x14, 0xcd, 0x62,
+	0x61, 0xe6, 0x91, 0xf9, 0x44, 0x90, 0x39, 0x30, 0xcc, 0x0d, 0xca, 0xcc, 0xe9, 0x58, 0x49, 0x23,
+	0xf6, 0x93, 0x91, 0x82, 0xfe, 0xd0, 0xe0, 0x61, 0xba, 0xd1, 0xd1, 0xb3, 0x8d, 0x85, 0xb1, 0x34,
+	0x7a, 0xf4, 0xe7, 0x05, 0xd1, 0xaa, 0x90, 0x5e, 0x08, 0xba, 0xef, 0xa3, 0x3b, 0xd2, 0x15, 0x85,
+	0x3e, 0x1f, 0x08, 0x1b, 0x0a, 0x7d, 0x65, 0x6a, 0xe8, 0xb9, 0xe3, 0x69, 0x1d, 0xa9, 0x2c, 0x41,
+	0x67, 0x8c, 0x62, 0x6d, 0x7f, 0xd3, 0xa0, 0xbe, 0x30, 0x7c, 0x36, 0x68, 0xbb, 0x6e, 0x48, 0xe5,
+	0x69, 0xab, 0x78, 0x75, 0xee, 0xca, 0xeb, 0x4f, 0x0d, 0x1a, 0x2b, 0x83, 0x0e, 0xed, 0x67, 0x72,
+	0xcb, 0x1a, 0x8a, 0x05, 0x52, 0x37, 0x10, 0x14, 0x5f, 0x19, 0x07, 0x77, 0xa3, 0xd8, 0x67, 0xb3,
+	0x90, 0x7d, 0xad, 0xf3, 0xfa, 0x02, 0x9e, 0x8c, 0xa9, 0xbf, 0x12, 0xcc, 0x09, 0x49, 0x12, 0xf0,
+	0x75, 0x23, 0x3d, 0x88, 0x8f, 0xe2, 0xdf, 0xa4, 0x23, 0xed, 0xeb, 0x03, 0xe5, 0xe1, 0x52, 0xcf,
+	0x09, 0x5c, 0x93, 0x46, 0xae, 0xe5, 0xe2, 0x40, 0xfc, 0x44, 0x59, 0x72, 0xcb, 0x09, 0x09, 0x5b,
+	0xf9, 0x09, 0x7f, 0xe9, 0x7b, 0xa3, 0x8a, 0x40, 0x7d, 0xf0, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0xbf, 0x41, 0x51, 0x68, 0xa9, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/model_service.proto b/googleapis/cloud/ml/v1beta1/model_service.proto
deleted file mode 100644
index f892a583..00000000
--- a/googleapis/cloud/ml/v1beta1/model_service.proto
+++ /dev/null
@@ -1,340 +0,0 @@
-// 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
index 061b6b21..4987c677 100644
--- a/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
+++ b/googleapis/cloud/ml/v1beta1/operation_metadata.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+// source: google/cloud/ml/v1beta1/operation_metadata.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -93,6 +93,27 @@ func (m *OperationMetadata) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *OperationMetadata) GetIsCancellationRequested() bool {
+	if m != nil {
+		return m.IsCancellationRequested
+	}
+	return false
+}
+
+func (m *OperationMetadata) GetOperationType() OperationMetadata_OperationType {
+	if m != nil {
+		return m.OperationType
+	}
+	return OperationMetadata_OPERATION_TYPE_UNSPECIFIED
+}
+
+func (m *OperationMetadata) GetModelName() string {
+	if m != nil {
+		return m.ModelName
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetVersion() *Version {
 	if m != nil {
 		return m.Version
@@ -105,40 +126,37 @@ func init() {
 	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)
-}
+func init() { proto.RegisterFile("google/cloud/ml/v1beta1/operation_metadata.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 473 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xc1, 0x6b, 0xdb, 0x30,
-	0x14, 0xc6, 0xe7, 0xb6, 0x6b, 0x1a, 0x75, 0x0d, 0x99, 0x0f, 0x6b, 0x16, 0xd8, 0x66, 0x7a, 0xca,
-	0x49, 0xa2, 0x1d, 0x83, 0x6d, 0x39, 0xb5, 0x89, 0x06, 0x1e, 0x6d, 0x6c, 0x5c, 0xaf, 0xb0, 0x93,
-	0x51, 0xec, 0x57, 0x4f, 0x60, 0x4b, 0x9e, 0xa5, 0x04, 0xfa, 0x07, 0xed, 0xff, 0x1c, 0x96, 0x6c,
-	0x92, 0x11, 0x4a, 0x47, 0x6f, 0xc9, 0xf7, 0xde, 0xef, 0x7b, 0xcf, 0xdf, 0x13, 0x0a, 0x72, 0x29,
-	0xf3, 0x02, 0x70, 0x2e, 0x0b, 0x26, 0x72, 0x2c, 0xeb, 0x9c, 0xe4, 0x20, 0xaa, 0x5a, 0x6a, 0x49,
-	0x6c, 0x89, 0x55, 0x5c, 0x91, 0xb4, 0x90, 0xab, 0x8c, 0x94, 0x05, 0x59, 0x9f, 0x2f, 0x41, 0xb3,
-	0x73, 0x22, 0x2b, 0xa8, 0x99, 0xe6, 0x52, 0x24, 0x25, 0x68, 0x96, 0x31, 0xcd, 0xb0, 0x81, 0xdc,
-	0xd3, 0xd6, 0xd0, 0x10, 0xb8, 0x2c, 0x70, 0x4b, 0x8c, 0xfd, 0xff, 0x9b, 0xc4, 0x2a, 0x4e, 0x14,
-	0xd4, 0x6b, 0x9e, 0x42, 0x2a, 0xc5, 0x3d, 0xcf, 0x09, 0x13, 0x42, 0x6a, 0x33, 0x4b, 0xd9, 0x19,
-	0xe3, 0xef, 0xcf, 0x5c, 0xba, 0x94, 0x19, 0x14, 0x49, 0xeb, 0xde, 0x7a, 0x4d, 0x73, 0xae, 0x7f,
-	0xad, 0x96, 0x38, 0x95, 0x25, 0xb1, 0x7e, 0xc4, 0x14, 0x96, 0xab, 0x7b, 0x52, 0xe9, 0x87, 0x0a,
-	0x14, 0xd1, 0xbc, 0x04, 0xa5, 0x59, 0x59, 0x6d, 0x7e, 0x59, 0xf8, 0xec, 0xcf, 0x01, 0x7a, 0x1d,
-	0x74, 0x49, 0xdc, 0xb4, 0x41, 0xb8, 0x53, 0x74, 0x9c, 0xd6, 0xc0, 0x34, 0x24, 0x4d, 0xff, 0xc8,
-	0xf1, 0x9c, 0xc9, 0xf1, 0xc5, 0x18, 0xb7, 0x4b, 0x77, 0xee, 0x38, 0xee, 0xcc, 0x22, 0x64, 0xdb,
-	0x1b, 0xc1, 0xfd, 0x82, 0x90, 0xd2, 0xac, 0xd6, 0x96, 0xdd, 0x7b, 0x92, 0xed, 0x9b, 0x6e, 0x83,
-	0x7e, 0x42, 0x47, 0x20, 0x32, 0x0b, 0xee, 0x3f, 0x09, 0xf6, 0x40, 0x64, 0x06, 0xfb, 0x8a, 0xde,
-	0x72, 0x95, 0xa4, 0x4c, 0xa4, 0x50, 0x14, 0xf6, 0xa6, 0x35, 0xfc, 0x5e, 0x81, 0xd2, 0x90, 0x8d,
-	0x0e, 0x3c, 0x67, 0x72, 0x14, 0x9d, 0x72, 0x35, 0xdb, 0xaa, 0x47, 0x5d, 0xd9, 0x4d, 0xd0, 0x60,
-	0xf3, 0x12, 0x9a, 0xb4, 0x46, 0x2f, 0x3d, 0x67, 0x32, 0xb8, 0xf8, 0x8c, 0x1f, 0x79, 0x06, 0x78,
-	0x27, 0xae, 0x8d, 0x12, 0x3f, 0x54, 0x10, 0x9d, 0xc8, 0xed, 0xbf, 0xee, 0x3b, 0x84, 0xec, 0xd5,
-	0x04, 0x2b, 0x61, 0x74, 0xe8, 0x39, 0x93, 0x7e, 0xd4, 0x37, 0xca, 0x82, 0x99, 0xdd, 0x7b, 0x6b,
-	0xa8, 0x15, 0x97, 0x62, 0xd4, 0x33, 0x5f, 0xec, 0x3d, 0x3a, 0xf8, 0xce, 0xf6, 0x45, 0x1d, 0x70,
-	0xc6, 0xd1, 0xc9, 0x3f, 0xa3, 0xdd, 0xf7, 0x68, 0x1c, 0x84, 0x34, 0xba, 0x8c, 0xfd, 0x60, 0x91,
-	0xc4, 0x3f, 0x43, 0x9a, 0xfc, 0x58, 0xdc, 0x86, 0x74, 0xe6, 0x7f, 0xf3, 0xe9, 0x7c, 0xf8, 0xc2,
-	0x75, 0xd1, 0x60, 0x16, 0xd1, 0xcb, 0x98, 0x26, 0x77, 0x34, 0xba, 0xf5, 0x83, 0xc5, 0xd0, 0x69,
-	0xb4, 0x39, 0xbd, 0xa6, 0x5b, 0xda, 0x9e, 0x3b, 0x44, 0xaf, 0x5a, 0xed, 0x26, 0x98, 0xd3, 0xeb,
-	0xe1, 0xfe, 0xd5, 0x14, 0x7d, 0x48, 0x65, 0xb9, 0xb3, 0x1a, 0xab, 0x78, 0xb7, 0xde, 0xd5, 0x9b,
-	0x9d, 0x60, 0xc2, 0xe6, 0x66, 0xa1, 0xb3, 0x3c, 0x34, 0xc7, 0xfb, 0xf8, 0x37, 0x00, 0x00, 0xff,
-	0xff, 0x8b, 0x26, 0x8b, 0x64, 0xab, 0x03, 0x00, 0x00,
+	// 457 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x92, 0x5f, 0x6b, 0xdb, 0x30,
+	0x14, 0xc5, 0xe7, 0xb6, 0x6b, 0x1b, 0x75, 0x0d, 0x99, 0x1f, 0x56, 0x2f, 0x6c, 0xab, 0xe9, 0x53,
+	0x60, 0x60, 0xaf, 0x1d, 0x83, 0x75, 0x7d, 0x6a, 0x13, 0x0d, 0x02, 0x6d, 0x6c, 0x54, 0xaf, 0xb0,
+	0xbd, 0x18, 0xc5, 0xbe, 0x33, 0x02, 0xfd, 0xf1, 0x2c, 0x25, 0xd0, 0x0f, 0xb4, 0xef, 0x39, 0x22,
+	0xd9, 0x34, 0x23, 0x84, 0x3e, 0xea, 0xdc, 0xf3, 0xbb, 0xf7, 0xf8, 0x5e, 0xa3, 0x4f, 0x95, 0x52,
+	0x15, 0x87, 0xb8, 0xe0, 0x6a, 0x51, 0xc6, 0x82, 0xc7, 0xcb, 0xf3, 0x39, 0x18, 0x7a, 0x1e, 0xab,
+	0x1a, 0x1a, 0x6a, 0x98, 0x92, 0xb9, 0x00, 0x43, 0x4b, 0x6a, 0x68, 0x54, 0x37, 0xca, 0x28, 0xff,
+	0xc4, 0x11, 0x91, 0x25, 0x22, 0xc1, 0xa3, 0x96, 0x18, 0xbe, 0x6b, 0x5b, 0xd1, 0x9a, 0xc5, 0x54,
+	0x4a, 0x65, 0x2c, 0xae, 0x1d, 0x36, 0xfc, 0xb8, 0x6d, 0x90, 0x50, 0x25, 0xf0, 0x5c, 0x43, 0xb3,
+	0x64, 0x05, 0xb4, 0xe6, 0xd3, 0xd6, 0x6c, 0x5f, 0xf3, 0xc5, 0xef, 0xd8, 0x30, 0x01, 0xda, 0x50,
+	0x51, 0x3b, 0xc3, 0xd9, 0xdf, 0x3d, 0xf4, 0x3a, 0xe9, 0x12, 0xde, 0xb5, 0x01, 0xfd, 0x2b, 0x74,
+	0x54, 0x34, 0x40, 0x0d, 0xe4, 0x2b, 0x7f, 0xe0, 0x85, 0xde, 0xe8, 0xe8, 0x62, 0x18, 0xb5, 0x81,
+	0xbb, 0x66, 0x51, 0xd6, 0x35, 0x23, 0xc8, 0xd9, 0x57, 0x82, 0x7f, 0x89, 0x90, 0x36, 0xb4, 0x31,
+	0x8e, 0xdd, 0x79, 0x96, 0xed, 0x59, 0xb7, 0x45, 0xbf, 0xa0, 0x43, 0x90, 0xa5, 0x03, 0x77, 0x9f,
+	0x05, 0x0f, 0x40, 0x96, 0x16, 0xfb, 0x86, 0xde, 0x32, 0x9d, 0x17, 0x54, 0x16, 0xc0, 0xb9, 0xdb,
+	0x75, 0x03, 0x7f, 0x16, 0xa0, 0x0d, 0x94, 0xc1, 0x5e, 0xe8, 0x8d, 0x0e, 0xc9, 0x09, 0xd3, 0xe3,
+	0xb5, 0x3a, 0xe9, 0xca, 0x7e, 0x8e, 0xfa, 0x4f, 0x17, 0x32, 0x8f, 0x35, 0x04, 0x2f, 0x43, 0x6f,
+	0xd4, 0xbf, 0xf8, 0x1a, 0x6d, 0x39, 0x4f, 0xb4, 0xb1, 0xae, 0x27, 0x25, 0x7b, 0xac, 0x81, 0x1c,
+	0xab, 0xf5, 0xa7, 0xff, 0x1e, 0x21, 0x77, 0x19, 0x49, 0x05, 0x04, 0xfb, 0xa1, 0x37, 0xea, 0x91,
+	0x9e, 0x55, 0x66, 0xd4, 0x66, 0x3f, 0x58, 0x42, 0xa3, 0x99, 0x92, 0xc1, 0x81, 0xfd, 0xe2, 0x70,
+	0xeb, 0xe0, 0x07, 0xe7, 0x23, 0x1d, 0x70, 0xc6, 0xd0, 0xf1, 0x7f, 0xa3, 0xfd, 0x0f, 0x68, 0x98,
+	0xa4, 0x98, 0x5c, 0x67, 0xd3, 0x64, 0x96, 0x67, 0x3f, 0x53, 0x9c, 0xff, 0x98, 0xdd, 0xa7, 0x78,
+	0x3c, 0xfd, 0x3e, 0xc5, 0x93, 0xc1, 0x0b, 0xdf, 0x47, 0xfd, 0x31, 0xc1, 0xd7, 0x19, 0xce, 0x1f,
+	0x30, 0xb9, 0x9f, 0x26, 0xb3, 0x81, 0xb7, 0xd2, 0x26, 0xf8, 0x16, 0xaf, 0x69, 0x3b, 0xfe, 0x00,
+	0xbd, 0x6a, 0xb5, 0xbb, 0x64, 0x82, 0x6f, 0x07, 0xbb, 0x37, 0x4b, 0x74, 0x5a, 0x28, 0xb1, 0x11,
+	0x8d, 0xd6, 0xac, 0x8b, 0x77, 0xf3, 0x66, 0x63, 0x31, 0xe9, 0xea, 0x66, 0xa9, 0xf7, 0xeb, 0xb2,
+	0xc5, 0x2a, 0xc5, 0xa9, 0xac, 0x22, 0xd5, 0x54, 0x71, 0x05, 0xd2, 0x5e, 0x34, 0x76, 0x25, 0x5a,
+	0x33, 0xbd, 0xf1, 0x47, 0x5f, 0x09, 0x3e, 0xdf, 0xb7, 0xae, 0xcf, 0xff, 0x02, 0x00, 0x00, 0xff,
+	0xff, 0x89, 0xf8, 0x21, 0xa7, 0x5f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/operation_metadata.proto b/googleapis/cloud/ml/v1beta1/operation_metadata.proto
deleted file mode 100644
index 00eb2d7b..00000000
--- a/googleapis/cloud/ml/v1beta1/operation_metadata.proto
+++ /dev/null
@@ -1,71 +0,0 @@
-// 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
index 69704b21..b80dd6e5 100644
--- a/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/prediction_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto
+// source: google/cloud/ml/v1beta1/prediction_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 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/api/annotations"
 import google_api2 "google.golang.org/genproto/googleapis/api/httpbody"
 
 import (
@@ -127,6 +127,13 @@ func (m *PredictRequest) String() string            { return proto.CompactTextSt
 func (*PredictRequest) ProtoMessage()               {}
 func (*PredictRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *PredictRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *PredictRequest) GetHttpBody() *google_api2.HttpBody {
 	if m != nil {
 		return m.HttpBody
@@ -301,33 +308,31 @@ var _OnlinePredictionService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/prediction_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/prediction_service.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/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, 0xc1, 0x4a, 0x03, 0x31,
-	0x14, 0x45, 0x49, 0x11, 0xb5, 0x11, 0x5c, 0x04, 0xb1, 0xa5, 0x1b, 0x4b, 0x5d, 0x58, 0xba, 0x48,
-	0x68, 0xdd, 0x55, 0x5c, 0xd8, 0x95, 0xae, 0x3a, 0xd4, 0x85, 0xcb, 0x92, 0x66, 0x62, 0x1a, 0xc9,
-	0xe4, 0xc5, 0x99, 0xb4, 0x58, 0xc4, 0x8d, 0xbf, 0xd0, 0x4f, 0xf3, 0x17, 0xfc, 0x10, 0xc9, 0x4c,
-	0x18, 0x90, 0x2a, 0x74, 0xf7, 0x48, 0xb8, 0xf7, 0xdc, 0x77, 0x1f, 0x9e, 0x2a, 0x00, 0x65, 0x24,
-	0x55, 0x60, 0xb8, 0x55, 0x14, 0x72, 0xc5, 0x94, 0xb4, 0x2e, 0x07, 0x0f, 0xac, 0xfa, 0xe2, 0x4e,
-	0x17, 0x4c, 0x18, 0x58, 0xa5, 0x2c, 0x33, 0x6c, 0x3d, 0x5c, 0x48, 0xcf, 0x87, 0xcc, 0xe5, 0x32,
-	0xd5, 0xc2, 0x6b, 0xb0, 0xf3, 0x42, 0xe6, 0x6b, 0x2d, 0x24, 0x2d, 0x45, 0xa4, 0x15, 0x0d, 0x4b,
-	0x05, 0xcd, 0x0c, 0x8d, 0x8a, 0xce, 0xc3, 0x7e, 0x24, 0xee, 0x34, 0x8b, 0x8e, 0x02, 0xec, 0xb3,
-	0x56, 0x8c, 0x5b, 0x0b, 0x9e, 0x07, 0x54, 0x51, 0x31, 0x3a, 0x77, 0xfb, 0x5b, 0x2d, 0xbd, 0x77,
-	0x0b, 0x48, 0x37, 0xf5, 0x50, 0x59, 0xf4, 0x9e, 0xf0, 0x69, 0x52, 0xad, 0x30, 0x93, 0xaf, 0x2b,
-	0x59, 0x78, 0x42, 0xf0, 0x81, 0xe5, 0x99, 0x6c, 0xa3, 0x2e, 0xea, 0x37, 0x67, 0xe5, 0x4c, 0x86,
-	0xb8, 0x19, 0x74, 0xf3, 0x20, 0x6c, 0x37, 0xba, 0xa8, 0x7f, 0x32, 0x3a, 0xa3, 0x11, 0xce, 0x9d,
-	0xa6, 0xf7, 0xde, 0xbb, 0x09, 0xa4, 0x9b, 0xd9, 0xf1, 0x32, 0x4e, 0xa3, 0x2d, 0xc2, 0xad, 0xa9,
-	0x35, 0xda, 0xca, 0xa4, 0xae, 0xe8, 0xb1, 0xda, 0x87, 0xbc, 0xe1, 0xa3, 0xf8, 0x48, 0xae, 0xe8,
-	0x3f, 0x3d, 0xd1, 0xdf, 0xb1, 0x3a, 0x7f, 0xf2, 0x7a, 0xf4, 0xf3, 0xeb, 0x7b, 0xdb, 0xe8, 0xf7,
-	0x2e, 0xeb, 0x83, 0xbc, 0x87, 0xc0, 0xb7, 0x2e, 0x87, 0x17, 0x29, 0x7c, 0xc1, 0x06, 0x83, 0x8f,
-	0x71, 0xbc, 0xd1, 0x18, 0x0d, 0x26, 0x37, 0xf8, 0x42, 0x40, 0xb6, 0xc3, 0x0c, 0x9e, 0xd1, 0x60,
-	0x72, 0xbe, 0x93, 0x37, 0x09, 0x4d, 0x25, 0x68, 0x71, 0x58, 0x56, 0x76, 0xfd, 0x13, 0x00, 0x00,
-	0xff, 0xff, 0x22, 0x54, 0x5b, 0xa1, 0x2c, 0x02, 0x00, 0x00,
+	// 312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x91, 0x4d, 0x4a, 0x03, 0x31,
+	0x14, 0xc7, 0x49, 0x11, 0xb5, 0x11, 0x5c, 0x04, 0xb1, 0xb5, 0x08, 0x96, 0xba, 0xb0, 0x74, 0x91,
+	0xd8, 0xba, 0xb2, 0xe2, 0xa6, 0x2b, 0x77, 0x0e, 0x75, 0x21, 0xb8, 0x29, 0xe9, 0x4c, 0x48, 0x23,
+	0x99, 0xbc, 0x38, 0x93, 0x16, 0x8b, 0xb8, 0xf1, 0x0a, 0x3d, 0x9a, 0x57, 0xf0, 0x20, 0x92, 0x49,
+	0x28, 0xca, 0xe8, 0xee, 0x31, 0x6f, 0x7e, 0xef, 0xff, 0x11, 0x7c, 0x29, 0x01, 0xa4, 0x16, 0x2c,
+	0xd5, 0xb0, 0xcc, 0x58, 0xae, 0xd9, 0x6a, 0x38, 0x17, 0x8e, 0x0f, 0x99, 0x2d, 0x44, 0xa6, 0x52,
+	0xa7, 0xc0, 0xcc, 0x4a, 0x51, 0xac, 0x54, 0x2a, 0xa8, 0x2d, 0xc0, 0x01, 0x69, 0x05, 0x82, 0x56,
+	0x04, 0xcd, 0x35, 0x8d, 0x44, 0xe7, 0x34, 0x9e, 0xe2, 0x56, 0x31, 0x6e, 0x0c, 0x38, 0xee, 0xe9,
+	0x32, 0x60, 0x9d, 0x93, 0x1f, 0xdb, 0x85, 0x73, 0x76, 0x0e, 0xd9, 0x3a, 0xac, 0x7a, 0x8f, 0xf8,
+	0x30, 0x09, 0x6a, 0x53, 0xf1, 0xb2, 0x14, 0xa5, 0x23, 0x04, 0xef, 0x18, 0x9e, 0x8b, 0x36, 0xea,
+	0xa2, 0x7e, 0x73, 0x5a, 0xcd, 0x64, 0x88, 0x9b, 0x9e, 0x9b, 0x79, 0xb0, 0xdd, 0xe8, 0xa2, 0xfe,
+	0xc1, 0xe8, 0x88, 0x46, 0x2f, 0xdc, 0x2a, 0x7a, 0xe7, 0x9c, 0x9d, 0x40, 0xb6, 0x9e, 0xee, 0x2f,
+	0xe2, 0x34, 0xda, 0x20, 0xdc, 0xba, 0x37, 0x5a, 0x19, 0x91, 0x6c, 0xd3, 0x3c, 0x84, 0x30, 0xe4,
+	0x15, 0xef, 0xc5, 0x8f, 0xe4, 0x82, 0xfe, 0x13, 0x89, 0xfe, 0xb6, 0xd5, 0xf9, 0x53, 0xaf, 0x47,
+	0x3f, 0x3e, 0xbf, 0x36, 0x8d, 0x7e, 0xef, 0x7c, 0xdb, 0xdd, 0x9b, 0x37, 0x7c, 0x6b, 0x0b, 0x78,
+	0x16, 0xa9, 0x2b, 0xd9, 0x60, 0xf0, 0x3e, 0x8e, 0x75, 0x8e, 0xd1, 0x60, 0xb2, 0xc2, 0x67, 0x29,
+	0xe4, 0x35, 0x4d, 0x7f, 0x33, 0x1e, 0x98, 0x1c, 0xd7, 0xfc, 0x26, 0xbe, 0xa9, 0x04, 0x3d, 0x5d,
+	0x47, 0x4c, 0x82, 0xe6, 0x46, 0x52, 0x28, 0x24, 0x93, 0xc2, 0x54, 0x3d, 0xb2, 0xb0, 0xe2, 0x56,
+	0x95, 0xb5, 0xe7, 0xbc, 0xc9, 0xf5, 0x7c, 0xb7, 0xfa, 0xeb, 0xea, 0x3b, 0x00, 0x00, 0xff, 0xff,
+	0x00, 0x26, 0x25, 0x67, 0xf3, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/prediction_service.proto b/googleapis/cloud/ml/v1beta1/prediction_service.proto
deleted file mode 100644
index 91ba8e89..00000000
--- a/googleapis/cloud/ml/v1beta1/prediction_service.proto
+++ /dev/null
@@ -1,188 +0,0 @@
-// 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
index 4e1dba03..adfda7eb 100644
--- a/googleapis/cloud/ml/v1beta1/project_service.pb.go
+++ b/googleapis/cloud/ml/v1beta1/project_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto
+// source: google/cloud/ml/v1beta1/project_service.proto
 // DO NOT EDIT!
 
-package google_cloud_ml_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/ml/v1beta1"
+package ml
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -32,6 +32,13 @@ func (m *GetConfigRequest) String() string            { return proto.CompactText
 func (*GetConfigRequest) ProtoMessage()               {}
 func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
+func (m *GetConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Returns service account information associated with a project.
 type GetConfigResponse struct {
 	// The service account Cloud ML uses to access resources in the project.
@@ -45,6 +52,20 @@ func (m *GetConfigResponse) String() string            { return proto.CompactTex
 func (*GetConfigResponse) ProtoMessage()               {}
 func (*GetConfigResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
 
+func (m *GetConfigResponse) GetServiceAccount() string {
+	if m != nil {
+		return m.ServiceAccount
+	}
+	return ""
+}
+
+func (m *GetConfigResponse) GetServiceAccountProject() int64 {
+	if m != nil {
+		return m.ServiceAccountProject
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*GetConfigRequest)(nil), "google.cloud.ml.v1beta1.GetConfigRequest")
 	proto.RegisterType((*GetConfigResponse)(nil), "google.cloud.ml.v1beta1.GetConfigResponse")
@@ -127,34 +148,32 @@ var _ProjectManagementService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto",
+	Metadata: "google/cloud/ml/v1beta1/project_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/ml/v1beta1/project_service.proto", fileDescriptor4)
-}
+func init() { proto.RegisterFile("google/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, 0x4d, 0x4a, 0x43, 0x31,
-	0x10, 0xe6, 0x55, 0x11, 0x9a, 0x85, 0x3f, 0x11, 0x69, 0xe9, 0xc6, 0x52, 0xa4, 0xd6, 0x22, 0x09,
-	0x55, 0x10, 0x11, 0x5c, 0x58, 0x17, 0x22, 0x28, 0x94, 0x7a, 0x80, 0x92, 0xc6, 0x31, 0x44, 0xde,
-	0xcb, 0xc4, 0x97, 0xbc, 0x6e, 0xc4, 0x8d, 0x27, 0x10, 0x3c, 0x87, 0xa7, 0xf1, 0x0a, 0x1e, 0x44,
-	0xfa, 0x92, 0x16, 0xad, 0x08, 0xdd, 0x0d, 0x33, 0xdf, 0xf7, 0xcd, 0x7c, 0xf3, 0x91, 0x1b, 0x85,
-	0xa8, 0x52, 0x60, 0x0a, 0x53, 0x61, 0x14, 0xc3, 0x5c, 0x71, 0x05, 0xc6, 0xe6, 0xe8, 0x91, 0x87,
-	0x91, 0xb0, 0xda, 0x71, 0x99, 0x62, 0x71, 0xcf, 0xb3, 0x94, 0x4f, 0x7a, 0x63, 0xf0, 0xa2, 0xc7,
-	0x6d, 0x8e, 0x8f, 0x20, 0xfd, 0xc8, 0x41, 0x3e, 0xd1, 0x12, 0x58, 0xc9, 0xa0, 0xb5, 0xa8, 0x56,
-	0xc2, 0x59, 0x96, 0xb2, 0x08, 0x6f, 0x5c, 0x2f, 0xb7, 0x46, 0x58, 0xcd, 0xa3, 0xa2, 0x44, 0xf3,
-	0xa0, 0x15, 0x17, 0xc6, 0xa0, 0x17, 0x5e, 0xa3, 0x71, 0x61, 0x47, 0xab, 0x4d, 0x36, 0xaf, 0xc0,
-	0x5f, 0x96, 0xe3, 0x21, 0x3c, 0x15, 0xe0, 0x3c, 0xa5, 0x64, 0xd5, 0x88, 0x0c, 0xea, 0x49, 0x33,
-	0xe9, 0x54, 0x87, 0x65, 0xdd, 0xf2, 0x64, 0xeb, 0x07, 0xce, 0x59, 0x34, 0x0e, 0xe8, 0x3e, 0xd9,
-	0x88, 0xfa, 0x23, 0x21, 0x25, 0x16, 0xc6, 0x47, 0xce, 0x7a, 0x6c, 0x5f, 0x84, 0x2e, 0x3d, 0x21,
-	0xb5, 0x05, 0xe0, 0x28, 0x5a, 0xae, 0x57, 0x9a, 0x49, 0x67, 0x65, 0xb8, 0xf3, 0x9b, 0x30, 0x08,
-	0xc3, 0xa3, 0x8f, 0x84, 0xd4, 0x63, 0x7d, 0x2b, 0x8c, 0x50, 0x90, 0x81, 0xf1, 0x77, 0x01, 0x4a,
-	0xdf, 0x12, 0x52, 0x9d, 0xdf, 0x44, 0x0f, 0xd8, 0x3f, 0xdf, 0x62, 0x8b, 0xfe, 0x1a, 0xdd, 0x65,
-	0xa0, 0xc1, 0x62, 0xeb, 0xf0, 0xf5, 0xf3, 0xeb, 0xbd, 0xd2, 0xa6, 0x7b, 0xf3, 0xac, 0x9e, 0xa7,
-	0xff, 0x38, 0x8f, 0xe7, 0x3b, 0xde, 0x7d, 0x39, 0x53, 0x33, 0x56, 0xff, 0x94, 0xec, 0x4a, 0xcc,
-	0xfe, 0xc8, 0x0b, 0xab, 0x67, 0x2b, 0xfa, 0xdb, 0xd1, 0x4f, 0x74, 0x31, 0x98, 0xa6, 0x30, 0x48,
-	0xc6, 0x6b, 0x65, 0x1c, 0xc7, 0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x01, 0x64, 0xc1, 0x94, 0x42,
-	0x02, 0x00, 0x00,
+	// 327 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x4f, 0x4a, 0x43, 0x31,
+	0x10, 0xc6, 0x79, 0x55, 0x84, 0x66, 0xe1, 0x9f, 0x88, 0xb4, 0x14, 0xc1, 0x52, 0xa4, 0xd6, 0xa2,
+	0x09, 0x55, 0x10, 0x54, 0x5c, 0x58, 0x17, 0xae, 0x84, 0x52, 0x77, 0x6e, 0x4a, 0xfa, 0x1c, 0xc3,
+	0x93, 0x24, 0x13, 0x5f, 0xd2, 0x6e, 0xc4, 0x8d, 0x27, 0x10, 0x3c, 0x87, 0xa7, 0xf1, 0x0a, 0x1e,
+	0x44, 0xfa, 0x92, 0x16, 0x6d, 0x11, 0xdc, 0x0d, 0x33, 0xbf, 0x6f, 0x32, 0xdf, 0x4c, 0xc8, 0xa1,
+	0x44, 0x94, 0x0a, 0x78, 0xaa, 0x70, 0x74, 0xcf, 0xb5, 0xe2, 0xe3, 0xce, 0x10, 0xbc, 0xe8, 0x70,
+	0x9b, 0xe3, 0x23, 0xa4, 0x7e, 0xe0, 0x20, 0x1f, 0x67, 0x29, 0x30, 0x9b, 0xa3, 0x47, 0x5a, 0x09,
+	0x38, 0x2b, 0x70, 0xa6, 0x15, 0x8b, 0x78, 0x6d, 0x3b, 0xf6, 0x11, 0x36, 0xe3, 0xc2, 0x18, 0xf4,
+	0xc2, 0x67, 0x68, 0x5c, 0x90, 0x35, 0x9a, 0x64, 0xfd, 0x1a, 0xfc, 0x15, 0x9a, 0x87, 0x4c, 0xf6,
+	0xe1, 0x69, 0x04, 0xce, 0x53, 0x4a, 0x96, 0x8d, 0xd0, 0x50, 0x4d, 0xea, 0x49, 0xab, 0xdc, 0x2f,
+	0xe2, 0x86, 0x27, 0x1b, 0x3f, 0x38, 0x67, 0xd1, 0x38, 0xa0, 0x7b, 0x64, 0x2d, 0x0e, 0x31, 0x10,
+	0x69, 0x8a, 0x23, 0xe3, 0xa3, 0x66, 0x35, 0xa6, 0x2f, 0x43, 0x96, 0x9e, 0x90, 0xca, 0x1c, 0x38,
+	0x88, 0x2e, 0xaa, 0xa5, 0x7a, 0xd2, 0x5a, 0xea, 0x6f, 0xfd, 0x16, 0xf4, 0x42, 0xf1, 0xe8, 0x23,
+	0x21, 0xd5, 0x18, 0xdf, 0x08, 0x23, 0x24, 0x68, 0x30, 0xfe, 0x36, 0xa0, 0xf4, 0x2d, 0x21, 0xe5,
+	0xd9, 0x4c, 0x74, 0x9f, 0xfd, 0xb1, 0x00, 0x36, 0xef, 0xaf, 0xd6, 0xfe, 0x0f, 0x1a, 0x2c, 0x36,
+	0x0e, 0x5e, 0x3f, 0xbf, 0xde, 0x4b, 0x4d, 0xba, 0x3b, 0x5b, 0xff, 0xf3, 0x64, 0x1f, 0x17, 0x71,
+	0x7c, 0xc7, 0xdb, 0x2f, 0x67, 0x72, 0xaa, 0xea, 0x3a, 0xb2, 0x93, 0xa2, 0x5e, 0x68, 0x2f, 0x6c,
+	0x36, 0x7d, 0xa2, 0xbb, 0x19, 0xfd, 0x44, 0x17, 0xbd, 0xc9, 0x15, 0x7a, 0xc9, 0xdd, 0x69, 0xd4,
+	0x48, 0x54, 0xc2, 0x48, 0x86, 0xb9, 0xe4, 0x12, 0x4c, 0x71, 0x23, 0x1e, 0x4a, 0xc2, 0x66, 0x6e,
+	0xe1, 0x33, 0x9c, 0x6b, 0x35, 0x5c, 0x29, 0xa8, 0xe3, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x76,
+	0x59, 0xc4, 0x91, 0x31, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/ml/v1beta1/project_service.proto b/googleapis/cloud/ml/v1beta1/project_service.proto
deleted file mode 100644
index d0834b30..00000000
--- a/googleapis/cloud/ml/v1beta1/project_service.proto
+++ /dev/null
@@ -1,52 +0,0 @@
-// 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..ac6200ce 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/resources.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
+// source: google/cloud/runtimeconfig/v1beta1/resources.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_runtimeconfig_v1beta1 is a generated protocol buffer package.
+Package runtimeconfig is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
-	google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+	google/cloud/runtimeconfig/v1beta1/resources.proto
+	google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
 
 It has these top-level messages:
 	RuntimeConfig
@@ -33,12 +33,12 @@ It has these top-level messages:
 	CreateWaiterRequest
 	DeleteWaiterRequest
 */
-package google_cloud_runtimeconfig_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1"
+package runtimeconfig
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -110,6 +110,20 @@ func (m *RuntimeConfig) String() string            { return proto.CompactTextStr
 func (*RuntimeConfig) ProtoMessage()               {}
 func (*RuntimeConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *RuntimeConfig) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *RuntimeConfig) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Describes a single variable within a RuntimeConfig resource.
 // The name denotes the hierarchical variable name. For example,
 // `ports/serving_port` is a valid variable name. The variable value is an
@@ -174,6 +188,13 @@ func (m *Variable) GetContents() isVariable_Contents {
 	return nil
 }
 
+func (m *Variable) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Variable) GetValue() []byte {
 	if x, ok := m.GetContents().(*Variable_Value); ok {
 		return x.Value
@@ -195,6 +216,13 @@ func (m *Variable) GetUpdateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Variable) GetState() VariableState {
+	if m != nil {
+		return m.State
+	}
+	return VariableState_VARIABLE_STATE_UNSPECIFIED
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Variable) 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 _Variable_OneofMarshaler, _Variable_OneofUnmarshaler, _Variable_OneofSizer, []interface{}{
@@ -382,6 +410,20 @@ func (m *EndCondition_Cardinality) String() string            { return proto.Com
 func (*EndCondition_Cardinality) ProtoMessage()               {}
 func (*EndCondition_Cardinality) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *EndCondition_Cardinality) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *EndCondition_Cardinality) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
+
 // A Waiter resource waits for some end condition within a RuntimeConfig resource
 // to be met before it returns. For example, assume you have a distributed
 // system where each node writes to a Variable resource indidicating the node's
@@ -445,6 +487,13 @@ func (m *Waiter) String() string            { return proto.CompactTextString(m)
 func (*Waiter) ProtoMessage()               {}
 func (*Waiter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Waiter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Waiter) GetTimeout() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Timeout
@@ -473,6 +522,13 @@ func (m *Waiter) GetCreateTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *Waiter) GetDone() bool {
+	if m != nil {
+		return m.Done
+	}
+	return false
+}
+
 func (m *Waiter) GetError() *google_rpc.Status {
 	if m != nil {
 		return m.Error
@@ -489,49 +545,46 @@ func init() {
 	proto.RegisterEnum("google.cloud.runtimeconfig.v1beta1.VariableState", VariableState_name, VariableState_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/runtimeconfig/v1beta1/resources.proto", fileDescriptor0) }
 
 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,
+	// 595 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x5f, 0x6f, 0xd3, 0x3e,
+	0x14, 0x6d, 0xf6, 0xeb, 0x9f, 0xed, 0x66, 0xfb, 0x69, 0xb2, 0xd0, 0x08, 0x15, 0x1a, 0x55, 0x1f,
+	0x50, 0xc5, 0x43, 0xc2, 0xba, 0x27, 0x34, 0x5e, 0xfa, 0x27, 0xb0, 0xa2, 0x09, 0x26, 0xb7, 0x1b,
+	0x12, 0x2f, 0xc3, 0x75, 0xbc, 0x10, 0x29, 0xb5, 0x23, 0xc7, 0x9e, 0x40, 0x7c, 0x31, 0x3e, 0x0d,
+	0x4f, 0x7c, 0x10, 0x64, 0xc7, 0x81, 0x0e, 0x26, 0x36, 0x78, 0xf3, 0xf5, 0x3d, 0xe7, 0xdc, 0x7b,
+	0x8f, 0x6f, 0x02, 0xc3, 0x54, 0x88, 0x34, 0x67, 0x11, 0xcd, 0x85, 0x4e, 0x22, 0xa9, 0xb9, 0xca,
+	0x56, 0x8c, 0x0a, 0x7e, 0x99, 0xa5, 0xd1, 0xd5, 0xc1, 0x92, 0x29, 0x72, 0x10, 0x49, 0x56, 0x0a,
+	0x2d, 0x29, 0x2b, 0xc3, 0x42, 0x0a, 0x25, 0x50, 0xbf, 0xe2, 0x84, 0x96, 0x13, 0x5e, 0xe3, 0x84,
+	0x8e, 0xd3, 0x7d, 0xe8, 0x74, 0x49, 0x91, 0x45, 0x84, 0x73, 0xa1, 0x88, 0xca, 0x04, 0x77, 0x0a,
+	0xdd, 0x7d, 0x97, 0xb5, 0xd1, 0x52, 0x5f, 0x46, 0x89, 0x96, 0x16, 0xe0, 0xf2, 0x8f, 0x7e, 0xcd,
+	0x9b, 0x0a, 0xa5, 0x22, 0xab, 0xc2, 0x01, 0xee, 0x3b, 0x80, 0x2c, 0x68, 0x54, 0x2a, 0xa2, 0xb4,
+	0x53, 0xee, 0xc7, 0xb0, 0x83, 0xab, 0x86, 0x26, 0xb6, 0x21, 0x84, 0xa0, 0xc9, 0xc9, 0x8a, 0x05,
+	0x5e, 0xcf, 0x1b, 0x6c, 0x61, 0x7b, 0x46, 0x3d, 0xf0, 0x13, 0x56, 0x52, 0x99, 0x15, 0xa6, 0x66,
+	0xb0, 0x61, 0x53, 0xeb, 0x57, 0xfd, 0xaf, 0x1e, 0x6c, 0x9e, 0x13, 0x99, 0x91, 0x65, 0xce, 0x6e,
+	0x94, 0xd8, 0x83, 0xd6, 0x15, 0xc9, 0x35, 0xb3, 0xe4, 0xed, 0xe3, 0x06, 0xae, 0x42, 0x74, 0x0f,
+	0x9a, 0x8a, 0x7d, 0x54, 0x41, 0xcb, 0x60, 0x8f, 0x1b, 0xd8, 0x46, 0xe8, 0x08, 0x7c, 0x5d, 0x24,
+	0x44, 0xb1, 0x0b, 0xd3, 0x59, 0xf0, 0x5f, 0xcf, 0x1b, 0xf8, 0xc3, 0x6e, 0xe8, 0x7c, 0xac, 0xa7,
+	0x0c, 0x17, 0xf5, 0x94, 0x18, 0x2a, 0xb8, 0xb9, 0x40, 0x2f, 0xa1, 0x65, 0x46, 0x64, 0x41, 0xb3,
+	0xe7, 0x0d, 0xfe, 0x1f, 0x1e, 0x84, 0xb7, 0xdb, 0x1f, 0xd6, 0xbd, 0xcf, 0x0d, 0x11, 0x57, 0xfc,
+	0x31, 0xc0, 0x26, 0x15, 0x5c, 0x31, 0xae, 0xca, 0xfe, 0x17, 0x0f, 0xb6, 0x63, 0x9e, 0x4c, 0x04,
+	0x4f, 0x32, 0x33, 0x31, 0x7a, 0x0f, 0x3e, 0x25, 0x32, 0xc9, 0x38, 0xc9, 0x33, 0xf5, 0xc9, 0xce,
+	0xea, 0x0f, 0x9f, 0xdf, 0xa5, 0xd6, 0xba, 0x4c, 0x38, 0xf9, 0xa9, 0x71, 0xdc, 0xc0, 0xeb, 0x92,
+	0xdd, 0x67, 0xe0, 0xaf, 0x65, 0x8d, 0xab, 0x05, 0x51, 0x1f, 0x6a, 0x57, 0xcd, 0x19, 0xed, 0x41,
+	0x9b, 0xeb, 0xd5, 0x92, 0x49, 0x6b, 0x6b, 0x0b, 0xbb, 0x68, 0xec, 0xc3, 0x16, 0xad, 0x4b, 0xf4,
+	0xbf, 0x6d, 0x40, 0xfb, 0x2d, 0xc9, 0x14, 0x93, 0x37, 0xbe, 0xcc, 0x21, 0x74, 0x4c, 0x93, 0x42,
+	0x2b, 0x2b, 0xe2, 0x0f, 0x1f, 0xfc, 0xe6, 0xf3, 0xd4, 0x6d, 0x1b, 0xae, 0x91, 0xe8, 0x15, 0x74,
+	0x2e, 0x49, 0x96, 0x6b, 0x59, 0x3f, 0xce, 0xd3, 0xbf, 0x9d, 0x1c, 0xd7, 0x02, 0x46, 0xab, 0xd4,
+	0x94, 0xb2, 0xb2, 0xb4, 0x2f, 0xf6, 0x4f, 0x5a, 0x4e, 0xc0, 0x2c, 0x0e, 0x95, 0xec, 0xc7, 0xe2,
+	0xb4, 0x6e, 0x5f, 0x9c, 0x0a, 0x6e, 0x17, 0x07, 0x41, 0x33, 0x11, 0x9c, 0x05, 0xed, 0x9e, 0x37,
+	0xd8, 0xc4, 0xf6, 0x8c, 0x06, 0xd0, 0x62, 0x52, 0x0a, 0x19, 0x74, 0xac, 0x14, 0xaa, 0xa5, 0x64,
+	0x41, 0xc3, 0xb9, 0xfd, 0x90, 0x70, 0x05, 0x78, 0x32, 0x83, 0x9d, 0x6b, 0x5b, 0x84, 0xf6, 0xa1,
+	0x7b, 0x3e, 0xc2, 0xb3, 0xd1, 0xf8, 0x24, 0xbe, 0x98, 0x2f, 0x46, 0x8b, 0xf8, 0xe2, 0xec, 0xf5,
+	0xfc, 0x34, 0x9e, 0xcc, 0x5e, 0xcc, 0xe2, 0xe9, 0x6e, 0x03, 0xf9, 0xd0, 0x39, 0x3b, 0x9d, 0x8e,
+	0x16, 0xf1, 0x74, 0xd7, 0x33, 0xc1, 0x34, 0x3e, 0x89, 0x4d, 0xb0, 0x31, 0xfe, 0x0c, 0x8f, 0xa9,
+	0x58, 0xdd, 0xc1, 0x85, 0x53, 0xef, 0xdd, 0x1b, 0x87, 0x4a, 0x45, 0x4e, 0x78, 0x1a, 0x0a, 0x99,
+	0x46, 0x29, 0xe3, 0x76, 0xd2, 0xa8, 0x4a, 0x91, 0x22, 0x2b, 0xff, 0xf4, 0xbf, 0x3a, 0xba, 0x76,
+	0xbb, 0x6c, 0x5b, 0xee, 0xe1, 0xf7, 0x00, 0x00, 0x00, 0xff, 0xff, 0x55, 0xc5, 0x17, 0x72, 0xea,
+	0x04, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/resources.proto b/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
deleted file mode 100644
index 4b45c3ab..00000000
--- a/googleapis/cloud/runtimeconfig/v1beta1/resources.proto
+++ /dev/null
@@ -1,207 +0,0 @@
-// 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.runtimeconfig.v1beta1;
-
-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
-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_package = "com.google.cloud.runtimeconfig.v1beta1";
-
-
-// A RuntimeConfig resource is the primary resource in the Cloud RuntimeConfig
-// service. A RuntimeConfig resource consists of metadata and a hierarchy of
-// variables.
-message RuntimeConfig {
-  // The resource name of a runtime config. The name must have the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid project ID, and `[CONFIG_NAME]` is an
-  // arbitrary name that matches RFC 1035 segment specification. The length of
-  // `[CONFIG_NAME]` must be less than 64 bytes.
-  //
-  // You pick the RuntimeConfig resource name, but the server will validate that
-  // the name adheres to this format. After you create the resource, you cannot
-  // change the resource's name.
-  string name = 1;
-
-  // An optional description of the RuntimeConfig object.
-  // The length of the description must be less than 256 bytes.
-  string description = 2;
-}
-
-// Describes a single variable within a RuntimeConfig resource.
-// The name denotes the hierarchical variable name. For example,
-// `ports/serving_port` is a valid variable name. The variable value is an
-// opaque string and only leaf variables can have values (that is, variables
-// that do not have any child variables).
-message Variable {
-  // The name of the variable resource, in the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid project ID, `[CONFIG_NAME]` must be a
-  // valid RuntimeConfig reource and `[VARIABLE_NAME]` follows Unix file system
-  // file path naming.
-  //
-  // The `[VARIABLE_NAME]` can contain ASCII letters, numbers, slashes and
-  // dashes. Slashes are used as path element separators and are not part of the
-  // `[VARIABLE_NAME]` itself, so `[VARIABLE_NAME]` must contain at least one
-  // non-slash character. Multiple slashes are coalesced into single slash
-  // character. Each path segment should follow RFC 1035 segment specification.
-  // The length of a `[VARIABLE_NAME]` must be less than 256 bytes.
-  //
-  // Once you create a variable, you cannot change the variable name.
-  string name = 1;
-
-  // The the value of the variable. It can be either a binary or a string
-  // value. Specifying both will cause server to issue an error.
-  oneof contents {
-    // The binary value of the variable. The length of the value must be less
-    // than 4096 bytes. Empty values are also accepted. The value must be
-    // Base64 encoded.
-    // NB: Only one of value and string_value can be set at the same time.
-    bytes value = 2;
-
-    // The textual value of the variable. The length of the value must be less
-    // than 4096 bytes. Empty values are also accepted.
-    // NB: Only one of value and string_value can be set at the same time.
-    string text = 5;
-  }
-
-  // [Output Only] The time of the last variable update.
-  google.protobuf.Timestamp update_time = 3;
-
-  // [Ouput only] The current state of the variable. The variable state indicates
-  // the outcome of the `variables().watch` call and is visible through the
-  // `get` and `list` calls.
-  VariableState state = 4;
-}
-
-// The condition that a Waiter resource is waiting for.
-message EndCondition {
-  // A Cardinality condition for the Waiter resource. A cardinality condition is
-  // met when the number of variables under a specified path prefix reaches a
-  // predefined number. For example, if you set a Cardinality condition where
-  // the `path` is set to `/foo` and the number of paths is set to 2, the
-  // following variables would meet the condition in a RuntimeConfig resource:
-  //
-  // + `/foo/variable1 = "value1"`
-  // + `/foo/variable2 = "value2"`
-  // + `/bar/variable3 = "value3"`
-  //
-  // It would not would not satisify the same condition with the `number` set to
-  // 3, however, because there is only 2 paths that start with `/foo`.
-  // Cardinality conditions are recursive; all subtrees under the specific
-  // path prefix are counted.
-  message Cardinality {
-    // The root of the variable subtree to monitor. For example, `/foo`.
-    string path = 1;
-
-    // The number variables under the `path` that must exist to meet this
-    // condition. Defaults to 1 if not specified.
-    int32 number = 2;
-  }
-
-  // The condition oneof holds the available condition types for this
-  // EndCondition. Currently, the only available type is Cardinality.
-  oneof condition {
-    // The cardinality of the `EndCondition`.
-    Cardinality cardinality = 1;
-  }
-}
-
-// A Waiter resource waits for some end condition within a RuntimeConfig resource
-// to be met before it returns. For example, assume you have a distributed
-// system where each node writes to a Variable resource indidicating the node's
-// readiness as part of the startup process.
-//
-// You then configure a Waiter resource with the success condition set to wait
-// until some number of nodes have checked in. Afterwards, your application
-// runs some arbitrary code after the condition has been met and the waiter
-// returns successfully.
-//
-// Once created, a Waiter resource is immutable.
-//
-// To learn more about using waiters, read the
-// [Creating a Waiter](/deployment-manager/runtime-configurator/creating-a-waiter)
-// documentation.
-message Waiter {
-  // The name of the Waiter resource, in the format:
-  //
-  //     projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]
-  //
-  // The `[PROJECT_ID]` must be a valid Google Cloud project ID,
-  // the `[CONFIG_NAME]` must be a valid RuntimeConfig resource, the
-  // `[WAITER_NAME]` must match RFC 1035 segment specification, and the length
-  // of `[WAITER_NAME]` must be less than 64 bytes.
-  //
-  // After you create a Waiter resource, you cannot change the resource name.
-  string name = 1;
-
-  // [Required] Specifies the timeout of the waiter in seconds, beginning from
-  // the instant that `waiters().create` method is called. If this time elapses
-  // before the success or failure conditions are met, the waiter fails and sets
-  // the `error` code to `DEADLINE_EXCEEDED`.
-  google.protobuf.Duration timeout = 2;
-
-  // [Optional] The failure condition of this waiter. If this condition is met,
-  // `done` will be set to `true` and the `error` code will be set to `ABORTED`.
-  // The failure condition takes precedence over the success condition. If both
-  // conditions are met, a failure will be indicated. This value is optional; if
-  // no failure condition is set, the only failure scenario will be a timeout.
-  EndCondition failure = 3;
-
-  // [Required] The success condition. If this condition is met, `done` will be
-  // set to `true` and the `error` value will remain unset. The failure condition
-  // takes precedence over the success condition. If both conditions are met, a
-  // failure will be indicated.
-  EndCondition success = 4;
-
-  // [Output Only] The instant at which this Waiter resource was created. Adding
-  // the value of `timeout` to this instant yields the timeout deadline for the
-  // waiter.
-  google.protobuf.Timestamp create_time = 5;
-
-  // [Output Only] If the value is `false`, it means the waiter is still waiting
-  // for one of its conditions to be met.
-  //
-  // If true, the waiter has finished. If the waiter finished due to a timeout
-  // or failure, `error` will be set.
-  bool done = 6;
-
-  // [Output Only] If the waiter ended due to a failure or timeout, this value
-  // will be set.
-  google.rpc.Status error = 7;
-}
-
-// The `VariableState` describes the last known state of the variable and is
-// used during a `variables().watch` call to distinguish the state of the
-// variable.
-enum VariableState {
-  // Default variable state.
-  VARIABLE_STATE_UNSPECIFIED = 0;
-
-  // The variable was updated, while `variables().watch` was executing.
-  UPDATED = 1;
-
-  // The variable was deleted, while `variables().watch` was executing.
-  DELETED = 2;
-}
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
index 96319cac..62a82ff0 100644
--- a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
+++ b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+// source: google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
 // DO NOT EDIT!
 
-package google_cloud_runtimeconfig_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1"
+package runtimeconfig
 
 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/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
@@ -40,6 +40,27 @@ func (m *ListConfigsRequest) String() string            { return proto.CompactTe
 func (*ListConfigsRequest) ProtoMessage()               {}
 func (*ListConfigsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *ListConfigsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListConfigsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListConfigsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // `ListConfigs()` returns the following response. The order of returned
 // objects is arbitrary; that is, it is not ordered in any particular way.
 type ListConfigsResponse struct {
@@ -66,6 +87,13 @@ func (m *ListConfigsResponse) GetConfigs() []*RuntimeConfig {
 	return nil
 }
 
+func (m *ListConfigsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Gets a RuntimeConfig resource.
 type GetConfigRequest struct {
 	// The name of the RuntimeConfig resource to retrieve, in the format:
@@ -79,6 +107,13 @@ func (m *GetConfigRequest) String() string            { return proto.CompactText
 func (*GetConfigRequest) ProtoMessage()               {}
 func (*GetConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *GetConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Creates a RuntimeConfig resource.
 type CreateConfigRequest struct {
 	// The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
@@ -104,6 +139,13 @@ func (m *CreateConfigRequest) String() string            { return proto.CompactT
 func (*CreateConfigRequest) ProtoMessage()               {}
 func (*CreateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *CreateConfigRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateConfigRequest) GetConfig() *RuntimeConfig {
 	if m != nil {
 		return m.Config
@@ -111,6 +153,13 @@ func (m *CreateConfigRequest) GetConfig() *RuntimeConfig {
 	return nil
 }
 
+func (m *CreateConfigRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request message for `UpdateConfig()` method.
 type UpdateConfigRequest struct {
 	// The name of the RuntimeConfig resource to update, in the format:
@@ -126,6 +175,13 @@ func (m *UpdateConfigRequest) String() string            { return proto.CompactT
 func (*UpdateConfigRequest) ProtoMessage()               {}
 func (*UpdateConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *UpdateConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateConfigRequest) GetConfig() *RuntimeConfig {
 	if m != nil {
 		return m.Config
@@ -146,6 +202,13 @@ func (m *DeleteConfigRequest) String() string            { return proto.CompactT
 func (*DeleteConfigRequest) ProtoMessage()               {}
 func (*DeleteConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *DeleteConfigRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the `ListVariables()` method.
 type ListVariablesRequest struct {
 	// The path to the RuntimeConfig resource for which you want to list variables.
@@ -170,6 +233,34 @@ func (m *ListVariablesRequest) String() string            { return proto.Compact
 func (*ListVariablesRequest) ProtoMessage()               {}
 func (*ListVariablesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *ListVariablesRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListVariablesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListVariablesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListVariablesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListVariables()` method.
 type ListVariablesResponse struct {
 	// A list of variables and their values. The order of returned variable
@@ -195,6 +286,13 @@ func (m *ListVariablesResponse) GetVariables() []*Variable {
 	return nil
 }
 
+func (m *ListVariablesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `WatchVariable()` method.
 type WatchVariableRequest struct {
 	// The name of the variable to watch, in the format:
@@ -215,6 +313,13 @@ func (m *WatchVariableRequest) String() string            { return proto.Compact
 func (*WatchVariableRequest) ProtoMessage()               {}
 func (*WatchVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
 
+func (m *WatchVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *WatchVariableRequest) GetNewerThan() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.NewerThan
@@ -235,6 +340,13 @@ func (m *GetVariableRequest) String() string            { return proto.CompactTe
 func (*GetVariableRequest) ProtoMessage()               {}
 func (*GetVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *GetVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request for the `CreateVariable()` method.
 type CreateVariableRequest struct {
 	// The path to the RutimeConfig resource that this variable should belong to.
@@ -262,6 +374,13 @@ func (m *CreateVariableRequest) String() string            { return proto.Compac
 func (*CreateVariableRequest) ProtoMessage()               {}
 func (*CreateVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *CreateVariableRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateVariableRequest) GetVariable() *Variable {
 	if m != nil {
 		return m.Variable
@@ -269,6 +388,13 @@ func (m *CreateVariableRequest) GetVariable() *Variable {
 	return nil
 }
 
+func (m *CreateVariableRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request for the `UpdateVariable()` method.
 type UpdateVariableRequest struct {
 	// The name of the variable to update, in the format:
@@ -284,6 +410,13 @@ func (m *UpdateVariableRequest) String() string            { return proto.Compac
 func (*UpdateVariableRequest) ProtoMessage()               {}
 func (*UpdateVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *UpdateVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateVariableRequest) GetVariable() *Variable {
 	if m != nil {
 		return m.Variable
@@ -307,6 +440,20 @@ func (m *DeleteVariableRequest) String() string            { return proto.Compac
 func (*DeleteVariableRequest) ProtoMessage()               {}
 func (*DeleteVariableRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *DeleteVariableRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *DeleteVariableRequest) GetRecursive() bool {
+	if m != nil {
+		return m.Recursive
+	}
+	return false
+}
+
 // Request for the `ListWaiters()` method.
 type ListWaitersRequest struct {
 	// The path to the configuration for which you want to get a list of waiters.
@@ -327,6 +474,27 @@ func (m *ListWaitersRequest) String() string            { return proto.CompactTe
 func (*ListWaitersRequest) ProtoMessage()               {}
 func (*ListWaitersRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *ListWaitersRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListWaitersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListWaitersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListWaiters()` method.
 // Order of returned waiter objects is arbitrary.
 type ListWaitersResponse struct {
@@ -352,6 +520,13 @@ func (m *ListWaitersResponse) GetWaiters() []*Waiter {
 	return nil
 }
 
+func (m *ListWaitersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `GetWaiter()` method.
 type GetWaiterRequest struct {
 	// The fully-qualified name of the Waiter resource object to retrieve, in the
@@ -366,6 +541,13 @@ func (m *GetWaiterRequest) String() string            { return proto.CompactText
 func (*GetWaiterRequest) ProtoMessage()               {}
 func (*GetWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
 
+func (m *GetWaiterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for `CreateWaiter()` method.
 type CreateWaiterRequest struct {
 	// The path to the configuration that will own the waiter.
@@ -393,6 +575,13 @@ func (m *CreateWaiterRequest) String() string            { return proto.CompactT
 func (*CreateWaiterRequest) ProtoMessage()               {}
 func (*CreateWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
 
+func (m *CreateWaiterRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
 func (m *CreateWaiterRequest) GetWaiter() *Waiter {
 	if m != nil {
 		return m.Waiter
@@ -400,6 +589,13 @@ func (m *CreateWaiterRequest) GetWaiter() *Waiter {
 	return nil
 }
 
+func (m *CreateWaiterRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 // Request for the `DeleteWaiter()` method.
 type DeleteWaiterRequest struct {
 	// The Waiter resource to delete, in the format:
@@ -413,6 +609,13 @@ func (m *DeleteWaiterRequest) String() string            { return proto.CompactT
 func (*DeleteWaiterRequest) ProtoMessage()               {}
 func (*DeleteWaiterRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
 
+func (m *DeleteWaiterRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ListConfigsRequest)(nil), "google.cloud.runtimeconfig.v1beta1.ListConfigsRequest")
 	proto.RegisterType((*ListConfigsResponse)(nil), "google.cloud.runtimeconfig.v1beta1.ListConfigsResponse")
@@ -1053,83 +1256,82 @@ var _RuntimeConfigManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto",
+	Metadata: "google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto", fileDescriptor1)
+	proto.RegisterFile("google/cloud/runtimeconfig/v1beta1/runtimeconfig.proto", fileDescriptor1)
 }
 
 var fileDescriptor1 = []byte{
-	// 1115 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, 0x49, 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, 0x26, 0xeb, 0x05, 0x7b, 0x76, 0x99, 0x1d, 0x27, 0xb4, 0x28, 0x97,
-	0x72, 0x03, 0x21, 0x21, 0x71, 0x28, 0x27, 0x0e, 0x48, 0x70, 0x42, 0x88, 0x13, 0x17, 0x44, 0xff,
-	0x09, 0x24, 0xfe, 0x02, 0xfe, 0x10, 0xb4, 0xf3, 0x63, 0xbd, 0xeb, 0xd8, 0xf1, 0x6c, 0x08, 0x97,
-	0x28, 0x1e, 0xef, 0x7b, 0xef, 0x33, 0x6f, 0xbe, 0x3b, 0xdf, 0x27, 0xc3, 0xc3, 0x30, 0x8e, 0xc3,
-	0x0e, 0xf5, 0xc3, 0xb8, 0x43, 0x58, 0xe8, 0xc7, 0x3c, 0x0c, 0x42, 0xca, 0x12, 0x1e, 0x8b, 0x38,
-	0x50, 0x5f, 0x91, 0x24, 0x4a, 0x83, 0x56, 0x27, 0xee, 0x1d, 0x06, 0xbc, 0xc7, 0x44, 0xd4, 0xa5,
-	0xad, 0x98, 0x1d, 0x45, 0x61, 0x70, 0xbc, 0xde, 0xa4, 0x82, 0xac, 0x97, 0x57, 0x7d, 0x19, 0x8a,
-	0x5d, 0x9d, 0x56, 0xc6, 0xf9, 0xe5, 0x27, 0x74, 0x9c, 0xb3, 0x67, 0x57, 0x9a, 0x24, 0x51, 0x90,
-	0x52, 0x7e, 0x1c, 0xb5, 0x4c, 0x61, 0xc2, 0x58, 0x2c, 0x88, 0x88, 0x62, 0x96, 0xaa, 0x72, 0xce,
-	0x87, 0x97, 0xb0, 0x0b, 0x9a, 0xc6, 0x3d, 0xde, 0xa2, 0x26, 0xe5, 0x8e, 0x5d, 0xca, 0x4e, 0xcc,
-	0x42, 0xde, 0x63, 0x2c, 0x62, 0x61, 0x10, 0x27, 0x94, 0x97, 0xb0, 0x36, 0xc3, 0x48, 0xb4, 0x7b,
-	0x4d, 0xbf, 0x15, 0x77, 0x03, 0x95, 0x27, 0x90, 0x5f, 0x34, 0x7b, 0x47, 0x41, 0x22, 0x1e, 0x27,
-	0x34, 0x0d, 0x68, 0x37, 0x11, 0x8f, 0xd5, 0x5f, 0x1d, 0xf4, 0xfa, 0xf8, 0xa0, 0x0c, 0x3f, 0x15,
-	0xa4, 0x9b, 0xf4, 0xff, 0x53, 0xc1, 0x6e, 0x1b, 0xf0, 0x7b, 0x51, 0x2a, 0x76, 0xe5, 0xde, 0xd2,
-	0x06, 0xfd, 0xac, 0x47, 0x53, 0x81, 0x97, 0x60, 0x2a, 0x21, 0x9c, 0x32, 0xb1, 0x8c, 0x56, 0xd0,
-	0x5a, 0xad, 0xa1, 0x3f, 0xe1, 0x97, 0xa1, 0x96, 0x90, 0x90, 0x1e, 0xa4, 0xd1, 0x13, 0xba, 0x3c,
-	0xb1, 0x82, 0xd6, 0x5e, 0x68, 0x4c, 0x67, 0x0b, 0x1f, 0x45, 0x4f, 0x28, 0xbe, 0x0e, 0x20, 0xbf,
-	0x14, 0xf1, 0xa7, 0x94, 0x2d, 0x4f, 0xca, 0x40, 0xf9, 0xf8, 0x7e, 0xb6, 0xe0, 0x7e, 0x85, 0x60,
-	0xbe, 0x54, 0x2a, 0x4d, 0x62, 0x96, 0x52, 0xfc, 0x2e, 0x5c, 0x55, 0x9d, 0x4d, 0x97, 0xd1, 0xca,
-	0xe4, 0xda, 0xcc, 0xc6, 0xba, 0x3f, 0x5e, 0x0b, 0x7e, 0x43, 0xad, 0xaa, 0x64, 0x0d, 0x93, 0x01,
-	0xaf, 0xc2, 0x8b, 0x8c, 0x7e, 0x2e, 0x0e, 0x0a, 0x20, 0x13, 0x12, 0x64, 0x36, 0x5b, 0x7e, 0x90,
-	0xc3, 0xac, 0xc2, 0x4b, 0xf7, 0xa9, 0x46, 0x31, 0x9b, 0xc6, 0x70, 0x85, 0x91, 0x2e, 0xd5, 0x01,
-	0xf2, 0x7f, 0xf7, 0x19, 0x82, 0xf9, 0x5d, 0x4e, 0x89, 0xa0, 0xe5, 0x67, 0x47, 0x35, 0x68, 0x0f,
-	0xa6, 0x14, 0x8a, 0xcc, 0x72, 0xa1, 0xbd, 0xe8, 0x04, 0x59, 0x3b, 0xb9, 0xaa, 0x76, 0x10, 0x1d,
-	0x9a, 0x76, 0xea, 0x95, 0xbd, 0x43, 0x57, 0xc0, 0xfc, 0xc3, 0xe4, 0xf0, 0x0c, 0x98, 0xd9, 0x04,
-	0xea, 0x6f, 0xe2, 0x12, 0xa1, 0xdc, 0xd7, 0x60, 0xfe, 0x1e, 0xed, 0x50, 0x8b, 0xaa, 0xee, 0x53,
-	0x04, 0x0b, 0xd9, 0x79, 0x7f, 0x4c, 0x78, 0x44, 0x9a, 0x1d, 0x3a, 0x56, 0x5c, 0x4b, 0x30, 0x75,
-	0x14, 0x75, 0x04, 0xe5, 0xfa, 0x04, 0xf4, 0xa7, 0xb2, 0xe8, 0x26, 0xcf, 0x15, 0xdd, 0x95, 0x41,
-	0xd1, 0x7d, 0x8d, 0x60, 0x71, 0x00, 0x42, 0xcb, 0xee, 0x1d, 0xa8, 0x1d, 0x9b, 0x45, 0x2d, 0xbc,
-	0x1b, 0x36, 0x7d, 0x31, 0x99, 0x1a, 0xfd, 0x70, 0x6b, 0xd5, 0x51, 0x58, 0x78, 0x44, 0x44, 0xab,
-	0x9d, 0xe7, 0x38, 0xe7, 0xd0, 0xb6, 0x01, 0x18, 0x3d, 0xa1, 0xfc, 0x40, 0xb4, 0x89, 0xda, 0xd8,
-	0xcc, 0x86, 0x63, 0x00, 0xcd, 0xfb, 0xed, 0xef, 0x9b, 0xd7, 0xb9, 0x51, 0x93, 0x4f, 0xef, 0xb7,
-	0x09, 0x73, 0xd7, 0x00, 0xdf, 0xa7, 0xc2, 0xa2, 0x88, 0xfb, 0x3d, 0x82, 0x45, 0x25, 0xef, 0xc1,
-	0xa7, 0x47, 0x1d, 0xd2, 0xdb, 0x30, 0x6d, 0xf6, 0xad, 0xd5, 0x54, 0xad, 0x6b, 0x79, 0xf4, 0x38,
-	0x7d, 0xf7, 0x60, 0x51, 0xe9, 0xdb, 0xa6, 0x59, 0x97, 0x46, 0xe5, 0xee, 0xc1, 0xa2, 0x12, 0xb8,
-	0x4d, 0xd9, 0x57, 0xa0, 0xc6, 0x69, 0xab, 0xc7, 0xd3, 0xe8, 0x58, 0xd5, 0x9d, 0x6e, 0xf4, 0x17,
-	0xcc, 0xd5, 0xfa, 0x88, 0x44, 0x82, 0xf2, 0xff, 0xf5, 0x6a, 0xfd, 0x52, 0x5f, 0xad, 0x79, 0x29,
-	0xad, 0xf1, 0x7b, 0x70, 0xf5, 0x44, 0x2d, 0x69, 0x85, 0x7b, 0x36, 0x5d, 0x51, 0x59, 0x1a, 0x26,
-	0xb4, 0xe2, 0x9d, 0xaa, 0xa3, 0xcf, 0x11, 0xdd, 0xb7, 0xf9, 0x9d, 0x5a, 0x7e, 0x76, 0x54, 0x67,
-	0x76, 0x60, 0x4a, 0xa1, 0xe8, 0xa3, 0xad, 0xb2, 0x09, 0x1d, 0x39, 0x4e, 0x6c, 0xf9, 0xb5, 0x36,
-	0x96, 0x7e, 0xe3, 0xef, 0x05, 0x58, 0x28, 0xdd, 0x8d, 0xef, 0x13, 0x46, 0x42, 0xca, 0xf1, 0x2f,
-	0x08, 0x66, 0x0a, 0xfe, 0x86, 0x6f, 0xdb, 0x60, 0x9e, 0xf5, 0x5e, 0xe7, 0x4e, 0xe5, 0x38, 0x75,
-	0xda, 0xee, 0x8d, 0xa7, 0x7f, 0xfd, 0xf3, 0xdd, 0xc4, 0x2a, 0x7e, 0x35, 0x1f, 0x51, 0xbe, 0x50,
-	0x1d, 0xbc, 0x9b, 0xf0, 0xf8, 0x13, 0xda, 0x12, 0x69, 0xe0, 0x9d, 0x06, 0xc6, 0x29, 0x7f, 0x44,
-	0x50, 0xcb, 0x2d, 0x10, 0xdf, 0xb2, 0x29, 0x3a, 0xe8, 0x98, 0x4e, 0x75, 0x23, 0x19, 0x06, 0x99,
-	0xb5, 0xb5, 0x80, 0x68, 0x08, 0x03, 0xef, 0x14, 0xff, 0x86, 0xe0, 0x5a, 0xd1, 0x7e, 0xb1, 0x55,
-	0x73, 0x86, 0x18, 0xf6, 0x45, 0x50, 0x6f, 0x49, 0x54, 0xdf, 0xb5, 0xea, 0x67, 0xdd, 0xd8, 0x76,
-	0x86, 0x5c, 0x34, 0x66, 0x3b, 0xe4, 0x21, 0x56, 0xfe, 0x1f, 0x90, 0x1d, 0xab, 0xee, 0xe6, 0xc8,
-	0xdf, 0x20, 0xb8, 0x56, 0x74, 0x75, 0x3b, 0xe4, 0x21, 0x73, 0x80, 0xb3, 0x74, 0xc6, 0xa0, 0xde,
-	0xca, 0x06, 0x55, 0x73, 0xea, 0x9e, 0xdd, 0xa9, 0x3f, 0x47, 0x30, 0x5b, 0x32, 0x6d, 0xbc, 0x65,
-	0xfb, 0x4e, 0x0c, 0x0e, 0x1b, 0xce, 0xf6, 0x05, 0x22, 0xf5, 0xfb, 0xb4, 0x25, 0xa1, 0x37, 0xf0,
-	0xcd, 0x73, 0xce, 0xbf, 0x80, 0x1d, 0xf4, 0xe7, 0x81, 0x5f, 0x11, 0xcc, 0x14, 0x1c, 0xd8, 0xee,
-	0x2a, 0x38, 0x6b, 0xd9, 0x4e, 0x25, 0x13, 0x73, 0xb7, 0x25, 0xef, 0x26, 0x5e, 0xb7, 0x68, 0x72,
-	0x1f, 0x36, 0xf0, 0xbc, 0x53, 0xfc, 0x07, 0x82, 0xd9, 0xd2, 0x64, 0x62, 0xd7, 0xf1, 0x61, 0xc3,
-	0x4c, 0x45, 0xe8, 0x1d, 0x09, 0xfd, 0x86, 0x7b, 0xa7, 0x32, 0x74, 0xfd, 0x24, 0xab, 0x5e, 0x47,
-	0x1e, 0xfe, 0x13, 0xc1, 0x5c, 0x79, 0x8a, 0xc1, 0xdb, 0xf6, 0xf7, 0xc4, 0xe5, 0xf0, 0x57, 0x16,
-	0x49, 0xbd, 0x3f, 0x09, 0x3d, 0x47, 0x30, 0x57, 0x9e, 0x75, 0xec, 0xf8, 0x87, 0xce, 0x47, 0x15,
-	0xf9, 0x77, 0x25, 0xff, 0x5d, 0xa7, 0xba, 0x68, 0x0a, 0x1b, 0xf8, 0x01, 0xc1, 0x5c, 0x79, 0x6a,
-	0xb2, 0xdb, 0xc0, 0xd0, 0x49, 0x6b, 0xe4, 0x25, 0xa2, 0xf5, 0xed, 0x5d, 0x40, 0xdf, 0xbf, 0x6b,
-	0x6f, 0xd6, 0x03, 0x92, 0xbd, 0x37, 0x97, 0x87, 0x37, 0x7b, 0x6f, 0x1e, 0x98, 0xc4, 0xdc, 0xdb,
-	0x92, 0xfd, 0x26, 0xf6, 0x2d, 0x65, 0x62, 0x66, 0xaf, 0x9f, 0x94, 0x4b, 0xab, 0x74, 0xd6, 0x2e,
-	0x5d, 0x9a, 0x62, 0x9c, 0x0a, 0xf3, 0xd2, 0x30, 0xce, 0xd1, 0x3d, 0xd6, 0x90, 0xd9, 0x95, 0xfd,
-	0x73, 0x6e, 0xd4, 0x1a, 0xb5, 0x82, 0x51, 0x97, 0x69, 0xaf, 0x9b, 0xc0, 0xc2, 0x0f, 0x25, 0xfe,
-	0x07, 0xe6, 0x87, 0x12, 0xf7, 0x4d, 0x09, 0xb8, 0xe5, 0x56, 0x6c, 0x64, 0xdd, 0x0c, 0x82, 0xcf,
-	0x72, 0xaf, 0xab, 0x02, 0x3a, 0x64, 0x38, 0x1c, 0x29, 0x53, 0xdd, 0x42, 0xaf, 0x62, 0x0b, 0x77,
-	0x3c, 0x58, 0x6d, 0xc5, 0x5d, 0x0b, 0x9a, 0x07, 0xa8, 0x39, 0x25, 0x6b, 0x6e, 0xfe, 0x1b, 0x00,
-	0x00, 0xff, 0xff, 0x90, 0xc1, 0xfd, 0xca, 0x8d, 0x13, 0x00, 0x00,
+	// 1099 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x98, 0x4d, 0x6f, 0xdc, 0x44,
+	0x18, 0xc7, 0x35, 0x49, 0xd9, 0x66, 0x9f, 0x34, 0x01, 0x4d, 0x5e, 0x14, 0xb9, 0xad, 0x88, 0x0c,
+	0x8a, 0xc2, 0xaa, 0xb2, 0x9b, 0x6d, 0x95, 0x26, 0x0b, 0xe5, 0x90, 0x14, 0x95, 0xf0, 0xa2, 0x56,
+	0x26, 0x50, 0x89, 0x4b, 0x34, 0xd9, 0x4c, 0x1c, 0xc3, 0xee, 0xd8, 0xd8, 0xb3, 0x09, 0xb4, 0xca,
+	0xa5, 0xdc, 0x40, 0x48, 0x48, 0x1c, 0xca, 0x89, 0x03, 0x12, 0x9c, 0x10, 0xe2, 0xc4, 0x05, 0xd1,
+	0x2f, 0x81, 0xc4, 0x27, 0xe0, 0x83, 0x20, 0xcf, 0x8b, 0xd7, 0xde, 0x78, 0x77, 0xc7, 0x21, 0xdc,
+	0x76, 0xc7, 0xf3, 0xcc, 0xfc, 0xe6, 0x99, 0xbf, 0x9f, 0xff, 0x23, 0xc3, 0xba, 0x1f, 0x86, 0x7e,
+	0x87, 0xba, 0xed, 0x4e, 0xd8, 0x3b, 0x70, 0xe3, 0x1e, 0xe3, 0x41, 0x97, 0xb6, 0x43, 0x76, 0x18,
+	0xf8, 0xee, 0xf1, 0xda, 0x3e, 0xe5, 0x64, 0xad, 0x38, 0xea, 0x44, 0x71, 0xc8, 0x43, 0x6c, 0xcb,
+	0x38, 0x47, 0xc4, 0x39, 0xc5, 0x19, 0x2a, 0xce, 0xba, 0xa6, 0xd6, 0x26, 0x51, 0xe0, 0x12, 0xc6,
+	0x42, 0x4e, 0x78, 0x10, 0xb2, 0x44, 0xae, 0x60, 0x35, 0x4d, 0x76, 0xa6, 0x49, 0xd8, 0x8b, 0xdb,
+	0x54, 0xc7, 0xbc, 0xa2, 0x62, 0x3a, 0x21, 0xf3, 0xe3, 0x1e, 0x63, 0x01, 0xf3, 0xdd, 0x30, 0xa2,
+	0x71, 0x61, 0xe1, 0xab, 0x6a, 0x92, 0xf8, 0xb7, 0xdf, 0x3b, 0x74, 0x69, 0x37, 0xe2, 0x5f, 0xa8,
+	0x87, 0x2f, 0x0f, 0x3e, 0x4c, 0x77, 0x4d, 0x38, 0xe9, 0x46, 0x72, 0x82, 0x7d, 0x04, 0xf8, 0xbd,
+	0x20, 0xe1, 0xdb, 0x02, 0x24, 0xf1, 0xe8, 0x67, 0x3d, 0x9a, 0x70, 0xbc, 0x08, 0xb5, 0x88, 0xc4,
+	0x94, 0xf1, 0x25, 0xb4, 0x8c, 0x56, 0xeb, 0x9e, 0xfa, 0x87, 0xaf, 0x42, 0x3d, 0x22, 0x3e, 0xdd,
+	0x4b, 0x82, 0xc7, 0x74, 0x69, 0x62, 0x19, 0xad, 0xbe, 0xe0, 0x4d, 0xa5, 0x03, 0x1f, 0x04, 0x8f,
+	0x29, 0xbe, 0x0e, 0x20, 0x1e, 0xf2, 0xf0, 0x53, 0xca, 0x96, 0x26, 0x45, 0xa0, 0x98, 0xbe, 0x9b,
+	0x0e, 0xd8, 0x5f, 0x21, 0x98, 0x2b, 0x6c, 0x95, 0x44, 0x21, 0x4b, 0x28, 0x7e, 0x17, 0x2e, 0xcb,
+	0x34, 0x24, 0x4b, 0x68, 0x79, 0x72, 0x75, 0xba, 0xb9, 0xe6, 0x8c, 0x4f, 0xb6, 0xe3, 0xc9, 0x51,
+	0xb9, 0x98, 0xa7, 0x57, 0xc0, 0x2b, 0xf0, 0x22, 0xa3, 0x9f, 0xf3, 0xbd, 0x1c, 0xc8, 0x84, 0x00,
+	0x99, 0x49, 0x87, 0x1f, 0x66, 0x30, 0x2b, 0xf0, 0xd2, 0x7d, 0xaa, 0x50, 0xf4, 0xa1, 0x31, 0x5c,
+	0x62, 0xa4, 0x4b, 0x55, 0x80, 0xf8, 0x6d, 0x3f, 0x43, 0x30, 0xb7, 0x1d, 0x53, 0xc2, 0x69, 0x71,
+	0xee, 0xb0, 0x04, 0xed, 0x40, 0x4d, 0xa2, 0x88, 0x55, 0xce, 0x75, 0x16, 0xb5, 0x40, 0x9a, 0xce,
+	0x58, 0xee, 0xb6, 0x17, 0x1c, 0xe8, 0x74, 0xaa, 0x91, 0x9d, 0x03, 0x9b, 0xc3, 0xdc, 0x87, 0xd1,
+	0xc1, 0x19, 0x30, 0x7d, 0x08, 0xd4, 0x3f, 0xc4, 0x05, 0x42, 0xd9, 0xaf, 0xc1, 0xdc, 0x3d, 0xda,
+	0xa1, 0x06, 0xbb, 0xda, 0x4f, 0x11, 0xcc, 0xa7, 0xf7, 0xfd, 0x11, 0x89, 0x03, 0xb2, 0xdf, 0xa1,
+	0x63, 0xc5, 0xb5, 0x08, 0xb5, 0xc3, 0xa0, 0xc3, 0x69, 0xac, 0x6e, 0x40, 0xfd, 0x2b, 0x8a, 0x6e,
+	0x72, 0xa4, 0xe8, 0x2e, 0x0d, 0x8a, 0xee, 0x6b, 0x04, 0x0b, 0x03, 0x10, 0x4a, 0x76, 0xef, 0x40,
+	0xfd, 0x58, 0x0f, 0x2a, 0xe1, 0xdd, 0x30, 0xc9, 0x8b, 0x5e, 0xc9, 0xeb, 0x87, 0x1b, 0xab, 0x8e,
+	0xc2, 0xfc, 0x23, 0xc2, 0xdb, 0x47, 0xd9, 0x1a, 0x23, 0x2e, 0x6d, 0x13, 0x80, 0xd1, 0x13, 0x1a,
+	0xef, 0xf1, 0x23, 0x22, 0x0f, 0x36, 0xdd, 0xb4, 0x34, 0xa0, 0x7e, 0x9d, 0x9d, 0x5d, 0xfd, 0x3a,
+	0x7b, 0x75, 0x31, 0x7b, 0xf7, 0x88, 0x30, 0x7b, 0x15, 0xf0, 0x7d, 0xca, 0x0d, 0x36, 0xb1, 0xbf,
+	0x47, 0xb0, 0x20, 0xe5, 0x3d, 0x38, 0x7b, 0xd8, 0x25, 0xbd, 0x0d, 0x53, 0xfa, 0xdc, 0x4a, 0x4d,
+	0xd5, 0xb2, 0x96, 0x45, 0x8f, 0xd3, 0x77, 0x0f, 0x16, 0xa4, 0xbe, 0x4d, 0x92, 0x75, 0x61, 0x54,
+	0xf6, 0x0e, 0x2c, 0x48, 0x81, 0x9b, 0x6c, 0x7b, 0x0d, 0xea, 0x31, 0x6d, 0xf7, 0xe2, 0x24, 0x38,
+	0x96, 0xfb, 0x4e, 0x79, 0xfd, 0x01, 0x5d, 0x5a, 0x1f, 0x91, 0x80, 0xd3, 0xf8, 0x7f, 0x2d, 0xad,
+	0x5f, 0xaa, 0xd2, 0x9a, 0x6d, 0xa5, 0x34, 0x7e, 0x0f, 0x2e, 0x9f, 0xc8, 0x21, 0xa5, 0xf0, 0x86,
+	0x49, 0x56, 0xe4, 0x2a, 0x9e, 0x0e, 0xad, 0x58, 0x53, 0x55, 0xf4, 0x08, 0xd1, 0x7d, 0x9b, 0xd5,
+	0xd4, 0xe2, 0xdc, 0x61, 0x99, 0xd9, 0x82, 0x9a, 0x44, 0x51, 0x57, 0x5b, 0xe5, 0x10, 0x2a, 0x72,
+	0x9c, 0xd8, 0xb2, 0xb2, 0x36, 0x96, 0xbe, 0xf9, 0xf7, 0x3c, 0xcc, 0x17, 0x6a, 0xe3, 0xfb, 0x84,
+	0x11, 0x9f, 0xc6, 0xf8, 0x17, 0x04, 0xd3, 0x39, 0x7f, 0xc3, 0xeb, 0x26, 0x98, 0x67, 0xbd, 0xd7,
+	0xba, 0x53, 0x39, 0x4e, 0xde, 0xb6, 0x7d, 0xe3, 0xe9, 0x5f, 0xff, 0x7c, 0x37, 0xb1, 0x82, 0x5f,
+	0xcd, 0xfa, 0x89, 0x27, 0x32, 0x83, 0x77, 0xa3, 0x38, 0xfc, 0x84, 0xb6, 0x79, 0xe2, 0x36, 0x4e,
+	0x5d, 0xed, 0x94, 0x3f, 0x22, 0xa8, 0x67, 0x16, 0x88, 0x6f, 0x9b, 0x6c, 0x3a, 0xe8, 0x98, 0x56,
+	0x75, 0x23, 0x29, 0x83, 0x4c, 0xd3, 0x9a, 0x43, 0xd4, 0x84, 0x6e, 0xe3, 0x14, 0xff, 0x86, 0xe0,
+	0x4a, 0xde, 0x7e, 0xb1, 0x51, 0x72, 0x4a, 0x0c, 0xfb, 0x3c, 0xa8, 0xb7, 0x05, 0xaa, 0x63, 0x1b,
+	0xe5, 0xb3, 0xa5, 0x6d, 0x3b, 0x45, 0xce, 0x1b, 0xb3, 0x19, 0x72, 0x89, 0x95, 0xff, 0x07, 0x64,
+	0xcb, 0x28, 0xbb, 0x19, 0xf2, 0x37, 0x08, 0xae, 0xe4, 0x5d, 0xdd, 0x0c, 0xb9, 0xa4, 0x0f, 0xb0,
+	0x16, 0xcf, 0x18, 0xd4, 0x5b, 0x69, 0x33, 0xaa, 0x6f, 0xbd, 0x61, 0x76, 0xeb, 0xcf, 0x11, 0xcc,
+	0x14, 0x4c, 0x1b, 0x6f, 0x98, 0xbe, 0x13, 0x83, 0xcd, 0x86, 0xb5, 0x79, 0x8e, 0x48, 0xf5, 0x3e,
+	0x6d, 0x08, 0xe8, 0x26, 0xbe, 0x39, 0xe2, 0xfe, 0x73, 0xd8, 0x6e, 0xbf, 0x1f, 0xf8, 0x15, 0xc1,
+	0x74, 0xce, 0x81, 0xcd, 0x4a, 0xc1, 0x59, 0xcb, 0xb6, 0x2a, 0x99, 0x98, 0xbd, 0x29, 0x78, 0x6f,
+	0xe1, 0x35, 0x83, 0x24, 0xf7, 0x61, 0xdd, 0x46, 0xe3, 0x14, 0xff, 0x81, 0x60, 0xa6, 0xd0, 0x99,
+	0x98, 0x65, 0xbc, 0xac, 0x99, 0xa9, 0x08, 0xbd, 0x25, 0xa0, 0xdf, 0xb0, 0xef, 0x54, 0x86, 0x6e,
+	0x9d, 0xa4, 0xbb, 0xb7, 0x50, 0x03, 0xff, 0x89, 0x60, 0xb6, 0xd8, 0xc5, 0xe0, 0x4d, 0xf3, 0x3a,
+	0x71, 0x31, 0xfc, 0x95, 0x45, 0xd2, 0xea, 0x77, 0x42, 0xcf, 0x11, 0xcc, 0x16, 0x7b, 0x1d, 0x33,
+	0xfe, 0xd2, 0xfe, 0xa8, 0x22, 0xff, 0xb6, 0xe0, 0xbf, 0x6b, 0x55, 0x17, 0x4d, 0xee, 0x00, 0x3f,
+	0x20, 0x98, 0x2d, 0x76, 0x4d, 0x66, 0x07, 0x28, 0xed, 0xb4, 0x86, 0x16, 0x11, 0xa5, 0xef, 0xc6,
+	0x39, 0xf4, 0xfd, 0xbb, 0xf2, 0x66, 0xd5, 0x20, 0x99, 0x7b, 0x73, 0xb1, 0x79, 0x33, 0xf7, 0xe6,
+	0x81, 0x4e, 0xcc, 0x5e, 0x17, 0xec, 0x37, 0xb1, 0x63, 0x28, 0x13, 0xdd, 0x7b, 0xfd, 0x24, 0x5d,
+	0x5a, 0x2e, 0x67, 0xec, 0xd2, 0x85, 0x2e, 0xc6, 0xaa, 0xd0, 0x2f, 0x95, 0x71, 0x0e, 0xcf, 0xb1,
+	0x82, 0x4c, 0x4b, 0xf6, 0xcf, 0x99, 0x51, 0x2b, 0xd4, 0x0a, 0x46, 0x5d, 0xa4, 0xbd, 0xae, 0x03,
+	0x73, 0x1f, 0x3d, 0x9c, 0x07, 0xfa, 0xa3, 0x87, 0xfd, 0xa6, 0x00, 0xdc, 0xb0, 0x2b, 0x26, 0xb2,
+	0xa5, 0x1b, 0xc1, 0x67, 0x99, 0xd7, 0x55, 0x01, 0x2d, 0x69, 0x0e, 0x87, 0xca, 0x54, 0xa5, 0xb0,
+	0x51, 0x31, 0x85, 0x5b, 0x4f, 0x60, 0xa5, 0x1d, 0x76, 0x0d, 0x68, 0x1e, 0xa2, 0x8f, 0x1f, 0xa8,
+	0x59, 0x7e, 0xd8, 0x21, 0xcc, 0x77, 0xc2, 0xd8, 0x77, 0x7d, 0xca, 0x04, 0x88, 0x2b, 0x1f, 0x91,
+	0x28, 0x48, 0x46, 0x7d, 0x6b, 0x7a, 0xbd, 0x30, 0xba, 0x5f, 0x13, 0xb1, 0xb7, 0xfe, 0x0d, 0x00,
+	0x00, 0xff, 0xff, 0xa4, 0xfc, 0xe7, 0x5c, 0x20, 0x13, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto b/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
deleted file mode 100644
index 33dd84de..00000000
--- a/googleapis/cloud/runtimeconfig/v1beta1/runtimeconfig.proto
+++ /dev/null
@@ -1,401 +0,0 @@
-// 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.runtimeconfig.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/runtimeconfig/v1beta1/resources.proto"; // from google/cloud/runtimeconfig/v1beta1/resources.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_package = "com.google.cloud.runtimeconfig.v1beta1";
-
-
-// RuntimeConfig API represents configuration objects and operations on those
-// configuration objects.
-// RuntimeConfig objects consist of Variables logically grouped in the those
-// objects.
-// Variables are simple key-value pairs. Variables can be watched for changes or
-// deletions. Variable key can be hieararchical, e.g. ports/serving_port,
-// ports/monitoring_port, etc. Variable names can be hierarchical. No variable
-// name can be prefix of another.
-// Config objects represent logical containers for variables, e.g. flags,
-// passwords, etc.
-service RuntimeConfigManager {
-  // Lists all the RuntimeConfig resources within project.
-  rpc ListConfigs(ListConfigsRequest) returns (ListConfigsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*}/configs" };
-  }
-
-  // Gets information about a RuntimeConfig resource.
-  rpc GetConfig(GetConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*}" };
-  }
-
-  // Creates a new RuntimeConfig resource. The configuration name must be
-  // unique within project.
-  rpc CreateConfig(CreateConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*}/configs" body: "config" };
-  }
-
-  // Updates a RuntimeConfig resource. The configuration must exist beforehand.
-  rpc UpdateConfig(UpdateConfigRequest) returns (RuntimeConfig) {
-    option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*}" body: "config" };
-  }
-
-  // Deletes a RuntimeConfig resource.
-  rpc DeleteConfig(DeleteConfigRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*}" };
-  }
-
-  // Lists variables within given a configuration, matching any provided filters.
-  // This only lists variable names, not the values.
-  rpc ListVariables(ListVariablesRequest) returns (ListVariablesResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/variables" };
-  }
-
-  // Gets information about a single variable.
-  rpc GetVariable(GetVariableRequest) returns (Variable) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
-  }
-
-  // Watches a specific variable and waits for a change in the variable's value.
-  // When there is a change, this method returns the new value or times out.
-  //
-  // If a variable is deleted while being watched, the `variableState` state is
-  // set to `DELETED` and the method returns the last known variable `value`.
-  //
-  // If you set the deadline for watching to a larger value than internal timeout
-  // (60 seconds), the current variable value is returned and the `variableState`
-  // will be `VARIABLE_STATE_UNSPECIFIED`.
-  //
-  // To learn more about creating a watcher, read the
-  // [Watching a Variable for Changes](/deployment-manager/runtime-configurator/watching-a-variable)
-  // documentation.
-  rpc WatchVariable(WatchVariableRequest) returns (Variable) {
-    option (google.api.http) = { post: "/v1beta1/{name=projects/*/configs/*/variables/**}:watch" body: "*" };
-  }
-
-  // Creates a variable within the given configuration. You cannot create
-  // a variable with a name that is a prefix of an existing variable name, or a
-  // name that has an existing variable name as a prefix.
-  //
-  // To learn more about creating a variable, read the
-  // [Setting and Getting Data](/deployment-manager/runtime-configurator/set-and-get-variables)
-  // documentation.
-  rpc CreateVariable(CreateVariableRequest) returns (Variable) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/variables" body: "variable" };
-  }
-
-  // Updates an existing variable with a new value.
-  rpc UpdateVariable(UpdateVariableRequest) returns (Variable) {
-    option (google.api.http) = { put: "/v1beta1/{name=projects/*/configs/*/variables/**}" body: "variable" };
-  }
-
-  // Deletes a variable or multiple variables.
-  //
-  // If you specify a variable name, then that variable is deleted. If you
-  // specify a prefix and `recursive` is true, then all variables with that
-  // prefix are deleted. You must set a `recursive` to true if you delete
-  // variables by prefix.
-  rpc DeleteVariable(DeleteVariableRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/variables/**}" };
-  }
-
-  // List waiters within the given configuration.
-  rpc ListWaiters(ListWaitersRequest) returns (ListWaitersResponse) {
-    option (google.api.http) = { get: "/v1beta1/{parent=projects/*/configs/*}/waiters" };
-  }
-
-  // Gets information about a single waiter.
-  rpc GetWaiter(GetWaiterRequest) returns (Waiter) {
-    option (google.api.http) = { get: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
-  }
-
-  // Creates a Waiter resource. This operation returns a long-running Operation
-  // resource which can be polled for completion. However, a waiter with the
-  // given name will exist (and can be retrieved) prior to the operation
-  // completing. If the operation fails, the failed Waiter resource will
-  // still exist and must be deleted prior to subsequent creation attempts.
-  rpc CreateWaiter(CreateWaiterRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1beta1/{parent=projects/*/configs/*}/waiters" body: "waiter" };
-  }
-
-  // Deletes the waiter with the specified name.
-  rpc DeleteWaiter(DeleteWaiterRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1beta1/{name=projects/*/configs/*/waiters/*}" };
-  }
-}
-
-// Request for the `ListConfigs()` method.
-message ListConfigsRequest {
-  // The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
-  // for this request, in the format `projects/[PROJECT_ID]`.
-  string parent = 1;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 2;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 3;
-}
-
-// `ListConfigs()` returns the following response. The order of returned
-// objects is arbitrary; that is, it is not ordered in any particular way.
-message ListConfigsResponse {
-  // A list of the configurations in the project. The order of returned
-  // objects is arbitrary; that is, it is not ordered in any particular way.
-  repeated RuntimeConfig configs = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Gets a RuntimeConfig resource.
-message GetConfigRequest {
-  // The name of the RuntimeConfig resource to retrieve, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 2;
-}
-
-// Creates a RuntimeConfig resource.
-message CreateConfigRequest {
-  // The [project ID](https://support.google.com/cloud/answer/6158840?hl=en&ref_topic=6158848)
-  // for this request, in the format `projects/[PROJECT_ID]`.
-  string parent = 1;
-
-  // The RuntimeConfig to create.
-  RuntimeConfig config = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request message for `UpdateConfig()` method.
-message UpdateConfigRequest {
-  // The name of the RuntimeConfig resource to update, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-
-  // The config resource to update.
-  RuntimeConfig config = 2;
-}
-
-// Request for the `DeleteConfig()` method.
-message DeleteConfigRequest {
-  // The RuntimeConfig resource to delete, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-}
-
-// Request for the `ListVariables()` method.
-message ListVariablesRequest {
-  // The path to the RuntimeConfig resource for which you want to list variables.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // Filters variables by matching the specified filter. For example:
-  //
-  // `projects/example-project/config/[CONFIG_NAME]/variables/example-variable`.
-  string filter = 2;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 3;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 4;
-}
-
-// Response for the `ListVariables()` method.
-message ListVariablesResponse {
-  // A list of variables and their values. The order of returned variable
-  // objects is arbitrary.
-  repeated Variable variables = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Request for the `WatchVariable()` method.
-message WatchVariableRequest {
-  // The name of the variable to watch, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string name = 1;
-
-  // If specified, checks the current timestamp of the variable and if the
-  // current timestamp is newer than `newerThan` timestamp, the method returns
-  // immediately.
-  //
-  // If not specified or the variable has an older timestamp, the watcher waits
-  // for a the value to change before returning.
-  google.protobuf.Timestamp newer_than = 4;
-}
-
-// Request for the `GetVariable()` method.
-message GetVariableRequest {
-  // The name of the variable to return, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIBLE_NAME]`
-  string name = 1;
-}
-
-// Request for the `CreateVariable()` method.
-message CreateVariableRequest {
-  // The path to the RutimeConfig resource that this variable should belong to.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // The variable to create.
-  Variable variable = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request for the `UpdateVariable()` method.
-message UpdateVariableRequest {
-  // The name of the variable to update, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
-  string name = 1;
-
-  // The variable to update.
-  Variable variable = 2;
-}
-
-// Request for the `DeleteVariable()` method.
-message DeleteVariableRequest {
-  // The name of the variable to delete, in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/variables/[VARIABLE_NAME]`
-  string name = 1;
-
-  // Set to `true` to recursively delete multiple variables with the same
-  // prefix.
-  bool recursive = 2;
-}
-
-// Request for the `ListWaiters()` method.
-message ListWaitersRequest {
-  // The path to the configuration for which you want to get a list of waiters.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`
-  string parent = 1;
-
-  // Specifies the number of results to return per page. If there are fewer
-  // elements than the specified number, returns all elements.
-  int32 page_size = 2;
-
-  // Specifies a page token to use. Set `pageToken` to a `nextPageToken`
-  // returned by a previous list request to get the next page of results.
-  string page_token = 3;
-}
-
-// Response for the `ListWaiters()` method.
-// Order of returned waiter objects is arbitrary.
-message ListWaitersResponse {
-  // Found waiters in the project.
-  repeated Waiter waiters = 1;
-
-  // This token allows you to get the next page of results for list requests.
-  // If the number of results is larger than `pageSize`, use the `nextPageToken`
-  // as a value for the query parameter `pageToken` in the next list request.
-  // Subsequent list requests will have their own `nextPageToken` to continue
-  // paging through the results
-  string next_page_token = 2;
-}
-
-// Request for the `GetWaiter()` method.
-message GetWaiterRequest {
-  // The fully-qualified name of the Waiter resource object to retrieve, in the
-  // format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
-  string name = 1;
-}
-
-// Request message for `CreateWaiter()` method.
-message CreateWaiterRequest {
-  // The path to the configuration that will own the waiter.
-  // The configuration must exist beforehand; the path must by in the format:
-  //
-  // `projects/[PROJECT_ID]/configs/[CONFIG_NAME]`.
-  string parent = 1;
-
-  // The Waiter resource to create.
-  Waiter waiter = 2;
-
-  // An optional but recommended unique `request_id`. If the server
-  // receives two `create()` requests  with the same
-  // `request_id`, then the second request will be ignored and the
-  // first resource created and stored in the backend is returned.
-  // Empty `request_id` fields are ignored.
-  //
-  // It is responsibility of the client to ensure uniqueness of the
-  // `request_id` strings.
-  //
-  // `request_id` strings are limited to 64 characters.
-  string request_id = 3;
-}
-
-// Request for the `DeleteWaiter()` method.
-message DeleteWaiterRequest {
-  // The Waiter resource to delete, in the format:
-  //
-  //  `projects/[PROJECT_ID]/configs/[CONFIG_NAME]/waiters/[WAITER_NAME]`
-  string name = 1;
-}
diff --git a/googleapis/cloud/speech/v1/cloud_speech.pb.go b/googleapis/cloud/speech/v1/cloud_speech.pb.go
deleted file mode 100644
index 1264b5f7..00000000
--- a/googleapis/cloud/speech/v1/cloud_speech.pb.go
+++ /dev/null
@@ -1,639 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto
-// DO NOT EDIT!
-
-/*
-Package google_cloud_speech_v1 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto
-
-It has these top-level messages:
-	RecognizeRequest
-	InitialRecognizeRequest
-	SpeechContext
-	AudioRequest
-	NonStreamingRecognizeResponse
-	RecognizeResponse
-	SpeechRecognitionResult
-	SpeechRecognitionAlternative
-*/
-package google_cloud_speech_v1 // import "google.golang.org/genproto/googleapis/cloud/speech/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
-
-// 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
-
-// Audio encoding of the data sent in the audio message. All encodings support
-// only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-// the bytes of audio that follow the header. The other encodings are raw
-// audio bytes with no header.
-//
-// For best results, the audio source should be captured and transmitted using
-// a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-// reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-// or transmit the audio, particularly if background noise is present.
-type InitialRecognizeRequest_AudioEncoding int32
-
-const (
-	// Not specified. Will return result [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-	InitialRecognizeRequest_ENCODING_UNSPECIFIED InitialRecognizeRequest_AudioEncoding = 0
-	// Uncompressed 16-bit signed little-endian samples.
-	InitialRecognizeRequest_LINEAR16 InitialRecognizeRequest_AudioEncoding = 1
-	// This is the recommended encoding because it uses lossless compression;
-	// therefore recognition accuracy is not compromised by a lossy codec.
-	//
-	// The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-	// http://flac.sourceforge.net/documentation.html.
-	// Only 16-bit samples are supported.
-	// Not all fields in STREAMINFO are supported.
-	InitialRecognizeRequest_FLAC InitialRecognizeRequest_AudioEncoding = 2
-	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-	InitialRecognizeRequest_MULAW InitialRecognizeRequest_AudioEncoding = 3
-	// Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-	InitialRecognizeRequest_AMR InitialRecognizeRequest_AudioEncoding = 4
-	// Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-	InitialRecognizeRequest_AMR_WB InitialRecognizeRequest_AudioEncoding = 5
-)
-
-var InitialRecognizeRequest_AudioEncoding_name = map[int32]string{
-	0: "ENCODING_UNSPECIFIED",
-	1: "LINEAR16",
-	2: "FLAC",
-	3: "MULAW",
-	4: "AMR",
-	5: "AMR_WB",
-}
-var InitialRecognizeRequest_AudioEncoding_value = map[string]int32{
-	"ENCODING_UNSPECIFIED": 0,
-	"LINEAR16":             1,
-	"FLAC":                 2,
-	"MULAW":                3,
-	"AMR":                  4,
-	"AMR_WB":               5,
-}
-
-func (x InitialRecognizeRequest_AudioEncoding) String() string {
-	return proto.EnumName(InitialRecognizeRequest_AudioEncoding_name, int32(x))
-}
-func (InitialRecognizeRequest_AudioEncoding) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{1, 0}
-}
-
-// Indicates the type of endpointer event.
-type RecognizeResponse_EndpointerEvent int32
-
-const (
-	// No endpointer event specified.
-	RecognizeResponse_ENDPOINTER_EVENT_UNSPECIFIED RecognizeResponse_EndpointerEvent = 0
-	// Speech has been detected in the audio stream.
-	RecognizeResponse_START_OF_SPEECH RecognizeResponse_EndpointerEvent = 1
-	// Speech has ceased to be detected in the audio stream.
-	RecognizeResponse_END_OF_SPEECH RecognizeResponse_EndpointerEvent = 2
-	// The end of the audio stream has been reached. and it is being processed.
-	RecognizeResponse_END_OF_AUDIO RecognizeResponse_EndpointerEvent = 3
-	// This event is only sent when continuous is `false`. It indicates that the
-	// server has detected the end of the user's speech utterance and expects no
-	// additional speech. Therefore, the server will not process additional
-	// audio. The client should stop sending additional audio data.
-	RecognizeResponse_END_OF_UTTERANCE RecognizeResponse_EndpointerEvent = 4
-)
-
-var RecognizeResponse_EndpointerEvent_name = map[int32]string{
-	0: "ENDPOINTER_EVENT_UNSPECIFIED",
-	1: "START_OF_SPEECH",
-	2: "END_OF_SPEECH",
-	3: "END_OF_AUDIO",
-	4: "END_OF_UTTERANCE",
-}
-var RecognizeResponse_EndpointerEvent_value = map[string]int32{
-	"ENDPOINTER_EVENT_UNSPECIFIED": 0,
-	"START_OF_SPEECH":              1,
-	"END_OF_SPEECH":                2,
-	"END_OF_AUDIO":                 3,
-	"END_OF_UTTERANCE":             4,
-}
-
-func (x RecognizeResponse_EndpointerEvent) String() string {
-	return proto.EnumName(RecognizeResponse_EndpointerEvent_name, int32(x))
-}
-func (RecognizeResponse_EndpointerEvent) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{5, 0}
-}
-
-// `RecognizeRequest` is the only message type sent by the client.
-//
-// When using the REST API or the gRPC `NonStreamingRecognize` API, only one
-// `RecognizeRequest` message is sent, and it must contain both an
-// `initial_request` and an 'audio_request`.
-//
-// When using the gRPC Streaming `Recognize` API, one or more `RecognizeRequest`
-// messages are sent. The first message must contain an `initial_request` and
-// may contain an 'audio_request`. Any subsequent messages must not contain an
-// `initial_request` and must contain an 'audio_request`.
-type RecognizeRequest struct {
-	// The `initial_request` message provides information to the recognizer
-	// that specifies how to process the request.
-	//
-	// The first `RecognizeRequest` message must contain an `initial_request`.
-	// Any subsequent `RecognizeRequest` messages must not contain an
-	// `initial_request`.
-	InitialRequest *InitialRecognizeRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest" json:"initial_request,omitempty"`
-	// The audio data to be recognized. For REST or `NonStreamingRecognize`, all
-	// audio data must be contained in the first (and only) `RecognizeRequest`
-	// message. For gRPC streaming `Recognize`, sequential chunks of audio data
-	// are sent in sequential `RecognizeRequest` messages.
-	AudioRequest *AudioRequest `protobuf:"bytes,2,opt,name=audio_request,json=audioRequest" json:"audio_request,omitempty"`
-}
-
-func (m *RecognizeRequest) Reset()                    { *m = RecognizeRequest{} }
-func (m *RecognizeRequest) String() string            { return proto.CompactTextString(m) }
-func (*RecognizeRequest) ProtoMessage()               {}
-func (*RecognizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
-
-func (m *RecognizeRequest) GetInitialRequest() *InitialRecognizeRequest {
-	if m != nil {
-		return m.InitialRequest
-	}
-	return nil
-}
-
-func (m *RecognizeRequest) GetAudioRequest() *AudioRequest {
-	if m != nil {
-		return m.AudioRequest
-	}
-	return nil
-}
-
-// The `InitialRecognizeRequest` message provides information to the recognizer
-// that specifies how to process the request.
-type InitialRecognizeRequest struct {
-	// [Required] Encoding of audio data sent in all `AudioRequest` messages.
-	Encoding InitialRecognizeRequest_AudioEncoding `protobuf:"varint,1,opt,name=encoding,enum=google.cloud.speech.v1.InitialRecognizeRequest_AudioEncoding" json:"encoding,omitempty"`
-	// [Required] Sample rate in Hertz of the audio data sent in all
-	// AudioRequest messages. Valid values are: 8000-48000.
-	// 16000 is optimal. For best results, set the sampling rate of the audio
-	// source to 16000 Hz. If that's not possible, use the native sample rate of
-	// the audio source (instead of re-sampling).
-	SampleRate int32 `protobuf:"varint,2,opt,name=sample_rate,json=sampleRate" json:"sample_rate,omitempty"`
-	// [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.
-	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
-	// within each `SpeechRecognitionResult`.
-	// The server may return fewer than `max_alternatives`.
-	// Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-	// `1`. If omitted, defaults to `1`.
-	MaxAlternatives int32 `protobuf:"varint,4,opt,name=max_alternatives,json=maxAlternatives" json:"max_alternatives,omitempty"`
-	// [Optional] If set to `true`, the server will attempt to filter out
-	// profanities, replacing all but the initial character in each filtered word
-	// with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-	// won't be filtered out.
-	ProfanityFilter bool `protobuf:"varint,5,opt,name=profanity_filter,json=profanityFilter" json:"profanity_filter,omitempty"`
-	// [Optional] If `false` or omitted, the recognizer will detect a single
-	// spoken utterance, and it will cease recognition when the user stops
-	// speaking. If `enable_endpointer_events` is `true`, it will return
-	// `END_OF_UTTERANCE` when it detects that the user has stopped speaking.
-	// In all cases, it will return no more than one `SpeechRecognitionResult`,
-	// and set the `is_final` flag to `true`.
-	//
-	// If `true`, the recognizer will continue recognition (even if the user
-	// pauses speaking) until the client closes the output stream (gRPC API) or
-	// completes the POST data (REST API) or when the maximum time limit has been
-	// reached. Multiple `SpeechRecognitionResult`s with the `is_final` flag set
-	// to `true` may be returned to indicate that the recognizer will not return
-	// any further hypotheses for that portion of the transcript.
-	Continuous bool `protobuf:"varint,6,opt,name=continuous" json:"continuous,omitempty"`
-	// [Optional] If this parameter is `true`, interim results may be returned as
-	// they become available.
-	// If `false` or omitted, only `is_final=true` result(s) are returned.
-	InterimResults bool `protobuf:"varint,7,opt,name=interim_results,json=interimResults" json:"interim_results,omitempty"`
-	// [Optional] If this parameter is `true`, `EndpointerEvents` may be returned
-	// as they become available.
-	// If `false` or omitted, no `EndpointerEvents` are returned.
-	EnableEndpointerEvents bool `protobuf:"varint,8,opt,name=enable_endpointer_events,json=enableEndpointerEvents" json:"enable_endpointer_events,omitempty"`
-	// [Optional] URI that points to a file where the recognition result should
-	// be stored in JSON format. If omitted or empty string, the recognition
-	// result is returned in the response. Should be specified only for
-	// `NonStreamingRecognize`. If specified in a `Recognize` request,
-	// `Recognize` returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-	// If specified in a `NonStreamingRecognize` request,
-	// `NonStreamingRecognize` returns immediately, and the output file
-	// is created asynchronously once the audio processing completes.
-	// Currently, only Google Cloud Storage URIs are 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).
-	OutputUri string `protobuf:"bytes,9,opt,name=output_uri,json=outputUri" json:"output_uri,omitempty"`
-	// [Optional] A means to provide context to assist the speech recognition.
-	SpeechContext *SpeechContext `protobuf:"bytes,10,opt,name=speech_context,json=speechContext" json:"speech_context,omitempty"`
-}
-
-func (m *InitialRecognizeRequest) Reset()                    { *m = InitialRecognizeRequest{} }
-func (m *InitialRecognizeRequest) String() string            { return proto.CompactTextString(m) }
-func (*InitialRecognizeRequest) ProtoMessage()               {}
-func (*InitialRecognizeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
-
-func (m *InitialRecognizeRequest) GetSpeechContext() *SpeechContext {
-	if m != nil {
-		return m.SpeechContext
-	}
-	return nil
-}
-
-// 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.
-	Phrases []string `protobuf:"bytes,1,rep,name=phrases" json:"phrases,omitempty"`
-}
-
-func (m *SpeechContext) Reset()                    { *m = SpeechContext{} }
-func (m *SpeechContext) String() string            { return proto.CompactTextString(m) }
-func (*SpeechContext) ProtoMessage()               {}
-func (*SpeechContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
-
-// Contains audio data in the encoding specified in the
-// `InitialRecognizeRequest`. Either `content` or `uri` must be supplied.
-// Supplying both or neither returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-type AudioRequest struct {
-	// The audio data bytes encoded as specified in
-	// `InitialRecognizeRequest`. Note: as with all bytes fields, protobuffers
-	// use a pure binary representation, whereas JSON representations use base64.
-	Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
-	// URI that points to a file that contains audio data bytes as specified in
-	// `InitialRecognizeRequest`. Currently, only Google Cloud Storage URIs are
-	// 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).
-	Uri string `protobuf:"bytes,2,opt,name=uri" json:"uri,omitempty"`
-}
-
-func (m *AudioRequest) Reset()                    { *m = AudioRequest{} }
-func (m *AudioRequest) String() string            { return proto.CompactTextString(m) }
-func (*AudioRequest) ProtoMessage()               {}
-func (*AudioRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
-
-// `NonStreamingRecognizeResponse` is the only message returned to the client by
-// `NonStreamingRecognize`. It contains the result as zero or more sequential
-// `RecognizeResponse` messages.
-//
-// Note that streaming `Recognize` will also return multiple `RecognizeResponse`
-// messages, but each message is individually streamed.
-type NonStreamingRecognizeResponse struct {
-	// [Output-only] Sequential list of messages returned by the recognizer.
-	Responses []*RecognizeResponse `protobuf:"bytes,1,rep,name=responses" json:"responses,omitempty"`
-}
-
-func (m *NonStreamingRecognizeResponse) Reset()                    { *m = NonStreamingRecognizeResponse{} }
-func (m *NonStreamingRecognizeResponse) String() string            { return proto.CompactTextString(m) }
-func (*NonStreamingRecognizeResponse) ProtoMessage()               {}
-func (*NonStreamingRecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
-
-func (m *NonStreamingRecognizeResponse) GetResponses() []*RecognizeResponse {
-	if m != nil {
-		return m.Responses
-	}
-	return nil
-}
-
-// `RecognizeResponse` is the only message type returned to the client.
-type RecognizeResponse struct {
-	// [Output-only] If set, returns a [google.rpc.Status][] message that
-	// specifies the error for the operation.
-	Error *google_rpc.Status `protobuf:"bytes,1,opt,name=error" json:"error,omitempty"`
-	// [Output-only] For `continuous=false`, this repeated list contains zero or
-	// one result that corresponds to all of the audio processed so far. For
-	// `continuous=true`, this repeated list contains zero or more results that
-	// correspond to consecutive portions of the audio being processed.
-	// In both cases, contains zero or one `is_final=true` result (the newly
-	// settled portion), followed by zero or more `is_final=false` results.
-	Results []*SpeechRecognitionResult `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
-	// 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.
-	Endpoint RecognizeResponse_EndpointerEvent `protobuf:"varint,4,opt,name=endpoint,enum=google.cloud.speech.v1.RecognizeResponse_EndpointerEvent" json:"endpoint,omitempty"`
-}
-
-func (m *RecognizeResponse) Reset()                    { *m = RecognizeResponse{} }
-func (m *RecognizeResponse) String() string            { return proto.CompactTextString(m) }
-func (*RecognizeResponse) ProtoMessage()               {}
-func (*RecognizeResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
-
-func (m *RecognizeResponse) GetError() *google_rpc.Status {
-	if m != nil {
-		return m.Error
-	}
-	return nil
-}
-
-func (m *RecognizeResponse) GetResults() []*SpeechRecognitionResult {
-	if m != nil {
-		return m.Results
-	}
-	return nil
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-type SpeechRecognitionResult 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] Set `true` if this is the final time the speech service will
-	// return this particular `SpeechRecognitionResult`. If `false`, this
-	// represents an interim result that may change.
-	IsFinal bool `protobuf:"varint,2,opt,name=is_final,json=isFinal" json:"is_final,omitempty"`
-	// [Output-only] An estimate of the probability that the recognizer will not
-	// change its guess about this interim result. Values range from 0.0
-	// (completely unstable) to 1.0 (completely stable). Note that this is not the
-	// same as `confidence`, which estimates the probability that a recognition
-	// result is correct.
-	// This field is only provided for interim results (`is_final=false`).
-	// The default of 0.0 is a sentinel value indicating stability was not set.
-	Stability float32 `protobuf:"fixed32,3,opt,name=stability" json:"stability,omitempty"`
-}
-
-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{6} }
-
-func (m *SpeechRecognitionResult) GetAlternatives() []*SpeechRecognitionAlternative {
-	if m != nil {
-		return m.Alternatives
-	}
-	return nil
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-type SpeechRecognitionAlternative struct {
-	// [Output-only] Transcript text representing the words that the user spoke.
-	Transcript string `protobuf:"bytes,1,opt,name=transcript" json:"transcript,omitempty"`
-	// [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-	// means the system is more confident that the recognition is correct.
-	// This field is typically provided only for the top hypothesis. and only for
-	// `is_final=true` results.
-	// The default of 0.0 is a sentinel value indicating confidence was not set.
-	Confidence float32 `protobuf:"fixed32,2,opt,name=confidence" json:"confidence,omitempty"`
-}
-
-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{7} }
-
-func init() {
-	proto.RegisterType((*RecognizeRequest)(nil), "google.cloud.speech.v1.RecognizeRequest")
-	proto.RegisterType((*InitialRecognizeRequest)(nil), "google.cloud.speech.v1.InitialRecognizeRequest")
-	proto.RegisterType((*SpeechContext)(nil), "google.cloud.speech.v1.SpeechContext")
-	proto.RegisterType((*AudioRequest)(nil), "google.cloud.speech.v1.AudioRequest")
-	proto.RegisterType((*NonStreamingRecognizeResponse)(nil), "google.cloud.speech.v1.NonStreamingRecognizeResponse")
-	proto.RegisterType((*RecognizeResponse)(nil), "google.cloud.speech.v1.RecognizeResponse")
-	proto.RegisterType((*SpeechRecognitionResult)(nil), "google.cloud.speech.v1.SpeechRecognitionResult")
-	proto.RegisterType((*SpeechRecognitionAlternative)(nil), "google.cloud.speech.v1.SpeechRecognitionAlternative")
-	proto.RegisterEnum("google.cloud.speech.v1.InitialRecognizeRequest_AudioEncoding", InitialRecognizeRequest_AudioEncoding_name, InitialRecognizeRequest_AudioEncoding_value)
-	proto.RegisterEnum("google.cloud.speech.v1.RecognizeResponse_EndpointerEvent", RecognizeResponse_EndpointerEvent_name, RecognizeResponse_EndpointerEvent_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.SupportPackageIsVersion4
-
-// Client API for Speech service
-
-type SpeechClient interface {
-	// Perform bidirectional streaming speech-recognition: receive results while
-	// sending audio.
-	Recognize(ctx context.Context, opts ...grpc.CallOption) (Speech_RecognizeClient, error)
-	// Perform non-streaming speech-recognition: receive results after all audio
-	// has been sent and processed.
-	NonStreamingRecognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*NonStreamingRecognizeResponse, error)
-}
-
-type speechClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewSpeechClient(cc *grpc.ClientConn) SpeechClient {
-	return &speechClient{cc}
-}
-
-func (c *speechClient) Recognize(ctx context.Context, opts ...grpc.CallOption) (Speech_RecognizeClient, error) {
-	stream, err := grpc.NewClientStream(ctx, &_Speech_serviceDesc.Streams[0], c.cc, "/google.cloud.speech.v1.Speech/Recognize", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &speechRecognizeClient{stream}
-	return x, nil
-}
-
-type Speech_RecognizeClient interface {
-	Send(*RecognizeRequest) error
-	Recv() (*RecognizeResponse, error)
-	grpc.ClientStream
-}
-
-type speechRecognizeClient struct {
-	grpc.ClientStream
-}
-
-func (x *speechRecognizeClient) Send(m *RecognizeRequest) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *speechRecognizeClient) Recv() (*RecognizeResponse, error) {
-	m := new(RecognizeResponse)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func (c *speechClient) NonStreamingRecognize(ctx context.Context, in *RecognizeRequest, opts ...grpc.CallOption) (*NonStreamingRecognizeResponse, error) {
-	out := new(NonStreamingRecognizeResponse)
-	err := grpc.Invoke(ctx, "/google.cloud.speech.v1.Speech/NonStreamingRecognize", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// Server API for Speech service
-
-type SpeechServer interface {
-	// Perform bidirectional streaming speech-recognition: receive results while
-	// sending audio.
-	Recognize(Speech_RecognizeServer) error
-	// Perform non-streaming speech-recognition: receive results after all audio
-	// has been sent and processed.
-	NonStreamingRecognize(context.Context, *RecognizeRequest) (*NonStreamingRecognizeResponse, error)
-}
-
-func RegisterSpeechServer(s *grpc.Server, srv SpeechServer) {
-	s.RegisterService(&_Speech_serviceDesc, srv)
-}
-
-func _Speech_Recognize_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(SpeechServer).Recognize(&speechRecognizeServer{stream})
-}
-
-type Speech_RecognizeServer interface {
-	Send(*RecognizeResponse) error
-	Recv() (*RecognizeRequest, error)
-	grpc.ServerStream
-}
-
-type speechRecognizeServer struct {
-	grpc.ServerStream
-}
-
-func (x *speechRecognizeServer) Send(m *RecognizeResponse) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *speechRecognizeServer) Recv() (*RecognizeRequest, error) {
-	m := new(RecognizeRequest)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func _Speech_NonStreamingRecognize_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(RecognizeRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(SpeechServer).NonStreamingRecognize(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/google.cloud.speech.v1.Speech/NonStreamingRecognize",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(SpeechServer).NonStreamingRecognize(ctx, req.(*RecognizeRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _Speech_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "google.cloud.speech.v1.Speech",
-	HandlerType: (*SpeechServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "NonStreamingRecognize",
-			Handler:    _Speech_NonStreamingRecognize_Handler,
-		},
-	},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "Recognize",
-			Handler:       _Speech_Recognize_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/speech/v1/cloud_speech.proto", fileDescriptor0)
-}
-
-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,
-}
diff --git a/googleapis/cloud/speech/v1/cloud_speech.proto b/googleapis/cloud/speech/v1/cloud_speech.proto
deleted file mode 100644
index c8a75fd2..00000000
--- a/googleapis/cloud/speech/v1/cloud_speech.proto
+++ /dev/null
@@ -1,292 +0,0 @@
-// 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.speech.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.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 = "SpeechProto";
-option java_package = "com.google.cloud.speech.v1";
-
-
-// Service that implements Google Cloud Speech API.
-service Speech {
-  // Perform bidirectional streaming speech-recognition: receive results while
-  // sending audio.
-  rpc Recognize(stream RecognizeRequest) returns (stream RecognizeResponse);
-
-  // Perform non-streaming speech-recognition: receive results after all audio
-  // has been sent and processed.
-  rpc NonStreamingRecognize(RecognizeRequest) returns (NonStreamingRecognizeResponse) {
-    option (google.api.http) = { post: "/v1/speech:recognize" body: "*" };
-  }
-}
-
-// `RecognizeRequest` is the only message type sent by the client.
-//
-// When using the REST API or the gRPC `NonStreamingRecognize` API, only one
-// `RecognizeRequest` message is sent, and it must contain both an
-// `initial_request` and an 'audio_request`.
-//
-// When using the gRPC Streaming `Recognize` API, one or more `RecognizeRequest`
-// messages are sent. The first message must contain an `initial_request` and
-// may contain an 'audio_request`. Any subsequent messages must not contain an
-// `initial_request` and must contain an 'audio_request`.
-message RecognizeRequest {
-  // The `initial_request` message provides information to the recognizer
-  // that specifies how to process the request.
-  //
-  // The first `RecognizeRequest` message must contain an `initial_request`.
-  // Any subsequent `RecognizeRequest` messages must not contain an
-  // `initial_request`.
-  InitialRecognizeRequest initial_request = 1;
-
-  // The audio data to be recognized. For REST or `NonStreamingRecognize`, all
-  // audio data must be contained in the first (and only) `RecognizeRequest`
-  // message. For gRPC streaming `Recognize`, sequential chunks of audio data
-  // are sent in sequential `RecognizeRequest` messages.
-  AudioRequest audio_request = 2;
-}
-
-// The `InitialRecognizeRequest` message provides information to the recognizer
-// that specifies how to process the request.
-message InitialRecognizeRequest {
-  // Audio encoding of the data sent in the audio message. All encodings support
-  // only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-  // the bytes of audio that follow the header. The other encodings are raw
-  // audio bytes with no header.
-  //
-  // For best results, the audio source should be captured and transmitted using
-  // a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-  // reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-  // or transmit the audio, particularly if background noise is present.
-  enum AudioEncoding {
-    // 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.
-    LINEAR16 = 1;
-
-    // This is the recommended encoding because it uses lossless compression;
-    // therefore recognition accuracy is not compromised by a lossy codec.
-    //
-    // The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-    // http://flac.sourceforge.net/documentation.html.
-    // Only 16-bit samples are supported.
-    // Not all fields in STREAMINFO are supported.
-    FLAC = 2;
-
-    // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-    MULAW = 3;
-
-    // Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-    AMR = 4;
-
-    // Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-    AMR_WB = 5;
-  }
-
-  // [Required] Encoding of audio data sent in all `AudioRequest` messages.
-  AudioEncoding encoding = 1;
-
-  // [Required] Sample rate in Hertz of the audio data sent in all
-  // AudioRequest messages. Valid values are: 8000-48000.
-  // 16000 is optimal. For best results, set the sampling rate of the audio
-  // source to 16000 Hz. If that's not possible, use the native sample rate of
-  // the audio source (instead of re-sampling).
-  int32 sample_rate = 2;
-
-  // [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.
-  string language_code = 3;
-
-  // [Optional] Maximum number of recognition hypotheses to be returned.
-  // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
-  // within each `SpeechRecognitionResult`.
-  // The server may return fewer than `max_alternatives`.
-  // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-  // `1`. If omitted, defaults to `1`.
-  int32 max_alternatives = 4;
-
-  // [Optional] If set to `true`, the server will attempt to filter out
-  // profanities, replacing all but the initial character in each filtered word
-  // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-  // won't be filtered out.
-  bool profanity_filter = 5;
-
-  // [Optional] If `false` or omitted, the recognizer will detect a single
-  // spoken utterance, and it will cease recognition when the user stops
-  // speaking. If `enable_endpointer_events` is `true`, it will return
-  // `END_OF_UTTERANCE` when it detects that the user has stopped speaking.
-  // In all cases, it will return no more than one `SpeechRecognitionResult`,
-  // and set the `is_final` flag to `true`.
-  //
-  // If `true`, the recognizer will continue recognition (even if the user
-  // pauses speaking) until the client closes the output stream (gRPC API) or
-  // completes the POST data (REST API) or when the maximum time limit has been
-  // reached. Multiple `SpeechRecognitionResult`s with the `is_final` flag set
-  // to `true` may be returned to indicate that the recognizer will not return
-  // any further hypotheses for that portion of the transcript.
-  bool continuous = 6;
-
-  // [Optional] If this parameter is `true`, interim results may be returned as
-  // they become available.
-  // If `false` or omitted, only `is_final=true` result(s) are returned.
-  bool interim_results = 7;
-
-  // [Optional] If this parameter is `true`, `EndpointerEvents` may be returned
-  // as they become available.
-  // If `false` or omitted, no `EndpointerEvents` are returned.
-  bool enable_endpointer_events = 8;
-
-  // [Optional] URI that points to a file where the recognition result should
-  // be stored in JSON format. If omitted or empty string, the recognition
-  // result is returned in the response. Should be specified only for
-  // `NonStreamingRecognize`. If specified in a `Recognize` request,
-  // `Recognize` returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-  // If specified in a `NonStreamingRecognize` request,
-  // `NonStreamingRecognize` returns immediately, and the output file
-  // is created asynchronously once the audio processing completes.
-  // Currently, only Google Cloud Storage URIs are 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).
-  string output_uri = 9;
-
-  // [Optional] A means to provide context to assist the speech recognition.
-  SpeechContext speech_context = 10;
-}
-
-// 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.
-  repeated string phrases = 1;
-}
-
-// Contains audio data in the encoding specified in the
-// `InitialRecognizeRequest`. Either `content` or `uri` must be supplied.
-// Supplying both or neither returns [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
-message AudioRequest {
-  // The audio data bytes encoded as specified in
-  // `InitialRecognizeRequest`. Note: as with all bytes fields, protobuffers
-  // use a pure binary representation, whereas JSON representations use base64.
-  bytes content = 1;
-
-  // URI that points to a file that contains audio data bytes as specified in
-  // `InitialRecognizeRequest`. Currently, only Google Cloud Storage URIs are
-  // 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).
-  string uri = 2;
-}
-
-// `NonStreamingRecognizeResponse` is the only message returned to the client by
-// `NonStreamingRecognize`. It contains the result as zero or more sequential
-// `RecognizeResponse` messages.
-//
-// Note that streaming `Recognize` will also return multiple `RecognizeResponse`
-// messages, but each message is individually streamed.
-message NonStreamingRecognizeResponse {
-  // [Output-only] Sequential list of messages returned by the recognizer.
-  repeated RecognizeResponse responses = 1;
-}
-
-// `RecognizeResponse` is the only message type returned to the client.
-message RecognizeResponse {
-  // Indicates the type of endpointer event.
-  enum EndpointerEvent {
-    // No endpointer event specified.
-    ENDPOINTER_EVENT_UNSPECIFIED = 0;
-
-    // Speech has been detected in the audio stream.
-    START_OF_SPEECH = 1;
-
-    // Speech has ceased to be detected in the audio stream.
-    END_OF_SPEECH = 2;
-
-    // The end of the audio stream has been reached. and it is being processed.
-    END_OF_AUDIO = 3;
-
-    // This event is only sent when continuous is `false`. It indicates that the
-    // server has detected the end of the user's speech utterance and expects no
-    // additional speech. Therefore, the server will not process additional
-    // audio. The client should stop sending additional audio data.
-    END_OF_UTTERANCE = 4;
-  }
-
-  // [Output-only] If set, returns a [google.rpc.Status][] message that
-  // specifies the error for the operation.
-  google.rpc.Status error = 1;
-
-  // [Output-only] For `continuous=false`, this repeated list contains zero or
-  // one result that corresponds to all of the audio processed so far. For
-  // `continuous=true`, this repeated list contains zero or more results that
-  // correspond to consecutive portions of the audio being processed.
-  // In both cases, contains zero or one `is_final=true` result (the newly
-  // settled portion), followed by zero or more `is_final=false` results.
-  repeated SpeechRecognitionResult results = 2;
-
-  // [Output-only] Indicates the lowest index in the `results` array that has
-  // changed. The repeated `SpeechRecognitionResult` results overwrite past
-  // results at this index and higher.
-  int32 result_index = 3;
-
-  // [Output-only] Indicates the type of endpointer event.
-  EndpointerEvent endpoint = 4;
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-message SpeechRecognitionResult {
-  // [Output-only] May contain one or more recognition hypotheses (up to the
-  // maximum specified in `max_alternatives`).
-  repeated SpeechRecognitionAlternative alternatives = 1;
-
-  // [Output-only] Set `true` if this is the final time the speech service will
-  // return this particular `SpeechRecognitionResult`. If `false`, this
-  // represents an interim result that may change.
-  bool is_final = 2;
-
-  // [Output-only] An estimate of the probability that the recognizer will not
-  // change its guess about this interim result. Values range from 0.0
-  // (completely unstable) to 1.0 (completely stable). Note that this is not the
-  // same as `confidence`, which estimates the probability that a recognition
-  // result is correct.
-  // This field is only provided for interim results (`is_final=false`).
-  // The default of 0.0 is a sentinel value indicating stability was not set.
-  float stability = 3;
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-message SpeechRecognitionAlternative {
-  // [Output-only] Transcript text representing the words that the user spoke.
-  string transcript = 1;
-
-  // [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-  // means the system is more confident that the recognition is correct.
-  // This field is typically provided only for the top hypothesis. and only for
-  // `is_final=true` results.
-  // The default of 0.0 is a sentinel value indicating confidence was not set.
-  float confidence = 2;
-}
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
index bac5ec13..cd932d9b 100644
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
+++ b/googleapis/cloud/speech/v1beta1/cloud_speech.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+// source: google/cloud/speech/v1beta1/cloud_speech.proto
 // DO NOT EDIT!
 
 /*
-Package google_cloud_speech_v1beta1 is a generated protocol buffer package.
+Package speech is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+	google/cloud/speech/v1beta1/cloud_speech.proto
 
 It has these top-level messages:
 	SyncRecognizeRequest
@@ -24,12 +24,12 @@ It has these top-level messages:
 	SpeechRecognitionResult
 	SpeechRecognitionAlternative
 */
-package google_cloud_speech_v1beta1 // import "google.golang.org/genproto/googleapis/cloud/speech/v1beta1"
+package speech
 
 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/api/annotations"
 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"
@@ -365,6 +365,20 @@ func (m *StreamingRecognitionConfig) GetConfig() *RecognitionConfig {
 	return nil
 }
 
+func (m *StreamingRecognitionConfig) GetSingleUtterance() bool {
+	if m != nil {
+		return m.SingleUtterance
+	}
+	return false
+}
+
+func (m *StreamingRecognitionConfig) GetInterimResults() bool {
+	if m != nil {
+		return m.InterimResults
+	}
+	return false
+}
+
 // The `RecognitionConfig` message provides information to the recognizer
 // that specifies how to process the request.
 type RecognitionConfig struct {
@@ -403,6 +417,41 @@ func (m *RecognitionConfig) String() string            { return proto.CompactTex
 func (*RecognitionConfig) ProtoMessage()               {}
 func (*RecognitionConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RecognitionConfig) GetEncoding() RecognitionConfig_AudioEncoding {
+	if m != nil {
+		return m.Encoding
+	}
+	return RecognitionConfig_ENCODING_UNSPECIFIED
+}
+
+func (m *RecognitionConfig) GetSampleRate() int32 {
+	if m != nil {
+		return m.SampleRate
+	}
+	return 0
+}
+
+func (m *RecognitionConfig) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *RecognitionConfig) GetMaxAlternatives() int32 {
+	if m != nil {
+		return m.MaxAlternatives
+	}
+	return 0
+}
+
+func (m *RecognitionConfig) GetProfanityFilter() bool {
+	if m != nil {
+		return m.ProfanityFilter
+	}
+	return false
+}
+
 func (m *RecognitionConfig) GetSpeechContext() *SpeechContext {
 	if m != nil {
 		return m.SpeechContext
@@ -427,6 +476,13 @@ func (m *SpeechContext) String() string            { return proto.CompactTextStr
 func (*SpeechContext) ProtoMessage()               {}
 func (*SpeechContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *SpeechContext) GetPhrases() []string {
+	if m != nil {
+		return m.Phrases
+	}
+	return nil
+}
+
 // 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]. See
@@ -607,6 +663,13 @@ func (m *AsyncRecognizeMetadata) String() string            { return proto.Compa
 func (*AsyncRecognizeMetadata) ProtoMessage()               {}
 func (*AsyncRecognizeMetadata) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *AsyncRecognizeMetadata) GetProgressPercent() int32 {
+	if m != nil {
+		return m.ProgressPercent
+	}
+	return 0
+}
+
 func (m *AsyncRecognizeMetadata) GetStartTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -714,6 +777,20 @@ func (m *StreamingRecognizeResponse) GetResults() []*StreamingRecognitionResult
 	return nil
 }
 
+func (m *StreamingRecognizeResponse) GetResultIndex() int32 {
+	if m != nil {
+		return m.ResultIndex
+	}
+	return 0
+}
+
+func (m *StreamingRecognizeResponse) GetEndpointerType() StreamingRecognizeResponse_EndpointerType {
+	if m != nil {
+		return m.EndpointerType
+	}
+	return StreamingRecognizeResponse_ENDPOINTER_EVENT_UNSPECIFIED
+}
+
 // A streaming speech recognition result corresponding to a portion of the audio
 // that is currently being processed.
 type StreamingRecognitionResult struct {
@@ -748,6 +825,20 @@ func (m *StreamingRecognitionResult) GetAlternatives() []*SpeechRecognitionAlter
 	return nil
 }
 
+func (m *StreamingRecognitionResult) GetIsFinal() bool {
+	if m != nil {
+		return m.IsFinal
+	}
+	return false
+}
+
+func (m *StreamingRecognitionResult) GetStability() float32 {
+	if m != nil {
+		return m.Stability
+	}
+	return 0
+}
+
 // A speech recognition result corresponding to a portion of the audio.
 type SpeechRecognitionResult struct {
 	// [Output-only] May contain one or more recognition hypotheses (up to the
@@ -784,6 +875,20 @@ func (m *SpeechRecognitionAlternative) String() string            { return proto
 func (*SpeechRecognitionAlternative) ProtoMessage()               {}
 func (*SpeechRecognitionAlternative) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SpeechRecognitionAlternative) GetTranscript() string {
+	if m != nil {
+		return m.Transcript
+	}
+	return ""
+}
+
+func (m *SpeechRecognitionAlternative) GetConfidence() float32 {
+	if m != nil {
+		return m.Confidence
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*SyncRecognizeRequest)(nil), "google.cloud.speech.v1beta1.SyncRecognizeRequest")
 	proto.RegisterType((*AsyncRecognizeRequest)(nil), "google.cloud.speech.v1beta1.AsyncRecognizeRequest")
@@ -987,90 +1092,87 @@ var _Speech_serviceDesc = grpc.ServiceDesc{
 			ClientStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto",
+	Metadata: "google/cloud/speech/v1beta1/cloud_speech.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/speech/v1beta1/cloud_speech.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/speech/v1beta1/cloud_speech.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1226 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x56, 0x4d, 0x6f, 0x1b, 0xc5,
-	0x1b, 0xcf, 0xda, 0x71, 0x5e, 0x9e, 0xd8, 0xce, 0x76, 0xda, 0xfe, 0xff, 0xae, 0xe9, 0x4b, 0xd8,
-	0x0a, 0x91, 0x56, 0xc2, 0xdb, 0x04, 0xd4, 0xaa, 0x05, 0x0e, 0x8e, 0xb3, 0x26, 0x96, 0x1a, 0x27,
-	0x9d, 0x38, 0x94, 0x0b, 0xac, 0x26, 0xeb, 0xc9, 0x66, 0x24, 0x7b, 0x76, 0x99, 0x99, 0xad, 0x12,
-	0x8e, 0xbd, 0x71, 0xe1, 0xc2, 0x17, 0x40, 0x82, 0x4f, 0x80, 0x38, 0x70, 0x41, 0x5c, 0x38, 0x70,
-	0xe7, 0x2b, 0xf0, 0x41, 0xd0, 0xce, 0xec, 0x26, 0xb6, 0xd3, 0x9a, 0x04, 0x51, 0x89, 0x93, 0x3d,
-	0xbf, 0x99, 0xe7, 0xf7, 0xfc, 0xe6, 0x99, 0xe7, 0x65, 0x61, 0x3b, 0x8c, 0xa2, 0x70, 0x40, 0x1b,
-	0x61, 0x34, 0x20, 0x3c, 0x6c, 0x44, 0x22, 0x74, 0x43, 0xca, 0x63, 0x11, 0xa9, 0xc8, 0x35, 0x5b,
-	0x24, 0x66, 0xd2, 0x0d, 0x06, 0x51, 0xd2, 0x77, 0x65, 0x4c, 0x69, 0x70, 0xe4, 0xbe, 0x58, 0x3b,
-	0xa0, 0x8a, 0xac, 0x19, 0xd0, 0x37, 0x60, 0x43, 0x9b, 0xa0, 0xb7, 0x32, 0x3a, 0xbd, 0xd5, 0xc8,
-	0xb6, 0xb2, 0xf3, 0xf5, 0xce, 0xc5, 0x7c, 0x91, 0x98, 0xb9, 0x92, 0x8a, 0x17, 0x2c, 0xa0, 0x41,
-	0xc4, 0x0f, 0x59, 0xe8, 0x12, 0xce, 0x23, 0x45, 0x14, 0x8b, 0xb8, 0x34, 0x7e, 0xea, 0x1b, 0x17,
-	0xa3, 0x1a, 0x44, 0x3c, 0x14, 0x09, 0xe7, 0x8c, 0x87, 0x6e, 0x14, 0x53, 0x31, 0xc6, 0xf1, 0x61,
-	0xc8, 0xd4, 0x51, 0x72, 0xd0, 0x08, 0xa2, 0xa1, 0x6b, 0x78, 0x5c, 0xbd, 0x71, 0x90, 0x1c, 0xba,
-	0xb1, 0x3a, 0x89, 0xa9, 0x74, 0x15, 0x1b, 0x52, 0xa9, 0xc8, 0x30, 0x3e, 0xfb, 0x97, 0x19, 0x7f,
-	0x7c, 0x31, 0x01, 0x22, 0x0e, 0x5c, 0xa9, 0x88, 0x4a, 0x64, 0xf6, 0x63, 0xcc, 0x9d, 0xef, 0x2d,
-	0xb8, 0xb6, 0x77, 0xc2, 0x03, 0x4c, 0x83, 0x28, 0xe4, 0xec, 0x2b, 0x8a, 0xe9, 0x97, 0x09, 0x95,
-	0x0a, 0xb5, 0x61, 0xce, 0x5c, 0xba, 0x66, 0xad, 0x58, 0xab, 0x4b, 0xeb, 0x8d, 0xc6, 0x94, 0x88,
-	0x36, 0x32, 0xf3, 0xf4, 0x56, 0x2d, 0x6d, 0x85, 0x33, 0x6b, 0xd4, 0x82, 0x12, 0x49, 0xfa, 0x2c,
-	0xaa, 0x15, 0x34, 0xcd, 0x7b, 0x17, 0xa5, 0x69, 0xa6, 0x46, 0xd8, 0xd8, 0x3a, 0x3f, 0x58, 0x70,
-	0xbd, 0x29, 0xff, 0xf3, 0x32, 0x7f, 0xb1, 0xe0, 0xc6, 0x9e, 0x12, 0x94, 0x0c, 0x19, 0x0f, 0xcf,
-	0x49, 0xed, 0x83, 0x2d, 0xf3, 0x4d, 0x7f, 0x4c, 0xf4, 0xa3, 0xa9, 0xde, 0x26, 0x19, 0xcf, 0xd4,
-	0x6f, 0xcd, 0xe0, 0xe5, 0x53, 0x4a, 0x03, 0xa1, 0x77, 0xa0, 0xa2, 0xc5, 0xa4, 0x1e, 0x14, 0xe5,
-	0x4a, 0x5f, 0xa8, 0xbc, 0x35, 0x83, 0xcb, 0x1a, 0x6e, 0x19, 0x74, 0xe3, 0x2a, 0x5c, 0x39, 0x13,
-	0x23, 0x8c, 0x42, 0xe7, 0x67, 0x0b, 0xea, 0xaf, 0xf7, 0xf6, 0xaf, 0xc5, 0xfa, 0x1e, 0xd8, 0x92,
-	0xf1, 0x70, 0x40, 0xfd, 0x44, 0x29, 0x2a, 0x08, 0x0f, 0xa8, 0x56, 0xb9, 0x80, 0x97, 0x0d, 0xbe,
-	0x9f, 0xc3, 0xe8, 0x5d, 0x58, 0x66, 0x5c, 0x51, 0xc1, 0x86, 0xbe, 0xa0, 0x32, 0x19, 0x28, 0x59,
-	0x2b, 0xea, 0x93, 0xd5, 0x0c, 0xc6, 0x06, 0x75, 0x7e, 0x2d, 0xc2, 0x95, 0xf3, 0x8a, 0x3f, 0x83,
-	0x05, 0xca, 0x83, 0xa8, 0xcf, 0xb8, 0xd1, 0x5c, 0x5d, 0xff, 0xe8, 0x72, 0x9a, 0x1b, 0xfa, 0x7d,
-	0xbd, 0x8c, 0x03, 0x9f, 0xb2, 0xa1, 0x3b, 0xb0, 0x24, 0xc9, 0x30, 0x1e, 0x50, 0x5f, 0x10, 0x65,
-	0xe4, 0x97, 0x30, 0x18, 0x08, 0x13, 0x45, 0xd1, 0x5d, 0xa8, 0xa4, 0x05, 0x99, 0x90, 0x90, 0xfa,
-	0x41, 0xd4, 0xa7, 0x5a, 0xf7, 0x22, 0x2e, 0xe7, 0x60, 0x2b, 0xea, 0xd3, 0x34, 0x12, 0x43, 0x72,
-	0xec, 0x93, 0x81, 0xa2, 0x82, 0x13, 0xc5, 0x5e, 0x50, 0x59, 0x9b, 0xd5, 0x54, 0xcb, 0x43, 0x72,
-	0xdc, 0x1c, 0x81, 0xd3, 0xa3, 0xb1, 0x88, 0x0e, 0x09, 0x67, 0xea, 0xc4, 0x3f, 0x64, 0xe9, 0x56,
-	0xad, 0x64, 0x82, 0x76, 0x8a, 0xb7, 0x35, 0x8c, 0x9e, 0x41, 0xd5, 0xdc, 0xcb, 0xe4, 0xc0, 0xb1,
-	0xaa, 0xcd, 0xe9, 0xf7, 0xba, 0x3f, 0x3d, 0xcd, 0xf4, 0xb2, 0x65, 0x2c, 0x70, 0x45, 0x8e, 0x2e,
-	0x1d, 0x02, 0x95, 0xb1, 0x48, 0xa0, 0x1a, 0x5c, 0xf3, 0xba, 0xad, 0x9d, 0xcd, 0x4e, 0xf7, 0x13,
-	0x7f, 0xbf, 0xbb, 0xb7, 0xeb, 0xb5, 0x3a, 0xed, 0x8e, 0xb7, 0x69, 0xcf, 0xa0, 0x32, 0x2c, 0x3c,
-	0xed, 0x74, 0xbd, 0x26, 0x5e, 0x7b, 0x68, 0x5b, 0x68, 0x01, 0x66, 0xdb, 0x4f, 0x9b, 0x2d, 0xbb,
-	0x80, 0x16, 0xa1, 0xb4, 0xbd, 0xff, 0xb4, 0xf9, 0xdc, 0x2e, 0xa2, 0x79, 0x28, 0x36, 0xb7, 0xb1,
-	0x3d, 0x8b, 0x00, 0xe6, 0x9a, 0xdb, 0xd8, 0x7f, 0xbe, 0x61, 0x97, 0x9c, 0x7b, 0x50, 0x19, 0x93,
-	0x80, 0x6a, 0x30, 0x1f, 0x1f, 0x09, 0x22, 0xa9, 0xac, 0x59, 0x2b, 0xc5, 0xd5, 0x45, 0x9c, 0x2f,
-	0x1d, 0x0c, 0xf6, 0x64, 0x09, 0xa2, 0x3a, 0xcc, 0xe7, 0x19, 0x6f, 0x65, 0x19, 0x9f, 0x03, 0x08,
-	0x41, 0x31, 0x11, 0x4c, 0x3f, 0xd2, 0xe2, 0xd6, 0x0c, 0x4e, 0x17, 0x1b, 0x55, 0x30, 0x05, 0xe1,
-	0xcb, 0x28, 0x11, 0x01, 0x75, 0x42, 0xb8, 0x3e, 0xd1, 0x07, 0x65, 0x1c, 0x71, 0x49, 0x51, 0x17,
-	0xe6, 0xf3, 0xd4, 0x2b, 0xac, 0x14, 0x57, 0x97, 0xd6, 0x3f, 0xb8, 0x40, 0x18, 0x47, 0xe4, 0x99,
-	0x0c, 0xc5, 0x39, 0x89, 0x73, 0x04, 0xff, 0x9b, 0x6c, 0x65, 0x6f, 0xc8, 0xd3, 0x6f, 0xd6, 0xa4,
-	0xab, 0x6d, 0xaa, 0x48, 0x9f, 0x28, 0x92, 0x65, 0x53, 0x28, 0xa8, 0x94, 0x7e, 0x4c, 0x45, 0x90,
-	0x87, 0xad, 0xa4, 0xb3, 0x49, 0xe3, 0xbb, 0x06, 0x46, 0x8f, 0x01, 0xa4, 0x22, 0x42, 0xf9, 0xe9,
-	0xe4, 0xc9, 0xda, 0x63, 0x3d, 0x17, 0x96, 0xcf, 0xa9, 0x46, 0x2f, 0x1f, 0x4b, 0x78, 0x51, 0x9f,
-	0x4e, 0xd7, 0x68, 0x13, 0xec, 0x01, 0x91, 0xca, 0x4f, 0xe2, 0x3e, 0x51, 0xd4, 0x10, 0x14, 0xff,
-	0x96, 0xa0, 0x9a, 0xda, 0xec, 0x6b, 0x93, 0x14, 0x74, 0x7e, 0x2c, 0x9e, 0xef, 0x4a, 0x23, 0x51,
-	0x5b, 0x85, 0x12, 0x15, 0x22, 0x12, 0x59, 0x53, 0x42, 0x39, 0xb3, 0x88, 0x83, 0xc6, 0x9e, 0x1e,
-	0x75, 0xd8, 0x1c, 0x40, 0xcf, 0x26, 0xe3, 0x7b, 0xf9, 0xbe, 0x3b, 0x11, 0x62, 0xf4, 0x36, 0x94,
-	0xcd, 0x5f, 0x9f, 0xf1, 0x3e, 0x3d, 0xd6, 0xb7, 0x2b, 0xe1, 0x25, 0x83, 0x75, 0x52, 0x08, 0x45,
-	0xb0, 0x4c, 0x79, 0x3f, 0x8e, 0x74, 0xc3, 0xf2, 0xd3, 0x71, 0xae, 0x4b, 0xbc, 0xba, 0xde, 0xbe,
-	0x94, 0xf7, 0xb3, 0x1b, 0x37, 0xbc, 0x53, 0xba, 0xde, 0x49, 0x4c, 0x71, 0x95, 0x8e, 0xad, 0x9d,
-	0x97, 0x16, 0x54, 0xc7, 0x8f, 0xa0, 0x15, 0xb8, 0xe9, 0x75, 0x37, 0x77, 0x77, 0x3a, 0xdd, 0x9e,
-	0x87, 0x7d, 0xef, 0x53, 0xaf, 0xdb, 0x9b, 0xa8, 0xda, 0xab, 0xb0, 0xbc, 0xd7, 0x6b, 0xe2, 0x9e,
-	0xbf, 0xd3, 0xf6, 0xf7, 0x76, 0x3d, 0xaf, 0xb5, 0x65, 0x5b, 0xe8, 0x0a, 0x54, 0xbc, 0xee, 0xe6,
-	0x08, 0x54, 0x40, 0x36, 0x94, 0x33, 0xa8, 0xb9, 0xbf, 0xd9, 0xd9, 0xb1, 0x8b, 0xe8, 0x1a, 0xd8,
-	0x19, 0xb2, 0xdf, 0xeb, 0x79, 0xb8, 0xd9, 0x6d, 0x79, 0xf6, 0xac, 0xf3, 0xd3, 0x6b, 0x46, 0x89,
-	0x09, 0x20, 0xfa, 0x1c, 0xca, 0x63, 0x4d, 0xcf, 0xd2, 0xef, 0xf1, 0xf8, 0x72, 0xf9, 0x3e, 0xd2,
-	0x1f, 0xf1, 0x18, 0x1d, 0xba, 0x01, 0x0b, 0x4c, 0xfa, 0x87, 0x8c, 0x93, 0x41, 0x36, 0x59, 0xe6,
-	0x99, 0x6c, 0xa7, 0x4b, 0x74, 0x13, 0xd2, 0x04, 0x3d, 0x60, 0x03, 0xa6, 0x4e, 0xf4, 0x73, 0x15,
-	0xf0, 0x19, 0xe0, 0x1c, 0xc3, 0xff, 0x5f, 0x53, 0x56, 0x6f, 0x58, 0xb2, 0xf3, 0x05, 0xdc, 0x9c,
-	0x76, 0x1a, 0xdd, 0x06, 0x50, 0x82, 0x70, 0x19, 0x08, 0x16, 0x9b, 0x5a, 0x5d, 0xc4, 0x23, 0x48,
-	0xba, 0xaf, 0xc7, 0x6b, 0x9f, 0xe6, 0xe3, 0xb4, 0x80, 0x47, 0x90, 0xf5, 0xdf, 0x8b, 0x30, 0x67,
-	0x1c, 0xa0, 0xef, 0x2c, 0xa8, 0x8c, 0xf5, 0x3a, 0xb4, 0x36, 0xfd, 0x16, 0xaf, 0xf8, 0xf0, 0xaa,
-	0xaf, 0x5f, 0xc6, 0xc4, 0x24, 0xae, 0xb3, 0xfa, 0xf2, 0x8f, 0x3f, 0xbf, 0x2d, 0x38, 0xce, 0xad,
-	0xd3, 0x2f, 0x77, 0x63, 0xf6, 0x24, 0x6d, 0x52, 0x22, 0x3f, 0xfe, 0xc4, 0xba, 0x8f, 0xbe, 0xb1,
-	0xa0, 0x3a, 0xde, 0xba, 0xd0, 0x74, 0x87, 0xaf, 0xfc, 0x3a, 0xac, 0xdf, 0xca, 0x6d, 0x46, 0xbe,
-	0xbf, 0x1b, 0x3b, 0xf9, 0xf7, 0xb7, 0x73, 0x4f, 0xeb, 0xb9, 0xeb, 0xdc, 0x9e, 0xd4, 0x43, 0xce,
-	0x09, 0xfa, 0xda, 0x02, 0x74, 0xbe, 0x24, 0xd1, 0xc3, 0x4b, 0xd7, 0xb0, 0x11, 0xf6, 0xe8, 0x1f,
-	0xd6, 0xfe, 0xaa, 0xf5, 0xc0, 0xda, 0x78, 0x00, 0x77, 0x82, 0x68, 0x38, 0x8d, 0x61, 0x63, 0xc9,
-	0x3c, 0xf5, 0x6e, 0xda, 0x5d, 0x77, 0xad, 0x83, 0x39, 0xdd, 0x66, 0xdf, 0xff, 0x2b, 0x00, 0x00,
-	0xff, 0xff, 0x75, 0x72, 0x16, 0x3d, 0x65, 0x0d, 0x00, 0x00,
+	// 1206 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4d, 0x6f, 0x1b, 0xc5,
+	0x1b, 0xcf, 0xda, 0x71, 0x5e, 0x9e, 0xd8, 0xce, 0x76, 0xda, 0xfe, 0xeb, 0xfa, 0x9f, 0xb6, 0x61,
+	0x2b, 0x44, 0x5a, 0x89, 0x35, 0x09, 0xa8, 0x55, 0x0b, 0x17, 0xc7, 0x59, 0x13, 0x4b, 0x8d, 0x93,
+	0x4e, 0x1c, 0x8a, 0x90, 0x60, 0x35, 0x59, 0x4f, 0xb6, 0x2b, 0xd9, 0x33, 0xcb, 0xcc, 0x6c, 0x95,
+	0x70, 0xec, 0x8d, 0x0b, 0x17, 0xbe, 0x00, 0x12, 0x7c, 0x02, 0xc4, 0x81, 0x0b, 0xe2, 0xc2, 0x81,
+	0x3b, 0x5f, 0x81, 0x0f, 0x82, 0x76, 0x66, 0x37, 0xb1, 0x9d, 0xc6, 0x34, 0x88, 0x4a, 0xdc, 0xfc,
+	0xfc, 0xe6, 0x79, 0xf9, 0xed, 0x33, 0xcf, 0xcb, 0x18, 0xdc, 0x90, 0xf3, 0x70, 0x40, 0x1b, 0xc1,
+	0x80, 0x27, 0xfd, 0x86, 0x8c, 0x29, 0x0d, 0x9e, 0x37, 0x5e, 0xac, 0x1f, 0x52, 0x45, 0xd6, 0x0d,
+	0xe8, 0x1b, 0xd0, 0x8d, 0x05, 0x57, 0x1c, 0xfd, 0xdf, 0xe8, 0xbb, 0xfa, 0xc8, 0xcd, 0x8e, 0x32,
+	0xfd, 0xfa, 0x4a, 0xe6, 0x8c, 0xc4, 0x51, 0x83, 0x30, 0xc6, 0x15, 0x51, 0x11, 0x67, 0xd2, 0x98,
+	0xd6, 0xef, 0x66, 0xa7, 0x03, 0xce, 0x42, 0x91, 0x30, 0x16, 0xb1, 0xb0, 0xc1, 0x63, 0x2a, 0xc6,
+	0x94, 0xee, 0x64, 0x4a, 0x5a, 0x3a, 0x4c, 0x8e, 0x1a, 0x2a, 0x1a, 0x52, 0xa9, 0xc8, 0x30, 0xce,
+	0x14, 0x6e, 0x64, 0x0a, 0x22, 0x0e, 0x1a, 0x52, 0x11, 0x95, 0x64, 0x96, 0xce, 0xf7, 0x16, 0x5c,
+	0xdb, 0x3f, 0x61, 0x01, 0xa6, 0x01, 0x0f, 0x59, 0xf4, 0x15, 0xc5, 0xf4, 0xcb, 0x84, 0x4a, 0x85,
+	0xda, 0x30, 0x17, 0x70, 0x76, 0x14, 0x85, 0x35, 0x6b, 0xd5, 0x5a, 0x5b, 0xda, 0x70, 0xdd, 0x29,
+	0xdf, 0xe0, 0x66, 0xe6, 0x29, 0xa7, 0x96, 0xb6, 0xc2, 0x99, 0x35, 0x6a, 0x41, 0x89, 0x24, 0xfd,
+	0x88, 0xd7, 0x0a, 0xda, 0xcd, 0xbb, 0xaf, 0xeb, 0xa6, 0x99, 0x1a, 0x61, 0x63, 0xeb, 0xfc, 0x60,
+	0xc1, 0xf5, 0xa6, 0xfc, 0xcf, 0xd3, 0xfc, 0xc5, 0x82, 0x9b, 0xfb, 0x4a, 0x50, 0x32, 0x8c, 0x58,
+	0x78, 0x8e, 0x6a, 0x1f, 0x6c, 0x99, 0x1f, 0xfa, 0x63, 0xa4, 0x1f, 0x4e, 0x8d, 0x36, 0xe9, 0xf1,
+	0x8c, 0xfd, 0xf6, 0x0c, 0x5e, 0x3e, 0x75, 0x69, 0x20, 0xf4, 0x36, 0x54, 0x34, 0x99, 0x34, 0x82,
+	0xa2, 0x4c, 0xe9, 0x0f, 0x2a, 0x6f, 0xcf, 0xe0, 0xb2, 0x86, 0x5b, 0x06, 0xdd, 0xbc, 0x0a, 0x57,
+	0xce, 0xc8, 0x08, 0xc3, 0xd0, 0xf9, 0xd9, 0x82, 0xfa, 0xc5, 0xd1, 0xfe, 0xb5, 0x5c, 0xdf, 0x03,
+	0x5b, 0x46, 0x2c, 0x1c, 0x50, 0x3f, 0x51, 0x8a, 0x0a, 0xc2, 0x02, 0xaa, 0x59, 0x2e, 0xe0, 0x65,
+	0x83, 0x1f, 0xe4, 0x30, 0x7a, 0x07, 0x96, 0x23, 0xa6, 0xa8, 0x88, 0x86, 0xbe, 0xa0, 0x32, 0x19,
+	0x28, 0x59, 0x2b, 0x6a, 0xcd, 0x6a, 0x06, 0x63, 0x83, 0x3a, 0xbf, 0x16, 0xe1, 0xca, 0x79, 0xc6,
+	0x9f, 0xc2, 0x02, 0x65, 0x01, 0xef, 0x47, 0xcc, 0x70, 0xae, 0x6e, 0x7c, 0x74, 0x39, 0xce, 0xae,
+	0xbe, 0x5f, 0x2f, 0xf3, 0x81, 0x4f, 0xbd, 0xa1, 0x3b, 0xb0, 0x24, 0xc9, 0x30, 0x1e, 0x50, 0x5f,
+	0x10, 0x65, 0xe8, 0x97, 0x30, 0x18, 0x08, 0x13, 0x45, 0xd1, 0x5d, 0xa8, 0x0c, 0x08, 0x0b, 0x13,
+	0x12, 0x52, 0x3f, 0xe0, 0x7d, 0xaa, 0x79, 0x2f, 0xe2, 0x72, 0x0e, 0xb6, 0x78, 0x9f, 0xa6, 0x99,
+	0x18, 0x92, 0x63, 0x9f, 0x0c, 0x14, 0x15, 0x8c, 0xa8, 0xe8, 0x05, 0x95, 0xb5, 0x59, 0xed, 0x6a,
+	0x79, 0x48, 0x8e, 0x9b, 0x23, 0x70, 0xaa, 0x1a, 0x0b, 0x7e, 0x44, 0x58, 0xa4, 0x4e, 0xfc, 0xa3,
+	0x28, 0x3d, 0xaa, 0x95, 0x4c, 0xd2, 0x4e, 0xf1, 0xb6, 0x86, 0xd1, 0x53, 0xa8, 0x9a, 0xef, 0x32,
+	0x35, 0x70, 0xac, 0x6a, 0x73, 0xfa, 0xbe, 0xee, 0x4f, 0x2f, 0x33, 0x2d, 0xb6, 0x8c, 0x05, 0xae,
+	0xc8, 0x51, 0xd1, 0x21, 0x50, 0x19, 0xcb, 0x04, 0xaa, 0xc1, 0x35, 0xaf, 0xdb, 0xda, 0xdd, 0xea,
+	0x74, 0x3f, 0xf6, 0x0f, 0xba, 0xfb, 0x7b, 0x5e, 0xab, 0xd3, 0xee, 0x78, 0x5b, 0xf6, 0x0c, 0x2a,
+	0xc3, 0xc2, 0x93, 0x4e, 0xd7, 0x6b, 0xe2, 0xf5, 0x07, 0xb6, 0x85, 0x16, 0x60, 0xb6, 0xfd, 0xa4,
+	0xd9, 0xb2, 0x0b, 0x68, 0x11, 0x4a, 0x3b, 0x07, 0x4f, 0x9a, 0xcf, 0xec, 0x22, 0x9a, 0x87, 0x62,
+	0x73, 0x07, 0xdb, 0xb3, 0x08, 0x60, 0xae, 0xb9, 0x83, 0xfd, 0x67, 0x9b, 0x76, 0xc9, 0xb9, 0x07,
+	0x95, 0x31, 0x0a, 0xa8, 0x06, 0xf3, 0xf1, 0x73, 0x41, 0x24, 0x95, 0x35, 0x6b, 0xb5, 0xb8, 0xb6,
+	0x88, 0x73, 0xd1, 0xc1, 0x60, 0x4f, 0xb6, 0x20, 0xaa, 0xc3, 0x7c, 0x5e, 0xf1, 0x56, 0x56, 0xf1,
+	0x39, 0x80, 0x10, 0x14, 0x13, 0x11, 0xe9, 0x4b, 0x5a, 0xdc, 0x9e, 0xc1, 0xa9, 0xb0, 0x59, 0x05,
+	0xd3, 0x10, 0xbe, 0xe4, 0x89, 0x08, 0xa8, 0x13, 0xc2, 0xf5, 0x89, 0x39, 0x28, 0x63, 0xce, 0x24,
+	0x45, 0x5d, 0x98, 0xcf, 0x4b, 0xaf, 0xb0, 0x5a, 0x5c, 0x5b, 0xda, 0xf8, 0xe0, 0x35, 0xd2, 0x38,
+	0x42, 0xcf, 0x54, 0x28, 0xce, 0x9d, 0x38, 0xcf, 0xe1, 0x7f, 0x93, 0xa3, 0xec, 0x0d, 0x45, 0xfa,
+	0xcd, 0x9a, 0x0c, 0xb5, 0x43, 0x15, 0xe9, 0x13, 0x45, 0xb2, 0x6a, 0x0a, 0x05, 0x95, 0xd2, 0x8f,
+	0xa9, 0x08, 0xf2, 0xb4, 0x95, 0x74, 0x35, 0x69, 0x7c, 0xcf, 0xc0, 0xe8, 0x11, 0x80, 0x54, 0x44,
+	0x28, 0x3f, 0xdd, 0x29, 0xd9, 0x78, 0xac, 0xe7, 0xc4, 0xf2, 0x85, 0xe3, 0xf6, 0xf2, 0x85, 0x83,
+	0x17, 0xb5, 0x76, 0x2a, 0xa3, 0x2d, 0xb0, 0x07, 0x44, 0x2a, 0x3f, 0x89, 0xfb, 0x44, 0x51, 0xe3,
+	0xa0, 0xf8, 0xb7, 0x0e, 0xaa, 0xa9, 0xcd, 0x81, 0x36, 0x49, 0x41, 0xe7, 0xc7, 0xe2, 0xf9, 0xa9,
+	0x34, 0x92, 0xb5, 0x35, 0x28, 0x51, 0x21, 0xb8, 0xc8, 0x86, 0x12, 0xca, 0x3d, 0x8b, 0x38, 0x70,
+	0xf7, 0xf5, 0xaa, 0xc3, 0x46, 0x01, 0x3d, 0x9d, 0xcc, 0xef, 0xe5, 0xe7, 0xee, 0x44, 0x8a, 0xd1,
+	0x5b, 0x50, 0x36, 0x3f, 0xfd, 0x88, 0xf5, 0xe9, 0xb1, 0xfe, 0xba, 0x12, 0x5e, 0x32, 0x58, 0x27,
+	0x85, 0x10, 0x87, 0x65, 0xca, 0xfa, 0x31, 0xd7, 0x03, 0xcb, 0x57, 0x27, 0x31, 0xd5, 0x2d, 0x5e,
+	0xdd, 0x68, 0x5f, 0x2a, 0xfa, 0xd9, 0x17, 0xbb, 0xde, 0xa9, 0xbb, 0xde, 0x49, 0x4c, 0x71, 0x95,
+	0x8e, 0xc9, 0xce, 0x4b, 0x0b, 0xaa, 0xe3, 0x2a, 0x68, 0x15, 0x56, 0xbc, 0xee, 0xd6, 0xde, 0x6e,
+	0xa7, 0xdb, 0xf3, 0xb0, 0xef, 0x7d, 0xe2, 0x75, 0x7b, 0x13, 0x5d, 0x7b, 0x15, 0x96, 0xf7, 0x7b,
+	0x4d, 0xdc, 0xf3, 0x77, 0xdb, 0xfe, 0xfe, 0x9e, 0xe7, 0xb5, 0xb6, 0x6d, 0x0b, 0x5d, 0x81, 0x8a,
+	0xd7, 0xdd, 0x1a, 0x81, 0x0a, 0xc8, 0x86, 0x72, 0x06, 0x35, 0x0f, 0xb6, 0x3a, 0xbb, 0x76, 0x11,
+	0x5d, 0x03, 0x3b, 0x43, 0x0e, 0x7a, 0x3d, 0x0f, 0x37, 0xbb, 0x2d, 0xcf, 0x9e, 0x75, 0x7e, 0xba,
+	0x60, 0x95, 0x98, 0x04, 0xa2, 0xcf, 0xa1, 0x3c, 0x36, 0xf4, 0x2c, 0x7d, 0x1f, 0x8f, 0x2e, 0x57,
+	0xef, 0x23, 0xf3, 0x11, 0x8f, 0xb9, 0x43, 0x37, 0x61, 0x21, 0x92, 0xfe, 0x51, 0xc4, 0xc8, 0x20,
+	0xdb, 0x2c, 0xf3, 0x91, 0x6c, 0xa7, 0x22, 0x5a, 0x81, 0xb4, 0x40, 0x0f, 0xa3, 0x41, 0xa4, 0x4e,
+	0xf4, 0x75, 0x15, 0xf0, 0x19, 0xe0, 0x1c, 0xc3, 0x8d, 0x0b, 0xda, 0xea, 0x0d, 0x53, 0x76, 0xbe,
+	0x80, 0x95, 0x69, 0xda, 0xe8, 0x36, 0x80, 0x12, 0x84, 0xc9, 0x40, 0x44, 0xb1, 0xe9, 0xd5, 0x45,
+	0x3c, 0x82, 0xa4, 0xe7, 0x7a, 0xbd, 0xf6, 0x69, 0xbe, 0x4e, 0x0b, 0x78, 0x04, 0xd9, 0xf8, 0xbd,
+	0x08, 0x73, 0x26, 0x00, 0xfa, 0xce, 0x82, 0xca, 0xd8, 0xac, 0x43, 0xeb, 0xd3, 0xbf, 0xe2, 0x15,
+	0x0f, 0xaf, 0xfa, 0xc6, 0x65, 0x4c, 0x4c, 0xe1, 0x3a, 0x6b, 0x2f, 0xff, 0xf8, 0xf3, 0xdb, 0x82,
+	0xe3, 0xdc, 0x3a, 0x7d, 0x2b, 0x1b, 0xb3, 0xc7, 0xe9, 0x90, 0x12, 0xb9, 0xfa, 0x63, 0xeb, 0x3e,
+	0xfa, 0xc6, 0x82, 0xea, 0xf8, 0xe8, 0x42, 0xd3, 0x03, 0xbe, 0xf2, 0x75, 0x58, 0xbf, 0x95, 0xdb,
+	0x8c, 0xbc, 0x9e, 0xdd, 0xdd, 0xfc, 0xf5, 0xec, 0xdc, 0xd3, 0x7c, 0xee, 0x3a, 0xb7, 0x27, 0xf9,
+	0x90, 0x73, 0x84, 0xbe, 0xb6, 0x00, 0x9d, 0x6f, 0x49, 0xf4, 0xe0, 0xd2, 0x3d, 0x6c, 0x88, 0x3d,
+	0xfc, 0x87, 0xbd, 0xbf, 0x66, 0xbd, 0x67, 0x6d, 0x4a, 0xb8, 0x13, 0xf0, 0xe1, 0x34, 0x0f, 0x9b,
+	0x4b, 0xe6, 0xaa, 0xf7, 0xd2, 0xe9, 0xba, 0x67, 0x7d, 0xd6, 0xcc, 0x74, 0x43, 0x9e, 0x3e, 0x3f,
+	0x5c, 0x2e, 0xc2, 0x46, 0x48, 0x99, 0x9e, 0xbd, 0x0d, 0x73, 0x44, 0xe2, 0x48, 0xbe, 0xf2, 0xef,
+	0xcc, 0x87, 0x46, 0x3c, 0x9c, 0xd3, 0xda, 0xef, 0xff, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf5, 0xe0,
+	0xdc, 0xd0, 0xfb, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/speech/v1beta1/cloud_speech.proto b/googleapis/cloud/speech/v1beta1/cloud_speech.proto
deleted file mode 100644
index 091a3ae9..00000000
--- a/googleapis/cloud/speech/v1beta1/cloud_speech.proto
+++ /dev/null
@@ -1,408 +0,0 @@
-// 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.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;
-option java_outer_classname = "SpeechProto";
-option java_package = "com.google.cloud.speech.v1beta1";
-
-
-// Service that implements Google Cloud Speech API.
-service Speech {
-  // Perform synchronous speech-recognition: receive results after all audio
-  // has been sent and processed.
-  rpc SyncRecognize(SyncRecognizeRequest) returns (SyncRecognizeResponse) {
-    option (google.api.http) = { post: "/v1beta1/speech:syncrecognize" body: "*" };
-  }
-
-  // Perform asynchronous speech-recognition: receive results via the
-  // 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: "*" };
-  }
-
-  // Perform bidirectional streaming speech-recognition: receive results while
-  // sending audio. This method is only available via the gRPC API (not REST).
-  rpc StreamingRecognize(stream StreamingRecognizeRequest) returns (stream StreamingRecognizeResponse);
-}
-
-// `SyncRecognizeRequest` is the top-level message sent by the client for
-// the `SyncRecognize` method.
-message SyncRecognizeRequest {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [Required] The audio data to be recognized.
-  RecognitionAudio audio = 2;
-}
-
-// `AsyncRecognizeRequest` is the top-level message sent by the client for
-// the `AsyncRecognize` method.
-message AsyncRecognizeRequest {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [Required] The audio data to be recognized.
-  RecognitionAudio audio = 2;
-}
-
-// `StreamingRecognizeRequest` is the top-level message sent by the client for
-// the `StreamingRecognize`. Multiple `StreamingRecognizeRequest` messages are
-// sent. The first message must contain a `streaming_config` message and must
-// not contain `audio` data. All subsequent messages must contain `audio` data
-// and must not contain a `streaming_config` message.
-message StreamingRecognizeRequest {
-  oneof streaming_request {
-    // The `streaming_config` message provides information to the recognizer
-    // that specifies how to process the request.
-    //
-    // The first `StreamingRecognizeRequest` message must contain a
-    // `streaming_config`  message.
-    StreamingRecognitionConfig streaming_config = 1;
-
-    // The audio data to be recognized. Sequential chunks of audio data are sent
-    // in sequential `StreamingRecognizeRequest` messages. The first
-    // `StreamingRecognizeRequest` message must not contain `audio_content` data
-    // 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). See
-    // [audio limits](https://cloud.google.com/speech/limits#content).
-    bytes audio_content = 2;
-  }
-}
-
-// The `StreamingRecognitionConfig` message provides information to the
-// recognizer that specifies how to process the request.
-message StreamingRecognitionConfig {
-  // [Required] The `config` message provides information to the recognizer
-  // that specifies how to process the request.
-  RecognitionConfig config = 1;
-
-  // [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 `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 `StreamingRecognitionResult` with the `is_final` flag set to `true`.
-  bool single_utterance = 2;
-
-  // [Optional] If `true`, interim results (tentative hypotheses) may be
-  // returned as they become available (these interim results are indicated with
-  // the `is_final=false` flag).
-  // If `false` or omitted, only `is_final=true` result(s) are returned.
-  bool interim_results = 3;
-}
-
-// The `RecognitionConfig` message provides information to the recognizer
-// that specifies how to process the request.
-message RecognitionConfig {
-  // Audio encoding of the data sent in the audio message. All encodings support
-  // only 1 channel (mono) audio. Only `FLAC` includes a header that describes
-  // the bytes of audio that follow the header. The other encodings are raw
-  // audio bytes with no header.
-  //
-  // For best results, the audio source should be captured and transmitted using
-  // a lossless encoding (`FLAC` or `LINEAR16`). Recognition accuracy may be
-  // reduced if lossy codecs (such as AMR, AMR_WB and MULAW) are used to capture
-  // or transmit the audio, particularly if background noise is present.
-  enum AudioEncoding {
-    // 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 (Linear PCM).
-    // This is the only encoding that may be used by `AsyncRecognize`.
-    LINEAR16 = 1;
-
-    // This is the recommended encoding for `SyncRecognize` and
-    // `StreamingRecognize` because it uses lossless compression; therefore
-    // recognition accuracy is not compromised by a lossy codec.
-    //
-    // The stream FLAC (Free Lossless Audio Codec) encoding is specified at:
-    // http://flac.sourceforge.net/documentation.html.
-    // 16-bit and 24-bit samples are supported.
-    // Not all fields in STREAMINFO are supported.
-    FLAC = 2;
-
-    // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
-    MULAW = 3;
-
-    // Adaptive Multi-Rate Narrowband codec. `sample_rate` must be 8000 Hz.
-    AMR = 4;
-
-    // Adaptive Multi-Rate Wideband codec. `sample_rate` must be 16000 Hz.
-    AMR_WB = 5;
-  }
-
-  // [Required] Encoding of audio data sent in all `RecognitionAudio` messages.
-  AudioEncoding encoding = 1;
-
-  // [Required] Sample rate in Hertz of the audio data sent in all
-  // `RecognitionAudio` messages. Valid values are: 8000-48000.
-  // 16000 is optimal. For best results, set the sampling rate of the audio
-  // source to 16000 Hz. If that's not possible, use the native sample rate of
-  // the audio source (instead of re-sampling).
-  int32 sample_rate = 2;
-
-  // [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](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.
-  // Specifically, the maximum number of `SpeechRecognitionAlternative` messages
-  // within each `SpeechRecognitionResult`.
-  // The server may return fewer than `max_alternatives`.
-  // Valid values are `0`-`30`. A value of `0` or `1` will return a maximum of
-  // `1`. If omitted, defaults to `1`.
-  int32 max_alternatives = 4;
-
-  // [Optional] If set to `true`, the server will attempt to filter out
-  // profanities, replacing all but the initial character in each filtered word
-  // with asterisks, e.g. "f***". If set to `false` or omitted, profanities
-  // won't be filtered out.
-  bool profanity_filter = 5;
-
-  // [Optional] A means to provide context to assist the speech recognition.
-  SpeechContext speech_context = 6;
-}
-
-// Provides "hints" to the speech recognizer to favor specific words and phrases
-// in the results.
-message SpeechContext {
-  // [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]. See
-// [audio limits](https://cloud.google.com/speech/limits#content).
-message RecognitionAudio {
-  oneof audio_source {
-    // The audio data bytes encoded as specified in
-    // `RecognitionConfig`. Note: as with all bytes fields, protobuffers use a
-    // pure binary representation, whereas JSON representations use base64.
-    bytes content = 1;
-
-    // URI that points to a file that contains audio data bytes as specified in
-    // `RecognitionConfig`. Currently, only Google Cloud Storage URIs are
-    // 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](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
-// `SpeechRecognitionResult` messages.
-message SyncRecognizeResponse {
-  // [Output-only] Sequential list of transcription results corresponding to
-  // sequential portions of audio.
-  repeated SpeechRecognitionResult results = 2;
-}
-
-// `AsyncRecognizeResponse` is the only message returned to the client by
-// `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`. 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 {
-    // No endpointer event specified.
-    ENDPOINTER_EVENT_UNSPECIFIED = 0;
-
-    // Speech has been detected in the audio stream.
-    START_OF_SPEECH = 1;
-
-    // Speech has ceased to be detected in the audio stream.
-    END_OF_SPEECH = 2;
-
-    // The end of the audio stream has been reached. and it is being processed.
-    END_OF_AUDIO = 3;
-
-    // This event is only sent when `single_utterance` is `true`. It indicates
-    // that the server has detected the end of the user's speech utterance and
-    // expects no additional speech. Therefore, the server will not process
-    // additional audio. The client should stop sending additional audio data.
-    END_OF_UTTERANCE = 4;
-  }
-
-  // [Output-only] If set, returns a [google.rpc.Status][] message that
-  // specifies the error for the operation.
-  google.rpc.Status error = 1;
-
-  // [Output-only] This repeated list contains zero or more results that
-  // correspond to consecutive portions of the audio currently being processed.
-  // It contains zero or one `is_final=true` result (the newly settled portion),
-  // followed by zero or more `is_final=false` results.
-  repeated StreamingRecognitionResult results = 2;
-
-  // [Output-only] Indicates the lowest index in the `results` array that has
-  // changed. The repeated `StreamingRecognitionResult` results overwrite past
-  // results at this index and higher.
-  int32 result_index = 3;
-
-  // [Output-only] Indicates the type of endpointer event.
-  EndpointerType endpointer_type = 4;
-}
-
-// 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 `StreamingRecognitionResult` represents an
-  // interim result that may change. If `true`, this is the final time the
-  // 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;
-
-  // [Output-only] An estimate of the probability that the recognizer will not
-  // change its guess about this interim result. Values range from 0.0
-  // (completely unstable) to 1.0 (completely stable). Note that this is not the
-  // same as `confidence`, which estimates the probability that a recognition
-  // result is correct.
-  // This field is only provided for interim results (`is_final=false`).
-  // The default of 0.0 is a sentinel value indicating stability was not set.
-  float stability = 3;
-}
-
-// A speech recognition result corresponding to a portion of the audio.
-message SpeechRecognitionResult {
-  // [Output-only] May contain one or more recognition hypotheses (up to the
-  // maximum specified in `max_alternatives`).
-  repeated SpeechRecognitionAlternative alternatives = 1;
-}
-
-// Alternative hypotheses (a.k.a. n-best list).
-message SpeechRecognitionAlternative {
-  // [Output-only] Transcript text representing the words that the user spoke.
-  string transcript = 1;
-
-  // [Output-only] The confidence estimate between 0.0 and 1.0. A higher number
-  // means the system is more confident that the recognition is correct.
-  // This field is typically provided only for the top hypothesis, and only for
-  // `is_final=true` results.
-  // The default of 0.0 is a sentinel value indicating confidence was not set.
-  float confidence = 2;
-}
diff --git a/googleapis/cloud/vision/v1/geometry.pb.go b/googleapis/cloud/vision/v1/geometry.pb.go
index da97b87e..e6d2930f 100644
--- a/googleapis/cloud/vision/v1/geometry.pb.go
+++ b/googleapis/cloud/vision/v1/geometry.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto
+// source: google/cloud/vision/v1/geometry.proto
 // DO NOT EDIT!
 
 /*
-Package v1 is a generated protocol buffer package.
+Package vision is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto
-	google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto
+	google/cloud/vision/v1/geometry.proto
+	google/cloud/vision/v1/image_annotator.proto
 
 It has these top-level messages:
 	Vertex
@@ -31,7 +31,7 @@ It has these top-level messages:
 	BatchAnnotateImagesRequest
 	BatchAnnotateImagesResponse
 */
-package v1 // import "google.golang.org/genproto/googleapis/cloud/vision/v1"
+package vision
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -62,6 +62,20 @@ func (m *Vertex) String() string            { return proto.CompactTextString(m)
 func (*Vertex) ProtoMessage()               {}
 func (*Vertex) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Vertex) GetX() int32 {
+	if m != nil {
+		return m.X
+	}
+	return 0
+}
+
+func (m *Vertex) GetY() int32 {
+	if m != nil {
+		return m.Y
+	}
+	return 0
+}
+
 // A bounding polygon for the detected image annotation.
 type BoundingPoly struct {
 	// The bounding polygon vertices.
@@ -97,31 +111,50 @@ func (m *Position) String() string            { return proto.CompactTextString(m
 func (*Position) ProtoMessage()               {}
 func (*Position) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Position) GetX() float32 {
+	if m != nil {
+		return m.X
+	}
+	return 0
+}
+
+func (m *Position) GetY() float32 {
+	if m != nil {
+		return m.Y
+	}
+	return 0
+}
+
+func (m *Position) GetZ() float32 {
+	if m != nil {
+		return m.Z
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*Vertex)(nil), "google.cloud.vision.v1.Vertex")
 	proto.RegisterType((*BoundingPoly)(nil), "google.cloud.vision.v1.BoundingPoly")
 	proto.RegisterType((*Position)(nil), "google.cloud.vision.v1.Position")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/cloud/vision/v1/geometry.proto", fileDescriptor0) }
 
 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,
+	// 237 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x90, 0x31, 0x4b, 0x03, 0x31,
+	0x14, 0x80, 0x79, 0x57, 0x2c, 0x25, 0xd6, 0xe5, 0x06, 0x39, 0x1c, 0xa4, 0x1c, 0x0a, 0x9d, 0x12,
+	0xaa, 0x4e, 0xea, 0x74, 0x8b, 0xe0, 0x74, 0xdc, 0xe0, 0xe0, 0x56, 0xaf, 0x8f, 0x47, 0xe0, 0x9a,
+	0x57, 0x92, 0x34, 0x34, 0xfd, 0xe5, 0x8e, 0xd2, 0xa4, 0x28, 0x8a, 0xdd, 0xf2, 0x91, 0x8f, 0xf7,
+	0xf1, 0x9e, 0xb8, 0x25, 0x66, 0x1a, 0x50, 0xf5, 0x03, 0x6f, 0x57, 0x2a, 0x68, 0xa7, 0xd9, 0xa8,
+	0xb0, 0x50, 0x84, 0xbc, 0x46, 0x6f, 0xa3, 0xdc, 0x58, 0xf6, 0x5c, 0x5e, 0x66, 0x4d, 0x26, 0x4d,
+	0x66, 0x4d, 0x86, 0x45, 0x7d, 0x23, 0xc6, 0x6f, 0x68, 0x3d, 0xee, 0xca, 0xa9, 0x80, 0x5d, 0x05,
+	0x33, 0x98, 0x9f, 0x75, 0x90, 0x28, 0x56, 0x45, 0xa6, 0x58, 0xbf, 0x8a, 0x69, 0xc3, 0x5b, 0xb3,
+	0xd2, 0x86, 0x5a, 0x1e, 0x62, 0xf9, 0x28, 0x26, 0x01, 0xad, 0xd7, 0x3d, 0xba, 0x0a, 0x66, 0xa3,
+	0xf9, 0xf9, 0xdd, 0xb5, 0xfc, 0x3f, 0x20, 0xf3, 0xf4, 0xee, 0xdb, 0xaf, 0x1f, 0xc4, 0xa4, 0x65,
+	0xa7, 0xbd, 0x66, 0xf3, 0xd3, 0x2c, 0x7e, 0x35, 0x8b, 0x0e, 0xe2, 0x81, 0xf6, 0xd5, 0x28, 0xd3,
+	0xbe, 0x31, 0xe2, 0xaa, 0xe7, 0xf5, 0x89, 0x48, 0x73, 0xf1, 0x72, 0xdc, 0xb6, 0x3d, 0x2c, 0xdb,
+	0xc2, 0xfb, 0xf3, 0x51, 0x24, 0x1e, 0x96, 0x86, 0x24, 0x5b, 0x52, 0x84, 0x26, 0x9d, 0x42, 0xe5,
+	0xaf, 0xe5, 0x46, 0xbb, 0xbf, 0x47, 0x7b, 0xca, 0xaf, 0x4f, 0x80, 0x8f, 0x71, 0x72, 0xef, 0xbf,
+	0x02, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x04, 0x38, 0x95, 0x5f, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/vision/v1/geometry.proto b/googleapis/cloud/vision/v1/geometry.proto
deleted file mode 100644
index 82c02092..00000000
--- a/googleapis/cloud/vision/v1/geometry.proto
+++ /dev/null
@@ -1,53 +0,0 @@
-// 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.vision.v1;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "GeometryProto";
-option java_package = "com.google.cloud.vision.v1";
-
-
-// A vertex represents a 2D point in the image.
-// NOTE: the vertex coordinates are in the same scale as the original image.
-message Vertex {
-  // X coordinate.
-  int32 x = 1;
-
-  // Y coordinate.
-  int32 y = 2;
-}
-
-// A bounding polygon for the detected image annotation.
-message BoundingPoly {
-  // The bounding polygon vertices.
-  repeated Vertex vertices = 1;
-}
-
-// A 3D position in the image, used primarily for Face detection landmarks.
-// A valid Position must have both x and y coordinates.
-// The position coordinates are in the same scale as the original image.
-message Position {
-  // X coordinate.
-  float x = 1;
-
-  // Y coordinate.
-  float y = 2;
-
-  // Z coordinate (or depth).
-  float z = 3;
-}
diff --git a/googleapis/cloud/vision/v1/image_annotator.pb.go b/googleapis/cloud/vision/v1/image_annotator.pb.go
index b9f87f0a..1c291347 100644
--- a/googleapis/cloud/vision/v1/image_annotator.pb.go
+++ b/googleapis/cloud/vision/v1/image_annotator.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto
+// source: google/cloud/vision/v1/image_annotator.proto
 // DO NOT EDIT!
 
-package v1 // import "google.golang.org/genproto/googleapis/cloud/vision/v1"
+package vision
 
 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/api/annotations"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 import google_type "google.golang.org/genproto/googleapis/type/color"
 import google_type1 "google.golang.org/genproto/googleapis/type/latlng"
@@ -288,6 +288,20 @@ func (m *Feature) String() string            { return proto.CompactTextString(m)
 func (*Feature) ProtoMessage()               {}
 func (*Feature) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Feature) GetType() Feature_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Feature_TYPE_UNSPECIFIED
+}
+
+func (m *Feature) GetMaxResults() int32 {
+	if m != nil {
+		return m.MaxResults
+	}
+	return 0
+}
+
 // External image source (Google Cloud Storage image location).
 type ImageSource struct {
 	// Google Cloud Storage image URI. It must be in the following form:
@@ -302,6 +316,13 @@ func (m *ImageSource) String() string            { return proto.CompactTextStrin
 func (*ImageSource) ProtoMessage()               {}
 func (*ImageSource) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *ImageSource) GetGcsImageUri() string {
+	if m != nil {
+		return m.GcsImageUri
+	}
+	return ""
+}
+
 // Client image to perform Google Cloud Vision API tasks over.
 type Image struct {
 	// Image content, represented as a stream of bytes.
@@ -319,6 +340,13 @@ func (m *Image) String() string            { return proto.CompactTextString(m) }
 func (*Image) ProtoMessage()               {}
 func (*Image) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *Image) GetContent() []byte {
+	if m != nil {
+		return m.Content
+	}
+	return nil
+}
+
 func (m *Image) GetSource() *ImageSource {
 	if m != nil {
 		return m.Source
@@ -405,6 +433,90 @@ func (m *FaceAnnotation) GetLandmarks() []*FaceAnnotation_Landmark {
 	return nil
 }
 
+func (m *FaceAnnotation) GetRollAngle() float32 {
+	if m != nil {
+		return m.RollAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetPanAngle() float32 {
+	if m != nil {
+		return m.PanAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetTiltAngle() float32 {
+	if m != nil {
+		return m.TiltAngle
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetDetectionConfidence() float32 {
+	if m != nil {
+		return m.DetectionConfidence
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetLandmarkingConfidence() float32 {
+	if m != nil {
+		return m.LandmarkingConfidence
+	}
+	return 0
+}
+
+func (m *FaceAnnotation) GetJoyLikelihood() Likelihood {
+	if m != nil {
+		return m.JoyLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetSorrowLikelihood() Likelihood {
+	if m != nil {
+		return m.SorrowLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetAngerLikelihood() Likelihood {
+	if m != nil {
+		return m.AngerLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetSurpriseLikelihood() Likelihood {
+	if m != nil {
+		return m.SurpriseLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetUnderExposedLikelihood() Likelihood {
+	if m != nil {
+		return m.UnderExposedLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetBlurredLikelihood() Likelihood {
+	if m != nil {
+		return m.BlurredLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *FaceAnnotation) GetHeadwearLikelihood() Likelihood {
+	if m != nil {
+		return m.HeadwearLikelihood
+	}
+	return Likelihood_UNKNOWN
+}
+
 // A face-specific landmark (for example, a face feature).
 // Landmark positions may fall outside the bounds of the image
 // when the face is near one or more edges of the image.
@@ -421,6 +533,13 @@ func (m *FaceAnnotation_Landmark) String() string            { return proto.Comp
 func (*FaceAnnotation_Landmark) ProtoMessage()               {}
 func (*FaceAnnotation_Landmark) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
 
+func (m *FaceAnnotation_Landmark) GetType() FaceAnnotation_Landmark_Type {
+	if m != nil {
+		return m.Type
+	}
+	return FaceAnnotation_Landmark_UNKNOWN_LANDMARK
+}
+
 func (m *FaceAnnotation_Landmark) GetPosition() *Position {
 	if m != nil {
 		return m.Position
@@ -459,6 +578,20 @@ func (m *Property) String() string            { return proto.CompactTextString(m
 func (*Property) ProtoMessage()               {}
 func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *Property) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Property) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
 // Set of detected entity features.
 type EntityAnnotation struct {
 	// Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
@@ -503,6 +636,48 @@ func (m *EntityAnnotation) String() string            { return proto.CompactText
 func (*EntityAnnotation) ProtoMessage()               {}
 func (*EntityAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *EntityAnnotation) GetMid() string {
+	if m != nil {
+		return m.Mid
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetLocale() string {
+	if m != nil {
+		return m.Locale
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *EntityAnnotation) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
+func (m *EntityAnnotation) GetConfidence() float32 {
+	if m != nil {
+		return m.Confidence
+	}
+	return 0
+}
+
+func (m *EntityAnnotation) GetTopicality() float32 {
+	if m != nil {
+		return m.Topicality
+	}
+	return 0
+}
+
 func (m *EntityAnnotation) GetBoundingPoly() *BoundingPoly {
 	if m != nil {
 		return m.BoundingPoly
@@ -545,6 +720,34 @@ func (m *SafeSearchAnnotation) String() string            { return proto.Compact
 func (*SafeSearchAnnotation) ProtoMessage()               {}
 func (*SafeSearchAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
 
+func (m *SafeSearchAnnotation) GetAdult() Likelihood {
+	if m != nil {
+		return m.Adult
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetSpoof() Likelihood {
+	if m != nil {
+		return m.Spoof
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetMedical() Likelihood {
+	if m != nil {
+		return m.Medical
+	}
+	return Likelihood_UNKNOWN
+}
+
+func (m *SafeSearchAnnotation) GetViolence() Likelihood {
+	if m != nil {
+		return m.Violence
+	}
+	return Likelihood_UNKNOWN
+}
+
 // Rectangle determined by min and max LatLng pairs.
 type LatLongRect struct {
 	// Min lat/long pair.
@@ -596,6 +799,20 @@ func (m *ColorInfo) GetColor() *google_type.Color {
 	return nil
 }
 
+func (m *ColorInfo) GetScore() float32 {
+	if m != nil {
+		return m.Score
+	}
+	return 0
+}
+
+func (m *ColorInfo) GetPixelFraction() float32 {
+	if m != nil {
+		return m.PixelFraction
+	}
+	return 0
+}
+
 // Set of dominant colors and their corresponding scores.
 type DominantColorsAnnotation struct {
 	// RGB color values, with their score and pixel fraction.
@@ -660,6 +877,13 @@ func (m *ImageContext) GetLatLongRect() *LatLongRect {
 	return nil
 }
 
+func (m *ImageContext) GetLanguageHints() []string {
+	if m != nil {
+		return m.LanguageHints
+	}
+	return nil
+}
+
 // Request for performing Google Cloud Vision API tasks over a user-provided
 // image, with user-requested features.
 type AnnotateImageRequest struct {
@@ -911,142 +1135,139 @@ var _ImageAnnotator_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto",
+	Metadata: "google/cloud/vision/v1/image_annotator.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/cloud/vision/v1/image_annotator.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/cloud/vision/v1/image_annotator.proto", fileDescriptor1) }
 
 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,
+	// 2044 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x58, 0xcd, 0x6e, 0xe3, 0xc8,
+	0x11, 0x1e, 0x49, 0x96, 0x2d, 0x95, 0x6c, 0x99, 0x6e, 0x7b, 0xbc, 0x1a, 0xcf, 0x9f, 0x97, 0xc9,
+	0x24, 0xc6, 0x62, 0x22, 0x67, 0x3c, 0x1b, 0x60, 0xb3, 0x33, 0x08, 0x22, 0xd9, 0xb4, 0x2d, 0x8c,
+	0x2c, 0x6a, 0x5b, 0x72, 0x26, 0x4e, 0x82, 0x10, 0x34, 0xd5, 0xe2, 0x70, 0x96, 0x62, 0x33, 0x24,
+	0xe5, 0xb1, 0x2e, 0x39, 0x04, 0x08, 0x90, 0x7b, 0xce, 0xc9, 0x3b, 0x04, 0x08, 0x72, 0xcd, 0x39,
+	0xc7, 0x60, 0x5f, 0x21, 0x0f, 0x91, 0x63, 0xd0, 0x3f, 0xa4, 0x5a, 0x5e, 0x6b, 0x22, 0xef, 0x49,
+	0xec, 0xaa, 0xfa, 0xbe, 0xaa, 0xae, 0xea, 0xbf, 0x12, 0x3c, 0x77, 0x29, 0x75, 0x7d, 0xb2, 0xef,
+	0xf8, 0x74, 0x3c, 0xd8, 0xbf, 0xf2, 0x62, 0x8f, 0x06, 0xfb, 0x57, 0x2f, 0xf6, 0xbd, 0x91, 0xed,
+	0x12, 0xcb, 0x0e, 0x02, 0x9a, 0xd8, 0x09, 0x8d, 0xea, 0x61, 0x44, 0x13, 0x8a, 0xb6, 0x85, 0x75,
+	0x9d, 0x5b, 0xd7, 0x85, 0x75, 0xfd, 0xea, 0xc5, 0xce, 0x23, 0xc9, 0x62, 0x87, 0xde, 0xbe, 0xc4,
+	0x78, 0x34, 0x88, 0x05, 0x6a, 0xe7, 0xd9, 0x1c, 0x1f, 0x2e, 0xa1, 0x23, 0x92, 0x44, 0x13, 0x69,
+	0xf6, 0x89, 0x34, 0x8b, 0x42, 0x67, 0x3f, 0x4e, 0xec, 0x64, 0x1c, 0xdf, 0x50, 0x24, 0x93, 0x90,
+	0xec, 0x3b, 0xd4, 0x4f, 0xc3, 0xd9, 0xa9, 0xa9, 0x0a, 0xdf, 0x4e, 0xfc, 0xc0, 0x15, 0x1a, 0xfd,
+	0x2f, 0x79, 0x58, 0x39, 0x26, 0x76, 0x32, 0x8e, 0x08, 0xfa, 0x02, 0x96, 0x98, 0x41, 0x2d, 0xb7,
+	0x9b, 0xdb, 0xab, 0x1e, 0x7c, 0xbf, 0x7e, 0xfb, 0x1c, 0xea, 0xd2, 0xbc, 0xde, 0x9f, 0x84, 0x04,
+	0x73, 0x04, 0x7a, 0x0a, 0x95, 0x91, 0x7d, 0x6d, 0x45, 0x24, 0x1e, 0xfb, 0x49, 0x5c, 0xcb, 0xef,
+	0xe6, 0xf6, 0x8a, 0x18, 0x46, 0xf6, 0x35, 0x16, 0x12, 0xfd, 0x1f, 0x39, 0x58, 0x62, 0xf6, 0x68,
+	0x0b, 0xb4, 0xfe, 0x45, 0xd7, 0xb0, 0xce, 0x3b, 0xbd, 0xae, 0x71, 0xd8, 0x3a, 0x6e, 0x19, 0x47,
+	0xda, 0x3d, 0x84, 0xa0, 0x7a, 0xdc, 0x38, 0x34, 0xac, 0x23, 0xa3, 0x6f, 0x1c, 0xf6, 0x5b, 0x66,
+	0x47, 0xcb, 0xa1, 0x6d, 0x40, 0xed, 0x46, 0xe7, 0xe8, 0xac, 0x81, 0xdf, 0x28, 0xf2, 0x3c, 0xb3,
+	0x6d, 0x9b, 0x27, 0xa6, 0x22, 0x2b, 0xa0, 0x4d, 0x58, 0x6f, 0x37, 0x9a, 0x46, 0x5b, 0x11, 0x2e,
+	0x31, 0xc3, 0xbe, 0xf1, 0xcb, 0xbe, 0x22, 0x2b, 0xa2, 0x07, 0x70, 0xbf, 0xd7, 0x38, 0x36, 0xac,
+	0x9e, 0xd1, 0xc0, 0x87, 0xa7, 0x8a, 0x6a, 0x99, 0x45, 0xd6, 0x3a, 0x6b, 0x9c, 0x18, 0x56, 0x17,
+	0x9b, 0x5d, 0x03, 0xf7, 0x5b, 0x46, 0x4f, 0x5b, 0xd1, 0x5f, 0x40, 0xa5, 0xc5, 0x2a, 0xdc, 0xa3,
+	0xe3, 0xc8, 0x21, 0x48, 0x87, 0x35, 0xd7, 0x89, 0x2d, 0x51, 0xf4, 0x71, 0xe4, 0xf1, 0x5c, 0x95,
+	0x71, 0xc5, 0x75, 0x62, 0x6e, 0x76, 0x1e, 0x79, 0xfa, 0x6f, 0xa1, 0xc8, 0xbf, 0x51, 0x0d, 0x56,
+	0x1c, 0x1a, 0x24, 0x24, 0x48, 0xb8, 0xd9, 0x2a, 0x4e, 0x87, 0xe8, 0x15, 0x2c, 0xc7, 0x9c, 0x90,
+	0xa7, 0xaa, 0x72, 0xf0, 0xbd, 0x79, 0xb9, 0x56, 0x7c, 0x63, 0x09, 0xd1, 0xff, 0xbd, 0x0e, 0xd5,
+	0x63, 0xdb, 0x21, 0x8d, 0x6c, 0xfd, 0xa0, 0x16, 0xac, 0x5d, 0xd2, 0x71, 0x30, 0xf0, 0x02, 0xd7,
+	0x0a, 0xa9, 0x3f, 0xe1, 0xfe, 0x2a, 0xf3, 0x4b, 0xd8, 0x94, 0xc6, 0x5d, 0xea, 0x4f, 0xf0, 0xea,
+	0xa5, 0x32, 0x42, 0x1d, 0xd0, 0x86, 0x03, 0x6b, 0x96, 0x2d, 0x7f, 0x07, 0xb6, 0xea, 0x70, 0xa0,
+	0x8e, 0xd1, 0x19, 0x94, 0x7d, 0x3b, 0x18, 0x8c, 0xec, 0xe8, 0xeb, 0xb8, 0x56, 0xd8, 0x2d, 0xec,
+	0x55, 0x0e, 0xf6, 0xe7, 0xae, 0xac, 0x99, 0x59, 0xd5, 0xdb, 0x12, 0x87, 0xa7, 0x0c, 0xe8, 0x31,
+	0x40, 0x44, 0x7d, 0xdf, 0xb2, 0x03, 0xd7, 0x27, 0xb5, 0xa5, 0xdd, 0xdc, 0x5e, 0x1e, 0x97, 0x99,
+	0xa4, 0xc1, 0x04, 0xe8, 0x21, 0x94, 0x43, 0x3b, 0x90, 0xda, 0x22, 0xd7, 0x96, 0x42, 0x3b, 0x10,
+	0xca, 0xc7, 0x00, 0x89, 0xe7, 0x27, 0x52, 0xbb, 0x2c, 0xb0, 0x4c, 0x22, 0xd4, 0x2f, 0x60, 0x6b,
+	0x40, 0x12, 0xe2, 0x30, 0xdf, 0x96, 0x43, 0x83, 0xa1, 0x37, 0x20, 0x81, 0x43, 0x6a, 0x2b, 0xdc,
+	0x70, 0x33, 0xd3, 0x1d, 0x66, 0x2a, 0xf4, 0x13, 0xd8, 0x4e, 0x43, 0x63, 0xc9, 0x52, 0x40, 0x25,
+	0x0e, 0xba, 0xaf, 0x68, 0x15, 0x58, 0x0b, 0xaa, 0xef, 0xe9, 0xc4, 0xf2, 0xbd, 0xaf, 0x89, 0xef,
+	0xbd, 0xa3, 0x74, 0x50, 0x2b, 0xf3, 0x2d, 0xa7, 0xcf, 0x4b, 0x4c, 0x3b, 0xb3, 0xc4, 0x6b, 0xef,
+	0xe9, 0x64, 0x3a, 0x44, 0x26, 0x6c, 0xc4, 0x34, 0x8a, 0xe8, 0x07, 0x95, 0x0d, 0x16, 0x66, 0xd3,
+	0x04, 0x58, 0x21, 0x3c, 0x03, 0xcd, 0x0e, 0x5c, 0x12, 0xa9, 0x7c, 0x95, 0x85, 0xf9, 0xd6, 0x39,
+	0x56, 0xa1, 0xeb, 0xc1, 0x66, 0x3c, 0x8e, 0xc2, 0xc8, 0x8b, 0x89, 0xca, 0xb8, 0xba, 0x30, 0x23,
+	0x4a, 0xe1, 0x0a, 0xe9, 0x6f, 0xa0, 0x36, 0x0e, 0x06, 0x24, 0xb2, 0xc8, 0x75, 0x48, 0x63, 0x32,
+	0x50, 0x99, 0xd7, 0x16, 0x66, 0xde, 0xe6, 0x1c, 0x86, 0xa0, 0x50, 0xd8, 0xbf, 0x02, 0x74, 0xe9,
+	0x8f, 0xa3, 0x68, 0x96, 0xb7, 0xba, 0x30, 0xef, 0x86, 0x44, 0xcf, 0x66, 0xe1, 0x1d, 0xb1, 0x07,
+	0x1f, 0x88, 0x3d, 0x93, 0xd7, 0xf5, 0xc5, 0xb3, 0x90, 0xc2, 0xa7, 0xb2, 0x9d, 0x7f, 0xad, 0x40,
+	0x29, 0xdd, 0x22, 0xe8, 0x54, 0x9e, 0xdd, 0x05, 0x4e, 0xf9, 0xf9, 0x1d, 0x77, 0x98, 0x7a, 0x96,
+	0xbf, 0x86, 0x52, 0x48, 0x63, 0x8f, 0xe9, 0xf9, 0xfe, 0xaa, 0x1c, 0xec, 0xce, 0x63, 0xeb, 0x4a,
+	0x3b, 0x9c, 0x21, 0xf4, 0xbf, 0x2f, 0x4f, 0x0f, 0xfa, 0xf3, 0xce, 0x9b, 0x8e, 0xf9, 0xb6, 0x63,
+	0xa5, 0xc7, 0xb8, 0x76, 0x0f, 0xad, 0x42, 0xa9, 0x6d, 0x1c, 0xf7, 0x2d, 0xe3, 0xc2, 0xd0, 0x72,
+	0x68, 0x0d, 0xca, 0xb8, 0x75, 0x72, 0x2a, 0x86, 0x79, 0x54, 0x83, 0x2d, 0xae, 0x34, 0x8f, 0xad,
+	0xd4, 0xa8, 0x89, 0xcd, 0xb7, 0x5a, 0x81, 0x1d, 0xdb, 0xc2, 0xf0, 0xa6, 0x6a, 0x89, 0xa9, 0x52,
+	0x50, 0xc6, 0xc5, 0x55, 0x45, 0xb4, 0x03, 0xdb, 0x19, 0x6a, 0x56, 0xb7, 0xcc, 0x60, 0x67, 0xad,
+	0xa3, 0xae, 0xd9, 0xea, 0xf4, 0xad, 0xa6, 0xd1, 0x7f, 0x6b, 0x18, 0x1d, 0xa6, 0xed, 0x69, 0x2b,
+	0x2c, 0xc6, 0x8e, 0xd9, 0x33, 0xac, 0x7e, 0xab, 0xab, 0x95, 0x58, 0x8c, 0xe7, 0xdd, 0xae, 0x81,
+	0xad, 0x76, 0xab, 0xab, 0x95, 0xd9, 0xb0, 0x6d, 0xbe, 0x95, 0x43, 0x40, 0x55, 0x80, 0x33, 0xf3,
+	0xbc, 0x7f, 0xca, 0xa3, 0xd2, 0x2a, 0x68, 0x1d, 0x2a, 0x62, 0xcc, 0xfd, 0x69, 0xab, 0x48, 0x83,
+	0x55, 0x21, 0x38, 0x34, 0x3a, 0x7d, 0x03, 0x6b, 0x6b, 0xe8, 0x3e, 0x6c, 0x70, 0xfa, 0xa6, 0xd9,
+	0xef, 0x9b, 0x67, 0xd2, 0xb0, 0xca, 0xf2, 0xa5, 0x8a, 0x39, 0xdf, 0x3a, 0xbb, 0x04, 0x55, 0xa9,
+	0x24, 0xd1, 0xb2, 0x59, 0x1b, 0x17, 0x86, 0xd5, 0x37, 0xbb, 0x56, 0xd3, 0x3c, 0xef, 0x1c, 0x35,
+	0xf0, 0x85, 0xb6, 0x31, 0xa3, 0x12, 0xb3, 0x3e, 0x34, 0x71, 0xc7, 0xc0, 0x1a, 0x42, 0x8f, 0xa0,
+	0x96, 0xa9, 0x24, 0x63, 0x06, 0xdc, 0xcc, 0xd2, 0xcf, 0xb4, 0xfc, 0x43, 0xe2, 0xb6, 0xa6, 0x89,
+	0xfc, 0x96, 0xbb, 0xfb, 0xb3, 0xba, 0x19, 0x7f, 0xdb, 0xe8, 0x31, 0x3c, 0x98, 0xea, 0x6e, 0x3a,
+	0xfc, 0x64, 0x5a, 0xd5, 0x9b, 0x1e, 0x6b, 0xe8, 0x29, 0x3c, 0x54, 0xeb, 0x6c, 0x89, 0x12, 0xa4,
+	0x15, 0xd3, 0x1e, 0xa0, 0x5d, 0x78, 0x34, 0x53, 0xd2, 0x9b, 0x16, 0x3b, 0x2c, 0xa1, 0x82, 0xa2,
+	0x81, 0xad, 0x3e, 0x6e, 0x9c, 0xb0, 0x5b, 0xfe, 0x21, 0xcb, 0xbe, 0xc4, 0x29, 0xe2, 0x47, 0xfc,
+	0x51, 0x91, 0xce, 0xbd, 0x7b, 0xde, 0x6d, 0xb5, 0xb5, 0xc7, 0xec, 0x51, 0x31, 0x0d, 0x4f, 0x08,
+	0x9f, 0x30, 0xfc, 0xb1, 0x89, 0x8d, 0x53, 0xa3, 0x71, 0x64, 0x9d, 0xf0, 0x37, 0x47, 0xbb, 0xa1,
+	0x3d, 0x45, 0x1b, 0xb0, 0x76, 0x78, 0xda, 0xea, 0x58, 0x27, 0x9d, 0x46, 0xff, 0x94, 0x51, 0xee,
+	0x32, 0xff, 0x5c, 0xc4, 0x79, 0x4f, 0xcc, 0x0e, 0x93, 0x7e, 0xca, 0xf0, 0x5c, 0x2a, 0x98, 0xa5,
+	0x58, 0xd7, 0x5f, 0xc3, 0x6a, 0x9b, 0x3a, 0x7c, 0x53, 0xb6, 0x82, 0x21, 0x45, 0xcf, 0x61, 0xc5,
+	0xb7, 0x13, 0xcb, 0x0f, 0x5c, 0x79, 0x95, 0x6f, 0xa6, 0x7b, 0x90, 0xed, 0xd1, 0x7a, 0xdb, 0x4e,
+	0xda, 0x81, 0x8b, 0x97, 0x7d, 0xfe, 0xab, 0x7f, 0x0e, 0xa5, 0x6e, 0x44, 0x43, 0x12, 0x25, 0x13,
+	0x84, 0x60, 0x29, 0xb0, 0x47, 0x44, 0x3e, 0x4c, 0xf8, 0x37, 0xda, 0x82, 0xe2, 0x95, 0xed, 0x8f,
+	0xc5, 0x6b, 0xa3, 0x8c, 0xc5, 0x40, 0xff, 0x63, 0x01, 0x34, 0x23, 0x48, 0xbc, 0x64, 0xa2, 0xbc,
+	0x24, 0x34, 0x28, 0x8c, 0xbc, 0x81, 0x44, 0xb3, 0x4f, 0xb4, 0x0d, 0xcb, 0x3e, 0x75, 0x6c, 0x3f,
+	0x45, 0xcb, 0x11, 0xda, 0x85, 0xca, 0x80, 0xc4, 0x4e, 0xe4, 0x85, 0xfc, 0xa8, 0x28, 0x88, 0x87,
+	0x90, 0x22, 0x62, 0x6e, 0x63, 0x87, 0x46, 0xe9, 0x35, 0x2d, 0x06, 0xe8, 0x09, 0x80, 0x72, 0x4f,
+	0x8a, 0x3b, 0x5a, 0x91, 0x30, 0x7d, 0x42, 0x43, 0xcf, 0xb1, 0x7d, 0x2f, 0x99, 0xc8, 0x5b, 0x5a,
+	0x91, 0x7c, 0xfb, 0xad, 0xb3, 0xf2, 0x9d, 0xdf, 0x3a, 0x4d, 0x28, 0xfb, 0x32, 0xeb, 0x71, 0xad,
+	0xc4, 0xdf, 0x26, 0x73, 0x69, 0xd4, 0xf2, 0xe0, 0x29, 0x0c, 0xfd, 0x1c, 0x20, 0x14, 0xb9, 0xf7,
+	0x48, 0x5c, 0x2b, 0x73, 0x92, 0xf9, 0x07, 0xa6, 0xac, 0x12, 0x56, 0x30, 0xfa, 0x9f, 0xf2, 0xb0,
+	0xd5, 0xb3, 0x87, 0xa4, 0x47, 0xec, 0xc8, 0x79, 0xa7, 0xd4, 0xe2, 0x0b, 0x28, 0xda, 0x83, 0xb1,
+	0x9f, 0xc8, 0x07, 0xf9, 0x22, 0xf7, 0x84, 0x00, 0x30, 0x64, 0x1c, 0x52, 0x3a, 0xe4, 0x25, 0x5b,
+	0x10, 0xc9, 0x01, 0xe8, 0x35, 0xac, 0x8c, 0xc8, 0x80, 0xe5, 0x5a, 0x5e, 0x25, 0x8b, 0x60, 0x53,
+	0x08, 0xfa, 0x19, 0x94, 0xae, 0x3c, 0xea, 0xf3, 0xca, 0x2e, 0x2d, 0x0c, 0xcf, 0x30, 0xfa, 0x07,
+	0xa8, 0xb0, 0xa5, 0x4d, 0x03, 0x17, 0x13, 0x27, 0x41, 0x2f, 0xa1, 0x32, 0xf2, 0x02, 0x6b, 0x81,
+	0x9d, 0x50, 0x1e, 0x79, 0x81, 0xf8, 0xe4, 0x20, 0xfb, 0x3a, 0x03, 0xe5, 0x3f, 0x06, 0xb2, 0xaf,
+	0xc5, 0xa7, 0x1e, 0x41, 0xf9, 0x90, 0xf5, 0x4b, 0x7c, 0xf3, 0xed, 0x41, 0x91, 0x37, 0x4f, 0xd2,
+	0x21, 0x9a, 0xc1, 0x72, 0x33, 0x2c, 0x0c, 0xa6, 0x2b, 0x3c, 0xaf, 0xae, 0xf0, 0x67, 0x50, 0x0d,
+	0xbd, 0x6b, 0xe2, 0x5b, 0xc3, 0xc8, 0x76, 0xb2, 0xcd, 0x91, 0xc7, 0x6b, 0x5c, 0x7a, 0x2c, 0x85,
+	0xfa, 0x39, 0xd4, 0x8e, 0xe8, 0xc8, 0x0b, 0xec, 0x20, 0xe1, 0xa4, 0xb1, 0x52, 0xfa, 0x9f, 0xc2,
+	0x32, 0xf7, 0x10, 0xd7, 0x72, 0x7c, 0x45, 0x7d, 0x3a, 0x2f, 0x8d, 0x59, 0xd4, 0x58, 0x02, 0x74,
+	0x1f, 0xd6, 0x79, 0xd7, 0xd0, 0xcd, 0x56, 0x18, 0xba, 0x80, 0xf5, 0x81, 0xf4, 0x64, 0x65, 0xb4,
+	0x6c, 0x6a, 0x3f, 0x9e, 0x47, 0x3b, 0x2f, 0x30, 0x5c, 0x1d, 0xcc, 0x68, 0xf4, 0xdf, 0xc3, 0x2a,
+	0xf7, 0x76, 0xc8, 0x3a, 0x9b, 0xeb, 0x04, 0x9d, 0xc0, 0x1a, 0xcf, 0x3c, 0x0d, 0x5c, 0x2b, 0x22,
+	0x4e, 0x22, 0x1d, 0xcd, 0x6d, 0x70, 0x94, 0x72, 0xe3, 0x8a, 0xaf, 0xd4, 0xfe, 0x19, 0x54, 0x7d,
+	0x3b, 0x70, 0xc7, 0xac, 0xd1, 0x7a, 0xe7, 0x05, 0xbc, 0xab, 0x2c, 0xec, 0x95, 0xf1, 0x5a, 0x2a,
+	0x3d, 0x65, 0x42, 0xfd, 0x9b, 0x1c, 0x6c, 0xc9, 0xf0, 0x08, 0x0f, 0x04, 0x93, 0xdf, 0x8d, 0x49,
+	0xcc, 0xd6, 0x4e, 0x91, 0x77, 0x69, 0x32, 0x80, 0xc7, 0x1f, 0xed, 0xb0, 0xb0, 0xb0, 0x45, 0xaf,
+	0xa0, 0x34, 0x14, 0xdd, 0xad, 0x70, 0x57, 0x39, 0x78, 0xfa, 0x7f, 0xba, 0x60, 0x9c, 0x01, 0xd8,
+	0xc1, 0x24, 0xfa, 0x42, 0x47, 0xe4, 0x82, 0x57, 0xfd, 0x23, 0x27, 0x8a, 0x9a, 0x37, 0xbc, 0xea,
+	0x29, 0x23, 0xfd, 0x9f, 0x45, 0xb8, 0x7f, 0x63, 0x56, 0x71, 0x48, 0x83, 0x98, 0xa0, 0xaf, 0x40,
+	0x1b, 0xda, 0x4e, 0xf6, 0x87, 0x03, 0x3f, 0xb9, 0xc4, 0x12, 0xf9, 0xc1, 0x62, 0x6f, 0x3e, 0xbc,
+	0x3e, 0x9c, 0x19, 0xc7, 0xe8, 0xd7, 0xb0, 0x95, 0xb6, 0x29, 0x33, 0xb4, 0x22, 0x01, 0x7b, 0xf3,
+	0x68, 0x6f, 0x5e, 0x1d, 0x78, 0x33, 0x65, 0x51, 0xc9, 0x7b, 0xa0, 0xf9, 0xd4, 0xa5, 0x33, 0xc4,
+	0x85, 0x3b, 0x12, 0xaf, 0x33, 0x06, 0x95, 0xf4, 0x1c, 0x36, 0x7c, 0xfb, 0x92, 0xf8, 0x33, 0xac,
+	0x4b, 0x77, 0x64, 0xd5, 0x38, 0xc5, 0x8d, 0x58, 0x59, 0xf6, 0x67, 0x58, 0x8b, 0x77, 0x8d, 0x95,
+	0x31, 0xa8, 0xa4, 0x97, 0xb0, 0x1d, 0xdb, 0x43, 0x62, 0xc5, 0xfc, 0x74, 0x57, 0xb8, 0xf9, 0xd5,
+	0x56, 0x39, 0x78, 0x3e, 0x8f, 0xfa, 0xb6, 0x2b, 0x01, 0x6f, 0xc5, 0xb7, 0x5d, 0x14, 0x2e, 0x3c,
+	0x14, 0x2b, 0x6f, 0x7a, 0xab, 0xa8, 0x8e, 0x4a, 0xdc, 0xd1, 0x0f, 0x3f, 0xba, 0x0e, 0xa7, 0xa7,
+	0x05, 0x7e, 0xe0, 0xcd, 0x0a, 0x14, 0x47, 0x7b, 0x50, 0x24, 0x51, 0x44, 0x23, 0xde, 0xaf, 0x2a,
+	0x27, 0x63, 0x14, 0x3a, 0xf5, 0x1e, 0xff, 0x27, 0x0a, 0x0b, 0x03, 0x7d, 0x08, 0x3b, 0x4d, 0x3b,
+	0xc9, 0xa2, 0x14, 0xab, 0x38, 0x4e, 0x37, 0xe7, 0x29, 0x94, 0x22, 0xf1, 0x99, 0xae, 0xde, 0xb9,
+	0x69, 0xb8, 0x6d, 0x73, 0xe3, 0x0c, 0xad, 0xbf, 0x87, 0x87, 0xb7, 0xfa, 0x91, 0xdb, 0xe5, 0x0d,
+	0x94, 0x23, 0xf9, 0x9d, 0x7a, 0xfa, 0xd1, 0x82, 0x9e, 0x04, 0x0a, 0x4f, 0xf1, 0x9f, 0x11, 0x00,
+	0xa5, 0xa7, 0xab, 0xc0, 0x8a, 0x6c, 0x70, 0xb4, 0x7b, 0xec, 0xfd, 0xf7, 0x0b, 0x03, 0x5f, 0x58,
+	0xe7, 0x9d, 0x76, 0xeb, 0x8d, 0xd1, 0xbe, 0xd0, 0x72, 0xac, 0x8d, 0xc8, 0x46, 0x79, 0x36, 0xea,
+	0x9a, 0xbd, 0x5e, 0xab, 0xd9, 0x36, 0xb4, 0x02, 0x02, 0x58, 0x96, 0x9a, 0x25, 0xd6, 0x32, 0x70,
+	0xa8, 0x14, 0x14, 0x0f, 0xfe, 0x96, 0x83, 0x2a, 0x8f, 0xa1, 0x91, 0xfe, 0xa9, 0x88, 0xfe, 0x9a,
+	0x83, 0xcd, 0x5b, 0xa6, 0x89, 0x0e, 0xe6, 0x3e, 0x7a, 0xe6, 0xe6, 0x7e, 0xe7, 0xe5, 0x9d, 0x30,
+	0x62, 0xee, 0xfa, 0x93, 0x3f, 0x7c, 0xf3, 0x9f, 0x3f, 0xe7, 0x6b, 0xfa, 0x66, 0xf6, 0x97, 0x67,
+	0xfc, 0xa5, 0x5c, 0x61, 0xe4, 0xcb, 0xdc, 0x67, 0xcd, 0x04, 0x76, 0x1c, 0x3a, 0x9a, 0xc3, 0xdc,
+	0xdc, 0x9c, 0x9d, 0x4e, 0x37, 0xa2, 0x09, 0xed, 0xe6, 0x7e, 0xf5, 0x5a, 0x9a, 0xbb, 0x94, 0x9d,
+	0xe9, 0x75, 0x1a, 0xb9, 0xfb, 0x2e, 0x09, 0xf8, 0xff, 0x92, 0xfb, 0x42, 0x65, 0x87, 0x5e, 0x7c,
+	0xf3, 0xdf, 0xd0, 0x57, 0xe2, 0xeb, 0xbf, 0xb9, 0xdc, 0xe5, 0x32, 0xb7, 0x7d, 0xf9, 0xbf, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x83, 0x58, 0x40, 0x64, 0x9c, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/cloud/vision/v1/image_annotator.proto b/googleapis/cloud/vision/v1/image_annotator.proto
deleted file mode 100644
index 77948180..00000000
--- a/googleapis/cloud/vision/v1/image_annotator.proto
+++ /dev/null
@@ -1,500 +0,0 @@
-// 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.vision.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/cloud/vision/v1/geometry.proto"; // from google/cloud/vision/v1/geometry.proto
-import "google.golang.org/genproto/googleapis/rpc/status/status.proto"; // from google/rpc/status.proto
-import "google.golang.org/genproto/googleapis/type/color/color.proto"; // from google/type/color.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ImageAnnotatorProto";
-option java_package = "com.google.cloud.vision.v1";
-
-option go_package = "google.golang.org/genproto/googleapis/cloud/vision/v1";
-
-// Service that performs Google Cloud Vision API detection tasks, such as face,
-// landmark, logo, label, and text detection, over client images, and returns
-// detected entities from the images.
-service ImageAnnotator {
-  // Run image detection and annotation for a batch of images.
-  rpc BatchAnnotateImages(BatchAnnotateImagesRequest) returns (BatchAnnotateImagesResponse) {
-    option (google.api.http) = { post: "/v1/images:annotate" body: "*" };
-  }
-}
-
-// The <em>Feature</em> indicates what type of image detection task to perform.
-// Users describe the type of Google Cloud Vision API tasks to perform over
-// images by using <em>Feature</em>s. Features encode the Cloud Vision API
-// vertical to operate on and the number of top-scoring results to return.
-message Feature {
-  // Type of image feature.
-  enum Type {
-    // Unspecified feature type.
-    TYPE_UNSPECIFIED = 0;
-
-    // Run face detection.
-    FACE_DETECTION = 1;
-
-    // Run landmark detection.
-    LANDMARK_DETECTION = 2;
-
-    // Run logo detection.
-    LOGO_DETECTION = 3;
-
-    // Run label detection.
-    LABEL_DETECTION = 4;
-
-    // Run OCR.
-    TEXT_DETECTION = 5;
-
-    // Run various computer vision models to compute image safe-search properties.
-    SAFE_SEARCH_DETECTION = 6;
-
-    // Compute a set of properties about the image (such as the image's dominant colors).
-    IMAGE_PROPERTIES = 7;
-  }
-
-  // The feature type.
-  Type type = 1;
-
-  // Maximum number of results of this type.
-  int32 max_results = 2;
-}
-
-// External image source (Google Cloud Storage image location).
-message ImageSource {
-  // Google Cloud Storage image URI. It must be in the following form:
-  // `gs://bucket_name/object_name`. For more
-  // details, please see: https://cloud.google.com/storage/docs/reference-uris.
-  // NOTE: Cloud Storage object versioning is not supported!
-  string gcs_image_uri = 1;
-}
-
-// Client image to perform Google Cloud Vision API tasks over.
-message Image {
-  // Image content, represented as a stream of bytes.
-  // Note: as with all `bytes` fields, protobuffers use a pure binary
-  // representation, whereas JSON representations use base64.
-  bytes content = 1;
-
-  // Google Cloud Storage image location. If both 'content' and 'source'
-  // are filled for an image, 'content' takes precedence and it will be
-  // used for performing the image annotation request.
-  ImageSource source = 2;
-}
-
-// A face annotation object contains the results of face detection.
-message FaceAnnotation {
-  // A face-specific landmark (for example, a face feature).
-  // Landmark positions may fall outside the bounds of the image
-  // when the face is near one or more edges of the image.
-  // Therefore it is NOT guaranteed that 0 <= x < width or 0 <= y < height.
-  message Landmark {
-    // Face landmark (feature) type.
-    // Left and right are defined from the vantage of the viewer of the image,
-    // without considering mirror projections typical of photos. So, LEFT_EYE,
-    // typically is the person's right eye.
-    enum Type {
-      // Unknown face landmark detected. Should not be filled.
-      UNKNOWN_LANDMARK = 0;
-
-      // Left eye.
-      LEFT_EYE = 1;
-
-      // Right eye.
-      RIGHT_EYE = 2;
-
-      // Left of left eyebrow.
-      LEFT_OF_LEFT_EYEBROW = 3;
-
-      // Right of left eyebrow.
-      RIGHT_OF_LEFT_EYEBROW = 4;
-
-      // Left of right eyebrow.
-      LEFT_OF_RIGHT_EYEBROW = 5;
-
-      // Right of right eyebrow.
-      RIGHT_OF_RIGHT_EYEBROW = 6;
-
-      // Midpoint between eyes.
-      MIDPOINT_BETWEEN_EYES = 7;
-
-      // Nose tip.
-      NOSE_TIP = 8;
-
-      // Upper lip.
-      UPPER_LIP = 9;
-
-      // Lower lip.
-      LOWER_LIP = 10;
-
-      // Mouth left.
-      MOUTH_LEFT = 11;
-
-      // Mouth right.
-      MOUTH_RIGHT = 12;
-
-      // Mouth center.
-      MOUTH_CENTER = 13;
-
-      // Nose, bottom right.
-      NOSE_BOTTOM_RIGHT = 14;
-
-      // Nose, bottom left.
-      NOSE_BOTTOM_LEFT = 15;
-
-      // Nose, bottom center.
-      NOSE_BOTTOM_CENTER = 16;
-
-      // Left eye, top boundary.
-      LEFT_EYE_TOP_BOUNDARY = 17;
-
-      // Left eye, right corner.
-      LEFT_EYE_RIGHT_CORNER = 18;
-
-      // Left eye, bottom boundary.
-      LEFT_EYE_BOTTOM_BOUNDARY = 19;
-
-      // Left eye, left corner.
-      LEFT_EYE_LEFT_CORNER = 20;
-
-      // Right eye, top boundary.
-      RIGHT_EYE_TOP_BOUNDARY = 21;
-
-      // Right eye, right corner.
-      RIGHT_EYE_RIGHT_CORNER = 22;
-
-      // Right eye, bottom boundary.
-      RIGHT_EYE_BOTTOM_BOUNDARY = 23;
-
-      // Right eye, left corner.
-      RIGHT_EYE_LEFT_CORNER = 24;
-
-      // Left eyebrow, upper midpoint.
-      LEFT_EYEBROW_UPPER_MIDPOINT = 25;
-
-      // Right eyebrow, upper midpoint.
-      RIGHT_EYEBROW_UPPER_MIDPOINT = 26;
-
-      // Left ear tragion.
-      LEFT_EAR_TRAGION = 27;
-
-      // Right ear tragion.
-      RIGHT_EAR_TRAGION = 28;
-
-      // Left eye pupil.
-      LEFT_EYE_PUPIL = 29;
-
-      // Right eye pupil.
-      RIGHT_EYE_PUPIL = 30;
-
-      // Forehead glabella.
-      FOREHEAD_GLABELLA = 31;
-
-      // Chin gnathion.
-      CHIN_GNATHION = 32;
-
-      // Chin left gonion.
-      CHIN_LEFT_GONION = 33;
-
-      // Chin right gonion.
-      CHIN_RIGHT_GONION = 34;
-    }
-
-    // Face landmark type.
-    Type type = 3;
-
-    // Face landmark position.
-    Position position = 4;
-  }
-
-  // The bounding polygon around the face. The coordinates of the bounding box
-  // are in the original image's scale, as returned in ImageParams.
-  // The bounding box is computed to "frame" the face in accordance with human
-  // expectations. It is based on the landmarker results.
-  // Note that one or more x and/or y coordinates may not be generated in the
-  // BoundingPoly (the polygon will be unbounded) if only a partial face appears in
-  // the image to be annotated.
-  BoundingPoly bounding_poly = 1;
-
-  // This bounding polygon is tighter than the previous
-  // <code>boundingPoly</code>, and
-  // encloses only the skin part of the face. Typically, it is used to
-  // eliminate the face from any image analysis that detects the
-  // "amount of skin" visible in an image. It is not based on the
-  // landmarker results, only on the initial face detection, hence
-  // the <code>fd</code> (face detection) prefix.
-  BoundingPoly fd_bounding_poly = 2;
-
-  // Detected face landmarks.
-  repeated Landmark landmarks = 3;
-
-  // Roll angle. Indicates the amount of clockwise/anti-clockwise rotation of
-  // the
-  // face relative to the image vertical, about the axis perpendicular to the
-  // face. Range [-180,180].
-  float roll_angle = 4;
-
-  // Yaw angle. Indicates the leftward/rightward angle that the face is
-  // pointing, relative to the vertical plane perpendicular to the image. Range
-  // [-180,180].
-  float pan_angle = 5;
-
-  // Pitch angle. Indicates the upwards/downwards angle that the face is
-  // pointing
-  // relative to the image's horizontal plane. Range [-180,180].
-  float tilt_angle = 6;
-
-  // Detection confidence. Range [0, 1].
-  float detection_confidence = 7;
-
-  // Face landmarking confidence. Range [0, 1].
-  float landmarking_confidence = 8;
-
-  // Joy likelihood.
-  Likelihood joy_likelihood = 9;
-
-  // Sorrow likelihood.
-  Likelihood sorrow_likelihood = 10;
-
-  // Anger likelihood.
-  Likelihood anger_likelihood = 11;
-
-  // Surprise likelihood.
-  Likelihood surprise_likelihood = 12;
-
-  // Under-exposed likelihood.
-  Likelihood under_exposed_likelihood = 13;
-
-  // Blurred likelihood.
-  Likelihood blurred_likelihood = 14;
-
-  // Headwear likelihood.
-  Likelihood headwear_likelihood = 15;
-}
-
-// Detected entity location information.
-message LocationInfo {
-  // Lat - long location coordinates.
-  google.type.LatLng lat_lng = 1;
-}
-
-// Arbitrary name/value pair.
-message Property {
-  // Name of the property.
-  string name = 1;
-
-  // Value of the property.
-  string value = 2;
-}
-
-// Set of detected entity features.
-message EntityAnnotation {
-  // Opaque entity ID. Some IDs might be available in Knowledge Graph(KG).
-  // For more details on KG please see:
-  // https://developers.google.com/knowledge-graph/
-  string mid = 1;
-
-  // The language code for the locale in which the entity textual
-  // <code>description</code> (next field) is expressed.
-  string locale = 2;
-
-  // Entity textual description, expressed in its <code>locale</code> language.
-  string description = 3;
-
-  // Overall score of the result. Range [0, 1].
-  float score = 4;
-
-  // The accuracy of the entity detection in an image.
-  // For example, for an image containing 'Eiffel Tower,' this field represents
-  // the confidence that there is a tower in the query image. Range [0, 1].
-  float confidence = 5;
-
-  // The relevancy of the ICA (Image Content Annotation) label to the
-  // image. For example, the relevancy of 'tower' to an image containing
-  // 'Eiffel Tower' is likely higher than an image containing a distant towering
-  // building, though the confidence that there is a tower may be the same.
-  // Range [0, 1].
-  float topicality = 6;
-
-  // Image region to which this entity belongs. Not filled currently
-  // for `LABEL_DETECTION` features. For `TEXT_DETECTION` (OCR), `boundingPoly`s
-  // are produced for the entire text detected in an image region, followed by
-  // `boundingPoly`s for each word within the detected text.
-  BoundingPoly bounding_poly = 7;
-
-  // The location information for the detected entity. Multiple
-  // <code>LocationInfo</code> elements can be present since one location may
-  // indicate the location of the scene in the query image, and another the
-  // location of the place where the query image was taken. Location information
-  // is usually present for landmarks.
-  repeated LocationInfo locations = 8;
-
-  // Some entities can have additional optional <code>Property</code> fields.
-  // For example a different kind of score or string that qualifies the entity.
-  repeated Property properties = 9;
-}
-
-// Set of features pertaining to the image, computed by various computer vision
-// methods over safe-search verticals (for example, adult, spoof, medical,
-// violence).
-message SafeSearchAnnotation {
-  // Represents the adult contents likelihood for the image.
-  Likelihood adult = 1;
-
-  // Spoof likelihood. The likelihood that an obvious modification
-  // was made to the image's canonical version to make it appear
-  // funny or offensive.
-  Likelihood spoof = 2;
-
-  // Likelihood this is a medical image.
-  Likelihood medical = 3;
-
-  // Violence likelihood.
-  Likelihood violence = 4;
-}
-
-// Rectangle determined by min and max LatLng pairs.
-message LatLongRect {
-  // Min lat/long pair.
-  google.type.LatLng min_lat_lng = 1;
-
-  // Max lat/long pair.
-  google.type.LatLng max_lat_lng = 2;
-}
-
-// Color information consists of RGB channels, score and fraction of
-// image the color occupies in the image.
-message ColorInfo {
-  // RGB components of the color.
-  google.type.Color color = 1;
-
-  // Image-specific score for this color. Value in range [0, 1].
-  float score = 2;
-
-  // Stores the fraction of pixels the color occupies in the image.
-  // Value in range [0, 1].
-  float pixel_fraction = 3;
-}
-
-// Set of dominant colors and their corresponding scores.
-message DominantColorsAnnotation {
-  // RGB color values, with their score and pixel fraction.
-  repeated ColorInfo colors = 1;
-}
-
-// Stores image properties (e.g. dominant colors).
-message ImageProperties {
-  // If present, dominant colors completed successfully.
-  DominantColorsAnnotation dominant_colors = 1;
-}
-
-// Image context.
-message ImageContext {
-  // Lat/long rectangle that specifies the location of the image.
-  LatLongRect lat_long_rect = 1;
-
-  // List of languages to use for TEXT_DETECTION. In most cases, an empty value
-  // yields the best results since it enables automatic language detection. For
-  // languages based on the Latin alphabet, setting `language_hints` is not
-  // needed. In rare cases, when the language of the text in the image is known,
-  // setting a hint will help get better results (although it will be a
-  // significant hindrance if the hint is wrong). Text detection returns an
-  // error if one or more of the specified languages is not one of the
-  // [supported
-  // languages](/translate/v2/translate-reference#supported_languages).
-  repeated string language_hints = 2;
-}
-
-// Request for performing Google Cloud Vision API tasks over a user-provided
-// image, with user-requested features.
-message AnnotateImageRequest {
-  // The image to be processed.
-  Image image = 1;
-
-  // Requested features.
-  repeated Feature features = 2;
-
-  // Additional context that may accompany the image.
-  ImageContext image_context = 3;
-}
-
-// Response to an image annotation request.
-message AnnotateImageResponse {
-  // If present, face detection completed successfully.
-  repeated FaceAnnotation face_annotations = 1;
-
-  // If present, landmark detection completed successfully.
-  repeated EntityAnnotation landmark_annotations = 2;
-
-  // If present, logo detection completed successfully.
-  repeated EntityAnnotation logo_annotations = 3;
-
-  // If present, label detection completed successfully.
-  repeated EntityAnnotation label_annotations = 4;
-
-  // If present, text (OCR) detection completed successfully.
-  repeated EntityAnnotation text_annotations = 5;
-
-  // If present, safe-search annotation completed successfully.
-  SafeSearchAnnotation safe_search_annotation = 6;
-
-  // If present, image properties were extracted successfully.
-  ImageProperties image_properties_annotation = 8;
-
-  // If set, represents the error message for the operation.
-  // Note that filled-in mage annotations are guaranteed to be
-  // correct, even when <code>error</code> is non-empty.
-  google.rpc.Status error = 9;
-}
-
-// Multiple image annotation requests are batched into a single service call.
-message BatchAnnotateImagesRequest {
-  // Individual image annotation requests for this batch.
-  repeated AnnotateImageRequest requests = 1;
-}
-
-// Response to a batch image annotation request.
-message BatchAnnotateImagesResponse {
-  // Individual responses to image annotation requests within the batch.
-  repeated AnnotateImageResponse responses = 1;
-}
-
-// A bucketized representation of likelihood meant to give our clients highly
-// stable results across model upgrades.
-enum Likelihood {
-  // Unknown likelihood.
-  UNKNOWN = 0;
-
-  // The image very unlikely belongs to the vertical specified.
-  VERY_UNLIKELY = 1;
-
-  // The image unlikely belongs to the vertical specified.
-  UNLIKELY = 2;
-
-  // The image possibly belongs to the vertical specified.
-  POSSIBLE = 3;
-
-  // The image likely belongs to the vertical specified.
-  LIKELY = 4;
-
-  // The image very likely belongs to the vertical specified.
-  VERY_LIKELY = 5;
-}
diff --git a/googleapis/container/v1/cluster_service.pb.go b/googleapis/container/v1/cluster_service.pb.go
index cd5e990e..2089bcdf 100644
--- a/googleapis/container/v1/cluster_service.pb.go
+++ b/googleapis/container/v1/cluster_service.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/container/v1/cluster_service.proto
+// source: google/container/v1/cluster_service.proto
 // DO NOT EDIT!
 
 /*
-Package google_container_v1 is a generated protocol buffer package.
+Package container is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/container/v1/cluster_service.proto
+	google/container/v1/cluster_service.proto
 
 It has these top-level messages:
 	NodeConfig
@@ -29,12 +29,12 @@ It has these top-level messages:
 	GetServerConfigRequest
 	ServerConfig
 */
-package google_container_v1 // import "google.golang.org/genproto/googleapis/container/v1"
+package container
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -228,6 +228,27 @@ func (m *NodeConfig) String() string            { return proto.CompactTextString
 func (*NodeConfig) ProtoMessage()               {}
 func (*NodeConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *NodeConfig) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
+func (m *NodeConfig) GetDiskSizeGb() int32 {
+	if m != nil {
+		return m.DiskSizeGb
+	}
+	return 0
+}
+
+func (m *NodeConfig) GetOauthScopes() []string {
+	if m != nil {
+		return m.OauthScopes
+	}
+	return nil
+}
+
 func (m *NodeConfig) GetMetadata() map[string]string {
 	if m != nil {
 		return m.Metadata
@@ -261,6 +282,41 @@ func (m *MasterAuth) String() string            { return proto.CompactTextString
 func (*MasterAuth) ProtoMessage()               {}
 func (*MasterAuth) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *MasterAuth) GetUsername() string {
+	if m != nil {
+		return m.Username
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetPassword() string {
+	if m != nil {
+		return m.Password
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClusterCaCertificate() string {
+	if m != nil {
+		return m.ClusterCaCertificate
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClientCertificate() string {
+	if m != nil {
+		return m.ClientCertificate
+	}
+	return ""
+}
+
+func (m *MasterAuth) GetClientKey() string {
+	if m != nil {
+		return m.ClientKey
+	}
+	return ""
+}
+
 // Configuration for the addons that can be automatically spun up in the
 // cluster, enabling additional functionality.
 type AddonsConfig struct {
@@ -306,6 +362,13 @@ func (m *HttpLoadBalancing) String() string            { return proto.CompactTex
 func (*HttpLoadBalancing) ProtoMessage()               {}
 func (*HttpLoadBalancing) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *HttpLoadBalancing) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // Configuration options for the horizontal pod autoscaling feature, which
 // increases or decreases the number of replica pods a replication controller
 // has based on the resource usage of the existing pods.
@@ -321,6 +384,13 @@ func (m *HorizontalPodAutoscaling) String() string            { return proto.Com
 func (*HorizontalPodAutoscaling) ProtoMessage()               {}
 func (*HorizontalPodAutoscaling) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *HorizontalPodAutoscaling) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // A Google Container Engine cluster.
 type Cluster struct {
 	// The name of this cluster. The name must be unique within this project
@@ -439,6 +509,27 @@ func (m *Cluster) String() string            { return proto.CompactTextString(m)
 func (*Cluster) ProtoMessage()               {}
 func (*Cluster) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *Cluster) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Cluster) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Cluster) GetInitialNodeCount() int32 {
+	if m != nil {
+		return m.InitialNodeCount
+	}
+	return 0
+}
+
 func (m *Cluster) GetNodeConfig() *NodeConfig {
 	if m != nil {
 		return m.NodeConfig
@@ -453,6 +544,34 @@ func (m *Cluster) GetMasterAuth() *MasterAuth {
 	return nil
 }
 
+func (m *Cluster) GetLoggingService() string {
+	if m != nil {
+		return m.LoggingService
+	}
+	return ""
+}
+
+func (m *Cluster) GetMonitoringService() string {
+	if m != nil {
+		return m.MonitoringService
+	}
+	return ""
+}
+
+func (m *Cluster) GetNetwork() string {
+	if m != nil {
+		return m.Network
+	}
+	return ""
+}
+
+func (m *Cluster) GetClusterIpv4Cidr() string {
+	if m != nil {
+		return m.ClusterIpv4Cidr
+	}
+	return ""
+}
+
 func (m *Cluster) GetAddonsConfig() *AddonsConfig {
 	if m != nil {
 		return m.AddonsConfig
@@ -460,6 +579,104 @@ func (m *Cluster) GetAddonsConfig() *AddonsConfig {
 	return nil
 }
 
+func (m *Cluster) GetSubnetwork() string {
+	if m != nil {
+		return m.Subnetwork
+	}
+	return ""
+}
+
+func (m *Cluster) GetSelfLink() string {
+	if m != nil {
+		return m.SelfLink
+	}
+	return ""
+}
+
+func (m *Cluster) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *Cluster) GetEndpoint() string {
+	if m != nil {
+		return m.Endpoint
+	}
+	return ""
+}
+
+func (m *Cluster) GetInitialClusterVersion() string {
+	if m != nil {
+		return m.InitialClusterVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCurrentMasterVersion() string {
+	if m != nil {
+		return m.CurrentMasterVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCurrentNodeVersion() string {
+	if m != nil {
+		return m.CurrentNodeVersion
+	}
+	return ""
+}
+
+func (m *Cluster) GetCreateTime() string {
+	if m != nil {
+		return m.CreateTime
+	}
+	return ""
+}
+
+func (m *Cluster) GetStatus() Cluster_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Cluster_STATUS_UNSPECIFIED
+}
+
+func (m *Cluster) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *Cluster) GetNodeIpv4CidrSize() int32 {
+	if m != nil {
+		return m.NodeIpv4CidrSize
+	}
+	return 0
+}
+
+func (m *Cluster) GetServicesIpv4Cidr() string {
+	if m != nil {
+		return m.ServicesIpv4Cidr
+	}
+	return ""
+}
+
+func (m *Cluster) GetInstanceGroupUrls() []string {
+	if m != nil {
+		return m.InstanceGroupUrls
+	}
+	return nil
+}
+
+func (m *Cluster) GetCurrentNodeCount() int32 {
+	if m != nil {
+		return m.CurrentNodeCount
+	}
+	return 0
+}
+
 // ClusterUpdate describes an update to the cluster. Exactly one update can
 // be applied to a cluster with each request, so at most one field can be
 // provided.
@@ -487,6 +704,20 @@ func (m *ClusterUpdate) String() string            { return proto.CompactTextStr
 func (*ClusterUpdate) ProtoMessage()               {}
 func (*ClusterUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *ClusterUpdate) GetDesiredNodeVersion() string {
+	if m != nil {
+		return m.DesiredNodeVersion
+	}
+	return ""
+}
+
+func (m *ClusterUpdate) GetDesiredMonitoringService() string {
+	if m != nil {
+		return m.DesiredMonitoringService
+	}
+	return ""
+}
+
 func (m *ClusterUpdate) GetDesiredAddonsConfig() *AddonsConfig {
 	if m != nil {
 		return m.DesiredAddonsConfig
@@ -494,6 +725,13 @@ func (m *ClusterUpdate) GetDesiredAddonsConfig() *AddonsConfig {
 	return nil
 }
 
+func (m *ClusterUpdate) GetDesiredMasterVersion() string {
+	if m != nil {
+		return m.DesiredMasterVersion
+	}
+	return ""
+}
+
 // This operation resource represents operations that may have happened or are
 // happening on the cluster. All fields are output only.
 type Operation struct {
@@ -522,6 +760,62 @@ func (m *Operation) String() string            { return proto.CompactTextString(
 func (*Operation) ProtoMessage()               {}
 func (*Operation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *Operation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Operation) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *Operation) GetOperationType() Operation_Type {
+	if m != nil {
+		return m.OperationType
+	}
+	return Operation_TYPE_UNSPECIFIED
+}
+
+func (m *Operation) GetStatus() Operation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Operation_STATUS_UNSPECIFIED
+}
+
+func (m *Operation) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
+func (m *Operation) GetStatusMessage() string {
+	if m != nil {
+		return m.StatusMessage
+	}
+	return ""
+}
+
+func (m *Operation) GetSelfLink() string {
+	if m != nil {
+		return m.SelfLink
+	}
+	return ""
+}
+
+func (m *Operation) GetTargetLink() string {
+	if m != nil {
+		return m.TargetLink
+	}
+	return ""
+}
+
 // CreateClusterRequest creates a cluster.
 type CreateClusterRequest struct {
 	// The Google Developers Console [project ID or project
@@ -540,6 +834,20 @@ func (m *CreateClusterRequest) String() string            { return proto.Compact
 func (*CreateClusterRequest) ProtoMessage()               {}
 func (*CreateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CreateClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 func (m *CreateClusterRequest) GetCluster() *Cluster {
 	if m != nil {
 		return m.Cluster
@@ -565,6 +873,27 @@ func (m *GetClusterRequest) String() string            { return proto.CompactTex
 func (*GetClusterRequest) ProtoMessage()               {}
 func (*GetClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *GetClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *GetClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 // UpdateClusterRequest updates the settings of a cluster.
 type UpdateClusterRequest struct {
 	// The Google Developers Console [project ID or project
@@ -585,6 +914,27 @@ func (m *UpdateClusterRequest) String() string            { return proto.Compact
 func (*UpdateClusterRequest) ProtoMessage()               {}
 func (*UpdateClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *UpdateClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *UpdateClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 func (m *UpdateClusterRequest) GetUpdate() *ClusterUpdate {
 	if m != nil {
 		return m.Update
@@ -610,6 +960,27 @@ func (m *DeleteClusterRequest) String() string            { return proto.Compact
 func (*DeleteClusterRequest) ProtoMessage()               {}
 func (*DeleteClusterRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteClusterRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *DeleteClusterRequest) GetClusterId() string {
+	if m != nil {
+		return m.ClusterId
+	}
+	return ""
+}
+
 // ListClustersRequest lists clusters.
 type ListClustersRequest struct {
 	// The Google Developers Console [project ID or project
@@ -626,6 +997,20 @@ func (m *ListClustersRequest) String() string            { return proto.CompactT
 func (*ListClustersRequest) ProtoMessage()               {}
 func (*ListClustersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ListClustersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListClustersRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // ListClustersResponse is the result of ListClustersRequest.
 type ListClustersResponse struct {
 	// A list of clusters in the project in the specified zone, or
@@ -648,6 +1033,13 @@ func (m *ListClustersResponse) GetClusters() []*Cluster {
 	return nil
 }
 
+func (m *ListClustersResponse) GetMissingZones() []string {
+	if m != nil {
+		return m.MissingZones
+	}
+	return nil
+}
+
 // GetOperationRequest gets a single operation.
 type GetOperationRequest struct {
 	// The Google Developers Console [project ID or project
@@ -666,6 +1058,27 @@ func (m *GetOperationRequest) String() string            { return proto.CompactT
 func (*GetOperationRequest) ProtoMessage()               {}
 func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *GetOperationRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetOperationRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *GetOperationRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 // ListOperationsRequest lists operations.
 type ListOperationsRequest struct {
 	// The Google Developers Console [project ID or project
@@ -681,6 +1094,20 @@ func (m *ListOperationsRequest) String() string            { return proto.Compac
 func (*ListOperationsRequest) ProtoMessage()               {}
 func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *ListOperationsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // ListOperationsResponse is the result of ListOperationsRequest.
 type ListOperationsResponse struct {
 	// A list of operations in the project in the specified zone.
@@ -702,6 +1129,13 @@ func (m *ListOperationsResponse) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ListOperationsResponse) GetMissingZones() []string {
+	if m != nil {
+		return m.MissingZones
+	}
+	return nil
+}
+
 // Gets the current Container Engine service configuration.
 type GetServerConfigRequest struct {
 	// The Google Developers Console [project ID or project
@@ -717,6 +1151,20 @@ func (m *GetServerConfigRequest) String() string            { return proto.Compa
 func (*GetServerConfigRequest) ProtoMessage()               {}
 func (*GetServerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *GetServerConfigRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetServerConfigRequest) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
 // Container Engine service configuration.
 type ServerConfig struct {
 	// Version of Kubernetes the service deploys by default.
@@ -730,6 +1178,20 @@ func (m *ServerConfig) String() string            { return proto.CompactTextStri
 func (*ServerConfig) ProtoMessage()               {}
 func (*ServerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *ServerConfig) GetDefaultClusterVersion() string {
+	if m != nil {
+		return m.DefaultClusterVersion
+	}
+	return ""
+}
+
+func (m *ServerConfig) GetValidNodeVersions() []string {
+	if m != nil {
+		return m.ValidNodeVersions
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*NodeConfig)(nil), "google.container.v1.NodeConfig")
 	proto.RegisterType((*MasterAuth)(nil), "google.container.v1.MasterAuth")
@@ -1111,132 +1573,130 @@ var _ClusterManager_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/container/v1/cluster_service.proto",
+	Metadata: "google/container/v1/cluster_service.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/container/v1/cluster_service.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/container/v1/cluster_service.proto", fileDescriptor0) }
 
 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,
+	// 1893 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
+	0x15, 0xef, 0x4a, 0xd4, 0xbf, 0x47, 0x52, 0xa6, 0x46, 0xb2, 0xb2, 0x60, 0xd3, 0x58, 0xd9, 0x20,
+	0xad, 0xe2, 0xd4, 0x64, 0x24, 0xab, 0x6e, 0x6a, 0xbb, 0x81, 0x65, 0x92, 0x91, 0x99, 0x48, 0x22,
+	0xb1, 0x94, 0x0c, 0x34, 0x97, 0xc5, 0x88, 0x3b, 0x22, 0x27, 0x5a, 0xee, 0x6c, 0x77, 0x86, 0x0c,
+	0x64, 0x43, 0x87, 0xf6, 0x5c, 0xa0, 0x87, 0x02, 0x45, 0x0b, 0x14, 0x45, 0xd1, 0xe6, 0x7b, 0xf4,
+	0xd0, 0x4b, 0xef, 0xf9, 0x0a, 0xfd, 0x18, 0x3d, 0x04, 0x33, 0x3b, 0xbb, 0x5c, 0x4a, 0xab, 0x3f,
+	0x8e, 0xe0, 0x93, 0x38, 0xef, 0xdf, 0xfc, 0xe6, 0xcd, 0xef, 0xbd, 0x37, 0x2b, 0xf8, 0xa8, 0xc7,
+	0x58, 0xcf, 0x23, 0xd5, 0x2e, 0xf3, 0x05, 0xa6, 0x3e, 0x09, 0xab, 0xa3, 0x8d, 0x6a, 0xd7, 0x1b,
+	0x72, 0x41, 0x42, 0x87, 0x93, 0x70, 0x44, 0xbb, 0xa4, 0x12, 0x84, 0x4c, 0x30, 0xb4, 0x1c, 0x99,
+	0x56, 0x12, 0xd3, 0xca, 0x68, 0xa3, 0xfc, 0xae, 0xf6, 0xc7, 0x01, 0xad, 0x62, 0xdf, 0x67, 0x02,
+	0x0b, 0xca, 0x7c, 0x1e, 0xb9, 0x58, 0xff, 0x37, 0x00, 0xf6, 0x99, 0x4b, 0x6a, 0xcc, 0x3f, 0xa6,
+	0x3d, 0xf4, 0x3e, 0x14, 0x06, 0xb8, 0xdb, 0xa7, 0x3e, 0x71, 0xc4, 0x69, 0x40, 0x4c, 0x63, 0xcd,
+	0x58, 0x5f, 0xb0, 0xf3, 0x5a, 0x76, 0x70, 0x1a, 0x10, 0xb4, 0x06, 0x05, 0x97, 0xf2, 0x13, 0x87,
+	0xd3, 0x57, 0xc4, 0xe9, 0x1d, 0x99, 0x53, 0x6b, 0xc6, 0xfa, 0x8c, 0x0d, 0x52, 0xd6, 0xa1, 0xaf,
+	0xc8, 0xce, 0x91, 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, 0xa8, 0x64, 0x80, 0xaf, 0x8c, 0xa1, 0x55, 0xf6, 0xb4, 0x7d,
+	0xc3, 0x17, 0xe1, 0xa9, 0x9d, 0xb8, 0x97, 0x9f, 0x40, 0x71, 0x42, 0x85, 0x4a, 0x30, 0x7d, 0x42,
+	0x4e, 0x35, 0x74, 0xf9, 0x13, 0xad, 0xc0, 0xcc, 0x08, 0x7b, 0x43, 0xa2, 0xb0, 0x2e, 0xd8, 0xd1,
+	0xe2, 0xf1, 0xd4, 0xa7, 0x86, 0xf5, 0x5f, 0x03, 0x60, 0x0f, 0xcb, 0x54, 0x6e, 0x0f, 0x45, 0x1f,
+	0x95, 0x61, 0x7e, 0xc8, 0x49, 0xe8, 0xe3, 0x41, 0x7c, 0xf4, 0x64, 0x2d, 0x75, 0x01, 0xe6, 0xfc,
+	0x1b, 0x16, 0xba, 0x3a, 0x4e, 0xb2, 0x46, 0x5b, 0xb0, 0x1a, 0xdf, 0x48, 0x17, 0x3b, 0x5d, 0x12,
+	0x0a, 0x7a, 0x4c, 0xbb, 0x58, 0x10, 0xd3, 0x55, 0x96, 0x2b, 0x5a, 0x5b, 0xc3, 0xb5, 0xb1, 0x0e,
+	0x3d, 0x00, 0xd4, 0xf5, 0x28, 0xf1, 0xc5, 0x84, 0x07, 0x51, 0x1e, 0x4b, 0x91, 0x26, 0x6d, 0xfe,
+	0x13, 0x00, 0x6d, 0x2e, 0x8f, 0x77, 0xac, 0xcc, 0x16, 0x22, 0xc9, 0x97, 0xe4, 0xd4, 0xfa, 0xce,
+	0x80, 0xc2, 0xb6, 0xeb, 0x32, 0x9f, 0xeb, 0xbb, 0x7c, 0x09, 0xcb, 0x7d, 0x21, 0x02, 0xc7, 0x63,
+	0xd8, 0x75, 0x8e, 0xb0, 0x87, 0xfd, 0x2e, 0xf5, 0x7b, 0xea, 0x5c, 0xf9, 0xcd, 0x9f, 0x66, 0xa6,
+	0xfb, 0x85, 0x10, 0xc1, 0x2e, 0xc3, 0xee, 0xf3, 0xd8, 0xda, 0x5e, 0xea, 0x9f, 0x17, 0xa1, 0x13,
+	0x28, 0xf7, 0x59, 0x48, 0x5f, 0x49, 0x47, 0xcf, 0x09, 0x98, 0xeb, 0xe0, 0xa1, 0x60, 0xbc, 0x8b,
+	0x3d, 0x19, 0x7e, 0x4a, 0x85, 0xcf, 0xbe, 0xcd, 0x17, 0x89, 0x5b, 0x9b, 0xb9, 0xdb, 0x63, 0x27,
+	0xdb, 0xec, 0x5f, 0xa2, 0xb1, 0xaa, 0xb0, 0x74, 0x01, 0x94, 0xbc, 0x0a, 0x97, 0x72, 0x7c, 0xe4,
+	0x11, 0x57, 0x1d, 0x67, 0xde, 0x4e, 0xd6, 0xd6, 0x23, 0x30, 0x2f, 0xdb, 0xe6, 0x4a, 0xbf, 0x3f,
+	0x2e, 0xc0, 0x5c, 0x2d, 0xba, 0x25, 0x84, 0x20, 0x97, 0xa2, 0x80, 0xfa, 0x8d, 0xd6, 0x20, 0xef,
+	0x12, 0xde, 0x0d, 0x69, 0x20, 0xcb, 0x47, 0x33, 0x20, 0x2d, 0x42, 0x3f, 0x07, 0x44, 0x7d, 0x2a,
+	0x28, 0xf6, 0x1c, 0x9f, 0xb9, 0xc4, 0xe9, 0xb2, 0xa1, 0x2f, 0xcc, 0x69, 0x55, 0x1e, 0x25, 0xad,
+	0x89, 0xf8, 0x3c, 0xf4, 0x05, 0x7a, 0x06, 0x79, 0x6d, 0x25, 0x2f, 0xcb, 0xcc, 0xa9, 0xb4, 0xdd,
+	0xbb, 0xa6, 0x08, 0x6c, 0xf0, 0xc7, 0xb5, 0xfa, 0x0c, 0xf2, 0x03, 0x45, 0x5d, 0x99, 0xff, 0xbe,
+	0x39, 0x73, 0x45, 0x84, 0x31, 0xc5, 0x6d, 0x18, 0x8c, 0xe9, 0xfe, 0x33, 0xb8, 0xe3, 0xb1, 0x5e,
+	0x8f, 0xfa, 0xbd, 0xb8, 0x91, 0x98, 0xb3, 0xea, 0x5c, 0x8b, 0x5a, 0xdc, 0x89, 0xa4, 0x92, 0xa9,
+	0x03, 0xe6, 0x53, 0xc1, 0xc2, 0xb4, 0xed, 0x5c, 0xc4, 0xd4, 0xb1, 0x26, 0x36, 0x37, 0x61, 0xce,
+	0x27, 0xe2, 0x1b, 0x16, 0x9e, 0x98, 0xf3, 0xca, 0x26, 0x5e, 0xa2, 0xfb, 0xb0, 0x14, 0x17, 0x0a,
+	0x0d, 0x46, 0x5b, 0x4e, 0x97, 0xba, 0xa1, 0xb9, 0xa0, 0x6c, 0xee, 0x68, 0x45, 0x33, 0x18, 0x6d,
+	0xd5, 0xa8, 0x1b, 0xa2, 0xcf, 0xa1, 0x88, 0x15, 0x9f, 0xe3, 0x1c, 0x81, 0x3a, 0xe1, 0xfb, 0x99,
+	0x27, 0x4c, 0x33, 0xdf, 0x2e, 0xe0, 0x74, 0x1d, 0xbc, 0x07, 0xc0, 0x87, 0x47, 0x31, 0xa0, 0xbc,
+	0xda, 0x2c, 0x25, 0x41, 0x3f, 0x86, 0x05, 0x4e, 0xbc, 0x63, 0xc7, 0xa3, 0xfe, 0x89, 0xae, 0xd7,
+	0x79, 0x29, 0xd8, 0xa5, 0xfe, 0x89, 0xa4, 0xc2, 0x2b, 0xe6, 0xc7, 0x55, 0xa9, 0x7e, 0x4b, 0x1a,
+	0x11, 0xdf, 0x0d, 0x18, 0xf5, 0x85, 0x2e, 0xc3, 0x64, 0x8d, 0x1e, 0xc1, 0x3b, 0x31, 0x09, 0xe2,
+	0x83, 0x8e, 0x48, 0xc8, 0x25, 0x65, 0x7a, 0xca, 0xf4, 0xae, 0x56, 0x6b, 0xae, 0xbd, 0x8c, 0x94,
+	0xaa, 0x83, 0x0c, 0xc3, 0x50, 0x56, 0xb7, 0xbe, 0xd4, 0xd8, 0xad, 0xaf, 0x3b, 0x48, 0xa4, 0x8d,
+	0x6e, 0x32, 0xf6, 0xfa, 0x04, 0x62, 0x79, 0x44, 0xb9, 0xd8, 0x87, 0x2a, 0x1f, 0xa4, 0x75, 0x92,
+	0x3f, 0xb1, 0xc7, 0x3d, 0xc8, 0x77, 0x43, 0x82, 0x05, 0x71, 0x04, 0x1d, 0x10, 0xf3, 0xeb, 0x28,
+	0x1b, 0x91, 0xe8, 0x80, 0x0e, 0x08, 0x7a, 0x02, 0xb3, 0x5c, 0x60, 0x31, 0xe4, 0xe6, 0xc9, 0x9a,
+	0xb1, 0xbe, 0xb8, 0xf9, 0x41, 0x66, 0xba, 0x35, 0xfa, 0x4a, 0x47, 0x99, 0xda, 0xda, 0x05, 0x7d,
+	0x08, 0x8b, 0xd1, 0x2f, 0x67, 0x40, 0x38, 0xc7, 0x3d, 0x62, 0x7a, 0x6a, 0x83, 0x62, 0x24, 0xdd,
+	0x8b, 0x84, 0xe8, 0x01, 0x2c, 0x2b, 0xb8, 0x09, 0x05, 0xd4, 0x30, 0x31, 0x07, 0x51, 0xa9, 0x48,
+	0x55, 0x4c, 0x02, 0x39, 0x51, 0x64, 0x61, 0x69, 0xca, 0xf1, 0x14, 0x6b, 0x7c, 0x15, 0xb9, 0x14,
+	0x6b, 0x12, 0xda, 0x54, 0x60, 0x99, 0xfa, 0x5c, 0x60, 0xbf, 0x4b, 0x9c, 0x5e, 0xc8, 0x86, 0x81,
+	0x33, 0x0c, 0x3d, 0x6e, 0x32, 0x35, 0x84, 0x96, 0x62, 0xd5, 0x8e, 0xd4, 0x1c, 0x86, 0x1e, 0x97,
+	0xd1, 0x27, 0x72, 0x18, 0x95, 0x6d, 0x10, 0x61, 0x49, 0x65, 0x50, 0x95, 0xad, 0x45, 0x61, 0x36,
+	0x3a, 0x33, 0x5a, 0x05, 0xd4, 0x39, 0xd8, 0x3e, 0x38, 0xec, 0x38, 0x87, 0xfb, 0x9d, 0x76, 0xa3,
+	0xd6, 0xfc, 0xbc, 0xd9, 0xa8, 0x97, 0x7e, 0x84, 0x4a, 0x50, 0x68, 0xdb, 0xad, 0x97, 0xcd, 0x4e,
+	0xb3, 0xb5, 0xdf, 0xdc, 0xdf, 0x29, 0x19, 0x28, 0x0f, 0x73, 0xf6, 0xe1, 0xbe, 0x5a, 0x4c, 0xa1,
+	0x3b, 0x90, 0xb7, 0x1b, 0xb5, 0xd6, 0x7e, 0xad, 0xb9, 0x2b, 0x05, 0xd3, 0xa8, 0x00, 0xf3, 0x9d,
+	0x83, 0x56, 0xbb, 0x2d, 0x57, 0x39, 0xb4, 0x00, 0x33, 0x0d, 0xdb, 0x6e, 0xd9, 0xa5, 0x19, 0xeb,
+	0x0f, 0x53, 0x50, 0xd4, 0x79, 0x3e, 0x0c, 0x5c, 0x39, 0x01, 0x3e, 0x81, 0x15, 0x97, 0x70, 0x1a,
+	0x12, 0x77, 0xf2, 0xba, 0x73, 0xd1, 0x75, 0x6b, 0x5d, 0xfa, 0xba, 0x9f, 0x42, 0x39, 0xf6, 0xc8,
+	0x28, 0xe0, 0x19, 0xe5, 0x67, 0x6a, 0x8b, 0xbd, 0x0b, 0x75, 0x7c, 0x08, 0x77, 0x63, 0xef, 0xc9,
+	0x4a, 0x9c, 0xbd, 0x69, 0x25, 0x2e, 0x6b, 0xff, 0x89, 0xc1, 0xb4, 0x05, 0xab, 0x09, 0xa8, 0x49,
+	0xae, 0xeb, 0x69, 0x19, 0x03, 0x4a, 0x73, 0xdd, 0xfa, 0x4f, 0x0e, 0x16, 0x5a, 0x01, 0x09, 0xd5,
+	0xf3, 0x25, 0xb3, 0x45, 0xc7, 0xb5, 0x3a, 0x95, 0xaa, 0xd5, 0x2f, 0x60, 0x91, 0xc5, 0x4e, 0xd1,
+	0x93, 0x66, 0xfa, 0x0a, 0x5a, 0x27, 0xf1, 0x2b, 0xf2, 0xa9, 0x63, 0x17, 0x13, 0x57, 0xf5, 0xf2,
+	0xf9, 0x75, 0x52, 0x1a, 0x39, 0x15, 0xe3, 0xc3, 0x6b, 0x62, 0x9c, 0x2b, 0x8e, 0x55, 0x98, 0x75,
+	0x89, 0xc0, 0xd4, 0xd3, 0x4d, 0x51, 0xaf, 0x32, 0x8a, 0x66, 0x26, 0xab, 0x68, 0x26, 0xda, 0xd4,
+	0xec, 0xb9, 0x36, 0x75, 0x0f, 0xf2, 0x02, 0x87, 0x3d, 0x22, 0x22, 0x75, 0xd4, 0x99, 0x21, 0x12,
+	0x49, 0x03, 0xab, 0x7e, 0x2d, 0x6f, 0xf3, 0x30, 0xd7, 0x6e, 0xec, 0xd7, 0x33, 0x28, 0x3b, 0x0f,
+	0xb9, 0x7a, 0x6b, 0xbf, 0x51, 0x9a, 0xb6, 0xfe, 0x6d, 0x40, 0x4e, 0xa5, 0x62, 0x05, 0x4a, 0x07,
+	0xbf, 0x69, 0x37, 0xce, 0x85, 0x40, 0xb0, 0x58, 0xb3, 0x1b, 0xdb, 0x07, 0x0d, 0xa7, 0xb6, 0x7b,
+	0xd8, 0x39, 0x68, 0xd8, 0x25, 0x43, 0xca, 0xea, 0x8d, 0xdd, 0x46, 0x4a, 0x36, 0x25, 0x65, 0x87,
+	0xed, 0x1d, 0x7b, 0xbb, 0xde, 0x70, 0xf6, 0xb6, 0x95, 0x6c, 0x1a, 0x2d, 0x41, 0x31, 0x96, 0xed,
+	0xb7, 0xea, 0x8d, 0x4e, 0x29, 0x27, 0xcd, 0xec, 0x46, 0x7b, 0xbb, 0x69, 0x27, 0xae, 0x33, 0x91,
+	0x6b, 0x3d, 0xbd, 0xc5, 0xac, 0x04, 0xa3, 0xb7, 0x95, 0x9e, 0x4e, 0xbb, 0xd5, 0xda, 0x2d, 0xcd,
+	0x49, 0xa9, 0xde, 0x78, 0x2c, 0x9d, 0xb7, 0x7e, 0x67, 0xc0, 0x4a, 0x4d, 0x75, 0x3b, 0x5d, 0x5a,
+	0x36, 0xf9, 0xed, 0x90, 0x70, 0x21, 0x5f, 0x57, 0x41, 0xc8, 0xbe, 0x26, 0x5d, 0xe1, 0x50, 0x57,
+	0xd3, 0x6a, 0x41, 0x4b, 0x9a, 0x6e, 0x26, 0xb7, 0x1e, 0xc1, 0x9c, 0xee, 0xf1, 0x8a, 0x54, 0xf9,
+	0xcd, 0x77, 0xaf, 0xea, 0x95, 0x76, 0x6c, 0x6c, 0x11, 0x58, 0xda, 0x21, 0xe2, 0xf6, 0xfb, 0xab,
+	0x07, 0xa1, 0x1e, 0xa6, 0xae, 0x82, 0xa0, 0x1e, 0x84, 0xd1, 0x14, 0x75, 0xad, 0x6f, 0x0d, 0x58,
+	0x89, 0x1a, 0xc7, 0xdb, 0xde, 0x0a, 0x3d, 0x86, 0xd9, 0xa1, 0xda, 0x49, 0xbf, 0x63, 0xac, 0xab,
+	0x12, 0x11, 0x61, 0xb2, 0xb5, 0x87, 0xd5, 0x87, 0x95, 0x3a, 0xf1, 0xc8, 0xdb, 0x47, 0x69, 0xbd,
+	0x80, 0xe5, 0x5d, 0xca, 0xe3, 0xc4, 0xf3, 0x1f, 0xbe, 0x91, 0x35, 0x84, 0x95, 0xc9, 0x48, 0x3c,
+	0x60, 0x3e, 0x27, 0xe8, 0x53, 0x98, 0xd7, 0xdb, 0x71, 0xd3, 0x50, 0x9f, 0x35, 0x57, 0x53, 0x22,
+	0xb1, 0x46, 0x1f, 0x40, 0x71, 0x40, 0x39, 0x97, 0xdd, 0x59, 0xee, 0xc0, 0xcd, 0x29, 0x35, 0xaf,
+	0x0a, 0x5a, 0xf8, 0x95, 0x94, 0x59, 0x27, 0xb0, 0xbc, 0x43, 0x44, 0xd2, 0x60, 0x6e, 0x91, 0x29,
+	0xf9, 0x89, 0x96, 0xb4, 0xc5, 0x24, 0x57, 0xf9, 0x44, 0xd6, 0x74, 0xad, 0x2f, 0xe0, 0xae, 0x3c,
+	0x63, 0xb2, 0xdb, 0x6d, 0xf2, 0x75, 0x06, 0xab, 0xe7, 0x63, 0xe9, 0x8c, 0x7d, 0x06, 0x90, 0x6c,
+	0x1a, 0xe7, 0xec, 0xbd, 0xab, 0xfb, 0xaa, 0x9d, 0xf2, 0xb8, 0x59, 0xde, 0xbe, 0x84, 0xd5, 0x1d,
+	0x22, 0xe4, 0x54, 0x23, 0xa1, 0x1e, 0x4c, 0x3f, 0xfc, 0x2c, 0x23, 0x28, 0xa4, 0x23, 0xc9, 0x17,
+	0x9f, 0x4b, 0x8e, 0xf1, 0xd0, 0x13, 0x17, 0x5e, 0x7c, 0x51, 0xbc, 0xbb, 0x5a, 0x7d, 0xee, 0xc5,
+	0x57, 0x81, 0xe5, 0x11, 0xf6, 0xe8, 0xe4, 0x28, 0x8f, 0x3f, 0x96, 0x97, 0x94, 0x2a, 0x35, 0xc9,
+	0xf9, 0xe6, 0x5f, 0x01, 0x16, 0x75, 0x88, 0x3d, 0xec, 0xe3, 0x1e, 0x09, 0xd1, 0xdf, 0x0c, 0x28,
+	0xa4, 0x79, 0x88, 0xd6, 0x33, 0x33, 0x97, 0x41, 0xfa, 0xf2, 0x47, 0x37, 0xb0, 0x8c, 0xae, 0xc8,
+	0xfa, 0xe5, 0xef, 0xbf, 0xfb, 0xdf, 0x9f, 0xa6, 0x36, 0x50, 0xb5, 0x3a, 0xda, 0xa8, 0xea, 0xdc,
+	0xf0, 0xea, 0xeb, 0x71, 0xde, 0xce, 0xaa, 0x2a, 0xf5, 0xd5, 0xd7, 0xf2, 0xcf, 0x59, 0x35, 0xe1,
+	0xf4, 0x5f, 0x0c, 0x80, 0x71, 0xa3, 0x43, 0xd9, 0x9f, 0x9c, 0x17, 0x3a, 0x61, 0xf9, 0xca, 0x92,
+	0xb1, 0xea, 0x0a, 0xcd, 0x67, 0xe8, 0xe9, 0x1b, 0xa2, 0xa9, 0xbe, 0x1e, 0xb7, 0x86, 0x33, 0xf4,
+	0x67, 0x03, 0x8a, 0x13, 0x63, 0x00, 0x65, 0x27, 0x24, 0x6b, 0x54, 0x94, 0xaf, 0xe1, 0xa7, 0xf5,
+	0x58, 0x41, 0xdc, 0xb2, 0xde, 0x34, 0x61, 0x8f, 0x8d, 0xfb, 0xe8, 0x5f, 0x06, 0x14, 0x27, 0x9a,
+	0xf6, 0x25, 0xc0, 0xb2, 0x1a, 0xfb, 0xb5, 0xc0, 0x76, 0x14, 0xb0, 0xed, 0xf2, 0xad, 0x72, 0x27,
+	0x51, 0xfe, 0xc3, 0x80, 0xe2, 0x44, 0xd3, 0xbe, 0x04, 0x65, 0x56, 0x63, 0xbf, 0x16, 0xa5, 0xbe,
+	0xe1, 0xfb, 0xb7, 0xbb, 0xe1, 0x6f, 0x0d, 0x58, 0x9c, 0xec, 0x39, 0xe8, 0xfe, 0xa5, 0x9c, 0xbf,
+	0xd0, 0xe4, 0xca, 0x1f, 0xdf, 0xc8, 0x56, 0x57, 0xc8, 0xaf, 0x14, 0xe2, 0x87, 0x68, 0xe3, 0x86,
+	0x88, 0x53, 0xfd, 0xeb, 0x9f, 0x06, 0x14, 0xd2, 0x3d, 0xfd, 0x92, 0x12, 0xce, 0x68, 0xfb, 0xd7,
+	0xe6, 0xf1, 0x85, 0x42, 0xf5, 0x1c, 0x3d, 0x7b, 0x63, 0x54, 0xd5, 0xd7, 0xe9, 0xe1, 0x70, 0x86,
+	0xfe, 0x6e, 0xc0, 0x9d, 0x73, 0x0d, 0x14, 0x7d, 0x7c, 0x19, 0xce, 0x8c, 0x36, 0x5b, 0xce, 0xfe,
+	0x52, 0x48, 0x5b, 0x5a, 0x4f, 0x14, 0xda, 0x5f, 0xa0, 0x87, 0x37, 0x44, 0xcb, 0x95, 0x73, 0xf4,
+	0x3d, 0xf2, 0xdc, 0x87, 0x77, 0xba, 0x6c, 0x90, 0xb5, 0xc9, 0xf3, 0x65, 0xcd, 0x3e, 0xfd, 0x4d,
+	0xd3, 0x0e, 0x99, 0x60, 0x6d, 0xe3, 0xab, 0xa7, 0xda, 0xb6, 0xc7, 0x3c, 0xec, 0xf7, 0x2a, 0x2c,
+	0xec, 0x55, 0x7b, 0xc4, 0x57, 0xff, 0x13, 0xad, 0x46, 0x2a, 0x1c, 0x50, 0x3e, 0xf1, 0x4f, 0xd7,
+	0x27, 0xc9, 0xe2, 0x68, 0x56, 0x19, 0x3e, 0xfc, 0x3e, 0x00, 0x00, 0xff, 0xff, 0x31, 0x9e, 0x30,
+	0x44, 0x9c, 0x15, 0x00, 0x00,
 }
diff --git a/googleapis/container/v1/cluster_service.proto b/googleapis/container/v1/cluster_service.proto
deleted file mode 100644
index ff9eaa38..00000000
--- a/googleapis/container/v1/cluster_service.proto
+++ /dev/null
@@ -1,593 +0,0 @@
-// Copyright (c) 2015, 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.container.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 = "ClusterServiceProto";
-option java_package = "com.google.container.v1";
-
-
-// Google Container Engine Cluster Manager v1
-service ClusterManager {
-  // Lists all clusters owned by a project in either the specified zone or all zones.
-  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/clusters" };
-  }
-
-  // Gets the details of a specific cluster.
-  rpc GetCluster(GetClusterRequest) returns (Cluster) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" };
-  }
-
-  // Creates a cluster, consisting of the specified number and type of Google
-  // Compute Engine instances.
-  //
-  // By default, the cluster is created in the project's
-  // [default network](/compute/docs/networks-and-firewalls#networks).
-  //
-  // One firewall is added for the cluster. After cluster creation,
-  // the cluster creates routes for each node to allow the containers
-  // on that node to communicate with all other instances in the
-  // cluster.
-  //
-  // Finally, an entry is added to the project's global metadata indicating
-  // which CIDR range is being used by the cluster.
-  rpc CreateCluster(CreateClusterRequest) returns (Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/zones/{zone}/clusters" body: "*" };
-  }
-
-  // Updates the settings of a specific cluster.
-  rpc UpdateCluster(UpdateClusterRequest) returns (Operation) {
-    option (google.api.http) = { put: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" body: "*" };
-  }
-
-  // Deletes the cluster, including the Kubernetes endpoint and all worker
-  // nodes.
-  //
-  // Firewalls and routes that were configured during cluster creation
-  // are also deleted.
-  //
-  // Other Google Compute Engine resources that might be in use by the cluster
-  // (e.g. load balancer resources) will not be deleted if they weren't present
-  // at the initial create time.
-  rpc DeleteCluster(DeleteClusterRequest) returns (Operation) {
-    option (google.api.http) = { delete: "/v1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}" };
-  }
-
-  // Lists all operations in a project in a specific zone or all zones.
-  rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/operations" };
-  }
-
-  // Gets the specified operation.
-  rpc GetOperation(GetOperationRequest) returns (Operation) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/operations/{operation_id}" };
-  }
-
-  // Returns configuration info about the Container Engine service.
-  rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/zones/{zone}/serverconfig" };
-  }
-}
-
-// Parameters that describe the nodes in a cluster.
-message NodeConfig {
-  // The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g.
-  // `n1-standard-1`).
-  //
-  // If unspecified, the default machine type is
-  // `n1-standard-1`.
-  string machine_type = 1;
-
-  // Size of the disk attached to each node, specified in GB.
-  // The smallest allowed disk size is 10GB.
-  //
-  // If unspecified, the default disk size is 100GB.
-  int32 disk_size_gb = 2;
-
-  // The set of Google API scopes to be made available on all of the
-  // node VMs under the "default" service account.
-  //
-  // The following scopes are recommended, but not required, and by default are
-  // not included:
-  //
-  // * `https://www.googleapis.com/auth/compute` is required for mounting
-  // persistent storage on your nodes.
-  // * `https://www.googleapis.com/auth/devstorage.read_only` is required for
-  // communicating with **gcr.io**
-  // (the [Google Container Registry](/container-registry/)).
-  //
-  // If unspecified, no scopes are added, unless Cloud Logging or Cloud
-  // Monitoring are enabled, in which case their required scopes will be added.
-  repeated string oauth_scopes = 3;
-
-  // The metadata key/value pairs assigned to instances in the cluster.
-  //
-  // Keys must conform to the regexp [a-zA-Z0-9-_]+ and be less than 128 bytes
-  // in length. These are reflected as part of a URL in the metadata server.
-  // Additionally, to avoid ambiguity, keys must not conflict with any other
-  // metadata keys for the project or be one of the four reserved keys:
-  // "instance-template", "kube-env", "startup-script", and "user-data"
-  //
-  // Values are free-form strings, and only have meaning as interpreted by
-  // the image running in the instance. The only restriction placed on them is
-  // that each value's size must be less than or equal to 32 KB.
-  //
-  // The total size of all keys and values must be less than 512 KB.
-  map<string, string> metadata = 4;
-}
-
-// The authentication information for accessing the master endpoint.
-// Authentication can be done using HTTP basic auth or using client
-// certificates.
-message MasterAuth {
-  // The username to use for HTTP basic authentication to the master endpoint.
-  string username = 1;
-
-  // The password to use for HTTP basic authentication to the master endpoint.
-  // Because the master endpoint is open to the Internet, you should create a
-  // strong password.
-  string password = 2;
-
-  // [Output only] Base64-encoded public certificate that is the root of
-  // trust for the cluster.
-  string cluster_ca_certificate = 100;
-
-  // [Output only] Base64-encoded public certificate used by clients to
-  // authenticate to the cluster endpoint.
-  string client_certificate = 101;
-
-  // [Output only] Base64-encoded private key used by clients to authenticate
-  // to the cluster endpoint.
-  string client_key = 102;
-}
-
-// Configuration for the addons that can be automatically spun up in the
-// cluster, enabling additional functionality.
-message AddonsConfig {
-  // Configuration for the HTTP (L7) load balancing controller addon, which
-  // makes it easy to set up HTTP load balancers for services in a cluster.
-  HttpLoadBalancing http_load_balancing = 1;
-
-  // Configuration for the horizontal pod autoscaling feature, which
-  // increases or decreases the number of replica pods a replication controller
-  // has based on the resource usage of the existing pods.
-  HorizontalPodAutoscaling horizontal_pod_autoscaling = 2;
-}
-
-// Configuration options for the HTTP (L7) load balancing controller addon,
-// which makes it easy to set up HTTP load balancers for services in a cluster.
-message HttpLoadBalancing {
-  // Whether the HTTP Load Balancing controller is enabled in the cluster.
-  // When enabled, it runs a small pod in the cluster that manages the load
-  // balancers.
-  bool disabled = 1;
-}
-
-// Configuration options for the horizontal pod autoscaling feature, which
-// increases or decreases the number of replica pods a replication controller
-// has based on the resource usage of the existing pods.
-message HorizontalPodAutoscaling {
-  // Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
-  // When enabled, it ensures that a Heapster pod is running in the cluster,
-  // which is also used by the Cloud Monitoring service.
-  bool disabled = 1;
-}
-
-// A Google Container Engine cluster.
-message Cluster {
-  // The current status of the cluster.
-  enum Status {
-    // Not set.
-    STATUS_UNSPECIFIED = 0;
-
-    // The PROVISIONING state indicates the cluster is being created.
-    PROVISIONING = 1;
-
-    // The RUNNING state indicates the cluster has been created and is fully usable.
-    RUNNING = 2;
-
-    // The RECONCILING state indicates that some work is actively being done on
-    // the cluster, such as upgrading the master or node software. Details can
-    // be found in the `statusMessage` field.
-    RECONCILING = 3;
-
-    // The STOPPING state indicates the cluster is being deleted.
-    STOPPING = 4;
-
-    // The ERROR state indicates the cluster may be unusable. Details
-    // can be found in the `statusMessage` field.
-    ERROR = 5;
-  }
-
-  // The name of this cluster. The name must be unique within this project
-  // and zone, and can be up to 40 characters with the following restrictions:
-  //
-  // * Lowercase letters, numbers, and hyphens only.
-  // * Must start with a letter.
-  // * Must end with a number or a letter.
-  string name = 1;
-
-  // An optional description of this cluster.
-  string description = 2;
-
-  // The number of nodes to create in this cluster. You must ensure that your
-  // Compute Engine <a href="/compute/docs/resource-quotas">resource quota</a>
-  // is sufficient for this number of instances. You must also have available
-  // firewall and routes quota.
-  // For requests, this field should only be used in lieu of a
-  // "node_pool" object, since this configuration (along with the
-  // "node_config") will be used to create a "NodePool" object with an
-  // auto-generated name. Do not use this and a node_pool at the same time.
-  int32 initial_node_count = 3;
-
-  // Parameters used in creating the cluster's nodes.
-  // See `nodeConfig` for the description of its properties.
-  // For requests, this field should only be used in lieu of a
-  // "node_pool" object, since this configuration (along with the
-  // "initial_node_count") will be used to create a "NodePool" object with an
-  // auto-generated name. Do not use this and a node_pool at the same time.
-  // For responses, this field will be populated with the node configuration of
-  // the first node pool.
-  //
-  // If unspecified, the defaults are used.
-  NodeConfig node_config = 4;
-
-  // The authentication information for accessing the master endpoint.
-  MasterAuth master_auth = 5;
-
-  // The logging service the cluster should use to write logs.
-  // Currently available options:
-  //
-  // * `logging.googleapis.com` - the Google Cloud Logging service.
-  // * `none` - no logs will be exported from the cluster.
-  // * if left as an empty string,`logging.googleapis.com` will be used.
-  string logging_service = 6;
-
-  // The monitoring service the cluster should use to write metrics.
-  // Currently available options:
-  //
-  // * `monitoring.googleapis.com` - the Google Cloud Monitoring service.
-  // * `none` - no metrics will be exported from the cluster.
-  // * if left as an empty string, `monitoring.googleapis.com` will be used.
-  string monitoring_service = 7;
-
-  // The name of the Google Compute Engine
-  // [network](/compute/docs/networks-and-firewalls#networks) to which the
-  // cluster is connected. If left unspecified, the `default` network
-  // will be used.
-  string network = 8;
-
-  // The IP address range of the container pods in this cluster, in
-  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-  // notation (e.g. `10.96.0.0/14`). Leave blank to have
-  // one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
-  string cluster_ipv4_cidr = 9;
-
-  // Configurations for the various addons available to run in the cluster.
-  AddonsConfig addons_config = 10;
-
-  // The name of the Google Compute Engine
-  // [subnetwork](/compute/docs/subnetworks) to which the
-  // cluster is connected.  Specification of subnetworks is an alpha feature,
-  // and require that the Google Compute Engine alpha API be enabled.
-  string subnetwork = 11;
-
-  // [Output only] Server-defined URL for the resource.
-  string self_link = 100;
-
-  // [Output only] The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 101;
-
-  // [Output only] The IP address of this cluster's master endpoint.
-  // The endpoint can be accessed from the internet at
-  // `https://username:password@endpoint/`.
-  //
-  // See the `masterAuth` property of this resource for username and
-  // password information.
-  string endpoint = 102;
-
-  // [Output only] The software version of the master endpoint and kubelets used
-  // in the cluster when it was first created. The version can be upgraded over
-  // time.
-  //
-  string initial_cluster_version = 103;
-
-  // [Output only] The current software version of the master endpoint.
-  string current_master_version = 104;
-
-  // [Output only] The current version of the node software components.
-  // If they are currently at multiple versions because they're in the process
-  // of being upgraded, this reflects the minimum version of all nodes.
-  string current_node_version = 105;
-
-  // [Output only] The time the cluster was created, in
-  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
-  string create_time = 106;
-
-  // [Output only] The current status of this cluster.
-  Status status = 107;
-
-  // [Output only] Additional information about the current status of this
-  // cluster, if available.
-  string status_message = 108;
-
-  // [Output only] The size of the address space on each node for hosting
-  // containers. This is provisioned from within the `container_ipv4_cidr` range.
-  int32 node_ipv4_cidr_size = 109;
-
-  // [Output only] The IP address range of the Kubernetes services in
-  // this cluster, in
-  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
-  // notation (e.g. `1.2.3.4/29`). Service addresses are
-  // typically put in the last `/16` from the container CIDR.
-  string services_ipv4_cidr = 110;
-
-  // [Output only] The resource URLs of [instance
-  // groups](/compute/docs/instance-groups/) associated with this
-  // cluster.
-  repeated string instance_group_urls = 111;
-
-  // [Output only] The number of nodes currently in the cluster.
-  int32 current_node_count = 112;
-}
-
-// ClusterUpdate describes an update to the cluster. Exactly one update can
-// be applied to a cluster with each request, so at most one field can be
-// provided.
-message ClusterUpdate {
-  // The Kubernetes version to change the nodes to (typically an
-  // upgrade). Use `-` to upgrade to the latest version supported by
-  // the server.
-  string desired_node_version = 4;
-
-  // The monitoring service the cluster should use to write metrics.
-  // Currently available options:
-  //
-  // * "monitoring.googleapis.com" - the Google Cloud Monitoring service
-  // * "none" - no metrics will be exported from the cluster
-  string desired_monitoring_service = 5;
-
-  // Configurations for the various addons available to run in the cluster.
-  AddonsConfig desired_addons_config = 6;
-
-  // The Kubernetes version to change the master to. The only valid value is the
-  // latest supported version. Use "-" to have the server automatically select
-  // the latest version.
-  string desired_master_version = 100;
-}
-
-// This operation resource represents operations that may have happened or are
-// happening on the cluster. All fields are output only.
-message Operation {
-  // Current status of the operation.
-  enum Status {
-    // Not set.
-    STATUS_UNSPECIFIED = 0;
-
-    // The operation has been created.
-    PENDING = 1;
-
-    // The operation is currently running.
-    RUNNING = 2;
-
-    // The operation is done, either cancelled or completed.
-    DONE = 3;
-  }
-
-  // Operation type.
-  enum Type {
-    // Not set.
-    TYPE_UNSPECIFIED = 0;
-
-    // Cluster create.
-    CREATE_CLUSTER = 1;
-
-    // Cluster delete.
-    DELETE_CLUSTER = 2;
-
-    // A master upgrade.
-    UPGRADE_MASTER = 3;
-
-    // A node upgrade.
-    UPGRADE_NODES = 4;
-
-    // Cluster repair.
-    REPAIR_CLUSTER = 5;
-
-    // Cluster update.
-    UPDATE_CLUSTER = 6;
-
-    // Node pool create.
-    CREATE_NODE_POOL = 7;
-
-    // Node pool delete.
-    DELETE_NODE_POOL = 8;
-  }
-
-  // The server-assigned ID for the operation.
-  string name = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the operation
-  // is taking place.
-  string zone = 2;
-
-  // The operation type.
-  Type operation_type = 3;
-
-  // The current status of the operation.
-  Status status = 4;
-
-  // Detailed operation progress, if available.
-  string detail = 8;
-
-  // If an error has occurred, a textual description of the error.
-  string status_message = 5;
-
-  // Server-defined URL for the resource.
-  string self_link = 6;
-
-  // Server-defined URL for the target of the operation.
-  string target_link = 7;
-}
-
-// CreateClusterRequest creates a cluster.
-message CreateClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // A [cluster resource](/container-engine/reference/rest/v1/projects.zones.clusters)
-  Cluster cluster = 3;
-}
-
-// GetClusterRequest gets the settings of a cluster.
-message GetClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to retrieve.
-  string cluster_id = 3;
-}
-
-// UpdateClusterRequest updates the settings of a cluster.
-message UpdateClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to upgrade.
-  string cluster_id = 3;
-
-  // A description of the update.
-  ClusterUpdate update = 4;
-}
-
-// DeleteClusterRequest deletes a cluster.
-message DeleteClusterRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The name of the cluster to delete.
-  string cluster_id = 3;
-}
-
-// ListClustersRequest lists clusters.
-message ListClustersRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides, or "-" for all zones.
-  string zone = 2;
-}
-
-// ListClustersResponse is the result of ListClustersRequest.
-message ListClustersResponse {
-  // A list of clusters in the project in the specified zone, or
-  // across all ones.
-  repeated Cluster clusters = 1;
-
-  // If any zones are listed here, the list of clusters returned
-  // may be missing those zones.
-  repeated string missing_zones = 2;
-}
-
-// GetOperationRequest gets a single operation.
-message GetOperationRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine
-  // [zone](/compute/docs/zones#available) in which the cluster
-  // resides.
-  string zone = 2;
-
-  // The server-assigned `name` of the operation.
-  string operation_id = 3;
-}
-
-// ListOperationsRequest lists operations.
-message ListOperationsRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-  // to return operations for, or `-` for all zones.
-  string zone = 2;
-}
-
-// ListOperationsResponse is the result of ListOperationsRequest.
-message ListOperationsResponse {
-  // A list of operations in the project in the specified zone.
-  repeated Operation operations = 1;
-
-  // If any zones are listed here, the list of operations returned
-  // may be missing the operations from those zones.
-  repeated string missing_zones = 2;
-}
-
-// Gets the current Container Engine service configuration.
-message GetServerConfigRequest {
-  // The Google Developers Console [project ID or project
-  // number](https://support.google.com/cloud/answer/6158840).
-  string project_id = 1;
-
-  // The name of the Google Compute Engine [zone](/compute/docs/zones#available)
-  // to return operations for.
-  string zone = 2;
-}
-
-// Container Engine service configuration.
-message ServerConfig {
-  // Version of Kubernetes the service deploys by default.
-  string default_cluster_version = 1;
-
-  // List of valid node upgrade target versions.
-  repeated string valid_node_versions = 3;
-}
diff --git a/googleapis/datastore/v1/datastore.pb.go b/googleapis/datastore/v1/datastore.pb.go
index 94ba4922..9a9adc6d 100644
--- a/googleapis/datastore/v1/datastore.pb.go
+++ b/googleapis/datastore/v1/datastore.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/datastore.proto
+// source: google/datastore/v1/datastore.proto
 // DO NOT EDIT!
 
 /*
-Package google_datastore_v1 is a generated protocol buffer package.
+Package datastore is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/datastore/v1/datastore.proto
-	google.golang.org/genproto/googleapis/datastore/v1/entity.proto
-	google.golang.org/genproto/googleapis/datastore/v1/query.proto
+	google/datastore/v1/datastore.proto
+	google/datastore/v1/entity.proto
+	google/datastore/v1/query.proto
 
 It has these top-level messages:
 	LookupRequest
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GqlQueryParameter
 	QueryResultBatch
 */
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -141,6 +141,13 @@ func (m *LookupRequest) String() string            { return proto.CompactTextStr
 func (*LookupRequest) ProtoMessage()               {}
 func (*LookupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LookupRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *LookupRequest) GetReadOptions() *ReadOptions {
 	if m != nil {
 		return m.ReadOptions
@@ -242,6 +249,13 @@ func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
 	return nil
 }
 
+func (m *RunQueryRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunQueryRequest) GetPartitionId() *PartitionId {
 	if m != nil {
 		return m.PartitionId
@@ -382,6 +396,13 @@ func (m *BeginTransactionRequest) String() string            { return proto.Comp
 func (*BeginTransactionRequest) ProtoMessage()               {}
 func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BeginTransactionRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // The response for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
 type BeginTransactionResponse struct {
 	// The transaction identifier (always present).
@@ -393,6 +414,13 @@ func (m *BeginTransactionResponse) String() string            { return proto.Com
 func (*BeginTransactionResponse) ProtoMessage()               {}
 func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *BeginTransactionResponse) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
 type RollbackRequest struct {
 	// The ID of the project against which to make the request.
@@ -407,6 +435,20 @@ func (m *RollbackRequest) String() string            { return proto.CompactTextS
 func (*RollbackRequest) ProtoMessage()               {}
 func (*RollbackRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *RollbackRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RollbackRequest) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The response for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
 // (an empty message).
 type RollbackResponse struct {
@@ -466,6 +508,20 @@ func (m *CommitRequest) GetTransactionSelector() isCommitRequest_TransactionSele
 	return nil
 }
 
+func (m *CommitRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CommitRequest) GetMode() CommitRequest_Mode {
+	if m != nil {
+		return m.Mode
+	}
+	return CommitRequest_MODE_UNSPECIFIED
+}
+
 func (m *CommitRequest) GetTransaction() []byte {
 	if x, ok := m.GetTransactionSelector().(*CommitRequest_Transaction); ok {
 		return x.Transaction
@@ -553,6 +609,13 @@ func (m *CommitResponse) GetMutationResults() []*MutationResult {
 	return nil
 }
 
+func (m *CommitResponse) GetIndexUpdates() int32 {
+	if m != nil {
+		return m.IndexUpdates
+	}
+	return 0
+}
+
 // The request for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
 type AllocateIdsRequest struct {
 	// The ID of the project against which to make the request.
@@ -567,6 +630,13 @@ func (m *AllocateIdsRequest) String() string            { return proto.CompactTe
 func (*AllocateIdsRequest) ProtoMessage()               {}
 func (*AllocateIdsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *AllocateIdsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *AllocateIdsRequest) GetKeys() []*Key {
 	if m != nil {
 		return m.Keys
@@ -867,6 +937,20 @@ func (m *MutationResult) GetKey() *Key {
 	return nil
 }
 
+func (m *MutationResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *MutationResult) GetConflictDetected() bool {
+	if m != nil {
+		return m.ConflictDetected
+	}
+	return false
+}
+
 // The options shared by read requests.
 type ReadOptions struct {
 	// If not specified, lookups and ancestor queries default to
@@ -1254,88 +1338,87 @@ var _Datastore_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/datastore/v1/datastore.proto",
+	Metadata: "google/datastore/v1/datastore.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/datastore.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/datastore/v1/datastore.proto", fileDescriptor0) }
 
 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,
+	// 1205 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x41, 0x6f, 0xe3, 0x44,
+	0x14, 0xae, 0x93, 0x36, 0x9b, 0xbc, 0xa4, 0x69, 0x3a, 0xbb, 0xb0, 0x26, 0xbb, 0x15, 0xc1, 0xa5,
+	0xda, 0xa8, 0xbb, 0x9b, 0xb4, 0x81, 0x15, 0xa8, 0xed, 0xa5, 0x49, 0xb3, 0x6d, 0xc4, 0x36, 0x29,
+	0xd3, 0xb4, 0x12, 0x48, 0xc8, 0x72, 0xed, 0x69, 0x30, 0x75, 0x3c, 0xae, 0x3d, 0xa9, 0x88, 0x10,
+	0x2b, 0x01, 0x5a, 0x7e, 0x00, 0xfc, 0x02, 0x2e, 0x1c, 0x10, 0x47, 0x4e, 0x88, 0x7f, 0xc1, 0x91,
+	0x2b, 0xff, 0x80, 0x3f, 0x80, 0x3c, 0x1e, 0x37, 0x75, 0xd6, 0x69, 0x82, 0xc4, 0x2d, 0xf3, 0xf2,
+	0x7d, 0x6f, 0xbe, 0xf7, 0xde, 0xcc, 0x7b, 0x63, 0x58, 0xed, 0x51, 0xda, 0xb3, 0x48, 0xd5, 0xd0,
+	0x98, 0xe6, 0x31, 0xea, 0x92, 0xea, 0xd5, 0xe6, 0x68, 0x51, 0x71, 0x5c, 0xca, 0x28, 0xba, 0x1b,
+	0x80, 0x2a, 0x23, 0xfb, 0xd5, 0x66, 0xf1, 0xa1, 0x60, 0x6a, 0x8e, 0x59, 0xd5, 0x6c, 0x9b, 0x32,
+	0x8d, 0x99, 0xd4, 0xf6, 0x02, 0x4a, 0xb1, 0x14, 0xe7, 0x97, 0xd8, 0xcc, 0x64, 0x43, 0x81, 0x78,
+	0x3b, 0x0e, 0x71, 0x39, 0x20, 0xae, 0x00, 0x28, 0x3f, 0x49, 0xb0, 0xf8, 0x82, 0xd2, 0x8b, 0x81,
+	0x83, 0xc9, 0xe5, 0x80, 0x78, 0x0c, 0xad, 0x00, 0x38, 0x2e, 0xfd, 0x82, 0xe8, 0x4c, 0x35, 0x0d,
+	0x39, 0x5d, 0x92, 0xca, 0x19, 0x9c, 0x11, 0x96, 0x96, 0x81, 0x1a, 0x90, 0x73, 0x89, 0x66, 0xa8,
+	0xd4, 0xe1, 0x4a, 0x64, 0xa9, 0x24, 0x95, 0xb3, 0xb5, 0x52, 0x25, 0x46, 0x7d, 0x05, 0x13, 0xcd,
+	0xe8, 0x04, 0x38, 0x9c, 0x75, 0x47, 0x0b, 0xf4, 0x04, 0xe6, 0x2f, 0xc8, 0xd0, 0x93, 0x93, 0xa5,
+	0x64, 0x39, 0x5b, 0x93, 0x63, 0xc9, 0x1f, 0x91, 0x21, 0xe6, 0x28, 0xe5, 0x0f, 0x09, 0xf2, 0xa1,
+	0x46, 0xcf, 0xa1, 0xb6, 0x47, 0xd0, 0x07, 0xb0, 0x70, 0x4e, 0x07, 0xb6, 0x21, 0x4b, 0xdc, 0xc3,
+	0x3b, 0xb1, 0x1e, 0x9a, 0x3c, 0x13, 0x98, 0x78, 0x03, 0x8b, 0xe1, 0x00, 0x8f, 0xb6, 0xe1, 0x4e,
+	0xdf, 0xf4, 0x3c, 0xd3, 0xee, 0xc9, 0x89, 0x59, 0xa9, 0x21, 0x03, 0xbd, 0x0f, 0x69, 0x83, 0x9c,
+	0x13, 0xd7, 0x25, 0xc6, 0x54, 0xe9, 0xd7, 0x48, 0xe5, 0xf7, 0x04, 0x2c, 0xe1, 0x81, 0xfd, 0xb1,
+	0x9f, 0xf5, 0xd9, 0x93, 0xec, 0x68, 0x2e, 0x33, 0xfd, 0x6c, 0xf9, 0x80, 0xc4, 0x2d, 0x49, 0x3e,
+	0x0a, 0x81, 0x2d, 0x03, 0x67, 0x9d, 0xd1, 0xe2, 0xff, 0xa9, 0x54, 0x0d, 0x16, 0xf8, 0x71, 0x91,
+	0x93, 0x9c, 0x5d, 0x8c, 0x65, 0xf3, 0xd0, 0x0e, 0xe6, 0x70, 0x00, 0x45, 0x3b, 0x90, 0xe9, 0x5d,
+	0x5a, 0x6a, 0xc0, 0xbb, 0xc3, 0x79, 0x2b, 0xb1, 0xbc, 0xfd, 0x4b, 0x2b, 0xa4, 0xa6, 0x7b, 0xe2,
+	0x77, 0x3d, 0x07, 0xc0, 0x99, 0x2a, 0x1b, 0x3a, 0x44, 0xf9, 0x46, 0x82, 0xc2, 0x28, 0x79, 0xa2,
+	0xfa, 0xdb, 0xb0, 0x70, 0xa6, 0x31, 0xfd, 0x73, 0x11, 0xd2, 0xda, 0x64, 0x51, 0x41, 0x05, 0xeb,
+	0x3e, 0x18, 0x07, 0x1c, 0xb4, 0x11, 0x46, 0x94, 0x98, 0x16, 0x91, 0x88, 0x47, 0xf9, 0x10, 0xee,
+	0xd7, 0x49, 0xcf, 0xb4, 0xbb, 0xae, 0x66, 0x7b, 0x9a, 0xee, 0x27, 0x66, 0xb6, 0x3a, 0x2a, 0x3b,
+	0x20, 0xbf, 0xce, 0x14, 0x41, 0x94, 0x20, 0xcb, 0x46, 0x66, 0x1e, 0x4a, 0x0e, 0xdf, 0x34, 0x29,
+	0x18, 0x96, 0x30, 0xb5, 0xac, 0x33, 0x4d, 0xbf, 0x98, 0xf1, 0xdc, 0x4c, 0xf7, 0x89, 0xa0, 0x30,
+	0xf2, 0x19, 0x28, 0x51, 0x7e, 0x4d, 0xc0, 0x62, 0x83, 0xf6, 0xfb, 0x26, 0x9b, 0x71, 0x9b, 0x6d,
+	0x98, 0xef, 0x53, 0x83, 0xc8, 0x0b, 0x25, 0xa9, 0x9c, 0xaf, 0x3d, 0x8a, 0xcd, 0x60, 0xc4, 0x61,
+	0xe5, 0x90, 0x1a, 0x04, 0x73, 0x12, 0x52, 0x62, 0x34, 0x1e, 0xcc, 0x45, 0x54, 0xa2, 0x6d, 0xc8,
+	0xf4, 0x07, 0xa2, 0xd7, 0xc9, 0x29, 0x7e, 0xd3, 0xe2, 0x4f, 0xd0, 0xa1, 0x40, 0xe1, 0x11, 0x5e,
+	0x79, 0x0e, 0xf3, 0xfe, 0x76, 0xe8, 0x1e, 0x14, 0x0e, 0x3b, 0x7b, 0x4d, 0xf5, 0xa4, 0x7d, 0x7c,
+	0xd4, 0x6c, 0xb4, 0x9e, 0xb7, 0x9a, 0x7b, 0x85, 0x39, 0xb4, 0x0c, 0x8b, 0x5d, 0xbc, 0xdb, 0x3e,
+	0xde, 0x6d, 0x74, 0x5b, 0x9d, 0xf6, 0xee, 0x8b, 0x82, 0x84, 0xde, 0x80, 0xe5, 0x76, 0xa7, 0xad,
+	0x46, 0xcd, 0x89, 0xfa, 0x9b, 0x70, 0xef, 0x86, 0x26, 0xd5, 0x23, 0x16, 0xd1, 0x19, 0x75, 0x95,
+	0x57, 0x12, 0xe4, 0xc3, 0xe8, 0x44, 0x2d, 0xdb, 0x50, 0x08, 0xf7, 0x57, 0x5d, 0x7e, 0xe4, 0xc2,
+	0xde, 0xb6, 0x7a, 0xbb, 0xec, 0xa0, 0xc1, 0x2c, 0xf5, 0x23, 0x6b, 0x0f, 0xad, 0xc2, 0xa2, 0x69,
+	0x1b, 0xe4, 0x4b, 0x75, 0xe0, 0x18, 0x1a, 0x23, 0x9e, 0x3c, 0x5f, 0x92, 0xca, 0x0b, 0x38, 0xc7,
+	0x8d, 0x27, 0x81, 0x4d, 0xd1, 0x00, 0xed, 0x5a, 0x16, 0xd5, 0x35, 0x46, 0x5a, 0x86, 0x37, 0x63,
+	0xe9, 0xc2, 0xce, 0x2b, 0xcd, 0xd4, 0x79, 0x1b, 0x70, 0x37, 0xb2, 0x85, 0x08, 0xf7, 0xbf, 0x39,
+	0xf9, 0x2d, 0x01, 0xe9, 0x30, 0x60, 0xf4, 0x0c, 0x52, 0xa6, 0xed, 0x11, 0x97, 0xf1, 0x90, 0xb2,
+	0xb5, 0x07, 0xb7, 0xb4, 0xdf, 0x83, 0x39, 0x2c, 0xc0, 0x3e, 0x2d, 0x48, 0x05, 0x3f, 0x73, 0xd3,
+	0x69, 0x01, 0x38, 0xa0, 0xf1, 0xdd, 0x52, 0x33, 0xd2, 0xf8, 0x6e, 0x35, 0x48, 0x19, 0xc4, 0x22,
+	0x8c, 0x88, 0xee, 0x35, 0x31, 0x42, 0x9f, 0x13, 0x20, 0xd1, 0x2a, 0xe4, 0xce, 0x34, 0x8f, 0xa8,
+	0x57, 0xc4, 0xf5, 0xfc, 0x73, 0xed, 0x67, 0x3e, 0x79, 0x20, 0xe1, 0xac, 0x6f, 0x3d, 0x0d, 0x8c,
+	0xf5, 0x2c, 0x64, 0xa8, 0x43, 0x5c, 0x9e, 0x8a, 0xfa, 0x0a, 0x3c, 0xd0, 0xa9, 0x7d, 0x6e, 0x99,
+	0x3a, 0x53, 0x0d, 0xc2, 0x88, 0x38, 0x66, 0xcc, 0xd5, 0x18, 0xe9, 0x0d, 0x95, 0xef, 0x24, 0xc8,
+	0x47, 0xcf, 0x09, 0x5a, 0x87, 0xe4, 0x05, 0x09, 0x5b, 0xf1, 0xe4, 0xb4, 0xfb, 0x20, 0x24, 0xc3,
+	0x9d, 0x50, 0x8a, 0x9f, 0xe9, 0x24, 0x0e, 0x97, 0xe8, 0x31, 0x2c, 0x8f, 0xed, 0x4b, 0x0c, 0x9e,
+	0xd6, 0x34, 0x2e, 0x84, 0x7f, 0xec, 0x09, 0xbb, 0xf2, 0x8f, 0x04, 0xd9, 0x1b, 0xc3, 0x01, 0x7d,
+	0x06, 0x05, 0x3e, 0x54, 0x74, 0x6a, 0x7b, 0xa6, 0xc7, 0x88, 0xad, 0x0f, 0xf9, 0x15, 0xce, 0xd7,
+	0x36, 0xa6, 0x0d, 0x16, 0xfe, 0xbb, 0x31, 0xe2, 0x1d, 0xcc, 0xe1, 0x25, 0x37, 0x6a, 0x1a, 0x6f,
+	0x0e, 0x89, 0x98, 0xe6, 0xa0, 0x1c, 0xc2, 0xd2, 0x98, 0x27, 0x54, 0x82, 0x87, 0xb8, 0xb9, 0xbb,
+	0xa7, 0x36, 0x3a, 0xed, 0xe3, 0xd6, 0x71, 0xb7, 0xd9, 0x6e, 0x7c, 0x32, 0x76, 0xed, 0x01, 0x52,
+	0xc7, 0x5d, 0xdc, 0x69, 0xef, 0x17, 0x24, 0x94, 0x83, 0x74, 0xf3, 0xb4, 0xd9, 0xee, 0x9e, 0xf0,
+	0x6b, 0x8e, 0xa0, 0x70, 0x23, 0x18, 0x3e, 0x75, 0x6a, 0x7f, 0xa5, 0x20, 0xb3, 0x17, 0x86, 0x81,
+	0x5e, 0x42, 0x2a, 0x78, 0x7e, 0x20, 0x25, 0x36, 0xc6, 0xc8, 0xfb, 0xa9, 0xb8, 0x7a, 0x2b, 0x46,
+	0xb4, 0xdc, 0xc7, 0xdf, 0xfe, 0xf9, 0xf7, 0x8f, 0x89, 0x35, 0xa5, 0xe4, 0xbf, 0xc7, 0xc4, 0xed,
+	0xf4, 0xaa, 0x5f, 0x8d, 0x6e, 0xee, 0xd7, 0x5b, 0x16, 0x67, 0x6c, 0x49, 0xeb, 0xe8, 0x7b, 0x09,
+	0xd2, 0xe1, 0x0c, 0x44, 0xef, 0xc6, 0xa7, 0x39, 0xfa, 0xbe, 0x28, 0xae, 0x4d, 0x41, 0x09, 0x19,
+	0x4f, 0xb9, 0x8c, 0x47, 0x8a, 0x32, 0x59, 0x86, 0x2b, 0x38, 0xbe, 0x90, 0x9f, 0x25, 0x28, 0x8c,
+	0xcf, 0x33, 0xf4, 0x24, 0x76, 0xab, 0x09, 0x03, 0xb3, 0xf8, 0x74, 0x46, 0xb4, 0x10, 0xf8, 0x8c,
+	0x0b, 0xac, 0x2a, 0xeb, 0x93, 0x05, 0x9e, 0x8d, 0x71, 0x7d, 0xa1, 0x2f, 0x21, 0x15, 0x74, 0xe8,
+	0x09, 0x15, 0x8b, 0x0c, 0xa7, 0x09, 0x15, 0x8b, 0xb6, 0xf8, 0x59, 0x2a, 0xa6, 0x73, 0xc6, 0x75,
+	0xc5, 0xc4, 0x98, 0x9d, 0x54, 0xb1, 0xe8, 0x64, 0x9f, 0x54, 0xb1, 0xf1, 0x59, 0x3d, 0x4b, 0xc5,
+	0x04, 0xc7, 0x17, 0xf2, 0x83, 0x04, 0xd9, 0x1b, 0x1d, 0x1c, 0xc5, 0xcf, 0xea, 0xd7, 0xc7, 0x48,
+	0xb1, 0x3c, 0x1d, 0x28, 0x14, 0x6d, 0x70, 0x45, 0xeb, 0xca, 0xda, 0x64, 0x45, 0xda, 0x88, 0xb6,
+	0x25, 0xad, 0xd7, 0x5f, 0x49, 0x70, 0x5f, 0xa7, 0xfd, 0xb8, 0x1d, 0xea, 0xf9, 0xeb, 0x6b, 0x77,
+	0xe4, 0x7f, 0x9f, 0x1c, 0x49, 0x9f, 0xee, 0x08, 0x58, 0x8f, 0x5a, 0x9a, 0xdd, 0xab, 0x50, 0xb7,
+	0x57, 0xed, 0x11, 0x9b, 0x7f, 0xbd, 0x54, 0x83, 0xbf, 0x34, 0xc7, 0xf4, 0x22, 0x5f, 0x38, 0xdb,
+	0xd7, 0x8b, 0x5f, 0x12, 0x6f, 0xed, 0x07, 0xf4, 0x86, 0x45, 0x07, 0x46, 0xe5, 0xda, 0x7b, 0xe5,
+	0x74, 0xf3, 0x2c, 0xc5, 0x9d, 0xbc, 0xf7, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6b, 0xa3, 0xc8,
+	0x39, 0x9f, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/datastore.proto b/googleapis/datastore/v1/datastore.proto
deleted file mode 100644
index 083c53b4..00000000
--- a/googleapis/datastore/v1/datastore.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// 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.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/entity.proto"; // from google/datastore/v1/entity.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/query.proto"; // from google/datastore/v1/query.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DatastoreProto";
-option java_package = "com.google.datastore.v1";
-
-
-// Each RPC normalizes the partition IDs of the keys in its input entities,
-// and always returns entities with keys with normalized partition IDs.
-// This applies to all keys and entities, including those in values, except keys
-// with both an empty path and an empty or unset partition ID. Normalization of
-// input keys sets the project ID (if not already set) to the project ID from
-// the request.
-//
-service Datastore {
-  // Looks up entities by key.
-  rpc Lookup(LookupRequest) returns (LookupResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:lookup" body: "*" };
-  }
-
-  // Queries for entities.
-  rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:runQuery" body: "*" };
-  }
-
-  // Begins a new transaction.
-  rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:beginTransaction" body: "*" };
-  }
-
-  // Commits a transaction, optionally creating, deleting or modifying some
-  // entities.
-  rpc Commit(CommitRequest) returns (CommitResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:commit" body: "*" };
-  }
-
-  // Rolls back a transaction.
-  rpc Rollback(RollbackRequest) returns (RollbackResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:rollback" body: "*" };
-  }
-
-  // Allocates IDs for the given keys, which is useful for referencing an entity
-  // before it is inserted.
-  rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}:allocateIds" body: "*" };
-  }
-}
-
-// The request for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
-message LookupRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The options for this lookup request.
-  ReadOptions read_options = 1;
-
-  // Keys of entities to look up.
-  repeated Key keys = 3;
-}
-
-// The response for [Datastore.Lookup][google.datastore.v1.Datastore.Lookup].
-message LookupResponse {
-  // Entities found as `ResultType.FULL` entities. The order of results in this
-  // field is undefined and has no relation to the order of the keys in the
-  // input.
-  repeated EntityResult found = 1;
-
-  // Entities not found as `ResultType.KEY_ONLY` entities. The order of results
-  // in this field is undefined and has no relation to the order of the keys
-  // in the input.
-  repeated EntityResult missing = 2;
-
-  // A list of keys that were not looked up due to resource constraints. The
-  // order of results in this field is undefined and has no relation to the
-  // order of the keys in the input.
-  repeated Key deferred = 3;
-}
-
-// The request for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
-message RunQueryRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // Entities are partitioned into subsets, identified by a partition ID.
-  // Queries are scoped to a single partition.
-  // This partition ID is normalized with the standard default context
-  // partition ID.
-  PartitionId partition_id = 2;
-
-  // The options for this query.
-  ReadOptions read_options = 1;
-
-  // The type of query.
-  oneof query_type {
-    // The query to run.
-    Query query = 3;
-
-    // The GQL query to run.
-    GqlQuery gql_query = 7;
-  }
-}
-
-// The response for [Datastore.RunQuery][google.datastore.v1.Datastore.RunQuery].
-message RunQueryResponse {
-  // A batch of query results (always present).
-  QueryResultBatch batch = 1;
-
-  // The parsed form of the `GqlQuery` from the request, if it was set.
-  Query query = 2;
-}
-
-// The request for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-message BeginTransactionRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-}
-
-// The response for [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-message BeginTransactionResponse {
-  // The transaction identifier (always present).
-  bytes transaction = 1;
-}
-
-// The request for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
-message RollbackRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The transaction identifier, returned by a call to
-  // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-  bytes transaction = 1;
-}
-
-// The response for [Datastore.Rollback][google.datastore.v1.Datastore.Rollback].
-// (an empty message).
-message RollbackResponse {
-
-}
-
-// The request for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
-message CommitRequest {
-  // The modes available for commits.
-  enum Mode {
-    // Unspecified. This value must not be used.
-    MODE_UNSPECIFIED = 0;
-
-    // Transactional: The mutations are either all applied, or none are applied.
-    // Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).
-    TRANSACTIONAL = 1;
-
-    // Non-transactional: The mutations may not apply as all or none.
-    NON_TRANSACTIONAL = 2;
-  }
-
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The type of commit to perform. Defaults to `TRANSACTIONAL`.
-  Mode mode = 5;
-
-  // Must be set when mode is `TRANSACTIONAL`.
-  oneof transaction_selector {
-    // The identifier of the transaction associated with the commit. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-    bytes transaction = 1;
-  }
-
-  // The mutations to perform.
-  //
-  // When mode is `TRANSACTIONAL`, mutations affecting a single entity are
-  // applied in order. The following sequences of mutations affecting a single
-  // entity are not permitted in a single `Commit` request:
-  //
-  // - `insert` followed by `insert`
-  // - `update` followed by `insert`
-  // - `upsert` followed by `insert`
-  // - `delete` followed by `update`
-  //
-  // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
-  // entity.
-  repeated Mutation mutations = 6;
-}
-
-// The response for [Datastore.Commit][google.datastore.v1.Datastore.Commit].
-message CommitResponse {
-  // The result of performing the mutations.
-  // The i-th mutation result corresponds to the i-th mutation in the request.
-  repeated MutationResult mutation_results = 3;
-
-  // The number of index entries updated during the commit, or zero if none were
-  // updated.
-  int32 index_updates = 4;
-}
-
-// The request for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
-message AllocateIdsRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // A list of keys with incomplete key paths for which to allocate IDs.
-  // No key may be reserved/read-only.
-  repeated Key keys = 1;
-}
-
-// The response for [Datastore.AllocateIds][google.datastore.v1.Datastore.AllocateIds].
-message AllocateIdsResponse {
-  // The keys specified in the request (in the same order), each with
-  // its key path completed with a newly allocated ID.
-  repeated Key keys = 1;
-}
-
-// A mutation to apply to an entity.
-message Mutation {
-  // The mutation operation.
-  //
-  // For `insert`, `update`, and `upsert`:
-  // - The entity's key must not be reserved/read-only.
-  // - No property in the entity may have a reserved name,
-  //   not even a property in an entity in a value.
-  // - No value in the entity may have meaning 18,
-  //   not even a value in an entity in another value.
-  oneof operation {
-    // The entity to insert. The entity must not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity insert = 4;
-
-    // The entity to update. The entity must already exist.
-    // Must have a complete key path.
-    Entity update = 5;
-
-    // The entity to upsert. The entity may or may not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity upsert = 6;
-
-    // The key of the entity to delete. The entity may or may not already exist.
-    // Must have a complete key path and must not be reserved/read-only.
-    Key delete = 7;
-  }
-
-  // When set, the server will detect whether or not this mutation conflicts
-  // with the current version of the entity on the server. Conflicting mutations
-  // are not applied, and are marked as such in MutationResult.
-  oneof conflict_detection_strategy {
-    // The version of the entity that this mutation is being applied to. If this
-    // does not match the current version on the server, the mutation conflicts.
-    int64 base_version = 8;
-  }
-}
-
-// The result of applying a mutation.
-message MutationResult {
-  // The automatically allocated key.
-  // Set only when the mutation allocated a key.
-  Key key = 3;
-
-  // The version of the entity on the server after processing the mutation. If
-  // the mutation doesn't change anything on the server, then the version will
-  // be the version of the current entity or, if no entity is present, a version
-  // that is strictly greater than the version of any previous entity and less
-  // than the version of any possible future entity.
-  int64 version = 4;
-
-  // Whether a conflict was detected for this mutation. Always false when a
-  // conflict detection strategy field is not set in the mutation.
-  bool conflict_detected = 5;
-}
-
-// The options shared by read requests.
-message ReadOptions {
-  // The possible values for read consistencies.
-  enum ReadConsistency {
-    // Unspecified. This value must not be used.
-    READ_CONSISTENCY_UNSPECIFIED = 0;
-
-    // Strong consistency.
-    STRONG = 1;
-
-    // Eventual consistency.
-    EVENTUAL = 2;
-  }
-
-  // If not specified, lookups and ancestor queries default to
-  // `read_consistency`=`STRONG`, global queries default to
-  // `read_consistency`=`EVENTUAL`.
-  oneof consistency_type {
-    // The non-transactional read consistency to use.
-    // Cannot be set to `STRONG` for global queries.
-    ReadConsistency read_consistency = 1;
-
-    // The identifier of the transaction in which to read. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1.Datastore.BeginTransaction].
-    bytes transaction = 2;
-  }
-}
diff --git a/googleapis/datastore/v1/entity.pb.go b/googleapis/datastore/v1/entity.pb.go
index ea25027e..75f58ca3 100644
--- a/googleapis/datastore/v1/entity.pb.go
+++ b/googleapis/datastore/v1/entity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/entity.proto
+// source: google/datastore/v1/entity.proto
 // DO NOT EDIT!
 
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_type "google.golang.org/genproto/googleapis/type/latlng"
@@ -48,6 +48,20 @@ func (m *PartitionId) String() string            { return proto.CompactTextStrin
 func (*PartitionId) ProtoMessage()               {}
 func (*PartitionId) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *PartitionId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *PartitionId) GetNamespaceId() string {
+	if m != nil {
+		return m.NamespaceId
+	}
+	return ""
+}
+
 // A unique identifier for an entity.
 // If a key's partition ID or any of its path kinds or names are
 // reserved/read-only, the key is reserved/read-only.
@@ -139,6 +153,13 @@ func (m *Key_PathElement) GetIdType() isKey_PathElement_IdType {
 	return nil
 }
 
+func (m *Key_PathElement) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
 func (m *Key_PathElement) GetId() int64 {
 	if x, ok := m.GetIdType().(*Key_PathElement_Id); ok {
 		return x.Id
@@ -402,6 +423,20 @@ func (m *Value) GetArrayValue() *ArrayValue {
 	return nil
 }
 
+func (m *Value) GetMeaning() int32 {
+	if m != nil {
+		return m.Meaning
+	}
+	return 0
+}
+
+func (m *Value) GetExcludeFromIndexes() bool {
+	if m != nil {
+		return m.ExcludeFromIndexes
+	}
+	return false
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Value) 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 _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{
@@ -673,59 +708,56 @@ func init() {
 	proto.RegisterType((*Entity)(nil), "google.datastore.v1.Entity")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/entity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/datastore/v1/entity.proto", fileDescriptor1) }
 
 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,
+	// 767 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xdf, 0x8e, 0xdb, 0x44,
+	0x14, 0xc6, 0xed, 0x64, 0xb3, 0x5d, 0x1f, 0xbb, 0xbb, 0x65, 0xb6, 0x12, 0x26, 0x80, 0xd6, 0x04,
+	0x90, 0x22, 0x90, 0xec, 0xee, 0x72, 0x41, 0x45, 0x41, 0x2a, 0x29, 0x01, 0x47, 0x5b, 0x41, 0x34,
+	0xaa, 0x2a, 0xc1, 0x4d, 0x34, 0x89, 0xa7, 0xee, 0x10, 0x7b, 0xc6, 0xb2, 0xc7, 0xab, 0xfa, 0x96,
+	0xe7, 0xe0, 0x09, 0x78, 0x24, 0xc4, 0xc3, 0xa0, 0xf9, 0x13, 0x67, 0x29, 0xe9, 0xde, 0x79, 0xce,
+	0xf9, 0x7d, 0xc7, 0xdf, 0xf1, 0x39, 0x63, 0x88, 0x72, 0x21, 0xf2, 0x82, 0x26, 0x19, 0x91, 0xa4,
+	0x91, 0xa2, 0xa6, 0xc9, 0xcd, 0x65, 0x42, 0xb9, 0x64, 0xb2, 0x8b, 0xab, 0x5a, 0x48, 0x81, 0xce,
+	0x0d, 0x11, 0xf7, 0x44, 0x7c, 0x73, 0x39, 0xfe, 0xc8, 0xca, 0x48, 0xc5, 0x12, 0xc2, 0xb9, 0x90,
+	0x44, 0x32, 0xc1, 0x1b, 0x23, 0xe9, 0xb3, 0xfa, 0xb4, 0x6e, 0x5f, 0x25, 0x8d, 0xac, 0xdb, 0x8d,
+	0xb4, 0xd9, 0x8b, 0xb7, 0xb3, 0x92, 0x95, 0xb4, 0x91, 0xa4, 0xac, 0x2c, 0x10, 0x5a, 0x40, 0x76,
+	0x15, 0x4d, 0x0a, 0x22, 0x0b, 0x9e, 0x9b, 0xcc, 0xe4, 0x17, 0xf0, 0x97, 0xa4, 0x96, 0x4c, 0xbd,
+	0x6c, 0x91, 0xa1, 0x8f, 0x01, 0xaa, 0x5a, 0xfc, 0x4e, 0x37, 0x72, 0xc5, 0xb2, 0x70, 0x10, 0xb9,
+	0x53, 0x0f, 0x7b, 0x36, 0xb2, 0xc8, 0xd0, 0x27, 0x10, 0x70, 0x52, 0xd2, 0xa6, 0x22, 0x1b, 0xaa,
+	0x80, 0x23, 0x0d, 0xf8, 0x7d, 0x6c, 0x91, 0x4d, 0xfe, 0x76, 0x61, 0x78, 0x4d, 0x3b, 0xf4, 0x0c,
+	0x82, 0x6a, 0x57, 0x58, 0xa1, 0x6e, 0xe4, 0x4e, 0xfd, 0xab, 0x28, 0x3e, 0xd0, 0x7b, 0x7c, 0xcb,
+	0x01, 0xf6, 0xab, 0x5b, 0x76, 0x1e, 0xc3, 0x51, 0x45, 0xe4, 0xeb, 0x70, 0x10, 0x0d, 0xa7, 0xfe,
+	0xd5, 0x67, 0x07, 0xc5, 0xd7, 0xb4, 0x8b, 0x97, 0x44, 0xbe, 0x9e, 0x17, 0xb4, 0xa4, 0x5c, 0x62,
+	0xad, 0x18, 0xbf, 0x50, 0x7d, 0xf5, 0x41, 0x84, 0xe0, 0x68, 0xcb, 0xb8, 0x71, 0xe1, 0x61, 0xfd,
+	0x8c, 0x1e, 0xc0, 0xc0, 0xf6, 0x38, 0x4c, 0x1d, 0x3c, 0x60, 0x19, 0x7a, 0x08, 0x47, 0xaa, 0x95,
+	0x70, 0xa8, 0xa8, 0xd4, 0xc1, 0xfa, 0x34, 0xf3, 0xe0, 0x1e, 0xcb, 0x56, 0xea, 0xd3, 0x4d, 0x9e,
+	0x02, 0x7c, 0x5f, 0xd7, 0xa4, 0x7b, 0x49, 0x8a, 0x96, 0xa2, 0x2b, 0x38, 0xbe, 0x51, 0x0f, 0x4d,
+	0xe8, 0x6a, 0x7f, 0xe3, 0x83, 0xfe, 0x34, 0x8b, 0x2d, 0x39, 0xf9, 0x73, 0x04, 0x23, 0xa3, 0x7e,
+	0x02, 0xc0, 0xdb, 0xa2, 0x58, 0xe9, 0x44, 0xe8, 0x47, 0xee, 0xf4, 0x74, 0x5f, 0x61, 0x37, 0xc9,
+	0xf8, 0xe7, 0xb6, 0x28, 0x34, 0x9f, 0x3a, 0xd8, 0xe3, 0xbb, 0x03, 0xfa, 0x1c, 0xee, 0xaf, 0x85,
+	0x28, 0x28, 0xe1, 0x56, 0xaf, 0x1a, 0x3b, 0x49, 0x1d, 0x1c, 0xd8, 0x70, 0x8f, 0x31, 0x2e, 0x69,
+	0x4e, 0x6b, 0x8b, 0xed, 0xba, 0x0d, 0x6c, 0xd8, 0x60, 0x9f, 0x42, 0x90, 0x89, 0x76, 0x5d, 0x50,
+	0x4b, 0xa9, 0xfe, 0xdd, 0xd4, 0xc1, 0xbe, 0x89, 0x1a, 0x68, 0x0e, 0x67, 0xfd, 0x5a, 0x59, 0x0e,
+	0xf4, 0x4c, 0xff, 0x6f, 0xfa, 0xc5, 0x8e, 0x4b, 0x1d, 0x7c, 0xda, 0x8b, 0x4c, 0x99, 0xaf, 0xc1,
+	0xdb, 0xd2, 0xce, 0x16, 0x18, 0xe9, 0x02, 0xe1, 0xbb, 0xe6, 0x9a, 0x3a, 0xf8, 0x64, 0x4b, 0xbb,
+	0xde, 0x64, 0x23, 0x6b, 0xc6, 0x73, 0xab, 0x7d, 0xcf, 0x0e, 0xc9, 0x37, 0x51, 0x03, 0x5d, 0x00,
+	0xac, 0x0b, 0xb1, 0xb6, 0x08, 0x8a, 0xdc, 0x69, 0xa0, 0x3e, 0x9c, 0x8a, 0x19, 0xe0, 0x3b, 0x38,
+	0xcb, 0xa9, 0x58, 0x55, 0x82, 0x71, 0x69, 0xa9, 0x13, 0x6d, 0xe2, 0x7c, 0x67, 0x42, 0x0d, 0x3a,
+	0x7e, 0x4e, 0xe4, 0x73, 0x9e, 0xa7, 0x0e, 0xbe, 0x9f, 0x53, 0xb1, 0x54, 0xb0, 0x91, 0x3f, 0x85,
+	0xc0, 0x5c, 0x65, 0xab, 0x3d, 0xd6, 0xda, 0x0f, 0x0f, 0x36, 0x30, 0xd7, 0xa0, 0x72, 0x68, 0x24,
+	0xa6, 0xc2, 0x0c, 0x7c, 0xa2, 0x56, 0xc8, 0x16, 0xf0, 0x74, 0x81, 0x8b, 0x83, 0x05, 0xf6, 0xab,
+	0x96, 0x3a, 0x18, 0xc8, 0x7e, 0xf1, 0x42, 0xb8, 0x57, 0x52, 0xc2, 0x19, 0xcf, 0xc3, 0xd3, 0xc8,
+	0x9d, 0x8e, 0xf0, 0xee, 0x88, 0x1e, 0xc1, 0x43, 0xfa, 0x66, 0x53, 0xb4, 0x19, 0x5d, 0xbd, 0xaa,
+	0x45, 0xb9, 0x62, 0x3c, 0xa3, 0x6f, 0x68, 0x13, 0x9e, 0xab, 0xf5, 0xc0, 0xc8, 0xe6, 0x7e, 0xac,
+	0x45, 0xb9, 0x30, 0x99, 0x59, 0x00, 0xa0, 0x9d, 0x98, 0x05, 0xff, 0xc7, 0x85, 0x63, 0xe3, 0x1b,
+	0x7d, 0x01, 0xc3, 0x2d, 0xed, 0xec, 0xbd, 0x7d, 0xe7, 0x88, 0xb0, 0x82, 0xd0, 0xb5, 0xfe, 0x6d,
+	0x54, 0xb4, 0x96, 0x8c, 0x36, 0xe1, 0x50, 0xdf, 0x86, 0x2f, 0xef, 0xf8, 0x28, 0xf1, 0xb2, 0xa7,
+	0xe7, 0x5c, 0xd6, 0x1d, 0xbe, 0x25, 0x1f, 0xff, 0x0a, 0x67, 0x6f, 0xa5, 0xd1, 0x83, 0xbd, 0x17,
+	0xcf, 0xbc, 0xf1, 0x11, 0x8c, 0xf6, 0x1b, 0x7d, 0xf7, 0xd5, 0x33, 0xe0, 0x37, 0x83, 0xc7, 0xee,
+	0xec, 0x0f, 0x17, 0xde, 0xdf, 0x88, 0xf2, 0x10, 0x3c, 0xf3, 0x8d, 0xb5, 0xa5, 0x5a, 0xe2, 0xa5,
+	0xfb, 0xdb, 0xb7, 0x96, 0xc9, 0x45, 0x41, 0x78, 0x1e, 0x8b, 0x3a, 0x4f, 0x72, 0xca, 0xf5, 0x8a,
+	0x27, 0x26, 0x45, 0x2a, 0xd6, 0xfc, 0xe7, 0x2f, 0xff, 0xa4, 0x3f, 0xfc, 0x35, 0xf8, 0xe0, 0x27,
+	0x23, 0x7f, 0x56, 0x88, 0x36, 0x8b, 0x7f, 0xe8, 0x5f, 0xf4, 0xf2, 0x72, 0x7d, 0xac, 0x8b, 0x7c,
+	0xf5, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x89, 0x5b, 0xc5, 0xcd, 0x29, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/entity.proto b/googleapis/datastore/v1/entity.proto
deleted file mode 100644
index 3f4efdae..00000000
--- a/googleapis/datastore/v1/entity.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// 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.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.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/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "EntityProto";
-option java_package = "com.google.datastore.v1";
-
-
-// A partition ID identifies a grouping of entities. The grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be `""`.
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is not in an active state.
-message PartitionId {
-  // The ID of the project to which the entities belong.
-  string project_id = 2;
-
-  // If not empty, the ID of the namespace to which the entities belong.
-  string namespace_id = 4;
-}
-
-// A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
-message Key {
-  // A (kind, ID/name) pair used to construct a key path.
-  //
-  // If either name or ID is set, the element is complete.
-  // If neither is set, the element is incomplete.
-  message PathElement {
-    // The kind of the entity.
-    // A kind matching regex `__.*__` is reserved/read-only.
-    // A kind must not contain more than 1500 bytes when UTF-8 encoded.
-    // Cannot be `""`.
-    string kind = 1;
-
-    // The type of ID.
-    oneof id_type {
-      // The auto-allocated ID of the entity.
-      // Never equal to zero. Values less than zero are discouraged and may not
-      // be supported in the future.
-      int64 id = 2;
-
-      // The name of the entity.
-      // A name matching regex `__.*__` is reserved/read-only.
-      // A name must not be more than 1500 bytes when UTF-8 encoded.
-      // Cannot be `""`.
-      string name = 3;
-    }
-  }
-
-  // Entities are partitioned into subsets, currently identified by a project
-  // ID and namespace ID.
-  // Queries are scoped to a single partition.
-  PartitionId partition_id = 1;
-
-  // The entity path.
-  // An entity path consists of one or more elements composed of a kind and a
-  // string or numerical identifier, which identify entities. The first
-  // element identifies a _root entity_, the second element identifies
-  // a _child_ of the root entity, the third element identifies a child of the
-  // second entity, and so forth. The entities identified by all prefixes of
-  // the path are called the element's _ancestors_.
-  //
-  // An entity path is always fully complete: *all* of the entity's ancestors
-  // are required to be in the path along with the entity identifier itself.
-  // The only exception is that in some documented cases, the identifier in the
-  // last path element (for the entity) itself may be omitted. For example,
-  // the last path element of the key of `Mutation.insert` may have no
-  // identifier.
-  //
-  // A path can never be empty, and a path can have at most 100 elements.
-  repeated PathElement path = 2;
-}
-
-// An array value.
-message ArrayValue {
-  // Values in the array.
-  // The order of this array may not be preserved if it contains a mix of
-  // indexed and unindexed values.
-  repeated Value values = 1;
-}
-
-// A message that can hold any of the supported value types and associated
-// metadata.
-message Value {
-  // Must have a value set.
-  oneof value_type {
-    // A null value.
-    google.protobuf.NullValue null_value = 11;
-
-    // A boolean value.
-    bool boolean_value = 1;
-
-    // An integer value.
-    int64 integer_value = 2;
-
-    // A double value.
-    double double_value = 3;
-
-    // A timestamp value.
-    // When stored in the Datastore, precise only to microseconds;
-    // any additional precision is rounded down.
-    google.protobuf.Timestamp timestamp_value = 10;
-
-    // A key value.
-    Key key_value = 5;
-
-    // A UTF-8 encoded string value.
-    // When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
-    // Otherwise, may be set to at least 1,000,000 bytes.
-    string string_value = 17;
-
-    // A blob value.
-    // May have at most 1,000,000 bytes.
-    // When `exclude_from_indexes` is false, may have at most 1500 bytes.
-    // In JSON requests, must be base64-encoded.
-    bytes blob_value = 18;
-
-    // A geo point value representing a point on the surface of Earth.
-    google.type.LatLng geo_point_value = 8;
-
-    // An entity value.
-    //
-    // - May have no key.
-    // - May have a key with an incomplete key path.
-    // - May have a reserved/read-only key.
-    Entity entity_value = 6;
-
-    // An array value.
-    // Cannot contain another array value.
-    // A `Value` instance that sets field `array_value` must not set fields
-    // `meaning` or `exclude_from_indexes`.
-    ArrayValue array_value = 9;
-  }
-
-  // The `meaning` field should only be populated for backwards compatibility.
-  int32 meaning = 14;
-
-  // If the value should be excluded from all indexes including those defined
-  // explicitly.
-  bool exclude_from_indexes = 19;
-}
-
-// A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of this
-// message.
-message Entity {
-  // The entity's key.
-  //
-  // An entity must have a key, unless otherwise documented (for example,
-  // an entity in `Value.entity_value` may have no key).
-  // An entity's kind is its key path's last element's kind,
-  // or null if it has no key.
-  Key key = 1;
-
-  // The entity's properties.
-  // The map's keys are property names.
-  // A property name matching regex `__.*__` is reserved.
-  // A reserved property name is forbidden in certain documented contexts.
-  // The name must not contain more than 500 characters.
-  // The name cannot be `""`.
-  map<string, Value> properties = 3;
-}
diff --git a/googleapis/datastore/v1/query.pb.go b/googleapis/datastore/v1/query.pb.go
index 9bbd93eb..dcfbb673 100644
--- a/googleapis/datastore/v1/query.pb.go
+++ b/googleapis/datastore/v1/query.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1/query.proto
+// source: google/datastore/v1/query.proto
 // DO NOT EDIT!
 
-package google_datastore_v1 // import "google.golang.org/genproto/googleapis/datastore/v1"
+package datastore
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/wrappers"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
@@ -218,6 +218,20 @@ func (m *EntityResult) GetEntity() *Entity {
 	return nil
 }
 
+func (m *EntityResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *EntityResult) GetCursor() []byte {
+	if m != nil {
+		return m.Cursor
+	}
+	return nil
+}
+
 // A query for entities.
 type Query struct {
 	// The projection to return. Defaults to returning all properties.
@@ -291,6 +305,27 @@ func (m *Query) GetDistinctOn() []*PropertyReference {
 	return nil
 }
 
+func (m *Query) GetStartCursor() []byte {
+	if m != nil {
+		return m.StartCursor
+	}
+	return nil
+}
+
+func (m *Query) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *Query) GetOffset() int32 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 func (m *Query) GetLimit() *google_protobuf3.Int32Value {
 	if m != nil {
 		return m.Limit
@@ -309,6 +344,13 @@ func (m *KindExpression) String() string            { return proto.CompactTextSt
 func (*KindExpression) ProtoMessage()               {}
 func (*KindExpression) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *KindExpression) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A reference to a property relative to the kind expressions.
 type PropertyReference struct {
 	// The name of the property.
@@ -321,6 +363,13 @@ func (m *PropertyReference) String() string            { return proto.CompactTex
 func (*PropertyReference) ProtoMessage()               {}
 func (*PropertyReference) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *PropertyReference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A representation of a property in a projection.
 type Projection struct {
 	// The property to project.
@@ -359,6 +408,13 @@ func (m *PropertyOrder) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyOrder) GetDirection() PropertyOrder_Direction {
+	if m != nil {
+		return m.Direction
+	}
+	return PropertyOrder_DIRECTION_UNSPECIFIED
+}
+
 // A holder for any type of filter.
 type Filter struct {
 	// The type of filter.
@@ -497,6 +553,13 @@ func (m *CompositeFilter) String() string            { return proto.CompactTextS
 func (*CompositeFilter) ProtoMessage()               {}
 func (*CompositeFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *CompositeFilter) GetOp() CompositeFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return CompositeFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *CompositeFilter) GetFilters() []*Filter {
 	if m != nil {
 		return m.Filters
@@ -526,6 +589,13 @@ func (m *PropertyFilter) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyFilter) GetOp() PropertyFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return PropertyFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *PropertyFilter) GetValue() *Value {
 	if m != nil {
 		return m.Value
@@ -562,6 +632,20 @@ func (m *GqlQuery) String() string            { return proto.CompactTextString(m
 func (*GqlQuery) ProtoMessage()               {}
 func (*GqlQuery) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
 
+func (m *GqlQuery) GetQueryString() string {
+	if m != nil {
+		return m.QueryString
+	}
+	return ""
+}
+
+func (m *GqlQuery) GetAllowLiterals() bool {
+	if m != nil {
+		return m.AllowLiterals
+	}
+	return false
+}
+
 func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter {
 	if m != nil {
 		return m.NamedBindings
@@ -719,6 +803,7 @@ type QueryResultBatch struct {
 	// In a single transaction, subsequent query result batches for the same query
 	// can have a greater snapshot version number. Each batch's snapshot version
 	// is valid for all preceding batches.
+	// The value will be zero for eventually consistent queries.
 	SnapshotVersion int64 `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion" json:"snapshot_version,omitempty"`
 }
 
@@ -727,6 +812,27 @@ func (m *QueryResultBatch) String() string            { return proto.CompactText
 func (*QueryResultBatch) ProtoMessage()               {}
 func (*QueryResultBatch) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} }
 
+func (m *QueryResultBatch) GetSkippedResults() int32 {
+	if m != nil {
+		return m.SkippedResults
+	}
+	return 0
+}
+
+func (m *QueryResultBatch) GetSkippedCursor() []byte {
+	if m != nil {
+		return m.SkippedCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType {
+	if m != nil {
+		return m.EntityResultType
+	}
+	return EntityResult_RESULT_TYPE_UNSPECIFIED
+}
+
 func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	if m != nil {
 		return m.EntityResults
@@ -734,6 +840,27 @@ func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	return nil
 }
 
+func (m *QueryResultBatch) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType {
+	if m != nil {
+		return m.MoreResults
+	}
+	return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED
+}
+
+func (m *QueryResultBatch) GetSnapshotVersion() int64 {
+	if m != nil {
+		return m.SnapshotVersion
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*EntityResult)(nil), "google.datastore.v1.EntityResult")
 	proto.RegisterType((*Query)(nil), "google.datastore.v1.Query")
@@ -754,92 +881,90 @@ func init() {
 	proto.RegisterEnum("google.datastore.v1.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1/query.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/datastore/v1/query.proto", fileDescriptor2) }
 
 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,
+	// 1301 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x92, 0xd3, 0xc6,
+	0x12, 0x5e, 0xc9, 0x3f, 0x6b, 0xb7, 0xff, 0xc4, 0x70, 0x0e, 0x88, 0x05, 0x0e, 0xbb, 0x82, 0x73,
+	0xd8, 0x53, 0x05, 0x36, 0x6b, 0x8a, 0x0a, 0x95, 0x90, 0x4a, 0xf9, 0x47, 0xbb, 0x36, 0x18, 0xcb,
+	0x3b, 0xf6, 0x42, 0xe0, 0x46, 0x25, 0xec, 0x59, 0xa3, 0x20, 0x4b, 0x62, 0xa4, 0x5d, 0xb2, 0x97,
+	0x79, 0x88, 0x54, 0xe5, 0x19, 0xf2, 0x00, 0xb9, 0xc8, 0x03, 0x24, 0x79, 0x88, 0x5c, 0xe7, 0x3a,
+	0x8f, 0x90, 0xd2, 0xcc, 0xc8, 0x7f, 0x6b, 0xcc, 0x5e, 0x70, 0xa7, 0xe9, 0xf9, 0xbe, 0xaf, 0xa7,
+	0x7b, 0x7a, 0x5a, 0x0d, 0xb7, 0xc6, 0x9e, 0x37, 0x76, 0x48, 0x65, 0x64, 0x85, 0x56, 0x10, 0x7a,
+	0x94, 0x54, 0x4e, 0xf7, 0x2a, 0xef, 0x4f, 0x08, 0x3d, 0x2b, 0xfb, 0xd4, 0x0b, 0x3d, 0x74, 0x99,
+	0x03, 0xca, 0x53, 0x40, 0xf9, 0x74, 0x6f, 0xeb, 0x86, 0x60, 0x59, 0xbe, 0x5d, 0xb1, 0x5c, 0xd7,
+	0x0b, 0xad, 0xd0, 0xf6, 0xdc, 0x80, 0x53, 0xb6, 0xb6, 0x57, 0x69, 0x12, 0x37, 0xb4, 0x43, 0x21,
+	0xba, 0xf5, 0x1f, 0x81, 0x60, 0xab, 0x37, 0x27, 0xc7, 0x95, 0x0f, 0xd4, 0xf2, 0x7d, 0x42, 0x63,
+	0x05, 0x55, 0xec, 0x87, 0x67, 0x3e, 0xa9, 0x38, 0x56, 0xe8, 0xb8, 0x63, 0xbe, 0xa3, 0xfd, 0x21,
+	0x41, 0x5e, 0x67, 0x52, 0x98, 0x04, 0x27, 0x4e, 0x88, 0x1e, 0x42, 0x9a, 0x4b, 0xab, 0xd2, 0xb6,
+	0xb4, 0x9b, 0xab, 0x5e, 0x2f, 0xaf, 0x38, 0x70, 0x59, 0x50, 0x04, 0x14, 0xa9, 0xb0, 0x79, 0x4a,
+	0x68, 0x60, 0x7b, 0xae, 0x9a, 0xdc, 0x96, 0x76, 0x13, 0x38, 0x5e, 0xa2, 0x2b, 0x90, 0x1e, 0x9e,
+	0xd0, 0xc0, 0xa3, 0x6a, 0x62, 0x5b, 0xda, 0xcd, 0x63, 0xb1, 0xd2, 0x0e, 0x01, 0xb8, 0xc3, 0xc1,
+	0x99, 0x4f, 0xd0, 0x75, 0xb8, 0x8a, 0xf5, 0xfe, 0x51, 0x67, 0x60, 0x0e, 0x5e, 0xf5, 0x74, 0xf3,
+	0xa8, 0xdb, 0xef, 0xe9, 0x8d, 0xf6, 0x7e, 0x5b, 0x6f, 0x2a, 0x1b, 0x28, 0x03, 0xc9, 0xfd, 0xa3,
+	0x4e, 0x47, 0x91, 0x50, 0x11, 0xa0, 0x87, 0x8d, 0xa7, 0x7a, 0x63, 0xd0, 0x36, 0xba, 0x8a, 0x8c,
+	0xf2, 0x90, 0x79, 0xa6, 0xbf, 0x32, 0x8d, 0x6e, 0xe7, 0x95, 0x92, 0xd0, 0x7e, 0x4b, 0x40, 0xea,
+	0x30, 0xca, 0x34, 0xfa, 0x06, 0xc0, 0xa7, 0xde, 0x77, 0x64, 0x18, 0x65, 0x51, 0x95, 0xb7, 0x13,
+	0xbb, 0xb9, 0xea, 0xad, 0x95, 0x71, 0xf4, 0xa6, 0x30, 0x3c, 0x47, 0x41, 0x5f, 0x40, 0xf2, 0x9d,
+	0xed, 0x8e, 0xd4, 0x04, 0xa3, 0xde, 0x5e, 0x49, 0x7d, 0x66, 0xbb, 0x23, 0xfd, 0x7b, 0x9f, 0x92,
+	0x20, 0x0a, 0x14, 0x33, 0x42, 0x94, 0xbd, 0x63, 0xdb, 0x09, 0x09, 0x65, 0x79, 0xf8, 0x58, 0xf6,
+	0xf6, 0x19, 0x04, 0x0b, 0x28, 0x7a, 0x0c, 0x29, 0x8f, 0x8e, 0x08, 0x55, 0x53, 0xcc, 0x9d, 0xf6,
+	0xb1, 0x93, 0xfa, 0x84, 0x86, 0x67, 0x46, 0x84, 0xc4, 0x9c, 0x80, 0x0e, 0x20, 0x37, 0xb2, 0x83,
+	0xd0, 0x76, 0x87, 0xa1, 0xe9, 0xb9, 0x6a, 0x9a, 0xf1, 0xff, 0xb7, 0x96, 0x8f, 0xc9, 0x31, 0xa1,
+	0xc4, 0x1d, 0x12, 0x0c, 0x31, 0xd5, 0x70, 0xd1, 0x0e, 0xe4, 0x83, 0xd0, 0xa2, 0xa1, 0x29, 0x2e,
+	0x6b, 0x93, 0x5d, 0x56, 0x8e, 0xd9, 0x1a, 0xcc, 0x84, 0x6e, 0x02, 0x10, 0x77, 0x14, 0x03, 0x32,
+	0x0c, 0x90, 0x25, 0xee, 0x48, 0x6c, 0x5f, 0x81, 0xb4, 0x77, 0x7c, 0x1c, 0x90, 0x50, 0x85, 0x6d,
+	0x69, 0x37, 0x85, 0xc5, 0x0a, 0xed, 0x41, 0xca, 0xb1, 0x27, 0x76, 0xa8, 0xe6, 0x17, 0x13, 0x12,
+	0x97, 0x6a, 0xb9, 0xed, 0x86, 0x0f, 0xab, 0x2f, 0x2c, 0xe7, 0x84, 0x60, 0x8e, 0xd4, 0xee, 0x40,
+	0x71, 0x31, 0xb9, 0x08, 0x41, 0xd2, 0xb5, 0x26, 0x84, 0x95, 0x64, 0x16, 0xb3, 0x6f, 0xed, 0x2e,
+	0x5c, 0x3a, 0x17, 0xd3, 0x14, 0x28, 0xcf, 0x01, 0x7b, 0x00, 0xb3, 0x6b, 0x46, 0x75, 0xc8, 0xf8,
+	0x82, 0x26, 0x2a, 0xfc, 0xa2, 0xf9, 0x9a, 0xf2, 0xb4, 0xbf, 0x24, 0x28, 0x2c, 0xdc, 0xc7, 0xe7,
+	0x50, 0x45, 0x4f, 0x21, 0x3b, 0xb2, 0xe9, 0xb4, 0x68, 0xa5, 0xdd, 0x62, 0xf5, 0xde, 0xa7, 0x4b,
+	0xa1, 0xdc, 0x8c, 0x39, 0x78, 0x46, 0xd7, 0x74, 0xc8, 0x4e, 0xed, 0xe8, 0x1a, 0xfc, 0xbb, 0xd9,
+	0xc6, 0xfc, 0xd5, 0x2c, 0xbd, 0xad, 0x02, 0x64, 0x6b, 0xfd, 0x86, 0xde, 0x6d, 0xb6, 0xbb, 0x07,
+	0xfc, 0x81, 0x35, 0xf5, 0xe9, 0x5a, 0xd6, 0x7e, 0x95, 0x20, 0xcd, 0x8b, 0x15, 0x1d, 0x82, 0x32,
+	0xf4, 0x26, 0xbe, 0x17, 0xd8, 0x21, 0x31, 0x45, 0x8d, 0xf3, 0x48, 0xef, 0xac, 0x3c, 0x64, 0x23,
+	0x06, 0x73, 0x7e, 0x6b, 0x03, 0x97, 0x86, 0x8b, 0x26, 0xd4, 0x85, 0x52, 0x1c, 0x7c, 0xac, 0x28,
+	0x33, 0xc5, 0xdb, 0x6b, 0xc3, 0x9e, 0x0a, 0x16, 0xfd, 0x05, 0x4b, 0xbd, 0x00, 0x39, 0x2e, 0x63,
+	0x46, 0x7d, 0x4e, 0xfb, 0x45, 0x82, 0xd2, 0xd2, 0x29, 0xd0, 0xd7, 0x20, 0x7b, 0x3e, 0x3b, 0x77,
+	0xb1, 0x7a, 0xff, 0x22, 0xe7, 0x2e, 0x1b, 0x3e, 0xa1, 0x56, 0xe8, 0x51, 0x2c, 0x7b, 0x3e, 0x7a,
+	0x04, 0x9b, 0xdc, 0x43, 0x20, 0xba, 0xca, 0xda, 0xf7, 0x1d, 0x63, 0xb5, 0xfb, 0x90, 0x89, 0x65,
+	0x90, 0x0a, 0xff, 0x32, 0x7a, 0x3a, 0xae, 0x0d, 0x0c, 0xbc, 0x74, 0x17, 0x9b, 0x90, 0xa8, 0x75,
+	0x9b, 0x8a, 0xa4, 0xfd, 0x29, 0x43, 0x71, 0x31, 0xd8, 0xcf, 0x52, 0x5f, 0x4f, 0x58, 0xec, 0x17,
+	0x29, 0xac, 0x55, 0xa1, 0x3f, 0x80, 0xd4, 0x69, 0xf4, 0x48, 0x59, 0x1f, 0xcf, 0x55, 0xb7, 0x56,
+	0x0a, 0x88, 0x67, 0xcc, 0x80, 0xda, 0x8f, 0xd2, 0x85, 0xc2, 0x2e, 0x40, 0xb6, 0xa3, 0xf7, 0xfb,
+	0xe6, 0xa0, 0x55, 0xeb, 0x2a, 0x12, 0xba, 0x02, 0x68, 0xba, 0x34, 0x0d, 0x6c, 0xea, 0x87, 0x47,
+	0xb5, 0x8e, 0x22, 0x23, 0x05, 0xf2, 0x07, 0x58, 0xaf, 0x0d, 0x74, 0xcc, 0x91, 0x89, 0xa8, 0xac,
+	0xe7, 0x2d, 0x33, 0x70, 0x12, 0x65, 0x21, 0xc5, 0x3f, 0x53, 0x11, 0xaf, 0x55, 0xeb, 0x9b, 0xb5,
+	0x6e, 0x43, 0xef, 0x0f, 0x0c, 0xac, 0xe4, 0xb4, 0xbf, 0x65, 0xc8, 0x1c, 0xbc, 0x77, 0xf8, 0xaf,
+	0x62, 0x07, 0xf2, 0xec, 0xef, 0x6c, 0x06, 0x21, 0xb5, 0xdd, 0xb1, 0xe8, 0x30, 0x39, 0x66, 0xeb,
+	0x33, 0x13, 0xfa, 0x2f, 0x14, 0x2d, 0xc7, 0xf1, 0x3e, 0x98, 0x8e, 0x1d, 0x12, 0x6a, 0x39, 0x01,
+	0xcb, 0x61, 0x06, 0x17, 0x98, 0xb5, 0x23, 0x8c, 0xe8, 0x25, 0x14, 0xa3, 0x76, 0x33, 0x32, 0xdf,
+	0xd8, 0xee, 0xc8, 0x76, 0xc7, 0x81, 0x68, 0xe7, 0x0f, 0x56, 0x66, 0x2a, 0x3e, 0x40, 0xb9, 0x1b,
+	0x71, 0xea, 0x82, 0xa2, 0xbb, 0x21, 0x3d, 0xc3, 0x05, 0x77, 0xde, 0x86, 0x5e, 0xc2, 0x65, 0x56,
+	0x91, 0xb6, 0xe7, 0x5a, 0xce, 0x4c, 0x3d, 0xb9, 0xa6, 0xd9, 0xc7, 0xea, 0x3d, 0x8b, 0x5a, 0x13,
+	0x12, 0xd5, 0x22, 0x9a, 0x49, 0xc4, 0xc2, 0x5b, 0x6f, 0x01, 0x9d, 0xf7, 0x8e, 0x14, 0x48, 0xbc,
+	0x23, 0x67, 0x22, 0x11, 0xd1, 0x27, 0x7a, 0x12, 0x5f, 0xbd, 0xbc, 0xa6, 0xf2, 0xce, 0xbb, 0xe4,
+	0xa4, 0x2f, 0xe5, 0xc7, 0x92, 0x16, 0xc0, 0xa5, 0x73, 0xfb, 0xa8, 0xba, 0x28, 0xbb, 0xa6, 0xa2,
+	0x5a, 0x1b, 0x42, 0x0c, 0xa9, 0x8b, 0xe3, 0x44, 0x6b, 0x23, 0x1e, 0x28, 0xea, 0x0a, 0x14, 0xfd,
+	0x58, 0x9a, 0xbf, 0xff, 0xdf, 0x93, 0xa0, 0x30, 0x97, 0x7c, 0xd0, 0xa8, 0x5b, 0xe1, 0xf0, 0x2d,
+	0xba, 0x0b, 0xa5, 0xe0, 0x9d, 0xed, 0xfb, 0x64, 0x64, 0x52, 0x66, 0x0e, 0xd4, 0x34, 0xfb, 0x5f,
+	0x15, 0x85, 0x99, 0x83, 0x83, 0xe8, 0xd6, 0x63, 0xe0, 0xc2, 0x00, 0x53, 0x10, 0x56, 0xf1, 0xdb,
+	0x7b, 0x0d, 0x88, 0xcf, 0x40, 0x42, 0x8e, 0xb9, 0x16, 0x0d, 0xe6, 0xde, 0xba, 0xd1, 0x89, 0xa1,
+	0xcb, 0xb3, 0x19, 0x08, 0x2b, 0x64, 0x6e, 0x83, 0x4d, 0x45, 0x2d, 0x28, 0x2e, 0x68, 0xc7, 0x4d,
+	0x67, 0xe7, 0x93, 0xba, 0xb8, 0x30, 0x2f, 0x16, 0x2c, 0xfd, 0xbb, 0x93, 0xcb, 0xff, 0xee, 0x6f,
+	0x21, 0x3f, 0xf1, 0x28, 0x99, 0xba, 0x49, 0xb1, 0xe3, 0x3f, 0x5a, 0xe9, 0x66, 0x39, 0xa3, 0xe5,
+	0xe7, 0x1e, 0x25, 0xc2, 0x0f, 0x8b, 0x23, 0x37, 0x99, 0x19, 0xd0, 0xff, 0x41, 0x09, 0x5c, 0xcb,
+	0x0f, 0xde, 0x7a, 0xa1, 0x19, 0x4f, 0x88, 0x9b, 0x6c, 0x42, 0x2c, 0xc5, 0xf6, 0x17, 0xdc, 0xac,
+	0xfd, 0x24, 0x41, 0x69, 0x49, 0x0b, 0xed, 0xc0, 0xcd, 0xe7, 0x06, 0xd6, 0x4d, 0x3e, 0x1c, 0xf6,
+	0x57, 0x4d, 0x87, 0x0a, 0xe4, 0xbb, 0xc6, 0xc0, 0xdc, 0x6f, 0x77, 0xdb, 0xfd, 0x96, 0xde, 0x54,
+	0x24, 0x74, 0x03, 0xd4, 0x05, 0x52, 0x6d, 0x3f, 0x6a, 0x11, 0x9d, 0xf6, 0xf3, 0xf6, 0x40, 0x91,
+	0xd1, 0x4d, 0xb8, 0xb6, 0x62, 0xb7, 0x71, 0x84, 0xfb, 0x06, 0x56, 0x92, 0xe8, 0x32, 0x94, 0xba,
+	0x86, 0x39, 0x8f, 0x50, 0x12, 0xf5, 0x1f, 0x24, 0xb8, 0x3a, 0xf4, 0x26, 0xab, 0xf2, 0x51, 0x07,
+	0x5e, 0xd5, 0xd1, 0x34, 0xd3, 0x93, 0x5e, 0x3f, 0x11, 0x90, 0xb1, 0xe7, 0x58, 0xee, 0xb8, 0xec,
+	0xd1, 0x71, 0x65, 0x4c, 0x5c, 0x36, 0xeb, 0x54, 0xf8, 0x96, 0xe5, 0xdb, 0xc1, 0xc2, 0x24, 0xff,
+	0xd5, 0x74, 0xf1, 0xb3, 0x7c, 0xed, 0x80, 0xd3, 0x1b, 0x8e, 0x77, 0x32, 0x2a, 0x37, 0xa7, 0x7e,
+	0x5e, 0xec, 0xbd, 0x49, 0x33, 0x91, 0x87, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xfe, 0x2f, 0x61,
+	0x5a, 0x61, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1/query.proto b/googleapis/datastore/v1/query.proto
deleted file mode 100644
index ab5283f4..00000000
--- a/googleapis/datastore/v1/query.proto
+++ /dev/null
@@ -1,306 +0,0 @@
-// 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.datastore.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1/entity.proto"; // from google/datastore/v1/entity.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "QueryProto";
-option java_package = "com.google.datastore.v1";
-
-
-// The result of fetching an entity from Datastore.
-message EntityResult {
-  // Specifies what data the 'entity' field contains.
-  // A `ResultType` is either implied (for example, in `LookupResponse.missing`
-  // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
-  // (for example, in message `QueryResultBatch`, field `entity_result_type`
-  // specifies a `ResultType` for all the values in field `entity_results`).
-  enum ResultType {
-    // Unspecified. This value is never used.
-    RESULT_TYPE_UNSPECIFIED = 0;
-
-    // The key and properties.
-    FULL = 1;
-
-    // A projected subset of properties. The entity may have no key.
-    PROJECTION = 2;
-
-    // Only the key.
-    KEY_ONLY = 3;
-  }
-
-  // The resulting entity.
-  Entity entity = 1;
-
-  // The version of the entity, a strictly positive number that monotonically
-  // increases with changes to the entity.
-  //
-  // This field is set for [`FULL`][google.datastore.v1.EntityResult.ResultType.FULL] entity
-  // results.
-  //
-  // For [missing][google.datastore.v1.LookupResponse.missing] entities in `LookupResponse`, this
-  // is the version of the snapshot that was used to look up the entity, and it
-  // is always set except for eventually consistent reads.
-  int64 version = 4;
-
-  // A cursor that points to the position after the result entity.
-  // Set only when the `EntityResult` is part of a `QueryResultBatch` message.
-  bytes cursor = 3;
-}
-
-// A query for entities.
-message Query {
-  // The projection to return. Defaults to returning all properties.
-  repeated Projection projection = 2;
-
-  // The kinds to query (if empty, returns entities of all kinds).
-  // Currently at most 1 kind may be specified.
-  repeated KindExpression kind = 3;
-
-  // The filter to apply.
-  Filter filter = 4;
-
-  // The order to apply to the query results (if empty, order is unspecified).
-  repeated PropertyOrder order = 5;
-
-  // The properties to make distinct. The query results will contain the first
-  // result for each distinct combination of values for the given properties
-  // (if empty, all results are returned).
-  repeated PropertyReference distinct_on = 6;
-
-  // A starting point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes start_cursor = 7;
-
-  // An ending point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes end_cursor = 8;
-
-  // The number of results to skip. Applies before limit, but after all other
-  // constraints. Optional. Must be >= 0 if specified.
-  int32 offset = 10;
-
-  // The maximum number of results to return. Applies after all other
-  // constraints. Optional.
-  // Unspecified is interpreted as no limit.
-  // Must be >= 0 if specified.
-  google.protobuf.Int32Value limit = 12;
-}
-
-// A representation of a kind.
-message KindExpression {
-  // The name of the kind.
-  string name = 1;
-}
-
-// A reference to a property relative to the kind expressions.
-message PropertyReference {
-  // The name of the property.
-  // If name includes "."s, it may be interpreted as a property name path.
-  string name = 2;
-}
-
-// A representation of a property in a projection.
-message Projection {
-  // The property to project.
-  PropertyReference property = 1;
-}
-
-// The desired order for a specific property.
-message PropertyOrder {
-  // The sort direction.
-  enum Direction {
-    // Unspecified. This value must not be used.
-    DIRECTION_UNSPECIFIED = 0;
-
-    // Ascending.
-    ASCENDING = 1;
-
-    // Descending.
-    DESCENDING = 2;
-  }
-
-  // The property to order by.
-  PropertyReference property = 1;
-
-  // The direction to order by. Defaults to `ASCENDING`.
-  Direction direction = 2;
-}
-
-// A holder for any type of filter.
-message Filter {
-  // The type of filter.
-  oneof filter_type {
-    // A composite filter.
-    CompositeFilter composite_filter = 1;
-
-    // A filter on a property.
-    PropertyFilter property_filter = 2;
-  }
-}
-
-// A filter that merges multiple other filters using the given operator.
-message CompositeFilter {
-  // A composite filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // The results are required to satisfy each of the combined filters.
-    AND = 1;
-  }
-
-  // The operator for combining multiple filters.
-  Operator op = 1;
-
-  // The list of filters to combine.
-  // Must contain at least one filter.
-  repeated Filter filters = 2;
-}
-
-// A filter on a specific property.
-message PropertyFilter {
-  // A property filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // Less than.
-    LESS_THAN = 1;
-
-    // Less than or equal.
-    LESS_THAN_OR_EQUAL = 2;
-
-    // Greater than.
-    GREATER_THAN = 3;
-
-    // Greater than or equal.
-    GREATER_THAN_OR_EQUAL = 4;
-
-    // Equal.
-    EQUAL = 5;
-
-    // Has ancestor.
-    HAS_ANCESTOR = 11;
-  }
-
-  // The property to filter by.
-  PropertyReference property = 1;
-
-  // The operator to filter by.
-  Operator op = 2;
-
-  // The value to compare the property to.
-  Value value = 3;
-}
-
-// A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-message GqlQuery {
-  // A string of the format described
-  // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-  string query_string = 1;
-
-  // When false, the query string must not contain any literals and instead must
-  // bind all values. For example,
-  // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
-  // `SELECT * FROM Kind WHERE a = @value` is.
-  bool allow_literals = 2;
-
-  // For each non-reserved named binding site in the query string, there must be
-  // a named parameter with that name, but not necessarily the inverse.
-  //
-  // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
-  // `__.*__`, and must not be `""`.
-  map<string, GqlQueryParameter> named_bindings = 5;
-
-  // Numbered binding site @1 references the first numbered parameter,
-  // effectively using 1-based indexing, rather than the usual 0.
-  //
-  // For each binding site numbered i in `query_string`, there must be an i-th
-  // numbered parameter. The inverse must also be true.
-  repeated GqlQueryParameter positional_bindings = 4;
-}
-
-// A binding parameter for a GQL query.
-message GqlQueryParameter {
-  // The type of parameter.
-  oneof parameter_type {
-    // A value parameter.
-    Value value = 2;
-
-    // A query cursor. Query cursors are returned in query
-    // result batches.
-    bytes cursor = 3;
-  }
-}
-
-// A batch of results produced by a query.
-message QueryResultBatch {
-  // The possible values for the `more_results` field.
-  enum MoreResultsType {
-    // Unspecified. This value is never used.
-    MORE_RESULTS_TYPE_UNSPECIFIED = 0;
-
-    // There may be additional batches to fetch from this query.
-    NOT_FINISHED = 1;
-
-    // The query is finished, but there may be more results after the limit.
-    MORE_RESULTS_AFTER_LIMIT = 2;
-
-    // The query is finished, but there may be more results after the end
-    // cursor.
-    MORE_RESULTS_AFTER_CURSOR = 4;
-
-    // The query has been exhausted.
-    NO_MORE_RESULTS = 3;
-  }
-
-  // The number of results skipped, typically because of an offset.
-  int32 skipped_results = 6;
-
-  // A cursor that points to the position after the last skipped result.
-  // Will be set when `skipped_results` != 0.
-  bytes skipped_cursor = 3;
-
-  // The result type for every entity in `entity_results`.
-  EntityResult.ResultType entity_result_type = 1;
-
-  // The results for this batch.
-  repeated EntityResult entity_results = 2;
-
-  // A cursor that points to the position after the last result in the batch.
-  bytes end_cursor = 4;
-
-  // The state of the query after the current batch.
-  MoreResultsType more_results = 5;
-
-  // The version number of the snapshot this batch was returned from.
-  // This applies to the range of results from the query's `start_cursor` (or
-  // the beginning of the query if no cursor was given) to this batch's
-  // `end_cursor` (not the query's `end_cursor`).
-  //
-  // In a single transaction, subsequent query result batches for the same query
-  // can have a greater snapshot version number. Each batch's snapshot version
-  // is valid for all preceding batches.
-  int64 snapshot_version = 7;
-}
diff --git a/googleapis/datastore/v1beta3/datastore.pb.go b/googleapis/datastore/v1beta3/datastore.pb.go
index 10c14585..2230f74e 100644
--- a/googleapis/datastore/v1beta3/datastore.pb.go
+++ b/googleapis/datastore/v1beta3/datastore.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto
+// source: google/datastore/v1beta3/datastore.proto
 // DO NOT EDIT!
 
 /*
-Package google_datastore_v1beta3 is a generated protocol buffer package.
+Package datastore is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto
-	google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto
-	google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto
+	google/datastore/v1beta3/datastore.proto
+	google/datastore/v1beta3/entity.proto
+	google/datastore/v1beta3/query.proto
 
 It has these top-level messages:
 	LookupRequest
@@ -44,12 +44,12 @@ It has these top-level messages:
 	GqlQueryParameter
 	QueryResultBatch
 */
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -141,6 +141,13 @@ func (m *LookupRequest) String() string            { return proto.CompactTextStr
 func (*LookupRequest) ProtoMessage()               {}
 func (*LookupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *LookupRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *LookupRequest) GetReadOptions() *ReadOptions {
 	if m != nil {
 		return m.ReadOptions
@@ -242,6 +249,13 @@ func (m *RunQueryRequest) GetQueryType() isRunQueryRequest_QueryType {
 	return nil
 }
 
+func (m *RunQueryRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunQueryRequest) GetPartitionId() *PartitionId {
 	if m != nil {
 		return m.PartitionId
@@ -382,6 +396,13 @@ func (m *BeginTransactionRequest) String() string            { return proto.Comp
 func (*BeginTransactionRequest) ProtoMessage()               {}
 func (*BeginTransactionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BeginTransactionRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // The response for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
 type BeginTransactionResponse struct {
 	// The transaction identifier (always present).
@@ -393,6 +414,13 @@ func (m *BeginTransactionResponse) String() string            { return proto.Com
 func (*BeginTransactionResponse) ProtoMessage()               {}
 func (*BeginTransactionResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *BeginTransactionResponse) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The request for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
 type RollbackRequest struct {
 	// The ID of the project against which to make the request.
@@ -407,6 +435,20 @@ func (m *RollbackRequest) String() string            { return proto.CompactTextS
 func (*RollbackRequest) ProtoMessage()               {}
 func (*RollbackRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *RollbackRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RollbackRequest) GetTransaction() []byte {
+	if m != nil {
+		return m.Transaction
+	}
+	return nil
+}
+
 // The response for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
 // (an empty message).
 type RollbackResponse struct {
@@ -466,6 +508,20 @@ func (m *CommitRequest) GetTransactionSelector() isCommitRequest_TransactionSele
 	return nil
 }
 
+func (m *CommitRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CommitRequest) GetMode() CommitRequest_Mode {
+	if m != nil {
+		return m.Mode
+	}
+	return CommitRequest_MODE_UNSPECIFIED
+}
+
 func (m *CommitRequest) GetTransaction() []byte {
 	if x, ok := m.GetTransactionSelector().(*CommitRequest_Transaction); ok {
 		return x.Transaction
@@ -553,6 +609,13 @@ func (m *CommitResponse) GetMutationResults() []*MutationResult {
 	return nil
 }
 
+func (m *CommitResponse) GetIndexUpdates() int32 {
+	if m != nil {
+		return m.IndexUpdates
+	}
+	return 0
+}
+
 // The request for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
 type AllocateIdsRequest struct {
 	// The ID of the project against which to make the request.
@@ -567,6 +630,13 @@ func (m *AllocateIdsRequest) String() string            { return proto.CompactTe
 func (*AllocateIdsRequest) ProtoMessage()               {}
 func (*AllocateIdsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *AllocateIdsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *AllocateIdsRequest) GetKeys() []*Key {
 	if m != nil {
 		return m.Keys
@@ -867,6 +937,20 @@ func (m *MutationResult) GetKey() *Key {
 	return nil
 }
 
+func (m *MutationResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *MutationResult) GetConflictDetected() bool {
+	if m != nil {
+		return m.ConflictDetected
+	}
+	return false
+}
+
 // The options shared by read requests.
 type ReadOptions struct {
 	// If not specified, lookups and ancestor queries default to
@@ -1254,88 +1338,88 @@ var _Datastore_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto",
+	Metadata: "google/datastore/v1beta3/datastore.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/datastore.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/datastore.proto", fileDescriptor0) }
 
 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,
+	// 1218 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcf, 0x72, 0xdb, 0xd4,
+	0x17, 0xce, 0x75, 0x12, 0xc7, 0x39, 0xce, 0x1f, 0xf7, 0xfe, 0xfa, 0x03, 0x4d, 0x68, 0xc1, 0xa3,
+	0x52, 0x6a, 0x42, 0xb1, 0x89, 0x4b, 0xa7, 0x10, 0xba, 0x88, 0xed, 0xb8, 0xb5, 0x87, 0xc6, 0x09,
+	0xd7, 0x6e, 0x67, 0x60, 0xa3, 0x91, 0xa5, 0x1b, 0x23, 0x22, 0xeb, 0x2a, 0xd2, 0x75, 0x07, 0x0f,
+	0xc3, 0x86, 0x15, 0x03, 0xc3, 0x0a, 0x78, 0x00, 0xb6, 0xb0, 0x06, 0x5e, 0x81, 0x19, 0x66, 0xd8,
+	0xf0, 0x0a, 0x3c, 0x04, 0x4b, 0x46, 0x57, 0x57, 0x76, 0xe4, 0x56, 0xb6, 0xc2, 0xb0, 0xb3, 0x8e,
+	0xbf, 0xef, 0x9c, 0xef, 0x9c, 0x73, 0x75, 0xce, 0x15, 0x94, 0x06, 0x8c, 0x0d, 0x6c, 0x5a, 0x31,
+	0x75, 0xae, 0xfb, 0x9c, 0x79, 0xb4, 0xf2, 0x74, 0xaf, 0x4f, 0xb9, 0x7e, 0x67, 0x6a, 0x29, 0xbb,
+	0x1e, 0xe3, 0x0c, 0x2b, 0x21, 0xb2, 0x3c, 0xb5, 0x4b, 0xe4, 0xce, 0x35, 0xe9, 0x43, 0x77, 0xad,
+	0x8a, 0xee, 0x38, 0x8c, 0xeb, 0xdc, 0x62, 0x8e, 0x1f, 0xf2, 0x76, 0x6e, 0x26, 0x46, 0xa0, 0x0e,
+	0xb7, 0xf8, 0x58, 0xc2, 0x5e, 0x4d, 0x84, 0x9d, 0x8f, 0xa8, 0x27, 0x51, 0xea, 0x4f, 0x08, 0x36,
+	0x1f, 0x31, 0x76, 0x36, 0x72, 0x09, 0x3d, 0x1f, 0x51, 0x9f, 0xe3, 0xeb, 0x00, 0xae, 0xc7, 0x3e,
+	0xa1, 0x06, 0xd7, 0x2c, 0x53, 0xc9, 0x15, 0x51, 0x69, 0x9d, 0xac, 0x4b, 0x4b, 0xdb, 0xc4, 0x2d,
+	0xd8, 0xf0, 0xa8, 0x6e, 0x6a, 0xcc, 0x15, 0x9a, 0x14, 0x54, 0x44, 0xa5, 0x7c, 0xf5, 0x66, 0x39,
+	0x29, 0x99, 0x32, 0xa1, 0xba, 0x79, 0x1c, 0x82, 0x49, 0xde, 0x9b, 0x3e, 0xe0, 0x3d, 0x58, 0x39,
+	0xa3, 0x63, 0x5f, 0x59, 0x2e, 0x2e, 0x97, 0xf2, 0xd5, 0xeb, 0xc9, 0x1e, 0xde, 0xa7, 0x63, 0x22,
+	0xa0, 0xea, 0xef, 0x08, 0xb6, 0x22, 0xb5, 0xbe, 0xcb, 0x1c, 0x9f, 0xe2, 0xfb, 0xb0, 0x7a, 0xca,
+	0x46, 0x8e, 0xa9, 0x20, 0xe1, 0xe6, 0xb5, 0x64, 0x37, 0x4d, 0x51, 0x1d, 0x42, 0xfd, 0x91, 0xcd,
+	0x49, 0x48, 0xc2, 0x07, 0xb0, 0x36, 0xb4, 0x7c, 0xdf, 0x72, 0x06, 0x4a, 0xe6, 0x52, 0xfc, 0x88,
+	0x86, 0xdf, 0x85, 0x9c, 0x49, 0x4f, 0xa9, 0xe7, 0x51, 0x33, 0x5d, 0x26, 0x13, 0xb8, 0xfa, 0x47,
+	0x06, 0xb6, 0xc9, 0xc8, 0xf9, 0x20, 0x68, 0x47, 0xfa, 0xea, 0xbb, 0xba, 0xc7, 0xad, 0xa0, 0x82,
+	0x01, 0x20, 0xb3, 0xa8, 0xfa, 0x27, 0x11, 0xba, 0x6d, 0x92, 0xbc, 0x3b, 0x7d, 0xf8, 0x0f, 0xfb,
+	0x78, 0x0f, 0x56, 0xc5, 0x89, 0x52, 0x96, 0x85, 0x8b, 0x57, 0x92, 0x5d, 0x88, 0x4c, 0x5b, 0x4b,
+	0x24, 0xc4, 0xe3, 0x1a, 0xac, 0x0f, 0xce, 0x6d, 0x2d, 0x24, 0xaf, 0x09, 0xb2, 0x9a, 0x4c, 0x7e,
+	0x78, 0x6e, 0x47, 0xfc, 0xdc, 0x40, 0xfe, 0xae, 0x6f, 0x00, 0x08, 0xba, 0xc6, 0xc7, 0x2e, 0x55,
+	0xbf, 0x46, 0x50, 0x98, 0x16, 0x54, 0x1e, 0x90, 0x03, 0x58, 0xed, 0xeb, 0xdc, 0xf8, 0x58, 0x66,
+	0xb8, 0xbb, 0x40, 0x5e, 0xd8, 0xdf, 0x7a, 0xc0, 0x20, 0x21, 0x11, 0xdf, 0x8d, 0x12, 0xcc, 0xa4,
+	0x4a, 0x50, 0xa6, 0xa7, 0xbe, 0x03, 0x2f, 0xd6, 0xe9, 0xc0, 0x72, 0x7a, 0x9e, 0xee, 0xf8, 0xba,
+	0x11, 0x14, 0x2b, 0x5d, 0x97, 0xd5, 0xfb, 0xa0, 0x3c, 0xcb, 0x94, 0xe9, 0x14, 0x21, 0xcf, 0xa7,
+	0x66, 0x91, 0xd4, 0x06, 0xb9, 0x68, 0x52, 0x09, 0x6c, 0x13, 0x66, 0xdb, 0x7d, 0xdd, 0x38, 0x4b,
+	0x79, 0xaa, 0x16, 0xfb, 0xc4, 0x50, 0x98, 0xfa, 0x0c, 0x95, 0xa8, 0xbf, 0x64, 0x60, 0xb3, 0xc1,
+	0x86, 0x43, 0x8b, 0xa7, 0x0c, 0x73, 0x00, 0x2b, 0x43, 0x66, 0x52, 0x65, 0xb5, 0x88, 0x4a, 0x5b,
+	0xd5, 0xdb, 0xc9, 0x65, 0x8c, 0x79, 0x2d, 0x1f, 0x31, 0x93, 0x12, 0xc1, 0xc4, 0xea, 0x73, 0x84,
+	0xb6, 0x96, 0x62, 0x52, 0xf1, 0x01, 0xac, 0x0f, 0x47, 0x72, 0x62, 0x2a, 0x59, 0xf1, 0x46, 0xce,
+	0x39, 0x55, 0x47, 0x12, 0x4a, 0xa6, 0x24, 0xf5, 0x01, 0xac, 0x04, 0x31, 0xf1, 0x55, 0x28, 0x1c,
+	0x1d, 0x1f, 0x36, 0xb5, 0xc7, 0x9d, 0xee, 0x49, 0xb3, 0xd1, 0x7e, 0xd0, 0x6e, 0x1e, 0x16, 0x96,
+	0xf0, 0x15, 0xd8, 0xec, 0x91, 0x5a, 0xa7, 0x5b, 0x6b, 0xf4, 0xda, 0xc7, 0x9d, 0xda, 0xa3, 0x02,
+	0xc2, 0xff, 0x87, 0x2b, 0x9d, 0xe3, 0x8e, 0x16, 0x37, 0x67, 0xea, 0x2f, 0xc0, 0xd5, 0x0b, 0xc2,
+	0x34, 0x9f, 0xda, 0xd4, 0xe0, 0xcc, 0x53, 0xbf, 0x42, 0xb0, 0x15, 0xa5, 0x28, 0xbb, 0xda, 0x85,
+	0x42, 0x14, 0x5f, 0xf3, 0xc4, 0x09, 0x8c, 0xe6, 0x62, 0x29, 0x85, 0xf6, 0x70, 0x24, 0x6d, 0x0f,
+	0x63, 0xcf, 0x3e, 0xbe, 0x01, 0x9b, 0x96, 0x63, 0xd2, 0x4f, 0xb5, 0x91, 0x6b, 0xea, 0x9c, 0xfa,
+	0xca, 0x4a, 0x11, 0x95, 0x56, 0xc9, 0x86, 0x30, 0x3e, 0x0e, 0x6d, 0xea, 0x29, 0xe0, 0x9a, 0x6d,
+	0x33, 0x43, 0xe7, 0xb4, 0x6d, 0xfa, 0x29, 0x3b, 0x19, 0x8d, 0x6e, 0x94, 0x7e, 0x74, 0xb7, 0xe0,
+	0x7f, 0xb1, 0x38, 0x32, 0xf1, 0x7f, 0xe1, 0xe9, 0xb7, 0x0c, 0xe4, 0xa2, 0xd4, 0xf1, 0x3e, 0x64,
+	0x2d, 0xc7, 0xa7, 0x1e, 0x17, 0xc9, 0xe5, 0xab, 0xc5, 0x45, 0xf3, 0xbb, 0xb5, 0x44, 0x24, 0x23,
+	0xe0, 0x86, 0x95, 0x11, 0x27, 0x32, 0x25, 0x37, 0x64, 0x84, 0x5c, 0x11, 0x37, 0x7b, 0x19, 0xae,
+	0x88, 0x7b, 0x0f, 0xb2, 0x26, 0xb5, 0x29, 0xa7, 0x72, 0xe8, 0xcd, 0xcf, 0x3a, 0x20, 0x86, 0x70,
+	0x7c, 0x03, 0x36, 0xfa, 0xba, 0x4f, 0xb5, 0xa7, 0xd4, 0xf3, 0x83, 0xf3, 0x1f, 0xf4, 0x65, 0xb9,
+	0x85, 0x48, 0x3e, 0xb0, 0x3e, 0x09, 0x8d, 0xf5, 0x3c, 0xac, 0x33, 0x97, 0x7a, 0xa2, 0x3c, 0xf5,
+	0xeb, 0xf0, 0x92, 0xc1, 0x9c, 0x53, 0xdb, 0x32, 0xb8, 0x66, 0x52, 0x4e, 0xe5, 0x49, 0xe4, 0x9e,
+	0xce, 0xe9, 0x60, 0xac, 0x7e, 0x89, 0x60, 0x2b, 0x7e, 0x8a, 0x70, 0x05, 0x96, 0xcf, 0x68, 0x34,
+	0xcb, 0x17, 0xf4, 0x23, 0x40, 0x62, 0x05, 0xd6, 0x22, 0x3d, 0x41, 0x0b, 0x96, 0x49, 0xf4, 0x88,
+	0xdf, 0x80, 0x2b, 0x33, 0xc1, 0xa9, 0x29, 0x4a, 0x9d, 0x23, 0x85, 0xe8, 0x8f, 0x43, 0x69, 0x57,
+	0xff, 0x46, 0x90, 0xbf, 0xb0, 0x62, 0x70, 0x1f, 0x0a, 0x62, 0x3f, 0x19, 0xcc, 0xf1, 0x2d, 0x9f,
+	0x53, 0xc7, 0x18, 0x8b, 0xf7, 0x7d, 0xab, 0x7a, 0x37, 0xd5, 0x8e, 0x12, 0xbf, 0x1b, 0x53, 0x72,
+	0x6b, 0x89, 0x6c, 0x7b, 0x71, 0xd3, 0xec, 0x38, 0xc9, 0x3c, 0x67, 0x9c, 0xa8, 0x47, 0xb0, 0x3d,
+	0xe3, 0x09, 0x17, 0xe1, 0x1a, 0x69, 0xd6, 0x0e, 0xb5, 0xc6, 0x71, 0xa7, 0xdb, 0xee, 0xf6, 0x9a,
+	0x9d, 0xc6, 0x87, 0x33, 0x33, 0x02, 0x20, 0xdb, 0xed, 0x91, 0xe3, 0xce, 0xc3, 0x02, 0xc2, 0x1b,
+	0x90, 0x6b, 0x3e, 0x69, 0x76, 0x7a, 0x8f, 0xc5, 0x4c, 0xc0, 0x50, 0xb8, 0x90, 0x91, 0x58, 0x5b,
+	0xd5, 0x5f, 0xd7, 0x60, 0xfd, 0x30, 0xca, 0x05, 0x7f, 0x83, 0x20, 0x1b, 0xde, 0x71, 0xf0, 0xad,
+	0xe4, 0x4c, 0x63, 0x77, 0xb6, 0x9d, 0xd2, 0x62, 0xa0, 0x1c, 0xda, 0x6f, 0x7d, 0xf1, 0xe7, 0x5f,
+	0xdf, 0x66, 0x76, 0xd5, 0x9b, 0x93, 0xdb, 0xa0, 0x7c, 0xab, 0xfd, 0xca, 0x67, 0xd3, 0x37, 0xfe,
+	0xf3, 0x7d, 0x5b, 0xd0, 0xf6, 0xd1, 0x2e, 0xfe, 0x1e, 0x41, 0x2e, 0x5a, 0xaa, 0xf8, 0xf5, 0x39,
+	0xb5, 0x8f, 0xdf, 0x64, 0x76, 0x76, 0xd3, 0x40, 0xa5, 0xaa, 0xaa, 0x50, 0x75, 0x5b, 0xbd, 0xb5,
+	0x40, 0x95, 0x27, 0x89, 0x81, 0xae, 0x9f, 0x11, 0x14, 0x66, 0xb7, 0x24, 0xde, 0x4b, 0x0e, 0x9a,
+	0xb0, 0x8b, 0x77, 0xaa, 0x97, 0xa1, 0x48, 0xbd, 0xfb, 0x42, 0xef, 0xdb, 0x6a, 0x65, 0x81, 0xde,
+	0xfe, 0x8c, 0x83, 0x40, 0x77, 0xd0, 0xdf, 0x70, 0xfa, 0xcf, 0xeb, 0x6f, 0x6c, 0x05, 0xce, 0xeb,
+	0x6f, 0x7c, 0x91, 0xa4, 0xee, 0xaf, 0x21, 0x68, 0x93, 0xfe, 0xca, 0xdd, 0x3e, 0xb7, 0xbf, 0xf1,
+	0x3b, 0xc5, 0xdc, 0xfe, 0xce, 0x5e, 0x15, 0x52, 0xf7, 0x57, 0x12, 0x03, 0x5d, 0x3f, 0x20, 0xc8,
+	0x5f, 0xd8, 0x18, 0x78, 0xce, 0x7d, 0xe1, 0xd9, 0x05, 0xb6, 0xf3, 0x66, 0x4a, 0xb4, 0x14, 0x78,
+	0x57, 0x08, 0xac, 0xa8, 0xbb, 0x0b, 0x04, 0xea, 0x53, 0xee, 0x3e, 0xda, 0xad, 0x7f, 0x87, 0xe0,
+	0x9a, 0xc1, 0x86, 0x89, 0xb1, 0xea, 0x5b, 0x93, 0xf7, 0xfa, 0x24, 0xf8, 0xdc, 0x3a, 0x41, 0x1f,
+	0xd5, 0x24, 0x76, 0xc0, 0x6c, 0xdd, 0x19, 0x94, 0x99, 0x37, 0xa8, 0x0c, 0xa8, 0x23, 0x3e, 0xc6,
+	0x2a, 0xe1, 0x5f, 0xba, 0x6b, 0xf9, 0xcf, 0x7e, 0xb5, 0xbd, 0x37, 0xb1, 0xfc, 0x98, 0x79, 0xf9,
+	0x61, 0xe8, 0xa3, 0x61, 0xb3, 0x91, 0x59, 0x9e, 0x84, 0x28, 0x3f, 0xd9, 0xab, 0x07, 0xd0, 0x7e,
+	0x56, 0xb8, 0xbb, 0xf3, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0f, 0x31, 0x6a, 0x10, 0x8c, 0x0e,
+	0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/datastore.proto b/googleapis/datastore/v1beta3/datastore.proto
deleted file mode 100644
index 2373cd3e..00000000
--- a/googleapis/datastore/v1beta3/datastore.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// 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.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto"; // from google/datastore/v1beta3/entity.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto"; // from google/datastore/v1beta3/query.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DatastoreProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// Each RPC normalizes the partition IDs of the keys in its input entities,
-// and always returns entities with keys with normalized partition IDs.
-// This applies to all keys and entities, including those in values, except keys
-// with both an empty path and an empty or unset partition ID. Normalization of
-// input keys sets the project ID (if not already set) to the project ID from
-// the request.
-//
-service Datastore {
-  // Looks up entities by key.
-  rpc Lookup(LookupRequest) returns (LookupResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:lookup" body: "*" };
-  }
-
-  // Queries for entities.
-  rpc RunQuery(RunQueryRequest) returns (RunQueryResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:runQuery" body: "*" };
-  }
-
-  // Begins a new transaction.
-  rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:beginTransaction" body: "*" };
-  }
-
-  // Commits a transaction, optionally creating, deleting or modifying some
-  // entities.
-  rpc Commit(CommitRequest) returns (CommitResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:commit" body: "*" };
-  }
-
-  // Rolls back a transaction.
-  rpc Rollback(RollbackRequest) returns (RollbackResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:rollback" body: "*" };
-  }
-
-  // Allocates IDs for the given keys, which is useful for referencing an entity
-  // before it is inserted.
-  rpc AllocateIds(AllocateIdsRequest) returns (AllocateIdsResponse) {
-    option (google.api.http) = { post: "/v1beta3/projects/{project_id}:allocateIds" body: "*" };
-  }
-}
-
-// The request for [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup].
-message LookupRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The options for this lookup request.
-  ReadOptions read_options = 1;
-
-  // Keys of entities to look up.
-  repeated Key keys = 3;
-}
-
-// The response for [Datastore.Lookup][google.datastore.v1beta3.Datastore.Lookup].
-message LookupResponse {
-  // Entities found as `ResultType.FULL` entities. The order of results in this
-  // field is undefined and has no relation to the order of the keys in the
-  // input.
-  repeated EntityResult found = 1;
-
-  // Entities not found as `ResultType.KEY_ONLY` entities. The order of results
-  // in this field is undefined and has no relation to the order of the keys
-  // in the input.
-  repeated EntityResult missing = 2;
-
-  // A list of keys that were not looked up due to resource constraints. The
-  // order of results in this field is undefined and has no relation to the
-  // order of the keys in the input.
-  repeated Key deferred = 3;
-}
-
-// The request for [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery].
-message RunQueryRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // Entities are partitioned into subsets, identified by a partition ID.
-  // Queries are scoped to a single partition.
-  // This partition ID is normalized with the standard default context
-  // partition ID.
-  PartitionId partition_id = 2;
-
-  // The options for this query.
-  ReadOptions read_options = 1;
-
-  // The type of query.
-  oneof query_type {
-    // The query to run.
-    Query query = 3;
-
-    // The GQL query to run.
-    GqlQuery gql_query = 7;
-  }
-}
-
-// The response for [Datastore.RunQuery][google.datastore.v1beta3.Datastore.RunQuery].
-message RunQueryResponse {
-  // A batch of query results (always present).
-  QueryResultBatch batch = 1;
-
-  // The parsed form of the `GqlQuery` from the request, if it was set.
-  Query query = 2;
-}
-
-// The request for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-message BeginTransactionRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-}
-
-// The response for [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-message BeginTransactionResponse {
-  // The transaction identifier (always present).
-  bytes transaction = 1;
-}
-
-// The request for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
-message RollbackRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The transaction identifier, returned by a call to
-  // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-  bytes transaction = 1;
-}
-
-// The response for [Datastore.Rollback][google.datastore.v1beta3.Datastore.Rollback].
-// (an empty message).
-message RollbackResponse {
-
-}
-
-// The request for [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit].
-message CommitRequest {
-  // The modes available for commits.
-  enum Mode {
-    // Unspecified. This value must not be used.
-    MODE_UNSPECIFIED = 0;
-
-    // Transactional: The mutations are either all applied, or none are applied.
-    // Learn about transactions [here](https://cloud.google.com/datastore/docs/concepts/transactions).
-    TRANSACTIONAL = 1;
-
-    // Non-transactional: The mutations may not apply as all or none.
-    NON_TRANSACTIONAL = 2;
-  }
-
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // The type of commit to perform. Defaults to `TRANSACTIONAL`.
-  Mode mode = 5;
-
-  // Must be set when mode is `TRANSACTIONAL`.
-  oneof transaction_selector {
-    // The identifier of the transaction associated with the commit. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-    bytes transaction = 1;
-  }
-
-  // The mutations to perform.
-  //
-  // When mode is `TRANSACTIONAL`, mutations affecting a single entity are
-  // applied in order. The following sequences of mutations affecting a single
-  // entity are not permitted in a single `Commit` request:
-  //
-  // - `insert` followed by `insert`
-  // - `update` followed by `insert`
-  // - `upsert` followed by `insert`
-  // - `delete` followed by `update`
-  //
-  // When mode is `NON_TRANSACTIONAL`, no two mutations may affect a single
-  // entity.
-  repeated Mutation mutations = 6;
-}
-
-// The response for [Datastore.Commit][google.datastore.v1beta3.Datastore.Commit].
-message CommitResponse {
-  // The result of performing the mutations.
-  // The i-th mutation result corresponds to the i-th mutation in the request.
-  repeated MutationResult mutation_results = 3;
-
-  // The number of index entries updated during the commit, or zero if none were
-  // updated.
-  int32 index_updates = 4;
-}
-
-// The request for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
-message AllocateIdsRequest {
-  // The ID of the project against which to make the request.
-  string project_id = 8;
-
-  // A list of keys with incomplete key paths for which to allocate IDs.
-  // No key may be reserved/read-only.
-  repeated Key keys = 1;
-}
-
-// The response for [Datastore.AllocateIds][google.datastore.v1beta3.Datastore.AllocateIds].
-message AllocateIdsResponse {
-  // The keys specified in the request (in the same order), each with
-  // its key path completed with a newly allocated ID.
-  repeated Key keys = 1;
-}
-
-// A mutation to apply to an entity.
-message Mutation {
-  // The mutation operation.
-  //
-  // For `insert`, `update`, and `upsert`:
-  // - The entity's key must not be reserved/read-only.
-  // - No property in the entity may have a reserved name,
-  //   not even a property in an entity in a value.
-  // - No value in the entity may have meaning 18,
-  //   not even a value in an entity in another value.
-  oneof operation {
-    // The entity to insert. The entity must not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity insert = 4;
-
-    // The entity to update. The entity must already exist.
-    // Must have a complete key path.
-    Entity update = 5;
-
-    // The entity to upsert. The entity may or may not already exist.
-    // The entity key's final path element may be incomplete.
-    Entity upsert = 6;
-
-    // The key of the entity to delete. The entity may or may not already exist.
-    // Must have a complete key path and must not be reserved/read-only.
-    Key delete = 7;
-  }
-
-  // When set, the server will detect whether or not this mutation conflicts
-  // with the current version of the entity on the server. Conflicting mutations
-  // are not applied, and are marked as such in MutationResult.
-  oneof conflict_detection_strategy {
-    // The version of the entity that this mutation is being applied to. If this
-    // does not match the current version on the server, the mutation conflicts.
-    int64 base_version = 8;
-  }
-}
-
-// The result of applying a mutation.
-message MutationResult {
-  // The automatically allocated key.
-  // Set only when the mutation allocated a key.
-  Key key = 3;
-
-  // The version of the entity on the server after processing the mutation. If
-  // the mutation doesn't change anything on the server, then the version will
-  // be the version of the current entity or, if no entity is present, a version
-  // that is strictly greater than the version of any previous entity and less
-  // than the version of any possible future entity.
-  int64 version = 4;
-
-  // Whether a conflict was detected for this mutation. Always false when a
-  // conflict detection strategy field is not set in the mutation.
-  bool conflict_detected = 5;
-}
-
-// The options shared by read requests.
-message ReadOptions {
-  // The possible values for read consistencies.
-  enum ReadConsistency {
-    // Unspecified. This value must not be used.
-    READ_CONSISTENCY_UNSPECIFIED = 0;
-
-    // Strong consistency.
-    STRONG = 1;
-
-    // Eventual consistency.
-    EVENTUAL = 2;
-  }
-
-  // If not specified, lookups and ancestor queries default to
-  // `read_consistency`=`STRONG`, global queries default to
-  // `read_consistency`=`EVENTUAL`.
-  oneof consistency_type {
-    // The non-transactional read consistency to use.
-    // Cannot be set to `STRONG` for global queries.
-    ReadConsistency read_consistency = 1;
-
-    // The identifier of the transaction in which to read. A
-    // transaction identifier is returned by a call to
-    // [Datastore.BeginTransaction][google.datastore.v1beta3.Datastore.BeginTransaction].
-    bytes transaction = 2;
-  }
-}
diff --git a/googleapis/datastore/v1beta3/entity.pb.go b/googleapis/datastore/v1beta3/entity.pb.go
index 8da68cff..005156ba 100644
--- a/googleapis/datastore/v1beta3/entity.pb.go
+++ b/googleapis/datastore/v1beta3/entity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto
+// source: google/datastore/v1beta3/entity.proto
 // DO NOT EDIT!
 
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 import google_type "google.golang.org/genproto/googleapis/type/latlng"
@@ -48,6 +48,20 @@ func (m *PartitionId) String() string            { return proto.CompactTextStrin
 func (*PartitionId) ProtoMessage()               {}
 func (*PartitionId) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *PartitionId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *PartitionId) GetNamespaceId() string {
+	if m != nil {
+		return m.NamespaceId
+	}
+	return ""
+}
+
 // A unique identifier for an entity.
 // If a key's partition ID or any of its path kinds or names are
 // reserved/read-only, the key is reserved/read-only.
@@ -139,6 +153,13 @@ func (m *Key_PathElement) GetIdType() isKey_PathElement_IdType {
 	return nil
 }
 
+func (m *Key_PathElement) GetKind() string {
+	if m != nil {
+		return m.Kind
+	}
+	return ""
+}
+
 func (m *Key_PathElement) GetId() int64 {
 	if x, ok := m.GetIdType().(*Key_PathElement_Id); ok {
 		return x.Id
@@ -402,6 +423,20 @@ func (m *Value) GetArrayValue() *ArrayValue {
 	return nil
 }
 
+func (m *Value) GetMeaning() int32 {
+	if m != nil {
+		return m.Meaning
+	}
+	return 0
+}
+
+func (m *Value) GetExcludeFromIndexes() bool {
+	if m != nil {
+		return m.ExcludeFromIndexes
+	}
+	return false
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Value) 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 _Value_OneofMarshaler, _Value_OneofUnmarshaler, _Value_OneofSizer, []interface{}{
@@ -673,59 +708,57 @@ func init() {
 	proto.RegisterType((*Entity)(nil), "google.datastore.v1beta3.Entity")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/entity.proto", fileDescriptor1) }
 
 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,
+	// 776 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x95, 0xcf, 0x8e, 0xdb, 0x36,
+	0x10, 0xc6, 0x25, 0x7b, 0xed, 0xac, 0x46, 0xca, 0x6e, 0xca, 0xe4, 0x20, 0x18, 0x49, 0xd7, 0x75,
+	0xbb, 0x80, 0x7b, 0x91, 0x92, 0x0d, 0x8a, 0x16, 0x4d, 0x73, 0x88, 0x5b, 0x37, 0x32, 0x12, 0xb4,
+	0x06, 0x11, 0xe4, 0xd0, 0x43, 0x0d, 0xda, 0x62, 0x14, 0xd6, 0x12, 0x29, 0x48, 0x54, 0x10, 0x3d,
+	0x46, 0x5f, 0xa3, 0x7d, 0xad, 0xde, 0xfa, 0x12, 0x05, 0xff, 0x48, 0x5e, 0x24, 0xf0, 0x36, 0x37,
+	0x71, 0xe6, 0x37, 0x1f, 0x3f, 0x72, 0x86, 0x36, 0x5c, 0x66, 0x42, 0x64, 0x39, 0x8d, 0x53, 0x22,
+	0x49, 0x2d, 0x45, 0x45, 0xe3, 0x77, 0x8f, 0xb6, 0x54, 0x92, 0xc7, 0x31, 0xe5, 0x92, 0xc9, 0x36,
+	0x2a, 0x2b, 0x21, 0x05, 0x0a, 0x0d, 0x16, 0xf5, 0x58, 0x64, 0xb1, 0xc9, 0x7d, 0x2b, 0x40, 0x4a,
+	0x16, 0x13, 0xce, 0x85, 0x24, 0x92, 0x09, 0x5e, 0x9b, 0xba, 0x3e, 0xab, 0x57, 0xdb, 0xe6, 0x4d,
+	0x5c, 0xcb, 0xaa, 0xd9, 0x49, 0x9b, 0xbd, 0xf8, 0x30, 0x2b, 0x59, 0x41, 0x6b, 0x49, 0x8a, 0xd2,
+	0x02, 0x76, 0xdb, 0x58, 0xb6, 0x25, 0x8d, 0x73, 0x22, 0x73, 0x9e, 0x99, 0xcc, 0xec, 0x57, 0xf0,
+	0xd7, 0xa4, 0x92, 0x4c, 0x6d, 0xb6, 0x4a, 0xd1, 0x03, 0x80, 0xb2, 0x12, 0x7f, 0xd0, 0x9d, 0xdc,
+	0xb0, 0x34, 0x1c, 0x4c, 0xdd, 0xb9, 0x87, 0x3d, 0x1b, 0x59, 0xa5, 0xe8, 0x0b, 0x08, 0x38, 0x29,
+	0x68, 0x5d, 0x92, 0x1d, 0x55, 0xc0, 0x89, 0x06, 0xfc, 0x3e, 0xb6, 0x4a, 0x67, 0xff, 0xb8, 0x30,
+	0x7c, 0x41, 0x5b, 0x94, 0x40, 0x50, 0x76, 0xc2, 0x0a, 0x75, 0xa7, 0xee, 0xdc, 0xbf, 0xba, 0x8c,
+	0x8e, 0x5d, 0x40, 0x74, 0xcd, 0x06, 0xf6, 0xcb, 0x6b, 0x9e, 0x9e, 0xc2, 0x49, 0x49, 0xe4, 0xdb,
+	0x70, 0x30, 0x1d, 0xce, 0xfd, 0xab, 0xaf, 0x8f, 0x2b, 0xbc, 0xa0, 0x6d, 0xb4, 0x26, 0xf2, 0xed,
+	0x32, 0xa7, 0x05, 0xe5, 0x12, 0xeb, 0xb2, 0xc9, 0x2b, 0x75, 0xc2, 0x3e, 0x88, 0x10, 0x9c, 0xec,
+	0x19, 0x37, 0x7e, 0x3c, 0xac, 0xbf, 0xd1, 0x1d, 0x18, 0xd8, 0xd3, 0x0e, 0x13, 0x07, 0x0f, 0x58,
+	0x8a, 0xee, 0xc1, 0x89, 0x3a, 0x54, 0x38, 0x54, 0x54, 0xe2, 0x60, 0xbd, 0x5a, 0x78, 0x70, 0x8b,
+	0xa5, 0x1b, 0x75, 0x89, 0xb3, 0x25, 0xc0, 0xb3, 0xaa, 0x22, 0xed, 0x6b, 0x92, 0x37, 0x14, 0x7d,
+	0x0b, 0xe3, 0x77, 0xea, 0xa3, 0x0e, 0x5d, 0x6d, 0xf2, 0xe2, 0xb8, 0x49, 0x5d, 0x80, 0x2d, 0x3e,
+	0xfb, 0x7b, 0x04, 0x23, 0x23, 0xf1, 0x04, 0x80, 0x37, 0x79, 0xbe, 0xd1, 0x89, 0xd0, 0x9f, 0xba,
+	0xf3, 0xb3, 0xab, 0x49, 0x27, 0xd3, 0x35, 0x36, 0xfa, 0xa5, 0xc9, 0x73, 0xcd, 0x27, 0x0e, 0xf6,
+	0x78, 0xb7, 0x40, 0x97, 0x70, 0x7b, 0x2b, 0x44, 0x4e, 0x09, 0xb7, 0xf5, 0xea, 0x74, 0xa7, 0x89,
+	0x83, 0x03, 0x1b, 0xee, 0x31, 0xc6, 0x25, 0xcd, 0x68, 0x65, 0xb1, 0xee, 0xc8, 0x81, 0x0d, 0x1b,
+	0xec, 0x4b, 0x08, 0x52, 0xd1, 0x6c, 0x73, 0x6a, 0x29, 0x75, 0x09, 0x6e, 0xe2, 0x60, 0xdf, 0x44,
+	0x0d, 0xb4, 0x84, 0xf3, 0x7e, 0xca, 0x2c, 0x07, 0xba, 0xc5, 0x1f, 0x9b, 0x7e, 0xd5, 0x71, 0x89,
+	0x83, 0xcf, 0xfa, 0x22, 0x23, 0xf3, 0x03, 0x78, 0x7b, 0xda, 0x5a, 0x81, 0x91, 0x16, 0x78, 0x70,
+	0x63, 0x87, 0x13, 0x07, 0x9f, 0xee, 0x69, 0xdb, 0x3b, 0xad, 0x65, 0xc5, 0x78, 0x66, 0x05, 0x3e,
+	0xb3, 0xed, 0xf2, 0x4d, 0xd4, 0x40, 0x17, 0x00, 0xdb, 0x5c, 0x6c, 0x2d, 0x82, 0xa6, 0xee, 0x3c,
+	0x50, 0xb7, 0xa7, 0x62, 0x06, 0x78, 0x0a, 0xe7, 0x19, 0x15, 0x9b, 0x52, 0x30, 0x2e, 0x2d, 0x75,
+	0xaa, 0x9d, 0xdc, 0xed, 0x9c, 0xa8, 0x96, 0x47, 0x2f, 0x89, 0x7c, 0xc9, 0xb3, 0xc4, 0xc1, 0xb7,
+	0x33, 0x2a, 0xd6, 0x0a, 0xee, 0x6e, 0x22, 0x30, 0x6f, 0xdc, 0xd6, 0x8e, 0x75, 0xed, 0xf4, 0xf8,
+	0x29, 0x96, 0x9a, 0x56, 0x36, 0x4d, 0x9d, 0x91, 0x79, 0x0e, 0x3e, 0x51, 0x13, 0x65, 0x55, 0x3c,
+	0xad, 0xf2, 0xd5, 0x71, 0x95, 0xc3, 0xf8, 0x25, 0x0e, 0x06, 0x72, 0x18, 0xc6, 0x10, 0x6e, 0x15,
+	0x94, 0x70, 0xc6, 0xb3, 0xf0, 0x6c, 0xea, 0xce, 0x47, 0xb8, 0x5b, 0xa2, 0x87, 0x70, 0x8f, 0xbe,
+	0xdf, 0xe5, 0x4d, 0x4a, 0x37, 0x6f, 0x2a, 0x51, 0x6c, 0x18, 0x4f, 0xe9, 0x7b, 0x5a, 0x87, 0x77,
+	0xd5, 0xb4, 0x60, 0x64, 0x73, 0x3f, 0x57, 0xa2, 0x58, 0x99, 0xcc, 0x22, 0x00, 0xd0, 0x76, 0xcc,
+	0xd0, 0xff, 0xeb, 0xc2, 0xd8, 0x98, 0x47, 0x31, 0x0c, 0xf7, 0xb4, 0xb5, 0xaf, 0xfa, 0xe6, 0x8e,
+	0x61, 0x45, 0xa2, 0xb5, 0xfe, 0x65, 0x29, 0x69, 0x25, 0x19, 0xad, 0xc3, 0xa1, 0x7e, 0x26, 0x0f,
+	0xff, 0xef, 0x8e, 0xa2, 0x75, 0x5f, 0xb2, 0xe4, 0xb2, 0x6a, 0xf1, 0x35, 0x8d, 0xc9, 0xef, 0x70,
+	0xfe, 0x41, 0x1a, 0xdd, 0x39, 0xb8, 0xf2, 0xcc, 0xb6, 0xdf, 0xc0, 0xe8, 0x30, 0xea, 0x9f, 0xf0,
+	0x30, 0x0d, 0xfd, 0xfd, 0xe0, 0x3b, 0x77, 0xf1, 0xa7, 0x0b, 0xf7, 0x77, 0xa2, 0x38, 0x5a, 0xb1,
+	0xf0, 0x8d, 0xc9, 0xb5, 0x9a, 0xf3, 0xb5, 0xfb, 0xdb, 0x33, 0x0b, 0x66, 0x22, 0x27, 0x3c, 0x8b,
+	0x44, 0x95, 0xc5, 0x19, 0xe5, 0xfa, 0x15, 0xc4, 0x26, 0x45, 0x4a, 0x56, 0x7f, 0xfc, 0x0f, 0xf1,
+	0xa4, 0x8f, 0xfc, 0x35, 0xf8, 0xfc, 0xb9, 0xd1, 0xf8, 0x31, 0x17, 0x4d, 0x1a, 0xfd, 0xd4, 0x6f,
+	0xf9, 0xfa, 0xd1, 0x42, 0xa1, 0xdb, 0xb1, 0x96, 0x7b, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff,
+	0x7e, 0x53, 0x2d, 0x57, 0x6f, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/entity.proto b/googleapis/datastore/v1beta3/entity.proto
deleted file mode 100644
index 687d0d68..00000000
--- a/googleapis/datastore/v1beta3/entity.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// 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.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.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/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "EntityProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// A partition ID identifies a grouping of entities. The grouping is always
-// by project and namespace, however the namespace ID may be empty.
-//
-// A partition ID contains several dimensions:
-// project ID and namespace ID.
-//
-// Partition dimensions:
-//
-// - May be `""`.
-// - Must be valid UTF-8 bytes.
-// - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}`
-// If the value of any dimension matches regex `__.*__`, the partition is
-// reserved/read-only.
-// A reserved/read-only partition ID is forbidden in certain documented
-// contexts.
-//
-// Foreign partition IDs (in which the project ID does
-// not match the context project ID ) are discouraged.
-// Reads and writes of foreign partition IDs may fail if the project is not in an active state.
-message PartitionId {
-  // The ID of the project to which the entities belong.
-  string project_id = 2;
-
-  // If not empty, the ID of the namespace to which the entities belong.
-  string namespace_id = 4;
-}
-
-// A unique identifier for an entity.
-// If a key's partition ID or any of its path kinds or names are
-// reserved/read-only, the key is reserved/read-only.
-// A reserved/read-only key is forbidden in certain documented contexts.
-message Key {
-  // A (kind, ID/name) pair used to construct a key path.
-  //
-  // If either name or ID is set, the element is complete.
-  // If neither is set, the element is incomplete.
-  message PathElement {
-    // The kind of the entity.
-    // A kind matching regex `__.*__` is reserved/read-only.
-    // A kind must not contain more than 1500 bytes when UTF-8 encoded.
-    // Cannot be `""`.
-    string kind = 1;
-
-    // The type of ID.
-    oneof id_type {
-      // The auto-allocated ID of the entity.
-      // Never equal to zero. Values less than zero are discouraged and may not
-      // be supported in the future.
-      int64 id = 2;
-
-      // The name of the entity.
-      // A name matching regex `__.*__` is reserved/read-only.
-      // A name must not be more than 1500 bytes when UTF-8 encoded.
-      // Cannot be `""`.
-      string name = 3;
-    }
-  }
-
-  // Entities are partitioned into subsets, currently identified by a project
-  // ID and namespace ID.
-  // Queries are scoped to a single partition.
-  PartitionId partition_id = 1;
-
-  // The entity path.
-  // An entity path consists of one or more elements composed of a kind and a
-  // string or numerical identifier, which identify entities. The first
-  // element identifies a _root entity_, the second element identifies
-  // a _child_ of the root entity, the third element identifies a child of the
-  // second entity, and so forth. The entities identified by all prefixes of
-  // the path are called the element's _ancestors_.
-  //
-  // An entity path is always fully complete: *all* of the entity's ancestors
-  // are required to be in the path along with the entity identifier itself.
-  // The only exception is that in some documented cases, the identifier in the
-  // last path element (for the entity) itself may be omitted. For example,
-  // the last path element of the key of `Mutation.insert` may have no
-  // identifier.
-  //
-  // A path can never be empty, and a path can have at most 100 elements.
-  repeated PathElement path = 2;
-}
-
-// An array value.
-message ArrayValue {
-  // Values in the array.
-  // The order of this array may not be preserved if it contains a mix of
-  // indexed and unindexed values.
-  repeated Value values = 1;
-}
-
-// A message that can hold any of the supported value types and associated
-// metadata.
-message Value {
-  // Must have a value set.
-  oneof value_type {
-    // A null value.
-    google.protobuf.NullValue null_value = 11;
-
-    // A boolean value.
-    bool boolean_value = 1;
-
-    // An integer value.
-    int64 integer_value = 2;
-
-    // A double value.
-    double double_value = 3;
-
-    // A timestamp value.
-    // When stored in the Datastore, precise only to microseconds;
-    // any additional precision is rounded down.
-    google.protobuf.Timestamp timestamp_value = 10;
-
-    // A key value.
-    Key key_value = 5;
-
-    // A UTF-8 encoded string value.
-    // When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes.
-    // Otherwise, may be set to at least 1,000,000 bytes.
-    string string_value = 17;
-
-    // A blob value.
-    // May have at most 1,000,000 bytes.
-    // When `exclude_from_indexes` is false, may have at most 1500 bytes.
-    // In JSON requests, must be base64-encoded.
-    bytes blob_value = 18;
-
-    // A geo point value representing a point on the surface of Earth.
-    google.type.LatLng geo_point_value = 8;
-
-    // An entity value.
-    //
-    // - May have no key.
-    // - May have a key with an incomplete key path.
-    // - May have a reserved/read-only key.
-    Entity entity_value = 6;
-
-    // An array value.
-    // Cannot contain another array value.
-    // A `Value` instance that sets field `array_value` must not set fields
-    // `meaning` or `exclude_from_indexes`.
-    ArrayValue array_value = 9;
-  }
-
-  // The `meaning` field should only be populated for backwards compatibility.
-  int32 meaning = 14;
-
-  // If the value should be excluded from all indexes including those defined
-  // explicitly.
-  bool exclude_from_indexes = 19;
-}
-
-// A Datastore data object.
-//
-// An entity is limited to 1 megabyte when stored. That _roughly_
-// corresponds to a limit of 1 megabyte for the serialized form of this
-// message.
-message Entity {
-  // The entity's key.
-  //
-  // An entity must have a key, unless otherwise documented (for example,
-  // an entity in `Value.entity_value` may have no key).
-  // An entity's kind is its key path's last element's kind,
-  // or null if it has no key.
-  Key key = 1;
-
-  // The entity's properties.
-  // The map's keys are property names.
-  // A property name matching regex `__.*__` is reserved.
-  // A reserved property name is forbidden in certain documented contexts.
-  // The name must not contain more than 500 characters.
-  // The name cannot be `""`.
-  map<string, Value> properties = 3;
-}
diff --git a/googleapis/datastore/v1beta3/query.pb.go b/googleapis/datastore/v1beta3/query.pb.go
index c149a9e8..7c606ca4 100644
--- a/googleapis/datastore/v1beta3/query.pb.go
+++ b/googleapis/datastore/v1beta3/query.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto
+// source: google/datastore/v1beta3/query.proto
 // DO NOT EDIT!
 
-package google_datastore_v1beta3 // import "google.golang.org/genproto/googleapis/datastore/v1beta3"
+package datastore
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/wrappers"
 import _ "google.golang.org/genproto/googleapis/type/latlng"
 
@@ -218,6 +218,20 @@ func (m *EntityResult) GetEntity() *Entity {
 	return nil
 }
 
+func (m *EntityResult) GetVersion() int64 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
+func (m *EntityResult) GetCursor() []byte {
+	if m != nil {
+		return m.Cursor
+	}
+	return nil
+}
+
 // A query for entities.
 type Query struct {
 	// The projection to return. Defaults to returning all properties.
@@ -291,6 +305,27 @@ func (m *Query) GetDistinctOn() []*PropertyReference {
 	return nil
 }
 
+func (m *Query) GetStartCursor() []byte {
+	if m != nil {
+		return m.StartCursor
+	}
+	return nil
+}
+
+func (m *Query) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *Query) GetOffset() int32 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
 func (m *Query) GetLimit() *google_protobuf3.Int32Value {
 	if m != nil {
 		return m.Limit
@@ -309,6 +344,13 @@ func (m *KindExpression) String() string            { return proto.CompactTextSt
 func (*KindExpression) ProtoMessage()               {}
 func (*KindExpression) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *KindExpression) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A reference to a property relative to the kind expressions.
 type PropertyReference struct {
 	// The name of the property.
@@ -321,6 +363,13 @@ func (m *PropertyReference) String() string            { return proto.CompactTex
 func (*PropertyReference) ProtoMessage()               {}
 func (*PropertyReference) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *PropertyReference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A representation of a property in a projection.
 type Projection struct {
 	// The property to project.
@@ -359,6 +408,13 @@ func (m *PropertyOrder) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyOrder) GetDirection() PropertyOrder_Direction {
+	if m != nil {
+		return m.Direction
+	}
+	return PropertyOrder_DIRECTION_UNSPECIFIED
+}
+
 // A holder for any type of filter.
 type Filter struct {
 	// The type of filter.
@@ -497,6 +553,13 @@ func (m *CompositeFilter) String() string            { return proto.CompactTextS
 func (*CompositeFilter) ProtoMessage()               {}
 func (*CompositeFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *CompositeFilter) GetOp() CompositeFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return CompositeFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *CompositeFilter) GetFilters() []*Filter {
 	if m != nil {
 		return m.Filters
@@ -526,6 +589,13 @@ func (m *PropertyFilter) GetProperty() *PropertyReference {
 	return nil
 }
 
+func (m *PropertyFilter) GetOp() PropertyFilter_Operator {
+	if m != nil {
+		return m.Op
+	}
+	return PropertyFilter_OPERATOR_UNSPECIFIED
+}
+
 func (m *PropertyFilter) GetValue() *Value {
 	if m != nil {
 		return m.Value
@@ -562,6 +632,20 @@ func (m *GqlQuery) String() string            { return proto.CompactTextString(m
 func (*GqlQuery) ProtoMessage()               {}
 func (*GqlQuery) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{9} }
 
+func (m *GqlQuery) GetQueryString() string {
+	if m != nil {
+		return m.QueryString
+	}
+	return ""
+}
+
+func (m *GqlQuery) GetAllowLiterals() bool {
+	if m != nil {
+		return m.AllowLiterals
+	}
+	return false
+}
+
 func (m *GqlQuery) GetNamedBindings() map[string]*GqlQueryParameter {
 	if m != nil {
 		return m.NamedBindings
@@ -719,6 +803,7 @@ type QueryResultBatch struct {
 	// In a single transaction, subsequent query result batches for the same query
 	// can have a greater snapshot version number. Each batch's snapshot version
 	// is valid for all preceding batches.
+	// The value will be zero for eventually consistent queries.
 	SnapshotVersion int64 `protobuf:"varint,7,opt,name=snapshot_version,json=snapshotVersion" json:"snapshot_version,omitempty"`
 }
 
@@ -727,6 +812,27 @@ func (m *QueryResultBatch) String() string            { return proto.CompactText
 func (*QueryResultBatch) ProtoMessage()               {}
 func (*QueryResultBatch) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{11} }
 
+func (m *QueryResultBatch) GetSkippedResults() int32 {
+	if m != nil {
+		return m.SkippedResults
+	}
+	return 0
+}
+
+func (m *QueryResultBatch) GetSkippedCursor() []byte {
+	if m != nil {
+		return m.SkippedCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetEntityResultType() EntityResult_ResultType {
+	if m != nil {
+		return m.EntityResultType
+	}
+	return EntityResult_RESULT_TYPE_UNSPECIFIED
+}
+
 func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	if m != nil {
 		return m.EntityResults
@@ -734,6 +840,27 @@ func (m *QueryResultBatch) GetEntityResults() []*EntityResult {
 	return nil
 }
 
+func (m *QueryResultBatch) GetEndCursor() []byte {
+	if m != nil {
+		return m.EndCursor
+	}
+	return nil
+}
+
+func (m *QueryResultBatch) GetMoreResults() QueryResultBatch_MoreResultsType {
+	if m != nil {
+		return m.MoreResults
+	}
+	return QueryResultBatch_MORE_RESULTS_TYPE_UNSPECIFIED
+}
+
+func (m *QueryResultBatch) GetSnapshotVersion() int64 {
+	if m != nil {
+		return m.SnapshotVersion
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*EntityResult)(nil), "google.datastore.v1beta3.EntityResult")
 	proto.RegisterType((*Query)(nil), "google.datastore.v1beta3.Query")
@@ -754,93 +881,90 @@ func init() {
 	proto.RegisterEnum("google.datastore.v1beta3.QueryResultBatch_MoreResultsType", QueryResultBatch_MoreResultsType_name, QueryResultBatch_MoreResultsType_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/datastore/v1beta3/query.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/datastore/v1beta3/query.proto", fileDescriptor2) }
 
 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,
+	// 1312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0xcb, 0x6e, 0xdb, 0x46,
+	0x17, 0x36, 0x29, 0xc9, 0x97, 0xa3, 0x1b, 0x33, 0xf9, 0xff, 0x94, 0x71, 0x2e, 0x75, 0x88, 0xa4,
+	0x51, 0x50, 0x54, 0x82, 0x15, 0x04, 0x0d, 0xd2, 0x76, 0xa1, 0x0b, 0x6d, 0xab, 0x91, 0x45, 0x65,
+	0x24, 0x1b, 0x48, 0x91, 0x82, 0xa0, 0xa5, 0xb1, 0xc2, 0x86, 0x22, 0x99, 0xe1, 0x38, 0x89, 0xdf,
+	0xa2, 0x9b, 0x02, 0x7d, 0x86, 0x3e, 0x45, 0x17, 0xdd, 0x76, 0xdb, 0x6d, 0x1f, 0xa0, 0x9b, 0xbe,
+	0x41, 0x0b, 0xce, 0x0c, 0x75, 0x73, 0x14, 0xb9, 0x40, 0x76, 0x9a, 0x33, 0xdf, 0xf7, 0x9d, 0x99,
+	0x8f, 0x67, 0x66, 0x8e, 0xe0, 0xee, 0x28, 0x08, 0x46, 0x1e, 0xa9, 0x0c, 0x1d, 0xe6, 0x44, 0x2c,
+	0xa0, 0xa4, 0xf2, 0x66, 0xf7, 0x84, 0x30, 0xe7, 0x61, 0xe5, 0xf5, 0x19, 0xa1, 0xe7, 0xe5, 0x90,
+	0x06, 0x2c, 0x40, 0xba, 0x40, 0x95, 0x27, 0xa8, 0xb2, 0x44, 0x6d, 0xdf, 0x94, 0x7c, 0x27, 0x74,
+	0x2b, 0x8e, 0xef, 0x07, 0xcc, 0x61, 0x6e, 0xe0, 0x47, 0x82, 0xb7, 0x7d, 0x6f, 0xa9, 0x3a, 0xf1,
+	0x99, 0xcb, 0xa4, 0xfc, 0xf6, 0x6d, 0x09, 0xe3, 0xa3, 0x93, 0xb3, 0xd3, 0xca, 0x5b, 0xea, 0x84,
+	0x21, 0xa1, 0x89, 0x8c, 0x4c, 0x5f, 0x61, 0xe7, 0x21, 0xa9, 0x78, 0x0e, 0xf3, 0xfc, 0x91, 0x98,
+	0x31, 0x7e, 0x57, 0x20, 0x67, 0x72, 0x29, 0x4c, 0xa2, 0x33, 0x8f, 0xa1, 0xc7, 0xb0, 0x2e, 0xa4,
+	0x75, 0x65, 0x47, 0x29, 0x65, 0xab, 0x3b, 0xe5, 0x65, 0x4b, 0x2f, 0x4b, 0x9e, 0xc4, 0x23, 0x1d,
+	0x36, 0xde, 0x10, 0x1a, 0xb9, 0x81, 0xaf, 0xa7, 0x77, 0x94, 0x52, 0x0a, 0x27, 0x43, 0x74, 0x0d,
+	0xd6, 0x07, 0x67, 0x34, 0x0a, 0xa8, 0x9e, 0xda, 0x51, 0x4a, 0x39, 0x2c, 0x47, 0xc6, 0x33, 0x00,
+	0x91, 0xb5, 0x7f, 0x1e, 0x12, 0x74, 0x03, 0x3e, 0xc1, 0x66, 0xef, 0xa8, 0xdd, 0xb7, 0xfb, 0xcf,
+	0xbb, 0xa6, 0x7d, 0xd4, 0xe9, 0x75, 0xcd, 0x46, 0x6b, 0xaf, 0x65, 0x36, 0xb5, 0x35, 0xb4, 0x09,
+	0xe9, 0xbd, 0xa3, 0x76, 0x5b, 0x53, 0x50, 0x01, 0xa0, 0x8b, 0xad, 0x6f, 0xcd, 0x46, 0xbf, 0x65,
+	0x75, 0x34, 0x15, 0xe5, 0x60, 0xf3, 0xa9, 0xf9, 0xdc, 0xb6, 0x3a, 0xed, 0xe7, 0x5a, 0xca, 0xf8,
+	0x33, 0x05, 0x99, 0x67, 0xb1, 0xf1, 0xa8, 0x09, 0x10, 0xd2, 0xe0, 0x07, 0x32, 0x88, 0xfd, 0xd4,
+	0xd5, 0x9d, 0x54, 0x29, 0x5b, 0xbd, 0xbb, 0x7c, 0x33, 0xdd, 0x09, 0x16, 0xcf, 0xf0, 0xd0, 0xd7,
+	0x90, 0x7e, 0xe5, 0xfa, 0x43, 0x3d, 0xc5, 0xf9, 0xa5, 0xe5, 0xfc, 0xa7, 0xae, 0x3f, 0x34, 0xdf,
+	0x85, 0x94, 0x44, 0xf1, 0x96, 0x31, 0x67, 0xc5, 0x66, 0x9e, 0xba, 0x1e, 0x23, 0x94, 0x3b, 0xf2,
+	0x41, 0x33, 0xf7, 0x38, 0x0e, 0x4b, 0x3c, 0xfa, 0x06, 0x32, 0x01, 0x1d, 0x12, 0xaa, 0x67, 0x78,
+	0xe2, 0xfb, 0x1f, 0x5c, 0x78, 0x48, 0x28, 0x3b, 0xb7, 0x62, 0x38, 0x16, 0x2c, 0xd4, 0x86, 0xec,
+	0xd0, 0x8d, 0x98, 0xeb, 0x0f, 0x98, 0x1d, 0xf8, 0xfa, 0x3a, 0x17, 0xf9, 0x7c, 0xb5, 0x08, 0x26,
+	0xa7, 0x84, 0x12, 0x7f, 0x40, 0x30, 0x24, 0x7c, 0xcb, 0x47, 0x77, 0x20, 0x17, 0x31, 0x87, 0x32,
+	0x5b, 0x7e, 0xc5, 0x0d, 0xfe, 0x15, 0xb3, 0x3c, 0xd6, 0xe0, 0x21, 0x74, 0x0b, 0x80, 0xf8, 0xc3,
+	0x04, 0xb0, 0xc9, 0x01, 0x5b, 0xc4, 0x1f, 0xca, 0xe9, 0x6b, 0xb0, 0x1e, 0x9c, 0x9e, 0x46, 0x84,
+	0xe9, 0xb0, 0xa3, 0x94, 0x32, 0x58, 0x8e, 0xd0, 0x2e, 0x64, 0x3c, 0x77, 0xec, 0x32, 0x3d, 0xc7,
+	0xfd, 0xb9, 0x91, 0xac, 0x30, 0x29, 0xe4, 0x72, 0xcb, 0x67, 0x0f, 0xab, 0xc7, 0x8e, 0x77, 0x46,
+	0xb0, 0x40, 0x1a, 0x77, 0xa1, 0x30, 0xef, 0x35, 0x42, 0x90, 0xf6, 0x9d, 0x31, 0xe1, 0x05, 0xbb,
+	0x85, 0xf9, 0x6f, 0xe3, 0x3e, 0x5c, 0xb9, 0xb0, 0xa7, 0x09, 0x50, 0x9d, 0x01, 0x1e, 0x01, 0x4c,
+	0x3f, 0x3d, 0xda, 0x87, 0xcd, 0x50, 0xd2, 0x64, 0xfd, 0xff, 0x27, 0xd3, 0x26, 0x64, 0xe3, 0x6f,
+	0x05, 0xf2, 0x73, 0x5f, 0xe6, 0xa3, 0x49, 0x23, 0x0b, 0xb6, 0x86, 0x2e, 0x9d, 0xd4, 0xb5, 0x52,
+	0x2a, 0x54, 0x77, 0x2f, 0x59, 0x1e, 0xe5, 0x66, 0x42, 0xc4, 0x53, 0x0d, 0xc3, 0x84, 0xad, 0x49,
+	0x1c, 0x5d, 0x87, 0xff, 0x37, 0x5b, 0x58, 0x9c, 0xae, 0x85, 0x33, 0x98, 0x87, 0xad, 0x5a, 0xaf,
+	0x61, 0x76, 0x9a, 0xad, 0xce, 0xbe, 0x38, 0x88, 0x4d, 0x73, 0x32, 0x56, 0x8d, 0xdf, 0x14, 0x58,
+	0x17, 0x55, 0x8c, 0x8e, 0x41, 0x1b, 0x04, 0xe3, 0x30, 0x88, 0x5c, 0x46, 0x6c, 0x79, 0x02, 0xc4,
+	0x9e, 0x1f, 0x2c, 0x5f, 0x69, 0x23, 0x61, 0x08, 0x91, 0x83, 0x35, 0x5c, 0x1c, 0xcc, 0x87, 0x50,
+	0x0f, 0x8a, 0x89, 0x0d, 0x89, 0xac, 0xca, 0x65, 0x4b, 0xab, 0x0d, 0x98, 0xa8, 0x16, 0xc2, 0xb9,
+	0x48, 0x3d, 0x0f, 0x59, 0xa1, 0x65, 0xc7, 0xd7, 0xa3, 0xf1, 0xab, 0x02, 0xc5, 0x85, 0xa5, 0xa0,
+	0x3a, 0xa8, 0x41, 0xc8, 0x77, 0x50, 0xa8, 0x56, 0x2f, 0xbd, 0x83, 0xb2, 0x15, 0x12, 0xea, 0xb0,
+	0x80, 0x62, 0x35, 0x08, 0xd1, 0x13, 0xd8, 0x10, 0x69, 0x22, 0x79, 0x19, 0xad, 0xbe, 0x0c, 0x12,
+	0x82, 0xf1, 0x05, 0x6c, 0x26, 0x5a, 0x48, 0x87, 0xff, 0x59, 0x5d, 0x13, 0xd7, 0xfa, 0x16, 0x5e,
+	0xf8, 0x3e, 0x1b, 0x90, 0xaa, 0x75, 0x9a, 0x9a, 0x62, 0xfc, 0xa5, 0x42, 0x61, 0x7e, 0xdb, 0x1f,
+	0xaf, 0xfa, 0x6a, 0xdc, 0x8a, 0x4b, 0x97, 0xdd, 0xfb, 0x9c, 0x78, 0x04, 0x99, 0x37, 0xf1, 0x89,
+	0xe6, 0xaf, 0x41, 0xb6, 0xfa, 0xe9, 0x72, 0x15, 0x79, 0xf0, 0x39, 0xda, 0xf8, 0x49, 0xb9, 0x94,
+	0x0b, 0x79, 0xd8, 0x6a, 0x9b, 0xbd, 0x9e, 0xdd, 0x3f, 0xa8, 0x75, 0x34, 0x05, 0x5d, 0x03, 0x34,
+	0x19, 0xda, 0x16, 0xb6, 0xcd, 0x67, 0x47, 0xb5, 0xb6, 0xa6, 0x22, 0x0d, 0x72, 0xfb, 0xd8, 0xac,
+	0xf5, 0x4d, 0x2c, 0x90, 0xa9, 0xb8, 0xf2, 0x67, 0x23, 0x53, 0x70, 0x1a, 0x6d, 0x41, 0x46, 0xfc,
+	0xcc, 0xc4, 0xbc, 0x83, 0x5a, 0xcf, 0xae, 0x75, 0x1a, 0x66, 0xaf, 0x6f, 0x61, 0x2d, 0x6b, 0xfc,
+	0xa3, 0xc2, 0xe6, 0xfe, 0x6b, 0x4f, 0xbc, 0x3a, 0x77, 0x20, 0xc7, 0xdf, 0x7d, 0x3b, 0x62, 0xd4,
+	0xf5, 0x47, 0xf2, 0x4e, 0xca, 0xf2, 0x58, 0x8f, 0x87, 0xd0, 0x3d, 0x28, 0x38, 0x9e, 0x17, 0xbc,
+	0xb5, 0x3d, 0x97, 0x11, 0xea, 0x78, 0x11, 0x77, 0x73, 0x13, 0xe7, 0x79, 0xb4, 0x2d, 0x83, 0xe8,
+	0x05, 0x14, 0xe2, 0x0b, 0x6a, 0x68, 0x9f, 0xb8, 0xfe, 0xd0, 0xf5, 0x47, 0x91, 0x7c, 0x0a, 0x1e,
+	0x2d, 0xb7, 0x2b, 0x59, 0x45, 0xb9, 0x13, 0x13, 0xeb, 0x92, 0x67, 0xfa, 0x8c, 0x9e, 0xe3, 0xbc,
+	0x3f, 0x1b, 0x43, 0x2f, 0xe0, 0x2a, 0x2f, 0x55, 0x37, 0xf0, 0x1d, 0x6f, 0x9a, 0x22, 0xbd, 0xea,
+	0xa1, 0x48, 0x52, 0x74, 0x1d, 0xea, 0x8c, 0x49, 0x5c, 0xa4, 0x68, 0xaa, 0x93, 0xa8, 0x6f, 0x8f,
+	0x01, 0x5d, 0x5c, 0x02, 0xd2, 0x20, 0xf5, 0x8a, 0x9c, 0x4b, 0x4b, 0xe2, 0x9f, 0xa8, 0x96, 0x54,
+	0x82, 0xba, 0xaa, 0x24, 0x2f, 0xe6, 0x15, 0xcc, 0x27, 0xea, 0x63, 0xc5, 0x78, 0x07, 0x57, 0x2e,
+	0xcc, 0xa3, 0x2f, 0xe7, 0xb5, 0x57, 0x55, 0xd9, 0xc1, 0x9a, 0x54, 0x44, 0xfa, 0x7c, 0xb7, 0x72,
+	0xb0, 0x96, 0xf4, 0x2b, 0x75, 0x0d, 0x0a, 0x61, 0xa2, 0x2f, 0x2e, 0x8b, 0x3f, 0xd2, 0xa0, 0xf1,
+	0xbc, 0xa2, 0x8f, 0xa9, 0x3b, 0x6c, 0xf0, 0x12, 0xdd, 0x87, 0x62, 0xf4, 0xca, 0x0d, 0x43, 0x32,
+	0xb4, 0x29, 0x0f, 0x47, 0xfa, 0x3a, 0x7f, 0xf5, 0x0a, 0x32, 0x2c, 0xc0, 0x51, 0x5c, 0x09, 0x09,
+	0x70, 0xae, 0x3f, 0xca, 0xcb, 0xa8, 0x7c, 0x3c, 0x6d, 0x40, 0xa2, 0xc5, 0x92, 0x72, 0x3c, 0xb5,
+	0xbc, 0x8d, 0x76, 0x57, 0xb6, 0x67, 0x9c, 0x52, 0x9e, 0xf6, 0x59, 0x58, 0x23, 0x33, 0x13, 0xbc,
+	0xf3, 0x3a, 0x84, 0xc2, 0x5c, 0x82, 0xe4, 0x86, 0xfa, 0xec, 0x72, 0xe2, 0x38, 0x3f, 0xab, 0x18,
+	0x2d, 0xf4, 0x02, 0xe9, 0xc5, 0x5e, 0xe0, 0x7b, 0xc8, 0x8d, 0x03, 0x4a, 0x26, 0xb9, 0x32, 0x7c,
+	0x23, 0x4f, 0x96, 0xe7, 0x5a, 0x34, 0xb8, 0x7c, 0x18, 0x50, 0x22, 0x93, 0xf1, 0x1d, 0x65, 0xc7,
+	0xd3, 0x00, 0x7a, 0x00, 0x5a, 0xe4, 0x3b, 0x61, 0xf4, 0x32, 0x60, 0x76, 0xd2, 0x8f, 0x6e, 0xf0,
+	0x7e, 0xb4, 0x98, 0xc4, 0x8f, 0x45, 0xd8, 0xf8, 0x59, 0x81, 0xe2, 0x82, 0x16, 0xba, 0x03, 0xb7,
+	0x0e, 0x2d, 0x6c, 0xda, 0xa2, 0x15, 0xed, 0xbd, 0xaf, 0x17, 0xd5, 0x20, 0xd7, 0xb1, 0xfa, 0xf6,
+	0x5e, 0xab, 0xd3, 0xea, 0x1d, 0x98, 0x4d, 0x4d, 0x41, 0x37, 0x41, 0x9f, 0x23, 0xd5, 0xf6, 0xe2,
+	0x5b, 0xa4, 0xdd, 0x3a, 0x6c, 0xf5, 0x35, 0x15, 0xdd, 0x82, 0xeb, 0xef, 0x99, 0x6d, 0x1c, 0xe1,
+	0x9e, 0x85, 0xb5, 0x34, 0xba, 0x0a, 0xc5, 0x8e, 0x65, 0xcf, 0x22, 0xb4, 0x54, 0xfd, 0x47, 0x05,
+	0x6e, 0x0e, 0x82, 0xf1, 0x52, 0x53, 0xea, 0x20, 0xca, 0x3d, 0xee, 0x93, 0xba, 0xca, 0x77, 0x35,
+	0x89, 0x1b, 0x05, 0x9e, 0xe3, 0x8f, 0xca, 0x01, 0x1d, 0x55, 0x46, 0xc4, 0xe7, 0x5d, 0x54, 0x45,
+	0x4c, 0x39, 0xa1, 0x1b, 0x5d, 0xfc, 0x1b, 0xf1, 0xd5, 0x24, 0xf2, 0x8b, 0x7a, 0x7b, 0x5f, 0x68,
+	0x34, 0xbc, 0xe0, 0x6c, 0x58, 0x6e, 0x4e, 0x32, 0x1e, 0xef, 0xd6, 0x63, 0xe8, 0xc9, 0x3a, 0x97,
+	0x7b, 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x4a, 0xc8, 0xc3, 0x34, 0xf2, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/datastore/v1beta3/query.proto b/googleapis/datastore/v1beta3/query.proto
deleted file mode 100644
index 359f25ed..00000000
--- a/googleapis/datastore/v1beta3/query.proto
+++ /dev/null
@@ -1,306 +0,0 @@
-// 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.datastore.v1beta3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/datastore/v1beta3/entity.proto"; // from google/datastore/v1beta3/entity.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-import "google.golang.org/genproto/googleapis/type/latlng/latlng.proto"; // from google/type/latlng.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "QueryProto";
-option java_package = "com.google.datastore.v1beta3";
-
-
-// The result of fetching an entity from Datastore.
-message EntityResult {
-  // Specifies what data the 'entity' field contains.
-  // A `ResultType` is either implied (for example, in `LookupResponse.missing`
-  // from `datastore.proto`, it is always `KEY_ONLY`) or specified by context
-  // (for example, in message `QueryResultBatch`, field `entity_result_type`
-  // specifies a `ResultType` for all the values in field `entity_results`).
-  enum ResultType {
-    // Unspecified. This value is never used.
-    RESULT_TYPE_UNSPECIFIED = 0;
-
-    // The key and properties.
-    FULL = 1;
-
-    // A projected subset of properties. The entity may have no key.
-    PROJECTION = 2;
-
-    // Only the key.
-    KEY_ONLY = 3;
-  }
-
-  // The resulting entity.
-  Entity entity = 1;
-
-  // The version of the entity, a strictly positive number that monotonically
-  // increases with changes to the entity.
-  //
-  // This field is set for [`FULL`][google.datastore.v1beta3.EntityResult.ResultType.FULL] entity
-  // results.
-  //
-  // For [missing][google.datastore.v1beta3.LookupResponse.missing] entities in `LookupResponse`, this
-  // is the version of the snapshot that was used to look up the entity, and it
-  // is always set except for eventually consistent reads.
-  int64 version = 4;
-
-  // A cursor that points to the position after the result entity.
-  // Set only when the `EntityResult` is part of a `QueryResultBatch` message.
-  bytes cursor = 3;
-}
-
-// A query for entities.
-message Query {
-  // The projection to return. Defaults to returning all properties.
-  repeated Projection projection = 2;
-
-  // The kinds to query (if empty, returns entities of all kinds).
-  // Currently at most 1 kind may be specified.
-  repeated KindExpression kind = 3;
-
-  // The filter to apply.
-  Filter filter = 4;
-
-  // The order to apply to the query results (if empty, order is unspecified).
-  repeated PropertyOrder order = 5;
-
-  // The properties to make distinct. The query results will contain the first
-  // result for each distinct combination of values for the given properties
-  // (if empty, all results are returned).
-  repeated PropertyReference distinct_on = 6;
-
-  // A starting point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to continue the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes start_cursor = 7;
-
-  // An ending point for the query results. Query cursors are
-  // returned in query result batches and
-  // [can only be used to limit the same query](https://cloud.google.com/datastore/docs/concepts/queries#cursors_limits_and_offsets).
-  bytes end_cursor = 8;
-
-  // The number of results to skip. Applies before limit, but after all other
-  // constraints. Optional. Must be >= 0 if specified.
-  int32 offset = 10;
-
-  // The maximum number of results to return. Applies after all other
-  // constraints. Optional.
-  // Unspecified is interpreted as no limit.
-  // Must be >= 0 if specified.
-  google.protobuf.Int32Value limit = 12;
-}
-
-// A representation of a kind.
-message KindExpression {
-  // The name of the kind.
-  string name = 1;
-}
-
-// A reference to a property relative to the kind expressions.
-message PropertyReference {
-  // The name of the property.
-  // If name includes "."s, it may be interpreted as a property name path.
-  string name = 2;
-}
-
-// A representation of a property in a projection.
-message Projection {
-  // The property to project.
-  PropertyReference property = 1;
-}
-
-// The desired order for a specific property.
-message PropertyOrder {
-  // The sort direction.
-  enum Direction {
-    // Unspecified. This value must not be used.
-    DIRECTION_UNSPECIFIED = 0;
-
-    // Ascending.
-    ASCENDING = 1;
-
-    // Descending.
-    DESCENDING = 2;
-  }
-
-  // The property to order by.
-  PropertyReference property = 1;
-
-  // The direction to order by. Defaults to `ASCENDING`.
-  Direction direction = 2;
-}
-
-// A holder for any type of filter.
-message Filter {
-  // The type of filter.
-  oneof filter_type {
-    // A composite filter.
-    CompositeFilter composite_filter = 1;
-
-    // A filter on a property.
-    PropertyFilter property_filter = 2;
-  }
-}
-
-// A filter that merges multiple other filters using the given operator.
-message CompositeFilter {
-  // A composite filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // The results are required to satisfy each of the combined filters.
-    AND = 1;
-  }
-
-  // The operator for combining multiple filters.
-  Operator op = 1;
-
-  // The list of filters to combine.
-  // Must contain at least one filter.
-  repeated Filter filters = 2;
-}
-
-// A filter on a specific property.
-message PropertyFilter {
-  // A property filter operator.
-  enum Operator {
-    // Unspecified. This value must not be used.
-    OPERATOR_UNSPECIFIED = 0;
-
-    // Less than.
-    LESS_THAN = 1;
-
-    // Less than or equal.
-    LESS_THAN_OR_EQUAL = 2;
-
-    // Greater than.
-    GREATER_THAN = 3;
-
-    // Greater than or equal.
-    GREATER_THAN_OR_EQUAL = 4;
-
-    // Equal.
-    EQUAL = 5;
-
-    // Has ancestor.
-    HAS_ANCESTOR = 11;
-  }
-
-  // The property to filter by.
-  PropertyReference property = 1;
-
-  // The operator to filter by.
-  Operator op = 2;
-
-  // The value to compare the property to.
-  Value value = 3;
-}
-
-// A [GQL query](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-message GqlQuery {
-  // A string of the format described
-  // [here](https://cloud.google.com/datastore/docs/apis/gql/gql_reference).
-  string query_string = 1;
-
-  // When false, the query string must not contain any literals and instead must
-  // bind all values. For example,
-  // `SELECT * FROM Kind WHERE a = 'string literal'` is not allowed, while
-  // `SELECT * FROM Kind WHERE a = @value` is.
-  bool allow_literals = 2;
-
-  // For each non-reserved named binding site in the query string, there must be
-  // a named parameter with that name, but not necessarily the inverse.
-  //
-  // Key must match regex `[A-Za-z_$][A-Za-z_$0-9]*`, must not match regex
-  // `__.*__`, and must not be `""`.
-  map<string, GqlQueryParameter> named_bindings = 5;
-
-  // Numbered binding site @1 references the first numbered parameter,
-  // effectively using 1-based indexing, rather than the usual 0.
-  //
-  // For each binding site numbered i in `query_string`, there must be an i-th
-  // numbered parameter. The inverse must also be true.
-  repeated GqlQueryParameter positional_bindings = 4;
-}
-
-// A binding parameter for a GQL query.
-message GqlQueryParameter {
-  // The type of parameter.
-  oneof parameter_type {
-    // A value parameter.
-    Value value = 2;
-
-    // A query cursor. Query cursors are returned in query
-    // result batches.
-    bytes cursor = 3;
-  }
-}
-
-// A batch of results produced by a query.
-message QueryResultBatch {
-  // The possible values for the `more_results` field.
-  enum MoreResultsType {
-    // Unspecified. This value is never used.
-    MORE_RESULTS_TYPE_UNSPECIFIED = 0;
-
-    // There may be additional batches to fetch from this query.
-    NOT_FINISHED = 1;
-
-    // The query is finished, but there may be more results after the limit.
-    MORE_RESULTS_AFTER_LIMIT = 2;
-
-    // The query is finished, but there may be more results after the end
-    // cursor.
-    MORE_RESULTS_AFTER_CURSOR = 4;
-
-    // The query has been exhausted.
-    NO_MORE_RESULTS = 3;
-  }
-
-  // The number of results skipped, typically because of an offset.
-  int32 skipped_results = 6;
-
-  // A cursor that points to the position after the last skipped result.
-  // Will be set when `skipped_results` != 0.
-  bytes skipped_cursor = 3;
-
-  // The result type for every entity in `entity_results`.
-  EntityResult.ResultType entity_result_type = 1;
-
-  // The results for this batch.
-  repeated EntityResult entity_results = 2;
-
-  // A cursor that points to the position after the last result in the batch.
-  bytes end_cursor = 4;
-
-  // The state of the query after the current batch.
-  MoreResultsType more_results = 5;
-
-  // The version number of the snapshot this batch was returned from.
-  // This applies to the range of results from the query's `start_cursor` (or
-  // the beginning of the query if no cursor was given) to this batch's
-  // `end_cursor` (not the query's `end_cursor`).
-  //
-  // In a single transaction, subsequent query result batches for the same query
-  // can have a greater snapshot version number. Each batch's snapshot version
-  // is valid for all preceding batches.
-  int64 snapshot_version = 7;
-}
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
index 4f0198d2..94e7eeee 100644
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
+++ b/googleapis/devtools/cloudbuild/v1/cloudbuild.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+// source: google/devtools/cloudbuild/v1/cloudbuild.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_cloudbuild_v1 is a generated protocol buffer package.
+Package cloudbuild is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+	google/devtools/cloudbuild/v1/cloudbuild.proto
 
 It has these top-level messages:
 	StorageSource
@@ -34,13 +34,12 @@ It has these top-level messages:
 	UpdateBuildTriggerRequest
 	BuildOptions
 */
-package google_devtools_cloudbuild_v1 // import "google.golang.org/genproto/googleapis/devtools/cloudbuild/v1"
+package cloudbuild
 
 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/devtools/source/v1"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 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"
@@ -63,13 +62,12 @@ var _ = math.Inf
 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // Possible status of a build.
+// Non-terminal statuses.
 type Build_Status int32
 
 const (
 	// Status of the build is unknown.
 	Build_STATUS_UNKNOWN Build_Status = 0
-	// Build has been received and is being queued.
-	Build_QUEUING Build_Status = 8
 	// Build is queued; work has not yet begun.
 	Build_QUEUED Build_Status = 1
 	// Build is being executed.
@@ -88,7 +86,6 @@ const (
 
 var Build_Status_name = map[int32]string{
 	0: "STATUS_UNKNOWN",
-	8: "QUEUING",
 	1: "QUEUED",
 	2: "WORKING",
 	3: "SUCCESS",
@@ -99,7 +96,6 @@ var Build_Status_name = map[int32]string{
 }
 var Build_Status_value = map[string]int32{
 	"STATUS_UNKNOWN": 0,
-	"QUEUING":        8,
 	"QUEUED":         1,
 	"WORKING":        2,
 	"SUCCESS":        3,
@@ -186,6 +182,27 @@ func (m *StorageSource) String() string            { return proto.CompactTextStr
 func (*StorageSource) ProtoMessage()               {}
 func (*StorageSource) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *StorageSource) GetBucket() string {
+	if m != nil {
+		return m.Bucket
+	}
+	return ""
+}
+
+func (m *StorageSource) GetObject() string {
+	if m != nil {
+		return m.Object
+	}
+	return ""
+}
+
+func (m *StorageSource) GetGeneration() int64 {
+	if m != nil {
+		return m.Generation
+	}
+	return 0
+}
+
 // RepoSource describes the location of the source in a Google Cloud Source
 // Repository.
 type RepoSource struct {
@@ -234,6 +251,20 @@ func (m *RepoSource) GetRevision() isRepoSource_Revision {
 	return nil
 }
 
+func (m *RepoSource) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *RepoSource) GetRepoName() string {
+	if m != nil {
+		return m.RepoName
+	}
+	return ""
+}
+
 func (m *RepoSource) GetBranchName() string {
 	if x, ok := m.GetRevision().(*RepoSource_BranchName); ok {
 		return x.BranchName
@@ -475,14 +506,50 @@ func (m *BuiltImage) String() string            { return proto.CompactTextString
 func (*BuiltImage) ProtoMessage()               {}
 func (*BuiltImage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *BuiltImage) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BuiltImage) GetDigest() string {
+	if m != nil {
+		return m.Digest
+	}
+	return ""
+}
+
 // BuildStep describes a step to perform in the build pipeline.
 type BuildStep struct {
-	// Name of the container image to use for creating this stage in the
-	// pipeline, as presented to `docker pull`.
+	// The name of the container image that will run this particular build step.
+	//
+	// If the image is already available in the host's Docker daemon's cache, it
+	// will be run directly. If not, the host will attempt to pull the image
+	// first, using the builder service account's credentials if necessary.
+	//
+	// The Docker daemon's cache will already have the latest versions of all of
+	// the officially supported build steps
+	// (https://github.com/GoogleCloudPlatform/cloud-builders). The Docker daemon
+	// will also have cached many of the layers for some popular images, like
+	// "ubuntu", "debian", but they will be refreshed at the time you attempt to
+	// use them.
+	//
+	// If you built an image in a previous build step, it will be stored in the
+	// host's Docker daemon's cache and is available to use as the name for a
+	// later build step.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Additional environment variables to set for this step's container.
+	// A list of environment variable definitions to be used when running a step.
+	//
+	// The elements are of the form "KEY=VALUE" for the environment variable "KEY"
+	// being given the value "VALUE".
 	Env []string `protobuf:"bytes,2,rep,name=env" json:"env,omitempty"`
-	// Command-line arguments to use when running this step's container.
+	// A list of arguments that will be presented to the step when it is started.
+	//
+	// If the image used to run the step's container has an entrypoint, these args
+	// will be used as arguments to that entrypoint. If the image does not define
+	// an entrypoint, the first element in args will be used as the entrypoint,
+	// and the remainder will be used as arguments.
 	Args []string `protobuf:"bytes,3,rep,name=args" json:"args,omitempty"`
 	// Working directory (relative to project source root) to use when running
 	// this operation's container.
@@ -503,6 +570,48 @@ func (m *BuildStep) String() string            { return proto.CompactTextString(
 func (*BuildStep) ProtoMessage()               {}
 func (*BuildStep) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *BuildStep) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *BuildStep) GetEnv() []string {
+	if m != nil {
+		return m.Env
+	}
+	return nil
+}
+
+func (m *BuildStep) GetArgs() []string {
+	if m != nil {
+		return m.Args
+	}
+	return nil
+}
+
+func (m *BuildStep) GetDir() string {
+	if m != nil {
+		return m.Dir
+	}
+	return ""
+}
+
+func (m *BuildStep) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *BuildStep) GetWaitFor() []string {
+	if m != nil {
+		return m.WaitFor
+	}
+	return nil
+}
+
 // Results describes the artifacts created by the build pipeline.
 type Results struct {
 	// Images that were built as a part of the build.
@@ -523,11 +632,29 @@ func (m *Results) GetImages() []*BuiltImage {
 	return nil
 }
 
+func (m *Results) GetBuildStepImages() []string {
+	if m != nil {
+		return m.BuildStepImages
+	}
+	return nil
+}
+
 // A build resource in the Container Builder API.
 //
 // At a high level, a Build describes where to find source code, how to build
 // it (for example, the builder image to run on the source), and what tag to
 // apply to the built image when it is pushed to Google Container Registry.
+//
+// Fields can include the following variables which will be expanded when the
+// build is created:
+//
+// - $PROJECT_ID: the project ID of the build.
+// - $BUILD_ID: the autogenerated ID of the build.
+// - $REPO_NAME: the source repository name specified by RepoSource.
+// - $BRANCH_NAME: the branch name specified by RepoSource.
+// - $TAG_NAME: the tag name specified by RepoSource.
+// - $REVISION_ID or $COMMIT_SHA: the commit SHA specified by RepoSource or
+//   resolved from the specified branch or tag.
 type Build struct {
 	// Unique identifier of the build.
 	// @OutputOnly
@@ -548,13 +675,16 @@ type Build struct {
 	// Results of the build.
 	// @OutputOnly
 	Results *Results `protobuf:"bytes,10,opt,name=results" json:"results,omitempty"`
-	// Time at which the build was created.
+	// Time at which the request to create the build was received.
 	// @OutputOnly
 	CreateTime *google_protobuf4.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime" json:"create_time,omitempty"`
 	// Time at which execution of the build was started.
 	// @OutputOnly
 	StartTime *google_protobuf4.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
 	// Time at which execution of the build was finished.
+	//
+	// The difference between finish_time and start_time is the duration of the
+	// build's execution.
 	// @OutputOnly
 	FinishTime *google_protobuf4.Timestamp `protobuf:"bytes,8,opt,name=finish_time,json=finishTime" json:"finish_time,omitempty"`
 	// Amount of time that this build should be allowed to run, to second
@@ -563,10 +693,15 @@ type Build struct {
 	//
 	// Default time is ten minutes.
 	Timeout *google_protobuf3.Duration `protobuf:"bytes,12,opt,name=timeout" json:"timeout,omitempty"`
-	// List of images expected to be built and pushed to Google Container
-	// Registry. If an image is listed here and the image is not produced by
-	// one of the build steps, the build will fail. Any images present when
-	// the build steps are complete will be pushed to Container Registry.
+	// A list of images to be pushed upon the successful completion of all build
+	// steps.
+	//
+	// The images will be pushed using the builder service account's credentials.
+	//
+	// The digests of the pushed images will be stored in the Build resource's
+	// results field.
+	//
+	// If any of the images fail to be pushed, the build is marked FAILURE.
 	Images []string `protobuf:"bytes,13,rep,name=images" json:"images,omitempty"`
 	// Google Cloud Storage bucket where logs should be written (see
 	// [Bucket Name
@@ -576,6 +711,10 @@ type Build struct {
 	// A permanent fixed identifier for source.
 	// @OutputOnly
 	SourceProvenance *SourceProvenance `protobuf:"bytes,21,opt,name=source_provenance,json=sourceProvenance" json:"source_provenance,omitempty"`
+	// The ID of the BuildTrigger that triggered this build, if it was
+	// triggered automatically.
+	// @OutputOnly
+	BuildTriggerId string `protobuf:"bytes,22,opt,name=build_trigger_id,json=buildTriggerId" json:"build_trigger_id,omitempty"`
 	// Special options for this build.
 	Options *BuildOptions `protobuf:"bytes,23,opt,name=options" json:"options,omitempty"`
 	// URL to logs for this build in Google Cloud Logging.
@@ -588,6 +727,34 @@ func (m *Build) String() string            { return proto.CompactTextString(m) }
 func (*Build) ProtoMessage()               {}
 func (*Build) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *Build) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Build) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Build) GetStatus() Build_Status {
+	if m != nil {
+		return m.Status
+	}
+	return Build_STATUS_UNKNOWN
+}
+
+func (m *Build) GetStatusDetail() string {
+	if m != nil {
+		return m.StatusDetail
+	}
+	return ""
+}
+
 func (m *Build) GetSource() *Source {
 	if m != nil {
 		return m.Source
@@ -637,6 +804,20 @@ func (m *Build) GetTimeout() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *Build) GetImages() []string {
+	if m != nil {
+		return m.Images
+	}
+	return nil
+}
+
+func (m *Build) GetLogsBucket() string {
+	if m != nil {
+		return m.LogsBucket
+	}
+	return ""
+}
+
 func (m *Build) GetSourceProvenance() *SourceProvenance {
 	if m != nil {
 		return m.SourceProvenance
@@ -644,6 +825,13 @@ func (m *Build) GetSourceProvenance() *SourceProvenance {
 	return nil
 }
 
+func (m *Build) GetBuildTriggerId() string {
+	if m != nil {
+		return m.BuildTriggerId
+	}
+	return ""
+}
+
 func (m *Build) GetOptions() *BuildOptions {
 	if m != nil {
 		return m.Options
@@ -651,6 +839,13 @@ func (m *Build) GetOptions() *BuildOptions {
 	return nil
 }
 
+func (m *Build) GetLogUrl() string {
+	if m != nil {
+		return m.LogUrl
+	}
+	return ""
+}
+
 // Metadata for build operations.
 type BuildOperationMetadata struct {
 	// The build that the operation is tracking.
@@ -749,6 +944,20 @@ func (m *Hash) String() string            { return proto.CompactTextString(m) }
 func (*Hash) ProtoMessage()               {}
 func (*Hash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Hash) GetType() Hash_HashType {
+	if m != nil {
+		return m.Type
+	}
+	return Hash_NONE
+}
+
+func (m *Hash) GetValue() []byte {
+	if m != nil {
+		return m.Value
+	}
+	return nil
+}
+
 // Request to create a new build.
 type CreateBuildRequest struct {
 	// ID of the project.
@@ -762,6 +971,13 @@ func (m *CreateBuildRequest) String() string            { return proto.CompactTe
 func (*CreateBuildRequest) ProtoMessage()               {}
 func (*CreateBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *CreateBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *CreateBuildRequest) GetBuild() *Build {
 	if m != nil {
 		return m.Build
@@ -782,6 +998,20 @@ func (m *GetBuildRequest) String() string            { return proto.CompactTextS
 func (*GetBuildRequest) ProtoMessage()               {}
 func (*GetBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *GetBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetBuildRequest) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 // Request to list builds.
 type ListBuildsRequest struct {
 	// ID of the project.
@@ -790,6 +1020,8 @@ type ListBuildsRequest struct {
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
 	// Token to provide to skip to a particular spot in the list.
 	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+	// The raw filter text to constrain the results.
+	Filter string `protobuf:"bytes,8,opt,name=filter" json:"filter,omitempty"`
 }
 
 func (m *ListBuildsRequest) Reset()                    { *m = ListBuildsRequest{} }
@@ -797,6 +1029,34 @@ func (m *ListBuildsRequest) String() string            { return proto.CompactTex
 func (*ListBuildsRequest) ProtoMessage()               {}
 func (*ListBuildsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *ListBuildsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListBuildsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBuildsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListBuildsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
 // Response including listed builds.
 type ListBuildsResponse struct {
 	// Builds will be sorted by create_time, descending.
@@ -817,6 +1077,13 @@ func (m *ListBuildsResponse) GetBuilds() []*Build {
 	return nil
 }
 
+func (m *ListBuildsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request to cancel an ongoing build.
 type CancelBuildRequest struct {
 	// ID of the project.
@@ -830,6 +1097,20 @@ func (m *CancelBuildRequest) String() string            { return proto.CompactTe
 func (*CancelBuildRequest) ProtoMessage()               {}
 func (*CancelBuildRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *CancelBuildRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *CancelBuildRequest) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 // Configuration for an automated build in response to source repository
 // changes.
 type BuildTrigger struct {
@@ -837,6 +1118,8 @@ type BuildTrigger struct {
 	//
 	// @OutputOnly
 	Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
+	// Human-readable description of this trigger.
+	Description string `protobuf:"bytes,10,opt,name=description" json:"description,omitempty"`
 	// Template describing the types of source changes to trigger a build.
 	//
 	// Branch and tag names in trigger templates are interpreted as regular
@@ -845,21 +1128,16 @@ type BuildTrigger struct {
 	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
+	//	*BuildTrigger_Filename
 	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"`
+	// If true, the trigger will never result in a build.
+	Disabled bool `protobuf:"varint,9,opt,name=disabled" json:"disabled,omitempty"`
 }
 
 func (m *BuildTrigger) Reset()                    { *m = BuildTrigger{} }
@@ -874,8 +1152,12 @@ type isBuildTrigger_BuildTemplate interface {
 type BuildTrigger_Build struct {
 	Build *Build `protobuf:"bytes,4,opt,name=build,oneof"`
 }
+type BuildTrigger_Filename struct {
+	Filename string `protobuf:"bytes,8,opt,name=filename,oneof"`
+}
 
-func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate() {}
+func (*BuildTrigger_Build) isBuildTrigger_BuildTemplate()    {}
+func (*BuildTrigger_Filename) isBuildTrigger_BuildTemplate() {}
 
 func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
 	if m != nil {
@@ -884,6 +1166,20 @@ func (m *BuildTrigger) GetBuildTemplate() isBuildTrigger_BuildTemplate {
 	return nil
 }
 
+func (m *BuildTrigger) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *BuildTrigger) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *BuildTrigger) GetTriggerTemplate() *RepoSource {
 	if m != nil {
 		return m.TriggerTemplate
@@ -898,6 +1194,13 @@ func (m *BuildTrigger) GetBuild() *Build {
 	return nil
 }
 
+func (m *BuildTrigger) GetFilename() string {
+	if x, ok := m.GetBuildTemplate().(*BuildTrigger_Filename); ok {
+		return x.Filename
+	}
+	return ""
+}
+
 func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -905,10 +1208,18 @@ func (m *BuildTrigger) GetCreateTime() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *BuildTrigger) GetDisabled() bool {
+	if m != nil {
+		return m.Disabled
+	}
+	return false
+}
+
 // 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),
+		(*BuildTrigger_Filename)(nil),
 	}
 }
 
@@ -921,6 +1232,9 @@ func _BuildTrigger_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
 		if err := b.EncodeMessage(x.Build); err != nil {
 			return err
 		}
+	case *BuildTrigger_Filename:
+		b.EncodeVarint(8<<3 | proto.WireBytes)
+		b.EncodeStringBytes(x.Filename)
 	case nil:
 	default:
 		return fmt.Errorf("BuildTrigger.BuildTemplate has unexpected type %T", x)
@@ -939,6 +1253,13 @@ func _BuildTrigger_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.B
 		err := b.DecodeMessage(msg)
 		m.BuildTemplate = &BuildTrigger_Build{msg}
 		return true, err
+	case 8: // build_template.filename
+		if wire != proto.WireBytes {
+			return true, proto.ErrInternalBadWireType
+		}
+		x, err := b.DecodeStringBytes()
+		m.BuildTemplate = &BuildTrigger_Filename{x}
+		return true, err
 	default:
 		return false, nil
 	}
@@ -953,6 +1274,10 @@ func _BuildTrigger_OneofSizer(msg proto.Message) (n int) {
 		n += proto.SizeVarint(4<<3 | proto.WireBytes)
 		n += proto.SizeVarint(uint64(s))
 		n += s
+	case *BuildTrigger_Filename:
+		n += proto.SizeVarint(8<<3 | proto.WireBytes)
+		n += proto.SizeVarint(uint64(len(x.Filename)))
+		n += len(x.Filename)
 	case nil:
 	default:
 		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
@@ -973,6 +1298,13 @@ func (m *CreateBuildTriggerRequest) String() string            { return proto.Co
 func (*CreateBuildTriggerRequest) ProtoMessage()               {}
 func (*CreateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *CreateBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *CreateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 	if m != nil {
 		return m.Trigger
@@ -993,6 +1325,20 @@ func (m *GetBuildTriggerRequest) String() string            { return proto.Compa
 func (*GetBuildTriggerRequest) ProtoMessage()               {}
 func (*GetBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *GetBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 // Request to list existing BuildTriggers.
 type ListBuildTriggersRequest struct {
 	// ID of the project for which to list BuildTriggers.
@@ -1004,6 +1350,13 @@ func (m *ListBuildTriggersRequest) String() string            { return proto.Com
 func (*ListBuildTriggersRequest) ProtoMessage()               {}
 func (*ListBuildTriggersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
 
+func (m *ListBuildTriggersRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // Response containing existing BuildTriggers.
 type ListBuildTriggersResponse struct {
 	// BuildTriggers for the project, sorted by create_time descending.
@@ -1035,6 +1388,20 @@ func (m *DeleteBuildTriggerRequest) String() string            { return proto.Co
 func (*DeleteBuildTriggerRequest) ProtoMessage()               {}
 func (*DeleteBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *DeleteBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *DeleteBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 // Request to update an existing BuildTrigger.
 type UpdateBuildTriggerRequest struct {
 	// ID of the project that owns the trigger.
@@ -1050,6 +1417,20 @@ func (m *UpdateBuildTriggerRequest) String() string            { return proto.Co
 func (*UpdateBuildTriggerRequest) ProtoMessage()               {}
 func (*UpdateBuildTriggerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
 
+func (m *UpdateBuildTriggerRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *UpdateBuildTriggerRequest) GetTriggerId() string {
+	if m != nil {
+		return m.TriggerId
+	}
+	return ""
+}
+
 func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 	if m != nil {
 		return m.Trigger
@@ -1061,7 +1442,7 @@ func (m *UpdateBuildTriggerRequest) GetTrigger() *BuildTrigger {
 type BuildOptions struct {
 	// Requested hash for SourceProvenance.
 	SourceProvenanceHash []Hash_HashType `protobuf:"varint,1,rep,packed,name=source_provenance_hash,json=sourceProvenanceHash,enum=google.devtools.cloudbuild.v1.Hash_HashType" json:"source_provenance_hash,omitempty"`
-	// Options for a verifiable build with details uploaded to the Analysis API.
+	// Requested verifiability options.
 	RequestedVerifyOption BuildOptions_VerifyOption `protobuf:"varint,2,opt,name=requested_verify_option,json=requestedVerifyOption,enum=google.devtools.cloudbuild.v1.BuildOptions_VerifyOption" json:"requested_verify_option,omitempty"`
 }
 
@@ -1070,6 +1451,20 @@ func (m *BuildOptions) String() string            { return proto.CompactTextStri
 func (*BuildOptions) ProtoMessage()               {}
 func (*BuildOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
 
+func (m *BuildOptions) GetSourceProvenanceHash() []Hash_HashType {
+	if m != nil {
+		return m.SourceProvenanceHash
+	}
+	return nil
+}
+
+func (m *BuildOptions) GetRequestedVerifyOption() BuildOptions_VerifyOption {
+	if m != nil {
+		return m.RequestedVerifyOption
+	}
+	return BuildOptions_NOT_VERIFIED
+}
+
 func init() {
 	proto.RegisterType((*StorageSource)(nil), "google.devtools.cloudbuild.v1.StorageSource")
 	proto.RegisterType((*RepoSource)(nil), "google.devtools.cloudbuild.v1.RepoSource")
@@ -1491,133 +1886,133 @@ var _CloudBuild_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto",
+	Metadata: "google/devtools/cloudbuild/v1/cloudbuild.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/cloudbuild/v1/cloudbuild.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/cloudbuild/v1/cloudbuild.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1907 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x5b, 0x6f, 0xdb, 0xc8,
-	0x15, 0x36, 0x25, 0x5b, 0x97, 0x23, 0x5f, 0xb8, 0xd3, 0xac, 0x43, 0x2b, 0x48, 0xd7, 0xe5, 0x5e,
-	0xea, 0x4d, 0x77, 0xc5, 0xda, 0xc1, 0x76, 0x1d, 0x67, 0xdb, 0xb5, 0x2d, 0x2b, 0xb1, 0xb0, 0x8e,
-	0x9c, 0x52, 0x52, 0x16, 0x45, 0x0b, 0xb0, 0xb4, 0x38, 0xa6, 0xd9, 0x50, 0x1c, 0x96, 0x1c, 0xa9,
-	0x71, 0x82, 0x00, 0xdd, 0x7d, 0x2e, 0xd0, 0x02, 0xed, 0x5b, 0x1f, 0x7a, 0xf9, 0x01, 0x45, 0x51,
-	0xa0, 0xe8, 0x53, 0x7f, 0x44, 0xd1, 0xbf, 0xd0, 0xc7, 0xfe, 0x88, 0x62, 0x2e, 0x94, 0x64, 0x6b,
-	0x53, 0x92, 0x0d, 0xfa, 0x62, 0x70, 0xce, 0xcc, 0x77, 0x6e, 0xf3, 0xcd, 0x39, 0x47, 0x86, 0x47,
-	0x2e, 0x21, 0xae, 0x8f, 0x1b, 0x2e, 0xf1, 0xed, 0xc0, 0x6d, 0x90, 0xc8, 0x35, 0x5c, 0x1c, 0x84,
-	0x11, 0xa1, 0xc4, 0x10, 0x5b, 0x76, 0xe8, 0xc5, 0x86, 0x83, 0xc7, 0x94, 0x10, 0x3f, 0x36, 0x06,
-	0x3e, 0x19, 0x39, 0x67, 0x23, 0xcf, 0x77, 0x8c, 0xf1, 0xf6, 0xcc, 0xaa, 0xc1, 0x21, 0xe8, 0xb6,
-	0x54, 0x97, 0x9c, 0x6f, 0xcc, 0x9c, 0x18, 0x6f, 0xd7, 0xdb, 0xd9, 0xac, 0xd9, 0xa1, 0x67, 0xc4,
-	0x38, 0x1a, 0x7b, 0x03, 0x3c, 0x20, 0xc1, 0xb9, 0xe7, 0x1a, 0x76, 0x10, 0x10, 0x6a, 0x53, 0x8f,
-	0x04, 0xb1, 0xb0, 0x54, 0xcf, 0xeb, 0x78, 0x4c, 0x46, 0xd1, 0x00, 0x33, 0xa7, 0xc5, 0x97, 0x35,
-	0x20, 0x01, 0xc5, 0xcf, 0xa8, 0x54, 0x77, 0x98, 0x4d, 0x9d, 0x4f, 0x02, 0x37, 0x1a, 0x05, 0x81,
-	0x17, 0xb8, 0x06, 0x09, 0x71, 0x74, 0xc5, 0xa5, 0x7b, 0xae, 0x47, 0x2f, 0x46, 0x67, 0x8d, 0x01,
-	0x19, 0x1a, 0x42, 0x8f, 0xc1, 0x37, 0xce, 0x46, 0xe7, 0x46, 0x48, 0x2f, 0x43, 0x1c, 0x1b, 0xce,
-	0x48, 0x40, 0x26, 0x1f, 0x12, 0x7a, 0x37, 0x1d, 0x8a, 0x87, 0x21, 0xbd, 0x14, 0x7f, 0x25, 0xe8,
-	0x7e, 0x3a, 0x88, 0x7a, 0x43, 0x1c, 0x53, 0x7b, 0x18, 0x4e, 0xbf, 0x04, 0x58, 0xb7, 0x60, 0xa5,
-	0x4b, 0x49, 0x64, 0xbb, 0xb8, 0xcb, 0xf3, 0x81, 0xd6, 0xa1, 0x74, 0x36, 0x1a, 0x3c, 0xc5, 0x54,
-	0x53, 0x36, 0x95, 0xad, 0xaa, 0x29, 0x57, 0x4c, 0x4e, 0xce, 0x7e, 0x82, 0x07, 0x54, 0x2b, 0x08,
-	0xb9, 0x58, 0xa1, 0xaf, 0x03, 0xb8, 0x38, 0x90, 0x29, 0xd0, 0x8a, 0x9b, 0xca, 0x56, 0xd1, 0x9c,
-	0x91, 0xe8, 0x7f, 0x55, 0x00, 0x4c, 0x1c, 0x12, 0xa9, 0xfe, 0x36, 0x40, 0x18, 0x11, 0x86, 0xb4,
-	0x3c, 0x47, 0x9a, 0xa8, 0x4a, 0x49, 0xdb, 0x41, 0xb7, 0xa0, 0x1a, 0xe1, 0x90, 0x58, 0x81, 0x3d,
-	0xc4, 0xd2, 0x50, 0x85, 0x09, 0x3a, 0xf6, 0x10, 0xa3, 0x6f, 0x40, 0xed, 0x2c, 0xb2, 0x83, 0xc1,
-	0x85, 0xd8, 0x66, 0xb6, 0xaa, 0xc7, 0x0b, 0x26, 0x08, 0x21, 0x3f, 0x72, 0x0b, 0x2a, 0xd4, 0x76,
-	0xc5, 0xfe, 0xa2, 0xdc, 0x2f, 0x53, 0xdb, 0xe5, 0x9b, 0x6f, 0x01, 0x0c, 0xc8, 0x70, 0xe8, 0x51,
-	0x2b, 0xbe, 0xb0, 0xb5, 0x25, 0xb9, 0x5d, 0x15, 0xb2, 0xee, 0x85, 0x7d, 0x08, 0x50, 0x89, 0xf0,
-	0xd8, 0x8b, 0x99, 0xdf, 0x7f, 0x53, 0xa0, 0x24, 0x7d, 0xee, 0xc3, 0x6a, 0x2c, 0x72, 0x64, 0x09,
-	0xd2, 0x70, 0xcf, 0x6a, 0x3b, 0x1f, 0x34, 0xfe, 0x2b, 0xcd, 0x1b, 0x57, 0x12, 0x7b, 0xbc, 0x60,
-	0xae, 0xc4, 0x57, 0x32, 0x7d, 0x02, 0x35, 0x1e, 0xab, 0xd4, 0x59, 0xe4, 0x3a, 0xdf, 0x4f, 0xd1,
-	0x39, 0x4d, 0x25, 0x8b, 0x3c, 0x9a, 0xac, 0x0e, 0x2b, 0x50, 0x12, 0x8a, 0xf4, 0x5d, 0x80, 0xc3,
-	0x91, 0xe7, 0xd3, 0xf6, 0xd0, 0x76, 0x31, 0x42, 0xb0, 0xc8, 0xb3, 0x21, 0x52, 0xcd, 0xbf, 0xd9,
-	0x5d, 0x3a, 0x9e, 0x8b, 0x63, 0x2a, 0x72, 0x68, 0xca, 0x95, 0xfe, 0xa5, 0x02, 0x55, 0x06, 0x75,
-	0xba, 0x14, 0x87, 0x5f, 0x89, 0x54, 0xa1, 0x88, 0x83, 0xb1, 0x56, 0xd8, 0x2c, 0x6e, 0x55, 0x4d,
-	0xf6, 0xc9, 0x4e, 0xd9, 0x91, 0x1b, 0x6b, 0x45, 0x2e, 0xe2, 0xdf, 0xec, 0x94, 0xe3, 0x45, 0xe2,
-	0x02, 0x4c, 0xf6, 0x89, 0x56, 0xa1, 0xe0, 0x39, 0x22, 0xe5, 0x66, 0xc1, 0x73, 0xd0, 0x06, 0x54,
-	0x7e, 0x66, 0x7b, 0xd4, 0x3a, 0x27, 0x91, 0x56, 0xe2, 0xc8, 0x32, 0x5b, 0x3f, 0x20, 0x91, 0xfe,
-	0x0c, 0xca, 0x26, 0x8e, 0x47, 0x3e, 0x8d, 0xd1, 0x01, 0x94, 0x3c, 0x16, 0x44, 0xcc, 0x0d, 0xa6,
-	0x27, 0x67, 0x1a, 0xb6, 0x29, 0x81, 0xe8, 0x0e, 0xbc, 0xc1, 0xb7, 0xad, 0x98, 0xe2, 0xd0, 0x92,
-	0xda, 0x84, 0xaf, 0x6b, 0x67, 0x49, 0xa8, 0x1c, 0x12, 0xeb, 0xff, 0x28, 0xc3, 0x12, 0x0f, 0x5f,
-	0xba, 0xab, 0x4c, 0xdc, 0xbd, 0xca, 0x5a, 0xf5, 0x3a, 0x6b, 0x9b, 0x50, 0x8a, 0xa9, 0x4d, 0x47,
-	0x31, 0x27, 0xc6, 0xea, 0xce, 0xb7, 0x32, 0xf8, 0xe9, 0x34, 0xba, 0x1c, 0x62, 0x4a, 0x28, 0x7a,
-	0x1b, 0x56, 0xc4, 0x97, 0xe5, 0x60, 0x6a, 0x7b, 0xbe, 0xa6, 0x71, 0x33, 0xcb, 0x42, 0x78, 0xc4,
-	0x65, 0xe8, 0xbb, 0xc9, 0x2d, 0x4b, 0xba, 0xbc, 0x9b, 0x46, 0x41, 0x7e, 0xd8, 0x94, 0x20, 0xf4,
-	0x3d, 0x58, 0x62, 0x79, 0x88, 0xb5, 0x1a, 0xcf, 0xe7, 0x56, 0x16, 0x3f, 0x59, 0x82, 0x4c, 0x01,
-	0x43, 0xfb, 0x50, 0x8e, 0xc4, 0xdd, 0x68, 0xc0, 0xed, 0xbf, 0x97, 0x4a, 0x57, 0x7e, 0xda, 0x4c,
-	0x60, 0xe8, 0x3e, 0xd4, 0x06, 0x11, 0xb6, 0x29, 0xb6, 0x58, 0x25, 0xd2, 0x4a, 0x5c, 0x4b, 0x3d,
-	0xd1, 0x92, 0xd4, 0xad, 0x46, 0x2f, 0x29, 0x53, 0x26, 0x88, 0xe3, 0x4c, 0x80, 0xee, 0x01, 0xc4,
-	0xd4, 0x8e, 0xa8, 0xc0, 0x96, 0x53, 0xb1, 0x55, 0x7e, 0x9a, 0x43, 0xef, 0x43, 0xed, 0xdc, 0x0b,
-	0xbc, 0xf8, 0x42, 0x60, 0x2b, 0xe9, 0x76, 0xc5, 0x71, 0x0e, 0xbe, 0x0b, 0x65, 0x86, 0x22, 0x23,
-	0xaa, 0x2d, 0x73, 0xe0, 0xc6, 0x1c, 0xf0, 0x48, 0x16, 0x72, 0x33, 0x39, 0xc9, 0x1e, 0x99, 0xa4,
-	0xdb, 0x0a, 0xa7, 0x5b, 0xc2, 0xc8, 0xb7, 0xa0, 0xe6, 0x13, 0x37, 0xb6, 0x64, 0x95, 0xfd, 0x1a,
-	0xbf, 0x65, 0x60, 0xa2, 0x43, 0x51, 0x69, 0x7f, 0x04, 0x6f, 0xc8, 0xde, 0x14, 0x46, 0x64, 0x8c,
-	0x03, 0x3b, 0x18, 0x60, 0xed, 0x4d, 0x6e, 0xd7, 0xc8, 0x74, 0xdd, 0x8f, 0x27, 0x30, 0x53, 0x8d,
-	0xaf, 0x49, 0x50, 0x0b, 0xca, 0x24, 0xe4, 0xed, 0x4a, 0xbb, 0xc9, 0x75, 0x66, 0x22, 0xeb, 0xa9,
-	0x80, 0x98, 0x09, 0x16, 0xdd, 0x84, 0xb2, 0x4f, 0x5c, 0x6b, 0x14, 0xf9, 0xda, 0x86, 0xa8, 0x21,
-	0x3e, 0x71, 0xfb, 0x91, 0xaf, 0xff, 0x82, 0xd5, 0x4d, 0xc1, 0x68, 0x04, 0xab, 0xdd, 0xde, 0x41,
-	0xaf, 0xdf, 0xb5, 0xfa, 0x9d, 0xcf, 0x3a, 0xa7, 0x9f, 0x77, 0xd4, 0x05, 0x54, 0x83, 0xf2, 0xf7,
-	0xfb, 0xad, 0x7e, 0xbb, 0xf3, 0x50, 0xad, 0x20, 0x80, 0x12, 0x5b, 0xb4, 0x8e, 0x54, 0x85, 0x6d,
-	0x7c, 0x7e, 0x6a, 0x7e, 0xc6, 0x36, 0x0a, 0x6c, 0xd1, 0xed, 0x37, 0x9b, 0xad, 0x6e, 0x57, 0x2d,
-	0xb2, 0xc5, 0x83, 0x83, 0xf6, 0x49, 0xdf, 0x6c, 0xa9, 0x8b, 0x4c, 0x67, 0xbb, 0xd3, 0x6b, 0x99,
-	0x9d, 0x83, 0x13, 0xab, 0x65, 0x9a, 0xa7, 0xa6, 0xba, 0xc4, 0x0e, 0xf4, 0xda, 0x8f, 0x5a, 0xa7,
-	0xfd, 0x9e, 0x5a, 0x42, 0x2b, 0x50, 0x6d, 0x1e, 0x74, 0x9a, 0xad, 0x93, 0x93, 0xd6, 0x91, 0x5a,
-	0xd6, 0x7b, 0xb0, 0x2e, 0x03, 0x90, 0x0d, 0xe9, 0x11, 0xa6, 0xb6, 0x63, 0x53, 0x1b, 0xed, 0xc1,
-	0x12, 0x8f, 0x91, 0x3f, 0xf3, 0xda, 0xce, 0x3b, 0x59, 0xd2, 0x60, 0x0a, 0x88, 0xfe, 0x87, 0x22,
-	0xa8, 0xd7, 0x73, 0x8d, 0x1c, 0xb8, 0x19, 0xe1, 0x98, 0xf8, 0x63, 0xcc, 0xaa, 0xcd, 0x95, 0x7e,
-	0x51, 0xcc, 0xdf, 0x2f, 0xcc, 0x37, 0x13, 0x65, 0x57, 0xfb, 0xf3, 0x0f, 0xe1, 0xc6, 0xc4, 0xca,
-	0x6c, 0xfb, 0x28, 0xe5, 0x6c, 0x1f, 0x26, 0x4a, 0xd4, 0xcc, 0x74, 0xe7, 0x1f, 0xb3, 0x57, 0xe2,
-	0x63, 0xeb, 0xc2, 0x8e, 0x2f, 0x70, 0xac, 0x2d, 0xf2, 0x2a, 0xf1, 0x69, 0x4e, 0xd2, 0x35, 0x1e,
-	0x78, 0x3e, 0x3e, 0xe6, 0x1a, 0x5a, 0x01, 0x8d, 0x2e, 0xd9, 0x53, 0x4a, 0x04, 0xf5, 0x0b, 0x58,
-	0xbb, 0xb6, 0xcd, 0xba, 0xc5, 0x53, 0x7c, 0x29, 0xab, 0x2d, 0xfb, 0x44, 0x9f, 0xc2, 0xd2, 0xd8,
-	0xf6, 0x47, 0x49, 0x9f, 0x4d, 0x0b, 0x6a, 0xaa, 0xd0, 0x14, 0xb8, 0xbd, 0xc2, 0xae, 0xa2, 0x77,
-	0x00, 0xa6, 0x1b, 0x68, 0x1f, 0xaa, 0x93, 0xc8, 0x34, 0x85, 0xc7, 0xf5, 0x76, 0x8a, 0x5a, 0x86,
-	0x34, 0x2b, 0x89, 0xef, 0xfa, 0xcf, 0x15, 0x58, 0x64, 0x1f, 0x68, 0x1f, 0x16, 0xd9, 0x54, 0xc5,
-	0x1d, 0x5e, 0x4d, 0xbd, 0x54, 0x06, 0xe1, 0x7f, 0x7a, 0x97, 0x21, 0x36, 0x39, 0x12, 0xdd, 0x98,
-	0x8d, 0x6f, 0x59, 0x3a, 0xad, 0x6f, 0x42, 0x25, 0x39, 0x87, 0x2a, 0xb0, 0xd8, 0x39, 0xed, 0xb4,
-	0xd4, 0x05, 0xf6, 0x46, 0xba, 0xc7, 0x07, 0x3b, 0x1f, 0x7d, 0x47, 0x55, 0x74, 0x02, 0xa8, 0xc9,
-	0xab, 0xa1, 0x20, 0x23, 0xfe, 0xe9, 0x08, 0xc7, 0x34, 0x6d, 0xa4, 0x9a, 0xf0, 0xbc, 0x90, 0x9f,
-	0xe7, 0xfb, 0xb0, 0xf6, 0x10, 0xd3, 0x3c, 0xd6, 0x44, 0xe7, 0x2c, 0x24, 0x9d, 0x53, 0x0f, 0xe0,
-	0x8d, 0x13, 0x2f, 0x16, 0x2a, 0xe2, 0x8c, 0x3a, 0x6e, 0x41, 0x35, 0xe4, 0x8f, 0xc7, 0x7b, 0x2e,
-	0x52, 0xb4, 0x64, 0x56, 0x98, 0xa0, 0xeb, 0x3d, 0x17, 0x03, 0x24, 0xdb, 0xa4, 0xe4, 0x29, 0x0e,
-	0xe4, 0xfc, 0xc2, 0x8f, 0xf7, 0x98, 0x40, 0x7f, 0x0e, 0x68, 0xd6, 0x5e, 0x1c, 0x92, 0x20, 0xc6,
-	0xe8, 0x13, 0x36, 0xd4, 0x32, 0x89, 0xbc, 0xfa, 0x6c, 0x49, 0x90, 0x18, 0xf4, 0x1e, 0xac, 0x05,
-	0xf8, 0x19, 0xb5, 0x66, 0xec, 0x8a, 0x00, 0x57, 0x98, 0xf8, 0xf1, 0xc4, 0x76, 0x13, 0x50, 0x93,
-	0x3d, 0x00, 0xff, 0x75, 0x12, 0xf6, 0x45, 0x01, 0x96, 0x39, 0xbe, 0x17, 0x79, 0xae, 0x8b, 0xa3,
-	0xb9, 0x59, 0xa4, 0x07, 0x2a, 0x15, 0x5b, 0x16, 0xc5, 0xc3, 0xd0, 0xb7, 0x69, 0xd2, 0x0a, 0x73,
-	0x3c, 0xfe, 0x35, 0xa9, 0xa2, 0x27, 0x35, 0xa0, 0x4f, 0x12, 0x96, 0x2c, 0x66, 0x67, 0xc9, 0xf1,
-	0x82, 0xe4, 0xc9, 0xf5, 0xae, 0xbe, 0x94, 0xa7, 0xab, 0x1f, 0xaa, 0xb0, 0x2a, 0x46, 0xb4, 0x24,
-	0x1c, 0xfd, 0x0b, 0x05, 0x36, 0x66, 0x88, 0x2e, 0x33, 0x91, 0x31, 0xa1, 0x2d, 0x28, 0xcb, 0xe0,
-	0x24, 0xe3, 0x33, 0x35, 0xb8, 0xc4, 0x46, 0x82, 0xd5, 0x9f, 0xc0, 0x7a, 0x42, 0xfd, 0x7c, 0xf6,
-	0x6f, 0x03, 0x24, 0xf7, 0x33, 0xb9, 0xd8, 0xaa, 0x94, 0xb4, 0x1d, 0xfd, 0x1e, 0x68, 0x13, 0x82,
-	0x4a, 0xc5, 0x19, 0xdf, 0x85, 0xee, 0xc0, 0xc6, 0x57, 0x40, 0x25, 0xc5, 0x1f, 0x42, 0x45, 0x1a,
-	0x49, 0x48, 0x9e, 0x2b, 0xee, 0x09, 0x58, 0xff, 0x01, 0x6c, 0x1c, 0x61, 0x1f, 0xff, 0x4f, 0xb9,
-	0x4f, 0x89, 0xfd, 0xf7, 0x0a, 0x6c, 0xf4, 0x43, 0xc7, 0xfe, 0x3f, 0xe8, 0x9e, 0xbd, 0xf6, 0xe2,
-	0x6b, 0x5c, 0xfb, 0x6f, 0x92, 0xe7, 0x27, 0x27, 0x1e, 0x74, 0x06, 0xeb, 0x73, 0xd3, 0xd8, 0xb4,
-	0x8b, 0xe4, 0xad, 0xff, 0x37, 0xae, 0xcf, 0x63, 0xbc, 0xa3, 0x84, 0x6c, 0x72, 0xe0, 0x49, 0xc0,
-	0x8e, 0x35, 0xc6, 0x91, 0x77, 0x7e, 0x69, 0x89, 0x41, 0x4b, 0xfe, 0xa0, 0xd8, 0xcd, 0x31, 0xa3,
-	0x35, 0x9e, 0x70, 0x05, 0x62, 0xc5, 0xa6, 0x08, 0xa9, 0x78, 0x56, 0xac, 0x37, 0x60, 0x79, 0x76,
-	0x8d, 0x54, 0x58, 0xee, 0x9c, 0xf6, 0xac, 0x27, 0x2d, 0xb3, 0xfd, 0xa0, 0xdd, 0x3a, 0x52, 0x17,
-	0xd0, 0x32, 0x54, 0x26, 0x2b, 0x65, 0xe7, 0xdf, 0x35, 0x80, 0x26, 0x33, 0x29, 0x7e, 0x1f, 0xfd,
-	0x4a, 0x81, 0xda, 0xcc, 0x03, 0x45, 0xdb, 0x29, 0xfe, 0xcd, 0x77, 0xad, 0xfa, 0xed, 0x04, 0x32,
-	0xf3, 0xbf, 0x94, 0xc6, 0x64, 0x4a, 0xd3, 0x8d, 0x2f, 0xff, 0xf9, 0xaf, 0x5f, 0x17, 0xde, 0xd7,
-	0x37, 0x8d, 0xf1, 0xb6, 0x21, 0x49, 0x10, 0x1b, 0x2f, 0xa6, 0x04, 0x79, 0x69, 0x88, 0xea, 0xbc,
-	0x27, 0x4b, 0xd0, 0x2f, 0x15, 0xa8, 0x24, 0x0f, 0x16, 0x35, 0x52, 0xfc, 0xb9, 0xd6, 0xd4, 0xea,
-	0x99, 0xca, 0x9d, 0xfe, 0x21, 0xf7, 0xe9, 0x9b, 0xe8, 0xdd, 0x34, 0x9f, 0x8c, 0x17, 0x9e, 0xf3,
-	0x12, 0xfd, 0x56, 0x01, 0x98, 0xf6, 0x22, 0xf4, 0xed, 0x14, 0x1b, 0x73, 0x6d, 0xb2, 0xbe, 0x9d,
-	0x03, 0x21, 0xaa, 0x80, 0xbe, 0xc5, 0x5d, 0xd4, 0x51, 0x6a, 0xda, 0xd0, 0xef, 0xd8, 0x15, 0x4e,
-	0xbb, 0x55, 0xfa, 0x15, 0xce, 0x75, 0xb6, 0x8c, 0x59, 0xfb, 0x98, 0xbb, 0xb4, 0xad, 0x7f, 0x90,
-	0x29, 0x6b, 0x7b, 0x03, 0x6e, 0x67, 0x4f, 0xb9, 0x83, 0xfe, 0xac, 0x5c, 0x19, 0x77, 0x92, 0x7e,
-	0xb8, 0x9b, 0x9d, 0x6b, 0x57, 0x0b, 0x4c, 0x3d, 0x4f, 0x45, 0xd0, 0xef, 0x72, 0xb7, 0x3f, 0xd4,
-	0xf5, 0x57, 0xbb, 0x9d, 0x94, 0xcc, 0xbd, 0xa4, 0x7a, 0xa0, 0x3f, 0x29, 0xd3, 0x81, 0x29, 0xf1,
-	0xf7, 0xa3, 0x8c, 0x5c, 0x7c, 0x1d, 0x67, 0x65, 0x8e, 0x91, 0x91, 0xee, 0xac, 0xf1, 0x62, 0x5a,
-	0x45, 0x5f, 0xa2, 0xbf, 0x28, 0x33, 0xf3, 0x59, 0xd2, 0x53, 0xd0, 0xc7, 0x59, 0x89, 0x77, 0xad,
-	0x81, 0xd5, 0x77, 0xf3, 0x03, 0x25, 0x71, 0xef, 0xf0, 0x08, 0xde, 0x41, 0x19, 0xd2, 0xcd, 0xa8,
-	0x8b, 0xe6, 0x5b, 0x54, 0x2a, 0x31, 0x5e, 0xd9, 0xd5, 0xea, 0xeb, 0x73, 0x93, 0x4a, 0x6b, 0x18,
-	0xd2, 0xcb, 0x24, 0xad, 0x77, 0x72, 0xa7, 0xf5, 0xef, 0x0a, 0xa0, 0xf9, 0x46, 0x97, 0xea, 0xe1,
-	0x2b, 0x7b, 0x63, 0x3e, 0x36, 0xec, 0x73, 0xb7, 0xf7, 0x76, 0xf2, 0xba, 0x3d, 0xe1, 0xf1, 0xa1,
-	0x0e, 0xda, 0x80, 0x0c, 0x13, 0x9b, 0x57, 0x4c, 0x3d, 0x56, 0xfe, 0x58, 0x28, 0x3e, 0x6c, 0x1e,
-	0x9e, 0x95, 0x78, 0xb2, 0xee, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0x61, 0x99, 0xa8, 0xed, 0x3b,
-	0x18, 0x00, 0x00,
+	// 1943 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x4b, 0x73, 0x1b, 0xc7,
+	0xf1, 0xe7, 0x02, 0x24, 0x1e, 0x0d, 0x3e, 0xa0, 0xf9, 0xcb, 0xd4, 0x12, 0xb2, 0x2c, 0xfe, 0x57,
+	0xb6, 0x43, 0x2b, 0x36, 0x10, 0x52, 0xe5, 0x98, 0xa6, 0x9c, 0x98, 0x24, 0x08, 0x91, 0x2c, 0xd3,
+	0xa0, 0x32, 0x00, 0xe4, 0xca, 0xa3, 0x6a, 0xb3, 0xc4, 0x0e, 0x97, 0x1b, 0x2d, 0x76, 0x37, 0xbb,
+	0x03, 0xc4, 0x94, 0x4a, 0x95, 0xc4, 0x87, 0x5c, 0x93, 0xaa, 0xe4, 0x96, 0x43, 0x1e, 0x1f, 0x20,
+	0x95, 0x4a, 0x55, 0x2a, 0xa7, 0x7c, 0x8a, 0x9c, 0x73, 0xcb, 0x31, 0xf9, 0x0e, 0xa9, 0x79, 0x01,
+	0x4b, 0xd0, 0xca, 0x2e, 0xa2, 0xca, 0x85, 0xb5, 0xd3, 0xd3, 0xbf, 0xee, 0x9e, 0x9e, 0x9e, 0xfe,
+	0x35, 0x01, 0x75, 0x27, 0x08, 0x1c, 0x8f, 0x34, 0x6c, 0x32, 0xa2, 0x41, 0xe0, 0xc5, 0x8d, 0xbe,
+	0x17, 0x0c, 0xed, 0xb3, 0xa1, 0xeb, 0xd9, 0x8d, 0xd1, 0x66, 0x62, 0x55, 0x0f, 0xa3, 0x80, 0x06,
+	0xe8, 0x8e, 0xd0, 0xaf, 0x2b, 0xfd, 0x7a, 0x42, 0x63, 0xb4, 0x59, 0x7b, 0x5d, 0x9a, 0xb3, 0x42,
+	0xb7, 0x61, 0xf9, 0x7e, 0x40, 0x2d, 0xea, 0x06, 0x7e, 0x2c, 0xc0, 0xb5, 0x7b, 0x72, 0xd7, 0x0b,
+	0x7c, 0x27, 0x1a, 0xfa, 0xbe, 0xeb, 0x3b, 0x8d, 0x20, 0x24, 0xd1, 0x15, 0xa5, 0x37, 0xa4, 0x12,
+	0x5f, 0x9d, 0x0d, 0xcf, 0x1b, 0xf6, 0x50, 0x28, 0xc8, 0xfd, 0xdb, 0xd3, 0xfb, 0x64, 0x10, 0xd2,
+	0x4b, 0xb9, 0x79, 0x77, 0x7a, 0x93, 0xba, 0x03, 0x12, 0x53, 0x6b, 0x10, 0x0a, 0x05, 0xc3, 0x84,
+	0xa5, 0x0e, 0x0d, 0x22, 0xcb, 0x21, 0x9d, 0x60, 0x18, 0xf5, 0x09, 0x5a, 0x85, 0xc2, 0xd9, 0xb0,
+	0xff, 0x94, 0x50, 0x5d, 0x5b, 0xd7, 0x36, 0xca, 0x58, 0xae, 0x98, 0x3c, 0x38, 0xfb, 0x01, 0xe9,
+	0x53, 0x3d, 0x27, 0xe4, 0x62, 0x85, 0xde, 0x00, 0x70, 0x88, 0x2f, 0x63, 0xd6, 0xf3, 0xeb, 0xda,
+	0x46, 0x1e, 0x27, 0x24, 0xc6, 0x9f, 0x35, 0x00, 0x4c, 0xc2, 0x40, 0x9a, 0xbf, 0x03, 0x10, 0x46,
+	0x01, 0x43, 0x9a, 0xae, 0x2d, 0x5d, 0x94, 0xa5, 0xe4, 0xd8, 0x46, 0xb7, 0xa1, 0x1c, 0x91, 0x30,
+	0x30, 0x7d, 0x6b, 0x40, 0xa4, 0xa3, 0x12, 0x13, 0xb4, 0xad, 0x01, 0x41, 0xff, 0x0f, 0x95, 0xb3,
+	0xc8, 0xf2, 0xfb, 0x17, 0x62, 0x9b, 0xf9, 0x2a, 0x1f, 0xcd, 0x61, 0x10, 0x42, 0xae, 0x72, 0x1b,
+	0x4a, 0xd4, 0x72, 0xc4, 0xfe, 0xbc, 0xdc, 0x2f, 0x52, 0xcb, 0xe1, 0x9b, 0x77, 0x01, 0xfa, 0xc1,
+	0x60, 0xe0, 0x52, 0x33, 0xbe, 0xb0, 0xf4, 0x05, 0xb9, 0x5d, 0x16, 0xb2, 0xce, 0x85, 0xb5, 0x0f,
+	0x50, 0x8a, 0xc8, 0xc8, 0x8d, 0x59, 0xdc, 0x7f, 0xd1, 0xa0, 0x20, 0x63, 0xee, 0xc1, 0x72, 0x2c,
+	0x72, 0x64, 0xc6, 0x5c, 0xc2, 0x23, 0xab, 0x6c, 0xbd, 0x5b, 0xff, 0x8f, 0x97, 0x5f, 0xbf, 0x92,
+	0xd8, 0xa3, 0x39, 0xbc, 0x14, 0x5f, 0xc9, 0xf4, 0x09, 0x54, 0xf8, 0x59, 0xa5, 0xcd, 0x3c, 0xb7,
+	0xf9, 0x4e, 0x8a, 0xcd, 0x49, 0x2a, 0xd9, 0xc9, 0xa3, 0xf1, 0x6a, 0xbf, 0x04, 0x05, 0x61, 0xc8,
+	0xd8, 0x06, 0xd8, 0x1f, 0xba, 0x1e, 0x3d, 0x1e, 0x58, 0x0e, 0x41, 0x08, 0xe6, 0x79, 0x36, 0x44,
+	0xaa, 0xf9, 0x37, 0xbb, 0x4b, 0xdb, 0x75, 0x48, 0x4c, 0x45, 0x0e, 0xb1, 0x5c, 0x19, 0x5f, 0x68,
+	0x50, 0x66, 0x50, 0xbb, 0x43, 0x49, 0xf8, 0xa5, 0xc8, 0x2a, 0xe4, 0x89, 0x3f, 0xd2, 0x73, 0xeb,
+	0xf9, 0x8d, 0x32, 0x66, 0x9f, 0x4c, 0xcb, 0x8a, 0x9c, 0x58, 0xcf, 0x73, 0x11, 0xff, 0x66, 0x5a,
+	0xb6, 0x1b, 0x89, 0x0b, 0xc0, 0xec, 0x13, 0x2d, 0x43, 0xce, 0xb5, 0x45, 0xca, 0x71, 0xce, 0xb5,
+	0xd1, 0x1a, 0x94, 0x7e, 0x64, 0xb9, 0xd4, 0x3c, 0x0f, 0x22, 0xbd, 0xc0, 0x91, 0x45, 0xb6, 0x7e,
+	0x14, 0x44, 0xc6, 0xe7, 0x50, 0xc4, 0x24, 0x1e, 0x7a, 0x34, 0x46, 0x7b, 0x50, 0x70, 0xd9, 0x21,
+	0x62, 0xee, 0x30, 0x3d, 0x39, 0x93, 0x63, 0x63, 0x09, 0x44, 0xf7, 0xe1, 0x06, 0xdf, 0x36, 0x63,
+	0x4a, 0x42, 0x53, 0x5a, 0x13, 0xb1, 0xae, 0x9c, 0xa9, 0xa3, 0x72, 0x48, 0x6c, 0xfc, 0xab, 0x08,
+	0x0b, 0xfc, 0xf8, 0x32, 0x5c, 0x6d, 0x1c, 0xee, 0xd5, 0xaa, 0xad, 0x4e, 0x57, 0x6d, 0x13, 0x0a,
+	0x31, 0xb5, 0xe8, 0x30, 0xe6, 0x85, 0xb1, 0xbc, 0xf5, 0xd5, 0x0c, 0x71, 0xda, 0xf5, 0x0e, 0x87,
+	0x60, 0x09, 0x45, 0xf7, 0x60, 0x49, 0x7c, 0x99, 0x36, 0xa1, 0x96, 0xeb, 0xe9, 0x3a, 0x77, 0xb3,
+	0x28, 0x84, 0x07, 0x5c, 0x86, 0xbe, 0xa1, 0x6e, 0x59, 0x96, 0xcb, 0x5b, 0x69, 0x25, 0xc8, 0x95,
+	0xb1, 0x04, 0xa1, 0x6f, 0xc2, 0x02, 0xcb, 0x43, 0xac, 0x57, 0x78, 0x3e, 0x37, 0xb2, 0xc4, 0xc9,
+	0x12, 0x84, 0x05, 0x0c, 0xed, 0x42, 0x31, 0x12, 0x77, 0xa3, 0x03, 0xf7, 0xff, 0x76, 0x6a, 0xb9,
+	0x72, 0x6d, 0xac, 0x60, 0xe8, 0x21, 0x54, 0xfa, 0x11, 0xb1, 0x28, 0x31, 0x59, 0x27, 0xd2, 0x0b,
+	0xdc, 0x4a, 0x4d, 0x59, 0x51, 0x6d, 0xaa, 0xde, 0x55, 0x6d, 0x0a, 0x83, 0x50, 0x67, 0x02, 0xf4,
+	0x21, 0x40, 0x4c, 0xad, 0x88, 0x0a, 0x6c, 0x31, 0x15, 0x5b, 0xe6, 0xda, 0x1c, 0xfa, 0x10, 0x2a,
+	0xe7, 0xae, 0xef, 0xc6, 0x17, 0x02, 0x5b, 0x4a, 0xf7, 0x2b, 0xd4, 0x39, 0xf8, 0x01, 0x14, 0x19,
+	0x2a, 0x18, 0x52, 0x7d, 0x91, 0x03, 0xd7, 0xae, 0x01, 0x0f, 0x64, 0x53, 0xc6, 0x4a, 0x93, 0x3d,
+	0x32, 0x59, 0x6e, 0x4b, 0xbc, 0xdc, 0x54, 0x45, 0xde, 0x85, 0x8a, 0x17, 0x38, 0xb1, 0x29, 0xbb,
+	0xec, 0xff, 0xf1, 0x5b, 0x06, 0x26, 0xda, 0x17, 0x9d, 0xf6, 0x7b, 0x70, 0x43, 0x5c, 0x97, 0x19,
+	0x46, 0xc1, 0x88, 0xf8, 0x96, 0xdf, 0x27, 0xfa, 0x6b, 0xdc, 0x6f, 0x23, 0xd3, 0x75, 0x3f, 0x1e,
+	0xc3, 0x70, 0x35, 0x9e, 0x92, 0xa0, 0x0d, 0xa8, 0x8a, 0x07, 0x41, 0x23, 0xd7, 0x71, 0x48, 0xc4,
+	0x0a, 0x7a, 0x95, 0xc7, 0xb0, 0xcc, 0xe5, 0x5d, 0x21, 0x3e, 0xb6, 0x51, 0x0b, 0x8a, 0x41, 0xc8,
+	0x99, 0x48, 0xbf, 0xc5, 0xbd, 0x67, 0x2a, 0xeb, 0x53, 0x01, 0xc1, 0x0a, 0x8b, 0x6e, 0x41, 0xd1,
+	0x0b, 0x1c, 0x73, 0x18, 0x79, 0xfa, 0x9a, 0xe8, 0x36, 0x5e, 0xe0, 0xf4, 0x22, 0xcf, 0xf8, 0x31,
+	0x14, 0xc4, 0x13, 0x40, 0x08, 0x96, 0x3b, 0xdd, 0xbd, 0x6e, 0xaf, 0x63, 0xf6, 0xda, 0x9f, 0xb4,
+	0x4f, 0x3f, 0x6b, 0x57, 0xe7, 0x10, 0x40, 0xe1, 0x5b, 0xbd, 0x56, 0xaf, 0x75, 0x50, 0xd5, 0x50,
+	0x05, 0x8a, 0x9f, 0x9d, 0xe2, 0x4f, 0x8e, 0xdb, 0x87, 0xd5, 0x1c, 0x5b, 0x74, 0x7a, 0xcd, 0x66,
+	0xab, 0xd3, 0xa9, 0xe6, 0xd9, 0xe2, 0xd1, 0xde, 0xf1, 0x49, 0x0f, 0xb7, 0xaa, 0xf3, 0xcc, 0xcc,
+	0x71, 0xbb, 0xdb, 0xc2, 0xed, 0xbd, 0x13, 0xb3, 0x85, 0xf1, 0x29, 0xae, 0x2e, 0x30, 0x85, 0xee,
+	0xf1, 0xa7, 0xad, 0xd3, 0x5e, 0xb7, 0x5a, 0x40, 0x4b, 0x50, 0x6e, 0xee, 0xb5, 0x9b, 0xad, 0x93,
+	0x93, 0xd6, 0x41, 0xb5, 0x68, 0x74, 0x61, 0x55, 0x86, 0x2c, 0xc9, 0xea, 0x53, 0x42, 0x2d, 0xdb,
+	0xa2, 0x16, 0xda, 0x81, 0x05, 0x7e, 0x2a, 0xde, 0x02, 0x2a, 0x5b, 0x6f, 0x66, 0x39, 0x38, 0x16,
+	0x10, 0xe3, 0x77, 0x79, 0xa8, 0x4e, 0xdf, 0x03, 0xb2, 0xe1, 0x56, 0x44, 0xe2, 0xc0, 0x1b, 0x11,
+	0xd6, 0x89, 0xae, 0x70, 0x49, 0x7e, 0x76, 0x2e, 0xc1, 0xaf, 0x29, 0x63, 0x57, 0xb9, 0xfb, 0xbb,
+	0x70, 0x73, 0xec, 0x25, 0x49, 0x2d, 0x85, 0x19, 0xa9, 0x05, 0x23, 0x65, 0x26, 0xc1, 0xdc, 0xdf,
+	0x67, 0x2f, 0xc8, 0x23, 0xe6, 0x85, 0x15, 0x5f, 0x90, 0x58, 0x9f, 0xe7, 0x1d, 0xe4, 0xe3, 0x19,
+	0x0b, 0xb2, 0xfe, 0xc8, 0xf5, 0xc8, 0x11, 0xb7, 0xd0, 0xf2, 0x69, 0x74, 0xc9, 0x9e, 0x99, 0x12,
+	0xd4, 0x2e, 0x60, 0x65, 0x6a, 0x9b, 0x31, 0xc9, 0x53, 0x72, 0x29, 0x3b, 0x31, 0xfb, 0x44, 0x1f,
+	0xc3, 0xc2, 0xc8, 0xf2, 0x86, 0x8a, 0x83, 0xd3, 0x0e, 0x35, 0x31, 0x88, 0x05, 0x6e, 0x27, 0xb7,
+	0xad, 0x19, 0x6d, 0x80, 0xc9, 0x06, 0xda, 0x85, 0xf2, 0xf8, 0x64, 0xba, 0xc6, 0xcf, 0x75, 0x2f,
+	0xc5, 0x2c, 0x43, 0xe2, 0x92, 0x8a, 0xdd, 0xf8, 0x89, 0x06, 0xf3, 0xec, 0x03, 0xed, 0xc2, 0x3c,
+	0xbd, 0x0c, 0x05, 0x67, 0x2e, 0xa7, 0x5e, 0x2a, 0x83, 0xf0, 0x3f, 0xdd, 0xcb, 0x90, 0x60, 0x8e,
+	0x44, 0x37, 0x93, 0xe7, 0x5b, 0x94, 0x41, 0x1b, 0xeb, 0x50, 0x52, 0x7a, 0xa8, 0x04, 0xf3, 0xed,
+	0xd3, 0x76, 0x4b, 0xbc, 0x91, 0xce, 0xd1, 0xde, 0xd6, 0xfb, 0x5f, 0xaf, 0x6a, 0x46, 0x00, 0xa8,
+	0xc9, 0x3b, 0xa5, 0x28, 0x46, 0xf2, 0xc3, 0x21, 0x89, 0x69, 0xda, 0xb8, 0x35, 0xae, 0xf3, 0xdc,
+	0xec, 0x75, 0xbe, 0x0b, 0x2b, 0x87, 0x84, 0xce, 0xe2, 0x4d, 0xb0, 0x6a, 0x4e, 0xb1, 0xaa, 0xf1,
+	0x33, 0x0d, 0x6e, 0x9c, 0xb8, 0xb1, 0xb0, 0x11, 0x67, 0x34, 0x72, 0x1b, 0xca, 0x21, 0x7f, 0x3d,
+	0xee, 0x33, 0x91, 0xa3, 0x05, 0x5c, 0x62, 0x82, 0x8e, 0xfb, 0x4c, 0x4c, 0x97, 0x6c, 0x93, 0x06,
+	0x4f, 0x89, 0x2f, 0x87, 0x1b, 0xae, 0xde, 0x65, 0x02, 0xd6, 0x92, 0xcf, 0x5d, 0x8f, 0x92, 0x88,
+	0xf7, 0xff, 0x32, 0x96, 0x2b, 0xe3, 0x19, 0xa0, 0x64, 0x1c, 0x71, 0x18, 0xf8, 0x31, 0x41, 0x1f,
+	0xb1, 0x49, 0x98, 0x49, 0x64, 0x4d, 0x64, 0xcb, 0x8e, 0xc4, 0xa0, 0xb7, 0x61, 0xc5, 0x27, 0x9f,
+	0x53, 0x33, 0x11, 0x8f, 0x38, 0xf9, 0x12, 0x13, 0x3f, 0x56, 0x31, 0x19, 0x4d, 0x40, 0x4d, 0xf6,
+	0x32, 0xbc, 0x57, 0xc9, 0xe4, 0xdf, 0x73, 0xb0, 0xb8, 0x9f, 0xe8, 0xde, 0xd7, 0x06, 0x98, 0x75,
+	0xa8, 0xd8, 0x24, 0xee, 0x47, 0x2e, 0x6f, 0xca, 0x9c, 0xbc, 0xcb, 0x38, 0x29, 0x42, 0x5d, 0xa8,
+	0x2a, 0x46, 0xa0, 0x64, 0x10, 0x7a, 0x16, 0x55, 0x0c, 0x3b, 0x43, 0xdf, 0x58, 0x91, 0x26, 0xba,
+	0xd2, 0x02, 0xfa, 0x48, 0x15, 0xd8, 0x7c, 0xf6, 0x02, 0x3b, 0x9a, 0x93, 0x25, 0x86, 0x5e, 0x07,
+	0xfe, 0xc4, 0xf8, 0x14, 0x5a, 0x92, 0xe3, 0xfa, 0x58, 0x32, 0x3d, 0x4a, 0x2c, 0xcc, 0x34, 0x4a,
+	0xd4, 0xa0, 0x64, 0xbb, 0xb1, 0x75, 0xe6, 0x11, 0x5b, 0x2f, 0xaf, 0x6b, 0x1b, 0x25, 0x3c, 0x5e,
+	0xef, 0x57, 0x61, 0x59, 0x52, 0xa4, 0x3c, 0x86, 0xf1, 0x53, 0x0d, 0xd6, 0x12, 0xaf, 0x4b, 0x66,
+	0x39, 0xe3, 0x65, 0xb5, 0xa0, 0x28, 0xd3, 0x22, 0x9f, 0x59, 0x26, 0x1e, 0x55, 0x3e, 0x14, 0xd6,
+	0x78, 0x02, 0xab, 0xea, 0xbd, 0xcd, 0xe6, 0xff, 0x0e, 0x40, 0x82, 0xeb, 0x45, 0xd1, 0x94, 0xa9,
+	0xa2, 0x79, 0xe3, 0x43, 0xd0, 0xc7, 0xc5, 0x2f, 0x0d, 0x67, 0x7c, 0x8b, 0x86, 0x0d, 0x6b, 0x5f,
+	0x02, 0x95, 0xcf, 0xe7, 0x10, 0x4a, 0xd2, 0x89, 0x7a, 0x40, 0x33, 0x9d, 0x7b, 0x0c, 0x36, 0xbe,
+	0x0d, 0x6b, 0x07, 0xc4, 0x23, 0xff, 0x55, 0xee, 0x53, 0xce, 0xfe, 0x5b, 0x0d, 0xd6, 0x7a, 0xa1,
+	0x6d, 0xfd, 0x0f, 0x6c, 0x27, 0xaf, 0x3d, 0xff, 0x0a, 0xd7, 0xfe, 0x2b, 0xf5, 0xb4, 0xe5, 0x60,
+	0x85, 0xce, 0x60, 0xf5, 0xda, 0x78, 0x38, 0xa1, 0xae, 0x59, 0x49, 0xe7, 0xe6, 0xf4, 0x80, 0xc8,
+	0x69, 0x2c, 0x64, 0xe3, 0x0a, 0x4f, 0x02, 0xb1, 0xcd, 0x11, 0x89, 0xdc, 0xf3, 0x4b, 0x53, 0xcc,
+	0x73, 0xf2, 0x3f, 0x9c, 0xed, 0x19, 0x46, 0xc1, 0xfa, 0x13, 0x6e, 0x40, 0xac, 0xd8, 0xe8, 0x22,
+	0x0d, 0x27, 0xc5, 0x46, 0x1d, 0x16, 0x93, 0x6b, 0x54, 0x85, 0xc5, 0xf6, 0x69, 0xd7, 0x7c, 0xd2,
+	0xc2, 0xc7, 0x8f, 0x8e, 0x5b, 0x07, 0xd5, 0x39, 0xb4, 0x08, 0xa5, 0xf1, 0x4a, 0xdb, 0xfa, 0x67,
+	0x05, 0xa0, 0xc9, 0x5c, 0x8a, 0x7f, 0xd8, 0x7e, 0xa1, 0x41, 0x25, 0xf1, 0x40, 0xd1, 0x66, 0x4a,
+	0x7c, 0xd7, 0xa9, 0xb2, 0x76, 0x47, 0x41, 0x12, 0xbf, 0xc6, 0xd4, 0xc7, 0xa3, 0xa1, 0xd1, 0xf8,
+	0xe2, 0x6f, 0xff, 0xf8, 0x65, 0xee, 0x1d, 0x63, 0xbd, 0x31, 0xda, 0x6c, 0xc8, 0x22, 0x88, 0x1b,
+	0xcf, 0x27, 0x05, 0xf2, 0xa2, 0x21, 0x3a, 0xff, 0x8e, 0x6c, 0x5e, 0x3f, 0xd7, 0xa0, 0xa4, 0x1e,
+	0x2c, 0xaa, 0xa7, 0xc4, 0x33, 0xc5, 0xa4, 0xb5, 0x4c, 0x8d, 0xd2, 0x78, 0x8f, 0xc7, 0xf4, 0x15,
+	0xf4, 0x56, 0x5a, 0x4c, 0x8d, 0xe7, 0xae, 0xfd, 0x02, 0xfd, 0x5a, 0x03, 0x98, 0xf0, 0x1c, 0xfa,
+	0x5a, 0x8a, 0x8f, 0x6b, 0xd4, 0x5c, 0xdb, 0x9c, 0x01, 0x21, 0xba, 0x80, 0xb1, 0xc1, 0x43, 0x34,
+	0x50, 0x6a, 0xda, 0xd0, 0x6f, 0xd8, 0x15, 0x4e, 0x98, 0x30, 0xfd, 0x0a, 0xaf, 0xb1, 0x66, 0xc6,
+	0xac, 0x7d, 0xc0, 0x43, 0xda, 0x34, 0xde, 0xcd, 0x94, 0xb5, 0x9d, 0x3e, 0xf7, 0xb3, 0xa3, 0xdd,
+	0x47, 0x7f, 0xd4, 0xae, 0xcc, 0x58, 0x8a, 0x6b, 0xb7, 0xb3, 0xd7, 0xda, 0xd5, 0x06, 0x53, 0x9b,
+	0xa5, 0x23, 0x18, 0x0f, 0x78, 0xd8, 0xef, 0x19, 0xc6, 0xcb, 0xc3, 0x56, 0x2d, 0x73, 0x47, 0x75,
+	0x0f, 0xf4, 0x07, 0x6d, 0x32, 0xa5, 0xa9, 0x78, 0xdf, 0xcf, 0x58, 0x8b, 0xaf, 0x12, 0xac, 0xcc,
+	0x31, 0x6a, 0xa4, 0x07, 0xdb, 0x78, 0x3e, 0xe9, 0xa2, 0x2f, 0xd0, 0x9f, 0x92, 0x33, 0xa1, 0xe2,
+	0x14, 0xf4, 0x41, 0xd6, 0xc2, 0x9b, 0x22, 0xb0, 0xda, 0xf6, 0xec, 0x40, 0x59, 0xb8, 0xf7, 0xf9,
+	0x09, 0xde, 0x44, 0x19, 0xd2, 0xcd, 0x4a, 0x17, 0x5d, 0xa7, 0xa8, 0xd4, 0xc2, 0x78, 0x29, 0xab,
+	0xd5, 0x56, 0xaf, 0x4d, 0x31, 0xad, 0x41, 0x48, 0x2f, 0x55, 0x5a, 0xef, 0xcf, 0x9c, 0xd6, 0xbf,
+	0x6a, 0x80, 0xae, 0x13, 0x5d, 0x6a, 0x84, 0x2f, 0xe5, 0xc6, 0xd9, 0xaa, 0x61, 0x97, 0x87, 0xbd,
+	0xb3, 0x35, 0x6b, 0xd8, 0xe3, 0x3a, 0xde, 0x7f, 0x0a, 0x7a, 0x3f, 0x18, 0x28, 0x9f, 0x57, 0x5c,
+	0x3d, 0xd6, 0xbe, 0x73, 0x28, 0xe5, 0x4e, 0xe0, 0x59, 0xbe, 0x53, 0x0f, 0x22, 0xa7, 0xe1, 0x10,
+	0x9f, 0xe7, 0xae, 0x21, 0xb6, 0xac, 0xd0, 0x8d, 0x5f, 0xf2, 0x9b, 0xfe, 0xc3, 0xc9, 0xea, 0xf7,
+	0xb9, 0xfc, 0x61, 0x73, 0xff, 0xac, 0xc0, 0x91, 0x0f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x04,
+	0x50, 0xf5, 0x20, 0x0c, 0x18, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto b/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
deleted file mode 100644
index 6d8f758a..00000000
--- a/googleapis/devtools/cloudbuild/v1/cloudbuild.proto
+++ /dev/null
@@ -1,521 +0,0 @@
-// 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.devtools.cloudbuild.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto"; // from google/devtools/source/v1/source_context.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
-
-option java_multiple_files = true;
-option java_package = "com.google.cloudbuild.v1";
-option objc_class_prefix = "GCB";
-
-
-// Manages container image build requests in the cloud.
-//
-// The main concept used by this API is a Build, which describes the location of
-// the source to build, how to build the source into a container image, and what
-// tag to apply to the built image when it is pushed to Google Container
-// Registry.
-//
-// A user can list previously-requested builds or get builds by their ID to
-// determine the status of the build.
-service CloudBuild {
-  // Starts a build with the specified configuration.
-  //
-  // The long-running Operation returned by this method will include the ID of
-  // the build, which can be passed to GetBuild to determine its status (e.g.,
-  // success or failure).
-  rpc CreateBuild(CreateBuildRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/projects/{project_id}/builds" body: "build" };
-  }
-
-  // Returns information about a previously requested build.
-  //
-  // The Build that is returned includes its status (e.g., success or failure,
-  // or in-progress), and timing information.
-  rpc GetBuild(GetBuildRequest) returns (Build) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/builds/{id}" };
-  }
-
-  // Lists previously requested builds.
-  //
-  // Previously requested builds may still be in-progress, or may have finished
-  // successfully or unsuccessfully.
-  rpc ListBuilds(ListBuildsRequest) returns (ListBuildsResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/builds" };
-  }
-
-  // Cancels a requested build in progress.
-  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
-// Google Cloud Storage.
-message StorageSource {
-  // Google Cloud Storage bucket containing source (see
-  // [Bucket Name
-  // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  string bucket = 1;
-
-  // Google Cloud Storage object containing source.
-  //
-  // This object must be a gzipped archive file (.tar.gz) containing source to
-  // build.
-  string object = 2;
-
-  // Google Cloud Storage generation for the object. If the generation is
-  // omitted, the latest generation will be used.
-  int64 generation = 3;
-}
-
-// RepoSource describes the location of the source in a Google Cloud Source
-// Repository.
-message RepoSource {
-  // ID of the project that owns the repo. If omitted, the project ID requesting
-  // the build is assumed.
-  string project_id = 1;
-
-  // Name of the repo. If omitted, the name "default" is assumed.
-  string repo_name = 2;
-
-  // A revision within the source repository must be specified in
-  // one of these ways.
-  oneof revision {
-    // Name of the branch to build.
-    string branch_name = 3;
-
-    // Name of the tag to build.
-    string tag_name = 4;
-
-    // Explicit commit SHA to build.
-    string commit_sha = 5;
-  }
-}
-
-// Source describes the location of the source in a supported storage
-// service.
-message Source {
-  // Describes location of source.
-  oneof source {
-    // If provided, get the source from this location in in Google Cloud
-    // Storage.
-    StorageSource storage_source = 2;
-
-    // If provided, get source from this location in a Cloud Repo.
-    RepoSource repo_source = 3;
-  }
-}
-
-// BuiltImage describes an image built by the pipeline.
-message BuiltImage {
-  // Name used to push the container image to Google Container Registry, as
-  // presented to `docker push`.
-  string name = 1;
-
-  // Docker Registry 2.0 digest.
-  string digest = 3;
-}
-
-// BuildStep describes a step to perform in the build pipeline.
-message BuildStep {
-  // Name of the container image to use for creating this stage in the
-  // pipeline, as presented to `docker pull`.
-  string name = 1;
-
-  // Additional environment variables to set for this step's container.
-  repeated string env = 2;
-
-  // Command-line arguments to use when running this step's container.
-  repeated string args = 3;
-
-  // Working directory (relative to project source root) to use when running
-  // this operation's container.
-  string dir = 4;
-
-  // Optional unique identifier for this build step, used in wait_for to
-  // reference this build step as a dependency.
-  string id = 5;
-
-  // The ID(s) of the step(s) that this build step depends on.
-  // This build step will not start until all the build steps in wait_for
-  // have completed successfully. If wait_for is empty, this build step will
-  // start when all previous build steps in the Build.Steps list have completed
-  // successfully.
-  repeated string wait_for = 6;
-}
-
-// Results describes the artifacts created by the build pipeline.
-message Results {
-  // Images that were built as a part of the build.
-  repeated BuiltImage images = 2;
-
-  // List of build step digests, in order corresponding to build step indices.
-  repeated string build_step_images = 3;
-}
-
-// A build resource in the Container Builder API.
-//
-// At a high level, a Build describes where to find source code, how to build
-// it (for example, the builder image to run on the source), and what tag to
-// apply to the built image when it is pushed to Google Container Registry.
-message Build {
-  // Possible status of a build.
-  enum Status {
-    // Status of the build is unknown.
-    STATUS_UNKNOWN = 0;
-
-    // Build has been received and is being queued.
-    QUEUING = 8;
-
-    // Build is queued; work has not yet begun.
-    QUEUED = 1;
-
-    // Build is being executed.
-    WORKING = 2;
-
-    // Build finished successfully.
-    SUCCESS = 3;
-
-    // Build failed to complete successfully.
-    FAILURE = 4;
-
-    // Build failed due to an internal cause.
-    INTERNAL_ERROR = 5;
-
-    // Build took longer than was allowed.
-    TIMEOUT = 6;
-
-    // Build was canceled by a user.
-    CANCELLED = 7;
-  }
-
-  // Unique identifier of the build.
-  // @OutputOnly
-  string id = 1;
-
-  // ID of the project.
-  // @OutputOnly.
-  string project_id = 16;
-
-  // Status of the build.
-  // @OutputOnly
-  Status status = 2;
-
-  // Customer-readable message about the current status.
-  // @OutputOnly
-  string status_detail = 24;
-
-  // Describes where to find the source files to build.
-  Source source = 3;
-
-  // Describes the operations to be performed on the workspace.
-  repeated BuildStep steps = 11;
-
-  // Results of the build.
-  // @OutputOnly
-  Results results = 10;
-
-  // Time at which the build was created.
-  // @OutputOnly
-  google.protobuf.Timestamp create_time = 6;
-
-  // Time at which execution of the build was started.
-  // @OutputOnly
-  google.protobuf.Timestamp start_time = 7;
-
-  // Time at which execution of the build was finished.
-  // @OutputOnly
-  google.protobuf.Timestamp finish_time = 8;
-
-  // Amount of time that this build should be allowed to run, to second
-  // granularity. If this amount of time elapses, work on the build will cease
-  // and the build status will be TIMEOUT.
-  //
-  // Default time is ten minutes.
-  google.protobuf.Duration timeout = 12;
-
-  // List of images expected to be built and pushed to Google Container
-  // Registry. If an image is listed here and the image is not produced by
-  // one of the build steps, the build will fail. Any images present when
-  // the build steps are complete will be pushed to Container Registry.
-  repeated string images = 13;
-
-  // Google Cloud Storage bucket where logs should be written (see
-  // [Bucket Name
-  // Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  // Logs file names will be of the format `${logs_bucket}/log-${build_id}.txt`.
-  string logs_bucket = 19;
-
-  // A permanent fixed identifier for source.
-  // @OutputOnly
-  SourceProvenance source_provenance = 21;
-
-  // Special options for this build.
-  BuildOptions options = 23;
-
-  // URL to logs for this build in Google Cloud Logging.
-  // @OutputOnly
-  string log_url = 25;
-}
-
-// Metadata for build operations.
-message BuildOperationMetadata {
-  // The build that the operation is tracking.
-  Build build = 1;
-}
-
-// Provenance of the source. Ways to find the original source, or verify that
-// some source was used for this build.
-message SourceProvenance {
-  // A copy of the build's source.storage_source, if exists, with any
-  // generations resolved.
-  StorageSource resolved_storage_source = 3;
-
-  // A copy of the build's source.repo_source, if exists, with any
-  // revisions resolved.
-  RepoSource resolved_repo_source = 6;
-
-  // Hash(es) of the build source, which can be used to verify that the original
-  // source integrity was maintained in the build. Note that FileHashes will
-  // only be populated if BuildOptions has requested a SourceProvenanceHash.
-  //
-  // The keys to this map are file paths used as build source and the values
-  // contain the hash values for those files.
-  //
-  // If the build source came in a single package such as a gzipped tarfile
-  // (.tar.gz), the FileHash will be for the single path to that file.
-  // @OutputOnly
-  map<string, FileHashes> file_hashes = 4;
-}
-
-// Container message for hashes of byte content of files, used in
-// SourceProvenance messages to verify integrity of source input to the build.
-message FileHashes {
-  // Collection of file hashes.
-  repeated Hash file_hash = 1;
-}
-
-// Container message for hash values.
-message Hash {
-  // Specifies the hash algorithm, if any.
-  enum HashType {
-    // No hash requested.
-    NONE = 0;
-
-    // Use a sha256 hash.
-    SHA256 = 1;
-  }
-
-  // The type of hash that was performed.
-  HashType type = 1;
-
-  // The hash value.
-  bytes value = 2;
-}
-
-// Request to create a new build.
-message CreateBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // Build resource to create.
-  Build build = 2;
-}
-
-// Request to get a build.
-message GetBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // ID of the build.
-  string id = 2;
-}
-
-// Request to list builds.
-message ListBuildsRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // Number of results to return in the list.
-  int32 page_size = 2;
-
-  // Token to provide to skip to a particular spot in the list.
-  string page_token = 3;
-}
-
-// Response including listed builds.
-message ListBuildsResponse {
-  // Builds will be sorted by create_time, descending.
-  repeated Build builds = 1;
-
-  // Token to receive the next page of results.
-  string next_page_token = 2;
-}
-
-// Request to cancel an ongoing build.
-message CancelBuildRequest {
-  // ID of the project.
-  string project_id = 1;
-
-  // ID of the build.
-  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.
-  enum VerifyOption {
-    // Not a verifiable build. (default)
-    NOT_VERIFIED = 0;
-
-    // Verified build.
-    VERIFIED = 1;
-  }
-
-  // Requested hash for SourceProvenance.
-  repeated Hash.HashType source_provenance_hash = 1;
-
-  // Options for a verifiable build with details uploaded to the Analysis API.
-  VerifyOption requested_verify_option = 2;
-}
diff --git a/googleapis/devtools/clouddebugger/v2/controller.pb.go b/googleapis/devtools/clouddebugger/v2/controller.pb.go
index 018243cb..7773d6ec 100644
--- a/googleapis/devtools/clouddebugger/v2/controller.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/controller.pb.go
@@ -1,14 +1,14 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto
+// source: google/devtools/clouddebugger/v2/controller.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_clouddebugger_v2 is a generated protocol buffer package.
+Package clouddebugger is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto
-	google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto
+	google/devtools/clouddebugger/v2/controller.proto
+	google/devtools/clouddebugger/v2/data.proto
+	google/devtools/clouddebugger/v2/debugger.proto
 
 It has these top-level messages:
 	RegisterDebuggeeRequest
@@ -34,12 +34,12 @@ It has these top-level messages:
 	ListDebuggeesRequest
 	ListDebuggeesResponse
 */
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 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/api/annotations"
 import _ "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -119,6 +119,27 @@ func (m *ListActiveBreakpointsRequest) String() string            { return proto
 func (*ListActiveBreakpointsRequest) ProtoMessage()               {}
 func (*ListActiveBreakpointsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListActiveBreakpointsRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsRequest) GetWaitToken() string {
+	if m != nil {
+		return m.WaitToken
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsRequest) GetSuccessOnTimeout() bool {
+	if m != nil {
+		return m.SuccessOnTimeout
+	}
+	return false
+}
+
 // Response for listing active breakpoints.
 type ListActiveBreakpointsResponse struct {
 	// List of all active breakpoints.
@@ -144,6 +165,20 @@ func (m *ListActiveBreakpointsResponse) GetBreakpoints() []*Breakpoint {
 	return nil
 }
 
+func (m *ListActiveBreakpointsResponse) GetNextWaitToken() string {
+	if m != nil {
+		return m.NextWaitToken
+	}
+	return ""
+}
+
+func (m *ListActiveBreakpointsResponse) GetWaitExpired() bool {
+	if m != nil {
+		return m.WaitExpired
+	}
+	return false
+}
+
 // Request to update an active breakpoint.
 type UpdateActiveBreakpointRequest struct {
 	// Identifies the debuggee being debugged.
@@ -158,6 +193,13 @@ func (m *UpdateActiveBreakpointRequest) String() string            { return prot
 func (*UpdateActiveBreakpointRequest) ProtoMessage()               {}
 func (*UpdateActiveBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *UpdateActiveBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
 func (m *UpdateActiveBreakpointRequest) GetBreakpoint() *Breakpoint {
 	if m != nil {
 		return m.Breakpoint
@@ -383,50 +425,47 @@ var _Controller2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto",
+	Metadata: "google/devtools/clouddebugger/v2/controller.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/controller.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/controller.proto", fileDescriptor0) }
 
 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,
+	// 572 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x54, 0xdd, 0x6a, 0xd4, 0x40,
+	0x14, 0x66, 0x5a, 0x94, 0xf6, 0x44, 0x69, 0x19, 0x50, 0x97, 0xd8, 0xea, 0x36, 0x48, 0x29, 0xeb,
+	0x92, 0xc1, 0xe8, 0x8d, 0x2b, 0xf8, 0xb3, 0xfe, 0x21, 0xb4, 0x5a, 0x96, 0x8a, 0xe0, 0xcd, 0x92,
+	0x4d, 0x8e, 0x61, 0x68, 0x76, 0x26, 0x66, 0x26, 0x6b, 0xa5, 0xf4, 0xc6, 0x2b, 0x41, 0xf1, 0xc6,
+	0x87, 0x11, 0x7c, 0x0d, 0x7d, 0x04, 0xaf, 0x7c, 0x0a, 0xd9, 0x64, 0xf6, 0xaf, 0xed, 0x36, 0xed,
+	0xe2, 0x65, 0xbe, 0x73, 0xbe, 0x73, 0xbe, 0x6f, 0x72, 0xce, 0x81, 0x5b, 0x91, 0x94, 0x51, 0x8c,
+	0x2c, 0xc4, 0x9e, 0x96, 0x32, 0x56, 0x2c, 0x88, 0x65, 0x16, 0x86, 0xd8, 0xc9, 0xa2, 0x08, 0x53,
+	0xd6, 0xf3, 0x58, 0x20, 0x85, 0x4e, 0x65, 0x1c, 0x63, 0xea, 0x26, 0xa9, 0xd4, 0x92, 0x56, 0x0b,
+	0x8a, 0x3b, 0xa0, 0xb8, 0x13, 0x14, 0xb7, 0xe7, 0xd9, 0x2b, 0xa6, 0xa8, 0x9f, 0x70, 0xe6, 0x0b,
+	0x21, 0xb5, 0xaf, 0xb9, 0x14, 0xaa, 0xe0, 0xdb, 0x37, 0x4b, 0x5b, 0x86, 0xbe, 0xf6, 0x4d, 0xf2,
+	0x55, 0x93, 0x9c, 0x7f, 0x75, 0xb2, 0x77, 0x0c, 0xbb, 0x89, 0xfe, 0x58, 0x04, 0x1d, 0x1f, 0xae,
+	0xb4, 0x30, 0xe2, 0x4a, 0x63, 0xfa, 0xa4, 0xa0, 0x63, 0x0b, 0xdf, 0x67, 0xa8, 0x34, 0x7d, 0x06,
+	0x0b, 0xa6, 0x22, 0x56, 0x48, 0x95, 0x6c, 0x58, 0x5e, 0xcd, 0x2d, 0xd3, 0xed, 0x0e, 0x8b, 0x0c,
+	0xb9, 0x4e, 0x07, 0x2a, 0x47, 0x5b, 0xa8, 0x44, 0x0a, 0x85, 0xff, 0xad, 0xc7, 0x57, 0x02, 0x2b,
+	0x9b, 0x5c, 0xe9, 0x47, 0x81, 0xe6, 0x3d, 0x6c, 0xa6, 0xe8, 0xef, 0x26, 0x92, 0x0b, 0xad, 0x06,
+	0x66, 0xae, 0x83, 0x35, 0x48, 0x6e, 0xf3, 0x30, 0xef, 0xb5, 0xd8, 0x82, 0x01, 0xf4, 0x22, 0xa4,
+	0xab, 0x00, 0x1f, 0x7c, 0xae, 0xdb, 0x5a, 0xee, 0xa2, 0xa8, 0xcc, 0xe5, 0xf1, 0xc5, 0x3e, 0xb2,
+	0xd3, 0x07, 0x68, 0x1d, 0xa8, 0xca, 0x82, 0x00, 0x95, 0x6a, 0x4b, 0xd1, 0xd6, 0xbc, 0x8b, 0x32,
+	0xd3, 0x95, 0xf9, 0x2a, 0xd9, 0x58, 0x68, 0x2d, 0x9b, 0xc8, 0x2b, 0xb1, 0x53, 0xe0, 0xce, 0x4f,
+	0x02, 0xab, 0x53, 0xe4, 0x18, 0xe3, 0x2f, 0xc1, 0xea, 0x8c, 0xe0, 0x0a, 0xa9, 0xce, 0x6f, 0x58,
+	0x5e, 0xbd, 0xdc, 0xfb, 0xa8, 0x56, 0x6b, 0xbc, 0x00, 0x5d, 0x87, 0x25, 0x81, 0x7b, 0xba, 0x7d,
+	0xc4, 0xc3, 0xc5, 0x3e, 0xfc, 0x66, 0xe8, 0x63, 0x0d, 0x2e, 0xe4, 0x29, 0xb8, 0x97, 0xf0, 0x14,
+	0x43, 0xe3, 0xc0, 0xea, 0x63, 0x4f, 0x0b, 0xc8, 0xf9, 0x46, 0x60, 0xf5, 0x75, 0x12, 0xfa, 0x1a,
+	0x0f, 0xcb, 0x3f, 0xf5, 0x63, 0x6e, 0x02, 0x8c, 0xc4, 0xe5, 0x42, 0xce, 0x6a, 0x6e, 0x8c, 0xef,
+	0x54, 0xe1, 0xda, 0x34, 0x3d, 0xc5, 0x6b, 0x7a, 0x5f, 0xce, 0x81, 0xf5, 0x78, 0xb8, 0x64, 0x1e,
+	0xfd, 0x41, 0x60, 0xf9, 0xf0, 0xcc, 0xd1, 0xbb, 0xe5, 0x02, 0xa6, 0xac, 0x82, 0xdd, 0x98, 0x85,
+	0x5a, 0x68, 0x73, 0xea, 0x9f, 0x7e, 0xfd, 0xf9, 0x3e, 0xb7, 0xee, 0xac, 0x4d, 0x5e, 0x02, 0x36,
+	0x78, 0x2e, 0xc5, 0x52, 0x43, 0x6d, 0x90, 0x1a, 0xfd, 0x4d, 0xe0, 0xd2, 0xb1, 0x93, 0x43, 0xef,
+	0x97, 0x6b, 0x38, 0x69, 0x03, 0xec, 0x07, 0x33, 0xf3, 0x8d, 0x91, 0x46, 0x6e, 0xe4, 0x0e, 0xf5,
+	0xa6, 0x1a, 0xd9, 0x1f, 0x9b, 0x8a, 0x03, 0x36, 0x3e, 0x9e, 0x7f, 0x09, 0x5c, 0x3e, 0xfe, 0x1f,
+	0xd2, 0x53, 0xe8, 0x3a, 0x71, 0x1a, 0xed, 0x87, 0xb3, 0x17, 0x30, 0xce, 0xb6, 0x72, 0x67, 0xcf,
+	0xed, 0xe6, 0xd9, 0x9d, 0xb1, 0xfd, 0xd1, 0x87, 0xcb, 0xc3, 0x83, 0x06, 0xa9, 0x35, 0x3f, 0x13,
+	0xb8, 0x11, 0xc8, 0x6e, 0xa9, 0xac, 0xe6, 0xd2, 0x68, 0x66, 0xb7, 0xfb, 0xd7, 0x78, 0x9b, 0xbc,
+	0xdd, 0x32, 0xa4, 0x48, 0xc6, 0xbe, 0x88, 0x5c, 0x99, 0x46, 0x2c, 0x42, 0x91, 0xdf, 0x6a, 0x56,
+	0x84, 0xfc, 0x84, 0xab, 0xe9, 0x87, 0xff, 0xde, 0x04, 0xd0, 0x39, 0x9f, 0x33, 0x6f, 0xff, 0x0b,
+	0x00, 0x00, 0xff, 0xff, 0xe1, 0x6e, 0xc8, 0x51, 0xa4, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/controller.proto b/googleapis/devtools/clouddebugger/v2/controller.proto
deleted file mode 100644
index 5b979c8a..00000000
--- a/googleapis/devtools/clouddebugger/v2/controller.proto
+++ /dev/null
@@ -1,157 +0,0 @@
-// 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.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto"; // from google/devtools/clouddebugger/v2/data.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ControllerProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// The Controller service provides the API for orchestrating a collection of
-// debugger agents to perform debugging tasks. These agents are each attached
-// to a process of an application which may include one or more replicas.
-//
-// The debugger agents register with the Controller to identify the application
-// being debugged, the Debuggee. All agents that register with the same data,
-// represent the same Debuggee, and are assigned the same `debuggee_id`.
-//
-// The debugger agents call the Controller to retrieve  the list of active
-// Breakpoints. Agents with the same `debuggee_id` get the same breakpoints
-// list. An agent that can fulfill the breakpoint request updates the
-// Controller with the breakpoint result. The controller selects the first
-// result received and discards the rest of the results.
-// Agents that poll again for active breakpoints will no longer have
-// the completed breakpoint in the list and should remove that breakpoint from
-// their attached process.
-//
-// The Controller service does not provide a way to retrieve the results of
-// a completed breakpoint. This functionality is available using the Debugger
-// service.
-service Controller2 {
-  // Registers the debuggee with the controller service.
-  //
-  // All agents attached to the same application should call this method with
-  // the same request content to get back the same stable `debuggee_id`. Agents
-  // should call this method again whenever `google.rpc.Code.NOT_FOUND` is
-  // returned from any controller method.
-  //
-  // This allows the controller service to disable the agent or recover from any
-  // data loss. If the debuggee is disabled by the server, the response will
-  // have `is_disabled` set to `true`.
-  rpc RegisterDebuggee(RegisterDebuggeeRequest) returns (RegisterDebuggeeResponse) {
-    option (google.api.http) = { post: "/v2/controller/debuggees/register" body: "*" };
-  }
-
-  // Returns the list of all active breakpoints for the debuggee.
-  //
-  // The breakpoint specification (location, condition, and expression
-  // fields) is semantically immutable, although the field values may
-  // change. For example, an agent may update the location line number
-  // to reflect the actual line where the breakpoint was set, but this
-  // doesn't change the breakpoint semantics.
-  //
-  // This means that an agent does not need to check if a breakpoint has changed
-  // when it encounters the same breakpoint on a successive call.
-  // Moreover, an agent should remember the breakpoints that are completed
-  // until the controller removes them from the active list to avoid
-  // setting those breakpoints again.
-  rpc ListActiveBreakpoints(ListActiveBreakpointsRequest) returns (ListActiveBreakpointsResponse) {
-    option (google.api.http) = { get: "/v2/controller/debuggees/{debuggee_id}/breakpoints" };
-  }
-
-  // Updates the breakpoint state or mutable fields.
-  // The entire Breakpoint message must be sent back to the controller
-  // service.
-  //
-  // Updates to active breakpoint fields are only allowed if the new value
-  // does not change the breakpoint specification. Updates to the `location`,
-  // `condition` and `expression` fields should not alter the breakpoint
-  // semantics. These may only make changes such as canonicalizing a value
-  // or snapping the location to the correct line of code.
-  rpc UpdateActiveBreakpoint(UpdateActiveBreakpointRequest) returns (UpdateActiveBreakpointResponse) {
-    option (google.api.http) = { put: "/v2/controller/debuggees/{debuggee_id}/breakpoints/{breakpoint.id}" body: "*" };
-  }
-}
-
-// Request to register a debuggee.
-message RegisterDebuggeeRequest {
-  // Debuggee information to register.
-  // The fields `project`, `uniquifier`, `description` and `agent_version`
-  // of the debuggee must be set.
-  Debuggee debuggee = 1;
-}
-
-// Response for registering a debuggee.
-message RegisterDebuggeeResponse {
-  // Debuggee resource.
-  // The field `id` is guranteed to be set (in addition to the echoed fields).
-  Debuggee debuggee = 1;
-}
-
-// Request to list active breakpoints.
-message ListActiveBreakpointsRequest {
-  // Identifies the debuggee.
-  string debuggee_id = 1;
-
-  // A wait token that, if specified, blocks the method call until the list
-  // of active breakpoints has changed, or a server selected timeout has
-  // expired.  The value should be set from the last returned response.
-  string wait_token = 2;
-
-  // If set to `true`, returns `google.rpc.Code.OK` status and sets the
-  // `wait_expired` response field to `true` when the server-selected timeout
-  // has expired (recommended).
-  //
-  // If set to `false`, returns `google.rpc.Code.ABORTED` status when the
-  // server-selected timeout has expired (deprecated).
-  bool success_on_timeout = 3;
-}
-
-// Response for listing active breakpoints.
-message ListActiveBreakpointsResponse {
-  // List of all active breakpoints.
-  // The fields `id` and `location` are guaranteed to be set on each breakpoint.
-  repeated Breakpoint breakpoints = 1;
-
-  // A wait token that can be used in the next method call to block until
-  // the list of breakpoints changes.
-  string next_wait_token = 2;
-
-  // The `wait_expired` field is set to true by the server when the
-  // request times out and the field `success_on_timeout` is set to true.
-  bool wait_expired = 3;
-}
-
-// Request to update an active breakpoint.
-message UpdateActiveBreakpointRequest {
-  // Identifies the debuggee being debugged.
-  string debuggee_id = 1;
-
-  // Updated breakpoint information.
-  // The field 'id' must be set.
-  Breakpoint breakpoint = 2;
-}
-
-// Response for updating an active breakpoint.
-// The message is defined to allow future extensions.
-message UpdateActiveBreakpointResponse {
-
-}
diff --git a/googleapis/devtools/clouddebugger/v2/data.pb.go b/googleapis/devtools/clouddebugger/v2/data.pb.go
index 19a3c229..9a51ab6e 100644
--- a/googleapis/devtools/clouddebugger/v2/data.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/data.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto
+// source: google/devtools/clouddebugger/v2/data.proto
 // DO NOT EDIT!
 
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 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/api/annotations"
 import google_devtools_source_v1 "google.golang.org/genproto/googleapis/devtools/source/v1"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/wrappers"
@@ -134,6 +134,20 @@ func (m *FormatMessage) String() string            { return proto.CompactTextStr
 func (*FormatMessage) ProtoMessage()               {}
 func (*FormatMessage) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *FormatMessage) GetFormat() string {
+	if m != nil {
+		return m.Format
+	}
+	return ""
+}
+
+func (m *FormatMessage) GetParameters() []string {
+	if m != nil {
+		return m.Parameters
+	}
+	return nil
+}
+
 // Represents a contextual status message.
 // The message can indicate an error or informational status, and refer to
 // specific parts of the containing object.
@@ -153,6 +167,20 @@ func (m *StatusMessage) String() string            { return proto.CompactTextStr
 func (*StatusMessage) ProtoMessage()               {}
 func (*StatusMessage) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *StatusMessage) GetIsError() bool {
+	if m != nil {
+		return m.IsError
+	}
+	return false
+}
+
+func (m *StatusMessage) GetRefersTo() StatusMessage_Reference {
+	if m != nil {
+		return m.RefersTo
+	}
+	return StatusMessage_UNSPECIFIED
+}
+
 func (m *StatusMessage) GetDescription() *FormatMessage {
 	if m != nil {
 		return m.Description
@@ -173,6 +201,20 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
 
+func (m *SourceLocation) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLine() int32 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
 // Represents a variable or an argument possibly of a compound object type.
 // Note how the following variables are represented:
 //
@@ -325,6 +367,27 @@ func (m *Variable) String() string            { return proto.CompactTextString(m
 func (*Variable) ProtoMessage()               {}
 func (*Variable) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *Variable) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Variable) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
+func (m *Variable) GetType() string {
+	if m != nil {
+		return m.Type
+	}
+	return ""
+}
+
 func (m *Variable) GetMembers() []*Variable {
 	if m != nil {
 		return m.Members
@@ -365,6 +428,13 @@ func (m *StackFrame) String() string            { return proto.CompactTextString
 func (*StackFrame) ProtoMessage()               {}
 func (*StackFrame) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *StackFrame) GetFunction() string {
+	if m != nil {
+		return m.Function
+	}
+	return ""
+}
+
 func (m *StackFrame) GetLocation() *SourceLocation {
 	if m != nil {
 		return m.Location
@@ -474,6 +544,20 @@ func (m *Breakpoint) String() string            { return proto.CompactTextString
 func (*Breakpoint) ProtoMessage()               {}
 func (*Breakpoint) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *Breakpoint) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetAction() Breakpoint_Action {
+	if m != nil {
+		return m.Action
+	}
+	return Breakpoint_CAPTURE
+}
+
 func (m *Breakpoint) GetLocation() *SourceLocation {
 	if m != nil {
 		return m.Location
@@ -481,6 +565,41 @@ func (m *Breakpoint) GetLocation() *SourceLocation {
 	return nil
 }
 
+func (m *Breakpoint) GetCondition() string {
+	if m != nil {
+		return m.Condition
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetExpressions() []string {
+	if m != nil {
+		return m.Expressions
+	}
+	return nil
+}
+
+func (m *Breakpoint) GetLogMessageFormat() string {
+	if m != nil {
+		return m.LogMessageFormat
+	}
+	return ""
+}
+
+func (m *Breakpoint) GetLogLevel() Breakpoint_LogLevel {
+	if m != nil {
+		return m.LogLevel
+	}
+	return Breakpoint_INFO
+}
+
+func (m *Breakpoint) GetIsFinalState() bool {
+	if m != nil {
+		return m.IsFinalState
+	}
+	return false
+}
+
 func (m *Breakpoint) GetCreateTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -495,6 +614,13 @@ func (m *Breakpoint) GetFinalTime() *google_protobuf1.Timestamp {
 	return nil
 }
 
+func (m *Breakpoint) GetUserEmail() string {
+	if m != nil {
+		return m.UserEmail
+	}
+	return ""
+}
+
 func (m *Breakpoint) GetStatus() *StatusMessage {
 	if m != nil {
 		return m.Status
@@ -587,6 +713,55 @@ func (m *Debuggee) String() string            { return proto.CompactTextString(m
 func (*Debuggee) ProtoMessage()               {}
 func (*Debuggee) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *Debuggee) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Debuggee) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *Debuggee) GetUniquifier() string {
+	if m != nil {
+		return m.Uniquifier
+	}
+	return ""
+}
+
+func (m *Debuggee) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Debuggee) GetIsInactive() bool {
+	if m != nil {
+		return m.IsInactive
+	}
+	return false
+}
+
+func (m *Debuggee) GetAgentVersion() string {
+	if m != nil {
+		return m.AgentVersion
+	}
+	return ""
+}
+
+func (m *Debuggee) GetIsDisabled() bool {
+	if m != nil {
+		return m.IsDisabled
+	}
+	return false
+}
+
 func (m *Debuggee) GetStatus() *StatusMessage {
 	if m != nil {
 		return m.Status
@@ -628,88 +803,85 @@ func init() {
 	proto.RegisterEnum("google.devtools.clouddebugger.v2.Breakpoint_LogLevel", Breakpoint_LogLevel_name, Breakpoint_LogLevel_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/data.proto", fileDescriptor1) }
 
 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,
+	// 1232 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x57, 0x4d, 0x73, 0xdb, 0xb6,
+	0x16, 0x8d, 0x3e, 0x2c, 0x91, 0x97, 0x96, 0xac, 0xe0, 0x25, 0x6f, 0x18, 0xbf, 0x3c, 0x47, 0xa3,
+	0x97, 0x85, 0xe7, 0x35, 0x23, 0x25, 0xca, 0xb4, 0x93, 0x34, 0x2b, 0x59, 0xa6, 0x5d, 0x4d, 0x14,
+	0x49, 0x81, 0x6c, 0xb7, 0xd3, 0x0d, 0x0b, 0x8b, 0x10, 0xcb, 0x86, 0x22, 0x59, 0x00, 0x52, 0x9d,
+	0x6d, 0xa7, 0x3f, 0xa2, 0x8b, 0xfe, 0xb7, 0xee, 0xba, 0xee, 0x4f, 0xe8, 0x00, 0x04, 0x15, 0x2a,
+	0x69, 0xab, 0xb8, 0xc9, 0xee, 0xe2, 0xe0, 0xdc, 0x03, 0xea, 0xe2, 0xdc, 0x4b, 0x0a, 0x3e, 0xf1,
+	0xe3, 0xd8, 0x0f, 0x69, 0xc7, 0xa3, 0x2b, 0x11, 0xc7, 0x21, 0xef, 0xcc, 0xc2, 0x78, 0xe9, 0x79,
+	0xf4, 0x72, 0xe9, 0xfb, 0x94, 0x75, 0x56, 0xdd, 0x8e, 0x47, 0x04, 0x69, 0x27, 0x2c, 0x16, 0x31,
+	0x6a, 0xa6, 0xe4, 0x76, 0x46, 0x6e, 0x6f, 0x90, 0xdb, 0xab, 0xee, 0xfe, 0x5d, 0x2d, 0x47, 0x92,
+	0xa0, 0x43, 0xa2, 0x28, 0x16, 0x44, 0x04, 0x71, 0xc4, 0xd3, 0xfc, 0xfd, 0xf6, 0xdb, 0x87, 0xf1,
+	0x78, 0xc9, 0x66, 0xb4, 0xb3, 0x7a, 0xa4, 0x23, 0x77, 0x16, 0x47, 0x82, 0x5e, 0x09, 0xcd, 0xbf,
+	0xa7, 0xf9, 0x6a, 0x75, 0xb9, 0x9c, 0x77, 0x44, 0xb0, 0xa0, 0x5c, 0x90, 0x45, 0xa2, 0x09, 0x07,
+	0x6f, 0x13, 0x7e, 0x60, 0x24, 0x49, 0x28, 0xd3, 0x07, 0xb6, 0x4e, 0xa1, 0x76, 0x12, 0xb3, 0x05,
+	0x11, 0x2f, 0x28, 0xe7, 0xc4, 0xa7, 0xe8, 0xdf, 0x50, 0x99, 0x2b, 0xc0, 0x2e, 0x34, 0x0b, 0x87,
+	0x26, 0xd6, 0x2b, 0x74, 0x00, 0x90, 0x10, 0x46, 0x16, 0x54, 0x50, 0xc6, 0xed, 0x62, 0xb3, 0x74,
+	0x68, 0xe2, 0x1c, 0xd2, 0xfa, 0xbd, 0x08, 0xb5, 0xa9, 0x20, 0x62, 0xc9, 0x33, 0xa5, 0x3b, 0x60,
+	0x04, 0xdc, 0xa5, 0x8c, 0xc5, 0x4c, 0x69, 0x19, 0xb8, 0x1a, 0x70, 0x47, 0x2e, 0xd1, 0x05, 0x98,
+	0x8c, 0xce, 0x29, 0xe3, 0xae, 0x88, 0xed, 0x62, 0xb3, 0x70, 0x58, 0xef, 0x3e, 0x6d, 0x6f, 0x2b,
+	0x5d, 0x7b, 0x43, 0xbe, 0x8d, 0xa5, 0x00, 0x8d, 0x66, 0x14, 0x1b, 0xa9, 0xd6, 0x59, 0x8c, 0x5e,
+	0x82, 0xe5, 0x51, 0x3e, 0x63, 0x41, 0x22, 0x8b, 0x6a, 0x97, 0x9a, 0x85, 0x43, 0xab, 0xdb, 0xd9,
+	0xae, 0xbc, 0x51, 0x02, 0x9c, 0xd7, 0x68, 0xfd, 0x5c, 0x00, 0x73, 0x7d, 0x14, 0xda, 0x03, 0xeb,
+	0x7c, 0x34, 0x9d, 0x38, 0xfd, 0xc1, 0xc9, 0xc0, 0x39, 0x6e, 0xdc, 0x40, 0x07, 0xb0, 0x7f, 0x84,
+	0x9d, 0xde, 0xf3, 0xc9, 0x78, 0x30, 0x3a, 0x73, 0xa7, 0xe3, 0x73, 0xdc, 0x77, 0xdc, 0xe1, 0xb8,
+	0xdf, 0x3b, 0x1b, 0x8c, 0x47, 0x8d, 0x12, 0xb2, 0xe1, 0x56, 0x6e, 0xbf, 0x3f, 0x1e, 0x1d, 0x0f,
+	0xd4, 0x4e, 0x19, 0xdd, 0x81, 0xdb, 0xb9, 0x1d, 0xe7, 0xab, 0x09, 0x76, 0xa6, 0x53, 0xb9, 0x55,
+	0x45, 0x37, 0xa1, 0x76, 0xd1, 0xc3, 0x83, 0xde, 0xd1, 0xd0, 0x71, 0x47, 0xbd, 0x17, 0x4e, 0x63,
+	0x07, 0x21, 0xa8, 0xaf, 0xa1, 0x8b, 0xde, 0xf0, 0xdc, 0x69, 0x54, 0x5a, 0x4f, 0xa0, 0x3e, 0x55,
+	0xa6, 0x18, 0xc6, 0x33, 0xe5, 0x22, 0x84, 0xa0, 0x9c, 0x10, 0xf1, 0xad, 0xbe, 0x3a, 0x15, 0x4b,
+	0x2c, 0x0c, 0x22, 0xaa, 0xca, 0xbc, 0x83, 0x55, 0xdc, 0xfa, 0xa5, 0x08, 0xc6, 0x05, 0x61, 0x01,
+	0xb9, 0x0c, 0xa9, 0x24, 0x44, 0x64, 0x41, 0xb3, 0x24, 0x19, 0xa3, 0x5b, 0xb0, 0xb3, 0x22, 0xe1,
+	0x32, 0xcd, 0x32, 0x71, 0xba, 0x90, 0x4c, 0xf1, 0x3a, 0xa1, 0x76, 0x25, 0x65, 0xca, 0x18, 0x1d,
+	0x43, 0x75, 0x41, 0x17, 0x97, 0xd2, 0x14, 0xa5, 0x66, 0xe9, 0xd0, 0xea, 0xfe, 0x7f, 0x7b, 0xb9,
+	0xb3, 0xa3, 0x71, 0x96, 0x8a, 0xfa, 0xb0, 0xb7, 0x22, 0xcc, 0x15, 0x12, 0x75, 0x83, 0xc8, 0xa3,
+	0x57, 0x76, 0x59, 0x5d, 0xde, 0x7f, 0x32, 0xb5, 0xcc, 0xc0, 0xed, 0x41, 0x24, 0x1e, 0x77, 0x2f,
+	0xe4, 0xf3, 0xe0, 0xda, 0x8a, 0xb0, 0x33, 0x99, 0x32, 0x90, 0x19, 0xe8, 0x14, 0x2a, 0x5c, 0x59,
+	0xc4, 0xde, 0x79, 0xdf, 0x8b, 0xdf, 0xb0, 0x14, 0xd6, 0xe9, 0xad, 0x9f, 0x8a, 0x00, 0x53, 0x41,
+	0x66, 0xaf, 0x4e, 0xa4, 0xbd, 0xd1, 0x3e, 0x18, 0xf3, 0x65, 0x34, 0x53, 0x96, 0x4a, 0x8b, 0xb4,
+	0x5e, 0xa3, 0x21, 0x18, 0xa1, 0xae, 0xbe, 0xaa, 0x95, 0xd5, 0x7d, 0xf8, 0x1e, 0xa7, 0x6e, 0xdc,
+	0x1a, 0x5e, 0x2b, 0xa0, 0x2f, 0xc0, 0x24, 0xcc, 0x5f, 0x2e, 0x68, 0x24, 0xfe, 0x49, 0x39, 0xdf,
+	0x24, 0xa3, 0x23, 0xa8, 0x48, 0xd5, 0x90, 0xdb, 0xe5, 0x6b, 0xcb, 0xe8, 0xcc, 0xd6, 0xaf, 0x06,
+	0xc0, 0x11, 0xa3, 0xe4, 0x55, 0x12, 0x07, 0x91, 0x40, 0x75, 0x28, 0x06, 0x9e, 0x2e, 0x40, 0x31,
+	0xf0, 0xd0, 0x73, 0xa8, 0x90, 0xb4, 0x28, 0x35, 0xd5, 0xc1, 0x8f, 0xb7, 0x1f, 0xf1, 0x46, 0xad,
+	0xdd, 0x53, 0xa9, 0x58, 0x4b, 0x7c, 0xe4, 0x3a, 0xde, 0x05, 0x73, 0x16, 0x47, 0x5e, 0xb0, 0x9e,
+	0x02, 0x26, 0x7e, 0x03, 0xa0, 0x26, 0x58, 0xf4, 0x2a, 0x61, 0x94, 0x73, 0x39, 0x79, 0x55, 0x81,
+	0x4c, 0x9c, 0x87, 0xd0, 0x03, 0x40, 0x61, 0xec, 0xbb, 0x8b, 0xd4, 0x17, 0xae, 0x1e, 0x88, 0x75,
+	0x25, 0xd4, 0x08, 0x63, 0x5f, 0x1b, 0x26, 0x1d, 0x1b, 0x08, 0x83, 0x29, 0xd9, 0x21, 0x5d, 0xd1,
+	0xd0, 0xde, 0x53, 0xb5, 0xf8, 0xf4, 0x5a, 0xb5, 0x18, 0xc6, 0xfe, 0x50, 0x26, 0xcb, 0x5f, 0x90,
+	0x46, 0xe8, 0x3e, 0xd4, 0x03, 0xee, 0xce, 0x83, 0x88, 0x84, 0xae, 0x74, 0x25, 0x55, 0x9e, 0x36,
+	0xf0, 0x6e, 0xc0, 0x4f, 0x24, 0x28, 0x8d, 0x4b, 0xd1, 0x33, 0xb0, 0x66, 0x8c, 0x12, 0x41, 0x5d,
+	0x39, 0xf7, 0x6d, 0x4b, 0x15, 0x6e, 0xff, 0x9d, 0x96, 0x39, 0xcb, 0x5e, 0x0a, 0x18, 0x52, 0xba,
+	0x04, 0xd0, 0x53, 0x80, 0x54, 0x5f, 0xe5, 0xee, 0x6e, 0xcd, 0x35, 0x15, 0x5b, 0xa5, 0xfe, 0x17,
+	0x60, 0xc9, 0x29, 0x73, 0xe9, 0x82, 0x04, 0xa1, 0xdd, 0x48, 0x0b, 0x2c, 0x11, 0x47, 0x02, 0xb9,
+	0x46, 0x84, 0x0f, 0x6a, 0x44, 0x34, 0x86, 0x5d, 0x2e, 0xfb, 0xd0, 0x9d, 0xcb, 0x46, 0xe4, 0x76,
+	0x55, 0x79, 0xf9, 0xc1, 0x7b, 0xc9, 0xe9, 0xee, 0xc5, 0x16, 0x5f, 0xc7, 0x1c, 0xb9, 0x70, 0x9b,
+	0xca, 0x59, 0x46, 0x04, 0xf5, 0xdc, 0xbc, 0x09, 0x8c, 0x6b, 0x77, 0xc9, 0xad, 0xb5, 0x90, 0x93,
+	0x73, 0xce, 0x4b, 0xa8, 0xaf, 0x34, 0x23, 0x9d, 0x66, 0xb6, 0x79, 0x6d, 0xe5, 0x5a, 0xa6, 0xa0,
+	0x66, 0x1b, 0x9a, 0x40, 0x25, 0x24, 0x97, 0x34, 0xe4, 0xf6, 0x4d, 0x25, 0xf5, 0xe4, 0x7a, 0xde,
+	0x52, 0xa9, 0x4e, 0x24, 0xd8, 0x6b, 0xac, 0x75, 0xf6, 0x9f, 0x82, 0x95, 0x83, 0x51, 0x03, 0x4a,
+	0xaf, 0xe8, 0x6b, 0xdd, 0xd9, 0x32, 0xfc, 0xf3, 0xf1, 0xff, 0x79, 0xf1, 0x49, 0xa1, 0x75, 0x00,
+	0x95, 0xb4, 0x73, 0x91, 0x05, 0xd5, 0x7e, 0x6f, 0x72, 0x76, 0x8e, 0x9d, 0xc6, 0x0d, 0x54, 0x85,
+	0xd2, 0x70, 0x7c, 0xda, 0x28, 0xb4, 0x1e, 0x80, 0x91, 0xb9, 0x19, 0x19, 0x50, 0x1e, 0x8c, 0x4e,
+	0xc6, 0x8d, 0x1b, 0x92, 0xfb, 0x65, 0x0f, 0x8f, 0x06, 0xa3, 0xd3, 0x46, 0x01, 0x99, 0xb0, 0xe3,
+	0x60, 0x3c, 0xc6, 0x8d, 0x62, 0xeb, 0xb7, 0x32, 0x18, 0xc7, 0xe9, 0x73, 0xd3, 0x77, 0xe6, 0x8b,
+	0x0d, 0xd5, 0x84, 0xc5, 0xdf, 0xd1, 0x99, 0xd0, 0x8f, 0x91, 0x2d, 0xe5, 0xb7, 0xc8, 0x32, 0x0a,
+	0xbe, 0x5f, 0x06, 0xf3, 0x80, 0x32, 0xdd, 0xdf, 0x39, 0x44, 0x36, 0x78, 0xfe, 0x33, 0xa0, 0xac,
+	0x08, 0x79, 0x08, 0xdd, 0x03, 0x2b, 0xe0, 0x6e, 0x10, 0xc9, 0xe9, 0xb3, 0xca, 0x7a, 0x0b, 0x02,
+	0x3e, 0xd0, 0x08, 0xfa, 0x1f, 0xd4, 0x88, 0x4f, 0x23, 0xe1, 0xae, 0x28, 0x93, 0x37, 0xab, 0xdf,
+	0x79, 0xbb, 0x0a, 0xbc, 0x48, 0x31, 0xad, 0xe2, 0x05, 0x5c, 0xde, 0x93, 0x67, 0x57, 0x33, 0x95,
+	0x63, 0x8d, 0xe4, 0x1a, 0xc1, 0xf8, 0xb0, 0x46, 0x78, 0x09, 0x7b, 0x9b, 0xdf, 0x7f, 0x5c, 0xfb,
+	0xea, 0xf0, 0x1d, 0xc5, 0x94, 0xd7, 0x5e, 0x3d, 0xd2, 0xe3, 0xb1, 0x9f, 0x26, 0xe0, 0x3a, 0xcf,
+	0x2f, 0x39, 0xfa, 0x06, 0xfe, 0x45, 0xaf, 0x84, 0xfb, 0xb6, 0x6c, 0x4d, 0xc9, 0x3e, 0xfc, 0x1b,
+	0x59, 0xe7, 0x4a, 0xd0, 0xc8, 0xa3, 0xde, 0xa6, 0xfc, 0x4d, 0x7a, 0x25, 0xa6, 0x9b, 0x27, 0x8c,
+	0xd6, 0xc6, 0xb5, 0x94, 0xe8, 0x67, 0xdb, 0x7f, 0x7d, 0x66, 0x86, 0x8f, 0x6c, 0xdb, 0xa3, 0x1f,
+	0x0b, 0x70, 0x7f, 0x16, 0x2f, 0xb6, 0x3e, 0xc0, 0x91, 0x79, 0x4c, 0x04, 0x99, 0xc8, 0xe1, 0x37,
+	0x29, 0x7c, 0xfd, 0x42, 0xd3, 0xfd, 0x38, 0x24, 0x91, 0xdf, 0x8e, 0x99, 0xdf, 0xf1, 0x69, 0xa4,
+	0x46, 0x63, 0x27, 0xdd, 0x22, 0x49, 0xc0, 0xff, 0xfa, 0x9f, 0xc1, 0xb3, 0x0d, 0xe0, 0xb2, 0xa2,
+	0x32, 0x1f, 0xff, 0x11, 0x00, 0x00, 0xff, 0xff, 0x56, 0xc4, 0x6b, 0x67, 0x52, 0x0c, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/data.proto b/googleapis/devtools/clouddebugger/v2/data.proto
deleted file mode 100644
index aee8b3e5..00000000
--- a/googleapis/devtools/clouddebugger/v2/data.proto
+++ /dev/null
@@ -1,444 +0,0 @@
-// 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.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto"; // from google/devtools/source/v1/source_context.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DataProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// Represents a message with parameters.
-message FormatMessage {
-  // Format template for the message. The `format` uses placeholders `$0`,
-  // `$1`, etc. to reference parameters. `$$` can be used to denote the `$`
-  // character.
-  //
-  // Examples:
-  //
-  // *   `Failed to load '$0' which helps debug $1 the first time it
-  //     is loaded.  Again, $0 is very important.`
-  // *   `Please pay $$10 to use $0 instead of $1.`
-  string format = 1;
-
-  // Optional parameters to be embedded into the message.
-  repeated string parameters = 2;
-}
-
-// Represents a contextual status message.
-// The message can indicate an error or informational status, and refer to
-// specific parts of the containing object.
-// For example, the `Breakpoint.status` field can indicate an error referring
-// to the `BREAKPOINT_SOURCE_LOCATION` with the message `Location not found`.
-message StatusMessage {
-  // Enumerates references to which the message applies.
-  enum Reference {
-    // Status doesn't refer to any particular input.
-    UNSPECIFIED = 0;
-
-    // Status applies to the breakpoint and is related to its location.
-    BREAKPOINT_SOURCE_LOCATION = 3;
-
-    // Status applies to the breakpoint and is related to its condition.
-    BREAKPOINT_CONDITION = 4;
-
-    // Status applies to the breakpoint and is related to its expressions.
-    BREAKPOINT_EXPRESSION = 7;
-
-    // Status applies to the entire variable.
-    VARIABLE_NAME = 5;
-
-    // Status applies to variable value (variable name is valid).
-    VARIABLE_VALUE = 6;
-  }
-
-  // Distinguishes errors from informational messages.
-  bool is_error = 1;
-
-  // Reference to which the message applies.
-  Reference refers_to = 2;
-
-  // Status message text.
-  FormatMessage description = 3;
-}
-
-// Represents a location in the source code.
-message SourceLocation {
-  // Path to the source file within the source context of the target binary.
-  string path = 1;
-
-  // Line inside the file. The first line in the file has the value `1`.
-  int32 line = 2;
-}
-
-// Represents a variable or an argument possibly of a compound object type.
-// Note how the following variables are represented:
-//
-// 1) A simple variable:
-//
-//     int x = 5
-//
-//     { name: "x", value: "5", type: "int" }  // Captured variable
-//
-// 2) A compound object:
-//
-//     struct T {
-//         int m1;
-//         int m2;
-//     };
-//     T x = { 3, 7 };
-//
-//     {  // Captured variable
-//         name: "x",
-//         type: "T",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 3) A pointer where the pointee was captured:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00500500",
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// 4) A pointer where the pointee was not captured:
-//
-//     T* p = new T;
-//
-//     {   // Captured variable
-//         name: "p",
-//         type: "T*",
-//         value: "0x00400400"
-//         status { is_error: true, description { format: "unavailable" } }
-//     }
-//
-// The status should describe the reason for the missing value,
-// such as `<optimized out>`, `<inaccessible>`, `<pointers limit reached>`.
-//
-// Note that a null pointer should not have members.
-//
-// 5) An unnamed value:
-//
-//     int* p = new int(7);
-//
-//     {   // Captured variable
-//         name: "p",
-//         value: "0x00500500",
-//         type: "int*",
-//         members { value: "7", type: "int" } }
-//
-// 6) An unnamed pointer where the pointee was not captured:
-//
-//     int* p = new int(7);
-//     int** pp = &p;
-//
-//     {  // Captured variable
-//         name: "pp",
-//         value: "0x00500500",
-//         type: "int**",
-//         members {
-//             value: "0x00400400",
-//             type: "int*"
-//             status {
-//                 is_error: true,
-//                 description: { format: "unavailable" } }
-//             }
-//         }
-//     }
-//
-// To optimize computation, memory and network traffic, variables that
-// repeat in the output multiple times can be stored once in a shared
-// variable table and be referenced using the `var_table_index` field.  The
-// variables stored in the shared table are nameless and are essentially
-// a partition of the complete variable. To reconstruct the complete
-// variable, merge the referencing variable with the referenced variable.
-//
-// When using the shared variable table, the following variables:
-//
-//     T x = { 3, 7 };
-//     T* p = &x;
-//     T& r = x;
-//
-//     { name: "x", var_table_index: 3, type: "T" }  // Captured variables
-//     { name: "p", value "0x00500500", type="T*", var_table_index: 3 }
-//     { name: "r", type="T&", var_table_index: 3 }
-//
-//     {  // Shared variable table entry #3:
-//         members { name: "m1", value: "3", type: "int" },
-//         members { name: "m2", value: "7", type: "int" }
-//     }
-//
-// Note that the pointer address is stored with the referencing variable
-// and not with the referenced variable. This allows the referenced variable
-// to be shared between pointers and references.
-//
-// The type field is optional. The debugger agent may or may not support it.
-message Variable {
-  // Name of the variable, if any.
-  string name = 1;
-
-  // Simple value of the variable.
-  string value = 2;
-
-  // Variable type (e.g. `MyClass`). If the variable is split with
-  // `var_table_index`, `type` goes next to `value`. The interpretation of
-  // a type is agent specific. It is recommended to include the dynamic type
-  // rather than a static type of an object.
-  string type = 6;
-
-  // Members contained or pointed to by the variable.
-  repeated Variable members = 3;
-
-  // Reference to a variable in the shared variable table. More than
-  // one variable can reference the same variable in the table. The
-  // `var_table_index` field is an index into `variable_table` in Breakpoint.
-  google.protobuf.Int32Value var_table_index = 4;
-
-  // Status associated with the variable. This field will usually stay
-  // unset. A status of a single variable only applies to that variable or
-  // expression. The rest of breakpoint data still remains valid. Variables
-  // might be reported in error state even when breakpoint is not in final
-  // state.
-  //
-  // The message may refer to variable name with `refers_to` set to
-  // `VARIABLE_NAME`. Alternatively `refers_to` will be set to `VARIABLE_VALUE`.
-  // In either case variable value and members will be unset.
-  //
-  // Example of error message applied to name: `Invalid expression syntax`.
-  //
-  // Example of information message applied to value: `Not captured`.
-  //
-  // Examples of error message applied to value:
-  //
-  // *   `Malformed string`,
-  // *   `Field f not found in class C`
-  // *   `Null pointer dereference`
-  StatusMessage status = 5;
-}
-
-// Represents a stack frame context.
-message StackFrame {
-  // Demangled function name at the call site.
-  string function = 1;
-
-  // Source location of the call site.
-  SourceLocation location = 2;
-
-  // Set of arguments passed to this function.
-  // Note that this might not be populated for all stack frames.
-  repeated Variable arguments = 3;
-
-  // Set of local variables at the stack frame location.
-  // Note that this might not be populated for all stack frames.
-  repeated Variable locals = 4;
-}
-
-// Represents the breakpoint specification, status and results.
-message Breakpoint {
-  // Actions that can be taken when a breakpoint hits.
-  // Agents should reject breakpoints with unsupported or unknown action values.
-  enum Action {
-    // Capture stack frame and variables and update the breakpoint.
-    // The data is only captured once. After that the breakpoint is set
-    // in a final state.
-    CAPTURE = 0;
-
-    // Log each breakpoint hit. The breakpoint remains active until
-    // deleted or expired.
-    LOG = 1;
-  }
-
-  // Log severity levels.
-  enum LogLevel {
-    // Information log message.
-    INFO = 0;
-
-    // Warning log message.
-    WARNING = 1;
-
-    // Error log message.
-    ERROR = 2;
-  }
-
-  // Breakpoint identifier, unique in the scope of the debuggee.
-  string id = 1;
-
-  // Action that the agent should perform when the code at the
-  // breakpoint location is hit.
-  Action action = 13;
-
-  // Breakpoint source location.
-  SourceLocation location = 2;
-
-  // Condition that triggers the breakpoint.
-  // The condition is a compound boolean expression composed using expressions
-  // in a programming language at the source location.
-  string condition = 3;
-
-  // List of read-only expressions to evaluate at the breakpoint location.
-  // The expressions are composed using expressions in the programming language
-  // at the source location. If the breakpoint action is `LOG`, the evaluated
-  // expressions are included in log statements.
-  repeated string expressions = 4;
-
-  // Only relevant when action is `LOG`. Defines the message to log when
-  // the breakpoint hits. The message may include parameter placeholders `$0`,
-  // `$1`, etc. These placeholders are replaced with the evaluated value
-  // of the appropriate expression. Expressions not referenced in
-  // `log_message_format` are not logged.
-  //
-  // Example: `Message received, id = $0, count = $1` with
-  // `expressions` = `[ message.id, message.count ]`.
-  string log_message_format = 14;
-
-  // Indicates the severity of the log. Only relevant when action is `LOG`.
-  LogLevel log_level = 15;
-
-  // When true, indicates that this is a final result and the
-  // breakpoint state will not change from here on.
-  bool is_final_state = 5;
-
-  // Time this breakpoint was created by the server in seconds resolution.
-  google.protobuf.Timestamp create_time = 11;
-
-  // Time this breakpoint was finalized as seen by the server in seconds
-  // resolution.
-  google.protobuf.Timestamp final_time = 12;
-
-  // E-mail address of the user that created this breakpoint
-  string user_email = 16;
-
-  // Breakpoint status.
-  //
-  // The status includes an error flag and a human readable message.
-  // This field is usually unset. The message can be either
-  // informational or an error message. Regardless, clients should always
-  // display the text message back to the user.
-  //
-  // Error status indicates complete failure of the breakpoint.
-  //
-  // Example (non-final state): `Still loading symbols...`
-  //
-  // Examples (final state):
-  //
-  // *   `Invalid line number` referring to location
-  // *   `Field f not found in class C` referring to condition
-  StatusMessage status = 10;
-
-  // The stack at breakpoint time.
-  repeated StackFrame stack_frames = 7;
-
-  // Values of evaluated expressions at breakpoint time.
-  // The evaluated expressions appear in exactly the same order they
-  // are listed in the `expressions` field.
-  // The `name` field holds the original expression text, the `value` or
-  // `members` field holds the result of the evaluated expression.
-  // If the expression cannot be evaluated, the `status` inside the `Variable`
-  // will indicate an error and contain the error text.
-  repeated Variable evaluated_expressions = 8;
-
-  // The `variable_table` exists to aid with computation, memory and network
-  // traffic optimization.  It enables storing a variable once and reference
-  // it from multiple variables, including variables stored in the
-  // `variable_table` itself.
-  // For example, the same `this` object, which may appear at many levels of
-  // the stack, can have all of its data stored once in this table.  The
-  // stack frame variables then would hold only a reference to it.
-  //
-  // The variable `var_table_index` field is an index into this repeated field.
-  // The stored objects are nameless and get their name from the referencing
-  // variable. The effective variable is a merge of the referencing variable
-  // and the referenced variable.
-  repeated Variable variable_table = 9;
-
-  // A set of custom breakpoint properties, populated by the agent, to be
-  // displayed to the user.
-  map<string, string> labels = 17;
-}
-
-// Represents the application to debug. The application may include one or more
-// replicated processes executing the same code. Each of these processes is
-// attached with a debugger agent, carrying out the debugging commands.
-// The agents attached to the same debuggee are identified by using exactly the
-// same field values when registering.
-message Debuggee {
-  // Unique identifier for the debuggee generated by the controller service.
-  string id = 1;
-
-  // Project the debuggee is associated with.
-  // Use the project number when registering a Google Cloud Platform project.
-  string project = 2;
-
-  // Debuggee uniquifier within the project.
-  // Any string that identifies the application within the project can be used.
-  // Including environment and version or build IDs is recommended.
-  string uniquifier = 3;
-
-  // Human readable description of the debuggee.
-  // Including a human-readable project name, environment name and version
-  // information is recommended.
-  string description = 4;
-
-  // If set to `true`, indicates that the debuggee is considered as inactive by
-  // the Controller service.
-  bool is_inactive = 5;
-
-  // Version ID of the agent release. The version ID is structured as
-  // following: `domain/type/vmajor.minor` (for example
-  // `google.com/gcp-java/v1.1`).
-  string agent_version = 6;
-
-  // If set to `true`, indicates that the agent should disable itself and
-  // detach from the debuggee.
-  bool is_disabled = 7;
-
-  // Human readable message to be displayed to the user about this debuggee.
-  // Absence of this field indicates no status. The message can be either
-  // informational or an error status.
-  StatusMessage status = 8;
-
-  // References to the locations and revisions of the source code used in the
-  // deployed application.
-  //
-  // NOTE: This field is deprecated. Consumers should use
-  // `ext_source_contexts` if it is not empty. Debug agents should populate
-  // both this field and `ext_source_contexts`.
-  repeated google.devtools.source.v1.SourceContext source_contexts = 9;
-
-  // References to the locations and revisions of the source code used in the
-  // deployed application.
-  //
-  // Contexts describing a remote repo related to the source code
-  // have a `category` label of `remote_repo`. Source snapshot source
-  // contexts have a `category` of `snapshot`.
-  repeated google.devtools.source.v1.ExtendedSourceContext ext_source_contexts = 13;
-
-  // A set of custom debuggee properties, populated by the agent, to be
-  // displayed to the user.
-  map<string, string> labels = 11;
-}
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.pb.go b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
index 4b10b0a5..3086a41d 100644
--- a/googleapis/devtools/clouddebugger/v2/debugger.pb.go
+++ b/googleapis/devtools/clouddebugger/v2/debugger.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto
+// source: google/devtools/clouddebugger/v2/debugger.proto
 // DO NOT EDIT!
 
-package google_devtools_clouddebugger_v2 // import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2"
+package clouddebugger
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -37,6 +37,13 @@ func (m *SetBreakpointRequest) String() string            { return proto.Compact
 func (*SetBreakpointRequest) ProtoMessage()               {}
 func (*SetBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *SetBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
 func (m *SetBreakpointRequest) GetBreakpoint() *Breakpoint {
 	if m != nil {
 		return m.Breakpoint
@@ -44,6 +51,13 @@ func (m *SetBreakpointRequest) GetBreakpoint() *Breakpoint {
 	return nil
 }
 
+func (m *SetBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for setting a breakpoint.
 type SetBreakpointResponse struct {
 	// Breakpoint resource.
@@ -79,6 +93,27 @@ func (m *GetBreakpointRequest) String() string            { return proto.Compact
 func (*GetBreakpointRequest) ProtoMessage()               {}
 func (*GetBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
 
+func (m *GetBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *GetBreakpointRequest) GetBreakpointId() string {
+	if m != nil {
+		return m.BreakpointId
+	}
+	return ""
+}
+
+func (m *GetBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for getting breakpoint information.
 type GetBreakpointResponse struct {
 	// Complete breakpoint state.
@@ -114,6 +149,27 @@ func (m *DeleteBreakpointRequest) String() string            { return proto.Comp
 func (*DeleteBreakpointRequest) ProtoMessage()               {}
 func (*DeleteBreakpointRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *DeleteBreakpointRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *DeleteBreakpointRequest) GetBreakpointId() string {
+	if m != nil {
+		return m.BreakpointId
+	}
+	return ""
+}
+
+func (m *DeleteBreakpointRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Request to list breakpoints.
 type ListBreakpointsRequest struct {
 	// ID of the debuggee whose breakpoints to list.
@@ -145,6 +201,27 @@ func (m *ListBreakpointsRequest) String() string            { return proto.Compa
 func (*ListBreakpointsRequest) ProtoMessage()               {}
 func (*ListBreakpointsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
+func (m *ListBreakpointsRequest) GetDebuggeeId() string {
+	if m != nil {
+		return m.DebuggeeId
+	}
+	return ""
+}
+
+func (m *ListBreakpointsRequest) GetIncludeAllUsers() bool {
+	if m != nil {
+		return m.IncludeAllUsers
+	}
+	return false
+}
+
+func (m *ListBreakpointsRequest) GetIncludeInactive() bool {
+	if m != nil {
+		return m.IncludeInactive
+	}
+	return false
+}
+
 func (m *ListBreakpointsRequest) GetAction() *ListBreakpointsRequest_BreakpointActionValue {
 	if m != nil {
 		return m.Action
@@ -152,6 +229,27 @@ func (m *ListBreakpointsRequest) GetAction() *ListBreakpointsRequest_BreakpointA
 	return nil
 }
 
+func (m *ListBreakpointsRequest) GetStripResults() bool {
+	if m != nil {
+		return m.StripResults
+	}
+	return false
+}
+
+func (m *ListBreakpointsRequest) GetWaitToken() string {
+	if m != nil {
+		return m.WaitToken
+	}
+	return ""
+}
+
+func (m *ListBreakpointsRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Wrapper message for `Breakpoint.Action`. Defines a filter on the action
 // field of breakpoints.
 type ListBreakpointsRequest_BreakpointActionValue struct {
@@ -170,6 +268,13 @@ func (*ListBreakpointsRequest_BreakpointActionValue) Descriptor() ([]byte, []int
 	return fileDescriptor2, []int{5, 0}
 }
 
+func (m *ListBreakpointsRequest_BreakpointActionValue) GetValue() Breakpoint_Action {
+	if m != nil {
+		return m.Value
+	}
+	return Breakpoint_CAPTURE
+}
+
 // Response for listing breakpoints.
 type ListBreakpointsResponse struct {
 	// List of breakpoints matching the request.
@@ -194,6 +299,13 @@ func (m *ListBreakpointsResponse) GetBreakpoints() []*Breakpoint {
 	return nil
 }
 
+func (m *ListBreakpointsResponse) GetNextWaitToken() string {
+	if m != nil {
+		return m.NextWaitToken
+	}
+	return ""
+}
+
 // Request to list debuggees.
 type ListDebuggeesRequest struct {
 	// Project number of a Google Cloud project whose debuggees to list.
@@ -211,6 +323,27 @@ func (m *ListDebuggeesRequest) String() string            { return proto.Compact
 func (*ListDebuggeesRequest) ProtoMessage()               {}
 func (*ListDebuggeesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *ListDebuggeesRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListDebuggeesRequest) GetIncludeInactive() bool {
+	if m != nil {
+		return m.IncludeInactive
+	}
+	return false
+}
+
+func (m *ListDebuggeesRequest) GetClientVersion() string {
+	if m != nil {
+		return m.ClientVersion
+	}
+	return ""
+}
+
 // Response for listing debuggees.
 type ListDebuggeesResponse struct {
 	// List of debuggees accessible to the calling user.
@@ -457,63 +590,60 @@ var _Debugger2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto",
+	Metadata: "google/devtools/clouddebugger/v2/debugger.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/debugger.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/devtools/clouddebugger/v2/debugger.proto", fileDescriptor2) }
 
 var fileDescriptor2 = []byte{
-	// 789 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x55, 0xdd, 0x6a, 0xdb, 0x48,
-	0x14, 0x66, 0x9c, 0xcd, 0x8f, 0x8f, 0xe3, 0x24, 0x3b, 0xe4, 0x47, 0x18, 0x76, 0xd7, 0x68, 0xff,
-	0xb2, 0x61, 0xd1, 0x2c, 0xca, 0xb2, 0x49, 0xf6, 0xaa, 0x31, 0x29, 0x8e, 0x4b, 0x08, 0x41, 0x6d,
-	0xd3, 0x4b, 0x23, 0xcb, 0x13, 0x75, 0x1a, 0x45, 0xa3, 0x6a, 0x46, 0x6e, 0x43, 0xc8, 0x4d, 0x0a,
-	0xbd, 0x2f, 0x7d, 0x81, 0x3e, 0x40, 0xa1, 0x4f, 0x50, 0xe8, 0x75, 0x7b, 0xd9, 0x57, 0xe8, 0x83,
-	0x14, 0xfd, 0xc5, 0xb2, 0x2b, 0x6a, 0xcb, 0x81, 0xdc, 0x18, 0xf9, 0xcc, 0x9c, 0x6f, 0xbe, 0xef,
-	0x9b, 0x73, 0xce, 0xc0, 0xa1, 0xcd, 0xb9, 0xed, 0x50, 0xcd, 0xe6, 0x8e, 0xe9, 0xda, 0x1a, 0xf7,
-	0x6d, 0x62, 0x53, 0xd7, 0xf3, 0xb9, 0xe4, 0x24, 0x5e, 0x32, 0x3d, 0x26, 0x48, 0x97, 0xf6, 0x24,
-	0xe7, 0x8e, 0x20, 0x96, 0xc3, 0x83, 0x6e, 0x97, 0x76, 0x02, 0xdb, 0xa6, 0x3e, 0xe9, 0xe9, 0x24,
-	0xfd, 0xd6, 0xa2, 0x1c, 0x5c, 0x4f, 0xf0, 0xd2, 0x04, 0x6d, 0x20, 0x41, 0xeb, 0xe9, 0xb5, 0xd6,
-	0x78, 0x27, 0x9a, 0x1e, 0x23, 0x82, 0xfa, 0x3d, 0x66, 0x51, 0x8b, 0xbb, 0x27, 0xcc, 0x26, 0xa6,
-	0xeb, 0x72, 0x69, 0x4a, 0xc6, 0x5d, 0x11, 0x1f, 0x56, 0xbb, 0x77, 0x63, 0xf2, 0xa6, 0x34, 0x13,
-	0xac, 0x4d, 0x9b, 0xc9, 0xc7, 0x41, 0x47, 0xb3, 0xf8, 0x19, 0x89, 0xf1, 0x48, 0xb4, 0xd0, 0x09,
-	0x4e, 0x88, 0x27, 0xcf, 0x3d, 0x2a, 0x08, 0x3d, 0xf3, 0xe4, 0x79, 0xfc, 0x1b, 0x27, 0xa9, 0x6f,
-	0x11, 0x2c, 0xdf, 0xa7, 0xb2, 0xe1, 0x53, 0xf3, 0xd4, 0xe3, 0xcc, 0x95, 0x06, 0x7d, 0x1a, 0x50,
-	0x21, 0xf1, 0x2f, 0x50, 0x49, 0xce, 0xa1, 0x6d, 0xd6, 0x55, 0x50, 0x1d, 0xad, 0x97, 0x0d, 0x48,
-	0x43, 0xad, 0x2e, 0x3e, 0x00, 0xe8, 0x5c, 0x67, 0x29, 0xa5, 0x3a, 0x5a, 0xaf, 0xe8, 0x7f, 0x6b,
-	0xa3, 0xcc, 0xd3, 0x32, 0x27, 0x65, 0xf2, 0xf1, 0xef, 0xb0, 0x60, 0x39, 0x8c, 0xba, 0xb2, 0xdd,
-	0xa3, 0xbe, 0x60, 0xdc, 0x55, 0x7e, 0x88, 0x4e, 0xac, 0xc6, 0xd1, 0xe3, 0x38, 0xa8, 0x52, 0x58,
-	0x19, 0x62, 0x2b, 0x3c, 0xee, 0x0a, 0x3a, 0xc4, 0x06, 0xdd, 0x8c, 0x8d, 0xfa, 0x02, 0xc1, 0x72,
-	0x73, 0x22, 0x57, 0x7e, 0x85, 0x6a, 0x1f, 0x27, 0xdc, 0x52, 0x8a, 0xb6, 0xcc, 0xf7, 0x83, 0xad,
-	0x6e, 0x01, 0xb1, 0xcd, 0x5b, 0x10, 0xfb, 0x12, 0xc1, 0xda, 0x1e, 0x75, 0xa8, 0xa4, 0xb7, 0xa7,
-	0x77, 0x2a, 0x4f, 0xef, 0xa7, 0x29, 0x58, 0x3d, 0x60, 0x22, 0xa3, 0x58, 0x8c, 0xcd, 0x63, 0x03,
-	0x7e, 0x64, 0xae, 0xe5, 0x04, 0x5d, 0xda, 0x36, 0x1d, 0xa7, 0x1d, 0x08, 0xea, 0x8b, 0x88, 0xcb,
-	0x9c, 0xb1, 0x98, 0x2c, 0xec, 0x3a, 0xce, 0xc3, 0x30, 0x8c, 0xff, 0x82, 0xa5, 0x74, 0x2f, 0x73,
-	0x4d, 0x4b, 0xb2, 0x1e, 0x8d, 0x08, 0xf5, 0xb7, 0xb6, 0x92, 0x30, 0x3e, 0x81, 0x99, 0xf0, 0x2b,
-	0xb9, 0xa1, 0x8a, 0x7e, 0x38, 0xda, 0xe5, 0x7c, 0x05, 0x19, 0xf3, 0x77, 0x23, 0xc0, 0x63, 0xd3,
-	0x09, 0xa8, 0x91, 0xa0, 0xe3, 0x3f, 0xa1, 0x2a, 0xa4, 0xcf, 0xbc, 0xb6, 0x4f, 0x45, 0xe0, 0x48,
-	0xa1, 0x4c, 0x87, 0x7c, 0x1a, 0x25, 0x05, 0x19, 0xf3, 0xd1, 0x82, 0x11, 0xc7, 0xf1, 0x4f, 0x00,
-	0xcf, 0x4c, 0x26, 0xdb, 0x92, 0x9f, 0x52, 0x57, 0x99, 0x89, 0x7c, 0x28, 0x87, 0x91, 0x07, 0x61,
-	0x20, 0xc7, 0xe9, 0xb9, 0x1c, 0xa7, 0x6b, 0x1d, 0x58, 0xc9, 0xe5, 0x83, 0x5b, 0x30, 0xdd, 0x0b,
-	0x3f, 0x22, 0x87, 0x17, 0xf4, 0xcd, 0x22, 0x45, 0xa5, 0xc5, 0x40, 0x46, 0x8c, 0xa0, 0xbe, 0x42,
-	0xb0, 0xf6, 0x8d, 0x17, 0x49, 0x01, 0x1f, 0x42, 0xa5, 0x5f, 0x20, 0x42, 0x41, 0xf5, 0xa9, 0xc2,
-	0x15, 0x9c, 0x05, 0xc0, 0x7f, 0xc0, 0xa2, 0x4b, 0x9f, 0xcb, 0x76, 0xc6, 0x9a, 0xb8, 0x0e, 0xab,
-	0x61, 0xf8, 0x51, 0x6a, 0x8f, 0x7a, 0x85, 0x60, 0x39, 0xe4, 0xb4, 0x97, 0x14, 0xce, 0x75, 0x7d,
-	0x29, 0x30, 0xeb, 0xf9, 0xfc, 0x09, 0xb5, 0x64, 0x92, 0x98, 0xfe, 0x2d, 0x52, 0x2c, 0x63, 0xb6,
-	0xb5, 0x09, 0x2b, 0x43, 0x1c, 0x12, 0x57, 0xf6, 0xa1, 0x9c, 0x56, 0x74, 0xea, 0xc9, 0xc6, 0x68,
-	0x4f, 0x52, 0x1c, 0xa3, 0x9f, 0xac, 0xbf, 0x9f, 0x85, 0x72, 0x12, 0xf7, 0x75, 0xfc, 0x11, 0x41,
-	0x75, 0x60, 0x6a, 0xe2, 0xff, 0x46, 0xc3, 0xe6, 0x3d, 0x0a, 0xb5, 0xad, 0xc2, 0x79, 0xb1, 0x34,
-	0x75, 0xff, 0xea, 0xf3, 0x97, 0xd7, 0xa5, 0x86, 0xfa, 0x6f, 0xf6, 0xc1, 0x25, 0xd7, 0x84, 0xc9,
-	0x45, 0xa6, 0xbb, 0x2f, 0x49, 0xe6, 0x6a, 0x89, 0xa0, 0xf2, 0xff, 0xec, 0x43, 0x11, 0x8a, 0x69,
-	0x16, 0x15, 0xd3, 0x9c, 0x50, 0x4c, 0xf3, 0x7b, 0x62, 0xf0, 0x9d, 0xc2, 0x62, 0x2e, 0x06, 0x66,
-	0xe5, 0x25, 0x7e, 0x87, 0x60, 0x69, 0x78, 0xf4, 0xe2, 0x9d, 0x71, 0xee, 0x3c, 0x77, 0x5c, 0xd7,
-	0x56, 0xd3, 0xd4, 0xf4, 0xe1, 0xd7, 0xee, 0x86, 0x6f, 0x7d, 0xca, 0x78, 0xe3, 0xe6, 0x8c, 0x3f,
-	0x20, 0x58, 0x1c, 0xea, 0x6a, 0xbc, 0x3d, 0xe9, 0x50, 0xac, 0xed, 0x4c, 0x90, 0x99, 0x5c, 0xc2,
-	0x76, 0x24, 0x49, 0xc7, 0xff, 0x14, 0x95, 0x84, 0xdf, 0x20, 0xa8, 0x0e, 0x34, 0xe0, 0x38, 0x15,
-	0x94, 0x37, 0x35, 0xc6, 0xa9, 0xa0, 0xdc, 0x4e, 0x57, 0x7f, 0x8e, 0xc8, 0x2b, 0x78, 0x35, 0x9f,
-	0x7c, 0x63, 0x0b, 0x7e, 0xb3, 0xf8, 0xd9, 0x48, 0xf4, 0x46, 0x35, 0x6d, 0xf2, 0xa3, 0xf0, 0xbe,
-	0x8f, 0x50, 0x67, 0x26, 0xba, 0xf8, 0xcd, 0xaf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x18, 0xd5, 0x6a,
-	0x43, 0x15, 0x0b, 0x00, 0x00,
+	// 769 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcb, 0x6e, 0xd3, 0x40,
+	0x14, 0xd5, 0xa4, 0xf4, 0x91, 0x9b, 0xa6, 0x2d, 0xa3, 0x3e, 0xac, 0xf0, 0x8a, 0xcc, 0xab, 0x14,
+	0x64, 0x23, 0x17, 0x41, 0x0b, 0x1b, 0x1a, 0x15, 0xa5, 0x91, 0x4a, 0x55, 0x19, 0x28, 0x12, 0x9b,
+	0xc8, 0x49, 0xa6, 0x96, 0xa9, 0xeb, 0x31, 0x9e, 0x71, 0x00, 0x55, 0xdd, 0x14, 0xa9, 0x7b, 0xc4,
+	0x0f, 0xf0, 0x01, 0x48, 0x7c, 0x01, 0x12, 0x6b, 0x58, 0xf2, 0x0b, 0x7c, 0x08, 0xb2, 0x3d, 0x6e,
+	0x9c, 0x60, 0x48, 0x9c, 0x4a, 0xdd, 0xd9, 0xd7, 0x73, 0xee, 0x9c, 0x73, 0xe6, 0xcc, 0x8c, 0x41,
+	0x35, 0x29, 0x35, 0x6d, 0xa2, 0xb6, 0x48, 0x9b, 0x53, 0x6a, 0x33, 0xb5, 0x69, 0x53, 0xbf, 0xd5,
+	0x22, 0x0d, 0xdf, 0x34, 0x89, 0xa7, 0xb6, 0x35, 0x35, 0x7e, 0x56, 0x5c, 0x8f, 0x72, 0x8a, 0xcb,
+	0x11, 0x40, 0x89, 0x01, 0x4a, 0x17, 0x40, 0x69, 0x6b, 0xa5, 0x8b, 0xa2, 0xa5, 0xe1, 0x5a, 0xaa,
+	0xe1, 0x38, 0x94, 0x1b, 0xdc, 0xa2, 0x0e, 0x8b, 0xf0, 0xa5, 0xdb, 0xfd, 0x27, 0x34, 0xb8, 0x21,
+	0x06, 0x5f, 0x10, 0x83, 0xc3, 0xb7, 0x86, 0xbf, 0xab, 0x92, 0x7d, 0x97, 0xbf, 0x8f, 0x3e, 0xca,
+	0x5f, 0x10, 0xcc, 0x3e, 0x23, 0xbc, 0xe2, 0x11, 0x63, 0xcf, 0xa5, 0x96, 0xc3, 0x75, 0xf2, 0xc6,
+	0x27, 0x8c, 0xe3, 0x2b, 0x50, 0x10, 0xfd, 0x48, 0xdd, 0x6a, 0x49, 0xa8, 0x8c, 0x16, 0xf3, 0x3a,
+	0xc4, 0xa5, 0x5a, 0x0b, 0x6f, 0x02, 0x34, 0x4e, 0x50, 0x52, 0xae, 0x8c, 0x16, 0x0b, 0xda, 0x1d,
+	0xa5, 0x9f, 0x30, 0x25, 0x31, 0x53, 0x02, 0x8f, 0xaf, 0xc3, 0x54, 0xd3, 0xb6, 0x88, 0xc3, 0xeb,
+	0x6d, 0xe2, 0x31, 0x8b, 0x3a, 0xd2, 0xb9, 0x70, 0xc6, 0x62, 0x54, 0xdd, 0x89, 0x8a, 0x32, 0x81,
+	0xb9, 0x1e, 0xb6, 0xcc, 0xa5, 0x0e, 0x23, 0x3d, 0x6c, 0xd0, 0xe9, 0xd8, 0xc8, 0x1f, 0x10, 0xcc,
+	0x56, 0x87, 0x72, 0xe5, 0x2a, 0x14, 0x3b, 0x7d, 0x82, 0x21, 0xb9, 0x70, 0xc8, 0x64, 0xa7, 0x58,
+	0x6b, 0x65, 0x10, 0x5b, 0x3d, 0x03, 0xb1, 0xc7, 0x08, 0x16, 0xd6, 0x89, 0x4d, 0x38, 0x39, 0x3b,
+	0xbd, 0x23, 0x69, 0x7a, 0x7f, 0x8e, 0xc0, 0xfc, 0xa6, 0xc5, 0x12, 0x8a, 0xd9, 0xc0, 0x3c, 0x96,
+	0xe0, 0xbc, 0xe5, 0x34, 0x6d, 0xbf, 0x45, 0xea, 0x86, 0x6d, 0xd7, 0x7d, 0x46, 0x3c, 0x16, 0x72,
+	0x99, 0xd0, 0xa7, 0xc5, 0x87, 0x35, 0xdb, 0x7e, 0x11, 0x94, 0xf1, 0x2d, 0x98, 0x89, 0xc7, 0x5a,
+	0x8e, 0xd1, 0xe4, 0x56, 0x9b, 0x84, 0x84, 0x3a, 0x43, 0x6b, 0xa2, 0x8c, 0x77, 0x61, 0x2c, 0x78,
+	0x12, 0x2b, 0x54, 0xd0, 0xb6, 0xfa, 0xbb, 0x9c, 0xae, 0x20, 0x61, 0xfe, 0x5a, 0xd8, 0x70, 0xc7,
+	0xb0, 0x7d, 0xa2, 0x8b, 0xee, 0xf8, 0x26, 0x14, 0x19, 0xf7, 0x2c, 0xb7, 0xee, 0x11, 0xe6, 0xdb,
+	0x9c, 0x49, 0xa3, 0x01, 0x9f, 0x4a, 0x4e, 0x42, 0xfa, 0x64, 0xf8, 0x41, 0x8f, 0xea, 0xf8, 0x12,
+	0xc0, 0x5b, 0xc3, 0xe2, 0x75, 0x4e, 0xf7, 0x88, 0x23, 0x8d, 0x85, 0x3e, 0xe4, 0x83, 0xca, 0xf3,
+	0xa0, 0x90, 0xe2, 0xf4, 0x44, 0x8a, 0xd3, 0xa5, 0x06, 0xcc, 0xa5, 0xf2, 0xc1, 0x35, 0x18, 0x6d,
+	0x07, 0x0f, 0xa1, 0xc3, 0x53, 0xda, 0x72, 0x96, 0x50, 0x29, 0x51, 0x23, 0x3d, 0xea, 0x20, 0x7f,
+	0x44, 0xb0, 0xf0, 0x97, 0x17, 0x22, 0xc0, 0x5b, 0x50, 0xe8, 0x04, 0x84, 0x49, 0xa8, 0x3c, 0x92,
+	0x39, 0xc1, 0xc9, 0x06, 0xf8, 0x06, 0x4c, 0x3b, 0xe4, 0x1d, 0xaf, 0x27, 0xac, 0x89, 0x72, 0x58,
+	0x0c, 0xca, 0x2f, 0x63, 0x7b, 0xe4, 0x23, 0x04, 0xb3, 0x01, 0xa7, 0x75, 0x11, 0x9c, 0x93, 0x7c,
+	0x49, 0x30, 0xee, 0x7a, 0xf4, 0x35, 0x69, 0x72, 0x01, 0x8c, 0x5f, 0xb3, 0x84, 0x65, 0xc0, 0x6d,
+	0x6d, 0xc0, 0x5c, 0x0f, 0x07, 0xe1, 0xca, 0x06, 0xe4, 0xe3, 0x44, 0xc7, 0x9e, 0x2c, 0xf5, 0xf7,
+	0x24, 0xee, 0xa3, 0x77, 0xc0, 0xda, 0xb7, 0x71, 0xc8, 0x8b, 0xba, 0xa7, 0xe1, 0x1f, 0x08, 0x8a,
+	0x5d, 0xa7, 0x26, 0xbe, 0xdf, 0xbf, 0x6d, 0xda, 0xa5, 0x50, 0x7a, 0x90, 0x19, 0x17, 0x49, 0x93,
+	0x37, 0x8e, 0x7e, 0xfd, 0xfe, 0x94, 0xab, 0xc8, 0xf7, 0x92, 0x97, 0xa1, 0x7a, 0x42, 0x58, 0x3d,
+	0x48, 0xec, 0xee, 0x43, 0x35, 0xb1, 0xb4, 0x2a, 0x23, 0xfc, 0x61, 0xf2, 0xa2, 0x08, 0xc4, 0x54,
+	0xb3, 0x8a, 0xa9, 0x0e, 0x29, 0xa6, 0xfa, 0x3f, 0x31, 0xf8, 0x71, 0x66, 0x31, 0x07, 0x5d, 0x67,
+	0xe5, 0x21, 0xfe, 0x8a, 0x60, 0xa6, 0xf7, 0xe8, 0xc5, 0xab, 0x83, 0xac, 0x79, 0xea, 0x71, 0x5d,
+	0x9a, 0x8f, 0xa1, 0xf1, 0x5d, 0xaf, 0x3c, 0x09, 0xee, 0xfa, 0x98, 0xf1, 0xd2, 0xe9, 0x19, 0x7f,
+	0x47, 0x30, 0xdd, 0xb3, 0xab, 0xf1, 0xca, 0xb0, 0x87, 0x62, 0x69, 0x75, 0x08, 0xa4, 0x58, 0x84,
+	0x95, 0x50, 0x92, 0x86, 0xef, 0x66, 0x95, 0x84, 0x3f, 0x23, 0x28, 0x76, 0x6d, 0xc0, 0x41, 0x12,
+	0x94, 0x76, 0x6a, 0x0c, 0x92, 0xa0, 0xd4, 0x9d, 0x2e, 0x5f, 0x0e, 0xc9, 0x4b, 0x78, 0x3e, 0x9d,
+	0x7c, 0xe5, 0x18, 0xc1, 0xb5, 0x26, 0xdd, 0xef, 0xdb, 0xbe, 0x52, 0x8c, 0x77, 0xf9, 0x76, 0xb0,
+	0xe0, 0xdb, 0xe8, 0xd5, 0x53, 0x01, 0x31, 0xa9, 0x6d, 0x38, 0xa6, 0x42, 0x3d, 0x53, 0x35, 0x89,
+	0x13, 0xc6, 0x41, 0xfc, 0xa5, 0x1a, 0xae, 0xc5, 0xfe, 0xfd, 0xe3, 0xf8, 0xa8, 0xab, 0xd0, 0x18,
+	0x0b, 0x91, 0xcb, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x3f, 0xb3, 0x6c, 0xe2, 0x0a, 0x00,
+	0x00,
 }
diff --git a/googleapis/devtools/clouddebugger/v2/debugger.proto b/googleapis/devtools/clouddebugger/v2/debugger.proto
deleted file mode 100644
index fdbe0aaa..00000000
--- a/googleapis/devtools/clouddebugger/v2/debugger.proto
+++ /dev/null
@@ -1,195 +0,0 @@
-// 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.devtools.clouddebugger.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouddebugger/v2/data.proto"; // from google/devtools/clouddebugger/v2/data.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "DebuggerProto";
-option java_package = "com.google.devtools.clouddebugger.v2";
-
-
-// The Debugger service provides the API that allows users to collect run-time
-// information from a running application, without stopping or slowing it down
-// and without modifying its state.  An application may include one or
-// more replicated processes performing the same work.
-//
-// The application is represented using the Debuggee concept. The Debugger
-// service provides a way to query for available Debuggees, but does not
-// provide a way to create one.  A debuggee is created using the Controller
-// service, usually by running a debugger agent with the application.
-//
-// The Debugger service enables the client to set one or more Breakpoints on a
-// Debuggee and collect the results of the set Breakpoints.
-service Debugger2 {
-  // Sets the breakpoint to the debuggee.
-  rpc SetBreakpoint(SetBreakpointRequest) returns (SetBreakpointResponse) {
-    option (google.api.http) = { post: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/set" body: "breakpoint" };
-  }
-
-  // Gets breakpoint information.
-  rpc GetBreakpoint(GetBreakpointRequest) returns (GetBreakpointResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/{breakpoint_id}" };
-  }
-
-  // Deletes the breakpoint from the debuggee.
-  rpc DeleteBreakpoint(DeleteBreakpointRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v2/debugger/debuggees/{debuggee_id}/breakpoints/{breakpoint_id}" };
-  }
-
-  // Lists all breakpoints for the debuggee.
-  rpc ListBreakpoints(ListBreakpointsRequest) returns (ListBreakpointsResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees/{debuggee_id}/breakpoints" };
-  }
-
-  // Lists all the debuggees that the user can set breakpoints to.
-  rpc ListDebuggees(ListDebuggeesRequest) returns (ListDebuggeesResponse) {
-    option (google.api.http) = { get: "/v2/debugger/debuggees" };
-  }
-}
-
-// Request to set a breakpoint
-message SetBreakpointRequest {
-  // ID of the debuggee where the breakpoint is to be set.
-  string debuggee_id = 1;
-
-  // Breakpoint specification to set.
-  // The field 'location' of the breakpoint must be set.
-  Breakpoint breakpoint = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for setting a breakpoint.
-message SetBreakpointResponse {
-  // Breakpoint resource.
-  // The field `id` is guaranteed to be set (in addition to the echoed fileds).
-  Breakpoint breakpoint = 1;
-}
-
-// Request to get breakpoint information.
-message GetBreakpointRequest {
-  // ID of the debuggee whose breakpoint to get.
-  string debuggee_id = 1;
-
-  // ID of the breakpoint to get.
-  string breakpoint_id = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for getting breakpoint information.
-message GetBreakpointResponse {
-  // Complete breakpoint state.
-  // The fields `id` and `location` are guaranteed to be set.
-  Breakpoint breakpoint = 1;
-}
-
-// Request to delete a breakpoint.
-message DeleteBreakpointRequest {
-  // ID of the debuggee whose breakpoint to delete.
-  string debuggee_id = 1;
-
-  // ID of the breakpoint to delete.
-  string breakpoint_id = 2;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 3;
-}
-
-// Request to list breakpoints.
-message ListBreakpointsRequest {
-  // Wrapper message for `Breakpoint.Action`. Defines a filter on the action
-  // field of breakpoints.
-  message BreakpointActionValue {
-    // Only breakpoints with the specified action will pass the filter.
-    Breakpoint.Action value = 1;
-  }
-
-  // ID of the debuggee whose breakpoints to list.
-  string debuggee_id = 1;
-
-  // When set to `true`, the response includes the list of breakpoints set by
-  // any user. Otherwise, it includes only breakpoints set by the caller.
-  bool include_all_users = 2;
-
-  // When set to `true`, the response includes active and inactive
-  // breakpoints. Otherwise, it includes only active breakpoints.
-  bool include_inactive = 3;
-
-  // When set, the response includes only breakpoints with the specified action.
-  BreakpointActionValue action = 4;
-
-  // 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
-  // should be set from the last response. The error code
-  // `google.rpc.Code.ABORTED` (RPC) is returned on wait timeout, which
-  // should be called again with the same `wait_token`.
-  string wait_token = 6;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 8;
-}
-
-// Response for listing breakpoints.
-message ListBreakpointsResponse {
-  // 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
-  // `ListBreakpoints` (RPC) to block until the list of breakpoints has changes.
-  string next_wait_token = 2;
-}
-
-// Request to list debuggees.
-message ListDebuggeesRequest {
-  // Project number of a Google Cloud project whose debuggees to list.
-  string project = 2;
-
-  // When set to `true`, the result includes all debuggees. Otherwise, the
-  // result includes only debuggees that are active.
-  bool include_inactive = 3;
-
-  // The client version making the call.
-  // Following: `domain/type/version` (e.g., `google.com/intellij/v1`).
-  string client_version = 4;
-}
-
-// Response for listing debuggees.
-message ListDebuggeesResponse {
-  // List of debuggees accessible to the calling user.
-  // Note that the `description` field is the only human readable field
-  // that should be displayed to the user.
-  // The fields `debuggee.id` and  `description` fields are guaranteed to be
-  // set on each debuggee.
-  repeated Debuggee debuggees = 1;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
index fe8637d9..2d1d9df1 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/common.pb.go
@@ -1,15 +1,15 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
+// source: google/devtools/clouderrorreporting/v1beta1/common.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_clouderrorreporting_v1beta1 is a generated protocol buffer package.
+Package clouderrorreporting is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
-	google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+	google/devtools/clouderrorreporting/v1beta1/common.proto
+	google/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+	google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+	google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
 
 It has these top-level messages:
 	ErrorGroup
@@ -35,12 +35,13 @@ It has these top-level messages:
 	ReportErrorEventResponse
 	ReportedErrorEvent
 */
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 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/api/annotations"
+import _ "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -71,6 +72,20 @@ func (m *ErrorGroup) String() string            { return proto.CompactTextString
 func (*ErrorGroup) ProtoMessage()               {}
 func (*ErrorGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ErrorGroup) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ErrorGroup) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
 func (m *ErrorGroup) GetTrackingIssues() []*TrackingIssue {
 	if m != nil {
 		return m.TrackingIssues
@@ -90,6 +105,13 @@ func (m *TrackingIssue) String() string            { return proto.CompactTextStr
 func (*TrackingIssue) ProtoMessage()               {}
 func (*TrackingIssue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *TrackingIssue) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // An error event which is returned by the Error Reporting system.
 type ErrorEvent struct {
 	// Time when the event occurred as provided in the error report.
@@ -123,6 +145,13 @@ func (m *ErrorEvent) GetServiceContext() *ServiceContext {
 	return nil
 }
 
+func (m *ErrorEvent) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *ErrorEvent) GetContext() *ErrorContext {
 	if m != nil {
 		return m.Context
@@ -144,6 +173,12 @@ type ServiceContext struct {
 	// Represents the source code version that the developer provided,
 	// which could represent a version label or a Git SHA-1 hash, for example.
 	Version string `protobuf:"bytes,3,opt,name=version" json:"version,omitempty"`
+	// Type of the MonitoredResource. List of possible values:
+	// https://cloud.google.com/monitoring/api/resources
+	//
+	// Value is set automatically for incoming errors and must not be set when
+	// reporting errors.
+	ResourceType string `protobuf:"bytes,4,opt,name=resource_type,json=resourceType" json:"resource_type,omitempty"`
 }
 
 func (m *ServiceContext) Reset()                    { *m = ServiceContext{} }
@@ -151,6 +186,27 @@ func (m *ServiceContext) String() string            { return proto.CompactTextSt
 func (*ServiceContext) ProtoMessage()               {}
 func (*ServiceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ServiceContext) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
+
+func (m *ServiceContext) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *ServiceContext) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
 // A description of the context in which an error occurred.
 // This data should be provided by the application when reporting an error,
 // unless the
@@ -189,6 +245,13 @@ func (m *ErrorContext) GetHttpRequest() *HttpRequestContext {
 	return nil
 }
 
+func (m *ErrorContext) GetUser() string {
+	if m != nil {
+		return m.User
+	}
+	return ""
+}
+
 func (m *ErrorContext) GetReportLocation() *SourceLocation {
 	if m != nil {
 		return m.ReportLocation
@@ -223,6 +286,48 @@ func (m *HttpRequestContext) String() string            { return proto.CompactTe
 func (*HttpRequestContext) ProtoMessage()               {}
 func (*HttpRequestContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *HttpRequestContext) GetMethod() string {
+	if m != nil {
+		return m.Method
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetReferrer() string {
+	if m != nil {
+		return m.Referrer
+	}
+	return ""
+}
+
+func (m *HttpRequestContext) GetResponseStatusCode() int32 {
+	if m != nil {
+		return m.ResponseStatusCode
+	}
+	return 0
+}
+
+func (m *HttpRequestContext) GetRemoteIp() string {
+	if m != nil {
+		return m.RemoteIp
+	}
+	return ""
+}
+
 // Indicates a location in the source code of the service for which
 // errors are reported.
 // This data should be provided by the application when reporting an error,
@@ -245,6 +350,27 @@ func (m *SourceLocation) String() string            { return proto.CompactTextSt
 func (*SourceLocation) ProtoMessage()               {}
 func (*SourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *SourceLocation) GetFilePath() string {
+	if m != nil {
+		return m.FilePath
+	}
+	return ""
+}
+
+func (m *SourceLocation) GetLineNumber() int32 {
+	if m != nil {
+		return m.LineNumber
+	}
+	return 0
+}
+
+func (m *SourceLocation) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ErrorGroup)(nil), "google.devtools.clouderrorreporting.v1beta1.ErrorGroup")
 	proto.RegisterType((*TrackingIssue)(nil), "google.devtools.clouderrorreporting.v1beta1.TrackingIssue")
@@ -256,50 +382,53 @@ func init() {
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto", fileDescriptor0)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/common.proto", fileDescriptor0)
 }
 
 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,
+	// 693 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0x13, 0x3b,
+	0x14, 0x56, 0x92, 0xfe, 0xe5, 0xa4, 0x4d, 0xaf, 0xac, 0xab, 0xab, 0xdc, 0x00, 0x6a, 0x49, 0x37,
+	0x95, 0x90, 0x66, 0x68, 0xd9, 0x50, 0xba, 0x40, 0x34, 0xaa, 0x4a, 0x25, 0x54, 0x55, 0x93, 0x8a,
+	0x05, 0x0b, 0x2c, 0x67, 0xe6, 0x64, 0x62, 0x31, 0x63, 0x0f, 0xb6, 0x27, 0xa2, 0xef, 0xc2, 0x82,
+	0x35, 0x0f, 0x82, 0x78, 0x18, 0x1e, 0x02, 0xd9, 0x63, 0x97, 0x56, 0xed, 0x82, 0xec, 0xfc, 0x9d,
+	0x9f, 0xef, 0x9c, 0xef, 0xf8, 0xd8, 0xf0, 0x32, 0x97, 0x32, 0x2f, 0x30, 0xce, 0x70, 0x61, 0xa4,
+	0x2c, 0x74, 0x9c, 0x16, 0xb2, 0xce, 0x50, 0x29, 0xa9, 0x14, 0x56, 0x52, 0x19, 0x2e, 0xf2, 0x78,
+	0x71, 0x30, 0x45, 0xc3, 0x0e, 0xe2, 0x54, 0x96, 0xa5, 0x14, 0x51, 0xa5, 0xa4, 0x91, 0xe4, 0x59,
+	0x93, 0x19, 0x85, 0xcc, 0xe8, 0x81, 0xcc, 0xc8, 0x67, 0x0e, 0x1f, 0xfb, 0x32, 0xac, 0xe2, 0x31,
+	0x13, 0x42, 0x1a, 0x66, 0xb8, 0x14, 0xba, 0xa1, 0x1a, 0xee, 0xdd, 0xf2, 0x96, 0x52, 0x70, 0x23,
+	0x15, 0x66, 0x54, 0xa1, 0x96, 0xb5, 0x4a, 0xd1, 0x07, 0xed, 0xf8, 0x20, 0x87, 0xa6, 0xf5, 0x2c,
+	0x36, 0xbc, 0x44, 0x6d, 0x58, 0x59, 0x35, 0x01, 0xa3, 0x6f, 0x2d, 0x80, 0x53, 0x5b, 0xfe, 0x4c,
+	0xc9, 0xba, 0x22, 0x04, 0x56, 0x04, 0x2b, 0x71, 0xd0, 0xda, 0x6d, 0xed, 0x77, 0x13, 0x77, 0x26,
+	0xff, 0xc3, 0x46, 0x6e, 0x9d, 0x94, 0x67, 0x83, 0xb6, 0xb3, 0xaf, 0x3b, 0x7c, 0x9e, 0x91, 0x14,
+	0xb6, 0x8d, 0x62, 0xe9, 0x27, 0x2e, 0x72, 0xca, 0xb5, 0xae, 0x51, 0x0f, 0x3a, 0xbb, 0x9d, 0xfd,
+	0xde, 0xe1, 0xab, 0x68, 0x09, 0xa1, 0xd1, 0x95, 0xe7, 0x38, 0xb7, 0x14, 0x49, 0xdf, 0xdc, 0x86,
+	0x7a, 0xf4, 0x14, 0xb6, 0xee, 0x04, 0x90, 0x7f, 0xa0, 0x53, 0xab, 0xc2, 0xf7, 0x68, 0x8f, 0xa3,
+	0xaf, 0x6d, 0xaf, 0xe2, 0x74, 0x81, 0xc2, 0x90, 0x23, 0x00, 0xb4, 0x07, 0x6a, 0xd5, 0xba, 0xb8,
+	0xde, 0xe1, 0x30, 0x74, 0x14, 0x46, 0x11, 0x5d, 0x85, 0x51, 0x24, 0x5d, 0x17, 0x6d, 0x31, 0xc9,
+	0x60, 0x5b, 0xa3, 0x5a, 0xf0, 0x14, 0x69, 0x2a, 0x85, 0xc1, 0x2f, 0xc6, 0x69, 0xee, 0x1d, 0x1e,
+	0x2f, 0xa5, 0x68, 0xd2, 0x70, 0x8c, 0x1b, 0x8a, 0xa4, 0xaf, 0xef, 0x60, 0x32, 0x80, 0xf5, 0x12,
+	0xb5, 0x66, 0x39, 0x0e, 0x3a, 0xcd, 0x44, 0x3d, 0x24, 0x13, 0x58, 0x0f, 0x75, 0x57, 0x5d, 0xdd,
+	0xa3, 0xa5, 0xea, 0xba, 0x21, 0x84, 0xaa, 0x81, 0x69, 0xc4, 0xa1, 0x3f, 0xb9, 0xd7, 0x80, 0x6f,
+	0x29, 0x5c, 0xa9, 0x87, 0xd6, 0xb3, 0x40, 0xa5, 0xb9, 0x14, 0xa1, 0x35, 0x0f, 0xc9, 0x1e, 0x6c,
+	0x85, 0xed, 0xa2, 0xe6, 0xba, 0xc2, 0xc1, 0x8a, 0xf3, 0x6f, 0x06, 0xe3, 0xd5, 0x75, 0x85, 0xa3,
+	0x5f, 0x2d, 0xd8, 0xbc, 0xdd, 0x04, 0x99, 0xc2, 0xe6, 0xdc, 0x98, 0x8a, 0x2a, 0xfc, 0x5c, 0xa3,
+	0x36, 0xfe, 0x36, 0x5e, 0x2f, 0xa5, 0xea, 0xad, 0x31, 0x55, 0xd2, 0xe4, 0x07, 0x6d, 0xbd, 0xf9,
+	0x1f, 0x9b, 0xdd, 0xda, 0x5a, 0xa3, 0xf2, 0x52, 0xdc, 0xd9, 0x5e, 0x64, 0x43, 0x44, 0x0b, 0x99,
+	0xba, 0x87, 0xe3, 0xf4, 0x2c, 0x7d, 0x91, 0x4e, 0xda, 0x3b, 0x4f, 0x91, 0xf4, 0x9b, 0x88, 0x80,
+	0x47, 0x3f, 0x5b, 0x40, 0xee, 0x77, 0x47, 0xfe, 0x83, 0xb5, 0x12, 0xcd, 0x5c, 0x66, 0x7e, 0x49,
+	0x3d, 0x0a, 0x9b, 0xdb, 0xbe, 0xd9, 0x5c, 0xf2, 0x04, 0xc0, 0xb6, 0x4b, 0x59, 0x8e, 0xc2, 0xf8,
+	0x89, 0x77, 0xad, 0xe5, 0x8d, 0x35, 0x90, 0x21, 0x6c, 0x28, 0x9c, 0xa1, 0x52, 0xa8, 0xfc, 0xb8,
+	0x6f, 0x30, 0x79, 0x0e, 0xff, 0x2a, 0xd4, 0x95, 0x14, 0x1a, 0xa9, 0x36, 0xcc, 0xd4, 0x9a, 0xa6,
+	0x32, 0x43, 0xb7, 0x37, 0xab, 0x09, 0x09, 0xbe, 0x89, 0x73, 0x8d, 0x65, 0x86, 0xe4, 0x11, 0x74,
+	0x15, 0x96, 0xd2, 0x20, 0xe5, 0xd5, 0x60, 0x2d, 0xd0, 0x59, 0xc3, 0x79, 0x35, 0xd2, 0xd0, 0xbf,
+	0x2b, 0xd6, 0x86, 0xcf, 0x78, 0x81, 0xb4, 0x62, 0x66, 0xee, 0x85, 0x6c, 0x58, 0xc3, 0x25, 0x33,
+	0x73, 0xb2, 0x03, 0xbd, 0x82, 0x0b, 0xa4, 0xa2, 0x2e, 0xa7, 0x7e, 0xf4, 0xab, 0x09, 0x58, 0xd3,
+	0x85, 0xb3, 0xd8, 0x75, 0x99, 0xd5, 0x22, 0xb5, 0x4c, 0xd4, 0xfd, 0x29, 0x7e, 0x5d, 0x82, 0xf1,
+	0x82, 0x95, 0x78, 0xf2, 0xa3, 0x05, 0xf6, 0x83, 0x5c, 0xe6, 0x4a, 0x4e, 0x7a, 0x63, 0xf7, 0xa3,
+	0x5e, 0xda, 0x77, 0x7c, 0xd9, 0xfa, 0xf0, 0xd1, 0xe7, 0xe6, 0xb2, 0x60, 0x22, 0x8f, 0xa4, 0xca,
+	0xe3, 0x1c, 0x85, 0x7b, 0xe5, 0x71, 0xe3, 0x62, 0x15, 0xd7, 0x7f, 0xf5, 0x57, 0x1f, 0x3f, 0xe0,
+	0xfb, 0xde, 0xde, 0x3b, 0x6b, 0x0a, 0x8c, 0xad, 0xb3, 0x79, 0x61, 0xc9, 0x4d, 0x53, 0xef, 0x0f,
+	0x4e, 0x6c, 0xe6, 0x74, 0xcd, 0x15, 0x7c, 0xf1, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x6b, 0x08,
+	0x8d, 0x1b, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/common.proto b/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
deleted file mode 100644
index 78887d04..00000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/common.proto
+++ /dev/null
@@ -1,154 +0,0 @@
-// 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.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// Description of a group of similar error events.
-message ErrorGroup {
-  // The group resource name.
-  // Example: <code>projects/my-project-123/groups/my-groupid</code>
-  string name = 1;
-
-  // Group IDs are unique for a given project. If the same kind of error
-  // occurs in different service contexts, it will receive the same group ID.
-  string group_id = 2;
-
-  // Associated tracking issues.
-  repeated TrackingIssue tracking_issues = 3;
-}
-
-// Information related to tracking the progress on resolving the error.
-message TrackingIssue {
-  // A URL pointing to a related entry in an issue tracking system.
-  // Example: https://github.com/user/project/issues/4
-  string url = 1;
-}
-
-// An error event which is returned by the Error Reporting system.
-message ErrorEvent {
-  // Time when the event occurred as provided in the error report.
-  // If the report did not contain a timestamp, the time the error was received
-  // by the Error Reporting system is used.
-  google.protobuf.Timestamp event_time = 1;
-
-  // The `ServiceContext` for which this error was reported.
-  ServiceContext service_context = 2;
-
-  // The stack trace that was reported or logged by the service.
-  string message = 3;
-
-  // Data about the context in which the error occurred.
-  ErrorContext context = 5;
-}
-
-// Describes a running service that sends errors.
-// Its version changes over time and multiple versions can run in parallel.
-message ServiceContext {
-  // An identifier of the service, such as the name of the
-  // executable, job, or Google App Engine service name. This field is expected
-  // to have a low number of values that are relatively stable over time, as
-  // opposed to `version`, which can be changed whenever new code is deployed.
-  //
-  // Contains the service name for error reports extracted from Google
-  // App Engine logs or `default` if the App Engine default service is used.
-  string service = 2;
-
-  // Represents the source code version that the developer provided,
-  // which could represent a version label or a Git SHA-1 hash, for example.
-  string version = 3;
-}
-
-// A description of the context in which an error occurred.
-// This data should be provided by the application when reporting an error,
-// unless the
-// error report has been generated automatically from Google App Engine logs.
-message ErrorContext {
-  // The HTTP request which was processed when the error was
-  // triggered.
-  HttpRequestContext http_request = 1;
-
-  // The user who caused or was affected by the crash.
-  // This can be a user ID, an email address, or an arbitrary token that
-  // uniquely identifies the user.
-  // When sending an error report, leave this field empty if the user was not
-  // logged in. In this case the
-  // Error Reporting system will use other data, such as remote IP address, to
-  // distinguish affected users. See `affected_users_count` in
-  // `ErrorGroupStats`.
-  string user = 2;
-
-  // The location in the source code where the decision was made to
-  // report the error, usually the place where it was logged.
-  // For a logged exception this would be the source line where the
-  // exception is logged, usually close to the place where it was
-  // caught. This value is in contrast to `Exception.cause_location`,
-  // which describes the source line where the exception was thrown.
-  SourceLocation report_location = 3;
-}
-
-// HTTP request data that is related to a reported error.
-// This data should be provided by the application when reporting an error,
-// unless the
-// error report has been generated automatically from Google App Engine logs.
-message HttpRequestContext {
-  // The type of HTTP request, such as `GET`, `POST`, etc.
-  string method = 1;
-
-  // The URL of the request.
-  string url = 2;
-
-  // The user agent information that is provided with the request.
-  string user_agent = 3;
-
-  // The referrer information that is provided with the request.
-  string referrer = 4;
-
-  // The HTTP response status code for the request.
-  int32 response_status_code = 5;
-
-  // The IP address from which the request originated.
-  // This can be IPv4, IPv6, or a token which is derived from the
-  // IP address, depending on the data that has been provided
-  // in the error report.
-  string remote_ip = 6;
-}
-
-// Indicates a location in the source code of the service for which
-// errors are reported.
-// This data should be provided by the application when reporting an error,
-// unless the error report has been generated automatically from Google App
-// Engine logs. All fields are optional.
-message SourceLocation {
-  // The source code filename, which can include a truncated relative
-  // path, or a full path from a production machine.
-  string file_path = 1;
-
-  // 1-based. 0 indicates that the line number is unknown.
-  int32 line_number = 2;
-
-  // Human-readable name of a function or method.
-  // The value can include optional context like the class or package name.
-  // For example, `my.package.MyClass.method` in case of Java.
-  string function_name = 4;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
index 07748176..61f6b77f 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/error_group_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -37,6 +37,13 @@ func (m *GetGroupRequest) String() string            { return proto.CompactTextS
 func (*GetGroupRequest) ProtoMessage()               {}
 func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *GetGroupRequest) GetGroupName() string {
+	if m != nil {
+		return m.GroupName
+	}
+	return ""
+}
+
 // A request to replace the existing data for the given group.
 type UpdateGroupRequest struct {
 	// [Required] The group which replaces the resource on the server.
@@ -168,36 +175,37 @@ var _ErrorGroupService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/error_group_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto", fileDescriptor1)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/error_group_service.proto", fileDescriptor1)
 }
 
 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,
+	// 381 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x92, 0x4f, 0x4a, 0x03, 0x31,
+	0x18, 0xc5, 0x99, 0x8a, 0x62, 0xd3, 0x85, 0x98, 0x85, 0xc8, 0xa0, 0x20, 0x75, 0xa3, 0x2d, 0x24,
+	0x4e, 0x5d, 0x58, 0xfc, 0x83, 0x50, 0x29, 0x5d, 0x29, 0xa5, 0xa2, 0x0b, 0x17, 0x96, 0x74, 0x1a,
+	0xc2, 0xc8, 0x4c, 0xbe, 0x31, 0x93, 0x76, 0x23, 0x6e, 0x3c, 0x80, 0x1b, 0x6f, 0xe1, 0xda, 0x0b,
+	0x78, 0x04, 0xf1, 0x0a, 0x1e, 0x44, 0x26, 0xe9, 0x1f, 0x6d, 0x2b, 0x38, 0xdd, 0xbe, 0xe4, 0x7b,
+	0xef, 0x97, 0x97, 0x0f, 0xd5, 0x05, 0x80, 0x08, 0x39, 0xed, 0xf2, 0xbe, 0x06, 0x08, 0x13, 0xea,
+	0x87, 0xd0, 0xeb, 0x72, 0xa5, 0x40, 0x29, 0x1e, 0x83, 0xd2, 0x81, 0x14, 0xb4, 0xef, 0x75, 0xb8,
+	0x66, 0x1e, 0x35, 0x72, 0x5b, 0x28, 0xe8, 0xc5, 0xed, 0x84, 0xab, 0x7e, 0xe0, 0x73, 0x12, 0x2b,
+	0xd0, 0x80, 0xcb, 0xd6, 0x86, 0x0c, 0x6d, 0xc8, 0x0c, 0x1b, 0x32, 0xb0, 0x71, 0x37, 0x06, 0x99,
+	0x2c, 0x0e, 0x28, 0x93, 0x12, 0x34, 0xd3, 0x01, 0xc8, 0xc4, 0x5a, 0xb9, 0xd5, 0x2c, 0x44, 0x3e,
+	0x44, 0x11, 0x48, 0x3b, 0x59, 0xdc, 0x43, 0x2b, 0x0d, 0xae, 0x1b, 0x29, 0x5e, 0x8b, 0xdf, 0xf7,
+	0x78, 0xa2, 0xf1, 0x26, 0x42, 0x16, 0x57, 0xb2, 0x88, 0xaf, 0x3b, 0x5b, 0xce, 0x4e, 0xbe, 0x95,
+	0x37, 0xca, 0x05, 0x8b, 0x78, 0xd1, 0x47, 0xf8, 0x2a, 0xee, 0x32, 0xcd, 0x7f, 0x0d, 0x9d, 0xa3,
+	0x45, 0x73, 0xc5, 0xdc, 0x2f, 0x54, 0x0e, 0x48, 0x86, 0xc7, 0x91, 0x7a, 0x2a, 0x5b, 0x3b, 0xeb,
+	0x52, 0x79, 0x5e, 0x40, 0xab, 0x63, 0xf5, 0xd2, 0xf6, 0x86, 0xdf, 0x1c, 0xb4, 0x3c, 0xa4, 0xc5,
+	0xc7, 0x99, 0x22, 0x26, 0x1e, 0xe9, 0xce, 0x0b, 0x58, 0xf4, 0x9e, 0x3e, 0xbf, 0x5e, 0x72, 0x65,
+	0xbc, 0x3b, 0xea, 0xf3, 0x61, 0xdc, 0xd6, 0x49, 0xac, 0xe0, 0x8e, 0xfb, 0x3a, 0xa1, 0x25, 0x6a,
+	0xd4, 0x84, 0x96, 0x1e, 0xf1, 0xbb, 0x83, 0x0a, 0x3f, 0x2a, 0xc3, 0xa7, 0x99, 0xb2, 0xa7, 0xcb,
+	0x9e, 0x1f, 0xbe, 0x6a, 0xe0, 0x2b, 0xee, 0x24, 0x3c, 0xf9, 0x13, 0xfe, 0xd0, 0x7e, 0x48, 0xed,
+	0xc3, 0x41, 0xe9, 0xe2, 0x64, 0x09, 0xae, 0xad, 0x4d, 0xfd, 0x60, 0x33, 0xdd, 0xb9, 0xa6, 0x73,
+	0x73, 0x3b, 0xb0, 0x11, 0x10, 0x32, 0x29, 0x08, 0x28, 0x41, 0x05, 0x97, 0x66, 0x23, 0xa9, 0x3d,
+	0x62, 0x71, 0x90, 0xfc, 0x6b, 0x9d, 0x8f, 0x66, 0x9c, 0xbd, 0xe6, 0xb6, 0x1b, 0x36, 0xe0, 0x2c,
+	0x3d, 0xb4, 0x0d, 0xb4, 0x46, 0x7c, 0xd7, 0x5e, 0x2d, 0x9d, 0xec, 0x2c, 0x99, 0xc0, 0xfd, 0xef,
+	0x00, 0x00, 0x00, 0xff, 0xff, 0x9c, 0xb7, 0x37, 0x79, 0xd0, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
deleted file mode 100644
index 66f10e82..00000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_group_service.proto
+++ /dev/null
@@ -1,58 +0,0 @@
-// 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.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ErrorGroupServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// Service for retrieving and updating individual error groups.
-service ErrorGroupService {
-  // Get the specified group.
-  rpc GetGroup(GetGroupRequest) returns (ErrorGroup) {
-    option (google.api.http) = { get: "/v1beta1/{group_name=projects/*/groups/*}" };
-  }
-
-  // Replace the data for the specified group.
-  // Fails if the group does not exist.
-  rpc UpdateGroup(UpdateGroupRequest) returns (ErrorGroup) {
-    option (google.api.http) = { put: "/v1beta1/{group.name=projects/*/groups/*}" body: "group" };
-  }
-}
-
-// A request to return an individual group.
-message GetGroupRequest {
-  // [Required] The group resource name. Written as
-  // <code>projects/<var>projectID</var>/groups/<var>group_name</var></code>.
-  // Call
-  // <a href="/error-reporting/reference/rest/v1beta1/projects.groupStats/list">
-  // <code>groupStats.list</code></a> to return a list of groups belonging to
-  // this project.
-  //
-  // Example: <code>projects/my-project-123/groups/my-group</code>
-  string group_name = 1;
-}
-
-// A request to replace the existing data for the given group.
-message UpdateGroupRequest {
-  // [Required] The group which replaces the resource on the server.
-  ErrorGroup group = 1;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
index bd0f19e3..f1100262 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 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/api/annotations"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -156,7 +156,9 @@ type ListGroupStatsRequest struct {
 	// 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.
+	// [Optional] List data for the given time range.
+	// If not set a default time range is used. The field time_range_begin
+	// in the response will specify the beginning of this time range.
 	// 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
@@ -188,6 +190,20 @@ func (m *ListGroupStatsRequest) String() string            { return proto.Compac
 func (*ListGroupStatsRequest) ProtoMessage()               {}
 func (*ListGroupStatsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *ListGroupStatsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
+func (m *ListGroupStatsRequest) GetGroupId() []string {
+	if m != nil {
+		return m.GroupId
+	}
+	return nil
+}
+
 func (m *ListGroupStatsRequest) GetServiceFilter() *ServiceContextFilter {
 	if m != nil {
 		return m.ServiceFilter
@@ -209,6 +225,13 @@ func (m *ListGroupStatsRequest) GetTimedCountDuration() *google_protobuf2.Durati
 	return nil
 }
 
+func (m *ListGroupStatsRequest) GetAlignment() TimedCountAlignment {
+	if m != nil {
+		return m.Alignment
+	}
+	return TimedCountAlignment_ERROR_COUNT_ALIGNMENT_UNSPECIFIED
+}
+
 func (m *ListGroupStatsRequest) GetAlignmentTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.AlignmentTime
@@ -216,6 +239,27 @@ func (m *ListGroupStatsRequest) GetAlignmentTime() *google_protobuf1.Timestamp {
 	return nil
 }
 
+func (m *ListGroupStatsRequest) GetOrder() ErrorGroupOrder {
+	if m != nil {
+		return m.Order
+	}
+	return ErrorGroupOrder_GROUP_ORDER_UNSPECIFIED
+}
+
+func (m *ListGroupStatsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupStatsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Contains a set of requested error group stats.
 type ListGroupStatsResponse struct {
 	// The error group stats which match the given request.
@@ -224,6 +268,11 @@ type ListGroupStatsResponse struct {
 	// Pass this token, along with the same query parameters as the first
 	// request, to view the next page of results.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+	// The timestamp specifies the start time to which the request was restricted.
+	// The start time is set based on the requested time range. It may be adjusted
+	// to a later time if a project has exceeded the storage quota and older data
+	// has been deleted.
+	TimeRangeBegin *google_protobuf1.Timestamp `protobuf:"bytes,4,opt,name=time_range_begin,json=timeRangeBegin" json:"time_range_begin,omitempty"`
 }
 
 func (m *ListGroupStatsResponse) Reset()                    { *m = ListGroupStatsResponse{} }
@@ -238,6 +287,20 @@ func (m *ListGroupStatsResponse) GetErrorGroupStats() []*ErrorGroupStats {
 	return nil
 }
 
+func (m *ListGroupStatsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGroupStatsResponse) GetTimeRangeBegin() *google_protobuf1.Timestamp {
+	if m != nil {
+		return m.TimeRangeBegin
+	}
+	return nil
+}
+
 // Data extracted for a specific group based on certain filter criteria,
 // such as a given time period and/or service filter.
 type ErrorGroupStats struct {
@@ -301,6 +364,20 @@ func (m *ErrorGroupStats) GetGroup() *ErrorGroup {
 	return nil
 }
 
+func (m *ErrorGroupStats) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
+func (m *ErrorGroupStats) GetAffectedUsersCount() int64 {
+	if m != nil {
+		return m.AffectedUsersCount
+	}
+	return 0
+}
+
 func (m *ErrorGroupStats) GetTimedCounts() []*TimedCount {
 	if m != nil {
 		return m.TimedCounts
@@ -329,6 +406,13 @@ func (m *ErrorGroupStats) GetAffectedServices() []*ServiceContext {
 	return nil
 }
 
+func (m *ErrorGroupStats) GetNumAffectedServices() int32 {
+	if m != nil {
+		return m.NumAffectedServices
+	}
+	return 0
+}
+
 func (m *ErrorGroupStats) GetRepresentative() *ErrorEvent {
 	if m != nil {
 		return m.Representative
@@ -353,6 +437,13 @@ func (m *TimedCount) String() string            { return proto.CompactTextString
 func (*TimedCount) ProtoMessage()               {}
 func (*TimedCount) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
 
+func (m *TimedCount) GetCount() int64 {
+	if m != nil {
+		return m.Count
+	}
+	return 0
+}
+
 func (m *TimedCount) GetStartTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -371,7 +462,8 @@ func (m *TimedCount) GetEndTime() *google_protobuf1.Timestamp {
 type ListEventsRequest struct {
 	// [Required] The resource name of the Google Cloud Platform project. Written
 	// as `projects/` plus the
-	// [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
+	// [Google Cloud Platform project
+	// ID](https://support.google.com/cloud/answer/6158840).
 	// Example: `projects/my-project-123`.
 	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName" json:"project_name,omitempty"`
 	// [Required] The group for which events shall be returned.
@@ -381,6 +473,8 @@ 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.
+	// If not set a default time range is used. The field time_range_begin
+	// in the response will specify the beginning of this time range.
 	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"`
@@ -393,6 +487,20 @@ func (m *ListEventsRequest) String() string            { return proto.CompactTex
 func (*ListEventsRequest) ProtoMessage()               {}
 func (*ListEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *ListEventsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
+func (m *ListEventsRequest) GetGroupId() string {
+	if m != nil {
+		return m.GroupId
+	}
+	return ""
+}
+
 func (m *ListEventsRequest) GetServiceFilter() *ServiceContextFilter {
 	if m != nil {
 		return m.ServiceFilter
@@ -407,6 +515,20 @@ func (m *ListEventsRequest) GetTimeRange() *QueryTimeRange {
 	return nil
 }
 
+func (m *ListEventsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListEventsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Contains a set of requested error events.
 type ListEventsResponse struct {
 	// The error events which match the given request.
@@ -415,6 +537,8 @@ type ListEventsResponse struct {
 	// Pass this token, along with the same query parameters as the first
 	// request, to view the next page of results.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
+	// The timestamp specifies the start time to which the request was restricted.
+	TimeRangeBegin *google_protobuf1.Timestamp `protobuf:"bytes,4,opt,name=time_range_begin,json=timeRangeBegin" json:"time_range_begin,omitempty"`
 }
 
 func (m *ListEventsResponse) Reset()                    { *m = ListEventsResponse{} }
@@ -429,6 +553,20 @@ func (m *ListEventsResponse) GetErrorEvents() []*ErrorEvent {
 	return nil
 }
 
+func (m *ListEventsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListEventsResponse) GetTimeRangeBegin() *google_protobuf1.Timestamp {
+	if m != nil {
+		return m.TimeRangeBegin
+	}
+	return nil
+}
+
 // Requests might be rejected or the resulting timed count durations might be
 // adjusted for lower durations.
 type QueryTimeRange struct {
@@ -441,6 +579,13 @@ func (m *QueryTimeRange) String() string            { return proto.CompactTextSt
 func (*QueryTimeRange) ProtoMessage()               {}
 func (*QueryTimeRange) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
+func (m *QueryTimeRange) GetPeriod() QueryTimeRange_Period {
+	if m != nil {
+		return m.Period
+	}
+	return QueryTimeRange_PERIOD_UNSPECIFIED
+}
+
 // Specifies criteria for filtering a subset of service contexts.
 // The fields in the filter correspond to the fields in `ServiceContext`.
 // Only exact, case-sensitive matches are supported.
@@ -452,6 +597,9 @@ type ServiceContextFilter struct {
 	// [Optional] The exact value to match against
 	// [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
 	Version string `protobuf:"bytes,3,opt,name=version" json:"version,omitempty"`
+	// [Optional] The exact value to match against
+	// [`ServiceContext.resource_type`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.resource_type).
+	ResourceType string `protobuf:"bytes,4,opt,name=resource_type,json=resourceType" json:"resource_type,omitempty"`
 }
 
 func (m *ServiceContextFilter) Reset()                    { *m = ServiceContextFilter{} }
@@ -459,11 +607,33 @@ func (m *ServiceContextFilter) String() string            { return proto.Compact
 func (*ServiceContextFilter) ProtoMessage()               {}
 func (*ServiceContextFilter) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *ServiceContextFilter) GetService() string {
+	if m != nil {
+		return m.Service
+	}
+	return ""
+}
+
+func (m *ServiceContextFilter) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *ServiceContextFilter) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
 // Deletes all events in the project.
 type DeleteEventsRequest struct {
 	// [Required] The resource name of the Google Cloud Platform project. Written
 	// as `projects/` plus the
-	// [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
+	// [Google Cloud Platform project
+	// ID](https://support.google.com/cloud/answer/6158840).
 	// Example: `projects/my-project-123`.
 	ProjectName string `protobuf:"bytes,1,opt,name=project_name,json=projectName" json:"project_name,omitempty"`
 }
@@ -473,6 +643,13 @@ func (m *DeleteEventsRequest) String() string            { return proto.CompactT
 func (*DeleteEventsRequest) ProtoMessage()               {}
 func (*DeleteEventsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{8} }
 
+func (m *DeleteEventsRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
 // Response message for deleting error events.
 type DeleteEventsResponse struct {
 }
@@ -639,93 +816,95 @@ var _ErrorStatsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto", fileDescriptor2)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/error_stats_service.proto", fileDescriptor2)
 }
 
 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,
-	0xf6, 0x9d, 0x5e, 0x0f, 0x00, 0x00,
+	// 1312 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4b, 0x6f, 0x1b, 0x55,
+	0x14, 0x66, 0xec, 0x38, 0x89, 0x4f, 0x1c, 0xc7, 0xb9, 0x49, 0xd3, 0xa9, 0xcb, 0x23, 0x75, 0x05,
+	0x0a, 0xa9, 0xb0, 0x9b, 0x54, 0xa5, 0x45, 0xe5, 0x51, 0xc7, 0x9e, 0x84, 0xa8, 0xa9, 0xed, 0x5e,
+	0xdb, 0x20, 0xb2, 0xe8, 0x68, 0x62, 0x9f, 0x4c, 0x07, 0xec, 0x99, 0x61, 0xe6, 0x3a, 0x6a, 0x8b,
+	0x2a, 0x21, 0x76, 0xac, 0x61, 0xc7, 0x3f, 0xe0, 0x57, 0xb0, 0x62, 0x0d, 0xea, 0x9e, 0x15, 0x7b,
+	0x10, 0xbf, 0x00, 0xdd, 0xc7, 0xf8, 0xd5, 0x88, 0xd4, 0x0e, 0x42, 0xec, 0xe6, 0x9e, 0x73, 0xcf,
+	0x77, 0x1e, 0xf7, 0x3b, 0xe7, 0xde, 0x01, 0xc3, 0xf6, 0x3c, 0xbb, 0x83, 0x85, 0x36, 0x9e, 0x30,
+	0xcf, 0xeb, 0x84, 0x85, 0x56, 0xc7, 0xeb, 0xb5, 0x31, 0x08, 0xbc, 0x20, 0x40, 0xdf, 0x0b, 0x98,
+	0xe3, 0xda, 0x85, 0x93, 0xad, 0x23, 0x64, 0xd6, 0x56, 0x41, 0x88, 0xcd, 0x90, 0x59, 0x2c, 0x34,
+	0x43, 0x0c, 0x4e, 0x9c, 0x16, 0xe6, 0xfd, 0xc0, 0x63, 0x1e, 0xb9, 0x26, 0x61, 0xf2, 0x11, 0x4c,
+	0xfe, 0x14, 0x98, 0xbc, 0x82, 0xc9, 0xbe, 0xaa, 0x7c, 0x5a, 0xbe, 0x53, 0xb0, 0x5c, 0xd7, 0x63,
+	0x16, 0x73, 0x3c, 0x37, 0x94, 0x50, 0xd9, 0xdb, 0x93, 0x44, 0xd4, 0xf2, 0xba, 0x5d, 0xcf, 0x55,
+	0x96, 0xaf, 0x2b, 0x4b, 0xb1, 0x3a, 0xea, 0x1d, 0x17, 0xda, 0xbd, 0x40, 0x40, 0x2b, 0xfd, 0x1b,
+	0xe3, 0x7a, 0xe6, 0x74, 0x31, 0x64, 0x56, 0xd7, 0x97, 0x1b, 0x72, 0x3f, 0x24, 0xe0, 0xc2, 0x81,
+	0x13, 0xb2, 0xbd, 0xc0, 0xeb, 0xf9, 0x75, 0x9e, 0x26, 0xc5, 0x2f, 0x7b, 0x18, 0x32, 0x72, 0x05,
+	0x52, 0x7e, 0xe0, 0x7d, 0x8e, 0x2d, 0x66, 0xba, 0x56, 0x17, 0x75, 0x6d, 0x5d, 0xdb, 0x48, 0xd2,
+	0x05, 0x25, 0xab, 0x58, 0x5d, 0x24, 0x97, 0x60, 0xde, 0xe6, 0x76, 0xa6, 0xd3, 0xd6, 0x63, 0xeb,
+	0xf1, 0x8d, 0x24, 0x9d, 0x13, 0xeb, 0xfd, 0x36, 0x79, 0x04, 0x69, 0x55, 0x2e, 0xf3, 0xd8, 0xe9,
+	0x30, 0x0c, 0xf4, 0xf8, 0xba, 0xb6, 0xb1, 0xb0, 0x5d, 0xcc, 0x4f, 0x50, 0xb6, 0x7c, 0x5d, 0x42,
+	0x94, 0x3c, 0x97, 0xe1, 0x63, 0xb6, 0x2b, 0x80, 0xe8, 0xa2, 0x02, 0x96, 0x4b, 0x72, 0x08, 0xc0,
+	0x93, 0x32, 0x03, 0xcb, 0xb5, 0x51, 0x4f, 0x08, 0x2f, 0x77, 0x26, 0xf2, 0xf2, 0xa0, 0x87, 0xc1,
+	0x93, 0x86, 0xd3, 0x45, 0xca, 0x21, 0x68, 0x92, 0x45, 0x9f, 0xe4, 0x1e, 0xac, 0xf2, 0x45, 0xdb,
+	0x6c, 0x79, 0x3d, 0x97, 0x99, 0x51, 0x71, 0xf5, 0x59, 0xe1, 0xe5, 0x52, 0xe4, 0x25, 0xaa, 0x6e,
+	0xbe, 0xac, 0x36, 0x50, 0x22, 0xcc, 0x4a, 0xdc, 0x2a, 0x92, 0x91, 0x87, 0x90, 0xb4, 0x3a, 0x8e,
+	0xed, 0x76, 0xd1, 0x65, 0xfa, 0xdc, 0xba, 0xb6, 0x91, 0xde, 0xbe, 0x3b, 0x51, 0x9c, 0x8d, 0x3e,
+	0x66, 0x31, 0xc2, 0xa1, 0x03, 0x48, 0x52, 0x84, 0x74, 0x7f, 0x61, 0x72, 0xff, 0xfa, 0xbc, 0x08,
+	0x33, 0xfb, 0x42, 0x98, 0x8d, 0x88, 0x04, 0x74, 0xb1, 0x6f, 0xc1, 0x65, 0x84, 0x42, 0xc2, 0x0b,
+	0xda, 0x18, 0xe8, 0x49, 0x11, 0xde, 0xfb, 0x13, 0x85, 0x67, 0x70, 0xb1, 0xe0, 0x51, 0x95, 0x63,
+	0x50, 0x09, 0x45, 0x2e, 0x43, 0xd2, 0xb7, 0x6c, 0x34, 0x43, 0xe7, 0x29, 0xea, 0x0b, 0xeb, 0xda,
+	0x46, 0x82, 0xce, 0x73, 0x41, 0xdd, 0x79, 0x8a, 0xe4, 0x35, 0x00, 0xa1, 0x64, 0xde, 0x17, 0xe8,
+	0xea, 0x29, 0x41, 0x31, 0xb1, 0xbd, 0xc1, 0x05, 0xb9, 0x3f, 0x35, 0x58, 0x1b, 0x67, 0x67, 0xe8,
+	0x7b, 0x6e, 0x88, 0xe4, 0x11, 0x2c, 0xcb, 0xde, 0x94, 0x0c, 0x14, 0x1d, 0xaa, 0x6b, 0xeb, 0xf1,
+	0x8d, 0x85, 0xa9, 0xc3, 0x96, 0x0e, 0x96, 0x70, 0x54, 0x40, 0xde, 0x82, 0x25, 0x17, 0x1f, 0x33,
+	0x73, 0x28, 0xd0, 0x98, 0x08, 0x74, 0x91, 0x8b, 0x6b, 0x51, 0xb0, 0xa4, 0x0c, 0x99, 0x01, 0x11,
+	0xcd, 0x23, 0xb4, 0x1d, 0x57, 0x9f, 0x39, 0xf3, 0x04, 0xd2, 0x7d, 0xb6, 0xed, 0x70, 0x8b, 0xdc,
+	0xb7, 0x09, 0x58, 0x1a, 0x0b, 0x89, 0xdc, 0x87, 0x84, 0xc8, 0x52, 0xf4, 0xe0, 0xc2, 0xf6, 0xad,
+	0x29, 0xf3, 0xa3, 0x12, 0x85, 0xac, 0x42, 0x42, 0xf0, 0x59, 0xa4, 0x11, 0xa7, 0x72, 0x41, 0xae,
+	0xc3, 0xaa, 0x75, 0x7c, 0x8c, 0x2d, 0x86, 0x6d, 0xb3, 0x17, 0x62, 0x10, 0x4a, 0xd2, 0x8b, 0xbe,
+	0x8d, 0x53, 0x12, 0xe9, 0x9a, 0x5c, 0x25, 0x48, 0x48, 0x0e, 0x21, 0x35, 0xd4, 0x1d, 0xa1, 0x3e,
+	0x23, 0xaa, 0x7f, 0x6b, 0x4a, 0x4e, 0xd3, 0x85, 0x41, 0xcf, 0x84, 0x64, 0x07, 0x96, 0x8e, 0x9d,
+	0x20, 0x64, 0x66, 0x88, 0xe8, 0x4a, 0x36, 0x27, 0xce, 0x66, 0xb3, 0x30, 0xa9, 0x23, 0xba, 0x82,
+	0xcd, 0x77, 0x21, 0xdd, 0xb1, 0x46, 0x20, 0x66, 0xcf, 0x84, 0x48, 0x71, 0x8b, 0x3e, 0xc2, 0x23,
+	0x58, 0xee, 0xd7, 0x44, 0x4d, 0x9d, 0x50, 0x9f, 0x13, 0x69, 0xde, 0x39, 0xc7, 0x20, 0xa3, 0x99,
+	0x08, 0x55, 0xc9, 0x43, 0xb2, 0x0d, 0x17, 0xdc, 0x5e, 0xd7, 0x7c, 0xd1, 0xdb, 0xbc, 0xe8, 0x98,
+	0x15, 0xb7, 0xd7, 0x2d, 0x8e, 0xdb, 0x98, 0x90, 0x0e, 0xd0, 0x0f, 0x30, 0x44, 0x97, 0xdf, 0x27,
+	0x27, 0x28, 0xda, 0x76, 0x2a, 0x7e, 0x18, 0x27, 0x7c, 0x98, 0x8c, 0xc1, 0xe5, 0xbe, 0xd7, 0x00,
+	0x06, 0x07, 0x34, 0xe0, 0x8d, 0x36, 0xcc, 0x9b, 0xf7, 0x00, 0x42, 0x66, 0x05, 0x6a, 0xe4, 0xc4,
+	0xce, 0xac, 0x70, 0x52, 0xec, 0x16, 0xe5, 0xbd, 0x09, 0xf3, 0xe8, 0xb6, 0xa5, 0x61, 0xfc, 0x4c,
+	0xc3, 0x39, 0x74, 0xdb, 0x7c, 0x95, 0x7b, 0x1e, 0x83, 0x65, 0x3e, 0x15, 0x44, 0xd0, 0xd3, 0xdf,
+	0x57, 0xda, 0xff, 0xe1, 0xbe, 0x9a, 0xf9, 0x57, 0xef, 0xab, 0x91, 0x59, 0x3b, 0xfb, 0x8f, 0xb3,
+	0x76, 0x6e, 0x7c, 0xd6, 0xfe, 0xa6, 0x01, 0x19, 0xae, 0xaa, 0x9a, 0xb3, 0x87, 0x90, 0x92, 0x73,
+	0x16, 0x85, 0x5c, 0x8d, 0xd8, 0xa9, 0x29, 0xb6, 0x80, 0xfd, 0xef, 0xff, 0x7a, 0xb2, 0xfe, 0xa1,
+	0x41, 0x7a, 0xb4, 0x74, 0xe4, 0x10, 0x66, 0x7d, 0x0c, 0x1c, 0xaf, 0x2d, 0xd8, 0x92, 0xde, 0xde,
+	0x39, 0xc7, 0x39, 0xe4, 0x6b, 0x02, 0x89, 0x2a, 0xc4, 0xdc, 0xd7, 0x1a, 0xcc, 0x4a, 0x11, 0x59,
+	0x03, 0x52, 0x33, 0xe8, 0x7e, 0xb5, 0x6c, 0x36, 0x2b, 0xf5, 0x9a, 0x51, 0xda, 0xdf, 0xdd, 0x37,
+	0xca, 0x99, 0x57, 0xc8, 0x32, 0x2c, 0x2a, 0xf9, 0x96, 0xf9, 0x71, 0xb5, 0x49, 0x33, 0x1a, 0x21,
+	0x90, 0x56, 0xa2, 0x77, 0x85, 0xa8, 0x9e, 0x89, 0x91, 0x0c, 0xa4, 0xfa, 0xdb, 0xca, 0xc5, 0xcf,
+	0x32, 0xf1, 0x11, 0xc3, 0x4f, 0x0d, 0xe3, 0x5e, 0x66, 0x66, 0xc8, 0xf0, 0xc6, 0x75, 0xbe, 0xab,
+	0x9e, 0x49, 0xe4, 0x3c, 0x58, 0x3d, 0x8d, 0x91, 0x44, 0x87, 0x39, 0xc5, 0xc9, 0xa8, 0x0d, 0xd4,
+	0x92, 0x6b, 0x4e, 0x30, 0x08, 0xf9, 0x1b, 0x27, 0x2e, 0x35, 0x6a, 0x49, 0xae, 0xc2, 0x62, 0x80,
+	0xa1, 0xd7, 0x0b, 0x5a, 0x68, 0xb2, 0x27, 0xbe, 0x64, 0x6e, 0x92, 0xa6, 0x22, 0x61, 0xe3, 0x89,
+	0x8f, 0xb9, 0xdb, 0xb0, 0x52, 0xc6, 0x0e, 0x32, 0x9c, 0xb4, 0x35, 0x73, 0x6b, 0xb0, 0x3a, 0x6a,
+	0x29, 0xe9, 0xb7, 0xd9, 0x83, 0x95, 0x53, 0x9e, 0x3d, 0xe4, 0x4d, 0xb8, 0x62, 0x50, 0x5a, 0xa5,
+	0x66, 0xa9, 0xda, 0xac, 0x34, 0xcc, 0xe2, 0xc1, 0xfe, 0x5e, 0xe5, 0xbe, 0x51, 0x69, 0x8c, 0x15,
+	0xf8, 0x32, 0x5c, 0x1c, 0xa8, 0x8c, 0x07, 0xcd, 0xe2, 0x81, 0x49, 0xab, 0xcd, 0x4a, 0xd9, 0x28,
+	0x67, 0x34, 0x92, 0x85, 0xb5, 0x71, 0x65, 0xb1, 0x61, 0x1a, 0x95, 0x72, 0x26, 0xb6, 0xf9, 0x6c,
+	0xf8, 0x12, 0xae, 0xaa, 0x77, 0xcc, 0xc5, 0x3d, 0x5a, 0x6d, 0xd6, 0xcc, 0x2a, 0x2d, 0x1b, 0x74,
+	0xcc, 0x51, 0x1a, 0x40, 0x46, 0x52, 0x36, 0xea, 0x25, 0x79, 0x8c, 0x07, 0xc5, 0x7a, 0xc3, 0xac,
+	0x1b, 0x46, 0x45, 0xca, 0xc4, 0x31, 0x96, 0xa8, 0x51, 0x6c, 0x18, 0x65, 0x29, 0x89, 0x93, 0x8b,
+	0xb0, 0x52, 0xdc, 0xdd, 0x35, 0x4a, 0x5c, 0xd4, 0xac, 0x1b, 0xb4, 0x2e, 0x15, 0x33, 0xdb, 0x7f,
+	0xcd, 0xc0, 0xb2, 0xf0, 0x2f, 0xee, 0x7f, 0x75, 0x86, 0xe4, 0x17, 0x0d, 0xd2, 0xa3, 0xaf, 0x21,
+	0x32, 0x19, 0x61, 0x4f, 0x7d, 0xe8, 0x67, 0x4b, 0xe7, 0xc2, 0x90, 0xe7, 0x94, 0xbb, 0xf9, 0xcd,
+	0xf3, 0xdf, 0xbf, 0x8b, 0x15, 0xc8, 0x3b, 0xfd, 0xff, 0x94, 0xaf, 0x86, 0x8f, 0xfc, 0x03, 0xb5,
+	0x08, 0x0b, 0x9b, 0xcf, 0x0a, 0xf6, 0x20, 0xfe, 0x9f, 0x34, 0x80, 0xc1, 0xd0, 0x21, 0x1f, 0x4e,
+	0x1c, 0xca, 0x08, 0xd1, 0xb2, 0x1f, 0x4d, 0x6d, 0xaf, 0xd2, 0xd8, 0x12, 0x69, 0x5c, 0x23, 0x6f,
+	0xbf, 0x44, 0x1a, 0x72, 0x20, 0x92, 0x9f, 0x35, 0x48, 0x0d, 0x53, 0x97, 0x4c, 0xf6, 0xa8, 0x3f,
+	0xa5, 0x5f, 0xb2, 0xc5, 0x73, 0x20, 0x8c, 0x26, 0xb2, 0xf9, 0xf2, 0x89, 0xec, 0xfc, 0xaa, 0x01,
+	0xff, 0xb9, 0x9c, 0xc4, 0xf7, 0xce, 0xda, 0x0b, 0x2c, 0xad, 0xf1, 0x41, 0x5c, 0xd3, 0x0e, 0x1f,
+	0x2a, 0x18, 0xdb, 0xeb, 0x58, 0xae, 0x9d, 0xf7, 0x02, 0xbb, 0x60, 0xa3, 0x2b, 0xc6, 0x74, 0x41,
+	0xaa, 0x2c, 0xdf, 0x09, 0x5f, 0xea, 0x97, 0xf7, 0xce, 0x29, 0xba, 0x1f, 0x63, 0x57, 0xf7, 0xa4,
+	0x83, 0x12, 0x57, 0xca, 0x2b, 0x86, 0xf6, 0xe3, 0xfb, 0x64, 0x6b, 0x87, 0x5b, 0x1e, 0xcd, 0x0a,
+	0x87, 0x37, 0xfe, 0x0e, 0x00, 0x00, 0xff, 0xff, 0xe9, 0x2a, 0x59, 0xfa, 0xf4, 0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
deleted file mode 100644
index 6cf2557c..00000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/error_stats_service.proto
+++ /dev/null
@@ -1,320 +0,0 @@
-// 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.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ErrorStatsServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// An API for retrieving and managing error statistics as well as data for
-// individual events.
-service ErrorStatsService {
-  // Lists the specified groups.
-  rpc ListGroupStats(ListGroupStatsRequest) returns (ListGroupStatsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{project_name=projects/*}/groupStats" };
-  }
-
-  // Lists the specified events.
-  rpc ListEvents(ListEventsRequest) returns (ListEventsResponse) {
-    option (google.api.http) = { get: "/v1beta1/{project_name=projects/*}/events" };
-  }
-
-  // Deletes all error events of a given project.
-  rpc DeleteEvents(DeleteEventsRequest) returns (DeleteEventsResponse) {
-    option (google.api.http) = { delete: "/v1beta1/{project_name=projects/*}/events" };
-  }
-}
-
-// Specifies a set of `ErrorGroupStats` to return.
-message ListGroupStatsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as <code>projects/</code> plus the
-  // <a href="https://support.google.com/cloud/answer/6158840">Google Cloud
-  // Platform project ID</a>.
-  //
-  // Example: <code>projects/my-project-123</code>.
-  string project_name = 1;
-
-  // [Optional] List all <code>ErrorGroupStats</code> with these IDs.
-  repeated string group_id = 2;
-
-  // [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.
-  ServiceContextFilter service_filter = 3;
-
-  // [Required] List data for the given time range.
-  // 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`.
-  // If not set, no timed counts are returned.
-  google.protobuf.Duration timed_count_duration = 6;
-
-  // [Optional] The alignment of the timed counts to be returned.
-  // Default is `ALIGNMENT_EQUAL_AT_END`.
-  TimedCountAlignment alignment = 7;
-
-  // [Optional] Time where the timed counts shall be aligned if rounded
-  // alignment is chosen. Default is 00:00 UTC.
-  google.protobuf.Timestamp alignment_time = 8;
-
-  // [Optional] The sort order in which the results are returned.
-  // Default is `COUNT_DESC`.
-  ErrorGroupOrder order = 9;
-
-  // [Optional] The maximum number of results to return per response.
-  // Default is 20.
-  int32 page_size = 11;
-
-  // [Optional] A `next_page_token` provided by a previous response. To view
-  // additional results, pass this token along with the identical query
-  // parameters as the first request.
-  string page_token = 12;
-}
-
-// Contains a set of requested error group stats.
-message ListGroupStatsResponse {
-  // The error group stats which match the given request.
-  repeated ErrorGroupStats error_group_stats = 1;
-
-  // If non-empty, more results are available.
-  // Pass this token, along with the same query parameters as the first
-  // request, to view the next page of results.
-  string next_page_token = 2;
-}
-
-// 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 filter criteria.
-  ErrorGroup group = 1;
-
-  // Approximate total number of events in the given group that match
-  // the filter criteria.
-  int64 count = 2;
-
-  // Approximate number of affected users in the given group that
-  // 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.
-  // The number of affected users can be zero even if the number of
-  // errors is non-zero if no data was provided from which the
-  // affected user could be deduced.
-  // Users are counted based on data in the request
-  // context that was provided in the error report. If more users are
-  // implicitly affected, such as due to a crash of the whole service,
-  // this is not reflected here.
-  int64 affected_users_count = 3;
-
-  // Approximate number of occurrences over time.
-  // Timed counts returned by ListGroups are guaranteed to be:
-  //
-  // - Inside the requested time interval
-  // - Non-overlapping, and
-  // - Ordered by ascending time.
-  repeated TimedCount timed_counts = 4;
-
-  // 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 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 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
-  // filter criteria.
-  int32 num_affected_services = 8;
-
-  // 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
-  // the whole group. Events in the group are usually sufficiently similar
-  // to each other such that showing an arbitrary representative provides
-  // insight into the characteristics of the group as a whole.
-  ErrorEvent representative = 9;
-}
-
-// The number of errors in a given time period.
-// All numbers are approximate since the error events are sampled
-// before counting them.
-message TimedCount {
-  // Approximate number of occurrences in the given time period.
-  int64 count = 1;
-
-  // Start of the time period to which `count` refers (included).
-  google.protobuf.Timestamp start_time = 2;
-
-  // End of the time period to which `count` refers (excluded).
-  google.protobuf.Timestamp end_time = 3;
-}
-
-// Specifies a set of error events to return.
-message ListEventsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-
-  // [Required] The group for which events shall be returned.
-  string group_id = 2;
-
-  // [Optional] List only ErrorGroups which belong to a service context that
-  // matches the filter.
-  // Data for all service contexts is returned if this field is not specified.
-  ServiceContextFilter service_filter = 3;
-
-  // [Optional] List only data for the given time range.
-  QueryTimeRange time_range = 4;
-
-  // [Optional] The maximum number of results to return per response.
-  int32 page_size = 6;
-
-  // [Optional] A `next_page_token` provided by a previous response.
-  string page_token = 7;
-}
-
-// Contains a set of requested error events.
-message ListEventsResponse {
-  // The error events which match the given request.
-  repeated ErrorEvent error_events = 1;
-
-  // If non-empty, more results are available.
-  // Pass this token, along with the same query parameters as the first
-  // request, to view the next page of results.
-  string next_page_token = 2;
-}
-
-// Requests might be rejected or the resulting timed count durations might be
-// adjusted for lower durations.
-message QueryTimeRange {
-  // The supported time ranges.
-  enum Period {
-    // Do not use.
-    PERIOD_UNSPECIFIED = 0;
-
-    // Retrieve data for the last hour.
-    // Recommended minimum timed count duration: 1 min.
-    PERIOD_1_HOUR = 1;
-
-    // Retrieve data for the last 6 hours.
-    // Recommended minimum timed count duration: 10 min.
-    PERIOD_6_HOURS = 2;
-
-    // Retrieve data for the last day.
-    // Recommended minimum timed count duration: 1 hour.
-    PERIOD_1_DAY = 3;
-
-    // Retrieve data for the last week.
-    // Recommended minimum timed count duration: 6 hours.
-    PERIOD_1_WEEK = 4;
-
-    // Retrieve data for the last 30 days.
-    // Recommended minimum timed count duration: 1 day.
-    PERIOD_30_DAYS = 5;
-  }
-
-  // Restricts the query to the specified time range.
-  Period period = 1;
-}
-
-// Specifies criteria for filtering a subset of service contexts.
-// The fields in the filter correspond to the fields in `ServiceContext`.
-// Only exact, case-sensitive matches are supported.
-// If a field is unset or empty, it matches arbitrary values.
-message ServiceContextFilter {
-  // [Optional] The exact value to match against
-  // [`ServiceContext.service`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.service).
-  string service = 2;
-
-  // [Optional] The exact value to match against
-  // [`ServiceContext.version`](/error-reporting/reference/rest/v1beta1/ServiceContext#FIELDS.version).
-  string version = 3;
-}
-
-// Deletes all events in the project.
-message DeleteEventsRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-}
-
-// Response message for deleting error events.
-message DeleteEventsResponse {
-
-}
-
-// Specifies how the time periods of error group counts are aligned.
-enum TimedCountAlignment {
-  // No alignment specified.
-  ERROR_COUNT_ALIGNMENT_UNSPECIFIED = 0;
-
-  // The time periods shall be consecutive, have width equal to the
-  // requested duration, and be aligned at the `alignment_time` provided in
-  // the request.
-  // The `alignment_time` does not have to be inside the query period but
-  // even if it is outside, only time periods are returned which overlap
-  // with the query period.
-  // A rounded alignment will typically result in a
-  // different size of the first or the last time period.
-  ALIGNMENT_EQUAL_ROUNDED = 1;
-
-  // The time periods shall be consecutive, have width equal to the
-  // requested duration, and be aligned at the end of the requested time
-  // period. This can result in a different size of the
-  // first time period.
-  ALIGNMENT_EQUAL_AT_END = 2;
-}
-
-// A sorting order of error groups.
-enum ErrorGroupOrder {
-  // No group order specified.
-  GROUP_ORDER_UNSPECIFIED = 0;
-
-  // Total count of errors in the given time window in descending order.
-  COUNT_DESC = 1;
-
-  // Timestamp when the group was last seen in the given time window
-  // in descending order.
-  LAST_SEEN_DESC = 2;
-
-  // Timestamp when the group was created in descending order.
-  CREATED_DESC = 3;
-
-  // Number of affected users in the given time window in descending order.
-  AFFECTED_USERS_DESC = 4;
-}
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
index f3a421a5..e7039c06 100644
--- a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
+++ b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+// source: google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
 // DO NOT EDIT!
 
-package google_devtools_clouderrorreporting_v1beta1 // import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1"
+package clouderrorreporting
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -36,6 +36,13 @@ func (m *ReportErrorEventRequest) String() string            { return proto.Comp
 func (*ReportErrorEventRequest) ProtoMessage()               {}
 func (*ReportErrorEventRequest) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *ReportErrorEventRequest) GetProjectName() string {
+	if m != nil {
+		return m.ProjectName
+	}
+	return ""
+}
+
 func (m *ReportErrorEventRequest) GetEvent() *ReportedErrorEvent {
 	if m != nil {
 		return m.Event
@@ -89,6 +96,13 @@ func (m *ReportedErrorEvent) GetServiceContext() *ServiceContext {
 	return nil
 }
 
+func (m *ReportedErrorEvent) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *ReportedErrorEvent) GetContext() *ErrorContext {
 	if m != nil {
 		return m.Context
@@ -187,43 +201,43 @@ var _ReportErrorsService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto",
+	Metadata: "google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto",
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto", fileDescriptor3)
+	proto.RegisterFile("google/devtools/clouderrorreporting/v1beta1/report_errors_service.proto", fileDescriptor3)
 }
 
 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,
-	0xa1, 0x04, 0x00, 0x00,
+	// 475 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xcd, 0x6e, 0xd3, 0x40,
+	0x10, 0xc7, 0xe5, 0xf0, 0x51, 0x75, 0x83, 0x00, 0x2d, 0x07, 0x2c, 0x0b, 0x89, 0x12, 0x2e, 0x15,
+	0x48, 0x5e, 0x12, 0x2e, 0xa4, 0x15, 0xaa, 0x94, 0x12, 0xf5, 0x86, 0x2a, 0x17, 0x38, 0x70, 0xc0,
+	0xda, 0x38, 0x83, 0x65, 0x14, 0xef, 0x98, 0xdd, 0x8d, 0x85, 0x84, 0xb8, 0xf0, 0x0a, 0x7d, 0x05,
+	0x4e, 0xbc, 0x4e, 0x5f, 0x80, 0x03, 0x0f, 0xc1, 0x11, 0xed, 0x57, 0x14, 0x48, 0x0e, 0x98, 0x1e,
+	0xc7, 0xe3, 0xf9, 0xfd, 0xff, 0xf3, 0xb1, 0xe4, 0xa4, 0x44, 0x2c, 0x17, 0xc0, 0xe6, 0xd0, 0x6a,
+	0xc4, 0x85, 0x62, 0xc5, 0x02, 0x97, 0x73, 0x90, 0x12, 0xa5, 0x84, 0x06, 0xa5, 0xae, 0x44, 0xc9,
+	0xda, 0xe1, 0x0c, 0x34, 0x1f, 0x32, 0xf7, 0x25, 0xb7, 0x59, 0x95, 0x2b, 0x90, 0x6d, 0x55, 0x40,
+	0xda, 0x48, 0xd4, 0x48, 0x1f, 0x3b, 0x50, 0x1a, 0x40, 0xe9, 0x16, 0x50, 0xea, 0x41, 0xc9, 0x3d,
+	0xaf, 0xca, 0x9b, 0x8a, 0x71, 0x21, 0x50, 0x73, 0x5d, 0xa1, 0x50, 0x0e, 0x95, 0x3c, 0xeb, 0xe2,
+	0xa9, 0xc0, 0xba, 0x46, 0xe1, 0x2b, 0xef, 0xfb, 0x4a, 0x1b, 0xcd, 0x96, 0xef, 0x99, 0xae, 0x6a,
+	0x50, 0x9a, 0xd7, 0x8d, 0xfb, 0x61, 0x70, 0x1e, 0x91, 0xbb, 0x99, 0x65, 0x4c, 0x0d, 0x6e, 0xda,
+	0x82, 0xd0, 0x19, 0x7c, 0x5c, 0x82, 0xd2, 0xf4, 0x01, 0xb9, 0xd1, 0x48, 0xfc, 0x00, 0x85, 0xce,
+	0x05, 0xaf, 0x21, 0x8e, 0xf6, 0xa2, 0xfd, 0xdd, 0xac, 0xef, 0xbf, 0xbd, 0xe4, 0x35, 0xd0, 0xd7,
+	0xe4, 0x1a, 0x98, 0x92, 0xb8, 0xb7, 0x17, 0xed, 0xf7, 0x47, 0x47, 0x69, 0x87, 0xa6, 0x53, 0xa7,
+	0x0b, 0xf3, 0x35, 0x65, 0x47, 0x1b, 0x24, 0x24, 0xde, 0x34, 0xa5, 0x1a, 0x14, 0x0a, 0x06, 0xdf,
+	0x7a, 0x84, 0x6e, 0x56, 0xd2, 0x31, 0x21, 0xb6, 0x36, 0x37, 0x1d, 0x5a, 0xab, 0xfd, 0x51, 0x12,
+	0xec, 0x84, 0xf6, 0xd3, 0x57, 0xa1, 0xfd, 0x6c, 0xd7, 0xfe, 0x6d, 0x62, 0x3a, 0x27, 0xb7, 0xfc,
+	0xea, 0xf2, 0x02, 0x85, 0x86, 0x4f, 0xa1, 0x9d, 0xc3, 0x4e, 0xed, 0x9c, 0x39, 0xc6, 0xb1, 0x43,
+	0x64, 0x37, 0xd5, 0x1f, 0x31, 0x8d, 0xc9, 0x4e, 0x0d, 0x4a, 0xf1, 0x12, 0xe2, 0x2b, 0x76, 0x90,
+	0x21, 0xa4, 0x67, 0x64, 0x27, 0xe8, 0x5e, 0xb5, 0xba, 0xe3, 0x4e, 0xba, 0x76, 0x08, 0x41, 0x35,
+	0x90, 0x46, 0xbf, 0x22, 0x72, 0x67, 0x6d, 0x86, 0xca, 0xbb, 0xa3, 0x3f, 0x22, 0x72, 0xfb, 0xef,
+	0xd9, 0xd2, 0x17, 0xff, 0xb1, 0xb7, 0x8d, 0x7b, 0x49, 0xa6, 0x97, 0xa4, 0xf8, 0x05, 0x1f, 0x7d,
+	0xbd, 0xf8, 0x79, 0xde, 0x1b, 0x0f, 0x9e, 0xac, 0x4e, 0xfa, 0xf3, 0xfa, 0x19, 0x3e, 0xf7, 0x81,
+	0x62, 0x8f, 0xbe, 0x30, 0xbb, 0x44, 0x75, 0xe0, 0xe8, 0x07, 0xee, 0x7a, 0x26, 0x17, 0x11, 0x31,
+	0xaf, 0xa0, 0x8b, 0x9b, 0x49, 0xbc, 0x65, 0x56, 0xa7, 0xe6, 0x6a, 0x4e, 0xa3, 0xb7, 0xef, 0x3c,
+	0xa8, 0xc4, 0x05, 0x17, 0x65, 0x8a, 0xb2, 0x64, 0x25, 0x08, 0x7b, 0x53, 0xcc, 0xa5, 0x78, 0x53,
+	0xa9, 0x7f, 0x7a, 0x9d, 0x87, 0x5b, 0x72, 0xdf, 0x7b, 0x0f, 0x4f, 0x9c, 0xc0, 0xb1, 0x49, 0xba,
+	0x7d, 0x66, 0x2b, 0x87, 0x6f, 0x86, 0x13, 0x53, 0x39, 0xbb, 0x6e, 0x05, 0x9f, 0xfe, 0x0e, 0x00,
+	0x00, 0xff, 0xff, 0x9d, 0xe5, 0xc6, 0x91, 0xa1, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto b/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
deleted file mode 100644
index 6afc85a0..00000000
--- a/googleapis/devtools/clouderrorreporting/v1beta1/report_errors_service.proto
+++ /dev/null
@@ -1,79 +0,0 @@
-// 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.devtools.clouderrorreporting.v1beta1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/devtools/clouderrorreporting/v1beta1/common.proto"; // from google/devtools/clouderrorreporting/v1beta1/common.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ReportErrorsServiceProto";
-option java_package = "com.google.devtools.clouderrorreporting.v1beta1";
-
-
-// An API for reporting error events.
-service ReportErrorsService {
-  // Report an individual error event.
-  //
-  // This endpoint accepts <strong>either</strong> an OAuth token,
-  // <strong>or</strong> an
-  // <a href="https://support.google.com/cloud/answer/6158862">API key</a>
-  // for authentication. To use an API key, append it to the URL as the value of
-  // a `key` parameter. For example:
-  // <pre>POST https://clouderrorreporting.googleapis.com/v1beta1/projects/example-project/events:report?key=123ABC456</pre>
-  rpc ReportErrorEvent(ReportErrorEventRequest) returns (ReportErrorEventResponse) {
-    option (google.api.http) = { post: "/v1beta1/{project_name=projects/*}/events:report" body: "event" };
-  }
-}
-
-// A request for reporting an individual error event.
-message ReportErrorEventRequest {
-  // [Required] The resource name of the Google Cloud Platform project. Written
-  // as `projects/` plus the
-  // [Google Cloud Platform project ID](https://support.google.com/cloud/answer/6158840).
-  // Example: `projects/my-project-123`.
-  string project_name = 1;
-
-  // [Required] The error event to be reported.
-  ReportedErrorEvent event = 2;
-}
-
-// Response for reporting an individual error event.
-// Data may be added to this message in the future.
-message ReportErrorEventResponse {
-
-}
-
-// An error event which is reported to the Error Reporting system.
-message ReportedErrorEvent {
-  // [Optional] Time when the event occurred.
-  // If not provided, the time when the event was received by the
-  // Error Reporting system will be used.
-  google.protobuf.Timestamp event_time = 1;
-
-  // [Required] The service context in which this error has occurred.
-  ServiceContext service_context = 2;
-
-  // [Required] A message describing the error. The message can contain an
-  // exception stack in one of the supported programming languages and formats.
-  // In that case, the message is parsed and detailed exception information
-  // is returned when retrieving the error event again.
-  string message = 3;
-
-  // [Optional] A description of the context in which the error occurred.
-  ErrorContext context = 4;
-}
diff --git a/googleapis/devtools/cloudtrace/v1/trace.pb.go b/googleapis/devtools/cloudtrace/v1/trace.pb.go
index 7138e1c9..9e5a80e7 100644
--- a/googleapis/devtools/cloudtrace/v1/trace.pb.go
+++ b/googleapis/devtools/cloudtrace/v1/trace.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto
+// source: google/devtools/cloudtrace/v1/trace.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_cloudtrace_v1 is a generated protocol buffer package.
+Package cloudtrace is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto
+	google/devtools/cloudtrace/v1/trace.proto
 
 It has these top-level messages:
 	Trace
@@ -17,12 +17,12 @@ It has these top-level messages:
 	GetTraceRequest
 	PatchTracesRequest
 */
-package google_devtools_cloudtrace_v1 // import "google.golang.org/genproto/googleapis/devtools/cloudtrace/v1"
+package cloudtrace
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -129,6 +129,20 @@ func (m *Trace) String() string            { return proto.CompactTextString(m) }
 func (*Trace) ProtoMessage()               {}
 func (*Trace) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Trace) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Trace) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 func (m *Trace) GetSpans() []*TraceSpan {
 	if m != nil {
 		return m.Spans
@@ -189,6 +203,27 @@ func (m *TraceSpan) String() string            { return proto.CompactTextString(
 func (*TraceSpan) ProtoMessage()               {}
 func (*TraceSpan) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *TraceSpan) GetSpanId() uint64 {
+	if m != nil {
+		return m.SpanId
+	}
+	return 0
+}
+
+func (m *TraceSpan) GetKind() TraceSpan_SpanKind {
+	if m != nil {
+		return m.Kind
+	}
+	return TraceSpan_SPAN_KIND_UNSPECIFIED
+}
+
+func (m *TraceSpan) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *TraceSpan) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -203,6 +238,13 @@ func (m *TraceSpan) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *TraceSpan) GetParentSpanId() uint64 {
+	if m != nil {
+		return m.ParentSpanId
+	}
+	return 0
+}
+
 func (m *TraceSpan) GetLabels() map[string]string {
 	if m != nil {
 		return m.Labels
@@ -254,6 +296,34 @@ func (m *ListTracesRequest) String() string            { return proto.CompactTex
 func (*ListTracesRequest) ProtoMessage()               {}
 func (*ListTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *ListTracesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListTracesRequest) GetView() ListTracesRequest_ViewType {
+	if m != nil {
+		return m.View
+	}
+	return ListTracesRequest_VIEW_TYPE_UNSPECIFIED
+}
+
+func (m *ListTracesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTracesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 func (m *ListTracesRequest) GetStartTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.StartTime
@@ -268,6 +338,20 @@ func (m *ListTracesRequest) GetEndTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
+func (m *ListTracesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListTracesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
 // The response message for the `ListTraces` method.
 type ListTracesResponse struct {
 	// List of trace records returned.
@@ -290,6 +374,13 @@ func (m *ListTracesResponse) GetTraces() []*Trace {
 	return nil
 }
 
+func (m *ListTracesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request message for the `GetTrace` method.
 type GetTraceRequest struct {
 	// ID of the Cloud project where the trace data is stored.
@@ -303,6 +394,20 @@ func (m *GetTraceRequest) String() string            { return proto.CompactTextS
 func (*GetTraceRequest) ProtoMessage()               {}
 func (*GetTraceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *GetTraceRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *GetTraceRequest) GetTraceId() string {
+	if m != nil {
+		return m.TraceId
+	}
+	return ""
+}
+
 // The request message for the `PatchTraces` method.
 type PatchTracesRequest struct {
 	// ID of the Cloud project where the trace data is stored.
@@ -316,6 +421,13 @@ func (m *PatchTracesRequest) String() string            { return proto.CompactTe
 func (*PatchTracesRequest) ProtoMessage()               {}
 func (*PatchTracesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PatchTracesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *PatchTracesRequest) GetTraces() *Traces {
 	if m != nil {
 		return m.Traces
@@ -484,69 +596,67 @@ var _TraceService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto",
+	Metadata: "google/devtools/cloudtrace/v1/trace.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/cloudtrace/v1/trace.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/cloudtrace/v1/trace.proto", fileDescriptor0) }
 
 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,
+	// 886 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xdd, 0x6e, 0x1b, 0x45,
+	0x14, 0x66, 0xed, 0x78, 0x6d, 0x1f, 0x87, 0xd4, 0x8c, 0x68, 0x71, 0x5d, 0x2a, 0xc2, 0xaa, 0x20,
+	0x03, 0x62, 0xb7, 0x76, 0x41, 0x22, 0xe5, 0x47, 0x6a, 0xdc, 0x6d, 0xb4, 0x8a, 0xe3, 0xac, 0xd6,
+	0x26, 0x08, 0x6e, 0x56, 0x13, 0xef, 0xd4, 0x2c, 0x59, 0xcf, 0x2c, 0x3b, 0x13, 0x17, 0xa7, 0xea,
+	0x05, 0x5c, 0x72, 0x09, 0xe2, 0x8a, 0x37, 0xe0, 0x92, 0x37, 0x41, 0xbc, 0x02, 0x12, 0xaf, 0x81,
+	0x66, 0x66, 0xb7, 0x89, 0x12, 0x35, 0x76, 0xe8, 0x4d, 0x34, 0xe7, 0xcc, 0xf9, 0xfd, 0xbe, 0x6f,
+	0xb2, 0x86, 0xf7, 0xa6, 0x8c, 0x4d, 0x13, 0xe2, 0x44, 0x64, 0x2e, 0x18, 0x4b, 0xb8, 0x33, 0x49,
+	0xd8, 0x71, 0x24, 0x32, 0x3c, 0x21, 0xce, 0xbc, 0xeb, 0xa8, 0x83, 0x9d, 0x66, 0x4c, 0x30, 0x74,
+	0x5b, 0x87, 0xda, 0x45, 0xa8, 0x7d, 0x1a, 0x6a, 0xcf, 0xbb, 0xed, 0x37, 0xf3, 0x4a, 0x38, 0x8d,
+	0x1d, 0x4c, 0x29, 0x13, 0x58, 0xc4, 0x8c, 0x72, 0x9d, 0xdc, 0xbe, 0x95, 0xdf, 0x2a, 0xeb, 0xf0,
+	0xf8, 0xb1, 0x43, 0x66, 0xa9, 0x58, 0xe4, 0x97, 0x6f, 0x9d, 0xbf, 0x14, 0xf1, 0x8c, 0x70, 0x81,
+	0x67, 0xa9, 0x0e, 0xb0, 0x7e, 0x34, 0xa0, 0x32, 0x96, 0x8d, 0xd0, 0x6d, 0x80, 0x34, 0x63, 0xdf,
+	0x91, 0x89, 0x08, 0xe3, 0xa8, 0x65, 0x6c, 0x1a, 0x9d, 0x7a, 0x50, 0xcf, 0x3d, 0x5e, 0x84, 0x6e,
+	0x42, 0x4d, 0x0d, 0x24, 0x2f, 0x4b, 0xea, 0xb2, 0xaa, 0x6c, 0x2f, 0x42, 0x5f, 0x40, 0x85, 0xa7,
+	0x98, 0xf2, 0x56, 0x79, 0xb3, 0xdc, 0x69, 0xf4, 0x3a, 0xf6, 0xa5, 0xeb, 0xd8, 0xaa, 0xdd, 0x28,
+	0xc5, 0x34, 0xd0, 0x69, 0xd6, 0x23, 0x30, 0x95, 0x8f, 0xa3, 0xcf, 0xc0, 0x54, 0x61, 0xbc, 0x65,
+	0xa8, 0x52, 0x77, 0x56, 0x29, 0x15, 0xe4, 0x39, 0xd6, 0xbf, 0x65, 0xa8, 0x3f, 0x2f, 0x8e, 0xde,
+	0x80, 0xaa, 0x2c, 0x5f, 0x2c, 0x63, 0x06, 0xa6, 0x34, 0xbd, 0x08, 0xb9, 0xb0, 0x76, 0x14, 0x53,
+	0xbd, 0xc5, 0x46, 0xaf, 0xbb, 0xea, 0xb4, 0xb6, 0xfc, 0xb3, 0x1b, 0xd3, 0x28, 0x50, 0xe9, 0x08,
+	0xc1, 0x1a, 0xc5, 0x33, 0xd2, 0x2a, 0x2b, 0x30, 0xd4, 0x19, 0x6d, 0x01, 0x70, 0x81, 0x33, 0x11,
+	0x4a, 0x98, 0x5b, 0x6b, 0x9b, 0x46, 0xa7, 0xd1, 0x6b, 0x17, 0x0d, 0x0a, 0x0e, 0xec, 0x71, 0xc1,
+	0x41, 0x50, 0x57, 0xd1, 0xd2, 0x46, 0x1f, 0x43, 0x8d, 0xd0, 0x48, 0x27, 0x56, 0x96, 0x26, 0x56,
+	0x09, 0x8d, 0x54, 0xda, 0x1d, 0xd8, 0x48, 0x71, 0x46, 0xa8, 0x08, 0x8b, 0x65, 0x4d, 0xb5, 0xec,
+	0xba, 0xf6, 0x8e, 0xf4, 0xca, 0x03, 0x30, 0x13, 0x7c, 0x48, 0x12, 0xde, 0xaa, 0x2a, 0x5c, 0x3f,
+	0x5a, 0x79, 0xe9, 0x81, 0x4a, 0x73, 0xa9, 0xc8, 0x16, 0x41, 0x5e, 0xa3, 0xbd, 0x05, 0x8d, 0x33,
+	0x6e, 0xd4, 0x84, 0xf2, 0x11, 0x59, 0xe4, 0x8a, 0x91, 0x47, 0xf4, 0x3a, 0x54, 0xe6, 0x38, 0x39,
+	0x26, 0xb9, 0x50, 0xb4, 0x71, 0xbf, 0xf4, 0x89, 0x61, 0xb9, 0x50, 0x2b, 0x60, 0x44, 0x37, 0xe1,
+	0xfa, 0xc8, 0x7f, 0x30, 0x0c, 0x77, 0xbd, 0xe1, 0xc3, 0xf0, 0xcb, 0xe1, 0xc8, 0x77, 0xfb, 0xde,
+	0x23, 0xcf, 0x7d, 0xd8, 0x7c, 0x05, 0x6d, 0x00, 0x04, 0x7e, 0x3f, 0x1c, 0xb9, 0xc1, 0x81, 0x1b,
+	0x34, 0x8d, 0xc2, 0xee, 0x0f, 0x3c, 0x77, 0x38, 0x6e, 0x96, 0xac, 0x3f, 0xcb, 0xf0, 0xda, 0x20,
+	0xe6, 0x42, 0xcb, 0x26, 0x20, 0xdf, 0x1f, 0x13, 0x2e, 0x96, 0x29, 0x78, 0x0f, 0xd6, 0xe6, 0x31,
+	0x79, 0x92, 0xf3, 0xbe, 0xb5, 0x04, 0x82, 0x0b, 0xe5, 0xed, 0x83, 0x98, 0x3c, 0x19, 0x2f, 0x52,
+	0x12, 0xa8, 0x32, 0xe8, 0x16, 0xd4, 0x53, 0x3c, 0x25, 0x21, 0x8f, 0x4f, 0xb4, 0x08, 0x2a, 0x41,
+	0x4d, 0x3a, 0x46, 0xf1, 0x89, 0x7e, 0x4c, 0xf2, 0x52, 0xb0, 0x23, 0x42, 0x95, 0x10, 0xe4, 0x28,
+	0x78, 0x4a, 0xc6, 0xd2, 0x71, 0x4e, 0x27, 0x95, 0xff, 0xab, 0x13, 0x73, 0x75, 0x9d, 0xdc, 0x00,
+	0xf3, 0x71, 0x9c, 0x08, 0x92, 0xb5, 0xaa, 0x6a, 0x98, 0xdc, 0x92, 0xcf, 0x9a, 0x65, 0x11, 0xc9,
+	0xc2, 0xc3, 0x45, 0xab, 0xa6, 0x9f, 0xb5, 0xb2, 0xb7, 0x17, 0xd6, 0x10, 0x6a, 0xc5, 0xca, 0x92,
+	0xab, 0x03, 0xcf, 0xfd, 0x2a, 0x1c, 0x7f, 0xed, 0xbb, 0xe7, 0xb8, 0x6a, 0x40, 0x75, 0xcf, 0x1b,
+	0x7a, 0x7b, 0x0f, 0x06, 0x4d, 0x03, 0xad, 0x43, 0x2d, 0xd8, 0xdf, 0x1f, 0x4b, 0x5e, 0x9b, 0x25,
+	0x69, 0xf5, 0xf7, 0xf7, 0xfc, 0x81, 0x3b, 0x76, 0x9b, 0x65, 0xeb, 0x04, 0xd0, 0x59, 0x50, 0x79,
+	0xca, 0x28, 0x27, 0x2f, 0xf7, 0xe4, 0xd1, 0xbb, 0x70, 0x8d, 0x92, 0x1f, 0x44, 0x78, 0x06, 0x6c,
+	0xad, 0xb9, 0x57, 0xa5, 0xdb, 0x2f, 0x00, 0xb7, 0x76, 0xe1, 0xda, 0x0e, 0xd1, 0xad, 0x57, 0x54,
+	0xcb, 0x8b, 0xff, 0xdf, 0x59, 0x19, 0x20, 0x1f, 0x8b, 0xc9, 0xb7, 0x57, 0x52, 0xdf, 0xe7, 0xcf,
+	0xf7, 0x2c, 0x29, 0xd6, 0xde, 0x59, 0x65, 0x4f, 0x5e, 0x2c, 0xda, 0xfb, 0xab, 0x0c, 0xeb, 0xfa,
+	0x55, 0x92, 0x6c, 0x1e, 0x4f, 0x08, 0xfa, 0xdd, 0x00, 0x38, 0x85, 0x13, 0xdd, 0xbd, 0xaa, 0x9c,
+	0xdb, 0xdd, 0x2b, 0x64, 0x68, 0xae, 0xac, 0xce, 0x4f, 0x7f, 0xff, 0xf3, 0x6b, 0xc9, 0x42, 0x9b,
+	0xf2, 0x03, 0x96, 0xaf, 0xc6, 0x9d, 0xa7, 0xa7, 0x6b, 0x3f, 0x73, 0x72, 0x5e, 0x7e, 0x33, 0xa0,
+	0x56, 0x00, 0x8e, 0xec, 0x25, 0x9d, 0xce, 0x31, 0xd3, 0x5e, 0x49, 0x02, 0xd6, 0x3d, 0x35, 0xcc,
+	0x87, 0xe8, 0x83, 0x65, 0xc3, 0x38, 0x4f, 0x0b, 0x22, 0x9f, 0xa1, 0x9f, 0x0d, 0x68, 0x9c, 0xe1,
+	0x0e, 0x2d, 0x03, 0xe1, 0x22, 0xcf, 0xed, 0x1b, 0x17, 0x9e, 0x9b, 0x2b, 0x3f, 0xb8, 0xd6, 0x5d,
+	0x35, 0xcf, 0xfb, 0xbd, 0xa5, 0xe0, 0xdc, 0xcf, 0x39, 0xdd, 0xfe, 0xc5, 0x80, 0xb7, 0x27, 0x6c,
+	0x76, 0xf9, 0x08, 0xdb, 0xa0, 0xda, 0xfb, 0xb2, 0x99, 0x6f, 0x7c, 0xb3, 0x93, 0x07, 0x4f, 0x59,
+	0x82, 0xe9, 0xd4, 0x66, 0xd9, 0xd4, 0x99, 0x12, 0xaa, 0x46, 0x71, 0xf4, 0x15, 0x4e, 0x63, 0xfe,
+	0x82, 0x1f, 0x1d, 0x9f, 0x9e, 0x5a, 0x7f, 0x94, 0xae, 0xef, 0xe8, 0x4a, 0x7d, 0xe9, 0xd3, 0x98,
+	0xda, 0x07, 0xdd, 0x43, 0x53, 0xd5, 0xba, 0xf7, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0c, 0xd5,
+	0x26, 0xa6, 0xbf, 0x08, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/cloudtrace/v1/trace.proto b/googleapis/devtools/cloudtrace/v1/trace.proto
deleted file mode 100644
index 8b46b294..00000000
--- a/googleapis/devtools/cloudtrace/v1/trace.proto
+++ /dev/null
@@ -1,218 +0,0 @@
-// 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.devtools.cloudtrace.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 = "TraceProto";
-option java_package = "com.google.devtools.cloudtrace.v1";
-
-
-// This file describes an API for collecting and viewing traces and spans
-// within a trace.  A Trace is a collection of spans corresponding to a single
-// operation or set of operations for an application. A span is an individual
-// timed event which forms a node of the trace tree. Spans for a single trace
-// may span multiple services.
-service TraceService {
-  // Returns of a list of traces that match the specified filter conditions.
-  rpc ListTraces(ListTracesRequest) returns (ListTracesResponse) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/traces" };
-  }
-
-  // Gets a single trace by its ID.
-  rpc GetTrace(GetTraceRequest) returns (Trace) {
-    option (google.api.http) = { get: "/v1/projects/{project_id}/traces/{trace_id}" };
-  }
-
-  // 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.
-  rpc PatchTraces(PatchTracesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { patch: "/v1/projects/{project_id}/traces" body: "traces" };
-  }
-}
-
-// A trace describes how long it takes for an application to perform an
-// operation. It consists of a set of spans, each of which represent a single
-// timed event within the operation.
-message Trace {
-  // Project ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // Globally unique identifier for the trace. This identifier is a 128-bit
-  // numeric value formatted as a 32-byte hex string.
-  string trace_id = 2;
-
-  // Collection of spans in the trace.
-  repeated TraceSpan spans = 3;
-}
-
-// List of new or updated traces.
-message Traces {
-  // List of traces.
-  repeated Trace traces = 1;
-}
-
-// A span represents a single timed event within a trace. Spans can be nested
-// and form a trace tree. Often, a trace contains a root span that describes the
-// end-to-end latency of an operation and, optionally, one or more subspans for
-// its suboperations. Spans do not need to be contiguous. There may be gaps
-// between spans in a trace.
-message TraceSpan {
-  // Type of span. Can be used to specify additional relationships between spans
-  // in addition to a parent/child relationship.
-  enum SpanKind {
-    // Unspecified.
-    SPAN_KIND_UNSPECIFIED = 0;
-
-    // Indicates that the span covers server-side handling of an RPC or other
-    // remote network request.
-    RPC_SERVER = 1;
-
-    // Indicates that the span covers the client-side wrapper around an RPC or
-    // other remote request.
-    RPC_CLIENT = 2;
-  }
-
-  // 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,
-  // two spans with the same name may be distinguished using `RPC_CLIENT`
-  // and `RPC_SERVER` to identify queueing latency associated with the span.
-  SpanKind kind = 2;
-
-  // Name of the trace. The trace name is sanitized and displayed in the
-  // 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.
-  google.protobuf.Timestamp start_time = 4;
-
-  // End time of the span in nanoseconds from the UNIX epoch.
-  google.protobuf.Timestamp end_time = 5;
-
-  // ID of the parent span, if any. Optional.
-  fixed64 parent_span_id = 6;
-
-  // Collection of labels associated with the span.
-  map<string, string> labels = 7;
-}
-
-// The request message for the `ListTraces` method. All fields are required
-// unless specified.
-message ListTracesRequest {
-  // Type of data returned for traces in the list.
-  enum ViewType {
-    // Default is `MINIMAL` if unspecified.
-    VIEW_TYPE_UNSPECIFIED = 0;
-
-    // Minimal view of the trace record that contains only the project
-    // and trace IDs.
-    MINIMAL = 1;
-
-    // Root span view of the trace record that returns the root spans along
-    // with the minimal trace data.
-    ROOTSPAN = 2;
-
-    // Complete view of the trace record that contains the actual trace data.
-    // This is equivalent to calling the REST `get` or RPC `GetTrace` method
-    // using the ID of each listed trace.
-    COMPLETE = 3;
-  }
-
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // Type of data returned for traces in the list. Optional. Default is
-  // `MINIMAL`.
-  ViewType view = 2;
-
-  // Maximum number of traces to return. If not specified or <= 0, the
-  // implementation selects a reasonable value.  The implementation may
-  // return fewer traces than the requested page size. Optional.
-  int32 page_size = 3;
-
-  // Token identifying the page of results to return. If provided, use the
-  // value of the `next_page_token` field from a previous request. Optional.
-  string page_token = 4;
-
-  // End of the time interval (inclusive) during which the trace data was
-  // collected from the application.
-  google.protobuf.Timestamp start_time = 5;
-
-  // Start of the time interval (inclusive) during which the trace data was
-  // collected from the application.
-  google.protobuf.Timestamp end_time = 6;
-
-  // An optional filter for the request.
-  string filter = 7;
-
-  // Field used to sort the returned traces. Optional.
-  // Can be one of the following:
-  //
-  // *   `trace_id`
-  // *   `name` (`name` field of root span in the trace)
-  // *   `duration` (difference between `end_time` and `start_time` fields of
-  //      the root span)
-  // *   `start` (`start_time` field of the root span)
-  //
-  // Descending order can be specified by appending `desc` to the sort field
-  // (for example, `name desc`).
-  //
-  // Only one sort field is permitted.
-  string order_by = 8;
-}
-
-// The response message for the `ListTraces` method.
-message ListTracesResponse {
-  // List of trace records returned.
-  repeated Trace traces = 1;
-
-  // If defined, indicates that there are more traces that match the request
-  // and that this value should be passed to the next request to continue
-  // retrieving additional traces.
-  string next_page_token = 2;
-}
-
-// The request message for the `GetTrace` method.
-message GetTraceRequest {
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // ID of the trace to return.
-  string trace_id = 2;
-}
-
-// The request message for the `PatchTraces` method.
-message PatchTracesRequest {
-  // ID of the Cloud project where the trace data is stored.
-  string project_id = 1;
-
-  // The body of the message.
-  Traces traces = 2;
-}
diff --git a/googleapis/devtools/source/v1/source_context.pb.go b/googleapis/devtools/source/v1/source_context.pb.go
index d58f9aad..38b77d45 100644
--- a/googleapis/devtools/source/v1/source_context.pb.go
+++ b/googleapis/devtools/source/v1/source_context.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto
+// source: google/devtools/source/v1/source_context.proto
 // DO NOT EDIT!
 
 /*
-Package google_devtools_source_v1 is a generated protocol buffer package.
+Package source is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto
+	google/devtools/source/v1/source_context.proto
 
 It has these top-level messages:
 	SourceContext
@@ -20,12 +20,12 @@ It has these top-level messages:
 	ProjectRepoId
 	CloudWorkspaceId
 */
-package google_devtools_source_v1 // import "google.golang.org/genproto/googleapis/devtools/source/v1"
+package source
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -300,6 +300,20 @@ func (m *AliasContext) String() string            { return proto.CompactTextStri
 func (*AliasContext) ProtoMessage()               {}
 func (*AliasContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *AliasContext) GetKind() AliasContext_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return AliasContext_ANY
+}
+
+func (m *AliasContext) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A CloudRepoSourceContext denotes a particular revision in a cloud
 // repo (a repo hosted by the Google Cloud Platform).
 type CloudRepoSourceContext struct {
@@ -479,6 +493,13 @@ func (m *CloudWorkspaceSourceContext) GetWorkspaceId() *CloudWorkspaceId {
 	return nil
 }
 
+func (m *CloudWorkspaceSourceContext) GetSnapshotId() string {
+	if m != nil {
+		return m.SnapshotId
+	}
+	return ""
+}
+
 // A SourceContext referring to a Gerrit project.
 type GerritSourceContext struct {
 	// The URI of a running Gerrit instance.
@@ -527,6 +548,20 @@ func (m *GerritSourceContext) GetRevision() isGerritSourceContext_Revision {
 	return nil
 }
 
+func (m *GerritSourceContext) GetHostUri() string {
+	if m != nil {
+		return m.HostUri
+	}
+	return ""
+}
+
+func (m *GerritSourceContext) GetGerritProject() string {
+	if m != nil {
+		return m.GerritProject
+	}
+	return ""
+}
+
 func (m *GerritSourceContext) GetRevisionId() string {
 	if x, ok := m.GetRevision().(*GerritSourceContext_RevisionId); ok {
 		return x.RevisionId
@@ -648,6 +683,20 @@ func (m *GitSourceContext) String() string            { return proto.CompactText
 func (*GitSourceContext) ProtoMessage()               {}
 func (*GitSourceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GitSourceContext) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *GitSourceContext) GetRevisionId() string {
+	if m != nil {
+		return m.RevisionId
+	}
+	return ""
+}
+
 // A unique identifier for a cloud repo.
 type RepoId struct {
 	// A cloud repository can be identified by either its project ID and
@@ -783,6 +832,20 @@ func (m *ProjectRepoId) String() string            { return proto.CompactTextStr
 func (*ProjectRepoId) ProtoMessage()               {}
 func (*ProjectRepoId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ProjectRepoId) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ProjectRepoId) GetRepoName() string {
+	if m != nil {
+		return m.RepoName
+	}
+	return ""
+}
+
 // A CloudWorkspaceId is a unique identifier for a cloud workspace.
 // A cloud workspace is a place associated with a repo where modified files
 // can be stored before they are committed.
@@ -806,6 +869,13 @@ func (m *CloudWorkspaceId) GetRepoId() *RepoId {
 	return nil
 }
 
+func (m *CloudWorkspaceId) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*SourceContext)(nil), "google.devtools.source.v1.SourceContext")
 	proto.RegisterType((*ExtendedSourceContext)(nil), "google.devtools.source.v1.ExtendedSourceContext")
@@ -820,58 +890,56 @@ func init() {
 	proto.RegisterEnum("google.devtools.source.v1.AliasContext_Kind", AliasContext_Kind_name, AliasContext_Kind_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/devtools/source/v1/source_context.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/devtools/source/v1/source_context.proto", fileDescriptor0) }
 
 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,
+	// 758 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xcb, 0x4e, 0xdb, 0x4c,
+	0x14, 0x8e, 0xe3, 0x90, 0xe0, 0x13, 0x02, 0xd1, 0xfc, 0x17, 0x05, 0x28, 0x02, 0x2c, 0x55, 0x45,
+	0xa2, 0x72, 0x44, 0x2a, 0x55, 0x2d, 0xad, 0x44, 0x09, 0x4d, 0x9b, 0x08, 0x1a, 0xd0, 0x94, 0x5e,
+	0x37, 0x91, 0xb1, 0x47, 0xc6, 0xc5, 0x78, 0xac, 0xb1, 0x13, 0xe0, 0x25, 0xba, 0xee, 0xc3, 0xf5,
+	0x11, 0xba, 0xac, 0xd4, 0x6d, 0x35, 0x17, 0x43, 0x12, 0x82, 0x41, 0x6a, 0x57, 0x9e, 0x39, 0xfe,
+	0xbe, 0xef, 0x9c, 0x39, 0x97, 0x19, 0xb0, 0x3c, 0x4a, 0xbd, 0x80, 0xd4, 0x5d, 0x32, 0x48, 0x28,
+	0x0d, 0xe2, 0x7a, 0x4c, 0xfb, 0xcc, 0x21, 0xf5, 0xc1, 0x86, 0x5a, 0xf5, 0x1c, 0x1a, 0x26, 0xe4,
+	0x3c, 0xb1, 0x22, 0x46, 0x13, 0x8a, 0xe6, 0x25, 0xde, 0x4a, 0xf1, 0x96, 0x44, 0x59, 0x83, 0x8d,
+	0x85, 0x7b, 0x4a, 0xca, 0x8e, 0xfc, 0xba, 0x1d, 0x86, 0x34, 0xb1, 0x13, 0x9f, 0x86, 0xb1, 0x24,
+	0x9a, 0xdf, 0xf3, 0x50, 0x79, 0x2b, 0xb0, 0x3b, 0x52, 0x10, 0x61, 0x00, 0x27, 0xa0, 0x7d, 0xb7,
+	0xc7, 0x48, 0x44, 0x6b, 0xda, 0x8a, 0xb6, 0x56, 0x6e, 0x6c, 0x58, 0x37, 0xea, 0x5b, 0x3b, 0x1c,
+	0x8c, 0x49, 0x44, 0x47, 0x64, 0xda, 0x39, 0x6c, 0x38, 0xe9, 0x1f, 0x64, 0xc3, 0x9c, 0xd4, 0x3c,
+	0xa3, 0xec, 0x24, 0x8e, 0x6c, 0x87, 0xd4, 0xf2, 0x42, 0xf8, 0xf1, 0x6d, 0xc2, 0x1f, 0x52, 0xc2,
+	0xb8, 0xfa, 0xac, 0x33, 0xf2, 0x1b, 0xb5, 0xa1, 0xe8, 0x11, 0xc6, 0xfc, 0xa4, 0xa6, 0x0b, 0x65,
+	0x2b, 0x43, 0xf9, 0xb5, 0x00, 0x8e, 0x2b, 0x2a, 0x3e, 0xda, 0x02, 0xdd, 0xf3, 0x93, 0x5a, 0x51,
+	0xc8, 0xac, 0x67, 0xc9, 0x5c, 0xd7, 0xe0, 0xcc, 0xa6, 0x01, 0x25, 0x55, 0x1d, 0xf3, 0x87, 0x06,
+	0xff, 0xb5, 0xce, 0x13, 0x12, 0xba, 0xc4, 0x1d, 0x4d, 0x73, 0xf3, 0x12, 0xa4, 0x72, 0xbc, 0x96,
+	0xe1, 0x69, 0x84, 0x8a, 0x53, 0x22, 0x3a, 0x84, 0x62, 0x60, 0x1f, 0x91, 0x20, 0xae, 0xe5, 0x57,
+	0xf4, 0xb5, 0x72, 0xe3, 0x79, 0x86, 0xc4, 0xc4, 0x28, 0xac, 0x3d, 0x41, 0x6f, 0x85, 0x09, 0xbb,
+	0xc0, 0x4a, 0x6b, 0xe1, 0x29, 0x94, 0x87, 0xcc, 0xa8, 0x0a, 0xfa, 0x09, 0xb9, 0x10, 0x41, 0x1a,
+	0x98, 0x2f, 0xd1, 0xbf, 0x30, 0x35, 0xb0, 0x83, 0xbe, 0xac, 0xa1, 0x81, 0xe5, 0x66, 0x33, 0xff,
+	0x44, 0x33, 0xbf, 0x69, 0x30, 0xb3, 0x1d, 0xf8, 0x76, 0x9c, 0x9e, 0xf2, 0x05, 0x14, 0x4e, 0xfc,
+	0xd0, 0x15, 0xec, 0xd9, 0xc6, 0xc3, 0x8c, 0xf8, 0x86, 0x69, 0xd6, 0xae, 0x1f, 0xba, 0x58, 0x30,
+	0x11, 0x82, 0x42, 0x68, 0x9f, 0xa6, 0xbe, 0xc4, 0xda, 0x6c, 0x40, 0x81, 0x23, 0x50, 0x09, 0xf4,
+	0xed, 0xee, 0xa7, 0x6a, 0x0e, 0x19, 0x30, 0xf5, 0xaa, 0xf3, 0xb1, 0xf5, 0xb2, 0xaa, 0xa1, 0x32,
+	0x94, 0xde, 0xec, 0xbf, 0xdf, 0x6e, 0xee, 0xb5, 0xaa, 0x79, 0x6e, 0xdf, 0x3f, 0x6c, 0xb7, 0x70,
+	0xb5, 0x60, 0xfe, 0xd4, 0xe0, 0xff, 0xc9, 0xad, 0x8a, 0x36, 0xa1, 0xc4, 0x7b, 0xbd, 0xe7, 0xbb,
+	0xaa, 0x14, 0xab, 0x19, 0x71, 0x72, 0x7a, 0xc7, 0xc5, 0x45, 0x26, 0xbe, 0x68, 0x15, 0xca, 0x8c,
+	0x0c, 0xfc, 0xd8, 0xa7, 0x21, 0xe7, 0x8b, 0x28, 0xdb, 0x39, 0x0c, 0xa9, 0xb1, 0xe3, 0xa2, 0x65,
+	0x00, 0x9b, 0x1f, 0xae, 0x27, 0xce, 0xa1, 0x2b, 0x84, 0x21, 0x6c, 0x5d, 0xfb, 0x94, 0xa0, 0x2e,
+	0x54, 0x24, 0x20, 0x6d, 0x88, 0x82, 0x88, 0xe2, 0xc1, 0x1d, 0xb3, 0xd5, 0xce, 0xe1, 0x19, 0x7b,
+	0x68, 0xdf, 0x04, 0x98, 0x4e, 0xdd, 0x9b, 0x5f, 0x35, 0x58, 0xcc, 0x18, 0x24, 0xd4, 0x85, 0x99,
+	0xcb, 0x99, 0xbc, 0x4a, 0xc0, 0xfa, 0x9d, 0xc7, 0xb2, 0xe3, 0xe2, 0xf2, 0xd9, 0xd5, 0x06, 0x2d,
+	0x43, 0x39, 0x0e, 0xed, 0x28, 0x3e, 0xa6, 0xc9, 0x65, 0x3e, 0x30, 0xa4, 0xa6, 0x8e, 0x6b, 0xfe,
+	0xd2, 0xe0, 0x9f, 0x09, 0xf3, 0x87, 0xe6, 0x61, 0xfa, 0x98, 0xc6, 0x49, 0xaf, 0xcf, 0x7c, 0xd5,
+	0x6b, 0x25, 0xbe, 0x7f, 0xc7, 0x7c, 0x74, 0x1f, 0x66, 0xe5, 0x68, 0xf6, 0x22, 0x46, 0xbf, 0x10,
+	0x27, 0x51, 0xb2, 0x15, 0x69, 0x3d, 0x90, 0xc6, 0xf1, 0x52, 0xe8, 0xb7, 0x96, 0xa2, 0x70, 0x87,
+	0x52, 0x4c, 0xfd, 0xbd, 0x52, 0xb4, 0xa0, 0x3a, 0x7e, 0x63, 0xf0, 0xe1, 0xea, 0xb3, 0x20, 0x1d,
+	0xae, 0x3e, 0x0b, 0x78, 0x02, 0xaf, 0x35, 0xd4, 0xf0, 0x19, 0xcc, 0x01, 0x14, 0x65, 0x0f, 0x22,
+	0x0c, 0x73, 0x2a, 0x21, 0xbd, 0xd1, 0xfe, 0xcd, 0xba, 0x4a, 0x54, 0xb6, 0xa4, 0x44, 0x3b, 0x87,
+	0x2b, 0xd1, 0xb0, 0x01, 0x21, 0xd0, 0xfb, 0x43, 0x7d, 0xcc, 0x37, 0xcd, 0x02, 0xe4, 0x7d, 0xd7,
+	0xdc, 0x85, 0xca, 0x08, 0x17, 0x2d, 0x01, 0xa4, 0xee, 0x95, 0x67, 0x03, 0x1b, 0xca, 0xd2, 0x71,
+	0xd1, 0x22, 0x18, 0x22, 0xaa, 0xa1, 0xe9, 0x9d, 0xe6, 0x06, 0x9e, 0x67, 0xf3, 0x08, 0xaa, 0xe3,
+	0x7d, 0xf4, 0x47, 0x63, 0x38, 0xe1, 0x96, 0x68, 0x0e, 0x60, 0xc9, 0xa1, 0xa7, 0x37, 0x6b, 0x34,
+	0xd1, 0x48, 0x2d, 0x0e, 0xf8, 0x7b, 0x78, 0xa0, 0x7d, 0xde, 0x52, 0x04, 0x8f, 0x06, 0x76, 0xe8,
+	0x59, 0x94, 0x79, 0x75, 0x8f, 0x84, 0xe2, 0xb5, 0xac, 0xcb, 0x5f, 0x76, 0xe4, 0xc7, 0x13, 0x5e,
+	0xe6, 0x67, 0x72, 0x75, 0x54, 0x14, 0xd8, 0x47, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xd7, 0xee,
+	0x6b, 0xa8, 0xc4, 0x07, 0x00, 0x00,
 }
diff --git a/googleapis/devtools/source/v1/source_context.proto b/googleapis/devtools/source/v1/source_context.proto
deleted file mode 100644
index f4fcc9bd..00000000
--- a/googleapis/devtools/source/v1/source_context.proto
+++ /dev/null
@@ -1,179 +0,0 @@
-// 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.devtools.source.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 = "SourceContextProto";
-option java_package = "com.google.devtools.source.v1";
-
-
-// A SourceContext is a reference to a tree of files. A SourceContext together
-// with a path point to a unique revision of a single file or directory.
-message SourceContext {
-  // A SourceContext can refer any one of the following types of repositories.
-  oneof context {
-    // A SourceContext referring to a revision in a cloud repo.
-    CloudRepoSourceContext cloud_repo = 1;
-
-    // A SourceContext referring to a snapshot in a cloud workspace.
-    CloudWorkspaceSourceContext cloud_workspace = 2;
-
-    // A SourceContext referring to a Gerrit project.
-    GerritSourceContext gerrit = 3;
-
-    // A SourceContext referring to any third party Git repo (e.g. GitHub).
-    GitSourceContext git = 6;
-  }
-}
-
-// An ExtendedSourceContext is a SourceContext combined with additional
-// details describing the context.
-message ExtendedSourceContext {
-  // Any source context.
-  SourceContext context = 1;
-
-  // Labels with user defined metadata.
-  map<string, string> labels = 2;
-}
-
-// An alias to a repo revision.
-message AliasContext {
-  // The type of an Alias.
-  enum Kind {
-    // Do not use.
-    ANY = 0;
-
-    // Git tag
-    FIXED = 1;
-
-    // Git branch
-    MOVABLE = 2;
-
-    // OTHER is used to specify non-standard aliases, those not of the kinds
-    // above. For example, if a Git repo has a ref named "refs/foo/bar", it
-    // is considered to be of kind OTHER.
-    OTHER = 4;
-  }
-
-  // The alias kind.
-  Kind kind = 1;
-
-  // The alias name.
-  string name = 2;
-}
-
-// A CloudRepoSourceContext denotes a particular revision in a cloud
-// repo (a repo hosted by the Google Cloud Platform).
-message CloudRepoSourceContext {
-  // The ID of the repo.
-  RepoId repo_id = 1;
-
-  // A revision in a cloud repository can be identified by either its revision
-  // ID or its Alias.
-  oneof revision {
-    // A revision ID.
-    string revision_id = 2;
-
-    // The name of an alias (branch, tag, etc.).
-    string alias_name = 3;
-
-    // An alias, which may be a branch or tag.
-    AliasContext alias_context = 4;
-  }
-}
-
-// A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.
-message CloudWorkspaceSourceContext {
-  // The ID of the workspace.
-  CloudWorkspaceId workspace_id = 1;
-
-  // The ID of the snapshot.
-  // An empty snapshot_id refers to the most recent snapshot.
-  string snapshot_id = 2;
-}
-
-// A SourceContext referring to a Gerrit project.
-message GerritSourceContext {
-  // The URI of a running Gerrit instance.
-  string host_uri = 1;
-
-  // The full project name within the host. Projects may be nested, so
-  // "project/subproject" is a valid project name.
-  // The "repo name" is hostURI/project.
-  string gerrit_project = 2;
-
-  // A revision in a Gerrit project can be identified by either its revision ID
-  // or its alias.
-  oneof revision {
-    // A revision (commit) ID.
-    string revision_id = 3;
-
-    // The name of an alias (branch, tag, etc.).
-    string alias_name = 4;
-
-    // An alias, which may be a branch or tag.
-    AliasContext alias_context = 5;
-  }
-}
-
-// A GitSourceContext denotes a particular revision in a third party Git
-// repository (e.g. GitHub).
-message GitSourceContext {
-  // Git repository URL.
-  string url = 1;
-
-  // Git commit hash.
-  // required.
-  string revision_id = 2;
-}
-
-// A unique identifier for a cloud repo.
-message RepoId {
-  // A cloud repository can be identified by either its project ID and
-  // repository name combination, or its globally unique identifier.
-  oneof id {
-    // A combination of a project ID and a repo name.
-    ProjectRepoId project_repo_id = 1;
-
-    // A server-assigned, globally unique identifier.
-    string uid = 2;
-  }
-}
-
-// Selects a repo using a Google Cloud Platform project ID
-// (e.g. winged-cargo-31) and a repo name within that project.
-message ProjectRepoId {
-  // The ID of the project.
-  string project_id = 1;
-
-  // The name of the repo. Leave empty for the default repo.
-  string repo_name = 2;
-}
-
-// A CloudWorkspaceId is a unique identifier for a cloud workspace.
-// A cloud workspace is a place associated with a repo where modified files
-// can be stored before they are committed.
-message CloudWorkspaceId {
-  // The ID of the repo containing the workspace.
-  RepoId repo_id = 1;
-
-  // The unique name of the workspace within the repo.  This is the name
-  // chosen by the client in the Source API's CreateWorkspace method.
-  string name = 2;
-}
diff --git a/googleapis/example/library/v1/library.pb.go b/googleapis/example/library/v1/library.pb.go
index 86a9954c..5cb297be 100644
--- a/googleapis/example/library/v1/library.pb.go
+++ b/googleapis/example/library/v1/library.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/example/library/v1/library.proto
+// source: google/example/library/v1/library.proto
 // DO NOT EDIT!
 
 /*
-Package google_example_library_v1 is a generated protocol buffer package.
+Package library is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/example/library/v1/library.proto
+	google/example/library/v1/library.proto
 
 It has these top-level messages:
 	Book
@@ -25,12 +25,12 @@ It has these top-level messages:
 	DeleteBookRequest
 	MoveBookRequest
 */
-package google_example_library_v1 // import "google.golang.org/genproto/googleapis/example/library/v1"
+package library
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -68,6 +68,34 @@ func (m *Book) String() string            { return proto.CompactTextString(m) }
 func (*Book) ProtoMessage()               {}
 func (*Book) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Book) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Book) GetAuthor() string {
+	if m != nil {
+		return m.Author
+	}
+	return ""
+}
+
+func (m *Book) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Book) GetRead() bool {
+	if m != nil {
+		return m.Read
+	}
+	return false
+}
+
 // A Shelf contains a collection of books with a theme.
 type Shelf struct {
 	// The resource name of the shelf.
@@ -83,6 +111,20 @@ func (m *Shelf) String() string            { return proto.CompactTextString(m) }
 func (*Shelf) ProtoMessage()               {}
 func (*Shelf) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Shelf) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Shelf) GetTheme() string {
+	if m != nil {
+		return m.Theme
+	}
+	return ""
+}
+
 // Request message for LibraryService.CreateShelf.
 type CreateShelfRequest struct {
 	// The shelf to create.
@@ -112,6 +154,13 @@ func (m *GetShelfRequest) String() string            { return proto.CompactTextS
 func (*GetShelfRequest) ProtoMessage()               {}
 func (*GetShelfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *GetShelfRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for LibraryService.ListShelves.
 type ListShelvesRequest struct {
 	// Requested page size. Server may return fewer shelves than requested.
@@ -129,6 +178,20 @@ func (m *ListShelvesRequest) String() string            { return proto.CompactTe
 func (*ListShelvesRequest) ProtoMessage()               {}
 func (*ListShelvesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ListShelvesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListShelvesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for LibraryService.ListShelves.
 type ListShelvesResponse struct {
 	// The list of shelves.
@@ -153,6 +216,13 @@ func (m *ListShelvesResponse) GetShelves() []*Shelf {
 	return nil
 }
 
+func (m *ListShelvesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for LibraryService.DeleteShelf.
 type DeleteShelfRequest struct {
 	// The name of the shelf to delete.
@@ -164,6 +234,13 @@ func (m *DeleteShelfRequest) String() string            { return proto.CompactTe
 func (*DeleteShelfRequest) ProtoMessage()               {}
 func (*DeleteShelfRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *DeleteShelfRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Describes the shelf being removed (other_shelf_name) and updated
 // (name) in this merge.
 type MergeShelvesRequest struct {
@@ -178,6 +255,20 @@ func (m *MergeShelvesRequest) String() string            { return proto.CompactT
 func (*MergeShelvesRequest) ProtoMessage()               {}
 func (*MergeShelvesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *MergeShelvesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MergeShelvesRequest) GetOtherShelfName() string {
+	if m != nil {
+		return m.OtherShelfName
+	}
+	return ""
+}
+
 // Request message for LibraryService.CreateBook.
 type CreateBookRequest struct {
 	// The name of the shelf in which the book is created.
@@ -191,6 +282,13 @@ func (m *CreateBookRequest) String() string            { return proto.CompactTex
 func (*CreateBookRequest) ProtoMessage()               {}
 func (*CreateBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *CreateBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *CreateBookRequest) GetBook() *Book {
 	if m != nil {
 		return m.Book
@@ -209,6 +307,13 @@ func (m *GetBookRequest) String() string            { return proto.CompactTextSt
 func (*GetBookRequest) ProtoMessage()               {}
 func (*GetBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *GetBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request message for LibraryService.ListBooks.
 type ListBooksRequest struct {
 	// The name of the shelf whose books we'd like to list.
@@ -228,6 +333,27 @@ func (m *ListBooksRequest) String() string            { return proto.CompactText
 func (*ListBooksRequest) ProtoMessage()               {}
 func (*ListBooksRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *ListBooksRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListBooksRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListBooksRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response message for LibraryService.ListBooks.
 type ListBooksResponse struct {
 	// The list of books.
@@ -252,6 +378,13 @@ func (m *ListBooksResponse) GetBooks() []*Book {
 	return nil
 }
 
+func (m *ListBooksResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request message for LibraryService.UpdateBook.
 type UpdateBookRequest struct {
 	// The name of the book to update.
@@ -265,6 +398,13 @@ func (m *UpdateBookRequest) String() string            { return proto.CompactTex
 func (*UpdateBookRequest) ProtoMessage()               {}
 func (*UpdateBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *UpdateBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *UpdateBookRequest) GetBook() *Book {
 	if m != nil {
 		return m.Book
@@ -283,6 +423,13 @@ func (m *DeleteBookRequest) String() string            { return proto.CompactTex
 func (*DeleteBookRequest) ProtoMessage()               {}
 func (*DeleteBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *DeleteBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Describes what book to move (name) and what shelf we're moving it
 // to (other_shelf_name).
 type MoveBookRequest struct {
@@ -297,6 +444,20 @@ func (m *MoveBookRequest) String() string            { return proto.CompactTextS
 func (*MoveBookRequest) ProtoMessage()               {}
 func (*MoveBookRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *MoveBookRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *MoveBookRequest) GetOtherShelfName() string {
+	if m != nil {
+		return m.OtherShelfName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Book)(nil), "google.example.library.v1.Book")
 	proto.RegisterType((*Shelf)(nil), "google.example.library.v1.Shelf")
@@ -758,67 +919,64 @@ var _LibraryService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/example/library/v1/library.proto",
+	Metadata: "google/example/library/v1/library.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/example/library/v1/library.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/example/library/v1/library.proto", fileDescriptor0) }
 
 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,
+	// 838 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdb, 0x4e, 0xdb, 0x48,
+	0x18, 0x96, 0x21, 0x81, 0xf0, 0x87, 0x53, 0x06, 0x84, 0xb2, 0x26, 0x2c, 0xd9, 0x11, 0x87, 0x6c,
+	0x96, 0xb5, 0x05, 0x68, 0xf7, 0x22, 0x55, 0xa5, 0x8a, 0xb6, 0xe2, 0x06, 0xda, 0x28, 0x69, 0x6f,
+	0x2a, 0xa4, 0xc8, 0x81, 0xc1, 0xb1, 0x48, 0x3c, 0xc6, 0x36, 0x11, 0x07, 0xf5, 0xa2, 0x95, 0x10,
+	0x52, 0x6f, 0xfb, 0x0a, 0x7d, 0xa3, 0xbe, 0x42, 0x1f, 0xa4, 0x9a, 0x83, 0xc1, 0x24, 0x66, 0x9c,
+	0x5e, 0xf4, 0xce, 0x33, 0xf3, 0xcd, 0xf7, 0x7f, 0xff, 0x61, 0xbe, 0x04, 0x36, 0x6d, 0x4a, 0xed,
+	0x2e, 0x31, 0xc9, 0xa5, 0xd5, 0xf3, 0xba, 0xc4, 0xec, 0x3a, 0x6d, 0xdf, 0xf2, 0xaf, 0xcc, 0xfe,
+	0x76, 0xf4, 0x69, 0x78, 0x3e, 0x0d, 0x29, 0xfa, 0x43, 0x00, 0x0d, 0x09, 0x34, 0xa2, 0xd3, 0xfe,
+	0xb6, 0x5e, 0x92, 0x1c, 0x96, 0xe7, 0x98, 0x96, 0xeb, 0xd2, 0xd0, 0x0a, 0x1d, 0xea, 0x06, 0xe2,
+	0xa2, 0xbe, 0x2c, 0x4f, 0xf9, 0xaa, 0x7d, 0x71, 0x6a, 0x92, 0x9e, 0x17, 0x4a, 0x56, 0x7c, 0x04,
+	0x99, 0x3d, 0x4a, 0xcf, 0x10, 0x82, 0x8c, 0x6b, 0xf5, 0x48, 0x51, 0x2b, 0x6b, 0x95, 0xa9, 0x06,
+	0xff, 0x46, 0x4b, 0x30, 0x61, 0x5d, 0x84, 0x1d, 0xea, 0x17, 0xc7, 0xf8, 0xae, 0x5c, 0xa1, 0x45,
+	0xc8, 0x86, 0x4e, 0xd8, 0x25, 0xc5, 0x71, 0xbe, 0x2d, 0x16, 0x8c, 0xc1, 0x27, 0xd6, 0x49, 0x31,
+	0x53, 0xd6, 0x2a, 0xb9, 0x06, 0xff, 0xc6, 0xdb, 0x90, 0x6d, 0x76, 0x48, 0xf7, 0x34, 0x91, 0x9e,
+	0xd1, 0x74, 0x48, 0x8f, 0x48, 0x76, 0xb1, 0xc0, 0x07, 0x80, 0x5e, 0xfa, 0xc4, 0x0a, 0x09, 0xbf,
+	0xd8, 0x20, 0xe7, 0x17, 0x24, 0x08, 0xd1, 0xff, 0x90, 0x0d, 0xd8, 0x9a, 0x13, 0xe4, 0x77, 0xca,
+	0xc6, 0x93, 0xc5, 0x30, 0xc4, 0x3d, 0x01, 0xc7, 0xeb, 0x30, 0xb7, 0x4f, 0xc2, 0x47, 0x54, 0x09,
+	0x52, 0x70, 0x1d, 0xd0, 0x81, 0x13, 0x70, 0x5c, 0x9f, 0x04, 0x11, 0x72, 0x19, 0xa6, 0x3c, 0xcb,
+	0x26, 0xad, 0xc0, 0xb9, 0x16, 0xf0, 0x6c, 0x23, 0xc7, 0x36, 0x9a, 0xce, 0x35, 0x41, 0x2b, 0x00,
+	0xfc, 0x30, 0xa4, 0x67, 0xc4, 0x95, 0x29, 0x70, 0xf8, 0x3b, 0xb6, 0x81, 0xaf, 0x60, 0xe1, 0x11,
+	0x63, 0xe0, 0x51, 0x37, 0x20, 0xa8, 0x06, 0x93, 0x81, 0xd8, 0x2a, 0x6a, 0xe5, 0xf1, 0x91, 0x32,
+	0x89, 0x2e, 0xa0, 0x0d, 0x98, 0x73, 0xc9, 0x65, 0xd8, 0x1a, 0x0a, 0x3b, 0xc3, 0xb6, 0xeb, 0xf7,
+	0xa1, 0x2b, 0x80, 0x5e, 0x91, 0x2e, 0x19, 0xa8, 0x60, 0x52, 0xda, 0x4d, 0x58, 0x38, 0x24, 0xbe,
+	0x4d, 0x06, 0xf2, 0x4e, 0x6a, 0x56, 0x05, 0xe6, 0x69, 0xd8, 0x21, 0x7e, 0x8b, 0xd7, 0xb5, 0xc5,
+	0xcf, 0x45, 0xf4, 0x59, 0xbe, 0xcf, 0x63, 0xbd, 0x61, 0xa4, 0x47, 0x50, 0x10, 0x0d, 0x64, 0x73,
+	0xa5, 0xa2, 0xdc, 0x85, 0x4c, 0x9b, 0xd2, 0x33, 0x4e, 0x93, 0xdf, 0x59, 0x55, 0x14, 0x82, 0x33,
+	0x71, 0x30, 0x5e, 0x83, 0xd9, 0x7d, 0x12, 0xa6, 0x50, 0xe3, 0x36, 0xcc, 0xb3, 0xea, 0x33, 0x98,
+	0x32, 0xab, 0x47, 0x1d, 0x1e, 0x53, 0x76, 0x78, 0x7c, 0xb0, 0xc3, 0x3e, 0x14, 0x62, 0x31, 0x64,
+	0x7f, 0xff, 0x83, 0x2c, 0x93, 0x19, 0x75, 0x37, 0x35, 0x29, 0x81, 0x1e, 0xb9, 0xb5, 0x47, 0x50,
+	0x78, 0xef, 0x9d, 0xfc, 0xae, 0xda, 0x6e, 0x42, 0x41, 0x0c, 0x4e, 0x5a, 0x79, 0xdf, 0xc2, 0xdc,
+	0x21, 0xed, 0xa7, 0x8a, 0x18, 0x79, 0x66, 0x76, 0xbe, 0xe5, 0x61, 0xf6, 0x40, 0x68, 0x6a, 0x12,
+	0xbf, 0xef, 0x1c, 0x13, 0x74, 0x0d, 0xf9, 0x98, 0x0f, 0xa0, 0x7f, 0x15, 0x29, 0x0c, 0xfb, 0x85,
+	0x9e, 0xfa, 0xac, 0xb0, 0xfe, 0xf9, 0xfb, 0x8f, 0xaf, 0x63, 0x8b, 0x38, 0xcf, 0x9c, 0x56, 0x3e,
+	0xb1, 0x9a, 0x70, 0x0d, 0xd4, 0x87, 0x5c, 0xe4, 0x1a, 0xa8, 0xaa, 0x60, 0x1a, 0xb0, 0x96, 0x11,
+	0xa2, 0x96, 0x78, 0xd4, 0x25, 0xb4, 0xc8, 0xa2, 0xde, 0xb0, 0x8a, 0x3c, 0x97, 0xb1, 0xcd, 0xea,
+	0x47, 0xf4, 0x49, 0x83, 0x7c, 0xcc, 0x35, 0x94, 0x49, 0x0f, 0xfb, 0x95, 0x6e, 0x8c, 0x0a, 0x17,
+	0xc3, 0x8a, 0x17, 0xb8, 0x98, 0x19, 0x14, 0x2f, 0x01, 0xf2, 0x21, 0x1f, 0x73, 0x0f, 0xa5, 0x84,
+	0x61, 0x97, 0xd1, 0x97, 0x22, 0x78, 0xf4, 0x63, 0x63, 0xbc, 0x66, 0x3f, 0x36, 0x51, 0xde, 0xd5,
+	0xe4, 0xbc, 0xef, 0x34, 0x98, 0x8e, 0x1b, 0x11, 0x52, 0x65, 0x92, 0xe0, 0x58, 0x23, 0x14, 0x7e,
+	0x9d, 0x0b, 0x58, 0xc5, 0x7a, 0x92, 0x80, 0x5a, 0x8f, 0x71, 0xd6, 0xb4, 0x2a, 0xba, 0xd5, 0x00,
+	0x1e, 0xdc, 0x0b, 0x6d, 0xa5, 0x4e, 0x5d, 0xec, 0x0d, 0xe8, 0x69, 0xcf, 0x0c, 0x57, 0xb8, 0x08,
+	0x9c, 0x2c, 0xc2, 0xe4, 0x56, 0x50, 0xe3, 0x4f, 0x11, 0xdd, 0xc0, 0xa4, 0xb4, 0x39, 0xf4, 0xb7,
+	0x7a, 0x00, 0x7f, 0x49, 0xc0, 0x1a, 0x17, 0xf0, 0x27, 0x2a, 0x25, 0x08, 0x10, 0xf1, 0x59, 0x3b,
+	0xbe, 0x68, 0x30, 0x75, 0x6f, 0x6d, 0xe8, 0x9f, 0x94, 0xa9, 0x8a, 0x9b, 0xac, 0xbe, 0x35, 0x1a,
+	0x58, 0x0e, 0x20, 0xe6, 0x72, 0x4a, 0x48, 0x51, 0x0f, 0x74, 0x09, 0xf0, 0x60, 0x4a, 0xca, 0x86,
+	0x0c, 0x79, 0xd7, 0x93, 0xd3, 0x28, 0xcb, 0x50, 0x55, 0x97, 0xe1, 0x4e, 0x03, 0x78, 0x70, 0x5b,
+	0x65, 0xe8, 0x21, 0x53, 0x4e, 0x6f, 0x45, 0x95, 0x6b, 0x58, 0xd3, 0x95, 0x1a, 0xe4, 0x34, 0xdc,
+	0x6a, 0x90, 0x8b, 0x0c, 0x57, 0x69, 0x48, 0x03, 0xae, 0x9c, 0xae, 0x62, 0x8b, 0xab, 0xd8, 0xc0,
+	0x7f, 0x29, 0x55, 0xf4, 0x68, 0x9f, 0xbd, 0x8e, 0xbd, 0x73, 0x58, 0x39, 0xa6, 0xbd, 0xa7, 0x39,
+	0xf7, 0xa6, 0xa5, 0x89, 0xd7, 0x59, 0xbd, 0xeb, 0xda, 0x87, 0x17, 0x12, 0x6a, 0xd3, 0xae, 0xe5,
+	0xda, 0x06, 0xf5, 0x6d, 0xd3, 0x26, 0x2e, 0xef, 0x86, 0x29, 0x8e, 0x2c, 0xcf, 0x09, 0x12, 0xfe,
+	0xfb, 0x3e, 0x93, 0x9f, 0xed, 0x09, 0x0e, 0xde, 0xfd, 0x19, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x13,
+	0xc5, 0x7e, 0x27, 0x0b, 0x00, 0x00,
 }
diff --git a/googleapis/example/library/v1/library.proto b/googleapis/example/library/v1/library.proto
deleted file mode 100644
index 7daa52bd..00000000
--- a/googleapis/example/library/v1/library.proto
+++ /dev/null
@@ -1,253 +0,0 @@
-// Copyright (c) 2015, 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.example.library.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
-
-option java_multiple_files = true;
-option java_outer_classname = "LibraryProto";
-option java_package = "com.google.example.library.v1";
-
-
-// This API represents a simple digital library.  It lets you manage Shelf
-// resources and Book resources in the library. It defines the following
-// resource model:
-//
-// - The API has a collection of [Shelf][google.example.library.v1.Shelf]
-//   resources, named `shelves/*`
-//
-// - Each Shelf has a collection of [Book][google.example.library.v1.Book]
-//   resources, named `shelves/*/books/*`
-service LibraryService {
-  // Creates a shelf, and returns the new Shelf.
-  rpc CreateShelf(CreateShelfRequest) returns (Shelf) {
-    option (google.api.http) = { post: "/v1/shelves" body: "shelf" };
-  }
-
-  // Gets a shelf. Returns NOT_FOUND if the shelf does not exist.
-  rpc GetShelf(GetShelfRequest) returns (Shelf) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*}" };
-  }
-
-  // Lists shelves. The order is unspecified but deterministic. Newly created
-  // shelves will not necessarily be added to the end of this list.
-  rpc ListShelves(ListShelvesRequest) returns (ListShelvesResponse) {
-    option (google.api.http) = { get: "/v1/shelves" };
-  }
-
-  // Deletes a shelf. Returns NOT_FOUND if the shelf does not exist.
-  rpc DeleteShelf(DeleteShelfRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=shelves/*}" };
-  }
-
-  // Merges two shelves by adding all books from the shelf named
-  // `other_shelf_name` to shelf `name`, and deletes
-  // `other_shelf_name`. Returns the updated shelf.
-  // The book ids of the moved books may not be the same as the original books.
-  //
-  // Returns NOT_FOUND if either shelf does not exist.
-  // This call is a no-op if the specified shelves are the same.
-  rpc MergeShelves(MergeShelvesRequest) returns (Shelf) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*}:merge" body: "*" };
-  }
-
-  // Creates a book, and returns the new Book.
-  rpc CreateBook(CreateBookRequest) returns (Book) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*}/books" body: "book" };
-  }
-
-  // Gets a book. Returns NOT_FOUND if the book does not exist.
-  rpc GetBook(GetBookRequest) returns (Book) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*/books/*}" };
-  }
-
-  // Lists books in a shelf. The order is unspecified but deterministic. Newly
-  // created books will not necessarily be added to the end of this list.
-  // Returns NOT_FOUND if the shelf does not exist.
-  rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) {
-    option (google.api.http) = { get: "/v1/{name=shelves/*}/books" };
-  }
-
-  // Deletes a book. Returns NOT_FOUND if the book does not exist.
-  rpc DeleteBook(DeleteBookRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{name=shelves/*/books/*}" };
-  }
-
-  // Updates a book. Returns INVALID_ARGUMENT if the name of the book
-  // is non-empty and does equal the previous name.
-  rpc UpdateBook(UpdateBookRequest) returns (Book) {
-    option (google.api.http) = { put: "/v1/{name=shelves/*/books/*}" body: "book" };
-  }
-
-  // Moves a book to another shelf, and returns the new book. The book
-  // id of the new book may not be the same as the original book.
-  rpc MoveBook(MoveBookRequest) returns (Book) {
-    option (google.api.http) = { post: "/v1/{name=shelves/*/books/*}:move" body: "*" };
-  }
-}
-
-// A single book in the library.
-message Book {
-  // The resource name of the book.
-  // Book names have the form `shelves/{shelf_id}/books/{book_id}`.
-  // The name is ignored when creating a book.
-  string name = 1;
-
-  // The name of the book author.
-  string author = 2;
-
-  // The title of the book.
-  string title = 3;
-
-  // Value indicating whether the book has been read.
-  bool read = 4;
-}
-
-// A Shelf contains a collection of books with a theme.
-message Shelf {
-  // The resource name of the shelf.
-  // Shelf names have the form `shelves/{shelf_id}`.
-  // The name is ignored when creating a shelf.
-  string name = 1;
-
-  // The theme of the shelf
-  string theme = 2;
-}
-
-// Request message for LibraryService.CreateShelf.
-message CreateShelfRequest {
-  // The shelf to create.
-  Shelf shelf = 1;
-}
-
-// Request message for LibraryService.GetShelf.
-message GetShelfRequest {
-  // The name of the shelf to retrieve.
-  string name = 1;
-}
-
-// Request message for LibraryService.ListShelves.
-message ListShelvesRequest {
-  // Requested page size. Server may return fewer shelves than requested.
-  // If unspecified, server will pick an appropriate default.
-  int32 page_size = 1;
-
-  // A token identifying a page of results the server should return.
-  // Typically, this is the value of
-  // [ListShelvesResponse.next_page_token][google.example.library.v1.ListShelvesResponse.next_page_token]
-  // returned from the previous call to `ListShelves` method.
-  string page_token = 2;
-}
-
-// Response message for LibraryService.ListShelves.
-message ListShelvesResponse {
-  // The list of shelves.
-  repeated Shelf shelves = 1;
-
-  // A token to retrieve next page of results.
-  // Pass this value in the
-  // [ListShelvesRequest.page_token][google.example.library.v1.ListShelvesRequest.page_token]
-  // field in the subsequent call to `ListShelves` method to retrieve the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for LibraryService.DeleteShelf.
-message DeleteShelfRequest {
-  // The name of the shelf to delete.
-  string name = 1;
-}
-
-// Describes the shelf being removed (other_shelf_name) and updated
-// (name) in this merge.
-message MergeShelvesRequest {
-  // The name of the shelf we're adding books to.
-  string name = 1;
-
-  // The name of the shelf we're removing books from and deleting.
-  string other_shelf_name = 2;
-}
-
-// Request message for LibraryService.CreateBook.
-message CreateBookRequest {
-  // The name of the shelf in which the book is created.
-  string name = 1;
-
-  // The book to create.
-  Book book = 2;
-}
-
-// Request message for LibraryService.GetBook.
-message GetBookRequest {
-  // The name of the book to retrieve.
-  string name = 1;
-}
-
-// Request message for LibraryService.ListBooks.
-message ListBooksRequest {
-  // The name of the shelf whose books we'd like to list.
-  string name = 1;
-
-  // Requested page size. Server may return fewer books than requested.
-  // If unspecified, server will pick an appropriate default.
-  int32 page_size = 2;
-
-  // A token identifying a page of results the server should return.
-  // Typically, this is the value of
-  // [ListBooksResponse.next_page_token][google.example.library.v1.ListBooksResponse.next_page_token].
-  // returned from the previous call to `ListBooks` method.
-  string page_token = 3;
-}
-
-// Response message for LibraryService.ListBooks.
-message ListBooksResponse {
-  // The list of books.
-  repeated Book books = 1;
-
-  // A token to retrieve next page of results.
-  // Pass this value in the
-  // [ListBooksRequest.page_token][google.example.library.v1.ListBooksRequest.page_token]
-  // field in the subsequent call to `ListBooks` method to retrieve the next
-  // page of results.
-  string next_page_token = 2;
-}
-
-// Request message for LibraryService.UpdateBook.
-message UpdateBookRequest {
-  // The name of the book to update.
-  string name = 1;
-
-  // The book to update with. The name must match or be empty.
-  Book book = 2;
-}
-
-// Request message for LibraryService.DeleteBook.
-message DeleteBookRequest {
-  // The name of the book to delete.
-  string name = 1;
-}
-
-// Describes what book to move (name) and what shelf we're moving it
-// to (other_shelf_name).
-message MoveBookRequest {
-  // The name of the book to move.
-  string name = 1;
-
-  // The name of the destination shelf.
-  string other_shelf_name = 2;
-}
diff --git a/googleapis/genomics/v1/annotations.pb.go b/googleapis/genomics/v1/annotations.pb.go
index 6ca6b415..eeee219f 100644
--- a/googleapis/genomics/v1/annotations.pb.go
+++ b/googleapis/genomics/v1/annotations.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/annotations.proto
+// source: google/genomics/v1/annotations.proto
 // DO NOT EDIT!
 
 /*
-Package google_genomics_v1 is a generated protocol buffer package.
+Package genomics is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/genomics/v1/annotations.proto
-	google.golang.org/genproto/googleapis/genomics/v1/cigar.proto
-	google.golang.org/genproto/googleapis/genomics/v1/datasets.proto
-	google.golang.org/genproto/googleapis/genomics/v1/operations.proto
-	google.golang.org/genproto/googleapis/genomics/v1/position.proto
-	google.golang.org/genproto/googleapis/genomics/v1/range.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto
-	google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto
-	google.golang.org/genproto/googleapis/genomics/v1/reads.proto
-	google.golang.org/genproto/googleapis/genomics/v1/references.proto
-	google.golang.org/genproto/googleapis/genomics/v1/variants.proto
+	google/genomics/v1/annotations.proto
+	google/genomics/v1/cigar.proto
+	google/genomics/v1/datasets.proto
+	google/genomics/v1/operations.proto
+	google/genomics/v1/position.proto
+	google/genomics/v1/range.proto
+	google/genomics/v1/readalignment.proto
+	google/genomics/v1/readgroup.proto
+	google/genomics/v1/readgroupset.proto
+	google/genomics/v1/reads.proto
+	google/genomics/v1/references.proto
+	google/genomics/v1/variants.proto
 
 It has these top-level messages:
 	AnnotationSet
@@ -112,14 +112,14 @@ It has these top-level messages:
 	StreamVariantsRequest
 	StreamVariantsResponse
 */
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/wrappers"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -386,6 +386,48 @@ func (m *AnnotationSet) String() string            { return proto.CompactTextStr
 func (*AnnotationSet) ProtoMessage()               {}
 func (*AnnotationSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *AnnotationSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *AnnotationSet) GetType() AnnotationType {
+	if m != nil {
+		return m.Type
+	}
+	return AnnotationType_ANNOTATION_TYPE_UNSPECIFIED
+}
+
 func (m *AnnotationSet) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -457,6 +499,69 @@ func (m *Annotation) GetValue() isAnnotation_Value {
 	return nil
 }
 
+func (m *Annotation) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Annotation) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
+func (m *Annotation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Annotation) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
+func (m *Annotation) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Annotation) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Annotation) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *Annotation) GetReverseStrand() bool {
+	if m != nil {
+		return m.ReverseStrand
+	}
+	return false
+}
+
+func (m *Annotation) GetType() AnnotationType {
+	if m != nil {
+		return m.Type
+	}
+	return AnnotationType_ANNOTATION_TYPE_UNSPECIFIED
+}
+
 func (m *Annotation) GetVariant() *VariantAnnotation {
 	if x, ok := m.GetValue().(*Annotation_Variant); ok {
 		return x.Variant
@@ -582,6 +687,41 @@ func (m *VariantAnnotation) String() string            { return proto.CompactTex
 func (*VariantAnnotation) ProtoMessage()               {}
 func (*VariantAnnotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *VariantAnnotation) GetType() VariantAnnotation_Type {
+	if m != nil {
+		return m.Type
+	}
+	return VariantAnnotation_TYPE_UNSPECIFIED
+}
+
+func (m *VariantAnnotation) GetEffect() VariantAnnotation_Effect {
+	if m != nil {
+		return m.Effect
+	}
+	return VariantAnnotation_EFFECT_UNSPECIFIED
+}
+
+func (m *VariantAnnotation) GetAlternateBases() string {
+	if m != nil {
+		return m.AlternateBases
+	}
+	return ""
+}
+
+func (m *VariantAnnotation) GetGeneId() string {
+	if m != nil {
+		return m.GeneId
+	}
+	return ""
+}
+
+func (m *VariantAnnotation) GetTranscriptIds() []string {
+	if m != nil {
+		return m.TranscriptIds
+	}
+	return nil
+}
+
 func (m *VariantAnnotation) GetConditions() []*VariantAnnotation_ClinicalCondition {
 	if m != nil {
 		return m.Conditions
@@ -589,6 +729,13 @@ func (m *VariantAnnotation) GetConditions() []*VariantAnnotation_ClinicalConditi
 	return nil
 }
 
+func (m *VariantAnnotation) GetClinicalSignificance() VariantAnnotation_ClinicalSignificance {
+	if m != nil {
+		return m.ClinicalSignificance
+	}
+	return VariantAnnotation_CLINICAL_SIGNIFICANCE_UNSPECIFIED
+}
+
 type VariantAnnotation_ClinicalCondition struct {
 	// A set of names for the condition.
 	Names []string `protobuf:"bytes,1,rep,name=names" json:"names,omitempty"`
@@ -609,6 +756,13 @@ func (*VariantAnnotation_ClinicalCondition) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{2, 0}
 }
 
+func (m *VariantAnnotation_ClinicalCondition) GetNames() []string {
+	if m != nil {
+		return m.Names
+	}
+	return nil
+}
+
 func (m *VariantAnnotation_ClinicalCondition) GetExternalIds() []*ExternalId {
 	if m != nil {
 		return m.ExternalIds
@@ -616,6 +770,20 @@ func (m *VariantAnnotation_ClinicalCondition) GetExternalIds() []*ExternalId {
 	return nil
 }
 
+func (m *VariantAnnotation_ClinicalCondition) GetConceptId() string {
+	if m != nil {
+		return m.ConceptId
+	}
+	return ""
+}
+
+func (m *VariantAnnotation_ClinicalCondition) GetOmimId() string {
+	if m != nil {
+		return m.OmimId
+	}
+	return ""
+}
+
 // A transcript represents the assertion that a particular region of the
 // reference genome may be transcribed as RNA.
 type Transcript struct {
@@ -657,6 +825,13 @@ func (m *Transcript) String() string            { return proto.CompactTextString
 func (*Transcript) ProtoMessage()               {}
 func (*Transcript) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *Transcript) GetGeneId() string {
+	if m != nil {
+		return m.GeneId
+	}
+	return ""
+}
+
 func (m *Transcript) GetExons() []*Transcript_Exon {
 	if m != nil {
 		return m.Exons
@@ -701,6 +876,20 @@ func (m *Transcript_Exon) String() string            { return proto.CompactTextS
 func (*Transcript_Exon) ProtoMessage()               {}
 func (*Transcript_Exon) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
 
+func (m *Transcript_Exon) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Transcript_Exon) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 func (m *Transcript_Exon) GetFrame() *google_protobuf4.Int32Value {
 	if m != nil {
 		return m.Frame
@@ -724,6 +913,20 @@ func (m *Transcript_CodingSequence) String() string            { return proto.Co
 func (*Transcript_CodingSequence) ProtoMessage()               {}
 func (*Transcript_CodingSequence) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 1} }
 
+func (m *Transcript_CodingSequence) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Transcript_CodingSequence) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 type ExternalId struct {
 	// The name of the source of this data.
 	SourceName string `protobuf:"bytes,1,opt,name=source_name,json=sourceName" json:"source_name,omitempty"`
@@ -736,6 +939,20 @@ func (m *ExternalId) String() string            { return proto.CompactTextString
 func (*ExternalId) ProtoMessage()               {}
 func (*ExternalId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ExternalId) GetSourceName() string {
+	if m != nil {
+		return m.SourceName
+	}
+	return ""
+}
+
+func (m *ExternalId) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
 type CreateAnnotationSetRequest struct {
 	// The annotation set to create.
 	AnnotationSet *AnnotationSet `protobuf:"bytes,1,opt,name=annotation_set,json=annotationSet" json:"annotation_set,omitempty"`
@@ -763,6 +980,13 @@ func (m *GetAnnotationSetRequest) String() string            { return proto.Comp
 func (*GetAnnotationSetRequest) ProtoMessage()               {}
 func (*GetAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 type UpdateAnnotationSetRequest struct {
 	// The ID of the annotation set to be updated.
 	AnnotationSetId string `protobuf:"bytes,1,opt,name=annotation_set_id,json=annotationSetId" json:"annotation_set_id,omitempty"`
@@ -781,6 +1005,13 @@ func (m *UpdateAnnotationSetRequest) String() string            { return proto.C
 func (*UpdateAnnotationSetRequest) ProtoMessage()               {}
 func (*UpdateAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *UpdateAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 func (m *UpdateAnnotationSetRequest) GetAnnotationSet() *AnnotationSet {
 	if m != nil {
 		return m.AnnotationSet
@@ -805,6 +1036,13 @@ func (m *DeleteAnnotationSetRequest) String() string            { return proto.C
 func (*DeleteAnnotationSetRequest) ProtoMessage()               {}
 func (*DeleteAnnotationSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *DeleteAnnotationSetRequest) GetAnnotationSetId() string {
+	if m != nil {
+		return m.AnnotationSetId
+	}
+	return ""
+}
+
 type SearchAnnotationSetsRequest struct {
 	// Required. The dataset IDs to search within. Caller must have `READ` access
 	// to these datasets.
@@ -832,6 +1070,48 @@ func (m *SearchAnnotationSetsRequest) String() string            { return proto.
 func (*SearchAnnotationSetsRequest) ProtoMessage()               {}
 func (*SearchAnnotationSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *SearchAnnotationSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchAnnotationSetsRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetTypes() []AnnotationType {
+	if m != nil {
+		return m.Types
+	}
+	return nil
+}
+
+func (m *SearchAnnotationSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchAnnotationSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchAnnotationSetsResponse struct {
 	// The matching annotation sets.
 	AnnotationSets []*AnnotationSet `protobuf:"bytes,1,rep,name=annotation_sets,json=annotationSets" json:"annotation_sets,omitempty"`
@@ -853,6 +1133,13 @@ func (m *SearchAnnotationSetsResponse) GetAnnotationSets() []*AnnotationSet {
 	return nil
 }
 
+func (m *SearchAnnotationSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateAnnotationRequest struct {
 	// The annotation to be created.
 	Annotation *Annotation `protobuf:"bytes,1,opt,name=annotation" json:"annotation,omitempty"`
@@ -896,6 +1183,13 @@ func (m *BatchCreateAnnotationsRequest) GetAnnotations() []*Annotation {
 	return nil
 }
 
+func (m *BatchCreateAnnotationsRequest) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
 type BatchCreateAnnotationsResponse struct {
 	// The resulting per-annotation entries, ordered consistently with the
 	// original request.
@@ -952,6 +1246,13 @@ func (m *GetAnnotationRequest) String() string            { return proto.Compact
 func (*GetAnnotationRequest) ProtoMessage()               {}
 func (*GetAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *GetAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 type UpdateAnnotationRequest struct {
 	// The ID of the annotation to be updated.
 	AnnotationId string `protobuf:"bytes,1,opt,name=annotation_id,json=annotationId" json:"annotation_id,omitempty"`
@@ -971,6 +1272,13 @@ func (m *UpdateAnnotationRequest) String() string            { return proto.Comp
 func (*UpdateAnnotationRequest) ProtoMessage()               {}
 func (*UpdateAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *UpdateAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 func (m *UpdateAnnotationRequest) GetAnnotation() *Annotation {
 	if m != nil {
 		return m.Annotation
@@ -995,6 +1303,13 @@ func (m *DeleteAnnotationRequest) String() string            { return proto.Comp
 func (*DeleteAnnotationRequest) ProtoMessage()               {}
 func (*DeleteAnnotationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteAnnotationRequest) GetAnnotationId() string {
+	if m != nil {
+		return m.AnnotationId
+	}
+	return ""
+}
+
 type SearchAnnotationsRequest struct {
 	// Required. The annotation sets to search within. The caller must have
 	// `READ` access to these annotation sets.
@@ -1052,6 +1367,13 @@ func (m *SearchAnnotationsRequest) GetReference() isSearchAnnotationsRequest_Ref
 	return nil
 }
 
+func (m *SearchAnnotationsRequest) GetAnnotationSetIds() []string {
+	if m != nil {
+		return m.AnnotationSetIds
+	}
+	return nil
+}
+
 func (m *SearchAnnotationsRequest) GetReferenceId() string {
 	if x, ok := m.GetReference().(*SearchAnnotationsRequest_ReferenceId); ok {
 		return x.ReferenceId
@@ -1066,6 +1388,34 @@ func (m *SearchAnnotationsRequest) GetReferenceName() string {
 	return ""
 }
 
+func (m *SearchAnnotationsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchAnnotationsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchAnnotationsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchAnnotationsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*SearchAnnotationsRequest) 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 _SearchAnnotationsRequest_OneofMarshaler, _SearchAnnotationsRequest_OneofUnmarshaler, _SearchAnnotationsRequest_OneofSizer, []interface{}{
@@ -1153,6 +1503,13 @@ func (m *SearchAnnotationsResponse) GetAnnotations() []*Annotation {
 	return nil
 }
 
+func (m *SearchAnnotationsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*AnnotationSet)(nil), "google.genomics.v1.AnnotationSet")
 	proto.RegisterType((*Annotation)(nil), "google.genomics.v1.Annotation")
@@ -1724,152 +2081,148 @@ var _AnnotationServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/annotations.proto",
+	Metadata: "google/genomics/v1/annotations.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/annotations.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/genomics/v1/annotations.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2215 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0xcd, 0x6f, 0xdb, 0xc8,
-	0x15, 0x0f, 0xf5, 0x69, 0x3f, 0xd9, 0x32, 0x3d, 0xf1, 0xda, 0x5a, 0xb9, 0x9b, 0x38, 0xcc, 0x26,
-	0x31, 0xdc, 0x44, 0xda, 0x28, 0xfd, 0xc8, 0x66, 0xbb, 0xe9, 0xca, 0x34, 0x6d, 0x4f, 0x57, 0xa6,
-	0x04, 0x92, 0x72, 0xe1, 0x13, 0x41, 0x53, 0x23, 0x85, 0x88, 0x4d, 0xaa, 0x24, 0xed, 0xc6, 0x5b,
-	0x2c, 0xb0, 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, 0xce, 0x7b, 0xf3, 0x9b, 0xdf, 0xbc, 0x4f,
-	0x81, 0xd8, 0x73, 0x9c, 0xde, 0x19, 0xa9, 0xf4, 0x9c, 0x33, 0xc3, 0xee, 0x55, 0x1c, 0xb7, 0x57,
-	0xed, 0x11, 0xbb, 0xef, 0x3a, 0xbe, 0x53, 0x0d, 0x3e, 0x19, 0x7d, 0xcb, 0xa3, 0x32, 0xe7, 0xdc,
-	0x32, 0xbd, 0xea, 0xe5, 0xd3, 0xaa, 0x61, 0xdb, 0x8e, 0x6f, 0xf8, 0x96, 0x63, 0x7b, 0x15, 0xb6,
-	0x10, 0xa1, 0x81, 0x91, 0x70, 0x55, 0xe5, 0xf2, 0x69, 0x19, 0xcf, 0x67, 0xd8, 0xe8, 0x5b, 0x55,
-	0x8f, 0xb8, 0x97, 0x96, 0x49, 0x4c, 0xc7, 0xee, 0x5a, 0xbd, 0x49, 0xf3, 0xe5, 0x67, 0x3d, 0xcb,
-	0x7f, 0x75, 0x71, 0x5a, 0x31, 0x9d, 0xf3, 0x6a, 0x60, 0xae, 0xca, 0x3e, 0x9c, 0x5e, 0x74, 0xab,
-	0x7d, 0xff, 0xaa, 0x4f, 0xbc, 0x2a, 0x39, 0xef, 0xfb, 0x57, 0xc1, 0xdf, 0x50, 0xe9, 0x07, 0xd7,
-	0xec, 0x3f, 0xd4, 0xee, 0x5a, 0xe4, 0xac, 0xa3, 0x9f, 0x1b, 0xde, 0xeb, 0x50, 0xeb, 0x87, 0xb3,
-	0xb7, 0xf2, 0x7c, 0xf7, 0xc2, 0xf4, 0xc3, 0x7f, 0xa1, 0xda, 0x87, 0xb3, 0xd5, 0x7e, 0xe9, 0x1a,
-	0xfd, 0x3e, 0x71, 0x47, 0x0f, 0xa1, 0xea, 0xc7, 0xf3, 0xf1, 0xe4, 0xf6, 0xcd, 0xaa, 0xe7, 0x1b,
-	0xfe, 0x85, 0x17, 0xfe, 0x0b, 0xd4, 0x85, 0xef, 0x52, 0xb0, 0x5c, 0x1f, 0x32, 0xa6, 0x12, 0x1f,
-	0x15, 0x21, 0x65, 0x75, 0x4a, 0xdc, 0x16, 0xb7, 0xbd, 0xa8, 0xa4, 0xac, 0x0e, 0x7a, 0x0f, 0xa0,
-	0x63, 0xf8, 0x86, 0x47, 0x7c, 0xdd, 0xea, 0x94, 0x52, 0x4c, 0xbe, 0x18, 0x4a, 0x70, 0x07, 0x6d,
-	0x03, 0xef, 0x92, 0x2e, 0x71, 0x89, 0x6d, 0x12, 0x3d, 0x5c, 0x94, 0x66, 0x8b, 0x8a, 0x43, 0xb9,
-	0xca, 0x56, 0x22, 0xc8, 0xd8, 0xc6, 0x39, 0x29, 0x65, 0xd8, 0x57, 0xf6, 0x4c, 0x8d, 0x7b, 0xce,
-	0x85, 0x6b, 0x12, 0xfd, 0xc2, 0xb5, 0x4a, 0xd9, 0xc0, 0x78, 0x20, 0x69, 0xbb, 0x16, 0xfa, 0x11,
-	0x64, 0xe8, 0xe9, 0x4b, 0xb9, 0x2d, 0x6e, 0xbb, 0x58, 0x13, 0x2a, 0x93, 0x7e, 0x52, 0x19, 0x81,
-	0xd7, 0xae, 0xfa, 0x44, 0x61, 0xeb, 0xd1, 0x4f, 0x21, 0x63, 0xd9, 0x5d, 0xa7, 0xb4, 0xba, 0x95,
-	0xde, 0x2e, 0xd4, 0xbe, 0x7f, 0xbd, 0x9e, 0x4a, 0xfc, 0x0a, 0xb6, 0xbb, 0x8e, 0x64, 0xfb, 0xee,
-	0x95, 0xc2, 0x14, 0xcb, 0x2a, 0x2c, 0x0e, 0x45, 0x88, 0x87, 0xf4, 0x6b, 0x72, 0x15, 0x52, 0x42,
-	0x1f, 0xd1, 0x07, 0x90, 0xbd, 0x34, 0xce, 0x2e, 0x08, 0xa3, 0xa3, 0x50, 0x2b, 0x0f, 0x36, 0x18,
-	0x5c, 0x5a, 0xa5, 0x61, 0x79, 0xfe, 0x31, 0x5d, 0xa1, 0x04, 0x0b, 0x5f, 0xa4, 0x9e, 0x73, 0xc2,
-	0x5f, 0x33, 0x00, 0xa3, 0x6d, 0x27, 0x88, 0xde, 0x81, 0xd5, 0x91, 0xef, 0xea, 0x63, 0x7c, 0xaf,
-	0x18, 0x51, 0xb4, 0x11, 0x2e, 0xd3, 0x11, 0x2e, 0xef, 0xc1, 0xd2, 0xe8, 0x26, 0xac, 0x4e, 0xc8,
-	0x73, 0x61, 0x28, 0xc3, 0x1d, 0xf4, 0x00, 0x46, 0x97, 0xa2, 0x33, 0x03, 0x01, 0xe5, 0xcb, 0x43,
-	0xa9, 0x4c, 0x2d, 0xad, 0x41, 0xd6, 0xf3, 0x0d, 0xd7, 0x67, 0xbc, 0xa7, 0x95, 0xe0, 0x85, 0xd2,
-	0x40, 0xec, 0x4e, 0x29, 0xcf, 0x64, 0xf4, 0x31, 0x30, 0x77, 0x49, 0x5c, 0x8f, 0xe8, 0x9e, 0xef,
-	0x1a, 0x76, 0xa7, 0xb4, 0xb0, 0xc5, 0x6d, 0x2f, 0x50, 0x73, 0x4c, 0xaa, 0x32, 0xe1, 0xf0, 0x16,
-	0x17, 0x6f, 0x78, 0x8b, 0x75, 0xc8, 0x5f, 0x1a, 0xae, 0x65, 0xd8, 0x7e, 0x09, 0x18, 0xcf, 0x0f,
-	0x92, 0x54, 0x8f, 0x83, 0x25, 0x23, 0x0b, 0x87, 0xb7, 0x94, 0x81, 0x1e, 0xfa, 0x04, 0x80, 0x62,
-	0xf0, 0x4c, 0xd7, 0xea, 0xfb, 0xa5, 0x02, 0xb3, 0x72, 0x27, 0xc9, 0x8a, 0x36, 0x5c, 0x75, 0x78,
-	0x4b, 0x89, 0xe8, 0xa0, 0x9f, 0x84, 0xae, 0xb4, 0xc4, 0x5c, 0x69, 0xfb, 0x7a, 0xf0, 0xff, 0x17,
-	0x3f, 0xda, 0xcd, 0x87, 0x5a, 0xc2, 0x7f, 0x16, 0x61, 0x75, 0xe2, 0xf8, 0xe8, 0x65, 0x48, 0x37,
-	0xc7, 0xe8, 0xde, 0x99, 0x8b, 0xb3, 0x4a, 0x84, 0xf6, 0x3d, 0xc8, 0x91, 0x6e, 0x97, 0x98, 0x3e,
-	0x43, 0x55, 0xac, 0x3d, 0x9e, 0xcf, 0x82, 0xc4, 0x74, 0x94, 0x50, 0x17, 0x3d, 0x82, 0x15, 0xe3,
-	0xcc, 0x27, 0xae, 0x6d, 0xf8, 0x44, 0x3f, 0x35, 0x3c, 0xe2, 0x0d, 0xd2, 0xc2, 0x50, 0xbc, 0x4b,
-	0xa5, 0x68, 0x03, 0xf2, 0x3d, 0x62, 0x47, 0x3c, 0x36, 0x47, 0x5f, 0x03, 0x67, 0x1d, 0xdd, 0x83,
-	0x6e, 0x75, 0xbc, 0x52, 0x76, 0x2b, 0x4d, 0x9d, 0x75, 0x24, 0xc5, 0x1d, 0x0f, 0xfd, 0x1c, 0xc0,
-	0x74, 0xec, 0x8e, 0xc5, 0x32, 0x7e, 0x29, 0xc7, 0xae, 0xe9, 0xc7, 0xf3, 0x41, 0x16, 0xcf, 0x2c,
-	0xdb, 0x32, 0x8d, 0x33, 0x71, 0xa0, 0xaf, 0x44, 0x4c, 0x21, 0x07, 0xde, 0x31, 0xc3, 0x05, 0xba,
-	0x67, 0xf5, 0x6c, 0xab, 0x6b, 0x99, 0x86, 0x6d, 0x12, 0x16, 0x01, 0xc5, 0xda, 0x8b, 0x9b, 0xed,
-	0xa1, 0x46, 0x2c, 0x28, 0x6b, 0x66, 0x82, 0xb4, 0xfc, 0x7b, 0x0e, 0x56, 0x27, 0x20, 0xd1, 0x60,
-	0xa4, 0x91, 0xea, 0x95, 0x38, 0x76, 0xfa, 0xe0, 0x05, 0xd5, 0x61, 0x89, 0xbc, 0x61, 0x3c, 0x9e,
-	0x31, 0x6a, 0x52, 0xec, 0xdc, 0x89, 0xae, 0x2d, 0x85, 0xeb, 0x70, 0x47, 0x29, 0x90, 0xe1, 0xb3,
-	0x47, 0x73, 0xaf, 0xe9, 0xd8, 0x26, 0xe9, 0x47, 0x72, 0xf6, 0x62, 0x28, 0xc1, 0x1d, 0x7a, 0x2f,
-	0xce, 0xb9, 0x75, 0x1e, 0xb9, 0x17, 0xfa, 0x8a, 0x3b, 0xc2, 0xe7, 0x90, 0xa1, 0xde, 0x82, 0xd6,
-	0x80, 0xd7, 0x4e, 0x5a, 0x92, 0xde, 0x96, 0xd5, 0x96, 0x24, 0xe2, 0x7d, 0x2c, 0xed, 0xf1, 0xb7,
-	0x50, 0x11, 0x80, 0x49, 0x9b, 0xda, 0xa1, 0xa4, 0xf0, 0x1c, 0x5a, 0x86, 0x45, 0x2c, 0xab, 0x92,
-	0xa2, 0xe1, 0xa6, 0xcc, 0xa7, 0xd0, 0x12, 0x2c, 0xec, 0x49, 0x0d, 0x89, 0xbd, 0xa5, 0x11, 0x0f,
-	0x4b, 0x6a, 0x7b, 0x57, 0xd5, 0xb0, 0xd6, 0x66, 0x92, 0x0c, 0xca, 0x43, 0x5a, 0x95, 0x5b, 0x7c,
-	0x96, 0xda, 0x51, 0x35, 0xa5, 0x2d, 0x6a, 0x6d, 0xa5, 0xde, 0xe0, 0x73, 0xf4, 0x83, 0x28, 0x1f,
-	0xf3, 0x79, 0xe1, 0x2f, 0x1c, 0xe4, 0x02, 0x5f, 0x43, 0xeb, 0x80, 0xa4, 0xfd, 0x7d, 0x49, 0xd4,
-	0x62, 0x18, 0x78, 0x58, 0x0a, 0xe5, 0x03, 0x14, 0x45, 0x80, 0x7d, 0xa5, 0x7e, 0x24, 0xa9, 0x87,
-	0x78, 0x5f, 0xe3, 0x53, 0xa8, 0x0c, 0xeb, 0xec, 0x5d, 0x6f, 0x29, 0x92, 0x2a, 0x29, 0xc7, 0x58,
-	0x3e, 0xd0, 0xb1, 0xbc, 0x27, 0x35, 0xf8, 0x34, 0x42, 0x50, 0x54, 0x4f, 0xe4, 0xa6, 0x7c, 0x72,
-	0xd4, 0x6c, 0xab, 0x3a, 0x45, 0x93, 0x41, 0xef, 0xc0, 0xaa, 0xdc, 0x94, 0x63, 0xe2, 0x2c, 0x3d,
-	0x9c, 0xaa, 0x35, 0x5b, 0xfa, 0x41, 0x1d, 0xcb, 0x7c, 0x6e, 0xf8, 0xda, 0x68, 0xaa, 0x2a, 0x9f,
-	0xa7, 0x9b, 0xa8, 0xad, 0x06, 0x16, 0x25, 0x5d, 0xc5, 0x9a, 0xa4, 0xef, 0x61, 0x55, 0x69, 0xb7,
-	0xd8, 0x39, 0x17, 0x84, 0x3f, 0xa7, 0x60, 0x2d, 0xc9, 0x35, 0xd0, 0x03, 0xb8, 0x27, 0x36, 0xb0,
-	0x8c, 0xc5, 0x7a, 0x43, 0x57, 0xf1, 0x81, 0x8c, 0xf7, 0xb1, 0x58, 0x97, 0xc5, 0x38, 0xcd, 0x77,
-	0x61, 0x33, 0x79, 0x59, 0x84, 0xf7, 0xb6, 0x2c, 0x4a, 0x8a, 0x46, 0xa1, 0xa5, 0x10, 0x40, 0x6e,
-	0x57, 0x92, 0xf1, 0x01, 0x65, 0x7d, 0x15, 0x96, 0x1b, 0xf8, 0x53, 0xa9, 0x71, 0xa2, 0x87, 0x22,
-	0x76, 0xbe, 0x50, 0xd4, 0xaa, 0x6b, 0x87, 0xcd, 0x03, 0x49, 0xc6, 0x62, 0x70, 0x09, 0x91, 0xf7,
-	0x1c, 0xd5, 0xdc, 0x53, 0xda, 0x07, 0xba, 0x22, 0xa9, 0xad, 0xa6, 0xac, 0x4a, 0x7c, 0x9e, 0xde,
-	0xc1, 0x21, 0x56, 0xb5, 0xa6, 0xd8, 0x3c, 0x6a, 0xd5, 0x35, 0xbc, 0x8b, 0x1b, 0x58, 0x3b, 0xe1,
-	0x17, 0xd0, 0x06, 0xdc, 0x16, 0x9b, 0xf2, 0xbe, 0xa4, 0xa8, 0xba, 0x2a, 0xc9, 0x2a, 0xd6, 0xf0,
-	0x31, 0xfd, 0xb0, 0x88, 0x56, 0xa0, 0xa0, 0x60, 0xf5, 0x53, 0x7d, 0xbf, 0x2e, 0x6a, 0x4d, 0x85,
-	0x07, 0x2a, 0xa8, 0xab, 0x6a, 0x53, 0xc4, 0x75, 0xc6, 0x4d, 0x81, 0xed, 0xaa, 0x34, 0x35, 0x49,
-	0xd4, 0xf0, 0xb1, 0xc4, 0x2f, 0x51, 0x70, 0x47, 0xed, 0x86, 0x86, 0x5b, 0x0d, 0x49, 0x57, 0xa4,
-	0x56, 0x53, 0xd1, 0xa4, 0x3d, 0x7e, 0x59, 0xf8, 0x47, 0x0a, 0x60, 0x94, 0xb6, 0xa3, 0x79, 0x84,
-	0x1b, 0xcb, 0x23, 0x1f, 0x42, 0x96, 0xbc, 0xa1, 0xb9, 0x21, 0x88, 0x91, 0xfb, 0xd7, 0xa7, 0xff,
-	0x8a, 0xf4, 0xc6, 0xb1, 0x95, 0x40, 0x03, 0x1d, 0xc3, 0x8a, 0xe9, 0x74, 0x2c, 0xbb, 0xa7, 0x7b,
-	0xe4, 0x17, 0x17, 0xb4, 0x3e, 0xb2, 0x38, 0x29, 0xd4, 0x9e, 0xcc, 0x30, 0x22, 0x32, 0x2d, 0x35,
-	0x54, 0x52, 0x8a, 0xe6, 0xd8, 0x7b, 0xd9, 0x80, 0x0c, 0xdd, 0x66, 0x54, 0x68, 0xb9, 0x84, 0x42,
-	0x9b, 0x1a, 0x15, 0xda, 0xa7, 0x90, 0xed, 0xba, 0x83, 0x7a, 0x5f, 0xa8, 0x6d, 0x4e, 0xd4, 0x09,
-	0x6c, 0xfb, 0xcf, 0x6a, 0x61, 0xa1, 0x60, 0x2b, 0xcb, 0xcf, 0xa1, 0x38, 0x0e, 0x62, 0xde, 0xcd,
-	0x84, 0x8f, 0x01, 0x46, 0x29, 0x03, 0xdd, 0x85, 0x42, 0xd8, 0xa1, 0xb1, 0x7e, 0x21, 0xa0, 0x36,
-	0x6c, 0xda, 0x58, 0xb3, 0x10, 0xb4, 0x31, 0xa9, 0x41, 0x1b, 0x23, 0x74, 0xa1, 0x2c, 0xba, 0xc4,
-	0xf0, 0xc9, 0x58, 0x87, 0xa5, 0x50, 0x14, 0x9e, 0x8f, 0x0e, 0xa1, 0x38, 0xde, 0xe4, 0x30, 0x8b,
-	0x85, 0xda, 0xbd, 0x99, 0x3d, 0x9a, 0xb2, 0x3c, 0xd6, 0x04, 0x09, 0x12, 0x6c, 0x1c, 0x10, 0x3f,
-	0x71, 0x93, 0xc4, 0x4e, 0x8a, 0x4b, 0xec, 0xa4, 0x84, 0xbf, 0x71, 0x50, 0x6e, 0xf7, 0x3b, 0xd3,
-	0xf0, 0xde, 0xc0, 0x54, 0xc2, 0xd9, 0x52, 0xff, 0xdb, 0xd9, 0xd0, 0x47, 0x50, 0xb8, 0x60, 0x98,
-	0xd8, 0x6c, 0x11, 0xde, 0xfa, 0x64, 0x77, 0xb0, 0x4f, 0xc7, 0x8f, 0x23, 0xc3, 0x7b, 0xad, 0x40,
-	0xb0, 0x9c, 0x3e, 0x0b, 0x87, 0x50, 0xde, 0x23, 0x67, 0xe4, 0xed, 0x0f, 0x24, 0xfc, 0x8b, 0x83,
-	0x4d, 0x95, 0x18, 0xae, 0xf9, 0x6a, 0xcc, 0x94, 0x37, 0xb0, 0x75, 0x17, 0x0a, 0xa3, 0xd1, 0x60,
-	0x50, 0xa0, 0x60, 0x38, 0x1b, 0x78, 0x89, 0xc3, 0x41, 0xea, 0xda, 0xe1, 0x20, 0xda, 0xd0, 0x3e,
-	0x87, 0x2c, 0x9b, 0x7d, 0x4a, 0x99, 0xad, 0xf4, 0x9c, 0x8d, 0x63, 0xa0, 0x40, 0x4b, 0x5b, 0xdf,
-	0xe8, 0x11, 0xdd, 0x77, 0x5e, 0x13, 0x7b, 0x30, 0x56, 0x50, 0x89, 0x46, 0x05, 0x68, 0x13, 0xd8,
-	0x8b, 0xee, 0x59, 0x9f, 0x05, 0xb3, 0x45, 0x56, 0x59, 0xa0, 0x02, 0xd5, 0xfa, 0x8c, 0x08, 0x5f,
-	0x73, 0xf0, 0xbd, 0xe4, 0x43, 0x7b, 0x7d, 0xc7, 0xf6, 0x08, 0xfa, 0x19, 0xac, 0x8c, 0x33, 0x18,
-	0x9c, 0x7c, 0xae, 0x7b, 0x2e, 0x8e, 0x51, 0xec, 0xa1, 0x87, 0xb0, 0x62, 0x93, 0x37, 0xbe, 0x1e,
-	0x41, 0x1b, 0xf0, 0xb3, 0x4c, 0xc5, 0xad, 0x01, 0x62, 0xe1, 0x04, 0x36, 0xe2, 0x41, 0x35, 0xb8,
-	0x84, 0x97, 0x00, 0x23, 0xa3, 0x61, 0x34, 0xdd, 0xb9, 0x1e, 0x89, 0x12, 0xd1, 0x10, 0xbe, 0xe0,
-	0xe0, 0xbd, 0x5d, 0xc3, 0x37, 0x5f, 0xc5, 0x37, 0x18, 0x5e, 0xf3, 0x27, 0x50, 0x88, 0x0c, 0xd5,
-	0xe1, 0x61, 0x67, 0x6d, 0x11, 0x55, 0xa1, 0xf7, 0xe1, 0x06, 0xc6, 0x22, 0x33, 0x64, 0x28, 0xc1,
-	0x1d, 0xe1, 0x3b, 0x0e, 0xee, 0x4c, 0x83, 0x10, 0x92, 0xae, 0x40, 0x9e, 0xd8, 0xbe, 0x6b, 0x91,
-	0xc1, 0xfe, 0xcf, 0x93, 0xf6, 0xbf, 0xde, 0x48, 0x25, 0xe8, 0xcc, 0x07, 0x86, 0xca, 0x1e, 0x64,
-	0x83, 0xc6, 0x7c, 0x07, 0x72, 0xc1, 0x50, 0x1c, 0xd2, 0x87, 0x06, 0xb6, 0xdd, 0xbe, 0x59, 0x51,
-	0xd9, 0x17, 0x25, 0x5c, 0x11, 0xa3, 0x3b, 0x75, 0x63, 0xba, 0x3f, 0x82, 0xb5, 0xb1, 0xb4, 0x35,
-	0x20, 0xf9, 0x3e, 0x44, 0x72, 0xc0, 0x28, 0x26, 0x97, 0x46, 0x42, 0xdc, 0x11, 0xfe, 0xc4, 0xc1,
-	0x46, 0x3c, 0x59, 0xdd, 0xc4, 0xc0, 0xdb, 0xa2, 0x7f, 0xbb, 0xc4, 0xf4, 0x12, 0x36, 0xe2, 0x89,
-	0xe9, 0x46, 0xa7, 0xff, 0x4d, 0x0a, 0x4a, 0xf1, 0xc8, 0x1c, 0x3a, 0xe9, 0x63, 0x40, 0x13, 0x79,
-	0x6d, 0x90, 0x92, 0xf8, 0x58, 0x62, 0xf3, 0xd0, 0xfd, 0xd8, 0xac, 0xcc, 0x5c, 0xf2, 0xf0, 0xd6,
-	0xf8, 0xb4, 0xfc, 0x68, 0x62, 0x5a, 0x4e, 0x87, 0xcb, 0xa6, 0xcd, 0xcb, 0x99, 0x84, 0xca, 0x9a,
-	0x1d, 0x95, 0xf1, 0xf1, 0xb4, 0x94, 0xbb, 0x36, 0x2d, 0xe5, 0xc7, 0xd3, 0xd2, 0x6e, 0x01, 0x16,
-	0x87, 0x9b, 0x0a, 0xbf, 0xe6, 0xe0, 0xdd, 0x04, 0x26, 0xc2, 0x58, 0x79, 0xfb, 0x78, 0x9d, 0x33,
-	0x2d, 0xed, 0x10, 0x28, 0x8e, 0x27, 0x60, 0xda, 0x97, 0xd6, 0x65, 0xb9, 0xa9, 0xb1, 0x5e, 0x4e,
-	0x4f, 0x98, 0x0f, 0x0a, 0x90, 0x3f, 0x90, 0x64, 0x49, 0xc1, 0x22, 0xcf, 0xd1, 0x97, 0xe3, 0xba,
-	0x82, 0xeb, 0x32, 0xed, 0xc9, 0x17, 0x20, 0x43, 0xbf, 0xf0, 0x69, 0x36, 0x43, 0x28, 0x75, 0x59,
-	0x15, 0x15, 0xdc, 0xd2, 0xf8, 0x4c, 0xed, 0xab, 0x65, 0xb8, 0x1d, 0xcd, 0xa3, 0xec, 0xe7, 0xbe,
-	0xe3, 0xa7, 0xe8, 0x5b, 0x0e, 0x6e, 0x27, 0xf4, 0x1a, 0xa8, 0x92, 0x74, 0xd6, 0xe9, 0x4d, 0x49,
-	0x79, 0x76, 0xe2, 0x16, 0x76, 0xbe, 0xfc, 0xfb, 0x3f, 0xbf, 0x49, 0xbd, 0x2f, 0xa0, 0xd8, 0x2f,
-	0x98, 0xc4, 0xf7, 0x5e, 0xc4, 0xaa, 0x3e, 0xfa, 0x9a, 0x03, 0x3e, 0xde, 0x9a, 0xa0, 0xc4, 0x1f,
-	0xa1, 0xa6, 0x34, 0x30, 0xf3, 0x00, 0xaa, 0x30, 0x40, 0xdb, 0xe8, 0xe1, 0x24, 0xa0, 0xea, 0xaf,
-	0x26, 0x22, 0xe1, 0x73, 0xf4, 0x47, 0x0e, 0x6e, 0x27, 0xf4, 0x39, 0xc9, 0x5c, 0x4d, 0x6f, 0x88,
-	0xe6, 0x81, 0xf6, 0x92, 0x41, 0x7b, 0x5e, 0x9e, 0x13, 0xda, 0x04, 0x7f, 0xbf, 0xe5, 0xe0, 0x76,
-	0x42, 0x07, 0x93, 0x0c, 0x75, 0x7a, 0xab, 0x53, 0x5e, 0x9f, 0xc8, 0x4b, 0xd2, 0x79, 0xdf, 0xbf,
-	0x1a, 0x50, 0xb7, 0x33, 0x2f, 0x75, 0xbf, 0xe3, 0x60, 0x2d, 0xa9, 0x23, 0x40, 0xd5, 0x24, 0x40,
-	0xd7, 0x34, 0x4c, 0xe5, 0x0f, 0xe6, 0x57, 0x08, 0x62, 0x59, 0x78, 0x9f, 0x61, 0xbd, 0x23, 0xbc,
-	0x9b, 0x80, 0xd5, 0x63, 0x8a, 0x2f, 0xb8, 0x1d, 0xf4, 0x15, 0x07, 0x7c, 0xdc, 0xbf, 0x93, 0x3d,
-	0x6e, 0x4a, 0x17, 0x51, 0x9e, 0x91, 0x1e, 0x84, 0xfb, 0x0c, 0xc7, 0x7b, 0xc2, 0x4a, 0x0c, 0xc7,
-	0x8b, 0x68, 0x75, 0xf8, 0x03, 0x07, 0xeb, 0xc9, 0x25, 0x18, 0x3d, 0xbd, 0x49, 0xb9, 0x0e, 0x20,
-	0xd5, 0x6e, 0x5e, 0xe1, 0x85, 0x87, 0x0c, 0xe6, 0x96, 0xb0, 0x19, 0x87, 0x79, 0x3a, 0xd2, 0xa3,
-	0x84, 0x7d, 0xc9, 0xc1, 0xf2, 0x58, 0xf0, 0xa1, 0xed, 0x99, 0xf1, 0x39, 0x2f, 0x55, 0x8f, 0x18,
-	0x86, 0x7b, 0xe8, 0x6e, 0x0c, 0xc3, 0x98, 0x6f, 0x51, 0xbf, 0xfa, 0x96, 0x03, 0x3e, 0x1e, 0x69,
-	0xc9, 0xb7, 0x36, 0xa5, 0xe6, 0xcf, 0x84, 0xf2, 0x8c, 0x41, 0x79, 0x52, 0x9e, 0x05, 0x65, 0xec,
-	0x16, 0xbf, 0xe0, 0x80, 0x8f, 0x47, 0x55, 0x32, 0xac, 0x29, 0xd5, 0x7c, 0x6a, 0xe0, 0x85, 0xcc,
-	0xec, 0xcc, 0x64, 0xe6, 0x1b, 0x0e, 0x56, 0x27, 0xea, 0x1b, 0x7a, 0x3c, 0x4f, 0xf4, 0x0c, 0xdd,
-	0xe7, 0xc9, 0x9c, 0xab, 0x43, 0xcf, 0xb9, 0xc7, 0xb0, 0x6d, 0x0a, 0xeb, 0x71, 0x6c, 0xc3, 0x28,
-	0xdb, 0xad, 0xc2, 0xba, 0xe9, 0x9c, 0x27, 0x98, 0xdd, 0xe5, 0x23, 0x16, 0x5b, 0xf4, 0xcc, 0x2d,
-	0xee, 0xdf, 0x1c, 0x77, 0x9a, 0x63, 0xe7, 0x7f, 0xf6, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7,
-	0x0c, 0x54, 0xd2, 0x25, 0x1b, 0x00, 0x00,
+	// 2188 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x6f, 0xdb, 0xc8,
+	0x15, 0x0f, 0xf5, 0x69, 0x3f, 0xd9, 0x32, 0x3d, 0xf1, 0xda, 0x5a, 0x39, 0x1f, 0x0e, 0xf3, 0x65,
+	0xb8, 0x89, 0xbc, 0x51, 0x80, 0x36, 0x75, 0xda, 0x74, 0x65, 0x9a, 0xb6, 0xa7, 0xab, 0x50, 0xc2,
+	0x90, 0x72, 0xe1, 0x5e, 0x08, 0x86, 0x1a, 0x7b, 0x89, 0xd8, 0x94, 0x4a, 0xd2, 0x6e, 0xbc, 0xc5,
+	0x02, 0x8b, 0xc5, 0x16, 0x3d, 0xf5, 0xb2, 0xbb, 0xf7, 0x5e, 0x0a, 0xb4, 0xff, 0x43, 0x2f, 0x05,
+	0x7a, 0x6f, 0x0f, 0x45, 0xff, 0x83, 0x5e, 0xf6, 0xda, 0x53, 0x81, 0x5e, 0x8a, 0x19, 0x92, 0x12,
+	0x45, 0x51, 0xb6, 0xdc, 0x00, 0xbd, 0x71, 0xde, 0xbc, 0xf7, 0xe6, 0x37, 0xbf, 0x99, 0xf7, 0x31,
+	0x12, 0x3c, 0x38, 0xee, 0xf5, 0x8e, 0x4f, 0xe8, 0xe6, 0x31, 0x75, 0x7a, 0xa7, 0xb6, 0xe5, 0x6d,
+	0x9e, 0x3f, 0xdb, 0x34, 0x1d, 0xa7, 0xe7, 0x9b, 0xbe, 0xdd, 0x73, 0xbc, 0x5a, 0xdf, 0xed, 0xf9,
+	0x3d, 0x84, 0x02, 0xad, 0x5a, 0xa4, 0x55, 0x3b, 0x7f, 0x56, 0xbd, 0x15, 0x5a, 0x9a, 0x7d, 0x7b,
+	0xdc, 0xa2, 0xba, 0x1a, 0xce, 0xf2, 0xd1, 0x9b, 0xb3, 0xa3, 0x4d, 0x7a, 0xda, 0xf7, 0x2f, 0xc2,
+	0xc9, 0xb5, 0xe4, 0xe4, 0x91, 0x4d, 0x4f, 0xba, 0xc6, 0xa9, 0xe9, 0xbd, 0x0d, 0x35, 0x6e, 0x25,
+	0x35, 0x3c, 0xdf, 0x3d, 0xb3, 0xfc, 0x70, 0xf6, 0x4e, 0x72, 0xf6, 0x97, 0xae, 0xd9, 0xef, 0x53,
+	0x37, 0x5a, 0x7c, 0x25, 0x9c, 0x77, 0xfb, 0xd6, 0xa6, 0xe7, 0x9b, 0xfe, 0x59, 0x38, 0x21, 0x7d,
+	0x97, 0x81, 0xf9, 0xc6, 0x00, 0xab, 0x46, 0x7d, 0x54, 0x86, 0x8c, 0xdd, 0xad, 0x08, 0x6b, 0xc2,
+	0xfa, 0x2c, 0xc9, 0xd8, 0x5d, 0x74, 0x1b, 0xa0, 0x6b, 0xfa, 0xa6, 0x47, 0x7d, 0xc3, 0xee, 0x56,
+	0x32, 0x5c, 0x3e, 0x1b, 0x4a, 0x70, 0x17, 0xad, 0x83, 0xe8, 0xd2, 0x23, 0xea, 0x52, 0xc7, 0xa2,
+	0x46, 0xa8, 0x94, 0xe5, 0x4a, 0xe5, 0x81, 0x5c, 0xe3, 0x9a, 0x08, 0x72, 0x8e, 0x79, 0x4a, 0x2b,
+	0x39, 0x3e, 0xcb, 0xbf, 0x99, 0x73, 0xaf, 0x77, 0xe6, 0x5a, 0xd4, 0x38, 0x73, 0xed, 0x4a, 0x3e,
+	0x70, 0x1e, 0x48, 0x3a, 0xae, 0x8d, 0xbe, 0x0f, 0x39, 0xff, 0xa2, 0x4f, 0x2b, 0x85, 0x35, 0x61,
+	0xbd, 0x5c, 0x97, 0x6a, 0xe3, 0xa4, 0xd7, 0x86, 0xe0, 0xf5, 0x8b, 0x3e, 0x25, 0x5c, 0x1f, 0xfd,
+	0x04, 0x72, 0xb6, 0x73, 0xd4, 0xab, 0x2c, 0xae, 0x65, 0xd7, 0x4b, 0xf5, 0xef, 0x5d, 0x6e, 0xa7,
+	0x51, 0xbf, 0x86, 0x9d, 0xa3, 0x9e, 0xe2, 0xf8, 0xee, 0x05, 0xe1, 0x86, 0x55, 0x0d, 0x66, 0x07,
+	0x22, 0x24, 0x42, 0xf6, 0x2d, 0xbd, 0x08, 0x29, 0x61, 0x9f, 0xe8, 0x23, 0xc8, 0x9f, 0x9b, 0x27,
+	0x67, 0x94, 0xd3, 0x51, 0xaa, 0x57, 0xa3, 0x05, 0x22, 0xfa, 0x6b, 0x4d, 0xdb, 0xf3, 0x0f, 0x98,
+	0x06, 0x09, 0x14, 0xb7, 0x32, 0x2f, 0x04, 0xe9, 0xaf, 0x39, 0x80, 0xe1, 0xb2, 0x63, 0x44, 0x6f,
+	0xc0, 0xe2, 0xf0, 0xd6, 0x18, 0x23, 0x7c, 0x2f, 0x98, 0x71, 0xb4, 0x31, 0x2e, 0xb3, 0x31, 0x2e,
+	0xef, 0xc1, 0xdc, 0xf0, 0x24, 0xec, 0x6e, 0xc8, 0x73, 0x69, 0x20, 0xc3, 0x5d, 0xf4, 0x10, 0x86,
+	0x87, 0x62, 0x70, 0x07, 0x01, 0xe5, 0xf3, 0x03, 0xa9, 0xca, 0x3c, 0x2d, 0x41, 0xde, 0xf3, 0x4d,
+	0xd7, 0xe7, 0xbc, 0x67, 0x49, 0x30, 0x60, 0x34, 0x50, 0xa7, 0x5b, 0x29, 0x72, 0x19, 0xfb, 0x0c,
+	0xdc, 0x9d, 0x53, 0xd7, 0xa3, 0x86, 0xe7, 0xbb, 0xa6, 0xd3, 0xad, 0xcc, 0xac, 0x09, 0xeb, 0x33,
+	0xcc, 0x1d, 0x97, 0x6a, 0x5c, 0x38, 0x38, 0xc5, 0xd9, 0x6b, 0x9e, 0x62, 0x03, 0x8a, 0xe7, 0xa6,
+	0x6b, 0x9b, 0x8e, 0x5f, 0x01, 0xce, 0xf3, 0xc3, 0x34, 0xd3, 0x83, 0x40, 0x65, 0xe8, 0x61, 0xff,
+	0x06, 0x89, 0xec, 0xd0, 0xc7, 0x00, 0x0c, 0x83, 0x67, 0xb9, 0x76, 0xdf, 0xaf, 0x94, 0xb8, 0x97,
+	0x3b, 0x69, 0x5e, 0xf4, 0x81, 0xd6, 0xfe, 0x0d, 0x12, 0xb3, 0x41, 0x3f, 0x0a, 0xaf, 0xd2, 0x1c,
+	0xbf, 0x4a, 0xeb, 0x97, 0x83, 0xff, 0xbf, 0xdc, 0xa3, 0xed, 0x62, 0x68, 0x25, 0xfd, 0x67, 0x16,
+	0x16, 0xc7, 0xb6, 0x8f, 0x5e, 0x85, 0x74, 0x0b, 0x9c, 0xee, 0x8d, 0xa9, 0x38, 0xab, 0xc5, 0x68,
+	0xdf, 0x81, 0x02, 0x3d, 0x3a, 0xa2, 0x96, 0xcf, 0x51, 0x95, 0xeb, 0x4f, 0xa6, 0xf3, 0xa0, 0x70,
+	0x1b, 0x12, 0xda, 0xa2, 0xc7, 0xb0, 0x60, 0x9e, 0xf8, 0xd4, 0x75, 0x4c, 0x9f, 0x1a, 0x6f, 0x4c,
+	0x8f, 0x7a, 0x51, 0x5a, 0x18, 0x88, 0xb7, 0x99, 0x14, 0xad, 0x40, 0xf1, 0x98, 0x3a, 0xb1, 0x1b,
+	0x5b, 0x60, 0xc3, 0xe0, 0xb2, 0x0e, 0xcf, 0xc1, 0xb0, 0xbb, 0x5e, 0x25, 0xbf, 0x96, 0x65, 0x97,
+	0x75, 0x28, 0xc5, 0x5d, 0x0f, 0xfd, 0x0c, 0xc0, 0xea, 0x39, 0x5d, 0x9b, 0xe7, 0xda, 0x4a, 0x81,
+	0x1f, 0xd3, 0x0f, 0xa6, 0x83, 0x2c, 0x9f, 0xd8, 0x8e, 0x6d, 0x99, 0x27, 0x72, 0x64, 0x4f, 0x62,
+	0xae, 0x50, 0x0f, 0x3e, 0xb0, 0x42, 0x05, 0xc3, 0xb3, 0x8f, 0x1d, 0xfb, 0xc8, 0xb6, 0x4c, 0xc7,
+	0xa2, 0x3c, 0x02, 0xca, 0xf5, 0xad, 0xeb, 0xad, 0xa1, 0xc5, 0x3c, 0x90, 0x25, 0x2b, 0x45, 0x5a,
+	0xfd, 0xbd, 0x00, 0x8b, 0x63, 0x90, 0x58, 0x30, 0xb2, 0x48, 0xf5, 0x2a, 0x02, 0xdf, 0x7d, 0x30,
+	0x40, 0x0d, 0x98, 0xa3, 0xef, 0x38, 0x8f, 0x27, 0x9c, 0x9a, 0x0c, 0xdf, 0x77, 0xea, 0xd5, 0x56,
+	0x42, 0x3d, 0xdc, 0x25, 0x25, 0x3a, 0xf8, 0xf6, 0x58, 0xee, 0xb5, 0x7a, 0x8e, 0x45, 0xfb, 0xb1,
+	0x9c, 0x3d, 0x1b, 0x4a, 0x70, 0x97, 0x9d, 0x4b, 0xef, 0xd4, 0x3e, 0x8d, 0x9d, 0x0b, 0x1b, 0xe2,
+	0xae, 0xf4, 0x39, 0xe4, 0xd8, 0x6d, 0x41, 0x4b, 0x20, 0xea, 0x87, 0x6d, 0xc5, 0xe8, 0xa8, 0x5a,
+	0x5b, 0x91, 0xf1, 0x2e, 0x56, 0x76, 0xc4, 0x1b, 0xa8, 0x0c, 0xc0, 0xa5, 0x2d, 0x7d, 0x5f, 0x21,
+	0xa2, 0x80, 0xe6, 0x61, 0x16, 0xab, 0x9a, 0x42, 0x74, 0xdc, 0x52, 0xc5, 0x0c, 0x9a, 0x83, 0x99,
+	0x1d, 0xa5, 0xa9, 0xf0, 0x51, 0x16, 0x89, 0x30, 0xa7, 0x75, 0xb6, 0x35, 0x1d, 0xeb, 0x1d, 0x2e,
+	0xc9, 0xa1, 0x22, 0x64, 0x35, 0xb5, 0x2d, 0xe6, 0x99, 0x1f, 0x4d, 0x27, 0x1d, 0x59, 0xef, 0x90,
+	0x46, 0x53, 0x2c, 0xb0, 0x09, 0x59, 0x3d, 0x10, 0x8b, 0xd2, 0x5f, 0x04, 0x28, 0x04, 0x77, 0x0d,
+	0x2d, 0x03, 0x52, 0x76, 0x77, 0x15, 0x59, 0x4f, 0x60, 0x10, 0x61, 0x2e, 0x94, 0x47, 0x28, 0xca,
+	0x00, 0xbb, 0xa4, 0xf1, 0x5a, 0xd1, 0xf6, 0xf1, 0xae, 0x2e, 0x66, 0x50, 0x15, 0x96, 0xf9, 0xd8,
+	0x68, 0x13, 0x45, 0x53, 0xc8, 0x01, 0x56, 0xf7, 0x0c, 0xac, 0xee, 0x28, 0x4d, 0x31, 0x8b, 0x10,
+	0x94, 0xb5, 0x43, 0xb5, 0xa5, 0x1e, 0xbe, 0x6e, 0x75, 0x34, 0x83, 0xa1, 0xc9, 0xa1, 0x0f, 0x60,
+	0x51, 0x6d, 0xa9, 0x09, 0x71, 0x9e, 0x6d, 0x4e, 0xd3, 0x5b, 0x6d, 0x63, 0xaf, 0x81, 0x55, 0xb1,
+	0x30, 0x18, 0x36, 0x5b, 0x9a, 0x26, 0x16, 0xd9, 0x22, 0x5a, 0xbb, 0x89, 0x65, 0xc5, 0xd0, 0xb0,
+	0xae, 0x18, 0x3b, 0x58, 0x23, 0x9d, 0x36, 0xdf, 0xe7, 0x8c, 0xf4, 0xe7, 0x0c, 0x2c, 0xa5, 0x5d,
+	0x0d, 0xf4, 0x10, 0xee, 0xc9, 0x4d, 0xac, 0x62, 0xb9, 0xd1, 0x34, 0x34, 0xbc, 0xa7, 0xe2, 0x5d,
+	0x2c, 0x37, 0x54, 0x39, 0x49, 0xf3, 0x5d, 0x58, 0x4d, 0x57, 0x8b, 0xf1, 0xde, 0x51, 0x65, 0x85,
+	0xe8, 0x0c, 0x5a, 0x06, 0x01, 0x14, 0xb6, 0x15, 0x15, 0xef, 0x31, 0xd6, 0x17, 0x61, 0xbe, 0x89,
+	0x3f, 0x51, 0x9a, 0x87, 0x46, 0x28, 0xe2, 0xfb, 0x0b, 0x45, 0xed, 0x86, 0xbe, 0xdf, 0xda, 0x53,
+	0x54, 0x2c, 0x07, 0x87, 0x10, 0x1b, 0x17, 0x98, 0xe5, 0x0e, 0xe9, 0xec, 0x19, 0x44, 0xd1, 0xda,
+	0x2d, 0x55, 0x53, 0xc4, 0x22, 0x3b, 0x83, 0x7d, 0xac, 0xe9, 0x2d, 0xb9, 0xf5, 0xba, 0xdd, 0xd0,
+	0xf1, 0x36, 0x6e, 0x62, 0xfd, 0x50, 0x9c, 0x41, 0x2b, 0x70, 0x53, 0x6e, 0xa9, 0xbb, 0x0a, 0xd1,
+	0x0c, 0x4d, 0x51, 0x35, 0xac, 0xe3, 0x03, 0x36, 0x31, 0x8b, 0x16, 0xa0, 0x44, 0xb0, 0xf6, 0x89,
+	0xb1, 0xdb, 0x90, 0xf5, 0x16, 0x11, 0x81, 0x09, 0x1a, 0x9a, 0xd6, 0x92, 0x71, 0x83, 0x73, 0x53,
+	0xe2, 0xab, 0x92, 0x96, 0xae, 0xc8, 0x3a, 0x3e, 0x50, 0xc4, 0x39, 0x06, 0xee, 0x75, 0xa7, 0xa9,
+	0xe3, 0x76, 0x53, 0x31, 0x88, 0xd2, 0x6e, 0x11, 0x5d, 0xd9, 0x11, 0xe7, 0xa5, 0x7f, 0x64, 0x00,
+	0x86, 0x69, 0x3b, 0x9e, 0x47, 0x84, 0x91, 0x3c, 0xf2, 0x43, 0xc8, 0xd3, 0x77, 0x2c, 0x37, 0x04,
+	0x31, 0x72, 0xff, 0xf2, 0xf4, 0x5f, 0x53, 0xde, 0xf5, 0x1c, 0x12, 0x58, 0xa0, 0x03, 0x58, 0xb0,
+	0x7a, 0x5d, 0xdb, 0x39, 0x36, 0x3c, 0xfa, 0x8b, 0x33, 0x56, 0x1f, 0x79, 0x9c, 0x94, 0xea, 0x4f,
+	0xaf, 0x70, 0x22, 0x73, 0x2b, 0x2d, 0x34, 0x22, 0x65, 0x6b, 0x64, 0x5c, 0x35, 0x21, 0xc7, 0x96,
+	0x19, 0x16, 0x5a, 0x21, 0xa5, 0xd0, 0x66, 0x86, 0x85, 0xf6, 0x19, 0xe4, 0x8f, 0xdc, 0xa8, 0xde,
+	0x97, 0xea, 0xab, 0x63, 0x75, 0x02, 0x3b, 0xfe, 0xf3, 0x7a, 0x58, 0x28, 0xb8, 0x66, 0xf5, 0x05,
+	0x94, 0x47, 0x41, 0x4c, 0xbb, 0x98, 0xf4, 0x63, 0x80, 0x61, 0xca, 0x40, 0x77, 0xa1, 0x14, 0x76,
+	0x68, 0xbc, 0x5f, 0x08, 0xa8, 0x0d, 0x9b, 0x36, 0xde, 0x2c, 0x04, 0x6d, 0x4c, 0x26, 0x6a, 0x63,
+	0xa4, 0x23, 0xa8, 0xca, 0x2e, 0x35, 0x7d, 0x3a, 0xd2, 0x61, 0x11, 0x86, 0xc2, 0xf3, 0xd1, 0x3e,
+	0x94, 0x47, 0x9b, 0x1c, 0xee, 0xb1, 0x54, 0xbf, 0x77, 0x65, 0x8f, 0x46, 0xe6, 0x47, 0x9a, 0x20,
+	0x49, 0x81, 0x95, 0x3d, 0xea, 0xa7, 0x2e, 0x92, 0xda, 0x49, 0x09, 0xa9, 0x9d, 0x94, 0xf4, 0x37,
+	0x01, 0xaa, 0x9d, 0x7e, 0x77, 0x12, 0xde, 0x6b, 0xb8, 0x4a, 0xd9, 0x5b, 0xe6, 0x7f, 0xdb, 0x1b,
+	0x7a, 0x09, 0xa5, 0x33, 0x8e, 0x89, 0xbf, 0x00, 0xc2, 0x53, 0x1f, 0xef, 0x0e, 0x76, 0xd9, 0x23,
+	0xe1, 0xb5, 0xe9, 0xbd, 0x25, 0x10, 0xa8, 0xb3, 0x6f, 0x69, 0x1f, 0xaa, 0x3b, 0xf4, 0x84, 0xbe,
+	0xff, 0x86, 0xa4, 0x7f, 0x09, 0xb0, 0xaa, 0x51, 0xd3, 0xb5, 0x3e, 0x1d, 0x71, 0xe5, 0x45, 0xbe,
+	0xee, 0x42, 0x69, 0xf8, 0x34, 0x88, 0x0a, 0x14, 0x0c, 0xde, 0x06, 0x5e, 0xea, 0xe3, 0x20, 0x73,
+	0xe9, 0xe3, 0x20, 0xde, 0xd0, 0xbe, 0x80, 0x3c, 0x6b, 0x48, 0xbc, 0x4a, 0x6e, 0x2d, 0x3b, 0x65,
+	0xe3, 0x18, 0x18, 0xb0, 0xd2, 0xd6, 0x37, 0x8f, 0xa9, 0xe1, 0xf7, 0xde, 0x52, 0x27, 0x7a, 0x56,
+	0x30, 0x89, 0xce, 0x04, 0x68, 0x15, 0xf8, 0xc0, 0xf0, 0xec, 0xcf, 0x82, 0xb7, 0x45, 0x9e, 0xcc,
+	0x30, 0x81, 0x66, 0x7f, 0x46, 0xa5, 0xaf, 0x05, 0xb8, 0x95, 0xbe, 0x69, 0xaf, 0xdf, 0x73, 0x3c,
+	0x8a, 0x7e, 0x0a, 0x0b, 0xa3, 0x0c, 0x06, 0x3b, 0x9f, 0xea, 0x9c, 0xcb, 0x23, 0x14, 0x7b, 0xe8,
+	0x11, 0x2c, 0x38, 0xf4, 0x9d, 0x6f, 0xc4, 0xd0, 0x06, 0xfc, 0xcc, 0x33, 0x71, 0x3b, 0x42, 0x2c,
+	0x1d, 0xc2, 0x4a, 0x32, 0xa8, 0xa2, 0x43, 0x78, 0x05, 0x30, 0x74, 0x1a, 0x46, 0xd3, 0x9d, 0xcb,
+	0x91, 0x90, 0x98, 0x85, 0xf4, 0x85, 0x00, 0xb7, 0xb7, 0x4d, 0xdf, 0xfa, 0x34, 0xb9, 0xc0, 0xe0,
+	0x98, 0x3f, 0x86, 0x52, 0xec, 0x39, 0x1b, 0x6e, 0xf6, 0xaa, 0x25, 0xe2, 0x26, 0xec, 0x3c, 0xdc,
+	0xc0, 0x59, 0xec, 0x0d, 0x19, 0x4a, 0x70, 0x57, 0xfa, 0x4e, 0x80, 0x3b, 0x93, 0x20, 0x84, 0xa4,
+	0x13, 0x28, 0x52, 0xc7, 0x77, 0x6d, 0x1a, 0xad, 0xff, 0x22, 0x6d, 0xfd, 0xcb, 0x9d, 0xd4, 0x82,
+	0xce, 0x3c, 0x72, 0x54, 0xf5, 0x20, 0x1f, 0x34, 0xe6, 0x1b, 0x50, 0x08, 0x1e, 0xc5, 0x21, 0x7d,
+	0x28, 0xf2, 0xed, 0xf6, 0xad, 0x9a, 0xc6, 0x67, 0x48, 0xa8, 0x91, 0xa0, 0x3b, 0x73, 0x6d, 0xba,
+	0x5f, 0xc2, 0xd2, 0x48, 0xda, 0x8a, 0x48, 0xbe, 0x0f, 0xb1, 0x1c, 0x30, 0x8c, 0xc9, 0xb9, 0xa1,
+	0x10, 0x77, 0xa5, 0x3f, 0x09, 0xb0, 0x92, 0x4c, 0x56, 0xd7, 0x71, 0xf0, 0xbe, 0xe8, 0xdf, 0x2f,
+	0x31, 0xbd, 0x82, 0x95, 0x64, 0x62, 0xba, 0xd6, 0xee, 0x7f, 0x93, 0x81, 0x4a, 0x32, 0x32, 0x07,
+	0x97, 0xf4, 0x09, 0xa0, 0xb1, 0xbc, 0x16, 0xa5, 0x24, 0x31, 0x91, 0xd8, 0x3c, 0x74, 0x3f, 0xf1,
+	0x56, 0xe6, 0x57, 0x72, 0xff, 0xc6, 0xe8, 0x6b, 0xf9, 0xf1, 0xd8, 0x6b, 0x39, 0x1b, 0xaa, 0x4d,
+	0x7a, 0x2f, 0xe7, 0x52, 0x2a, 0x6b, 0x7e, 0x58, 0xc6, 0x47, 0xd3, 0x52, 0xe1, 0xd2, 0xb4, 0x54,
+	0x1c, 0x4d, 0x4b, 0xdb, 0x25, 0x98, 0x1d, 0x2c, 0x2a, 0xfd, 0x5a, 0x80, 0x0f, 0x53, 0x98, 0x08,
+	0x63, 0xe5, 0xfd, 0xe3, 0x75, 0xca, 0xb4, 0xb4, 0x41, 0xa1, 0x3c, 0x9a, 0x80, 0x59, 0x5f, 0xda,
+	0x50, 0xd5, 0x96, 0xce, 0x7b, 0x39, 0x23, 0xe5, 0x7d, 0x50, 0x82, 0xe2, 0x9e, 0xa2, 0x2a, 0x04,
+	0xcb, 0xa2, 0xc0, 0x06, 0x07, 0x0d, 0x82, 0x1b, 0x2a, 0xeb, 0xc9, 0x67, 0x20, 0xc7, 0x66, 0xc4,
+	0x2c, 0x7f, 0x43, 0x90, 0x86, 0xaa, 0xc9, 0x04, 0xb7, 0x75, 0x31, 0x57, 0xff, 0x6a, 0x1e, 0x6e,
+	0xc6, 0xf3, 0xa8, 0x7b, 0x6e, 0x5b, 0xf4, 0xe0, 0x19, 0xfa, 0x56, 0x80, 0x9b, 0x29, 0xbd, 0x06,
+	0xaa, 0xa5, 0xed, 0x75, 0x72, 0x53, 0x52, 0xbd, 0x3a, 0x71, 0x4b, 0x1b, 0x5f, 0xfe, 0xfd, 0x9f,
+	0xdf, 0x64, 0x1e, 0x48, 0x28, 0xf1, 0x73, 0x20, 0xf5, 0xbd, 0xad, 0x44, 0xd5, 0x47, 0x5f, 0x0b,
+	0x20, 0x26, 0x5b, 0x13, 0x94, 0xfa, 0x23, 0xd4, 0x84, 0x06, 0x66, 0x1a, 0x40, 0x35, 0x0e, 0x68,
+	0x1d, 0x3d, 0x1a, 0x07, 0xb4, 0xf9, 0xab, 0xb1, 0x48, 0xf8, 0x1c, 0xfd, 0x51, 0x80, 0x9b, 0x29,
+	0x7d, 0x4e, 0x3a, 0x57, 0x93, 0x1b, 0xa2, 0x69, 0xa0, 0xbd, 0xe2, 0xd0, 0x5e, 0x54, 0xa7, 0x84,
+	0x36, 0xc6, 0xdf, 0x6f, 0x05, 0xb8, 0x99, 0xd2, 0xc1, 0xa4, 0x43, 0x9d, 0xdc, 0xea, 0x54, 0x97,
+	0xc7, 0xf2, 0x92, 0x72, 0xda, 0xf7, 0x2f, 0x22, 0xea, 0x36, 0xa6, 0xa5, 0xee, 0x77, 0x02, 0x2c,
+	0xa5, 0x75, 0x04, 0x68, 0x33, 0x0d, 0xd0, 0x25, 0x0d, 0x53, 0xf5, 0xa3, 0xe9, 0x0d, 0x82, 0x58,
+	0x96, 0x1e, 0x70, 0xac, 0x77, 0xa4, 0x0f, 0x53, 0xb0, 0x7a, 0xdc, 0x70, 0x4b, 0xd8, 0x40, 0x5f,
+	0x09, 0x20, 0x26, 0xef, 0x77, 0xfa, 0x8d, 0x9b, 0xd0, 0x45, 0x54, 0xaf, 0x48, 0x0f, 0xd2, 0x7d,
+	0x8e, 0xe3, 0xb6, 0xb4, 0x90, 0xc0, 0xb1, 0x15, 0xaf, 0x0e, 0x7f, 0x10, 0x60, 0x39, 0xbd, 0x04,
+	0xa3, 0x67, 0xd7, 0x29, 0xd7, 0x01, 0xa4, 0xfa, 0xf5, 0x2b, 0xbc, 0xf4, 0x88, 0xc3, 0x5c, 0x93,
+	0x56, 0x93, 0x30, 0xdf, 0x0c, 0xed, 0x18, 0x61, 0x5f, 0x0a, 0x30, 0x3f, 0x12, 0x7c, 0x68, 0xfd,
+	0xca, 0xf8, 0x9c, 0x96, 0xaa, 0xc7, 0x1c, 0xc3, 0x3d, 0x74, 0x37, 0x81, 0x61, 0xe4, 0x6e, 0xb1,
+	0x7b, 0xf5, 0xad, 0x00, 0x62, 0x32, 0xd2, 0xd2, 0x4f, 0x6d, 0x42, 0xcd, 0xbf, 0x12, 0xca, 0x73,
+	0x0e, 0xe5, 0x69, 0xf5, 0x2a, 0x28, 0x23, 0xa7, 0xf8, 0x85, 0x00, 0x62, 0x32, 0xaa, 0xd2, 0x61,
+	0x4d, 0xa8, 0xe6, 0x13, 0x03, 0x2f, 0x64, 0x66, 0xe3, 0x4a, 0x66, 0xbe, 0x11, 0x60, 0x71, 0xac,
+	0xbe, 0xa1, 0x27, 0xd3, 0x44, 0xcf, 0xe0, 0xfa, 0x3c, 0x9d, 0x52, 0x3b, 0xbc, 0x39, 0xf7, 0x38,
+	0xb6, 0x55, 0x69, 0x39, 0x89, 0x6d, 0x10, 0x65, 0xdb, 0x6f, 0x61, 0xd9, 0xea, 0x9d, 0xa6, 0xb8,
+	0xdd, 0x16, 0x63, 0x1e, 0xdb, 0x6c, 0xcf, 0x6d, 0xe1, 0xe7, 0x5b, 0x91, 0x5e, 0xef, 0xc4, 0x74,
+	0x8e, 0x6b, 0x3d, 0xf7, 0x78, 0xf3, 0x98, 0x3a, 0x9c, 0x91, 0xcd, 0x60, 0xca, 0xec, 0xdb, 0x5e,
+	0xfc, 0x6f, 0xa6, 0x97, 0xd1, 0xf7, 0xbf, 0x05, 0xe1, 0x4d, 0x81, 0x6b, 0x3e, 0xff, 0x6f, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0xf4, 0x94, 0x75, 0x44, 0x8f, 0x1a, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/annotations.proto b/googleapis/genomics/v1/annotations.proto
deleted file mode 100644
index 38c07afb..00000000
--- a/googleapis/genomics/v1/annotations.proto
+++ /dev/null
@@ -1,671 +0,0 @@
-// 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.genomics.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 "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/wrappers/wrappers.proto"; // from google/protobuf/wrappers.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 = "AnnotationsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// This service provides storage and positional retrieval of genomic
-// reference annotations, including variant annotations.
-service AnnotationServiceV1 {
-  // Creates a new annotation set. Caller must have WRITE permission for the
-  // associated dataset.
-  //
-  // The following fields are required:
-  //
-  //   * [datasetId][google.genomics.v1.AnnotationSet.dataset_id]
-  //   * [referenceSetId][google.genomics.v1.AnnotationSet.reference_set_id]
-  //
-  // All other fields may be optionally specified, unless documented as being
-  // server-generated (for example, the `id` field).
-  rpc CreateAnnotationSet(CreateAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { post: "/v1/annotationsets" body: "annotation_set" };
-  }
-
-  // Gets an annotation set. Caller must have READ permission for
-  // the associated dataset.
-  rpc GetAnnotationSet(GetAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { get: "/v1/annotationsets/{annotation_set_id}" };
-  }
-
-  // Updates an annotation set. The update must respect all mutability
-  // restrictions and other invariants described on the annotation set resource.
-  // Caller must have WRITE permission for the associated dataset.
-  rpc UpdateAnnotationSet(UpdateAnnotationSetRequest) returns (AnnotationSet) {
-    option (google.api.http) = { put: "/v1/annotationsets/{annotation_set_id}" body: "annotation_set" };
-  }
-
-  // Deletes an annotation set. Caller must have WRITE permission
-  // for the associated annotation set.
-  rpc DeleteAnnotationSet(DeleteAnnotationSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/annotationsets/{annotation_set_id}" };
-  }
-
-  // Searches for annotation sets that match the given criteria. Annotation sets
-  // are returned in an unspecified order. This order is consistent, such that
-  // two queries for the same content (regardless of page size) yield annotation
-  // sets in the same order across their respective streams of paginated
-  // responses. Caller must have READ permission for the queried datasets.
-  rpc SearchAnnotationSets(SearchAnnotationSetsRequest) returns (SearchAnnotationSetsResponse) {
-    option (google.api.http) = { post: "/v1/annotationsets/search" body: "*" };
-  }
-
-  // Creates a new annotation. Caller must have WRITE permission
-  // for the associated annotation set.
-  //
-  // The following fields are required:
-  //
-  // * [annotationSetId][google.genomics.v1.Annotation.annotation_set_id]
-  // * [referenceName][google.genomics.v1.Annotation.reference_name] or
-  //   [referenceId][google.genomics.v1.Annotation.reference_id]
-  //
-  // ### Transcripts
-  //
-  // For annotations of type TRANSCRIPT, the following fields of
-  // [transcript][google.genomics.v1.Annotation.transcript] must be provided:
-  //
-  // * [exons.start][google.genomics.v1.Transcript.Exon.start]
-  // * [exons.end][google.genomics.v1.Transcript.Exon.end]
-  //
-  // All other fields may be optionally specified, unless documented as being
-  // server-generated (for example, the `id` field). The annotated
-  // range must be no longer than 100Mbp (mega base pairs). See the
-  // [Annotation resource][google.genomics.v1.Annotation]
-  // for additional restrictions on each field.
-  rpc CreateAnnotation(CreateAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { post: "/v1/annotations" body: "annotation" };
-  }
-
-  // Creates one or more new annotations atomically. All annotations must
-  // belong to the same annotation set. Caller must have WRITE
-  // permission for this annotation set. For optimal performance, batch
-  // positionally adjacent annotations together.
-  //
-  // If the request has a systemic issue, such as an attempt to write to
-  // an inaccessible annotation set, the entire RPC will fail accordingly. For
-  // lesser data issues, when possible an error will be isolated to the
-  // corresponding batch entry in the response; the remaining well formed
-  // annotations will be created normally.
-  //
-  // For details on the requirements for each individual annotation resource,
-  // see
-  // [CreateAnnotation][google.genomics.v1.AnnotationServiceV1.CreateAnnotation].
-  rpc BatchCreateAnnotations(BatchCreateAnnotationsRequest) returns (BatchCreateAnnotationsResponse) {
-    option (google.api.http) = { post: "/v1/annotations:batchCreate" body: "*" };
-  }
-
-  // Gets an annotation. Caller must have READ permission
-  // for the associated annotation set.
-  rpc GetAnnotation(GetAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { get: "/v1/annotations/{annotation_id}" };
-  }
-
-  // Updates an annotation. Caller must have
-  // WRITE permission for the associated dataset.
-  rpc UpdateAnnotation(UpdateAnnotationRequest) returns (Annotation) {
-    option (google.api.http) = { put: "/v1/annotations/{annotation_id}" body: "annotation" };
-  }
-
-  // Deletes an annotation. Caller must have WRITE permission for
-  // the associated annotation set.
-  rpc DeleteAnnotation(DeleteAnnotationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/annotations/{annotation_id}" };
-  }
-
-  // Searches for annotations that match the given criteria. Results are
-  // ordered by genomic coordinate (by reference sequence, then position).
-  // Annotations with equivalent genomic coordinates are returned in an
-  // unspecified order. This order is consistent, such that two queries for the
-  // same content (regardless of page size) yield annotations in the same order
-  // across their respective streams of paginated responses. Caller must have
-  // READ permission for the queried annotation sets.
-  rpc SearchAnnotations(SearchAnnotationsRequest) returns (SearchAnnotationsResponse) {
-    option (google.api.http) = { post: "/v1/annotations/search" body: "*" };
-  }
-}
-
-// An annotation set is a logical grouping of annotations that share consistent
-// type information and provenance. Examples of annotation sets include 'all
-// genes from refseq', and 'all variant annotations from ClinVar'.
-message AnnotationSet {
-  // The server-generated annotation set ID, unique across all annotation sets.
-  string id = 1;
-
-  // The dataset to which this annotation set belongs.
-  string dataset_id = 2;
-
-  // The ID of the reference set that defines the coordinate space for this
-  // set's annotations.
-  string reference_set_id = 3;
-
-  // The display name for this annotation set.
-  string name = 4;
-
-  // The source URI describing the file from which this annotation set was
-  // generated, if any.
-  string source_uri = 5;
-
-  // The type of annotations contained within this set.
-  AnnotationType type = 6;
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 17;
-}
-
-// An annotation describes a region of reference genome. The value of an
-// annotation may be one of several canonical types, supplemented by arbitrary
-// info tags. An annotation is not inherently associated with a specific
-// sample or individual (though a client could choose to use annotations in
-// this way). Example canonical annotation types are `GENE` and
-// `VARIANT`.
-message Annotation {
-  // The server-generated annotation ID, unique across all annotations.
-  string id = 1;
-
-  // The annotation set to which this annotation belongs.
-  string annotation_set_id = 2;
-
-  // The display name of this annotation.
-  string name = 3;
-
-  // The ID of the Google Genomics reference associated with this range.
-  string reference_id = 4;
-
-  // The display name corresponding to the reference specified by
-  // `referenceId`, for example `chr1`, `1`, or `chrX`.
-  string reference_name = 5;
-
-  // The start position of the range on the reference, 0-based inclusive.
-  int64 start = 6;
-
-  // The end position of the range on the reference, 0-based exclusive.
-  int64 end = 7;
-
-  // Whether this range refers to the reverse strand, as opposed to the forward
-  // strand. Note that regardless of this field, the start/end position of the
-  // range always refer to the forward strand.
-  bool reverse_strand = 8;
-
-  // The data type for this annotation. Must match the containing annotation
-  // set's type.
-  AnnotationType type = 9;
-
-  oneof value {
-    // A variant annotation, which describes the effect of a variant on the
-    // genome, the coding sequence, and/or higher level consequences at the
-    // organism level e.g. pathogenicity. This field is only set for annotations
-    // of type `VARIANT`.
-    VariantAnnotation variant = 10;
-
-    // A transcript value represents the assertion that a particular region of
-    // the reference genome may be transcribed as RNA. An alternative splicing
-    // pattern would be represented as a separate transcript object. This field
-    // is only set for annotations of type `TRANSCRIPT`.
-    Transcript transcript = 11;
-  }
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 12;
-}
-
-message VariantAnnotation {
-  message ClinicalCondition {
-    // A set of names for the condition.
-    repeated string names = 1;
-
-    // The set of external IDs for this condition.
-    repeated ExternalId external_ids = 2;
-
-    // The MedGen concept id associated with this gene.
-    // Search for these IDs at http://www.ncbi.nlm.nih.gov/medgen/
-    string concept_id = 3;
-
-    // The OMIM id for this condition.
-    // Search for these IDs at http://omim.org/
-    string omim_id = 4;
-  }
-
-  enum Type {
-    TYPE_UNSPECIFIED = 0;
-
-    // `TYPE_OTHER` should be used when no other Type will suffice.
-    // Further explanation of the variant type may be included in the
-    // [info][google.genomics.v1.Annotation.info] field.
-    TYPE_OTHER = 1;
-
-    // `INSERTION` indicates an insertion.
-    INSERTION = 2;
-
-    // `DELETION` indicates a deletion.
-    DELETION = 3;
-
-    // `SUBSTITUTION` indicates a block substitution of
-    // two or more nucleotides.
-    SUBSTITUTION = 4;
-
-    // `SNP` indicates a single nucleotide polymorphism.
-    SNP = 5;
-
-    // `STRUCTURAL` indicates a large structural variant,
-    // including chromosomal fusions, inversions, etc.
-    STRUCTURAL = 6;
-
-    // `CNV` indicates a variation in copy number.
-    CNV = 7;
-  }
-
-  enum Effect {
-    EFFECT_UNSPECIFIED = 0;
-
-    // `EFFECT_OTHER` should be used when no other Effect
-    // will suffice.
-    EFFECT_OTHER = 1;
-
-    // `FRAMESHIFT` indicates a mutation in which the insertion or
-    // deletion of nucleotides resulted in a frameshift change.
-    FRAMESHIFT = 2;
-
-    // `FRAME_PRESERVING_INDEL` indicates a mutation in which a
-    // multiple of three nucleotides has been inserted or deleted, resulting
-    // in no change to the reading frame of the coding sequence.
-    FRAME_PRESERVING_INDEL = 3;
-
-    // `SYNONYMOUS_SNP` indicates a single nucleotide polymorphism
-    // mutation that results in no amino acid change.
-    SYNONYMOUS_SNP = 4;
-
-    // `NONSYNONYMOUS_SNP` indicates a single nucleotide
-    // polymorphism mutation that results in an amino acid change.
-    NONSYNONYMOUS_SNP = 5;
-
-    // `STOP_GAIN` indicates a mutation that leads to the creation
-    // of a stop codon at the variant site. Frameshift mutations creating
-    // downstream stop codons do not count as `STOP_GAIN`.
-    STOP_GAIN = 6;
-
-    // `STOP_LOSS` indicates a mutation that eliminates a
-    // stop codon at the variant site.
-    STOP_LOSS = 7;
-
-    // `SPLICE_SITE_DISRUPTION` indicates that this variant is
-    // found in a splice site for the associated transcript, and alters the
-    // normal splicing pattern.
-    SPLICE_SITE_DISRUPTION = 8;
-  }
-
-  enum ClinicalSignificance {
-    CLINICAL_SIGNIFICANCE_UNSPECIFIED = 0;
-
-    // `OTHER` should be used when no other clinical significance
-    // value will suffice.
-    CLINICAL_SIGNIFICANCE_OTHER = 1;
-
-    UNCERTAIN = 2;
-
-    BENIGN = 3;
-
-    LIKELY_BENIGN = 4;
-
-    LIKELY_PATHOGENIC = 5;
-
-    PATHOGENIC = 6;
-
-    DRUG_RESPONSE = 7;
-
-    HISTOCOMPATIBILITY = 8;
-
-    CONFERS_SENSITIVITY = 9;
-
-    RISK_FACTOR = 10;
-
-    ASSOCIATION = 11;
-
-    PROTECTIVE = 12;
-
-    // `MULTIPLE_REPORTED` should be used when multiple clinical
-    // signficances are reported for a variant. The original clinical
-    // significance values may be provided in the `info` field.
-    MULTIPLE_REPORTED = 13;
-  }
-
-  // Type has been adapted from ClinVar's list of variant types.
-  Type type = 1;
-
-  // Effect of the variant on the coding sequence.
-  Effect effect = 2;
-
-  // The alternate allele for this variant. If multiple alternate alleles
-  // exist at this location, create a separate variant for each one, as they
-  // may represent distinct conditions.
-  string alternate_bases = 3;
-
-  // Google annotation ID of the gene affected by this variant. This should
-  // be provided when the variant is created.
-  string gene_id = 4;
-
-  // Google annotation IDs of the transcripts affected by this variant. These
-  // should be provided when the variant is created.
-  repeated string transcript_ids = 5;
-
-  // The set of conditions associated with this variant.
-  // A condition describes the way a variant influences human health.
-  repeated ClinicalCondition conditions = 6;
-
-  // Describes the clinical significance of a variant.
-  // It is adapted from the ClinVar controlled vocabulary for clinical
-  // significance described at:
-  // http://www.ncbi.nlm.nih.gov/clinvar/docs/clinsig/
-  ClinicalSignificance clinical_significance = 7;
-}
-
-// A transcript represents the assertion that a particular region of the
-// reference genome may be transcribed as RNA.
-message Transcript {
-  message Exon {
-    // The start position of the exon on this annotation's reference sequence,
-    // 0-based inclusive. Note that this is relative to the reference start, and
-    // **not** the containing annotation start.
-    int64 start = 1;
-
-    // The end position of the exon on this annotation's reference sequence,
-    // 0-based exclusive. Note that this is relative to the reference start, and
-    // *not* the containing annotation start.
-    int64 end = 2;
-
-    // The frame of this exon. Contains a value of 0, 1, or 2, which indicates
-    // the offset of the first coding base of the exon within the reading frame
-    // of the coding DNA sequence, if any. This field is dependent on the
-    // strandedness of this annotation (see
-    // [Annotation.reverse_strand][google.genomics.v1.Annotation.reverse_strand]).
-    // For forward stranded annotations, this offset is relative to the
-    // [exon.start][google.genomics.v1.Transcript.Exon.start]. For reverse
-    // strand annotations, this offset is relative to the
-    // [exon.end][google.genomics.v1.Transcript.Exon.end] `- 1`.
-    //
-    // Unset if this exon does not intersect the coding sequence. Upon creation
-    // of a transcript, the frame must be populated for all or none of the
-    // coding exons.
-    google.protobuf.Int32Value frame = 3;
-  }
-
-  message CodingSequence {
-    // The start of the coding sequence on this annotation's reference sequence,
-    // 0-based inclusive. Note that this position is relative to the reference
-    // start, and *not* the containing annotation start.
-    int64 start = 1;
-
-    // The end of the coding sequence on this annotation's reference sequence,
-    // 0-based exclusive. Note that this position is relative to the reference
-    // start, and *not* the containing annotation start.
-    int64 end = 2;
-  }
-
-  // The annotation ID of the gene from which this transcript is transcribed.
-  string gene_id = 1;
-
-  // The <a href="http://en.wikipedia.org/wiki/Exon">exons</a> that compose
-  // this transcript. This field should be unset for genomes where transcript
-  // splicing does not occur, for example prokaryotes.
-  //
-  // Introns are regions of the transcript that are not included in the
-  // spliced RNA product. Though not explicitly modeled here, intron ranges can
-  // be deduced; all regions of this transcript that are not exons are introns.
-  //
-  // Exonic sequences do not necessarily code for a translational product
-  // (amino acids). Only the regions of exons bounded by the
-  // [codingSequence][google.genomics.v1.Transcript.coding_sequence] correspond
-  // to coding DNA sequence.
-  //
-  // Exons are ordered by start position and may not overlap.
-  repeated Exon exons = 2;
-
-  // The range of the coding sequence for this transcript, if any. To determine
-  // the exact ranges of coding sequence, intersect this range with those of the
-  // [exons][google.genomics.v1.Transcript.exons], if any. If there are any
-  // [exons][google.genomics.v1.Transcript.exons], the
-  // [codingSequence][google.genomics.v1.Transcript.coding_sequence] must start
-  // and end within them.
-  //
-  // Note that in some cases, the reference genome will not exactly match the
-  // observed mRNA transcript e.g. due to variance in the source genome from
-  // reference. In these cases,
-  // [exon.frame][google.genomics.v1.Transcript.Exon.frame] will not necessarily
-  // match the expected reference reading frame and coding exon reference bases
-  // cannot necessarily be concatenated to produce the original transcript mRNA.
-  CodingSequence coding_sequence = 3;
-}
-
-message ExternalId {
-  // The name of the source of this data.
-  string source_name = 1;
-
-  // The id used by the source of this data.
-  string id = 2;
-}
-
-message CreateAnnotationSetRequest {
-  // The annotation set to create.
-  AnnotationSet annotation_set = 1;
-}
-
-message GetAnnotationSetRequest {
-  // The ID of the annotation set to be retrieved.
-  string annotation_set_id = 1;
-}
-
-message UpdateAnnotationSetRequest {
-  // The ID of the annotation set to be updated.
-  string annotation_set_id = 1;
-
-  // The new annotation set.
-  AnnotationSet annotation_set = 2;
-
-  // An optional mask specifying which fields to update. Mutable fields are
-  // [name][google.genomics.v1.AnnotationSet.name],
-  // [source_uri][google.genomics.v1.AnnotationSet.source_uri], and
-  // [info][google.genomics.v1.AnnotationSet.info]. If unspecified, all
-  // mutable fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteAnnotationSetRequest {
-  // The ID of the annotation set to be deleted.
-  string annotation_set_id = 1;
-}
-
-message SearchAnnotationSetsRequest {
-  // Required. The dataset IDs to search within. Caller must have `READ` access
-  // to these datasets.
-  repeated string dataset_ids = 1;
-
-  // If specified, only annotation sets associated with the given reference set
-  // are returned.
-  string reference_set_id = 2;
-
-  // Only return annotations sets for which a substring of the name matches this
-  // string (case insensitive).
-  string name = 3;
-
-  // If specified, only annotation sets that have any of these types are
-  // returned.
-  repeated AnnotationType types = 4;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 5;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 128. The maximum value is 1024.
-  int32 page_size = 6;
-}
-
-message SearchAnnotationSetsResponse {
-  // The matching annotation sets.
-  repeated AnnotationSet annotation_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateAnnotationRequest {
-  // The annotation to be created.
-  Annotation annotation = 1;
-}
-
-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 {
-  message Entry {
-    // The creation status.
-    google.rpc.Status status = 1;
-
-    // The created annotation, if creation was successful.
-    Annotation annotation = 2;
-  }
-
-  // The resulting per-annotation entries, ordered consistently with the
-  // original request.
-  repeated Entry entries = 1;
-}
-
-message GetAnnotationRequest {
-  // The ID of the annotation to be retrieved.
-  string annotation_id = 1;
-}
-
-message UpdateAnnotationRequest {
-  // The ID of the annotation to be updated.
-  string annotation_id = 1;
-
-  // The new annotation.
-  Annotation annotation = 2;
-
-  // An optional mask specifying which fields to update. Mutable fields are
-  // [name][google.genomics.v1.Annotation.name],
-  // [variant][google.genomics.v1.Annotation.variant],
-  // [transcript][google.genomics.v1.Annotation.transcript], and
-  // [info][google.genomics.v1.Annotation.info]. If unspecified, all mutable
-  // fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteAnnotationRequest {
-  // The ID of the annotation to be deleted.
-  string annotation_id = 1;
-}
-
-message SearchAnnotationsRequest {
-  // Required. The annotation sets to search within. The caller must have
-  // `READ` access to these annotation sets.
-  // All queried annotation sets must have the same type.
-  repeated string annotation_set_ids = 1;
-
-  // Required. `reference_id` or `reference_name` must be set.
-  oneof reference {
-    // The ID of the reference to query.
-    string reference_id = 2;
-
-    // The name of the reference to query, within the reference set associated
-    // with this query.
-    string reference_name = 3;
-  }
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified,
-  // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or
-  // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name]
-  // must be specified. Defaults to 0.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // [referenceId][google.genomics.v1.SearchAnnotationsRequest.reference_id] or
-  // [referenceName][google.genomics.v1.SearchAnnotationsRequest.reference_name]
-  // must be specified, Defaults to the length of the reference.
-  int64 end = 5;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 6;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 2048.
-  int32 page_size = 7;
-}
-
-message SearchAnnotationsResponse {
-  // The matching annotations.
-  repeated Annotation annotations = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// When an [Annotation][google.genomics.v1.Annotation] or
-// [AnnotationSet][google.genomics.v1.AnnotationSet] is created, if `type` is
-// not specified it will be set to `GENERIC`.
-enum AnnotationType {
-  ANNOTATION_TYPE_UNSPECIFIED = 0;
-
-  // A `GENERIC` annotation type should be used when no other annotation
-  // type will suffice. This represents an untyped annotation of the reference
-  // genome.
-  GENERIC = 1;
-
-  // A `VARIANT` annotation type.
-  VARIANT = 2;
-
-  // A `GENE` annotation type represents the existence of a gene at the
-  // associated reference coordinates. The start coordinate is typically the
-  // gene's transcription start site and the end is typically the end of the
-  // gene's last exon.
-  GENE = 3;
-
-  // A `TRANSCRIPT` annotation type represents the assertion that a
-  // particular region of the reference genome may be transcribed as RNA.
-  TRANSCRIPT = 4;
-}
diff --git a/googleapis/genomics/v1/cigar.pb.go b/googleapis/genomics/v1/cigar.pb.go
index 3c4fe575..2824a05a 100644
--- a/googleapis/genomics/v1/cigar.pb.go
+++ b/googleapis/genomics/v1/cigar.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/cigar.proto
+// source: google/genomics/v1/cigar.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -113,39 +113,57 @@ func (m *CigarUnit) String() string            { return proto.CompactTextString(
 func (*CigarUnit) ProtoMessage()               {}
 func (*CigarUnit) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *CigarUnit) GetOperation() CigarUnit_Operation {
+	if m != nil {
+		return m.Operation
+	}
+	return CigarUnit_OPERATION_UNSPECIFIED
+}
+
+func (m *CigarUnit) GetOperationLength() int64 {
+	if m != nil {
+		return m.OperationLength
+	}
+	return 0
+}
+
+func (m *CigarUnit) GetReferenceSequence() string {
+	if m != nil {
+		return m.ReferenceSequence
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*CigarUnit)(nil), "google.genomics.v1.CigarUnit")
 	proto.RegisterEnum("google.genomics.v1.CigarUnit_Operation", CigarUnit_Operation_name, CigarUnit_Operation_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/cigar.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/genomics/v1/cigar.proto", fileDescriptor1) }
 
 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,
+	// 367 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x51, 0xcf, 0x0e, 0x93, 0x30,
+	0x1c, 0xb6, 0x63, 0x6e, 0xe3, 0x97, 0xb8, 0x75, 0x35, 0x33, 0xd3, 0x18, 0xb3, 0xec, 0xe2, 0x3c,
+	0x08, 0x99, 0xde, 0xf4, 0xc4, 0xa0, 0x73, 0x8d, 0x0c, 0x10, 0xd8, 0xc5, 0x0b, 0x41, 0x52, 0x91,
+	0x64, 0x6b, 0x11, 0x70, 0xaf, 0xe5, 0x1b, 0xf9, 0x1c, 0x1e, 0x0d, 0x30, 0x98, 0x89, 0xde, 0xbe,
+	0x7e, 0xff, 0x9a, 0xfc, 0x3e, 0x78, 0x91, 0x4a, 0x99, 0x9e, 0xb9, 0x9e, 0x72, 0x21, 0x2f, 0x59,
+	0x52, 0xea, 0xd7, 0xad, 0x9e, 0x64, 0x69, 0x5c, 0x68, 0x79, 0x21, 0x2b, 0x49, 0x48, 0xab, 0x6b,
+	0x9d, 0xae, 0x5d, 0xb7, 0xcf, 0x9e, 0xdf, 0x32, 0x71, 0x9e, 0xe9, 0xb1, 0x10, 0xb2, 0x8a, 0xab,
+	0x4c, 0x8a, 0xb2, 0x4d, 0xac, 0x7f, 0x0d, 0x40, 0x35, 0xeb, 0x86, 0x93, 0xc8, 0x2a, 0x42, 0x41,
+	0x95, 0x39, 0x2f, 0x1a, 0xc7, 0x12, 0xad, 0xd0, 0x66, 0xfa, 0xe6, 0xa5, 0xf6, 0x6f, 0xa7, 0xd6,
+	0x27, 0x34, 0xb7, 0xb3, 0xfb, 0xf7, 0x24, 0x79, 0x05, 0xb8, 0x7f, 0x44, 0x67, 0x2e, 0xd2, 0xea,
+	0xdb, 0x72, 0xb0, 0x42, 0x1b, 0xc5, 0x9f, 0xf5, 0xbc, 0xdd, 0xd0, 0xe4, 0x35, 0x90, 0x82, 0x7f,
+	0xe5, 0x05, 0x17, 0x09, 0x8f, 0x4a, 0xfe, 0xfd, 0x47, 0x0d, 0x96, 0xca, 0x0a, 0x6d, 0x54, 0x7f,
+	0xde, 0x2b, 0xc1, 0x4d, 0x58, 0xff, 0x44, 0xa0, 0xf6, 0x5f, 0x92, 0xa7, 0xb0, 0x70, 0x3d, 0xea,
+	0x1b, 0x21, 0x73, 0x9d, 0xe8, 0xe4, 0x04, 0x1e, 0x35, 0xd9, 0x9e, 0x51, 0x0b, 0x3f, 0x20, 0x8f,
+	0x61, 0x66, 0xd8, 0xec, 0x83, 0x73, 0xa4, 0x4e, 0x18, 0x1d, 0x8d, 0xd0, 0x3c, 0x60, 0x44, 0x00,
+	0x46, 0xcc, 0x09, 0xa8, 0x1f, 0xe2, 0x41, 0x8d, 0x2d, 0x6a, 0xd3, 0x90, 0x62, 0x85, 0x4c, 0x60,
+	0x18, 0x7c, 0x64, 0x1e, 0x1e, 0x92, 0x47, 0xa0, 0x9a, 0x36, 0xf3, 0xa2, 0xc0, 0xdd, 0x87, 0xf8,
+	0x61, 0xff, 0x3c, 0x18, 0xbe, 0x85, 0x47, 0x64, 0x0c, 0x8a, 0x67, 0x58, 0x78, 0x4c, 0x08, 0x4c,
+	0x03, 0xfa, 0xe9, 0x44, 0x1d, 0x93, 0xde, 0xca, 0x27, 0x64, 0x01, 0xf3, 0x3b, 0xc7, 0x82, 0x96,
+	0x56, 0x77, 0x1c, 0x9e, 0x24, 0xf2, 0xf2, 0x9f, 0x23, 0xee, 0xa0, 0xb9, 0xa2, 0x57, 0xcf, 0xe0,
+	0xa1, 0xcf, 0xef, 0x3a, 0x87, 0x3c, 0xc7, 0x22, 0xd5, 0x64, 0x91, 0xd6, 0x2b, 0x37, 0x23, 0xe9,
+	0xad, 0x14, 0xe7, 0x59, 0xf9, 0xf7, 0xf2, 0xef, 0x3b, 0xfc, 0x1b, 0xa1, 0x2f, 0xa3, 0xc6, 0xf9,
+	0xf6, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x98, 0xcc, 0xce, 0xde, 0x22, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/cigar.proto b/googleapis/genomics/v1/cigar.proto
deleted file mode 100644
index 33f1b5a1..00000000
--- a/googleapis/genomics/v1/cigar.proto
+++ /dev/null
@@ -1,98 +0,0 @@
-// 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.genomics.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 = "CigarProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A single CIGAR operation.
-message CigarUnit {
-  // Describes the different types of CIGAR alignment operations that exist.
-  // Used wherever CIGAR alignments are used.
-  enum Operation {
-    OPERATION_UNSPECIFIED = 0;
-
-    // An alignment match indicates that a sequence can be aligned to the
-    // reference without evidence of an INDEL. Unlike the
-    // `SEQUENCE_MATCH` and `SEQUENCE_MISMATCH` operators,
-    // the `ALIGNMENT_MATCH` operator does not indicate whether the
-    // reference and read sequences are an exact match. This operator is
-    // equivalent to SAM's `M`.
-    ALIGNMENT_MATCH = 1;
-
-    // The insert operator indicates that the read contains evidence of bases
-    // being inserted into the reference. This operator is equivalent to SAM's
-    // `I`.
-    INSERT = 2;
-
-    // The delete operator indicates that the read contains evidence of bases
-    // being deleted from the reference. This operator is equivalent to SAM's
-    // `D`.
-    DELETE = 3;
-
-    // The skip operator indicates that this read skips a long segment of the
-    // reference, but the bases have not been deleted. This operator is commonly
-    // used when working with RNA-seq data, where reads may skip long segments
-    // of the reference between exons. This operator is equivalent to SAM's
-    // `N`.
-    SKIP = 4;
-
-    // The soft clip operator indicates that bases at the start/end of a read
-    // have not been considered during alignment. This may occur if the majority
-    // of a read maps, except for low quality bases at the start/end of a read.
-    // This operator is equivalent to SAM's `S`. Bases that are soft
-    // clipped will still be stored in the read.
-    CLIP_SOFT = 5;
-
-    // The hard clip operator indicates that bases at the start/end of a read
-    // have been omitted from this alignment. This may occur if this linear
-    // alignment is part of a chimeric alignment, or if the read has been
-    // trimmed (for example, during error correction or to trim poly-A tails for
-    // RNA-seq). This operator is equivalent to SAM's `H`.
-    CLIP_HARD = 6;
-
-    // The pad operator indicates that there is padding in an alignment. This
-    // operator is equivalent to SAM's `P`.
-    PAD = 7;
-
-    // This operator indicates that this portion of the aligned sequence exactly
-    // matches the reference. This operator is equivalent to SAM's `=`.
-    SEQUENCE_MATCH = 8;
-
-    // This operator indicates that this portion of the aligned sequence is an
-    // alignment match to the reference, but a sequence mismatch. This can
-    // indicate a SNP or a read error. This operator is equivalent to SAM's
-    // `X`.
-    SEQUENCE_MISMATCH = 9;
-  }
-
-  Operation operation = 1;
-
-  // The number of genomic bases that the operation runs for. Required.
-  int64 operation_length = 2;
-
-  // `referenceSequence` is only used at mismatches
-  // (`SEQUENCE_MISMATCH`) and deletions (`DELETE`).
-  // Filling this field replaces SAM's MD tag. If the relevant information is
-  // not available, this field is unset.
-  string reference_sequence = 3;
-}
diff --git a/googleapis/genomics/v1/datasets.pb.go b/googleapis/genomics/v1/datasets.pb.go
index 49bc147a..5de0e939 100644
--- a/googleapis/genomics/v1/datasets.pb.go
+++ b/googleapis/genomics/v1/datasets.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/datasets.proto
+// source: google/genomics/v1/datasets.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 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_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf6 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -44,6 +44,27 @@ func (m *Dataset) String() string            { return proto.CompactTextString(m)
 func (*Dataset) ProtoMessage()               {}
 func (*Dataset) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
+func (m *Dataset) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Dataset) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Dataset) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Dataset) GetCreateTime() *google_protobuf6.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -69,6 +90,27 @@ func (m *ListDatasetsRequest) String() string            { return proto.CompactT
 func (*ListDatasetsRequest) ProtoMessage()               {}
 func (*ListDatasetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
+func (m *ListDatasetsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListDatasetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListDatasetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The dataset list response.
 type ListDatasetsResponse struct {
 	// The list of matching Datasets.
@@ -91,6 +133,13 @@ func (m *ListDatasetsResponse) GetDatasets() []*Dataset {
 	return nil
 }
 
+func (m *ListDatasetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateDatasetRequest struct {
 	// The dataset to be created. Must contain projectId and name.
 	Dataset *Dataset `protobuf:"bytes,1,opt,name=dataset" json:"dataset,omitempty"`
@@ -125,6 +174,13 @@ func (m *UpdateDatasetRequest) String() string            { return proto.Compact
 func (*UpdateDatasetRequest) ProtoMessage()               {}
 func (*UpdateDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
+func (m *UpdateDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 func (m *UpdateDatasetRequest) GetDataset() *Dataset {
 	if m != nil {
 		return m.Dataset
@@ -149,6 +205,13 @@ func (m *DeleteDatasetRequest) String() string            { return proto.Compact
 func (*DeleteDatasetRequest) ProtoMessage()               {}
 func (*DeleteDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
 
+func (m *DeleteDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 type UndeleteDatasetRequest struct {
 	// The ID of the dataset to be undeleted.
 	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId" json:"dataset_id,omitempty"`
@@ -159,6 +222,13 @@ func (m *UndeleteDatasetRequest) String() string            { return proto.Compa
 func (*UndeleteDatasetRequest) ProtoMessage()               {}
 func (*UndeleteDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
 
+func (m *UndeleteDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 type GetDatasetRequest struct {
 	// The ID of the dataset.
 	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId" json:"dataset_id,omitempty"`
@@ -169,6 +239,13 @@ func (m *GetDatasetRequest) String() string            { return proto.CompactTex
 func (*GetDatasetRequest) ProtoMessage()               {}
 func (*GetDatasetRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
+func (m *GetDatasetRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Dataset)(nil), "google.genomics.v1.Dataset")
 	proto.RegisterType((*ListDatasetsRequest)(nil), "google.genomics.v1.ListDatasetsRequest")
@@ -641,64 +718,61 @@ var _DatasetServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/datasets.proto",
+	Metadata: "google/genomics/v1/datasets.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/datasets.proto", fileDescriptor2)
-}
+func init() { proto.RegisterFile("google/genomics/v1/datasets.proto", fileDescriptor2) }
 
 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,
+	// 786 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xd1, 0x4e, 0x13, 0x4d,
+	0x14, 0xce, 0x16, 0xfe, 0x1f, 0x7a, 0xa0, 0xa0, 0x63, 0xc5, 0xda, 0x8a, 0x96, 0x8d, 0x42, 0xad,
+	0xba, 0x4d, 0x6b, 0x08, 0x49, 0x89, 0x37, 0x88, 0x12, 0x12, 0x49, 0x9a, 0x02, 0x5e, 0x78, 0xd3,
+	0x0c, 0xdd, 0xa1, 0x8e, 0x74, 0x77, 0xd6, 0x9d, 0x29, 0x28, 0xc8, 0x0d, 0x77, 0x5c, 0xfb, 0x00,
+	0x26, 0xde, 0xf9, 0x3c, 0xbe, 0x82, 0x0f, 0xe1, 0xa5, 0x99, 0xd9, 0xd9, 0x76, 0xdb, 0x2e, 0x05,
+	0x8c, 0x77, 0xdb, 0x73, 0xbe, 0x73, 0xbe, 0xef, 0xcc, 0xf9, 0x76, 0xba, 0xb0, 0xd0, 0x62, 0xac,
+	0xd5, 0x26, 0xa5, 0x16, 0x71, 0x99, 0x43, 0x9b, 0xbc, 0x74, 0x58, 0x2e, 0xd9, 0x58, 0x60, 0x4e,
+	0x04, 0xb7, 0x3c, 0x9f, 0x09, 0x86, 0x50, 0x00, 0xb1, 0x42, 0x88, 0x75, 0x58, 0xce, 0xde, 0xd3,
+	0x65, 0xd8, 0xa3, 0x25, 0xec, 0xba, 0x4c, 0x60, 0x41, 0x99, 0xab, 0x2b, 0xb2, 0xf7, 0x75, 0x96,
+	0x62, 0x47, 0xf6, 0xa3, 0xd8, 0x69, 0x78, 0xac, 0x4d, 0x9b, 0x9f, 0x75, 0x3e, 0xdb, 0x9f, 0xef,
+	0xcb, 0xe5, 0x74, 0x4e, 0xfd, 0xda, 0xeb, 0xec, 0x97, 0x88, 0xe3, 0x89, 0x30, 0x99, 0x1f, 0x4c,
+	0xee, 0x53, 0xd2, 0xb6, 0x1b, 0x0e, 0xe6, 0x07, 0x1a, 0xf1, 0x60, 0x10, 0x21, 0xa8, 0x43, 0xb8,
+	0xc0, 0x8e, 0x17, 0x00, 0xcc, 0x73, 0x03, 0x26, 0xd6, 0x83, 0x01, 0xd1, 0x0c, 0x24, 0xa8, 0x9d,
+	0x31, 0xf2, 0x46, 0x21, 0x59, 0x4f, 0x50, 0x1b, 0xcd, 0x03, 0x78, 0x3e, 0xfb, 0x40, 0x9a, 0xa2,
+	0x41, 0xed, 0x4c, 0x42, 0xc5, 0x93, 0x3a, 0xb2, 0x69, 0x23, 0x04, 0xe3, 0x2e, 0x76, 0x48, 0x66,
+	0x4c, 0x25, 0xd4, 0x33, 0x5a, 0x85, 0xa9, 0xa6, 0x4f, 0xb0, 0x20, 0x0d, 0x49, 0x94, 0x19, 0xcf,
+	0x1b, 0x85, 0xa9, 0x4a, 0xd6, 0xd2, 0x47, 0x16, 0xaa, 0xb0, 0x76, 0x42, 0x15, 0x75, 0x08, 0xe0,
+	0x32, 0x60, 0x7a, 0x70, 0xeb, 0x0d, 0xe5, 0x42, 0xcb, 0xe1, 0x75, 0xf2, 0xb1, 0x43, 0xb8, 0x18,
+	0x90, 0x61, 0x0c, 0xca, 0xc8, 0x41, 0xd2, 0xc3, 0x2d, 0xd2, 0xe0, 0xf4, 0x98, 0x28, 0x91, 0xff,
+	0xd5, 0x27, 0x65, 0x60, 0x9b, 0x1e, 0x13, 0x55, 0x2b, 0x93, 0x82, 0x1d, 0x10, 0x57, 0x2b, 0x55,
+	0xf0, 0x1d, 0x19, 0x30, 0x8f, 0x20, 0xdd, 0xcf, 0xc8, 0x3d, 0xe6, 0x72, 0x82, 0x56, 0x60, 0x32,
+	0xdc, 0x7a, 0xc6, 0xc8, 0x8f, 0x15, 0xa6, 0x2a, 0x39, 0x6b, 0x78, 0xed, 0x96, 0xae, 0xab, 0x77,
+	0xc1, 0x68, 0x11, 0x66, 0x5d, 0xf2, 0x49, 0x34, 0x22, 0xa4, 0xc1, 0xb9, 0xa5, 0x64, 0xb8, 0xd6,
+	0x25, 0xde, 0x82, 0xf4, 0x4b, 0x35, 0x78, 0xd8, 0x42, 0xcf, 0xba, 0x0c, 0x13, 0xba, 0x97, 0x1a,
+	0xf4, 0x12, 0xde, 0x10, 0x6b, 0xfe, 0x30, 0x20, 0xbd, 0xeb, 0xd9, 0xc3, 0xfd, 0xe6, 0x01, 0x34,
+	0x26, 0x72, 0x76, 0x3a, 0xb2, 0x69, 0x47, 0xe9, 0x12, 0x57, 0xa7, 0x93, 0x5b, 0xee, 0x28, 0x36,
+	0x65, 0x35, 0x75, 0xac, 0x71, 0x5b, 0x7e, 0x2d, 0xdd, 0xb8, 0x85, 0xf9, 0x41, 0x1d, 0x02, 0xb8,
+	0x7c, 0x36, 0x97, 0x21, 0xbd, 0x4e, 0xda, 0xe4, 0x9a, 0x52, 0xcd, 0x15, 0x98, 0xdb, 0x75, 0xed,
+	0xbf, 0x28, 0xac, 0xc0, 0xcd, 0x0d, 0x22, 0xae, 0x55, 0x53, 0xf9, 0x96, 0x84, 0x1b, 0xba, 0x62,
+	0x9b, 0xf8, 0x87, 0xb4, 0x49, 0xde, 0x96, 0xd1, 0x11, 0x4c, 0x47, 0xcd, 0x82, 0x96, 0xe2, 0xce,
+	0x2a, 0xc6, 0xc0, 0xd9, 0xc2, 0xe5, 0xc0, 0xc0, 0x77, 0x66, 0xfa, 0xec, 0xe7, 0xaf, 0xaf, 0x89,
+	0x19, 0x34, 0x1d, 0xbd, 0x77, 0x50, 0x07, 0x52, 0x7d, 0x66, 0x41, 0xb1, 0x0d, 0xe3, 0xfc, 0x94,
+	0x1d, 0xb5, 0x4f, 0x73, 0x5e, 0xb1, 0xdd, 0x31, 0xfb, 0xd8, 0xaa, 0xdd, 0x2d, 0x73, 0x80, 0xde,
+	0xc1, 0xa1, 0x47, 0x71, 0x9d, 0x86, 0x0e, 0x76, 0x34, 0xe1, 0x82, 0x22, 0xcc, 0xa1, 0xbb, 0x51,
+	0xc2, 0xd2, 0x49, 0x6f, 0x13, 0xa7, 0xe8, 0xcc, 0x80, 0x54, 0x9f, 0x93, 0xe3, 0x87, 0x8d, 0x33,
+	0xfb, 0x68, 0xee, 0xa2, 0xe2, 0x7e, 0x58, 0xb9, 0x98, 0xbb, 0x37, 0xb9, 0x80, 0x54, 0x9f, 0x45,
+	0xe3, 0x35, 0xc4, 0xb9, 0x38, 0x3b, 0x37, 0xf4, 0x16, 0xbc, 0x92, 0x17, 0x76, 0x38, 0x7a, 0x71,
+	0xc4, 0xe8, 0xe7, 0x06, 0xcc, 0x0e, 0x58, 0x1c, 0x15, 0x63, 0x87, 0x8f, 0x7d, 0x0f, 0x46, 0x8f,
+	0xff, 0x4c, 0xf1, 0x2f, 0x99, 0xe6, 0xc5, 0xe3, 0x77, 0x74, 0xdb, 0xaa, 0x51, 0x44, 0x5f, 0x60,
+	0x7a, 0x9b, 0x88, 0x4d, 0xec, 0xd4, 0xd4, 0x9f, 0x11, 0x32, 0xc3, 0xde, 0x14, 0x3b, 0xb2, 0x6d,
+	0x34, 0x19, 0xf2, 0xdf, 0x1e, 0xc0, 0x04, 0x59, 0xb3, 0xac, 0x98, 0x9f, 0x98, 0x8b, 0x92, 0xf9,
+	0xc4, 0x27, 0x9c, 0x75, 0xfc, 0x26, 0x79, 0xd1, 0xd5, 0x50, 0x3c, 0xad, 0xf2, 0x48, 0x37, 0xcd,
+	0xbe, 0x31, 0x8a, 0x7d, 0xe3, 0x9f, 0xb2, 0xb7, 0x06, 0xd8, 0xbf, 0x1b, 0x80, 0x76, 0x08, 0x57,
+	0x41, 0xe2, 0x3b, 0x94, 0x73, 0xf9, 0x5f, 0xde, 0xf3, 0x80, 0x26, 0x18, 0x86, 0x84, 0x52, 0x1e,
+	0x5f, 0x01, 0xa9, 0x5f, 0xf8, 0x15, 0x25, 0xaf, 0x6c, 0x3e, 0xbd, 0x58, 0x9e, 0x18, 0xaa, 0xae,
+	0x1a, 0xc5, 0xb5, 0xf7, 0x30, 0xd7, 0x64, 0x4e, 0xcc, 0xc6, 0xd7, 0x52, 0xe1, 0xad, 0x52, 0x93,
+	0x0e, 0xac, 0x19, 0xef, 0xaa, 0x21, 0x88, 0xb5, 0xb1, 0xdb, 0xb2, 0x98, 0xdf, 0x92, 0x9f, 0x37,
+	0xca, 0x9f, 0xa5, 0x20, 0x85, 0x3d, 0xca, 0xa3, 0x9f, 0x3c, 0xab, 0xe1, 0xf3, 0x6f, 0xc3, 0xd8,
+	0xfb, 0x5f, 0x21, 0x9f, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff, 0x87, 0x48, 0x07, 0xbb, 0x1b, 0x09,
+	0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/datasets.proto b/googleapis/genomics/v1/datasets.proto
deleted file mode 100644
index 7f5e7485..00000000
--- a/googleapis/genomics/v1/datasets.proto
+++ /dev/null
@@ -1,211 +0,0 @@
-// 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.genomics.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 = "DatasetsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// This service manages datasets, which are collections of genomic data.
-service DatasetServiceV1 {
-  // Lists datasets within a project.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
-    option (google.api.http) = { get: "/v1/datasets" };
-  }
-
-  // Creates a new dataset.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateDataset(CreateDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { post: "/v1/datasets" body: "dataset" };
-  }
-
-  // Gets a dataset by ID.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetDataset(GetDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { get: "/v1/datasets/{dataset_id}" };
-  }
-
-  // Updates a dataset.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { patch: "/v1/datasets/{dataset_id}" body: "dataset" };
-  }
-
-  // Deletes a dataset and all of its contents (all read group sets,
-  // reference sets, variant sets, call sets, annotation sets, etc.)
-  // This is reversible (up to one week after the deletion) via
-  // the
-  // [datasets.undelete][google.genomics.v1.DatasetServiceV1.UndeleteDataset]
-  // operation.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteDataset(DeleteDatasetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/datasets/{dataset_id}" };
-  }
-
-  // Undeletes a dataset by restoring a dataset which was deleted via this API.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This operation is only possible for a week after the deletion occurred.
-  rpc UndeleteDataset(UndeleteDatasetRequest) returns (Dataset) {
-    option (google.api.http) = { post: "/v1/datasets/{dataset_id}:undelete" body: "*" };
-  }
-
-  // Sets the access control policy on the specified dataset. Replaces any
-  // existing policy.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // See <a href="/iam/docs/managing-policies#setting_a_policy">Setting a
-  // Policy</a> for more information.
-  rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:setIamPolicy" body: "*" };
-  }
-
-  // Gets the access control policy for the dataset. This is empty if the
-  // policy or resource does not exist.
-  //
-  // See <a href="/iam/docs/managing-policies#getting_a_policy">Getting a
-  // Policy</a> for more information.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:getIamPolicy" body: "*" };
-  }
-
-  // Returns permissions that a caller has on the specified resource.
-  // See <a href="/iam/docs/managing-policies#testing_permissions">Testing
-  // Permissions</a> for more information.
-  //
-  // For the definitions of datasets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
-    option (google.api.http) = { post: "/v1/{resource=datasets/*}:testIamPermissions" body: "*" };
-  }
-}
-
-// A Dataset is a collection of genomic data.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message Dataset {
-  // The server-generated dataset ID, unique across all datasets.
-  string id = 1;
-
-  // The Google Developers Console project ID that this dataset belongs to.
-  string project_id = 2;
-
-  // The dataset name.
-  string name = 3;
-
-  // The time this dataset was created, in seconds from the epoch.
-  google.protobuf.Timestamp create_time = 4;
-}
-
-// The dataset list request.
-message ListDatasetsRequest {
-  // Required. The project to list datasets for.
-  string project_id = 1;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 50. The maximum value is 1024.
-  int32 page_size = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-}
-
-// The dataset list response.
-message ListDatasetsResponse {
-  // The list of matching Datasets.
-  repeated Dataset datasets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateDatasetRequest {
-  // The dataset to be created. Must contain projectId and name.
-  Dataset dataset = 1;
-}
-
-message UpdateDatasetRequest {
-  // The ID of the dataset to be updated.
-  string dataset_id = 1;
-
-  // The new dataset data.
-  Dataset dataset = 2;
-
-  // An optional mask specifying which fields to update. At this time, the only
-  // mutable field is [name][google.genomics.v1.Dataset.name]. The only
-  // acceptable value is "name". If unspecified, all mutable fields will be
-  // updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteDatasetRequest {
-  // The ID of the dataset to be deleted.
-  string dataset_id = 1;
-}
-
-message UndeleteDatasetRequest {
-  // The ID of the dataset to be undeleted.
-  string dataset_id = 1;
-}
-
-message GetDatasetRequest {
-  // The ID of the dataset.
-  string dataset_id = 1;
-}
diff --git a/googleapis/genomics/v1/operations.pb.go b/googleapis/genomics/v1/operations.pb.go
index da1ffd78..5ef0d265 100644
--- a/googleapis/genomics/v1/operations.pb.go
+++ b/googleapis/genomics/v1/operations.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/operations.proto
+// source: google/genomics/v1/operations.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf6 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -46,6 +46,13 @@ func (m *OperationMetadata) String() string            { return proto.CompactTex
 func (*OperationMetadata) ProtoMessage()               {}
 func (*OperationMetadata) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
+func (m *OperationMetadata) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetCreateTime() *google_protobuf6.Timestamp {
 	if m != nil {
 		return m.CreateTime
@@ -81,6 +88,13 @@ func (m *OperationMetadata) GetEvents() []*OperationEvent {
 	return nil
 }
 
+func (m *OperationMetadata) GetClientId() string {
+	if m != nil {
+		return m.ClientId
+	}
+	return ""
+}
+
 func (m *OperationMetadata) GetRuntimeMetadata() *google_protobuf5.Any {
 	if m != nil {
 		return m.RuntimeMetadata
@@ -118,41 +132,45 @@ func (m *OperationEvent) GetEndTime() *google_protobuf6.Timestamp {
 	return nil
 }
 
+func (m *OperationEvent) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*OperationMetadata)(nil), "google.genomics.v1.OperationMetadata")
 	proto.RegisterType((*OperationEvent)(nil), "google.genomics.v1.OperationEvent")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/operations.proto", fileDescriptor3)
-}
+func init() { proto.RegisterFile("google/genomics/v1/operations.proto", fileDescriptor3) }
 
 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,
+	// 398 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x93, 0xc1, 0xab, 0xd3, 0x40,
+	0x10, 0xc6, 0xd9, 0x57, 0x6d, 0x9b, 0x09, 0xf8, 0x74, 0x11, 0x89, 0x55, 0x31, 0xd4, 0x4b, 0x4f,
+	0x1b, 0xde, 0x13, 0x0f, 0xbe, 0x1e, 0xc4, 0x82, 0x87, 0x1e, 0xc4, 0x12, 0x3c, 0x79, 0x29, 0xdb,
+	0x64, 0x0c, 0x5b, 0x9a, 0xdd, 0xb8, 0xbb, 0x2d, 0xf4, 0xff, 0xf1, 0xe6, 0x3f, 0xe8, 0x51, 0xb2,
+	0xd9, 0x2d, 0xb5, 0x15, 0x2b, 0xde, 0x92, 0x99, 0xef, 0xb7, 0xf3, 0xf1, 0x0d, 0x03, 0xaf, 0x2a,
+	0xa5, 0xaa, 0x0d, 0x66, 0x15, 0x4a, 0x55, 0x8b, 0xc2, 0x64, 0xbb, 0x9b, 0x4c, 0x35, 0xa8, 0xb9,
+	0x15, 0x4a, 0x1a, 0xd6, 0x68, 0x65, 0x15, 0xa5, 0x9d, 0x88, 0x05, 0x11, 0xdb, 0xdd, 0x8c, 0x9e,
+	0x7b, 0x90, 0x37, 0x22, 0xe3, 0x52, 0x2a, 0x7b, 0x4c, 0x8c, 0x9e, 0xfa, 0xae, 0xfb, 0x5b, 0x6d,
+	0xbf, 0x66, 0x5c, 0xee, 0x7d, 0xeb, 0xe5, 0x69, 0xcb, 0x8a, 0x1a, 0x8d, 0xe5, 0x75, 0xd3, 0x09,
+	0xc6, 0x3f, 0x7a, 0xf0, 0xe8, 0x53, 0xb0, 0xf0, 0x11, 0x2d, 0x2f, 0xb9, 0xe5, 0xf4, 0x05, 0x40,
+	0xa3, 0xd5, 0x1a, 0x0b, 0xbb, 0x14, 0x65, 0x42, 0x52, 0x32, 0x89, 0xf2, 0xc8, 0x57, 0xe6, 0x25,
+	0x9d, 0x42, 0x5c, 0x68, 0xe4, 0x16, 0x97, 0xed, 0x73, 0xc9, 0x55, 0x4a, 0x26, 0xf1, 0xed, 0x88,
+	0x79, 0xe3, 0x61, 0x16, 0xfb, 0x1c, 0x66, 0xe5, 0xd0, 0xc9, 0xdb, 0x02, 0x7d, 0x0b, 0x60, 0x2c,
+	0xd7, 0xb6, 0x63, 0x7b, 0x17, 0xd9, 0xc8, 0xa9, 0x1d, 0xfa, 0x06, 0x86, 0x28, 0xcb, 0x0e, 0xbc,
+	0x77, 0x11, 0x1c, 0xa0, 0x2c, 0x1d, 0xc6, 0x60, 0xa0, 0xf1, 0xdb, 0x16, 0x8d, 0x4d, 0xee, 0x3b,
+	0xea, 0xf1, 0x19, 0xf5, 0x5e, 0xee, 0xf3, 0x20, 0xa2, 0x77, 0xd0, 0xc7, 0x1d, 0x4a, 0x6b, 0x92,
+	0x7e, 0xda, 0x9b, 0xc4, 0xb7, 0x63, 0x76, 0xbe, 0x12, 0x76, 0x08, 0xed, 0x43, 0x2b, 0xcd, 0x3d,
+	0x41, 0x9f, 0x41, 0x54, 0x6c, 0x04, 0x4a, 0x17, 0xdc, 0xc0, 0x05, 0x37, 0xec, 0x0a, 0xf3, 0x92,
+	0xbe, 0x83, 0x87, 0x7a, 0x2b, 0x5b, 0xfb, 0xcb, 0xda, 0x47, 0x9d, 0x0c, 0xff, 0xe2, 0xe8, 0xda,
+	0xab, 0xc3, 0x5e, 0xc6, 0xdf, 0x09, 0x3c, 0xf8, 0x7d, 0xf0, 0x49, 0x9c, 0xe4, 0x7f, 0xe3, 0xbc,
+	0xfa, 0xf7, 0x38, 0x53, 0x88, 0x4b, 0x34, 0x85, 0x16, 0x4d, 0xeb, 0xc2, 0x6d, 0x30, 0xca, 0x8f,
+	0x4b, 0xb3, 0x35, 0x3c, 0x29, 0x54, 0xfd, 0x87, 0xd4, 0x66, 0xd7, 0x07, 0xf7, 0x66, 0xd1, 0x8e,
+	0x58, 0x90, 0x2f, 0x77, 0x41, 0xa6, 0x36, 0x5c, 0x56, 0x4c, 0xe9, 0xaa, 0xbd, 0x0f, 0x67, 0x20,
+	0xeb, 0x5a, 0xbc, 0x11, 0xe6, 0xf8, 0x66, 0xa6, 0xe1, 0xfb, 0x27, 0x21, 0xab, 0xbe, 0x53, 0xbe,
+	0xfe, 0x15, 0x00, 0x00, 0xff, 0xff, 0xaa, 0x39, 0xad, 0x2f, 0x5c, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/operations.proto b/googleapis/genomics/v1/operations.proto
deleted file mode 100644
index fc512858..00000000
--- a/googleapis/genomics/v1/operations.proto
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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.genomics.v1;
-
-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/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "OperationsProto";
-option java_package = "com.google.genomics.v1";
-
-
-// Metadata describing an [Operation][google.longrunning.Operation].
-message OperationMetadata {
-  // The Google Cloud Project in which the job is scoped.
-  string project_id = 1;
-
-  // The time at which the job was submitted to the Genomics service.
-  google.protobuf.Timestamp create_time = 2;
-
-  // The time at which the job began to run.
-  google.protobuf.Timestamp start_time = 3;
-
-  // The time at which the job stopped running.
-  google.protobuf.Timestamp end_time = 4;
-
-  // The original request that started the operation. Note that this will be in
-  // current version of the API. If the operation was started with v1beta2 API
-  // and a GetOperation is performed on v1 API, a v1 request will be returned.
-  google.protobuf.Any request = 5;
-
-  // Optional event messages that were generated during the job's execution.
-  // This also contains any warnings that were generated during import
-  // or export.
-  repeated OperationEvent events = 6;
-
-  // Optionally provided by the caller when submitting the request that creates
-  // the operation.
-  string client_id = 7;
-
-  // Runtime metadata on this Operation.
-  google.protobuf.Any runtime_metadata = 8;
-}
-
-// An event that occurred during an [Operation][google.longrunning.Operation].
-message OperationEvent {
-  // Optional time of when event started.
-  google.protobuf.Timestamp start_time = 1;
-
-  // Optional time of when event finished. An event can have a start time and no
-  // finish time. If an event has a finish time, there must be a start time.
-  google.protobuf.Timestamp end_time = 2;
-
-  // Required description of event.
-  string description = 3;
-}
diff --git a/googleapis/genomics/v1/position.pb.go b/googleapis/genomics/v1/position.pb.go
index 13332c0b..928185c6 100644
--- a/googleapis/genomics/v1/position.pb.go
+++ b/googleapis/genomics/v1/position.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/position.proto
+// source: google/genomics/v1/position.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -33,28 +33,47 @@ func (m *Position) String() string            { return proto.CompactTextString(m
 func (*Position) ProtoMessage()               {}
 func (*Position) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
 
-func init() {
-	proto.RegisterType((*Position)(nil), "google.genomics.v1.Position")
+func (m *Position) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Position) GetPosition() int64 {
+	if m != nil {
+		return m.Position
+	}
+	return 0
+}
+
+func (m *Position) GetReverseStrand() bool {
+	if m != nil {
+		return m.ReverseStrand
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/position.proto", fileDescriptor4)
+	proto.RegisterType((*Position)(nil), "google.genomics.v1.Position")
 }
 
+func init() { proto.RegisterFile("google/genomics/v1/position.proto", fileDescriptor4) }
+
 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,
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x90, 0x41, 0x4b, 0x03, 0x31,
+	0x14, 0x84, 0x89, 0x05, 0x59, 0x03, 0xf5, 0xb0, 0x07, 0x59, 0x8a, 0x87, 0x55, 0x10, 0xf6, 0x94,
+	0x50, 0xbc, 0xe9, 0xad, 0x3f, 0x40, 0x96, 0x7a, 0xf3, 0x52, 0x9e, 0xeb, 0x33, 0x06, 0xba, 0xef,
+	0x85, 0x24, 0xec, 0x6f, 0xf7, 0x28, 0x49, 0x9a, 0x22, 0xf4, 0x96, 0x4c, 0x66, 0x26, 0x1f, 0x23,
+	0x1f, 0x0c, 0xb3, 0x39, 0xa2, 0x36, 0x48, 0x3c, 0xdb, 0x29, 0xe8, 0x65, 0xab, 0x1d, 0x07, 0x1b,
+	0x2d, 0x93, 0x72, 0x9e, 0x23, 0xb7, 0x6d, 0xb1, 0xa8, 0x6a, 0x51, 0xcb, 0x76, 0x73, 0x7f, 0x8a,
+	0x81, 0xb3, 0x1a, 0x88, 0x38, 0x42, 0x0a, 0x84, 0x92, 0x78, 0x8c, 0xb2, 0x19, 0x4f, 0x1d, 0xed,
+	0x93, 0xbc, 0xf5, 0xf8, 0x8d, 0x1e, 0x69, 0xc2, 0x03, 0xc1, 0x8c, 0x9d, 0xe8, 0xc5, 0x70, 0xb3,
+	0x5f, 0x9f, 0xd5, 0x37, 0x98, 0xb1, 0xdd, 0xc8, 0xa6, 0x7e, 0xdb, 0x5d, 0xf5, 0x62, 0x58, 0xed,
+	0xcf, 0xf7, 0x52, 0xb1, 0xa0, 0x0f, 0x78, 0x08, 0xd1, 0x03, 0x7d, 0x75, 0xab, 0x5e, 0x0c, 0x4d,
+	0xaa, 0xc8, 0xea, 0x7b, 0x16, 0x77, 0x3f, 0xf2, 0x6e, 0xe2, 0x59, 0x5d, 0xd2, 0xee, 0xd6, 0x95,
+	0x66, 0x4c, 0x78, 0xa3, 0xf8, 0x78, 0xa9, 0x26, 0x3e, 0x02, 0x19, 0xc5, 0xde, 0xa4, 0x01, 0x32,
+	0xbc, 0x2e, 0x4f, 0xe0, 0x6c, 0xf8, 0x3f, 0xca, 0x6b, 0x3d, 0xff, 0x0a, 0xf1, 0x79, 0x9d, 0x9d,
+	0xcf, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x5c, 0xc6, 0x22, 0xea, 0x3d, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/position.proto b/googleapis/genomics/v1/position.proto
deleted file mode 100644
index 1172a1e2..00000000
--- a/googleapis/genomics/v1/position.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// 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.genomics.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 = "PositionProto";
-option java_package = "com.google.genomics.v1";
-
-
-// An abstraction for referring to a genomic position, in relation to some
-// already known reference. For now, represents a genomic position as a
-// reference name, a base number on that reference (0-based), and a
-// determination of forward or reverse strand.
-message Position {
-  // The name of the reference in whatever reference set is being used.
-  string reference_name = 1;
-
-  // The 0-based offset from the start of the forward strand for that reference.
-  int64 position = 2;
-
-  // Whether this position is on the reverse strand, as opposed to the forward
-  // strand.
-  bool reverse_strand = 3;
-}
diff --git a/googleapis/genomics/v1/range.pb.go b/googleapis/genomics/v1/range.pb.go
index c438db98..196bcecb 100644
--- a/googleapis/genomics/v1/range.pb.go
+++ b/googleapis/genomics/v1/range.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/range.proto
+// source: google/genomics/v1/range.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -30,28 +30,47 @@ func (m *Range) String() string            { return proto.CompactTextString(m) }
 func (*Range) ProtoMessage()               {}
 func (*Range) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
 
-func init() {
-	proto.RegisterType((*Range)(nil), "google.genomics.v1.Range")
+func (m *Range) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Range) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Range) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/range.proto", fileDescriptor5)
+	proto.RegisterType((*Range)(nil), "google.genomics.v1.Range")
 }
 
+func init() { proto.RegisterFile("google/genomics/v1/range.proto", fileDescriptor5) }
+
 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,
+	// 209 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x64, 0x4f, 0x4d, 0x4b, 0xc4, 0x30,
+	0x10, 0x25, 0x96, 0x15, 0x0c, 0x28, 0x12, 0x44, 0x8a, 0x88, 0x2c, 0x82, 0xb0, 0xa7, 0x84, 0xe2,
+	0x4d, 0x6f, 0xfd, 0x01, 0x52, 0x7a, 0xf0, 0xe0, 0x45, 0xc6, 0x3a, 0x86, 0x40, 0x33, 0x53, 0x92,
+	0xd0, 0xdf, 0xee, 0x51, 0x92, 0x58, 0x11, 0xf6, 0x36, 0x79, 0x1f, 0x79, 0xef, 0xc9, 0x3b, 0xcb,
+	0x6c, 0x67, 0x34, 0x16, 0x89, 0xbd, 0x9b, 0xa2, 0x59, 0x3b, 0x13, 0x80, 0x2c, 0xea, 0x25, 0x70,
+	0x62, 0xa5, 0x2a, 0xaf, 0x37, 0x5e, 0xaf, 0xdd, 0xcd, 0xed, 0xaf, 0x07, 0x16, 0x67, 0x80, 0x88,
+	0x13, 0x24, 0xc7, 0x14, 0xab, 0xe3, 0xfe, 0x55, 0xee, 0xc6, 0xfc, 0x81, 0x7a, 0x90, 0x17, 0x01,
+	0xbf, 0x30, 0x20, 0x4d, 0xf8, 0x4e, 0xe0, 0xb1, 0x15, 0x7b, 0x71, 0x38, 0x1b, 0xcf, 0xff, 0xd0,
+	0x17, 0xf0, 0xa8, 0xae, 0xe4, 0x2e, 0x26, 0x08, 0xa9, 0x3d, 0xd9, 0x8b, 0x43, 0x33, 0xd6, 0x87,
+	0xba, 0x94, 0x0d, 0xd2, 0x67, 0xdb, 0x14, 0x2c, 0x9f, 0x3d, 0xca, 0xeb, 0x89, 0xbd, 0x3e, 0xee,
+	0xd3, 0xcb, 0x92, 0x37, 0xe4, 0xf4, 0x41, 0xbc, 0x3d, 0x6d, 0x0a, 0x9e, 0x81, 0xac, 0xe6, 0x60,
+	0xf3, 0xb8, 0xd2, 0xcd, 0x54, 0x0a, 0x16, 0x17, 0xff, 0x0f, 0x7e, 0xde, 0xee, 0x6f, 0x21, 0x3e,
+	0x4e, 0x8b, 0xf2, 0xf1, 0x27, 0x00, 0x00, 0xff, 0xff, 0xb7, 0x3e, 0xf1, 0x62, 0x19, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/genomics/v1/range.proto b/googleapis/genomics/v1/range.proto
deleted file mode 100644
index 2ba75d37..00000000
--- a/googleapis/genomics/v1/range.proto
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.genomics.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 = "RangeProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A 0-based half-open genomic coordinate range for search requests.
-message Range {
-  // The reference sequence name, for example `chr1`,
-  // `1`, or `chrX`.
-  string reference_name = 1;
-
-  // The start position of the range on the reference, 0-based inclusive.
-  int64 start = 2;
-
-  // The end position of the range on the reference, 0-based exclusive.
-  int64 end = 3;
-}
diff --git a/googleapis/genomics/v1/readalignment.pb.go b/googleapis/genomics/v1/readalignment.pb.go
index 6367d683..15b2fc53 100644
--- a/googleapis/genomics/v1/readalignment.pb.go
+++ b/googleapis/genomics/v1/readalignment.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto
+// source: google/genomics/v1/readalignment.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -43,6 +43,13 @@ func (m *LinearAlignment) GetPosition() *Position {
 	return nil
 }
 
+func (m *LinearAlignment) GetMappingQuality() int32 {
+	if m != nil {
+		return m.MappingQuality
+	}
+	return 0
+}
+
 func (m *LinearAlignment) GetCigar() []*CigarUnit {
 	if m != nil {
 		return m.Cigar
@@ -213,6 +220,76 @@ func (m *Read) String() string            { return proto.CompactTextString(m) }
 func (*Read) ProtoMessage()               {}
 func (*Read) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{1} }
 
+func (m *Read) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Read) GetReadGroupId() string {
+	if m != nil {
+		return m.ReadGroupId
+	}
+	return ""
+}
+
+func (m *Read) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *Read) GetFragmentName() string {
+	if m != nil {
+		return m.FragmentName
+	}
+	return ""
+}
+
+func (m *Read) GetProperPlacement() bool {
+	if m != nil {
+		return m.ProperPlacement
+	}
+	return false
+}
+
+func (m *Read) GetDuplicateFragment() bool {
+	if m != nil {
+		return m.DuplicateFragment
+	}
+	return false
+}
+
+func (m *Read) GetFragmentLength() int32 {
+	if m != nil {
+		return m.FragmentLength
+	}
+	return 0
+}
+
+func (m *Read) GetReadNumber() int32 {
+	if m != nil {
+		return m.ReadNumber
+	}
+	return 0
+}
+
+func (m *Read) GetNumberReads() int32 {
+	if m != nil {
+		return m.NumberReads
+	}
+	return 0
+}
+
+func (m *Read) GetFailedVendorQualityChecks() bool {
+	if m != nil {
+		return m.FailedVendorQualityChecks
+	}
+	return false
+}
+
 func (m *Read) GetAlignment() *LinearAlignment {
 	if m != nil {
 		return m.Alignment
@@ -220,6 +297,34 @@ func (m *Read) GetAlignment() *LinearAlignment {
 	return nil
 }
 
+func (m *Read) GetSecondaryAlignment() bool {
+	if m != nil {
+		return m.SecondaryAlignment
+	}
+	return false
+}
+
+func (m *Read) GetSupplementaryAlignment() bool {
+	if m != nil {
+		return m.SupplementaryAlignment
+	}
+	return false
+}
+
+func (m *Read) GetAlignedSequence() string {
+	if m != nil {
+		return m.AlignedSequence
+	}
+	return ""
+}
+
+func (m *Read) GetAlignedQuality() []int32 {
+	if m != nil {
+		return m.AlignedQuality
+	}
+	return nil
+}
+
 func (m *Read) GetNextMatePosition() *Position {
 	if m != nil {
 		return m.NextMatePosition
@@ -239,54 +344,51 @@ func init() {
 	proto.RegisterType((*Read)(nil), "google.genomics.v1.Read")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto", fileDescriptor6)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readalignment.proto", fileDescriptor6) }
 
 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,
+	// 683 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xcd, 0x4e, 0xdb, 0x4a,
+	0x14, 0xc7, 0xe5, 0x84, 0x70, 0xc9, 0x09, 0x24, 0x61, 0xae, 0xc4, 0xf5, 0x8d, 0xb8, 0xb7, 0x21,
+	0x48, 0x6d, 0x58, 0xd4, 0x2e, 0x20, 0xb5, 0x88, 0x2e, 0x2a, 0x40, 0x6d, 0x45, 0x45, 0x51, 0x6a,
+	0x54, 0x16, 0xdd, 0x58, 0x83, 0x7d, 0x62, 0x46, 0xd8, 0x33, 0xc6, 0x1e, 0x47, 0xcd, 0x23, 0xf5,
+	0xdd, 0xfa, 0x00, 0x5d, 0x56, 0x33, 0xf6, 0x38, 0xd0, 0x66, 0xd1, 0x5d, 0xf2, 0x3f, 0xbf, 0xf3,
+	0xe1, 0xf3, 0x31, 0xf0, 0x34, 0x12, 0x22, 0x8a, 0xd1, 0x8d, 0x90, 0x8b, 0x84, 0x05, 0xb9, 0x3b,
+	0xdb, 0x77, 0x33, 0xa4, 0x21, 0x8d, 0x59, 0xc4, 0x13, 0xe4, 0xd2, 0x49, 0x33, 0x21, 0x05, 0x21,
+	0x25, 0xe7, 0x18, 0xce, 0x99, 0xed, 0x0f, 0xb6, 0x2b, 0x5f, 0x9a, 0x32, 0x97, 0x72, 0x2e, 0x24,
+	0x95, 0x4c, 0xf0, 0xbc, 0xf4, 0x18, 0xfc, 0xbf, 0x24, 0x72, 0xc0, 0x22, 0x9a, 0x55, 0xf6, 0x9d,
+	0x25, 0xf6, 0x54, 0xe4, 0x4c, 0xc5, 0xa8, 0x10, 0x93, 0x40, 0xff, 0xbb, 0x29, 0xa6, 0x6e, 0x2e,
+	0xb3, 0x22, 0xa8, 0x4a, 0x1a, 0x7d, 0xb3, 0xa0, 0x77, 0xc1, 0x38, 0xd2, 0xec, 0xc4, 0x14, 0x4b,
+	0x8e, 0x60, 0xcd, 0xc4, 0xb0, 0xad, 0xa1, 0x35, 0xee, 0x1c, 0x6c, 0x3b, 0xbf, 0x57, 0xee, 0x4c,
+	0x2a, 0xc6, 0xab, 0x69, 0xf2, 0x0c, 0x7a, 0x09, 0x4d, 0x53, 0xc6, 0x23, 0xff, 0xbe, 0xa0, 0x31,
+	0x93, 0x73, 0xbb, 0x31, 0xb4, 0xc6, 0x2d, 0xaf, 0x5b, 0xc9, 0x9f, 0x4a, 0x95, 0x1c, 0x42, 0x4b,
+	0x7f, 0x86, 0xdd, 0x1c, 0x36, 0xc7, 0x9d, 0x83, 0xff, 0x96, 0xc5, 0x3f, 0x53, 0xc0, 0x67, 0xce,
+	0xa4, 0x57, 0xb2, 0xa3, 0xef, 0xab, 0xb0, 0xe2, 0x21, 0x0d, 0x49, 0x17, 0x1a, 0x2c, 0xd4, 0xa5,
+	0xb5, 0xbd, 0x06, 0x0b, 0xc9, 0x08, 0x36, 0x54, 0xbb, 0xfd, 0x28, 0x13, 0x45, 0xea, 0xb3, 0x50,
+	0x27, 0x6d, 0x7b, 0x1d, 0x25, 0xbe, 0x57, 0xda, 0x79, 0x48, 0xf6, 0x60, 0xf3, 0x01, 0x93, 0xa3,
+	0x54, 0x5c, 0x53, 0x73, 0xdd, 0x9a, 0xbb, 0x42, 0x79, 0x1e, 0x92, 0x5d, 0xd8, 0x98, 0x66, 0x34,
+	0x52, 0xbd, 0xf0, 0x39, 0x4d, 0xd0, 0x5e, 0xd1, 0xd8, 0xba, 0x11, 0x2f, 0x69, 0x82, 0x64, 0x0f,
+	0xfa, 0x69, 0x26, 0x52, 0xcc, 0xfc, 0x34, 0xa6, 0x01, 0x2a, 0xdd, 0x6e, 0x0d, 0xad, 0xf1, 0x9a,
+	0xd7, 0x2b, 0xf5, 0x89, 0x91, 0xc9, 0x73, 0x20, 0x61, 0x91, 0xc6, 0x2c, 0xa0, 0x12, 0x7d, 0x13,
+	0xc4, 0x5e, 0xd5, 0xf0, 0x66, 0x6d, 0x79, 0x57, 0x19, 0x54, 0x13, 0xeb, 0xf4, 0x31, 0xf2, 0x48,
+	0xde, 0xda, 0x7f, 0x95, 0x4d, 0x34, 0xf2, 0x85, 0x56, 0xc9, 0x13, 0xd0, 0x5f, 0xe8, 0xf3, 0x22,
+	0xb9, 0xc1, 0xcc, 0x5e, 0xd3, 0x10, 0x28, 0xe9, 0x52, 0x2b, 0x64, 0x07, 0xd6, 0x4b, 0x9b, 0xaf,
+	0xc4, 0xdc, 0x6e, 0x6b, 0xa2, 0x53, 0x6a, 0xaa, 0x93, 0x39, 0x79, 0x03, 0xdb, 0x53, 0xca, 0x62,
+	0x0c, 0xfd, 0x19, 0xf2, 0x50, 0x64, 0x66, 0x6e, 0x7e, 0x70, 0x8b, 0xc1, 0x5d, 0x6e, 0x83, 0xae,
+	0xf2, 0xdf, 0x92, 0xb9, 0xd6, 0x48, 0x35, 0xc3, 0x33, 0x0d, 0x90, 0x13, 0x68, 0xd7, 0x6b, 0x6e,
+	0x77, 0xf4, 0xb6, 0xec, 0x2e, 0x9b, 0xe6, 0x2f, 0x4b, 0xe6, 0x2d, 0xbc, 0x88, 0x0b, 0x7f, 0xe7,
+	0x18, 0x08, 0x1e, 0xd2, 0x6c, 0xee, 0x2f, 0x82, 0xad, 0xeb, 0xd4, 0xa4, 0x36, 0x2d, 0x16, 0xf4,
+	0x15, 0xfc, 0x93, 0x17, 0x69, 0x1a, 0xeb, 0xf6, 0x3e, 0x76, 0xda, 0xd0, 0x4e, 0x5b, 0x8f, 0xcc,
+	0x0b, 0xc7, 0x3d, 0xe8, 0x6b, 0x14, 0x43, 0x3f, 0xc7, 0xfb, 0x02, 0x79, 0x80, 0x76, 0x57, 0x0f,
+	0xb7, 0x57, 0xe9, 0x57, 0x95, 0xac, 0xa6, 0x60, 0x50, 0xb3, 0xca, 0xbd, 0x61, 0x53, 0x4d, 0xa1,
+	0x92, 0xcd, 0x2a, 0x7f, 0x00, 0xc2, 0xf1, 0xab, 0xf4, 0x13, 0x35, 0xdd, 0xfa, 0x6e, 0xfa, 0x7f,
+	0x70, 0x37, 0x7d, 0xe5, 0xf7, 0x91, 0x4a, 0x34, 0x0a, 0x79, 0x09, 0x2b, 0x8c, 0x4f, 0x85, 0xbd,
+	0xa9, 0xaf, 0x62, 0xb4, 0xcc, 0x5b, 0x8d, 0xcd, 0x39, 0xe7, 0x53, 0xf1, 0x96, 0xcb, 0x6c, 0xee,
+	0x69, 0x7e, 0x70, 0x05, 0xed, 0x5a, 0x22, 0x7d, 0x68, 0xde, 0xe1, 0xbc, 0x3a, 0x0f, 0xf5, 0x93,
+	0xbc, 0x80, 0xd6, 0x8c, 0xc6, 0x05, 0xea, 0xbb, 0xe8, 0x1c, 0x0c, 0x4c, 0x5c, 0xf3, 0x24, 0x38,
+	0x17, 0x2c, 0x97, 0xd7, 0x8a, 0xf0, 0x4a, 0xf0, 0xb8, 0x71, 0x64, 0x9d, 0x26, 0xb0, 0x15, 0x88,
+	0x64, 0x49, 0x0d, 0xa7, 0x44, 0x15, 0x51, 0x77, 0x75, 0xa2, 0xa2, 0x4c, 0xac, 0x2f, 0xc7, 0x86,
+	0x14, 0x31, 0xe5, 0x91, 0x23, 0xb2, 0x48, 0x3d, 0x4b, 0x3a, 0x87, 0x5b, 0x9a, 0x68, 0xca, 0xf2,
+	0x87, 0x4f, 0xd5, 0x6b, 0xf3, 0xfb, 0x87, 0x65, 0xdd, 0xac, 0x6a, 0xf2, 0xf0, 0x67, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0xd0, 0xe1, 0xf6, 0x57, 0x4d, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readalignment.proto b/googleapis/genomics/v1/readalignment.proto
deleted file mode 100644
index bd9dd445..00000000
--- a/googleapis/genomics/v1/readalignment.proto
+++ /dev/null
@@ -1,220 +0,0 @@
-// 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.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/cigar.proto"; // from google/genomics/v1/cigar.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/position.proto"; // from google/genomics/v1/position.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadAlignmentProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A linear alignment can be represented by one CIGAR string. Describes the
-// mapped position and local alignment of the read to the reference.
-message LinearAlignment {
-  // The position of this alignment.
-  Position position = 1;
-
-  // The mapping quality of this alignment. Represents how likely
-  // the read maps to this position as opposed to other locations.
-  //
-  // Specifically, this is -10 log10 Pr(mapping position is wrong), rounded to
-  // the nearest integer.
-  int32 mapping_quality = 2;
-
-  // Represents the local alignment of this sequence (alignment matches, indels,
-  // etc) against the reference.
-  repeated CigarUnit cigar = 3;
-}
-
-// A read alignment describes a linear alignment of a string of DNA to a
-// [reference sequence][google.genomics.v1.Reference], in addition to metadata
-// about the fragment (the molecule of DNA sequenced) and the read (the bases
-// which were read by the sequencer). A read is equivalent to a line in a SAM
-// file. A read belongs to exactly one read group and exactly one
-// [read group set][google.genomics.v1.ReadGroupSet].
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-//
-// ### Reverse-stranded reads
-//
-// Mapped reads (reads having a non-null `alignment`) can be aligned to either
-// the forward or the reverse strand of their associated reference. Strandedness
-// of a mapped read is encoded by `alignment.position.reverseStrand`.
-//
-// If we consider the reference to be a forward-stranded coordinate space of
-// `[0, reference.length)` with `0` as the left-most position and
-// `reference.length` as the right-most position, reads are always aligned left
-// to right. That is, `alignment.position.position` always refers to the
-// left-most reference coordinate and `alignment.cigar` describes the alignment
-// of this read to the reference from left to right. All per-base fields such as
-// `alignedSequence` and `alignedQuality` share this same left-to-right
-// orientation; this is true of reads which are aligned to either strand. For
-// reverse-stranded reads, this means that `alignedSequence` is the reverse
-// complement of the bases that were originally reported by the sequencing
-// machine.
-//
-// ### Generating a reference-aligned sequence string
-//
-// When interacting with mapped reads, it's often useful to produce a string
-// representing the local alignment of the read to reference. The following
-// pseudocode demonstrates one way of doing this:
-//
-//     out = ""
-//     offset = 0
-//     for c in read.alignment.cigar {
-//       switch c.operation {
-//       case "ALIGNMENT_MATCH", "SEQUENCE_MATCH", "SEQUENCE_MISMATCH":
-//         out += read.alignedSequence[offset:offset+c.operationLength]
-//         offset += c.operationLength
-//         break
-//       case "CLIP_SOFT", "INSERT":
-//         offset += c.operationLength
-//         break
-//       case "PAD":
-//         out += repeat("*", c.operationLength)
-//         break
-//       case "DELETE":
-//         out += repeat("-", c.operationLength)
-//         break
-//       case "SKIP":
-//         out += repeat(" ", c.operationLength)
-//         break
-//       case "CLIP_HARD":
-//         break
-//       }
-//     }
-//     return out
-//
-// ### Converting to SAM's CIGAR string
-//
-// The following pseudocode generates a SAM CIGAR string from the
-// `cigar` field. Note that this is a lossy conversion
-// (`cigar.referenceSequence` is lost).
-//
-//     cigarMap = {
-//       "ALIGNMENT_MATCH": "M",
-//       "INSERT": "I",
-//       "DELETE": "D",
-//       "SKIP": "N",
-//       "CLIP_SOFT": "S",
-//       "CLIP_HARD": "H",
-//       "PAD": "P",
-//       "SEQUENCE_MATCH": "=",
-//       "SEQUENCE_MISMATCH": "X",
-//     }
-//     cigarStr = ""
-//     for c in read.alignment.cigar {
-//       cigarStr += c.operationLength + cigarMap[c.operation]
-//     }
-//     return cigarStr
-message Read {
-  // The server-generated read ID, unique across all reads. This is different
-  // from the `fragmentName`.
-  string id = 1;
-
-  // The ID of the read group this read belongs to. A read belongs to exactly
-  // one read group. This is a server-generated ID which is distinct from SAM's
-  // RG tag (for that value, see
-  // [ReadGroup.name][google.genomics.v1.ReadGroup.name]).
-  string read_group_id = 2;
-
-  // The ID of the read group set this read belongs to. A read belongs to
-  // exactly one read group set.
-  string read_group_set_id = 3;
-
-  // The fragment name. Equivalent to QNAME (query template name) in SAM.
-  string fragment_name = 4;
-
-  // The orientation and the distance between reads from the fragment are
-  // consistent with the sequencing protocol (SAM flag 0x2).
-  bool proper_placement = 5;
-
-  // The fragment is a PCR or optical duplicate (SAM flag 0x400).
-  bool duplicate_fragment = 6;
-
-  // The observed length of the fragment, equivalent to TLEN in SAM.
-  int32 fragment_length = 7;
-
-  // The read number in sequencing. 0-based and less than numberReads. This
-  // field replaces SAM flag 0x40 and 0x80.
-  int32 read_number = 8;
-
-  // The number of reads in the fragment (extension to SAM flag 0x1).
-  int32 number_reads = 9;
-
-  // Whether this read did not pass filters, such as platform or vendor quality
-  // controls (SAM flag 0x200).
-  bool failed_vendor_quality_checks = 10;
-
-  // The linear alignment for this alignment record. This field is null for
-  // unmapped reads.
-  LinearAlignment alignment = 11;
-
-  // Whether this alignment is secondary. Equivalent to SAM flag 0x100.
-  // A secondary alignment represents an alternative to the primary alignment
-  // for this read. Aligners may return secondary alignments if a read can map
-  // ambiguously to multiple coordinates in the genome. By convention, each read
-  // has one and only one alignment where both `secondaryAlignment`
-  // and `supplementaryAlignment` are false.
-  bool secondary_alignment = 12;
-
-  // Whether this alignment is supplementary. Equivalent to SAM flag 0x800.
-  // Supplementary alignments are used in the representation of a chimeric
-  // alignment. In a chimeric alignment, a read is split into multiple
-  // linear alignments that map to different reference contigs. The first
-  // linear alignment in the read will be designated as the representative
-  // alignment; the remaining linear alignments will be designated as
-  // supplementary alignments. These alignments may have different mapping
-  // quality scores. In each linear alignment in a chimeric alignment, the read
-  // will be hard clipped. The `alignedSequence` and
-  // `alignedQuality` fields in the alignment record will only
-  // represent the bases for its respective linear alignment.
-  bool supplementary_alignment = 13;
-
-  // The bases of the read sequence contained in this alignment record,
-  // **without CIGAR operations applied** (equivalent to SEQ in SAM).
-  // `alignedSequence` and `alignedQuality` may be
-  // shorter than the full read sequence and quality. This will occur if the
-  // alignment is part of a chimeric alignment, or if the read was trimmed. When
-  // this occurs, the CIGAR for this read will begin/end with a hard clip
-  // operator that will indicate the length of the excised sequence.
-  string aligned_sequence = 14;
-
-  // The quality of the read sequence contained in this alignment record
-  // (equivalent to QUAL in SAM).
-  // `alignedSequence` and `alignedQuality` may be shorter than the full read
-  // sequence and quality. This will occur if the alignment is part of a
-  // chimeric alignment, or if the read was trimmed. When this occurs, the CIGAR
-  // for this read will begin/end with a hard clip operator that will indicate
-  // the length of the excised sequence.
-  repeated int32 aligned_quality = 15;
-
-  // The mapping of the primary alignment of the
-  // `(readNumber+1)%numberReads` read in the fragment. It replaces
-  // mate position and mate strand in SAM.
-  Position next_mate_position = 16;
-
-  // A map of additional read alignment information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 17;
-}
diff --git a/googleapis/genomics/v1/readgroup.pb.go b/googleapis/genomics/v1/readgroup.pb.go
index 622bec36..21e4920f 100644
--- a/googleapis/genomics/v1/readgroup.pb.go
+++ b/googleapis/genomics/v1/readgroup.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto
+// source: google/genomics/v1/readgroup.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -51,6 +51,41 @@ func (m *ReadGroup) String() string            { return proto.CompactTextString(
 func (*ReadGroup) ProtoMessage()               {}
 func (*ReadGroup) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0} }
 
+func (m *ReadGroup) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *ReadGroup) GetSampleId() string {
+	if m != nil {
+		return m.SampleId
+	}
+	return ""
+}
+
 func (m *ReadGroup) GetExperiment() *ReadGroup_Experiment {
 	if m != nil {
 		return m.Experiment
@@ -58,6 +93,13 @@ func (m *ReadGroup) GetExperiment() *ReadGroup_Experiment {
 	return nil
 }
 
+func (m *ReadGroup) GetPredictedInsertSize() int32 {
+	if m != nil {
+		return m.PredictedInsertSize
+	}
+	return 0
+}
+
 func (m *ReadGroup) GetPrograms() []*ReadGroup_Program {
 	if m != nil {
 		return m.Programs
@@ -65,6 +107,13 @@ func (m *ReadGroup) GetPrograms() []*ReadGroup_Program {
 	return nil
 }
 
+func (m *ReadGroup) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 func (m *ReadGroup) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -94,6 +143,34 @@ func (m *ReadGroup_Experiment) String() string            { return proto.Compact
 func (*ReadGroup_Experiment) ProtoMessage()               {}
 func (*ReadGroup_Experiment) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0, 0} }
 
+func (m *ReadGroup_Experiment) GetLibraryId() string {
+	if m != nil {
+		return m.LibraryId
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetPlatformUnit() string {
+	if m != nil {
+		return m.PlatformUnit
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetSequencingCenter() string {
+	if m != nil {
+		return m.SequencingCenter
+	}
+	return ""
+}
+
+func (m *ReadGroup_Experiment) GetInstrumentModel() string {
+	if m != nil {
+		return m.InstrumentModel
+	}
+	return ""
+}
+
 type ReadGroup_Program struct {
 	// The command line used to run this program.
 	CommandLine string `protobuf:"bytes,1,opt,name=command_line,json=commandLine" json:"command_line,omitempty"`
@@ -114,54 +191,86 @@ func (m *ReadGroup_Program) String() string            { return proto.CompactTex
 func (*ReadGroup_Program) ProtoMessage()               {}
 func (*ReadGroup_Program) Descriptor() ([]byte, []int) { return fileDescriptor7, []int{0, 1} }
 
+func (m *ReadGroup_Program) GetCommandLine() string {
+	if m != nil {
+		return m.CommandLine
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetPrevProgramId() string {
+	if m != nil {
+		return m.PrevProgramId
+	}
+	return ""
+}
+
+func (m *ReadGroup_Program) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ReadGroup)(nil), "google.genomics.v1.ReadGroup")
 	proto.RegisterType((*ReadGroup_Experiment)(nil), "google.genomics.v1.ReadGroup.Experiment")
 	proto.RegisterType((*ReadGroup_Program)(nil), "google.genomics.v1.ReadGroup.Program")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto", fileDescriptor7)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readgroup.proto", fileDescriptor7) }
 
 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,
+	// 585 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xcb, 0x6e, 0xd4, 0x30,
+	0x14, 0x55, 0xa6, 0xcf, 0xb9, 0xd3, 0xc7, 0x60, 0x04, 0x8a, 0x06, 0x90, 0x86, 0x22, 0x60, 0x10,
+	0x52, 0x42, 0x87, 0x0d, 0x6a, 0x57, 0x14, 0x55, 0x10, 0xa9, 0x48, 0x55, 0x2a, 0x58, 0xb0, 0x89,
+	0xdc, 0xf8, 0x4e, 0x64, 0x91, 0xd8, 0xc1, 0x76, 0x46, 0xb4, 0x9f, 0xc1, 0x57, 0xf0, 0x2d, 0x7c,
+	0x11, 0x4b, 0x64, 0xc7, 0x49, 0x47, 0xa2, 0xea, 0xce, 0x39, 0xe7, 0x5c, 0xdf, 0xc7, 0xb9, 0x0e,
+	0x1c, 0x14, 0x52, 0x16, 0x25, 0xc6, 0x05, 0x0a, 0x59, 0xf1, 0x5c, 0xc7, 0xcb, 0xc3, 0x58, 0x21,
+	0x65, 0x85, 0x92, 0x4d, 0x1d, 0xd5, 0x4a, 0x1a, 0x49, 0x48, 0xab, 0x89, 0x3a, 0x4d, 0xb4, 0x3c,
+	0x9c, 0x3c, 0xf6, 0x71, 0xb4, 0xe6, 0x31, 0x15, 0x42, 0x1a, 0x6a, 0xb8, 0x14, 0xba, 0x8d, 0xe8,
+	0x59, 0xf7, 0x75, 0xd9, 0x2c, 0x62, 0x6d, 0x54, 0x93, 0x9b, 0x96, 0x3d, 0xf8, 0xb3, 0x09, 0xc3,
+	0x14, 0x29, 0xfb, 0x68, 0x73, 0x90, 0x3d, 0x18, 0x70, 0x16, 0x06, 0xd3, 0x60, 0x36, 0x4c, 0x07,
+	0x9c, 0x91, 0x27, 0x00, 0x8c, 0x1a, 0xaa, 0xd1, 0x64, 0x9c, 0x85, 0x03, 0x87, 0x0f, 0x3d, 0x92,
+	0x30, 0x42, 0x60, 0x5d, 0xd0, 0x0a, 0xc3, 0x35, 0x47, 0xb8, 0x33, 0x99, 0xc2, 0x88, 0xa1, 0xce,
+	0x15, 0xaf, 0x6d, 0x11, 0xe1, 0xba, 0xa3, 0x56, 0x21, 0xf2, 0x08, 0x86, 0x9a, 0x56, 0x75, 0x89,
+	0xf6, 0xce, 0x0d, 0xc7, 0x6f, 0xb7, 0x40, 0xc2, 0xc8, 0x27, 0x00, 0xfc, 0x59, 0xa3, 0xe2, 0x15,
+	0x0a, 0x13, 0x6e, 0x4e, 0x83, 0xd9, 0x68, 0x3e, 0x8b, 0xfe, 0x6f, 0x3a, 0xea, 0x8b, 0x8e, 0x4e,
+	0x7b, 0x7d, 0xba, 0x12, 0x4b, 0xe6, 0xf0, 0xa0, 0x56, 0xc8, 0x78, 0x6e, 0x90, 0x65, 0x5c, 0x68,
+	0x54, 0x26, 0xd3, 0xfc, 0x1a, 0xc3, 0xad, 0x69, 0x30, 0xdb, 0x48, 0xef, 0xf7, 0x64, 0xe2, 0xb8,
+	0x0b, 0x7e, 0x8d, 0xe4, 0x3d, 0x6c, 0xd7, 0x4a, 0x16, 0x8a, 0x56, 0x3a, 0x84, 0xe9, 0xda, 0x6c,
+	0x34, 0x7f, 0x7e, 0x77, 0xee, 0xf3, 0x56, 0x9d, 0xf6, 0x61, 0x64, 0x06, 0x63, 0x85, 0x0b, 0x54,
+	0x28, 0x72, 0xcc, 0xfc, 0xe0, 0x46, 0xae, 0xc9, 0xbd, 0x1e, 0xbf, 0x70, 0xd3, 0x3b, 0x86, 0x75,
+	0x2e, 0x16, 0x32, 0xdc, 0x71, 0x89, 0x5e, 0xde, 0x9d, 0x28, 0x11, 0x0b, 0x79, 0x2a, 0x8c, 0xba,
+	0x4a, 0x5d, 0xd0, 0xe4, 0x77, 0x00, 0x70, 0xd3, 0xb8, 0x35, 0xaa, 0xe4, 0x97, 0x8a, 0xaa, 0xab,
+	0xac, 0x37, 0x70, 0xe8, 0x91, 0x84, 0x91, 0x67, 0xb0, 0x5b, 0x97, 0xd4, 0x2c, 0xa4, 0xaa, 0xb2,
+	0x46, 0x70, 0xe3, 0xad, 0xdc, 0xe9, 0xc0, 0x2f, 0x82, 0x1b, 0xf2, 0x1a, 0xee, 0x69, 0xfc, 0xd1,
+	0xa0, 0xc8, 0xb9, 0x28, 0xb2, 0x1c, 0x85, 0x41, 0xe5, 0xad, 0x1d, 0xdf, 0x10, 0x1f, 0x1c, 0x4e,
+	0x5e, 0xc1, 0x98, 0x0b, 0xbb, 0x49, 0x36, 0x7d, 0x56, 0x49, 0x86, 0xa5, 0xf7, 0x7a, 0xff, 0x06,
+	0xff, 0x6c, 0xe1, 0xc9, 0xaf, 0x00, 0xb6, 0xfc, 0x9c, 0xc8, 0x53, 0xd8, 0xc9, 0x65, 0x55, 0x51,
+	0xc1, 0xb2, 0x92, 0x0b, 0xf4, 0x95, 0x8e, 0x3c, 0x76, 0xc6, 0x05, 0xfa, 0x1d, 0x1c, 0xf4, 0x3b,
+	0x78, 0xdb, 0x92, 0xbd, 0x80, 0xfd, 0x5a, 0xe1, 0x32, 0xf3, 0x53, 0xb7, 0x3d, 0xb7, 0xc9, 0x77,
+	0x2d, 0xec, 0x93, 0x25, 0x8c, 0x84, 0xb0, 0xb5, 0x44, 0xa5, 0xed, 0x22, 0xb6, 0x8b, 0xd6, 0x7d,
+	0x4e, 0x2e, 0x60, 0xd8, 0x8f, 0x94, 0x8c, 0x61, 0xed, 0x3b, 0x5e, 0xf9, 0x62, 0xec, 0x91, 0xbc,
+	0x81, 0x8d, 0x25, 0x2d, 0x1b, 0x74, 0x75, 0x8c, 0xe6, 0x93, 0xce, 0x9c, 0xee, 0x11, 0x45, 0x67,
+	0x5c, 0x9b, 0xaf, 0x56, 0x91, 0xb6, 0xc2, 0xa3, 0xc1, 0xbb, 0xe0, 0x84, 0xc3, 0xc3, 0x5c, 0x56,
+	0xb7, 0x18, 0x79, 0xb2, 0xd7, 0x3b, 0x79, 0x6e, 0x6f, 0x38, 0x0f, 0xbe, 0x1d, 0x75, 0x2a, 0x59,
+	0x52, 0x51, 0x44, 0x52, 0x15, 0xf6, 0xdd, 0xbb, 0xfb, 0xe3, 0x96, 0xa2, 0x35, 0xd7, 0xab, 0xff,
+	0x82, 0xe3, 0xee, 0xfc, 0x37, 0x08, 0x2e, 0x37, 0x9d, 0xf2, 0xed, 0xbf, 0x00, 0x00, 0x00, 0xff,
+	0xff, 0x37, 0xed, 0xaa, 0xaa, 0x34, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroup.proto b/googleapis/genomics/v1/readgroup.proto
deleted file mode 100644
index a0516e90..00000000
--- a/googleapis/genomics/v1/readgroup.proto
+++ /dev/null
@@ -1,105 +0,0 @@
-// 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.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadGroupProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A read group is all the data that's processed the same way by the sequencer.
-message ReadGroup {
-  message Experiment {
-    // A client-supplied library identifier; a library is a collection of DNA
-    // fragments which have been prepared for sequencing from a sample. This
-    // field is important for quality control as error or bias can be introduced
-    // during sample preparation.
-    string library_id = 1;
-
-    // The platform unit used as part of this experiment, for example
-    // flowcell-barcode.lane for Illumina or slide for SOLiD. Corresponds to the
-    // @RG PU field in the SAM spec.
-    string platform_unit = 2;
-
-    // The sequencing center used as part of this experiment.
-    string sequencing_center = 3;
-
-    // The instrument model used as part of this experiment. This maps to
-    // sequencing technology in the SAM spec.
-    string instrument_model = 4;
-  }
-
-  message Program {
-    // The command line used to run this program.
-    string command_line = 1;
-
-    // The user specified locally unique ID of the program. Used along with
-    // `prevProgramId` to define an ordering between programs.
-    string id = 2;
-
-    // The display name of the program. This is typically the colloquial name of
-    // the tool used, for example 'bwa' or 'picard'.
-    string name = 3;
-
-    // The ID of the program run before this one.
-    string prev_program_id = 4;
-
-    // The version of the program run.
-    string version = 5;
-  }
-
-  // The server-generated read group ID, unique for all read groups.
-  // Note: This is different than the @RG ID field in the SAM spec. For that
-  // value, see [name][google.genomics.v1.ReadGroup.name].
-  string id = 1;
-
-  // The dataset to which this read group belongs.
-  string dataset_id = 2;
-
-  // The read group name. This corresponds to the @RG ID field in the SAM spec.
-  string name = 3;
-
-  // A free-form text description of this read group.
-  string description = 4;
-
-  // A client-supplied sample identifier for the reads in this read group.
-  string sample_id = 5;
-
-  // The experiment used to generate this read group.
-  Experiment experiment = 6;
-
-  // The predicted insert size of this read group. The insert size is the length
-  // the sequenced DNA fragment from end-to-end, not including the adapters.
-  int32 predicted_insert_size = 7;
-
-  // The programs used to generate this read group. Programs are always
-  // identical for all read groups within a read group set. For this reason,
-  // only the first read group in a returned set will have this field
-  // populated.
-  repeated Program programs = 10;
-
-  // The reference set the reads in this read group are aligned to.
-  string reference_set_id = 11;
-
-  // A map of additional read group information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 12;
-}
diff --git a/googleapis/genomics/v1/readgroupset.pb.go b/googleapis/genomics/v1/readgroupset.pb.go
index 8fe6c5ed..3fff0e52 100644
--- a/googleapis/genomics/v1/readgroupset.pb.go
+++ b/googleapis/genomics/v1/readgroupset.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto
+// source: google/genomics/v1/readgroupset.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -50,6 +50,41 @@ func (m *ReadGroupSet) String() string            { return proto.CompactTextStri
 func (*ReadGroupSet) ProtoMessage()               {}
 func (*ReadGroupSet) Descriptor() ([]byte, []int) { return fileDescriptor8, []int{0} }
 
+func (m *ReadGroupSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ReadGroupSet) GetFilename() string {
+	if m != nil {
+		return m.Filename
+	}
+	return ""
+}
+
 func (m *ReadGroupSet) GetReadGroups() []*ReadGroup {
 	if m != nil {
 		return m.ReadGroups
@@ -68,35 +103,31 @@ func init() {
 	proto.RegisterType((*ReadGroupSet)(nil), "google.genomics.v1.ReadGroupSet")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto", fileDescriptor8)
-}
+func init() { proto.RegisterFile("google/genomics/v1/readgroupset.proto", fileDescriptor8) }
 
 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,
+	// 367 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0x4f, 0x8b, 0xdb, 0x30,
+	0x10, 0xc5, 0xb1, 0xf3, 0xa7, 0xcd, 0xa4, 0x84, 0x54, 0x87, 0x62, 0x4c, 0x03, 0x21, 0x50, 0x08,
+	0x3d, 0xc8, 0x4d, 0x7a, 0x29, 0x29, 0xe4, 0x10, 0x28, 0x25, 0xb0, 0x87, 0x60, 0xc3, 0x1e, 0xf6,
+	0x12, 0x14, 0x7b, 0x6c, 0xc4, 0x3a, 0x92, 0x91, 0xe4, 0x40, 0xbe, 0xf3, 0x7e, 0x80, 0x3d, 0x2e,
+	0x96, 0xff, 0x10, 0xd8, 0x25, 0xb7, 0xd1, 0xd3, 0xef, 0x8d, 0x46, 0x6f, 0xe0, 0x47, 0x26, 0x65,
+	0x96, 0x63, 0x90, 0xa1, 0x90, 0x67, 0x1e, 0xeb, 0xe0, 0xb2, 0x0a, 0x14, 0xb2, 0x24, 0x53, 0xb2,
+	0x2c, 0x34, 0x1a, 0x5a, 0x28, 0x69, 0x24, 0x21, 0x35, 0x46, 0x5b, 0x8c, 0x5e, 0x56, 0xfe, 0xf7,
+	0xc6, 0xca, 0x0a, 0x1e, 0x30, 0x21, 0xa4, 0x61, 0x86, 0x4b, 0xa1, 0x6b, 0x87, 0xbf, 0xb8, 0xd7,
+	0xb8, 0x61, 0xda, 0x0e, 0xf6, 0x74, 0x2a, 0xd3, 0x40, 0x1b, 0x55, 0xc6, 0xcd, 0x9b, 0x8b, 0x17,
+	0x17, 0xbe, 0x84, 0xc8, 0x92, 0xff, 0x95, 0x23, 0x42, 0x43, 0x26, 0xe0, 0xf2, 0xc4, 0x73, 0xe6,
+	0xce, 0x72, 0x14, 0xba, 0x3c, 0x21, 0x33, 0x80, 0x84, 0x19, 0xa6, 0xd1, 0x1c, 0x79, 0xe2, 0xb9,
+	0x56, 0x1f, 0x35, 0xca, 0x3e, 0x21, 0x4b, 0x98, 0x2a, 0x4c, 0x51, 0xa1, 0x88, 0xf1, 0xd8, 0x40,
+	0x3d, 0x0b, 0x4d, 0x3a, 0x3d, 0xb2, 0x24, 0x81, 0xbe, 0x60, 0x67, 0xf4, 0xfa, 0xf6, 0xd6, 0xd6,
+	0xc4, 0x87, 0xcf, 0x29, 0xcf, 0xd1, 0xea, 0x03, 0xab, 0x77, 0x67, 0xb2, 0x85, 0x71, 0xf5, 0x95,
+	0x63, 0x1d, 0x92, 0x37, 0x9c, 0xf7, 0x96, 0xe3, 0xf5, 0x8c, 0xbe, 0xcf, 0x88, 0x76, 0xf3, 0x87,
+	0xa0, 0xda, 0x52, 0x93, 0x2d, 0xf4, 0xb9, 0x48, 0xa5, 0xf7, 0xc9, 0x1a, 0x7f, 0xde, 0x35, 0x46,
+	0x68, 0xe8, 0x5e, 0xa4, 0xf2, 0x9f, 0x30, 0xea, 0x1a, 0x5a, 0x9f, 0x1f, 0xc1, 0xa8, 0x93, 0xc8,
+	0x14, 0x7a, 0xcf, 0x78, 0x6d, 0x62, 0xa9, 0x4a, 0xf2, 0x0b, 0x06, 0x17, 0x96, 0x97, 0x68, 0x23,
+	0x19, 0xaf, 0xfd, 0xb6, 0x7f, 0x1b, 0x33, 0x7d, 0xe0, 0xda, 0x3c, 0x56, 0x44, 0x58, 0x83, 0x1b,
+	0xf7, 0x8f, 0xb3, 0xcb, 0xe1, 0x5b, 0x2c, 0xcf, 0x1f, 0xcc, 0xb2, 0xfb, 0x7a, 0x3b, 0xcc, 0xa1,
+	0x6a, 0x72, 0x70, 0x9e, 0x36, 0x2d, 0x28, 0x73, 0x26, 0x32, 0x2a, 0x55, 0x56, 0xad, 0xda, 0x3e,
+	0x11, 0xd4, 0x57, 0xac, 0xe0, 0xfa, 0x76, 0xfd, 0x7f, 0xdb, 0xfa, 0xd5, 0x71, 0x4e, 0x43, 0x4b,
+	0xfe, 0x7e, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x1f, 0xa9, 0x2f, 0xa5, 0x80, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/readgroupset.proto b/googleapis/genomics/v1/readgroupset.proto
deleted file mode 100644
index 091fbd43..00000000
--- a/googleapis/genomics/v1/readgroupset.proto
+++ /dev/null
@@ -1,63 +0,0 @@
-// 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.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readgroup.proto"; // from google/genomics/v1/readgroup.proto
-import "github.com/golang/protobuf/ptypes/struct/struct.proto"; // from google/protobuf/struct.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadGroupSetProto";
-option java_package = "com.google.genomics.v1";
-
-
-// A read group set is a logical collection of read groups, which are
-// collections of reads produced by a sequencer. A read group set typically
-// models reads corresponding to one sample, sequenced one way, and aligned one
-// way.
-//
-// * A read group set belongs to one dataset.
-// * A read group belongs to one read group set.
-// * A read belongs to one read group.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message ReadGroupSet {
-  // The server-generated read group set ID, unique for all read group sets.
-  string id = 1;
-
-  // The dataset to which this read group set belongs.
-  string dataset_id = 2;
-
-  // The reference set to which the reads in this read group set are aligned.
-  string reference_set_id = 3;
-
-  // The read group set name. By default this will be initialized to the sample
-  // name of the sequenced data contained in this set.
-  string name = 4;
-
-  // The filename of the original source file for this read group set, if any.
-  string filename = 5;
-
-  // The read groups in this set. There are typically 1-10 read groups in a read
-  // group set.
-  repeated ReadGroup read_groups = 6;
-
-  // A map of additional read group set information.
-  map<string, google.protobuf.ListValue> info = 7;
-}
diff --git a/googleapis/genomics/v1/reads.pb.go b/googleapis/genomics/v1/reads.pb.go
index 957b3a87..2315bd0a 100644
--- a/googleapis/genomics/v1/reads.pb.go
+++ b/googleapis/genomics/v1/reads.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/reads.proto
+// source: google/genomics/v1/reads.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -81,6 +81,34 @@ func (m *SearchReadGroupSetsRequest) String() string            { return proto.C
 func (*SearchReadGroupSetsRequest) ProtoMessage()               {}
 func (*SearchReadGroupSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{0} }
 
+func (m *SearchReadGroupSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchReadGroupSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchReadGroupSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReadGroupSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The read group set search response.
 type SearchReadGroupSetsResponse struct {
 	// The list of matching read group sets.
@@ -103,6 +131,13 @@ func (m *SearchReadGroupSetsResponse) GetReadGroupSets() []*ReadGroupSet {
 	return nil
 }
 
+func (m *SearchReadGroupSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The read group set import request.
 type ImportReadGroupSetsRequest struct {
 	// Required. The ID of the dataset these read group sets will belong to. The
@@ -127,6 +162,34 @@ func (m *ImportReadGroupSetsRequest) String() string            { return proto.C
 func (*ImportReadGroupSetsRequest) ProtoMessage()               {}
 func (*ImportReadGroupSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{2} }
 
+func (m *ImportReadGroupSetsRequest) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *ImportReadGroupSetsRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *ImportReadGroupSetsRequest) GetSourceUris() []string {
+	if m != nil {
+		return m.SourceUris
+	}
+	return nil
+}
+
+func (m *ImportReadGroupSetsRequest) GetPartitionStrategy() ImportReadGroupSetsRequest_PartitionStrategy {
+	if m != nil {
+		return m.PartitionStrategy
+	}
+	return ImportReadGroupSetsRequest_PARTITION_STRATEGY_UNSPECIFIED
+}
+
 // The read group set import response.
 type ImportReadGroupSetsResponse struct {
 	// IDs of the read group sets that were created.
@@ -138,6 +201,13 @@ func (m *ImportReadGroupSetsResponse) String() string            { return proto.
 func (*ImportReadGroupSetsResponse) ProtoMessage()               {}
 func (*ImportReadGroupSetsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{3} }
 
+func (m *ImportReadGroupSetsResponse) GetReadGroupSetIds() []string {
+	if m != nil {
+		return m.ReadGroupSetIds
+	}
+	return nil
+}
+
 // The read group set export request.
 type ExportReadGroupSetRequest struct {
 	// Required. The Google Developers Console project ID that owns this
@@ -161,6 +231,34 @@ func (m *ExportReadGroupSetRequest) String() string            { return proto.Co
 func (*ExportReadGroupSetRequest) ProtoMessage()               {}
 func (*ExportReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{4} }
 
+func (m *ExportReadGroupSetRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetExportUri() string {
+	if m != nil {
+		return m.ExportUri
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *ExportReadGroupSetRequest) GetReferenceNames() []string {
+	if m != nil {
+		return m.ReferenceNames
+	}
+	return nil
+}
+
 type UpdateReadGroupSetRequest struct {
 	// The ID of the read group set to be updated. The caller must have WRITE
 	// permissions to the dataset associated with this read group set.
@@ -183,6 +281,13 @@ func (m *UpdateReadGroupSetRequest) String() string            { return proto.Co
 func (*UpdateReadGroupSetRequest) ProtoMessage()               {}
 func (*UpdateReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{5} }
 
+func (m *UpdateReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 func (m *UpdateReadGroupSetRequest) GetReadGroupSet() *ReadGroupSet {
 	if m != nil {
 		return m.ReadGroupSet
@@ -208,6 +313,13 @@ func (m *DeleteReadGroupSetRequest) String() string            { return proto.Co
 func (*DeleteReadGroupSetRequest) ProtoMessage()               {}
 func (*DeleteReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{6} }
 
+func (m *DeleteReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 type GetReadGroupSetRequest struct {
 	// The ID of the read group set.
 	ReadGroupSetId string `protobuf:"bytes,1,opt,name=read_group_set_id,json=readGroupSetId" json:"read_group_set_id,omitempty"`
@@ -218,6 +330,13 @@ func (m *GetReadGroupSetRequest) String() string            { return proto.Compa
 func (*GetReadGroupSetRequest) ProtoMessage()               {}
 func (*GetReadGroupSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{7} }
 
+func (m *GetReadGroupSetRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
 type ListCoverageBucketsRequest struct {
 	// Required. The ID of the read group set over which coverage is requested.
 	ReadGroupSetId string `protobuf:"bytes,1,opt,name=read_group_set_id,json=readGroupSetId" json:"read_group_set_id,omitempty"`
@@ -253,6 +372,55 @@ func (m *ListCoverageBucketsRequest) String() string            { return proto.C
 func (*ListCoverageBucketsRequest) ProtoMessage()               {}
 func (*ListCoverageBucketsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{8} }
 
+func (m *ListCoverageBucketsRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetTargetBucketWidth() int64 {
+	if m != nil {
+		return m.TargetBucketWidth
+	}
+	return 0
+}
+
+func (m *ListCoverageBucketsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListCoverageBucketsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // A bucket over which read coverage has been precomputed. A bucket corresponds
 // to a specific range of the reference sequence.
 type CoverageBucket struct {
@@ -275,6 +443,13 @@ func (m *CoverageBucket) GetRange() *Range {
 	return nil
 }
 
+func (m *CoverageBucket) GetMeanCoverage() float32 {
+	if m != nil {
+		return m.MeanCoverage
+	}
+	return 0
+}
+
 type ListCoverageBucketsResponse struct {
 	// The length of each coverage bucket in base pairs. Note that buckets at the
 	// end of a reference sequence may be shorter. This value is omitted if the
@@ -297,6 +472,13 @@ func (m *ListCoverageBucketsResponse) String() string            { return proto.
 func (*ListCoverageBucketsResponse) ProtoMessage()               {}
 func (*ListCoverageBucketsResponse) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{10} }
 
+func (m *ListCoverageBucketsResponse) GetBucketWidth() int64 {
+	if m != nil {
+		return m.BucketWidth
+	}
+	return 0
+}
+
 func (m *ListCoverageBucketsResponse) GetCoverageBuckets() []*CoverageBucket {
 	if m != nil {
 		return m.CoverageBuckets
@@ -304,6 +486,13 @@ func (m *ListCoverageBucketsResponse) GetCoverageBuckets() []*CoverageBucket {
 	return nil
 }
 
+func (m *ListCoverageBucketsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The read search request.
 type SearchReadsRequest struct {
 	// The IDs of the read groups sets within which to search for reads. All
@@ -339,6 +528,55 @@ func (m *SearchReadsRequest) String() string            { return proto.CompactTe
 func (*SearchReadsRequest) ProtoMessage()               {}
 func (*SearchReadsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{11} }
 
+func (m *SearchReadsRequest) GetReadGroupSetIds() []string {
+	if m != nil {
+		return m.ReadGroupSetIds
+	}
+	return nil
+}
+
+func (m *SearchReadsRequest) GetReadGroupIds() []string {
+	if m != nil {
+		return m.ReadGroupIds
+	}
+	return nil
+}
+
+func (m *SearchReadsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *SearchReadsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchReadsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchReadsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReadsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The read search response.
 type SearchReadsResponse struct {
 	// The list of matching alignments sorted by mapped genomic coordinate,
@@ -364,6 +602,13 @@ func (m *SearchReadsResponse) GetAlignments() []*Read {
 	return nil
 }
 
+func (m *SearchReadsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The stream reads request.
 type StreamReadsRequest struct {
 	// The Google Developers Console project ID or number which will be billed
@@ -410,6 +655,55 @@ func (m *StreamReadsRequest) String() string            { return proto.CompactTe
 func (*StreamReadsRequest) ProtoMessage()               {}
 func (*StreamReadsRequest) Descriptor() ([]byte, []int) { return fileDescriptor9, []int{13} }
 
+func (m *StreamReadsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetReadGroupSetId() string {
+	if m != nil {
+		return m.ReadGroupSetId
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *StreamReadsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetShard() int32 {
+	if m != nil {
+		return m.Shard
+	}
+	return 0
+}
+
+func (m *StreamReadsRequest) GetTotalShards() int32 {
+	if m != nil {
+		return m.TotalShards
+	}
+	return 0
+}
+
 type StreamReadsResponse struct {
 	Alignments []*Read `protobuf:"bytes,1,rep,name=alignments" json:"alignments,omitempty"`
 }
@@ -545,7 +839,7 @@ var _StreamingReadService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/reads.proto",
+	Metadata: "google/genomics/v1/reads.proto",
 }
 
 // Client API for ReadServiceV1 service
@@ -1020,98 +1314,95 @@ var _ReadServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/reads.proto",
+	Metadata: "google/genomics/v1/reads.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/reads.proto", fileDescriptor9)
-}
+func init() { proto.RegisterFile("google/genomics/v1/reads.proto", fileDescriptor9) }
 
 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,
+	// 1333 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0xcf, 0x6f, 0x1b, 0xc5,
+	0x17, 0xff, 0x8e, 0x1d, 0xb7, 0xcd, 0x73, 0x93, 0x38, 0xe3, 0x7e, 0x8b, 0xe3, 0x90, 0x36, 0x6c,
+	0x69, 0x1b, 0x02, 0xb5, 0x89, 0x11, 0x2a, 0x4a, 0x85, 0x44, 0xda, 0x3a, 0xc1, 0x28, 0x69, 0xad,
+	0x75, 0x02, 0x82, 0xcb, 0x6a, 0x62, 0x4f, 0xb6, 0x4b, 0xec, 0xdd, 0x65, 0x66, 0x9c, 0xfe, 0x52,
+	0x2f, 0xbd, 0x81, 0x04, 0x1c, 0x10, 0x27, 0xae, 0x5c, 0x39, 0x22, 0xfe, 0x08, 0x4e, 0x88, 0x0b,
+	0x7f, 0x00, 0xe2, 0x0f, 0xe0, 0xc4, 0x11, 0xcd, 0xec, 0x6e, 0xbc, 0xeb, 0x9d, 0x6d, 0x1c, 0x55,
+	0xe2, 0xb6, 0xfb, 0xe6, 0xb3, 0x6f, 0x3e, 0xef, 0xf7, 0x5b, 0xb8, 0x64, 0x7b, 0x9e, 0xdd, 0xa7,
+	0x75, 0x9b, 0xba, 0xde, 0xc0, 0xe9, 0xf2, 0xfa, 0xd1, 0x5a, 0x9d, 0x51, 0xd2, 0xe3, 0x35, 0x9f,
+	0x79, 0xc2, 0xc3, 0x38, 0x38, 0xaf, 0x45, 0xe7, 0xb5, 0xa3, 0xb5, 0xea, 0xab, 0xe1, 0x37, 0xc4,
+	0x77, 0xea, 0xc4, 0x75, 0x3d, 0x41, 0x84, 0xe3, 0xb9, 0xe1, 0x17, 0x55, 0xad, 0x46, 0xe2, 0xda,
+	0x34, 0x3c, 0xbf, 0x96, 0x71, 0x23, 0xe9, 0x3b, 0xb6, 0x3b, 0xa0, 0xae, 0x08, 0x71, 0x57, 0x33,
+	0x70, 0x36, 0xf3, 0x86, 0x3e, 0xa7, 0x11, 0xec, 0x4a, 0x08, 0xeb, 0x7b, 0xae, 0xcd, 0x86, 0xae,
+	0xeb, 0xb8, 0x76, 0xdd, 0xf3, 0x29, 0x4b, 0x70, 0x5a, 0x0c, 0x41, 0xea, 0x6d, 0x7f, 0x78, 0x50,
+	0xa7, 0x03, 0x5f, 0x3c, 0x0e, 0x0f, 0x97, 0xc7, 0x0f, 0x0f, 0x1c, 0xda, 0xef, 0x59, 0x03, 0xc2,
+	0x0f, 0x03, 0x84, 0xf1, 0x35, 0x82, 0x6a, 0x87, 0x12, 0xd6, 0x7d, 0x60, 0x52, 0xd2, 0xdb, 0x92,
+	0x04, 0x3a, 0x54, 0x70, 0x93, 0x7e, 0x31, 0xa4, 0x5c, 0xe0, 0xcb, 0x50, 0xec, 0x11, 0x41, 0x38,
+	0x15, 0x96, 0xd3, 0xe3, 0x15, 0xb4, 0x9c, 0x5f, 0x99, 0x36, 0x21, 0x14, 0xb5, 0x7a, 0x1c, 0x63,
+	0x98, 0x72, 0xc9, 0x80, 0x56, 0xf2, 0xcb, 0x68, 0x65, 0xda, 0x54, 0xcf, 0x78, 0x09, 0xc0, 0x27,
+	0x36, 0xb5, 0x84, 0x77, 0x48, 0xdd, 0x4a, 0x4e, 0x9d, 0x4c, 0x4b, 0xc9, 0xae, 0x14, 0xe0, 0x45,
+	0x50, 0x2f, 0x16, 0x77, 0x9e, 0xd0, 0xca, 0xd4, 0x32, 0x5a, 0x29, 0x98, 0xe7, 0xa4, 0xa0, 0xe3,
+	0x3c, 0xa1, 0xc6, 0xb7, 0x08, 0x16, 0xb5, 0x7c, 0xb8, 0xef, 0xb9, 0x9c, 0xe2, 0x0f, 0x61, 0x4e,
+	0x7a, 0xca, 0x52, 0xae, 0xb2, 0x38, 0x15, 0x01, 0xa9, 0x62, 0x63, 0xb9, 0x96, 0x0e, 0x67, 0x2d,
+	0xae, 0xc3, 0x9c, 0x61, 0x71, 0x8d, 0xf8, 0x1a, 0xcc, 0xb9, 0xf4, 0x91, 0xb0, 0x52, 0x54, 0x67,
+	0xa4, 0xb8, 0x1d, 0xd1, 0x35, 0xfe, 0xc8, 0x41, 0xb5, 0x35, 0xf0, 0x3d, 0x26, 0xb4, 0x1e, 0x5a,
+	0x02, 0x18, 0x79, 0xa8, 0x82, 0x02, 0x63, 0x8f, 0x1d, 0x84, 0x57, 0xa0, 0xc4, 0xe8, 0x01, 0x65,
+	0xd4, 0xed, 0x52, 0x2b, 0x04, 0x4d, 0x29, 0xd0, 0xec, 0xb1, 0xbc, 0xa3, 0x90, 0x97, 0xa1, 0xc8,
+	0xbd, 0x21, 0xeb, 0x52, 0x6b, 0xc8, 0x1c, 0x5e, 0xc9, 0x05, 0xae, 0x0e, 0x44, 0x7b, 0xcc, 0xe1,
+	0xd8, 0x03, 0xec, 0x13, 0x26, 0x1c, 0x19, 0x7d, 0x8b, 0x0b, 0x46, 0x04, 0xb5, 0x1f, 0x57, 0x0a,
+	0xcb, 0x68, 0x65, 0xb6, 0xf1, 0x81, 0xce, 0xfa, 0x6c, 0xd6, 0xb5, 0x76, 0xa4, 0xa8, 0x13, 0xea,
+	0x31, 0xe7, 0xfd, 0x71, 0x91, 0x61, 0xc1, 0x7c, 0x0a, 0x87, 0x0d, 0xb8, 0xd4, 0xde, 0x30, 0x77,
+	0x5b, 0xbb, 0xad, 0xfb, 0xf7, 0xac, 0xce, 0xae, 0xb9, 0xb1, 0xdb, 0xdc, 0xfa, 0xd4, 0xda, 0xbb,
+	0xd7, 0x69, 0x37, 0xef, 0xb4, 0x36, 0x5b, 0xcd, 0xbb, 0xa5, 0xff, 0xe1, 0x57, 0xa0, 0xdc, 0x6e,
+	0x9a, 0xd6, 0x66, 0x6b, 0xbb, 0x69, 0xc9, 0x87, 0xce, 0xc6, 0x4e, 0x7b, 0xbb, 0x59, 0x42, 0x78,
+	0x06, 0xa6, 0x77, 0x9a, 0xe6, 0x56, 0xd3, 0xda, 0xd8, 0xde, 0x2e, 0xe5, 0x8c, 0x8f, 0x60, 0x51,
+	0xcb, 0x31, 0x8c, 0xf5, 0x9b, 0x80, 0x93, 0xb1, 0x8e, 0xe5, 0xe0, 0x5c, 0x3c, 0x98, 0xad, 0x1e,
+	0x37, 0x7e, 0x42, 0xb0, 0xd0, 0x7c, 0x34, 0xae, 0x2c, 0x16, 0x25, 0x9f, 0x79, 0x9f, 0xd3, 0x6e,
+	0x3c, 0x4a, 0xa1, 0xa4, 0xd5, 0x93, 0xc7, 0x54, 0x7d, 0x2b, 0x7d, 0x1f, 0x65, 0x6c, 0x20, 0xd9,
+	0x63, 0x0e, 0x7e, 0x03, 0xe6, 0x53, 0x44, 0xc2, 0x8c, 0x9f, 0x4d, 0xf2, 0xc0, 0xd7, 0x65, 0x7e,
+	0x46, 0xf1, 0x96, 0xd5, 0xc0, 0x2b, 0x53, 0x8a, 0xf0, 0x28, 0xdc, 0xf7, 0xa4, 0xd4, 0xf8, 0x15,
+	0xc1, 0xc2, 0x9e, 0xdf, 0x23, 0x82, 0xea, 0xf8, 0x6a, 0x6f, 0x44, 0xda, 0x1b, 0x37, 0x61, 0x36,
+	0x09, 0x55, 0xfc, 0x27, 0x29, 0x88, 0xf3, 0x71, 0x4d, 0xf8, 0x16, 0x14, 0x87, 0x8a, 0x8f, 0x6a,
+	0x0f, 0xca, 0xbc, 0x62, 0xa3, 0x1a, 0x29, 0x89, 0x3a, 0x48, 0x6d, 0x53, 0x76, 0x90, 0x1d, 0xc2,
+	0x0f, 0x4d, 0x08, 0xe0, 0xf2, 0xd9, 0xd8, 0x84, 0x85, 0xbb, 0xb4, 0x4f, 0x5f, 0xd6, 0x18, 0xe3,
+	0x0e, 0x5c, 0xdc, 0xa2, 0xe2, 0x25, 0x95, 0x3c, 0xcf, 0x41, 0x75, 0xdb, 0xe1, 0xe2, 0x8e, 0x77,
+	0x44, 0x19, 0xb1, 0xe9, 0xed, 0x61, 0xf7, 0x30, 0x56, 0xb1, 0xa7, 0xf0, 0xed, 0x55, 0x98, 0x4d,
+	0x46, 0x33, 0x8c, 0xfa, 0x4c, 0x22, 0x98, 0xf8, 0x02, 0x14, 0xb8, 0x20, 0x4c, 0xa8, 0xca, 0xce,
+	0x9b, 0xc1, 0x0b, 0x2e, 0x41, 0x9e, 0xba, 0x3d, 0x55, 0xa0, 0x79, 0x53, 0x3e, 0xe2, 0x1a, 0x94,
+	0x05, 0x61, 0x36, 0x15, 0xd6, 0xbe, 0xa2, 0x64, 0x3d, 0x74, 0x7a, 0xe2, 0x41, 0xe5, 0x8c, 0x42,
+	0xcc, 0x07, 0x47, 0x01, 0xd9, 0x4f, 0xe4, 0xc1, 0x58, 0x23, 0x3d, 0xfb, 0xc2, 0x46, 0x7a, 0x6e,
+	0xac, 0x91, 0x1e, 0xc0, 0x6c, 0xd2, 0x7e, 0x5c, 0x87, 0x82, 0x1a, 0x56, 0xca, 0xd6, 0x62, 0x63,
+	0x41, 0x9b, 0x1f, 0x12, 0x60, 0x06, 0x38, 0x7c, 0x05, 0x66, 0x06, 0x94, 0xb8, 0x56, 0x37, 0xd4,
+	0xa3, 0x12, 0x2b, 0x67, 0x9e, 0x97, 0xc2, 0x48, 0xb7, 0xf1, 0x0b, 0x82, 0x45, 0xad, 0xb3, 0xc3,
+	0x22, 0x7e, 0x0d, 0xce, 0x27, 0x8c, 0x45, 0xca, 0xd8, 0xe2, 0x7e, 0xcc, 0xcc, 0x1d, 0x28, 0x45,
+	0x57, 0x84, 0x8e, 0x09, 0xda, 0x5f, 0xb1, 0x61, 0xe8, 0x38, 0x26, 0x6f, 0x32, 0xe7, 0xba, 0xc9,
+	0x9b, 0x75, 0x8d, 0x3d, 0xaf, 0x6b, 0xec, 0x7f, 0x23, 0xc0, 0xa3, 0x51, 0x73, 0x9c, 0x1e, 0xa7,
+	0xe9, 0x3a, 0xf8, 0xf5, 0x44, 0xf1, 0x49, 0x60, 0x41, 0x01, 0x47, 0xa5, 0x25, 0x51, 0xe9, 0x34,
+	0x3a, 0xfb, 0xc2, 0x34, 0x3a, 0xa7, 0x49, 0xa3, 0xe9, 0x51, 0x1a, 0x25, 0xd3, 0x22, 0x7f, 0xaa,
+	0xf9, 0xfa, 0x10, 0xca, 0x09, 0x9b, 0xc3, 0x28, 0xbd, 0x07, 0x70, 0xbc, 0xa4, 0x44, 0x13, 0xb5,
+	0x92, 0xd5, 0x40, 0xcc, 0x18, 0x76, 0xe2, 0x31, 0xfa, 0x97, 0xf4, 0xb6, 0x60, 0x94, 0x0c, 0x12,
+	0xde, 0x3e, 0xa1, 0x31, 0x6b, 0x6b, 0x35, 0xf7, 0x5f, 0xd4, 0xaa, 0xc4, 0x3d, 0x20, 0xac, 0xa7,
+	0xaa, 0xb3, 0x60, 0x06, 0x2f, 0x32, 0x9b, 0x85, 0x27, 0x48, 0xdf, 0x52, 0xaf, 0x5c, 0xc5, 0xb1,
+	0x60, 0x16, 0x95, 0xac, 0xa3, 0x44, 0xc6, 0x7d, 0x28, 0x27, 0xec, 0x7c, 0x59, 0x0f, 0x37, 0xbe,
+	0x47, 0x70, 0x21, 0xd0, 0xe8, 0xb8, 0xb6, 0x3c, 0xed, 0x50, 0x76, 0xe4, 0x74, 0x29, 0x7e, 0x06,
+	0xc5, 0xd8, 0x4d, 0xf8, 0x9a, 0x4e, 0x5b, 0xda, 0xe5, 0xd5, 0xeb, 0x27, 0xe2, 0x02, 0xca, 0xc6,
+	0xe2, 0xf3, 0xdf, 0xff, 0xfc, 0x2e, 0xf7, 0x7f, 0xa3, 0x74, 0xbc, 0x39, 0xaf, 0x73, 0x05, 0x5b,
+	0x47, 0xab, 0x6f, 0xa3, 0xc6, 0x6f, 0xd3, 0x30, 0x13, 0xa3, 0xf3, 0xf1, 0x1a, 0xfe, 0x12, 0x41,
+	0x59, 0x33, 0xd0, 0x71, 0xed, 0x74, 0xdb, 0x49, 0x75, 0x29, 0xc2, 0xc7, 0x36, 0xdf, 0xda, 0xfd,
+	0x68, 0xf3, 0x35, 0xae, 0x28, 0x5e, 0x4b, 0x46, 0x65, 0x7c, 0x6f, 0xe6, 0xeb, 0x8e, 0x52, 0xba,
+	0x8e, 0x56, 0xf1, 0x0f, 0x08, 0x70, 0x7a, 0x1f, 0xc0, 0x37, 0x74, 0x54, 0x32, 0xf7, 0x86, 0x93,
+	0x98, 0xdc, 0x54, 0x4c, 0xd6, 0x8c, 0xb7, 0x52, 0x4c, 0xea, 0x4f, 0x53, 0x79, 0xfb, 0x6c, 0x3d,
+	0xd8, 0x28, 0x42, 0x76, 0x65, 0xcd, 0x9a, 0xab, 0xf7, 0x54, 0xf6, 0x7e, 0x5e, 0xad, 0x4f, 0x8c,
+	0x0f, 0x63, 0x9a, 0xed, 0xbb, 0x3a, 0x57, 0x9f, 0x49, 0x76, 0x3f, 0x22, 0xc0, 0xe9, 0xdd, 0x44,
+	0xef, 0xbb, 0xcc, 0x1d, 0xa6, 0x7a, 0xe2, 0x02, 0x62, 0xbc, 0xaf, 0xc8, 0xdc, 0x6c, 0x5c, 0x9d,
+	0xcc, 0x7d, 0x63, 0x7b, 0x0e, 0xfe, 0x0a, 0x01, 0x4e, 0x6f, 0x1d, 0x7a, 0x9a, 0x99, 0xdb, 0x49,
+	0xf5, 0x62, 0x6a, 0xc5, 0x69, 0xca, 0x3f, 0x28, 0xe3, 0x86, 0x22, 0x77, 0x7d, 0x75, 0x32, 0x72,
+	0xf8, 0x1b, 0x04, 0x73, 0x63, 0xab, 0x0b, 0x5e, 0xd5, 0x31, 0xd1, 0xef, 0x37, 0x13, 0x78, 0x2b,
+	0x24, 0x84, 0x27, 0x24, 0xf4, 0x33, 0x82, 0xb2, 0x66, 0x30, 0xeb, 0x53, 0x2c, 0x7b, 0x5d, 0xd2,
+	0xa7, 0xd8, 0x0b, 0x26, 0x7e, 0x14, 0x55, 0xfc, 0xee, 0x44, 0x3c, 0xeb, 0xd1, 0xf8, 0x0e, 0x27,
+	0x3f, 0x7e, 0x0a, 0xc5, 0xd8, 0x84, 0xca, 0xe8, 0x6a, 0xa9, 0xb1, 0x9d, 0xd1, 0xd5, 0xd2, 0xa3,
+	0x4e, 0xd3, 0xd5, 0x46, 0x99, 0x7f, 0x9b, 0xc2, 0xc5, 0xae, 0x37, 0xd0, 0xa8, 0xba, 0x0d, 0x4a,
+	0x4b, 0x5b, 0xe6, 0x48, 0x1b, 0x7d, 0xb6, 0x1e, 0x21, 0xbc, 0x3e, 0x71, 0xed, 0x9a, 0xc7, 0x6c,
+	0xf9, 0x33, 0xaf, 0x32, 0xa8, 0x1e, 0x1c, 0x11, 0xdf, 0xe1, 0xf1, 0x1f, 0xfc, 0x5b, 0xd1, 0xf3,
+	0x3f, 0x08, 0xed, 0x9f, 0x51, 0xc8, 0x77, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x9b, 0xce,
+	0x6e, 0xa3, 0x10, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/reads.proto b/googleapis/genomics/v1/reads.proto
deleted file mode 100644
index c590fa34..00000000
--- a/googleapis/genomics/v1/reads.proto
+++ /dev/null
@@ -1,460 +0,0 @@
-// 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.genomics.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/range.proto"; // from google/genomics/v1/range.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readalignment.proto"; // from google/genomics/v1/readalignment.proto
-import "google.golang.org/genproto/googleapis/genomics/v1/readgroupset.proto"; // from google/genomics/v1/readgroupset.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 "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "ReadsProto";
-option java_package = "com.google.genomics.v1";
-
-
-service StreamingReadService {
-  // Returns a stream of all the reads matching the search request, ordered
-  // by reference name, position, and ID.
-  rpc StreamReads(StreamReadsRequest) returns (stream StreamReadsResponse) {
-    option (google.api.http) = { post: "/v1/reads:stream" body: "*" };
-  }
-}
-
-// The Readstore. A data store for DNA sequencing Reads.
-service ReadServiceV1 {
-  // Creates read group sets by asynchronously importing the provided
-  // information.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The caller must have WRITE permissions to the dataset.
-  //
-  // ## Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import
-  //
-  // - Tags will be converted to strings - tag types are not preserved
-  // - Comments (`@CO`) in the input file header will not be preserved
-  // - Original header order of references (`@SQ`) will not be preserved
-  // - Any reverse stranded unmapped reads will be reverse complemented, and
-  // their qualities (also the "BQ" and "OQ" tags, if any) will be reversed
-  // - Unmapped reads will be stripped of positional information (reference name
-  // and position)
-  rpc ImportReadGroupSets(ImportReadGroupSetsRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/readgroupsets:import" body: "*" };
-  }
-
-  // Exports a read group set to a BAM file in Google Cloud Storage.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // 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]
-  // for caveats.
-  rpc ExportReadGroupSet(ExportReadGroupSetRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/readgroupsets/{read_group_set_id}:export" body: "*" };
-  }
-
-  // Searches for read group sets matching the criteria.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReadGroupSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L135).
-  rpc SearchReadGroupSets(SearchReadGroupSetsRequest) returns (SearchReadGroupSetsResponse) {
-    option (google.api.http) = { post: "/v1/readgroupsets/search" body: "*" };
-  }
-
-  // Updates a read group set.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateReadGroupSet(UpdateReadGroupSetRequest) returns (ReadGroupSet) {
-    option (google.api.http) = { patch: "/v1/readgroupsets/{read_group_set_id}" body: "read_group_set" };
-  }
-
-  // Deletes a read group set.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteReadGroupSet(DeleteReadGroupSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/readgroupsets/{read_group_set_id}" };
-  }
-
-  // Gets a read group set by ID.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetReadGroupSet(GetReadGroupSetRequest) returns (ReadGroupSet) {
-    option (google.api.http) = { get: "/v1/readgroupsets/{read_group_set_id}" };
-  }
-
-  // Lists fixed width coverage buckets for a read group set, each of which
-  // correspond to a range of a reference sequence. Each bucket summarizes
-  // coverage information across its corresponding genomic range.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Coverage is defined as the number of reads which are aligned to a given
-  // base in the reference sequence. Coverage buckets are available at several
-  // precomputed bucket widths, enabling retrieval of various coverage 'zoom
-  // levels'. The caller must have READ permissions for the target read group
-  // set.
-  rpc ListCoverageBuckets(ListCoverageBucketsRequest) returns (ListCoverageBucketsResponse) {
-    option (google.api.http) = { get: "/v1/readgroupsets/{read_group_set_id}/coveragebuckets" };
-  }
-
-  // Gets a list of reads for one or more read group sets.
-  //
-  // For the definitions of read group sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Reads search operates over a genomic coordinate space of reference sequence
-  // & position defined over the reference sequences to which the requested
-  // read group sets are aligned.
-  //
-  // If a target positional range is specified, search returns all reads whose
-  // alignment to the reference genome overlap the range. A query which
-  // specifies only read group set IDs yields all reads in those read group
-  // sets, including unmapped reads.
-  //
-  // All reads returned (including reads on subsequent pages) are ordered by
-  // genomic coordinate (by reference sequence, then position). Reads with
-  // equivalent genomic coordinates are returned in an unspecified order. This
-  // order is consistent, such that two queries for the same content (regardless
-  // of page size) yield reads in the same order across their respective streams
-  // of paginated responses.
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReads](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/readmethods.avdl#L85).
-  rpc SearchReads(SearchReadsRequest) returns (SearchReadsResponse) {
-    option (google.api.http) = { post: "/v1/reads/search" body: "*" };
-  }
-}
-
-// The read group set search request.
-message SearchReadGroupSetsRequest {
-  // Restricts this query to read group sets within the given datasets. At least
-  // one ID must be provided.
-  repeated string dataset_ids = 1;
-
-  // Only return read group sets for which a substring of the name matches this
-  // string.
-  string name = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 2;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 1024.
-  int32 page_size = 4;
-}
-
-// The read group set search response.
-message SearchReadGroupSetsResponse {
-  // The list of matching read group sets.
-  repeated ReadGroupSet read_group_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The read group set import request.
-message ImportReadGroupSetsRequest {
-  enum PartitionStrategy {
-    PARTITION_STRATEGY_UNSPECIFIED = 0;
-
-    // In most cases, this strategy yields one read group set per file. This is
-    // the default behavior.
-    //
-    // Allocate one read group set per file per sample. For BAM files, read
-    // groups are considered to share a sample if they have identical sample
-    // names. Furthermore, all reads for each file which do not belong to a read
-    // group, if any, will be grouped into a single read group set per-file.
-    PER_FILE_PER_SAMPLE = 1;
-
-    // Includes all read groups in all imported files into a single read group
-    // set. Requires that the headers for all imported files are equivalent. All
-    // reads which do not belong to a read group, if any, will be grouped into a
-    // separate read group set.
-    MERGE_ALL = 2;
-  }
-
-  // Required. The ID of the dataset these read group sets will belong to. The
-  // caller must have WRITE permissions to this dataset.
-  string dataset_id = 1;
-
-  // The reference set to which the imported read group sets are aligned to, if
-  // any. The reference names of this reference set must be a superset of those
-  // found in the imported file headers. If no reference set id is provided, a
-  // best effort is made to associate with a matching reference set.
-  string reference_set_id = 4;
-
-  // A list of URIs pointing at [BAM
-  // files](https://samtools.github.io/hts-specs/SAMv1.pdf)
-  // in Google Cloud Storage.
-  repeated string source_uris = 2;
-
-  // The partition strategy describes how read groups are partitioned into read
-  // group sets.
-  PartitionStrategy partition_strategy = 5;
-}
-
-// The read group set import response.
-message ImportReadGroupSetsResponse {
-  // IDs of the read group sets that were created.
-  repeated string read_group_set_ids = 1;
-}
-
-// The read group set export request.
-message ExportReadGroupSetRequest {
-  // Required. The Google Developers Console project ID that owns this
-  // export. The caller must have WRITE access to this project.
-  string project_id = 1;
-
-  // Required. A Google Cloud Storage URI for the exported BAM file.
-  // The currently authenticated user must have write access to the new file.
-  // An error will be returned if the URI already contains data.
-  string export_uri = 2;
-
-  // Required. The ID of the read group set to export. The caller must have
-  // READ access to this read group set.
-  string read_group_set_id = 3;
-
-  // The reference names to export. If this is not specified, all reference
-  // sequences, including unmapped reads, are exported.
-  // Use `*` to export only unmapped reads.
-  repeated string reference_names = 4;
-}
-
-message UpdateReadGroupSetRequest {
-  // The ID of the read group set to be updated. The caller must have WRITE
-  // permissions to the dataset associated with this read group set.
-  string read_group_set_id = 1;
-
-  // The new read group set data. See `updateMask` for details on mutability of
-  // fields.
-  ReadGroupSet read_group_set = 2;
-
-  // An optional mask specifying which fields to update. Supported fields:
-  //
-  // * [name][google.genomics.v1.ReadGroupSet.name].
-  // * [referenceSetId][google.genomics.v1.ReadGroupSet.reference_set_id].
-  //
-  // Leaving `updateMask` unset is equivalent to specifying all mutable
-  // fields.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteReadGroupSetRequest {
-  // The ID of the read group set to be deleted. The caller must have WRITE
-  // permissions to the dataset associated with this read group set.
-  string read_group_set_id = 1;
-}
-
-message GetReadGroupSetRequest {
-  // The ID of the read group set.
-  string read_group_set_id = 1;
-}
-
-message ListCoverageBucketsRequest {
-  // Required. The ID of the read group set over which coverage is requested.
-  string read_group_set_id = 1;
-
-  // The name of the reference to query, within the reference set associated
-  // with this query. Optional.
-  string reference_name = 3;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified. Defaults to 0.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified. If unset or 0, defaults
-  // to the length of the reference.
-  int64 end = 5;
-
-  // The desired width of each reported coverage bucket in base pairs. This
-  // will be rounded down to the nearest precomputed bucket width; the value
-  // of which is returned as `bucketWidth` in the response. Defaults
-  // to infinity (each bucket spans an entire reference sequence) or the length
-  // of the target range, if specified. The smallest precomputed
-  // `bucketWidth` is currently 2048 base pairs; this is subject to
-  // change.
-  int64 target_bucket_width = 6;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 7;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 2048.
-  int32 page_size = 8;
-}
-
-// A bucket over which read coverage has been precomputed. A bucket corresponds
-// to a specific range of the reference sequence.
-message CoverageBucket {
-  // The genomic coordinate range spanned by this bucket.
-  Range range = 1;
-
-  // The average number of reads which are aligned to each individual
-  // reference base in this bucket.
-  float mean_coverage = 2;
-}
-
-message ListCoverageBucketsResponse {
-  // The length of each coverage bucket in base pairs. Note that buckets at the
-  // end of a reference sequence may be shorter. This value is omitted if the
-  // bucket width is infinity (the default behaviour, with no range or
-  // `targetBucketWidth`).
-  int64 bucket_width = 1;
-
-  // The coverage buckets. The list of buckets is sparse; a bucket with 0
-  // overlapping reads is not returned. A bucket never crosses more than one
-  // reference sequence. Each bucket has width `bucketWidth`, unless
-  // its end is the end of the reference sequence.
-  repeated CoverageBucket coverage_buckets = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 3;
-}
-
-// The read search request.
-message SearchReadsRequest {
-  // The IDs of the read groups sets within which to search for reads. All
-  // specified read group sets must be aligned against a common set of reference
-  // sequences; this defines the genomic coordinates for the query. Must specify
-  // one of `readGroupSetIds` or `readGroupIds`.
-  repeated string read_group_set_ids = 1;
-
-  // The IDs of the read groups within which to search for reads. All specified
-  // read groups must belong to the same read group sets. Must specify one of
-  // `readGroupSetIds` or `readGroupIds`.
-  repeated string read_group_ids = 5;
-
-  // The reference sequence name, for example `chr1`, `1`, or `chrX`. If set to
-  // `*`, only unmapped reads are returned. If unspecified, all reads (mapped
-  // and unmapped) are returned.
-  string reference_name = 7;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 start = 8;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 end = 9;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 256. The maximum value is 2048.
-  int32 page_size = 4;
-}
-
-// The read search response.
-message SearchReadsResponse {
-  // The list of matching alignments sorted by mapped genomic coordinate,
-  // if any, ascending in position within the same reference. Unmapped reads,
-  // which have no position, are returned contiguously and are sorted in
-  // ascending lexicographic order by fragment name.
-  repeated Read alignments = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The stream reads request.
-message StreamReadsRequest {
-  // The Google Developers Console project ID or number which will be billed
-  // for this access. The caller must have WRITE access to this project.
-  // Required.
-  string project_id = 1;
-
-  // The ID of the read group set from which to stream reads.
-  string read_group_set_id = 2;
-
-  // The reference sequence name, for example `chr1`,
-  // `1`, or `chrX`. If set to *, only unmapped reads are
-  // returned.
-  string reference_name = 3;
-
-  // The start position of the range on the reference, 0-based inclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 start = 4;
-
-  // The end position of the range on the reference, 0-based exclusive. If
-  // specified, `referenceName` must also be specified.
-  int64 end = 5;
-
-  // Restricts results to a shard containing approximately `1/totalShards`
-  // of the normal response payload for this query. Results from a sharded
-  // request are disjoint from those returned by all queries which differ only
-  // in their shard parameter. A shard may yield 0 results; this is especially
-  // likely for large values of `totalShards`.
-  //
-  // Valid values are `[0, totalShards)`.
-  int32 shard = 6;
-
-  // Specifying `totalShards` causes a disjoint subset of the normal response
-  // payload to be returned for each query with a unique `shard` parameter
-  // specified. A best effort is made to yield equally sized shards. Sharding
-  // can be used to distribute processing amongst workers, where each worker is
-  // assigned a unique `shard` number and all workers specify the same
-  // `totalShards` number. The union of reads returned for all sharded queries
-  // `[0, totalShards)` is equal to those returned by a single unsharded query.
-  //
-  // Queries for different values of `totalShards` with common divisors will
-  // share shard boundaries. For example, streaming `shard` 2 of 5
-  // `totalShards` yields the same results as streaming `shard`s 4 and 5 of 10
-  // `totalShards`. This property can be leveraged for adaptive retries.
-  int32 total_shards = 7;
-}
-
-message StreamReadsResponse {
-  repeated Read alignments = 1;
-}
diff --git a/googleapis/genomics/v1/references.pb.go b/googleapis/genomics/v1/references.pb.go
index fce0a3c0..15705750 100644
--- a/googleapis/genomics/v1/references.pb.go
+++ b/googleapis/genomics/v1/references.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/references.proto
+// source: google/genomics/v1/references.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -52,6 +52,55 @@ func (m *Reference) String() string            { return proto.CompactTextString(
 func (*Reference) ProtoMessage()               {}
 func (*Reference) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{0} }
 
+func (m *Reference) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Reference) GetLength() int64 {
+	if m != nil {
+		return m.Length
+	}
+	return 0
+}
+
+func (m *Reference) GetMd5Checksum() string {
+	if m != nil {
+		return m.Md5Checksum
+	}
+	return ""
+}
+
+func (m *Reference) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Reference) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *Reference) GetSourceAccessions() []string {
+	if m != nil {
+		return m.SourceAccessions
+	}
+	return nil
+}
+
+func (m *Reference) GetNcbiTaxonId() int32 {
+	if m != nil {
+		return m.NcbiTaxonId
+	}
+	return 0
+}
+
 // A reference set is a set of references which typically comprise a reference
 // assembly for a species, such as `GRCh38` which is representative
 // of the human genome. A reference set defines a common coordinate space for
@@ -94,6 +143,62 @@ func (m *ReferenceSet) String() string            { return proto.CompactTextStri
 func (*ReferenceSet) ProtoMessage()               {}
 func (*ReferenceSet) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{1} }
 
+func (m *ReferenceSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetReferenceIds() []string {
+	if m != nil {
+		return m.ReferenceIds
+	}
+	return nil
+}
+
+func (m *ReferenceSet) GetMd5Checksum() string {
+	if m != nil {
+		return m.Md5Checksum
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetNcbiTaxonId() int32 {
+	if m != nil {
+		return m.NcbiTaxonId
+	}
+	return 0
+}
+
+func (m *ReferenceSet) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetAssemblyId() string {
+	if m != nil {
+		return m.AssemblyId
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetSourceUri() string {
+	if m != nil {
+		return m.SourceUri
+	}
+	return ""
+}
+
+func (m *ReferenceSet) GetSourceAccessions() []string {
+	if m != nil {
+		return m.SourceAccessions
+	}
+	return nil
+}
+
 type SearchReferenceSetsRequest struct {
 	// If present, return reference sets for which the
 	// [md5checksum][google.genomics.v1.ReferenceSet.md5checksum] matches exactly.
@@ -120,6 +225,41 @@ func (m *SearchReferenceSetsRequest) String() string            { return proto.C
 func (*SearchReferenceSetsRequest) ProtoMessage()               {}
 func (*SearchReferenceSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{2} }
 
+func (m *SearchReferenceSetsRequest) GetMd5Checksums() []string {
+	if m != nil {
+		return m.Md5Checksums
+	}
+	return nil
+}
+
+func (m *SearchReferenceSetsRequest) GetAccessions() []string {
+	if m != nil {
+		return m.Accessions
+	}
+	return nil
+}
+
+func (m *SearchReferenceSetsRequest) GetAssemblyId() string {
+	if m != nil {
+		return m.AssemblyId
+	}
+	return ""
+}
+
+func (m *SearchReferenceSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReferenceSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchReferenceSetsResponse struct {
 	// The matching references sets.
 	ReferenceSets []*ReferenceSet `protobuf:"bytes,1,rep,name=reference_sets,json=referenceSets" json:"reference_sets,omitempty"`
@@ -141,6 +281,13 @@ func (m *SearchReferenceSetsResponse) GetReferenceSets() []*ReferenceSet {
 	return nil
 }
 
+func (m *SearchReferenceSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type GetReferenceSetRequest struct {
 	// The ID of the reference set.
 	ReferenceSetId string `protobuf:"bytes,1,opt,name=reference_set_id,json=referenceSetId" json:"reference_set_id,omitempty"`
@@ -151,6 +298,13 @@ func (m *GetReferenceSetRequest) String() string            { return proto.Compa
 func (*GetReferenceSetRequest) ProtoMessage()               {}
 func (*GetReferenceSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{4} }
 
+func (m *GetReferenceSetRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 type SearchReferencesRequest struct {
 	// If present, return references for which the
 	// [md5checksum][google.genomics.v1.Reference.md5checksum] matches exactly.
@@ -176,6 +330,41 @@ func (m *SearchReferencesRequest) String() string            { return proto.Comp
 func (*SearchReferencesRequest) ProtoMessage()               {}
 func (*SearchReferencesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{5} }
 
+func (m *SearchReferencesRequest) GetMd5Checksums() []string {
+	if m != nil {
+		return m.Md5Checksums
+	}
+	return nil
+}
+
+func (m *SearchReferencesRequest) GetAccessions() []string {
+	if m != nil {
+		return m.Accessions
+	}
+	return nil
+}
+
+func (m *SearchReferencesRequest) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
+func (m *SearchReferencesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchReferencesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type SearchReferencesResponse struct {
 	// The matching references.
 	References []*Reference `protobuf:"bytes,1,rep,name=references" json:"references,omitempty"`
@@ -197,6 +386,13 @@ func (m *SearchReferencesResponse) GetReferences() []*Reference {
 	return nil
 }
 
+func (m *SearchReferencesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type GetReferenceRequest struct {
 	// The ID of the reference.
 	ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId" json:"reference_id,omitempty"`
@@ -207,6 +403,13 @@ func (m *GetReferenceRequest) String() string            { return proto.CompactT
 func (*GetReferenceRequest) ProtoMessage()               {}
 func (*GetReferenceRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{7} }
 
+func (m *GetReferenceRequest) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
 type ListBasesRequest struct {
 	// The ID of the reference.
 	ReferenceId string `protobuf:"bytes,1,opt,name=reference_id,json=referenceId" json:"reference_id,omitempty"`
@@ -230,6 +433,41 @@ func (m *ListBasesRequest) String() string            { return proto.CompactText
 func (*ListBasesRequest) ProtoMessage()               {}
 func (*ListBasesRequest) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{8} }
 
+func (m *ListBasesRequest) GetReferenceId() string {
+	if m != nil {
+		return m.ReferenceId
+	}
+	return ""
+}
+
+func (m *ListBasesRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *ListBasesRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *ListBasesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListBasesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 type ListBasesResponse struct {
 	// The offset position (0-based) of the given `sequence` from the
 	// start of this `Reference`. This value will differ for each page
@@ -248,6 +486,27 @@ func (m *ListBasesResponse) String() string            { return proto.CompactTex
 func (*ListBasesResponse) ProtoMessage()               {}
 func (*ListBasesResponse) Descriptor() ([]byte, []int) { return fileDescriptor10, []int{9} }
 
+func (m *ListBasesResponse) GetOffset() int64 {
+	if m != nil {
+		return m.Offset
+	}
+	return 0
+}
+
+func (m *ListBasesResponse) GetSequence() string {
+	if m != nil {
+		return m.Sequence
+	}
+	return ""
+}
+
+func (m *ListBasesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Reference)(nil), "google.genomics.v1.Reference")
 	proto.RegisterType((*ReferenceSet)(nil), "google.genomics.v1.ReferenceSet")
@@ -542,66 +801,65 @@ var _ReferenceServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/references.proto",
+	Metadata: "google/genomics/v1/references.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/references.proto", fileDescriptor10)
-}
+func init() { proto.RegisterFile("google/genomics/v1/references.proto", fileDescriptor10) }
 
 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,
+	// 851 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0x41, 0x6f, 0x1b, 0x45,
+	0x14, 0xd6, 0x78, 0x63, 0x37, 0x7e, 0x76, 0x12, 0xf7, 0x15, 0xc2, 0xca, 0x25, 0xd4, 0x6c, 0x9a,
+	0x62, 0x35, 0x95, 0x57, 0x29, 0x42, 0x42, 0x45, 0x1c, 0xc8, 0xa5, 0x8a, 0xc4, 0x21, 0xda, 0x14,
+	0x0e, 0x5c, 0x56, 0x9b, 0xdd, 0x89, 0x33, 0x34, 0xde, 0x31, 0x3b, 0x93, 0xa8, 0xb4, 0xca, 0x01,
+	0x24, 0x8e, 0xc0, 0x81, 0x0b, 0x88, 0xdf, 0xc2, 0x89, 0x9f, 0xc0, 0x09, 0x71, 0xe5, 0x47, 0x70,
+	0x44, 0x33, 0x3b, 0xbb, 0x1e, 0xaf, 0x97, 0xd8, 0x52, 0xb9, 0xed, 0x7c, 0xf3, 0xe6, 0xcd, 0xf7,
+	0x7d, 0x6f, 0xde, 0xec, 0xc0, 0xee, 0x98, 0xf3, 0xf1, 0x05, 0xf5, 0xc7, 0x34, 0xe5, 0x13, 0x16,
+	0x0b, 0xff, 0xea, 0xc0, 0xcf, 0xe8, 0x19, 0xcd, 0x68, 0x1a, 0x53, 0x31, 0x9a, 0x66, 0x5c, 0x72,
+	0xc4, 0x3c, 0x68, 0x54, 0x04, 0x8d, 0xae, 0x0e, 0xfa, 0x6f, 0x9b, 0x85, 0xd1, 0x94, 0xf9, 0x51,
+	0x9a, 0x72, 0x19, 0x49, 0xc6, 0x53, 0xb3, 0xc2, 0xfb, 0x93, 0x40, 0x3b, 0x28, 0xd2, 0xe0, 0x26,
+	0x34, 0x58, 0xe2, 0x92, 0x01, 0x19, 0xb6, 0x83, 0x06, 0x4b, 0x70, 0x1b, 0x5a, 0x17, 0x34, 0x1d,
+	0xcb, 0x73, 0xb7, 0x31, 0x20, 0x43, 0x27, 0x30, 0x23, 0x1c, 0x40, 0x67, 0x92, 0x7c, 0x10, 0x9f,
+	0xd3, 0xf8, 0xb9, 0xb8, 0x9c, 0xb8, 0x8e, 0x5e, 0x60, 0x43, 0x88, 0xb0, 0x96, 0x46, 0x13, 0xea,
+	0xae, 0xe9, 0x29, 0xfd, 0x8d, 0x3b, 0x00, 0x82, 0x5f, 0x66, 0x31, 0x0d, 0x2f, 0x33, 0xe6, 0x36,
+	0xf5, 0x4c, 0x3b, 0x47, 0x3e, 0xcb, 0x18, 0xee, 0xc3, 0x6d, 0x33, 0x1d, 0xc5, 0x31, 0x15, 0x42,
+	0xb1, 0x74, 0x5b, 0x03, 0x67, 0xd8, 0x0e, 0x7a, 0xf9, 0xc4, 0x27, 0x25, 0x8e, 0x1e, 0x6c, 0xa4,
+	0xf1, 0x29, 0x0b, 0x65, 0xf4, 0x82, 0xa7, 0x21, 0x4b, 0xdc, 0x5b, 0x03, 0x32, 0x6c, 0x06, 0x1d,
+	0x05, 0x3e, 0x53, 0xd8, 0x51, 0xe2, 0xfd, 0xdc, 0x80, 0x6e, 0xa9, 0xed, 0x84, 0xca, 0x05, 0x79,
+	0xbb, 0xb0, 0x51, 0x5a, 0x18, 0xb2, 0x44, 0xb8, 0x0d, 0xbd, 0x5b, 0xb7, 0x04, 0x8f, 0x12, 0xb1,
+	0x82, 0xd6, 0x05, 0x2e, 0x6b, 0x0b, 0x5c, 0x54, 0x96, 0x84, 0x8a, 0x38, 0x63, 0x53, 0xe5, 0xbe,
+	0x11, 0x6f, 0x43, 0x78, 0x0f, 0x3a, 0x91, 0x10, 0x74, 0x72, 0x7a, 0xf1, 0xb5, 0xca, 0xd1, 0xd2,
+	0x11, 0x50, 0x40, 0x47, 0x49, 0xc5, 0xbe, 0x5b, 0x2b, 0xd9, 0xb7, 0x5e, 0x6f, 0x9f, 0xf7, 0x1b,
+	0x81, 0xfe, 0x09, 0x8d, 0xb2, 0xf8, 0xdc, 0x36, 0x48, 0x04, 0xf4, 0xab, 0x4b, 0x2a, 0x24, 0x7a,
+	0xd0, 0xb5, 0x04, 0x0a, 0x97, 0xe4, 0xbe, 0xd8, 0x18, 0xbe, 0x03, 0x60, 0x6d, 0x94, 0x3b, 0x67,
+	0x21, 0x55, 0x3d, 0x4e, 0x9d, 0x9e, 0x69, 0x34, 0xa6, 0xa1, 0xe4, 0xcf, 0x69, 0x6a, 0x0e, 0x4a,
+	0x5b, 0x21, 0xcf, 0x14, 0x80, 0x77, 0x41, 0x0f, 0x42, 0xc1, 0x5e, 0x52, 0xed, 0x57, 0x33, 0x58,
+	0x57, 0xc0, 0x09, 0x7b, 0x49, 0xbd, 0x1f, 0x08, 0xdc, 0xad, 0xe5, 0x2f, 0xa6, 0x3c, 0x15, 0x14,
+	0x9f, 0xc2, 0xe6, 0xac, 0xb2, 0x82, 0xca, 0x5c, 0x42, 0xe7, 0xf1, 0x60, 0xb4, 0xd8, 0x21, 0x23,
+	0x3b, 0x45, 0x30, 0x3b, 0x11, 0x2a, 0x21, 0x3e, 0x80, 0xad, 0x94, 0xbe, 0x90, 0xa1, 0xc5, 0xb4,
+	0xa1, 0x99, 0x6e, 0x28, 0xf8, 0xb8, 0x60, 0xeb, 0x1d, 0xc2, 0xf6, 0x53, 0x2a, 0xe7, 0x32, 0x19,
+	0x2f, 0x87, 0xd0, 0x9b, 0xa3, 0x12, 0x96, 0x47, 0x70, 0xd3, 0xde, 0xea, 0x28, 0xf1, 0x7e, 0x27,
+	0xf0, 0x56, 0x45, 0xd4, 0xff, 0x5a, 0x91, 0x3a, 0x26, 0x4e, 0x1d, 0x93, 0xd7, 0x2a, 0xcd, 0x37,
+	0x04, 0xdc, 0x45, 0x15, 0xa6, 0x2e, 0x1f, 0x03, 0xcc, 0x2e, 0x2d, 0x53, 0x93, 0x9d, 0x1b, 0x6b,
+	0x12, 0x58, 0x0b, 0x56, 0xae, 0xc6, 0x87, 0x70, 0xc7, 0xae, 0x46, 0x61, 0xe2, 0xbb, 0xd0, 0xb5,
+	0xfb, 0xdd, 0x94, 0xa1, 0x63, 0xb5, 0xbb, 0xf7, 0x0b, 0x81, 0xde, 0xa7, 0x4c, 0xc8, 0xc3, 0x48,
+	0xcc, 0xcc, 0x5f, 0xbe, 0x0e, 0xdf, 0x80, 0xa6, 0x90, 0x51, 0x26, 0xcd, 0x45, 0x99, 0x0f, 0xb0,
+	0x07, 0x0e, 0x4d, 0x73, 0x93, 0x9d, 0x40, 0x7d, 0xbe, 0x96, 0xb3, 0x1c, 0x6e, 0x5b, 0xd4, 0x8c,
+	0xa3, 0xdb, 0xd0, 0xe2, 0x67, 0x67, 0x82, 0x4a, 0xcd, 0xca, 0x09, 0xcc, 0x08, 0xfb, 0xb0, 0x2e,
+	0x14, 0xfd, 0x34, 0xa6, 0xc6, 0xa3, 0x72, 0x5c, 0x67, 0xa3, 0x53, 0x63, 0xe3, 0xe3, 0xbf, 0x9a,
+	0x80, 0xd6, 0x91, 0xce, 0xae, 0x58, 0x4c, 0x3f, 0x3f, 0xc0, 0x5f, 0x09, 0xdc, 0xa9, 0x69, 0x3e,
+	0x1c, 0xd5, 0x15, 0xf2, 0xbf, 0x6f, 0x99, 0xbe, 0xbf, 0x72, 0x7c, 0xae, 0xd5, 0xdb, 0xfd, 0xf6,
+	0x8f, 0xbf, 0x7f, 0x6a, 0xec, 0x78, 0xee, 0xfc, 0xcf, 0x8f, 0x4a, 0xe1, 0x0b, 0xbd, 0xec, 0x09,
+	0x79, 0x88, 0xdf, 0x13, 0xd8, 0xaa, 0xb4, 0x22, 0x3e, 0xac, 0xdb, 0xa9, 0xbe, 0x5f, 0xfb, 0x4b,
+	0xaf, 0x08, 0xef, 0x91, 0xa6, 0xf1, 0x00, 0xef, 0x2f, 0xd2, 0x78, 0x55, 0x6d, 0xb0, 0x6b, 0xfc,
+	0x91, 0x40, 0xaf, 0xda, 0x0f, 0xb8, 0xbf, 0x82, 0xf4, 0xd2, 0xa7, 0x47, 0xab, 0x05, 0x1b, 0x93,
+	0x06, 0x9a, 0x5d, 0xdf, 0x7b, 0x73, 0x9e, 0x9d, 0xe5, 0xd0, 0x35, 0x74, 0x6d, 0xed, 0xf8, 0xde,
+	0x32, 0x77, 0x0a, 0x22, 0x37, 0x77, 0xaa, 0xb7, 0xa7, 0x77, 0xbe, 0x87, 0x3b, 0x95, 0x9d, 0x5f,
+	0xd9, 0xcd, 0x73, 0x8d, 0xdf, 0x11, 0x68, 0x97, 0xe7, 0x18, 0xef, 0xd7, 0xe5, 0xac, 0x76, 0x60,
+	0x7f, 0x6f, 0x49, 0x94, 0xd1, 0xbe, 0xaf, 0x19, 0xec, 0xe1, 0xee, 0x8d, 0x0c, 0xfc, 0x53, 0xb5,
+	0xe8, 0xf0, 0x4b, 0xd8, 0x8e, 0xf9, 0xa4, 0x26, 0xf1, 0xe1, 0xd6, 0xcc, 0xd6, 0x63, 0xf5, 0x4a,
+	0x3a, 0x26, 0x5f, 0x3c, 0x29, 0xc2, 0xf8, 0x45, 0x94, 0x8e, 0x47, 0x3c, 0x1b, 0xab, 0x97, 0x98,
+	0x7e, 0x43, 0xf9, 0xf9, 0x54, 0x34, 0x65, 0xc2, 0x7e, 0x9d, 0x7d, 0x54, 0x7c, 0xff, 0x43, 0xc8,
+	0x69, 0x4b, 0x47, 0xbe, 0xff, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd7, 0x9f, 0xb6, 0x11, 0xc6,
+	0x09, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/references.proto b/googleapis/genomics/v1/references.proto
deleted file mode 100644
index ae44c472..00000000
--- a/googleapis/genomics/v1/references.proto
+++ /dev/null
@@ -1,281 +0,0 @@
-// 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.genomics.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 = "ReferencesProto";
-option java_package = "com.google.genomics.v1";
-
-
-service ReferenceServiceV1 {
-  // Searches for reference sets which match the given criteria.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReferenceSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L71)
-  rpc SearchReferenceSets(SearchReferenceSetsRequest) returns (SearchReferenceSetsResponse) {
-    option (google.api.http) = { post: "/v1/referencesets/search" body: "*" };
-  }
-
-  // Gets a reference set.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReferenceSet](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L83).
-  rpc GetReferenceSet(GetReferenceSetRequest) returns (ReferenceSet) {
-    option (google.api.http) = { get: "/v1/referencesets/{reference_set_id}" };
-  }
-
-  // Searches for references which match the given criteria.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchReferences](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L146).
-  rpc SearchReferences(SearchReferencesRequest) returns (SearchReferencesResponse) {
-    option (google.api.http) = { post: "/v1/references/search" body: "*" };
-  }
-
-  // Gets a reference.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReference](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L158).
-  rpc GetReference(GetReferenceRequest) returns (Reference) {
-    option (google.api.http) = { get: "/v1/references/{reference_id}" };
-  }
-
-  // Lists the bases in a reference, optionally restricted to a range.
-  //
-  // For the definitions of references and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.getReferenceBases](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/referencemethods.avdl#L221).
-  rpc ListBases(ListBasesRequest) returns (ListBasesResponse) {
-    option (google.api.http) = { get: "/v1/references/{reference_id}/bases" };
-  }
-}
-
-// A reference is a canonical assembled DNA sequence, intended to act as a
-// reference coordinate space for other genomic annotations. A single reference
-// might represent the human chromosome 1 or mitochandrial DNA, for instance. A
-// reference belongs to one or more reference sets.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message Reference {
-  // The server-generated reference ID, unique across all references.
-  string id = 1;
-
-  // The length of this reference's sequence.
-  int64 length = 2;
-
-  // MD5 of the upper-case sequence excluding all whitespace characters (this
-  // is equivalent to SQ:M5 in SAM). This value is represented in lower case
-  // hexadecimal format.
-  string md5checksum = 3;
-
-  // The name of this reference, for example `22`.
-  string name = 4;
-
-  // The URI from which the sequence was obtained. Typically specifies a FASTA
-  // format file.
-  string source_uri = 5;
-
-  // All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
-  // with a version number, for example `GCF_000001405.26`.
-  repeated string source_accessions = 6;
-
-  // ID from http://www.ncbi.nlm.nih.gov/taxonomy. For example, 9606 for human.
-  int32 ncbi_taxon_id = 7;
-}
-
-// A reference set is a set of references which typically comprise a reference
-// assembly for a species, such as `GRCh38` which is representative
-// of the human genome. A reference set defines a common coordinate space for
-// comparing reference-aligned experimental data. A reference set contains 1 or
-// more references.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message ReferenceSet {
-  // The server-generated reference set ID, unique across all reference sets.
-  string id = 1;
-
-  // The IDs of the reference objects that are part of this set.
-  // `Reference.md5checksum` must be unique within this set.
-  repeated string reference_ids = 2;
-
-  // Order-independent MD5 checksum which identifies this reference set. The
-  // checksum is computed by sorting all lower case hexidecimal string
-  // `reference.md5checksum` (for all reference in this set) in
-  // ascending lexicographic order, concatenating, and taking the MD5 of that
-  // value. The resulting value is represented in lower case hexadecimal format.
-  string md5checksum = 3;
-
-  // ID from http://www.ncbi.nlm.nih.gov/taxonomy (for example, 9606 for human)
-  // indicating the species which this reference set is intended to model. Note
-  // that contained references may specify a different `ncbiTaxonId`, as
-  // assemblies may contain reference sequences which do not belong to the
-  // modeled species, for example EBV in a human reference genome.
-  int32 ncbi_taxon_id = 4;
-
-  // Free text description of this reference set.
-  string description = 5;
-
-  // Public id of this reference set, such as `GRCh37`.
-  string assembly_id = 6;
-
-  // The URI from which the references were obtained.
-  string source_uri = 7;
-
-  // All known corresponding accession IDs in INSDC (GenBank/ENA/DDBJ) ideally
-  // with a version number, for example `NC_000001.11`.
-  repeated string source_accessions = 8;
-}
-
-message SearchReferenceSetsRequest {
-  // If present, return reference sets for which the
-  // [md5checksum][google.genomics.v1.ReferenceSet.md5checksum] matches exactly.
-  repeated string md5checksums = 1;
-
-  // If present, return reference sets for which a prefix of any of
-  // [sourceAccessions][google.genomics.v1.ReferenceSet.source_accessions]
-  // match any of these strings. Accession numbers typically have a main number
-  // and a version, for example `NC_000001.11`.
-  repeated string accessions = 2;
-
-  // If present, return reference sets for which a substring of their
-  // `assemblyId` matches this string (case insensitive).
-  string assembly_id = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 4096.
-  int32 page_size = 5;
-}
-
-message SearchReferenceSetsResponse {
-  // The matching references sets.
-  repeated ReferenceSet reference_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message GetReferenceSetRequest {
-  // The ID of the reference set.
-  string reference_set_id = 1;
-}
-
-message SearchReferencesRequest {
-  // If present, return references for which the
-  // [md5checksum][google.genomics.v1.Reference.md5checksum] matches exactly.
-  repeated string md5checksums = 1;
-
-  // If present, return references for which a prefix of any of
-  // [sourceAccessions][google.genomics.v1.Reference.source_accessions] match
-  // any of these strings. Accession numbers typically have a main number and a
-  // version, for example `GCF_000001405.26`.
-  repeated string accessions = 2;
-
-  // If present, return only references which belong to this reference set.
-  string reference_set_id = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024. The maximum value is 4096.
-  int32 page_size = 5;
-}
-
-message SearchReferencesResponse {
-  // The matching references.
-  repeated Reference references = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message GetReferenceRequest {
-  // The ID of the reference.
-  string reference_id = 1;
-}
-
-message ListBasesRequest {
-  // The ID of the reference.
-  string reference_id = 1;
-
-  // The start position (0-based) of this query. Defaults to 0.
-  int64 start = 2;
-
-  // The end position (0-based, exclusive) of this query. Defaults to the length
-  // of this reference.
-  int64 end = 3;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 4;
-
-  // The maximum number of bases to return in a single page. If unspecified,
-  // defaults to 200Kbp (kilo base pairs). The maximum value is 10Mbp (mega base
-  // pairs).
-  int32 page_size = 5;
-}
-
-message ListBasesResponse {
-  // The offset position (0-based) of the given `sequence` from the
-  // start of this `Reference`. This value will differ for each page
-  // in a paginated request.
-  int64 offset = 1;
-
-  // A substring of the bases that make up this reference.
-  string sequence = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 3;
-}
diff --git a/googleapis/genomics/v1/variants.pb.go b/googleapis/genomics/v1/variants.pb.go
index f404a6b2..ae6f5cc0 100644
--- a/googleapis/genomics/v1/variants.pb.go
+++ b/googleapis/genomics/v1/variants.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1/variants.proto
+// source: google/genomics/v1/variants.proto
 // DO NOT EDIT!
 
-package google_genomics_v1 // import "google.golang.org/genproto/googleapis/genomics/v1"
+package genomics
 
 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/api/annotations"
 import google_longrunning "google.golang.org/genproto/googleapis/longrunning"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/struct"
 
 import (
@@ -175,6 +175,48 @@ func (m *VariantSetMetadata) String() string            { return proto.CompactTe
 func (*VariantSetMetadata) ProtoMessage()               {}
 func (*VariantSetMetadata) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{0} }
 
+func (m *VariantSetMetadata) GetKey() string {
+	if m != nil {
+		return m.Key
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetValue() string {
+	if m != nil {
+		return m.Value
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetType() VariantSetMetadata_Type {
+	if m != nil {
+		return m.Type
+	}
+	return VariantSetMetadata_TYPE_UNSPECIFIED
+}
+
+func (m *VariantSetMetadata) GetNumber() string {
+	if m != nil {
+		return m.Number
+	}
+	return ""
+}
+
+func (m *VariantSetMetadata) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *VariantSetMetadata) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -219,6 +261,27 @@ func (m *VariantSet) String() string            { return proto.CompactTextString
 func (*VariantSet) ProtoMessage()               {}
 func (*VariantSet) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{1} }
 
+func (m *VariantSet) GetDatasetId() string {
+	if m != nil {
+		return m.DatasetId
+	}
+	return ""
+}
+
+func (m *VariantSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *VariantSet) GetReferenceSetId() string {
+	if m != nil {
+		return m.ReferenceSetId
+	}
+	return ""
+}
+
 func (m *VariantSet) GetReferenceBounds() []*ReferenceBound {
 	if m != nil {
 		return m.ReferenceBounds
@@ -233,6 +296,20 @@ func (m *VariantSet) GetMetadata() []*VariantSetMetadata {
 	return nil
 }
 
+func (m *VariantSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *VariantSet) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // A variant represents a change in DNA sequence relative to a reference
 // sequence. For example, a variant could represent a SNP or an insertion.
 // Variants belong to a variant set.
@@ -289,6 +366,83 @@ func (m *Variant) String() string            { return proto.CompactTextString(m)
 func (*Variant) ProtoMessage()               {}
 func (*Variant) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{2} }
 
+func (m *Variant) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *Variant) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *Variant) GetNames() []string {
+	if m != nil {
+		return m.Names
+	}
+	return nil
+}
+
+func (m *Variant) GetCreated() int64 {
+	if m != nil {
+		return m.Created
+	}
+	return 0
+}
+
+func (m *Variant) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *Variant) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *Variant) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *Variant) GetReferenceBases() string {
+	if m != nil {
+		return m.ReferenceBases
+	}
+	return ""
+}
+
+func (m *Variant) GetAlternateBases() []string {
+	if m != nil {
+		return m.AlternateBases
+	}
+	return nil
+}
+
+func (m *Variant) GetQuality() float64 {
+	if m != nil {
+		return m.Quality
+	}
+	return 0
+}
+
+func (m *Variant) GetFilter() []string {
+	if m != nil {
+		return m.Filter
+	}
+	return nil
+}
+
 func (m *Variant) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -348,6 +502,41 @@ func (m *VariantCall) String() string            { return proto.CompactTextStrin
 func (*VariantCall) ProtoMessage()               {}
 func (*VariantCall) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{3} }
 
+func (m *VariantCall) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
+func (m *VariantCall) GetCallSetName() string {
+	if m != nil {
+		return m.CallSetName
+	}
+	return ""
+}
+
+func (m *VariantCall) GetGenotype() []int32 {
+	if m != nil {
+		return m.Genotype
+	}
+	return nil
+}
+
+func (m *VariantCall) GetPhaseset() string {
+	if m != nil {
+		return m.Phaseset
+	}
+	return ""
+}
+
+func (m *VariantCall) GetGenotypeLikelihood() []float64 {
+	if m != nil {
+		return m.GenotypeLikelihood
+	}
+	return nil
+}
+
 func (m *VariantCall) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -385,6 +574,41 @@ func (m *CallSet) String() string            { return proto.CompactTextString(m)
 func (*CallSet) ProtoMessage()               {}
 func (*CallSet) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{4} }
 
+func (m *CallSet) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *CallSet) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CallSet) GetSampleId() string {
+	if m != nil {
+		return m.SampleId
+	}
+	return ""
+}
+
+func (m *CallSet) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *CallSet) GetCreated() int64 {
+	if m != nil {
+		return m.Created
+	}
+	return 0
+}
+
 func (m *CallSet) GetInfo() map[string]*google_protobuf3.ListValue {
 	if m != nil {
 		return m.Info
@@ -407,6 +631,20 @@ func (m *ReferenceBound) String() string            { return proto.CompactTextSt
 func (*ReferenceBound) ProtoMessage()               {}
 func (*ReferenceBound) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{5} }
 
+func (m *ReferenceBound) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *ReferenceBound) GetUpperBound() int64 {
+	if m != nil {
+		return m.UpperBound
+	}
+	return 0
+}
+
 // The variant data import request.
 type ImportVariantsRequest struct {
 	// Required. The variant set to which variant data should be imported.
@@ -439,6 +677,34 @@ func (m *ImportVariantsRequest) String() string            { return proto.Compac
 func (*ImportVariantsRequest) ProtoMessage()               {}
 func (*ImportVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{6} }
 
+func (m *ImportVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *ImportVariantsRequest) GetSourceUris() []string {
+	if m != nil {
+		return m.SourceUris
+	}
+	return nil
+}
+
+func (m *ImportVariantsRequest) GetFormat() ImportVariantsRequest_Format {
+	if m != nil {
+		return m.Format
+	}
+	return ImportVariantsRequest_FORMAT_UNSPECIFIED
+}
+
+func (m *ImportVariantsRequest) GetNormalizeReferenceNames() bool {
+	if m != nil {
+		return m.NormalizeReferenceNames
+	}
+	return false
+}
+
 func (m *ImportVariantsRequest) GetInfoMergeConfig() map[string]InfoMergeOperation {
 	if m != nil {
 		return m.InfoMergeConfig
@@ -457,6 +723,13 @@ func (m *ImportVariantsResponse) String() string            { return proto.Compa
 func (*ImportVariantsResponse) ProtoMessage()               {}
 func (*ImportVariantsResponse) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{7} }
 
+func (m *ImportVariantsResponse) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
 // The CreateVariantSet request
 type CreateVariantSetRequest struct {
 	// Required. The variant set to be created. Must have a valid `datasetId`.
@@ -503,6 +776,48 @@ func (m *ExportVariantSetRequest) String() string            { return proto.Comp
 func (*ExportVariantSetRequest) ProtoMessage()               {}
 func (*ExportVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{9} }
 
+func (m *ExportVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *ExportVariantSetRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetFormat() ExportVariantSetRequest_Format {
+	if m != nil {
+		return m.Format
+	}
+	return ExportVariantSetRequest_FORMAT_UNSPECIFIED
+}
+
+func (m *ExportVariantSetRequest) GetBigqueryDataset() string {
+	if m != nil {
+		return m.BigqueryDataset
+	}
+	return ""
+}
+
+func (m *ExportVariantSetRequest) GetBigqueryTable() string {
+	if m != nil {
+		return m.BigqueryTable
+	}
+	return ""
+}
+
 // The variant set request.
 type GetVariantSetRequest struct {
 	// Required. The ID of the variant set.
@@ -514,6 +829,13 @@ func (m *GetVariantSetRequest) String() string            { return proto.Compact
 func (*GetVariantSetRequest) ProtoMessage()               {}
 func (*GetVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{10} }
 
+func (m *GetVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 // The search variant sets request.
 type SearchVariantSetsRequest struct {
 	// Exactly one dataset ID must be provided here. Only variant sets which
@@ -533,6 +855,27 @@ func (m *SearchVariantSetsRequest) String() string            { return proto.Com
 func (*SearchVariantSetsRequest) ProtoMessage()               {}
 func (*SearchVariantSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{11} }
 
+func (m *SearchVariantSetsRequest) GetDatasetIds() []string {
+	if m != nil {
+		return m.DatasetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchVariantSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The search variant sets response.
 type SearchVariantSetsResponse struct {
 	// The variant sets belonging to the requested dataset.
@@ -555,6 +898,13 @@ func (m *SearchVariantSetsResponse) GetVariantSets() []*VariantSet {
 	return nil
 }
 
+func (m *SearchVariantSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The delete variant set request.
 type DeleteVariantSetRequest struct {
 	// The ID of the variant set to be deleted.
@@ -566,6 +916,13 @@ func (m *DeleteVariantSetRequest) String() string            { return proto.Comp
 func (*DeleteVariantSetRequest) ProtoMessage()               {}
 func (*DeleteVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{13} }
 
+func (m *DeleteVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 type UpdateVariantSetRequest struct {
 	// The ID of the variant to be updated (must already exist).
 	VariantSetId string `protobuf:"bytes,1,opt,name=variant_set_id,json=variantSetId" json:"variant_set_id,omitempty"`
@@ -588,6 +945,13 @@ func (m *UpdateVariantSetRequest) String() string            { return proto.Comp
 func (*UpdateVariantSetRequest) ProtoMessage()               {}
 func (*UpdateVariantSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{14} }
 
+func (m *UpdateVariantSetRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 func (m *UpdateVariantSetRequest) GetVariantSet() *VariantSet {
 	if m != nil {
 		return m.VariantSet
@@ -641,6 +1005,69 @@ func (m *SearchVariantsRequest) String() string            { return proto.Compac
 func (*SearchVariantsRequest) ProtoMessage()               {}
 func (*SearchVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{15} }
 
+func (m *SearchVariantsRequest) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantsRequest) GetVariantName() string {
+	if m != nil {
+		return m.VariantName
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *SearchVariantsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchVariantsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *SearchVariantsRequest) GetMaxCalls() int32 {
+	if m != nil {
+		return m.MaxCalls
+	}
+	return 0
+}
+
 // The variant search response.
 type SearchVariantsResponse struct {
 	// The list of matching Variants.
@@ -663,6 +1090,13 @@ func (m *SearchVariantsResponse) GetVariants() []*Variant {
 	return nil
 }
 
+func (m *SearchVariantsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateVariantRequest struct {
 	// The variant to be created.
 	Variant *Variant `protobuf:"bytes,1,opt,name=variant" json:"variant,omitempty"`
@@ -697,6 +1131,13 @@ func (m *UpdateVariantRequest) String() string            { return proto.Compact
 func (*UpdateVariantRequest) ProtoMessage()               {}
 func (*UpdateVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{18} }
 
+func (m *UpdateVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 func (m *UpdateVariantRequest) GetVariant() *Variant {
 	if m != nil {
 		return m.Variant
@@ -721,6 +1162,13 @@ func (m *DeleteVariantRequest) String() string            { return proto.Compact
 func (*DeleteVariantRequest) ProtoMessage()               {}
 func (*DeleteVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{19} }
 
+func (m *DeleteVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 type GetVariantRequest struct {
 	// The ID of the variant.
 	VariantId string `protobuf:"bytes,1,opt,name=variant_id,json=variantId" json:"variant_id,omitempty"`
@@ -731,6 +1179,13 @@ func (m *GetVariantRequest) String() string            { return proto.CompactTex
 func (*GetVariantRequest) ProtoMessage()               {}
 func (*GetVariantRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{20} }
 
+func (m *GetVariantRequest) GetVariantId() string {
+	if m != nil {
+		return m.VariantId
+	}
+	return ""
+}
+
 type MergeVariantsRequest struct {
 	// The destination variant set.
 	VariantSetId string `protobuf:"bytes,1,opt,name=variant_set_id,json=variantSetId" json:"variant_set_id,omitempty"`
@@ -746,6 +1201,13 @@ func (m *MergeVariantsRequest) String() string            { return proto.Compact
 func (*MergeVariantsRequest) ProtoMessage()               {}
 func (*MergeVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{21} }
 
+func (m *MergeVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
 func (m *MergeVariantsRequest) GetVariants() []*Variant {
 	if m != nil {
 		return m.Variants
@@ -782,6 +1244,34 @@ func (m *SearchCallSetsRequest) String() string            { return proto.Compac
 func (*SearchCallSetsRequest) ProtoMessage()               {}
 func (*SearchCallSetsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{22} }
 
+func (m *SearchCallSetsRequest) GetVariantSetIds() []string {
+	if m != nil {
+		return m.VariantSetIds
+	}
+	return nil
+}
+
+func (m *SearchCallSetsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SearchCallSetsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *SearchCallSetsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
 // The call set search response.
 type SearchCallSetsResponse struct {
 	// The list of matching call sets.
@@ -804,6 +1294,13 @@ func (m *SearchCallSetsResponse) GetCallSets() []*CallSet {
 	return nil
 }
 
+func (m *SearchCallSetsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 type CreateCallSetRequest struct {
 	// The call set to be created.
 	CallSet *CallSet `protobuf:"bytes,1,opt,name=call_set,json=callSet" json:"call_set,omitempty"`
@@ -838,6 +1335,13 @@ func (m *UpdateCallSetRequest) String() string            { return proto.Compact
 func (*UpdateCallSetRequest) ProtoMessage()               {}
 func (*UpdateCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{25} }
 
+func (m *UpdateCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 func (m *UpdateCallSetRequest) GetCallSet() *CallSet {
 	if m != nil {
 		return m.CallSet
@@ -862,6 +1366,13 @@ func (m *DeleteCallSetRequest) String() string            { return proto.Compact
 func (*DeleteCallSetRequest) ProtoMessage()               {}
 func (*DeleteCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{26} }
 
+func (m *DeleteCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 type GetCallSetRequest struct {
 	// The ID of the call set.
 	CallSetId string `protobuf:"bytes,1,opt,name=call_set_id,json=callSetId" json:"call_set_id,omitempty"`
@@ -872,6 +1383,13 @@ func (m *GetCallSetRequest) String() string            { return proto.CompactTex
 func (*GetCallSetRequest) ProtoMessage()               {}
 func (*GetCallSetRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{27} }
 
+func (m *GetCallSetRequest) GetCallSetId() string {
+	if m != nil {
+		return m.CallSetId
+	}
+	return ""
+}
+
 // The stream variants request.
 type StreamVariantsRequest struct {
 	// The Google Developers Console project ID or number which will be billed
@@ -898,6 +1416,48 @@ func (m *StreamVariantsRequest) String() string            { return proto.Compac
 func (*StreamVariantsRequest) ProtoMessage()               {}
 func (*StreamVariantsRequest) Descriptor() ([]byte, []int) { return fileDescriptor11, []int{28} }
 
+func (m *StreamVariantsRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetVariantSetId() string {
+	if m != nil {
+		return m.VariantSetId
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetCallSetIds() []string {
+	if m != nil {
+		return m.CallSetIds
+	}
+	return nil
+}
+
+func (m *StreamVariantsRequest) GetReferenceName() string {
+	if m != nil {
+		return m.ReferenceName
+	}
+	return ""
+}
+
+func (m *StreamVariantsRequest) GetStart() int64 {
+	if m != nil {
+		return m.Start
+	}
+	return 0
+}
+
+func (m *StreamVariantsRequest) GetEnd() int64 {
+	if m != nil {
+		return m.End
+	}
+	return 0
+}
+
 type StreamVariantsResponse struct {
 	Variants []*Variant `protobuf:"bytes,1,rep,name=variants" json:"variants,omitempty"`
 }
@@ -1051,7 +1611,7 @@ var _StreamingVariantService_serviceDesc = grpc.ServiceDesc{
 			ServerStreams: true,
 		},
 	},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/variants.proto",
+	Metadata: "google/genomics/v1/variants.proto",
 }
 
 // Client API for VariantServiceV1 service
@@ -2092,162 +2652,158 @@ var _VariantServiceV1_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1/variants.proto",
+	Metadata: "google/genomics/v1/variants.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1/variants.proto", fileDescriptor11)
-}
+func init() { proto.RegisterFile("google/genomics/v1/variants.proto", fileDescriptor11) }
 
 var fileDescriptor11 = []byte{
-	// 2369 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,
+	// 2348 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x5a, 0xdd, 0x6e, 0x1b, 0xc7,
+	0xf5, 0xff, 0xef, 0x92, 0x94, 0xc8, 0x43, 0x91, 0x5a, 0x4f, 0x14, 0x69, 0x43, 0x7f, 0xc9, 0xfb,
+	0xb7, 0x1d, 0x45, 0x75, 0x45, 0x9b, 0x81, 0xd3, 0x54, 0x49, 0x6a, 0x48, 0x34, 0xa5, 0xb0, 0x90,
+	0x48, 0x65, 0x45, 0xbb, 0x75, 0x80, 0x82, 0x58, 0x91, 0x23, 0x7a, 0x6d, 0x72, 0x97, 0xde, 0x5d,
+	0xaa, 0x96, 0x0d, 0x5f, 0x34, 0xfd, 0x42, 0x80, 0x02, 0x05, 0x1a, 0xa0, 0x57, 0xbd, 0xed, 0x45,
+	0xd1, 0xa2, 0x6f, 0xe0, 0x37, 0x68, 0x7b, 0x53, 0xf4, 0x0d, 0xfa, 0x10, 0xbd, 0x2c, 0x66, 0x76,
+	0x66, 0xb9, 0xbb, 0x1c, 0xae, 0x28, 0x07, 0x09, 0x7a, 0xc7, 0x39, 0x73, 0x66, 0xce, 0xd7, 0xef,
+	0x9c, 0x39, 0x67, 0x25, 0xb8, 0xd6, 0xb3, 0xed, 0x5e, 0x1f, 0x97, 0x7b, 0xd8, 0xb2, 0x07, 0x66,
+	0xc7, 0x2d, 0x9f, 0xdc, 0x29, 0x9f, 0x18, 0x8e, 0x69, 0x58, 0x9e, 0xbb, 0x31, 0x74, 0x6c, 0xcf,
+	0x46, 0xc8, 0x67, 0xd9, 0xe0, 0x2c, 0x1b, 0x27, 0x77, 0x4a, 0x97, 0xd8, 0x31, 0x63, 0x68, 0x96,
+	0x0d, 0xcb, 0xb2, 0x3d, 0xc3, 0x33, 0x6d, 0x8b, 0x9d, 0x28, 0xfd, 0x3f, 0xdb, 0xed, 0xdb, 0x56,
+	0xcf, 0x19, 0x59, 0x96, 0x69, 0xf5, 0xca, 0xf6, 0x10, 0x3b, 0x11, 0xa6, 0x8b, 0x8c, 0x89, 0xae,
+	0x8e, 0x46, 0xc7, 0x65, 0x3c, 0x18, 0x7a, 0xa7, 0x6c, 0x73, 0x35, 0xbe, 0x79, 0x6c, 0xe2, 0x7e,
+	0xb7, 0x3d, 0x30, 0xdc, 0xa7, 0x8c, 0xe3, 0x52, 0x9c, 0xc3, 0xf5, 0x9c, 0x51, 0xc7, 0xf3, 0x77,
+	0xb5, 0xd7, 0x29, 0x40, 0x0f, 0x7d, 0x33, 0x0e, 0xb1, 0xb7, 0x8f, 0x3d, 0xa3, 0x6b, 0x78, 0x06,
+	0x52, 0x20, 0xf5, 0x14, 0x9f, 0xaa, 0xd2, 0xaa, 0xb4, 0x96, 0xd3, 0xc9, 0x4f, 0xb4, 0x04, 0x99,
+	0x13, 0xa3, 0x3f, 0xc2, 0xaa, 0x4c, 0x69, 0xfe, 0x02, 0x15, 0x41, 0x36, 0xbb, 0x6a, 0x9a, 0x92,
+	0x64, 0xb3, 0x8b, 0xee, 0x41, 0xda, 0x3b, 0x1d, 0x62, 0x35, 0xb3, 0x2a, 0xad, 0x15, 0x2b, 0xdf,
+	0xd9, 0x98, 0xf4, 0xc8, 0xc6, 0xa4, 0xb4, 0x8d, 0xd6, 0xe9, 0x10, 0xeb, 0xf4, 0x20, 0x5a, 0x86,
+	0x39, 0x6b, 0x34, 0x38, 0xc2, 0x8e, 0x9a, 0xa5, 0x97, 0xb2, 0x15, 0x5a, 0x85, 0x7c, 0x17, 0xbb,
+	0x1d, 0xc7, 0x1c, 0x12, 0xd7, 0xa8, 0xf3, 0x74, 0x33, 0x4c, 0x42, 0xf7, 0x21, 0x6d, 0x5a, 0xc7,
+	0xb6, 0x9a, 0x5a, 0x4d, 0xad, 0xe5, 0x2b, 0xb7, 0x67, 0x14, 0x5d, 0xb7, 0x8e, 0xed, 0x9a, 0xe5,
+	0x39, 0xa7, 0x3a, 0x3d, 0x5d, 0x3a, 0x84, 0x5c, 0x40, 0x12, 0x78, 0xe1, 0x76, 0xd8, 0x0b, 0xf9,
+	0x4a, 0x89, 0x4b, 0xe1, 0xce, 0xdd, 0xd8, 0x33, 0x5d, 0xef, 0x21, 0xe1, 0x60, 0x1e, 0xda, 0x94,
+	0x3f, 0x94, 0xb4, 0x47, 0x90, 0x26, 0x26, 0xa2, 0x25, 0x50, 0x5a, 0x8f, 0x0e, 0x6a, 0xed, 0x07,
+	0x8d, 0xc3, 0x83, 0x5a, 0xb5, 0xbe, 0x53, 0xaf, 0xdd, 0x57, 0xfe, 0x0f, 0xe5, 0x61, 0xbe, 0xde,
+	0x68, 0xd5, 0x76, 0x6b, 0xba, 0x22, 0xa1, 0x1c, 0x64, 0x76, 0xf6, 0x9a, 0x5b, 0x2d, 0x45, 0x46,
+	0x59, 0x48, 0xef, 0xec, 0x6d, 0xed, 0x2a, 0x29, 0x54, 0x80, 0x5c, 0xf5, 0xd3, 0x2d, 0x7d, 0xab,
+	0xda, 0xaa, 0xe9, 0x4a, 0x1a, 0x01, 0xcc, 0x1d, 0xb6, 0xf4, 0x7a, 0x63, 0x57, 0xc9, 0x68, 0x7f,
+	0x95, 0x01, 0xc6, 0x66, 0xa1, 0xcb, 0x00, 0xc4, 0x2c, 0x17, 0x7b, 0x6d, 0xb3, 0xcb, 0x14, 0xcf,
+	0x31, 0x4a, 0xbd, 0xcb, 0xc2, 0x25, 0x07, 0xe1, 0x5a, 0x03, 0xc5, 0xc1, 0xc7, 0xd8, 0xc1, 0x56,
+	0x07, 0xb7, 0xd9, 0xa1, 0x39, 0xba, 0x5b, 0x0c, 0xe8, 0x87, 0xf4, 0xe4, 0x7e, 0x98, 0xf3, 0xc8,
+	0x1e, 0x59, 0x5d, 0x57, 0xcd, 0x50, 0x4f, 0x6b, 0x22, 0x4f, 0xeb, 0x9c, 0x77, 0x9b, 0xb0, 0xea,
+	0x8b, 0x4e, 0x64, 0xed, 0xa2, 0x6d, 0xc8, 0x0e, 0x58, 0x08, 0xd4, 0x34, 0xbd, 0xe6, 0xe6, 0x6c,
+	0x01, 0xd3, 0x83, 0x73, 0x08, 0x41, 0xda, 0x32, 0x06, 0x98, 0x61, 0x81, 0xfe, 0x8e, 0xc3, 0x24,
+	0x3b, 0x01, 0x13, 0xed, 0xcb, 0x34, 0xcc, 0xb3, 0x6b, 0xd1, 0x75, 0x28, 0xb2, 0x14, 0xe6, 0xc6,
+	0x2f, 0xd2, 0x03, 0x0b, 0x27, 0x81, 0x5c, 0x81, 0xd3, 0x96, 0x20, 0x43, 0x64, 0xb9, 0x14, 0x69,
+	0x39, 0xdd, 0x5f, 0x20, 0x15, 0xe6, 0x3b, 0x0e, 0x36, 0x3c, 0xdc, 0x55, 0x17, 0x56, 0xa5, 0xb5,
+	0x94, 0xce, 0x97, 0xe8, 0x06, 0x8c, 0x9d, 0xd9, 0xa6, 0x1a, 0x17, 0xe9, 0x5d, 0x85, 0x80, 0xda,
+	0x20, 0xaa, 0x2f, 0x41, 0xc6, 0xf5, 0x0c, 0xc7, 0x53, 0x15, 0x7a, 0xdc, 0x5f, 0x10, 0x08, 0x62,
+	0xab, 0xab, 0x16, 0x28, 0x8d, 0xfc, 0x44, 0xef, 0xc2, 0x62, 0x28, 0x12, 0x86, 0x8b, 0xdd, 0x89,
+	0x90, 0x6d, 0x13, 0x2a, 0x61, 0x34, 0xfa, 0x1e, 0x76, 0x2c, 0xc3, 0xe3, 0x8c, 0xf3, 0x54, 0xe3,
+	0x62, 0x40, 0xf6, 0x19, 0x55, 0x98, 0x7f, 0x36, 0x32, 0xfa, 0xa6, 0x77, 0x4a, 0x1d, 0x26, 0xe9,
+	0x7c, 0x49, 0xb2, 0xf1, 0xd8, 0x24, 0xcc, 0x6a, 0x8e, 0x9e, 0x64, 0x2b, 0xf4, 0x7d, 0x96, 0x6b,
+	0x40, 0x43, 0x77, 0x23, 0x21, 0x74, 0xf1, 0x04, 0x43, 0x77, 0x21, 0xd3, 0x31, 0xfa, 0x7d, 0x57,
+	0xcd, 0xd3, 0xb3, 0x57, 0x13, 0xce, 0x56, 0x8d, 0x7e, 0x5f, 0xf7, 0xb9, 0xbf, 0x99, 0xbc, 0xfc,
+	0x87, 0x0c, 0xf9, 0x90, 0x2c, 0x74, 0x05, 0xf2, 0x44, 0x1a, 0x07, 0x83, 0x8f, 0x9e, 0x1c, 0x21,
+	0xf9, 0x48, 0xd0, 0xa0, 0x10, 0xec, 0xd3, 0x40, 0xe6, 0x7c, 0x7c, 0x31, 0x0e, 0x1a, 0xc6, 0x12,
+	0x64, 0x89, 0x29, 0xb4, 0x0a, 0x12, 0x77, 0x67, 0xf4, 0x60, 0x4d, 0xf6, 0x86, 0x8f, 0x89, 0xcb,
+	0xb1, 0x47, 0x2b, 0x64, 0x4e, 0x0f, 0xd6, 0xa8, 0x0c, 0x6f, 0x71, 0xbe, 0x76, 0xdf, 0x7c, 0x8a,
+	0xfb, 0xe6, 0x63, 0xdb, 0x26, 0xd9, 0x98, 0x5a, 0x93, 0x74, 0xc4, 0xb7, 0xf6, 0x82, 0x1d, 0xf4,
+	0x09, 0x8b, 0x81, 0x4c, 0xfd, 0xf8, 0xde, 0x19, 0x7e, 0xfc, 0x76, 0x0a, 0xdd, 0x1f, 0x64, 0x98,
+	0xaf, 0xfa, 0xce, 0x60, 0x69, 0x23, 0x05, 0x69, 0xc3, 0xd3, 0x55, 0x0e, 0xa5, 0xeb, 0x45, 0xc8,
+	0xb9, 0xc6, 0x60, 0xd8, 0xc7, 0xc4, 0xdd, 0x7e, 0x1e, 0x67, 0x7d, 0x42, 0xbd, 0x8b, 0x6e, 0xc2,
+	0x62, 0x34, 0x3b, 0x5d, 0xea, 0x8d, 0x9c, 0x5e, 0x08, 0xa7, 0x67, 0x24, 0xf3, 0x32, 0xd1, 0xcc,
+	0xe3, 0x30, 0x4d, 0x4f, 0x87, 0x29, 0xd3, 0xf6, 0xdb, 0x71, 0xcf, 0x8f, 0xa1, 0x18, 0x2d, 0x8c,
+	0x82, 0xda, 0x20, 0x89, 0x6a, 0xc3, 0x55, 0xc8, 0x8f, 0x86, 0x43, 0xec, 0xf8, 0x95, 0x97, 0x0a,
+	0x4d, 0xe9, 0x40, 0x49, 0xf4, 0x1e, 0xed, 0x37, 0x69, 0x78, 0xbb, 0x3e, 0x18, 0xda, 0x8e, 0xc7,
+	0x62, 0xee, 0xea, 0xf8, 0xd9, 0x08, 0xbb, 0xa2, 0x1a, 0x27, 0x09, 0x6a, 0xdc, 0x55, 0xc8, 0xbb,
+	0xf6, 0xc8, 0xe9, 0xe0, 0xf6, 0xc8, 0x31, 0x5d, 0x8a, 0xa9, 0x9c, 0x0e, 0x3e, 0xe9, 0x81, 0x63,
+	0xba, 0xe8, 0x53, 0x98, 0x3b, 0xb6, 0x9d, 0x81, 0xe1, 0xa9, 0x29, 0xfa, 0xb4, 0x0b, 0xdf, 0x57,
+	0xa1, 0x06, 0x1b, 0x3b, 0xf4, 0x9c, 0xce, 0xce, 0xa3, 0x4d, 0x78, 0xc7, 0x22, 0xbf, 0xfa, 0xe6,
+	0x0b, 0xdc, 0x8e, 0x1a, 0xef, 0xd2, 0x00, 0x66, 0xf5, 0x95, 0x80, 0x41, 0x0f, 0xbb, 0xc1, 0x45,
+	0x4f, 0xe0, 0x02, 0x89, 0x4e, 0x7b, 0x80, 0x9d, 0x1e, 0x6e, 0x77, 0x6c, 0xeb, 0xd8, 0xec, 0x51,
+	0x50, 0xe4, 0x2b, 0x3f, 0x98, 0x5d, 0x21, 0x12, 0xd8, 0x7d, 0x72, 0x43, 0x95, 0x5e, 0xe0, 0x87,
+	0x7d, 0xd1, 0x8c, 0x52, 0x4b, 0x4f, 0x60, 0x49, 0xc4, 0x28, 0x00, 0xc3, 0xc7, 0x61, 0x30, 0x14,
+	0xc5, 0x2f, 0x59, 0x70, 0x55, 0x93, 0xb7, 0x77, 0x61, 0x60, 0x34, 0x60, 0xce, 0xf7, 0x12, 0x5a,
+	0x06, 0xb4, 0xd3, 0xd4, 0xf7, 0xb7, 0x5a, 0xb1, 0x26, 0xa1, 0x08, 0xc0, 0xe8, 0x0f, 0xab, 0x3b,
+	0x8a, 0x84, 0x2e, 0x81, 0xca, 0xd6, 0xd5, 0xe6, 0xfe, 0xc1, 0x5e, 0xad, 0x55, 0x6b, 0xef, 0xd6,
+	0x1a, 0xcd, 0xfd, 0x7a, 0xf5, 0x50, 0x91, 0xb5, 0x4d, 0x58, 0x8e, 0x9b, 0xee, 0x0e, 0x6d, 0xcb,
+	0x25, 0x0f, 0xe4, 0x42, 0xa8, 0xc4, 0xb9, 0xaa, 0xe4, 0x47, 0x3a, 0xa8, 0x71, 0xae, 0xf6, 0x39,
+	0xac, 0x54, 0x69, 0xfe, 0x8c, 0x1f, 0x5f, 0x8e, 0xa5, 0x7b, 0x90, 0x0f, 0x61, 0x89, 0xba, 0x20,
+	0x5f, 0xb9, 0x92, 0xfc, 0x70, 0xeb, 0x30, 0x06, 0x9a, 0xf6, 0x2f, 0x19, 0x56, 0x6a, 0xcf, 0x43,
+	0x8a, 0x85, 0x2e, 0x9f, 0x0d, 0xa8, 0x71, 0xfd, 0xe5, 0xb8, 0xfe, 0xa4, 0x05, 0x1a, 0x3a, 0xf6,
+	0x13, 0xdc, 0xa1, 0x77, 0xa4, 0xfc, 0x1a, 0xce, 0x28, 0xf5, 0x2e, 0xfa, 0x61, 0x00, 0xe4, 0x34,
+	0x8d, 0x56, 0x45, 0xa4, 0xfe, 0x14, 0x1d, 0xe3, 0x50, 0x7e, 0x0f, 0x94, 0x23, 0xb3, 0xf7, 0x6c,
+	0x84, 0x9d, 0xd3, 0x36, 0x6b, 0xb2, 0x58, 0x5d, 0x5f, 0xe4, 0xf4, 0xfb, 0x3e, 0x99, 0x24, 0x7a,
+	0xc0, 0xea, 0x19, 0x47, 0x7d, 0xcc, 0x1e, 0xed, 0x02, 0xa7, 0xb6, 0x08, 0x51, 0xbb, 0x7b, 0x26,
+	0x10, 0xde, 0x82, 0x45, 0x46, 0xdf, 0xae, 0xef, 0x7e, 0xf6, 0xa0, 0xa6, 0x3f, 0x52, 0x24, 0xed,
+	0x63, 0x58, 0xda, 0xc5, 0x6f, 0xea, 0x53, 0xed, 0xa7, 0xa0, 0x1e, 0x62, 0xc3, 0xe9, 0x3c, 0x1e,
+	0x5f, 0x10, 0x94, 0x8f, 0xab, 0x90, 0x1f, 0x37, 0x94, 0x01, 0x5c, 0x82, 0x8e, 0xd2, 0x77, 0xb7,
+	0xd1, 0xc3, 0x6d, 0xcf, 0x7e, 0x8a, 0x2d, 0x56, 0xdc, 0x73, 0x84, 0xd2, 0x22, 0x04, 0x52, 0xe1,
+	0xe9, 0xb6, 0x6b, 0xbe, 0xc0, 0x34, 0x18, 0x19, 0x3d, 0x4b, 0x08, 0x87, 0xe6, 0x0b, 0xac, 0xfd,
+	0x4a, 0x82, 0x77, 0x04, 0x92, 0x19, 0x54, 0xb7, 0x60, 0x21, 0xa4, 0xbc, 0x2f, 0xfb, 0x6c, 0xb8,
+	0xe5, 0xc7, 0xa6, 0xb9, 0xe4, 0x09, 0xb1, 0xf0, 0x73, 0xaf, 0x3d, 0xa1, 0x61, 0x81, 0x90, 0x0f,
+	0xb8, 0x96, 0xda, 0x3d, 0x58, 0xb9, 0x8f, 0xfb, 0x58, 0x84, 0xf9, 0xd9, 0x5c, 0xf8, 0x5a, 0x82,
+	0x95, 0x07, 0xc3, 0xae, 0xf1, 0xc6, 0x37, 0xc4, 0x73, 0x4b, 0x3e, 0x6f, 0x6e, 0xa1, 0x8f, 0xc8,
+	0x1b, 0x41, 0x34, 0xa0, 0xc3, 0x1f, 0xc5, 0xa1, 0xe8, 0x61, 0xda, 0x21, 0xf3, 0xe1, 0xbe, 0xe1,
+	0x3e, 0x25, 0xef, 0x07, 0x61, 0x27, 0xbf, 0xb5, 0xbf, 0xc8, 0xf0, 0x76, 0x24, 0x12, 0x01, 0x00,
+	0x04, 0xaf, 0xb0, 0x24, 0x7a, 0x85, 0xaf, 0x8d, 0xa3, 0x15, 0x7a, 0xe6, 0xb9, 0x4d, 0x0d, 0xbf,
+	0x39, 0x8f, 0xe6, 0x6e, 0x6a, 0x22, 0x77, 0x27, 0x9f, 0xc3, 0x74, 0x62, 0xab, 0x9c, 0x11, 0xb4,
+	0xca, 0x73, 0xe3, 0x56, 0x39, 0x8a, 0xcd, 0xf9, 0x44, 0x6c, 0x66, 0xa3, 0xd8, 0x24, 0x9b, 0x03,
+	0xe3, 0x79, 0xdb, 0xef, 0x55, 0x73, 0xfe, 0xe6, 0xc0, 0x78, 0x4e, 0xfa, 0x05, 0x57, 0x3b, 0x85,
+	0xe5, 0xb8, 0xb7, 0x18, 0x68, 0xbf, 0x07, 0x59, 0xfe, 0x55, 0x80, 0x01, 0xf6, 0x62, 0x42, 0x0c,
+	0xf5, 0x80, 0x79, 0x66, 0xa8, 0xee, 0xc3, 0x52, 0xa4, 0x3c, 0xf3, 0x38, 0xdd, 0x85, 0x79, 0x76,
+	0x17, 0xab, 0xcb, 0x89, 0x72, 0x39, 0xaf, 0xf6, 0x27, 0x09, 0x96, 0x22, 0xc0, 0xe5, 0xf7, 0x5d,
+	0x06, 0x0e, 0xae, 0xd0, 0x24, 0xc9, 0x28, 0xf5, 0x6e, 0x58, 0x9c, 0x3c, 0xbb, 0xb8, 0x38, 0x48,
+	0x53, 0xe7, 0x02, 0xe9, 0x5d, 0x58, 0x8a, 0x64, 0xe9, 0x6c, 0xaa, 0x6a, 0x15, 0xb8, 0x30, 0x2e,
+	0x8e, 0x33, 0x9e, 0xf9, 0x9b, 0x0c, 0x4b, 0xf4, 0xb9, 0x7e, 0xb3, 0x76, 0x2a, 0x8c, 0x02, 0xf9,
+	0x3c, 0x28, 0x30, 0x45, 0x0d, 0x8e, 0xff, 0x45, 0xe3, 0x13, 0xd1, 0x0d, 0x22, 0x1d, 0xff, 0x07,
+	0xfb, 0x9b, 0xdf, 0x4a, 0xbc, 0xbc, 0xb0, 0x7e, 0xfb, 0xdc, 0xe5, 0x45, 0x34, 0x3d, 0x44, 0xd3,
+	0x3b, 0x95, 0x98, 0xde, 0xe9, 0xd8, 0xd3, 0xf3, 0x82, 0x67, 0xf0, 0x58, 0x21, 0x96, 0xc1, 0x1f,
+	0x42, 0x8e, 0x57, 0xa9, 0xc4, 0x14, 0x66, 0x07, 0xf5, 0x2c, 0xab, 0x5f, 0xb3, 0xa7, 0x70, 0x83,
+	0xa7, 0x30, 0xbf, 0x82, 0xf9, 0xe2, 0x03, 0xc8, 0x72, 0xc9, 0x49, 0x39, 0xcc, 0x4f, 0xcd, 0x33,
+	0xc1, 0xda, 0x9f, 0x83, 0x1c, 0x8e, 0x5d, 0x18, 0x9b, 0x67, 0xa5, 0xf8, 0x3c, 0x1b, 0x16, 0x28,
+	0xcf, 0x2e, 0xf0, 0xeb, 0x65, 0xf1, 0x07, 0x3c, 0x8b, 0xcf, 0xa7, 0xac, 0xf6, 0x3e, 0x4d, 0xe3,
+	0x73, 0x1e, 0xfa, 0x3b, 0x01, 0x9e, 0xe7, 0x60, 0x63, 0x10, 0x4f, 0xe4, 0x68, 0x9b, 0x28, 0xc5,
+	0xdb, 0xc4, 0xc9, 0x3c, 0x97, 0x67, 0xe8, 0x46, 0xbf, 0xe9, 0x17, 0x4d, 0xfb, 0x0c, 0x96, 0xe3,
+	0xe6, 0x7c, 0xcd, 0x87, 0x67, 0xfd, 0x27, 0x80, 0x26, 0x93, 0x17, 0x5d, 0x87, 0xd5, 0x7a, 0x63,
+	0xa7, 0xd9, 0xde, 0xaf, 0xe9, 0xbb, 0xb5, 0x76, 0xf3, 0xa0, 0xa6, 0x6f, 0xb5, 0xea, 0xcd, 0xc6,
+	0xe4, 0x54, 0x52, 0xdf, 0x6d, 0x34, 0xf5, 0x5a, 0xbb, 0x51, 0xfb, 0x91, 0x22, 0xa1, 0x0b, 0x50,
+	0xd8, 0x6f, 0x3e, 0xac, 0xb5, 0x5b, 0xcd, 0x76, 0x75, 0x6b, 0x6f, 0xef, 0x50, 0x91, 0x2b, 0x7f,
+	0x94, 0x60, 0xc5, 0x57, 0xd9, 0xb4, 0x7a, 0x41, 0xeb, 0xe2, 0x9c, 0x98, 0x1d, 0x8c, 0xbe, 0x94,
+	0xa0, 0x18, 0x35, 0x07, 0x09, 0xbf, 0x63, 0x08, 0x23, 0x58, 0x5a, 0x9f, 0x85, 0xd5, 0xf7, 0x8e,
+	0x76, 0xe5, 0x8b, 0x7f, 0xfe, 0xfb, 0x2b, 0x59, 0xd5, 0xde, 0x0a, 0x7f, 0xb6, 0xdf, 0x74, 0x29,
+	0xf3, 0xa6, 0xb4, 0x7e, 0x5b, 0xaa, 0xbc, 0x46, 0xa0, 0x44, 0xd5, 0x7b, 0x78, 0x07, 0xbd, 0x80,
+	0x62, 0x74, 0x8e, 0x12, 0xeb, 0x27, 0x1c, 0x33, 0x4b, 0x97, 0x39, 0x6b, 0xe8, 0xeb, 0xfe, 0x46,
+	0xe0, 0xe1, 0x29, 0x2a, 0x99, 0xf4, 0xaa, 0x4d, 0x69, 0x1d, 0xfd, 0x52, 0x02, 0x25, 0x3e, 0x88,
+	0x21, 0xe1, 0x17, 0xf5, 0x29, 0xe3, 0x5a, 0xe9, 0x8c, 0xee, 0x51, 0xbb, 0x4e, 0x35, 0xb8, 0xa2,
+	0x2d, 0x86, 0x35, 0xc0, 0x9e, 0xbb, 0x19, 0xee, 0x44, 0xd1, 0xef, 0x24, 0x50, 0xe2, 0xf3, 0x90,
+	0x58, 0x8f, 0x29, 0x53, 0xd3, 0x59, 0x8e, 0xa8, 0x50, 0x35, 0x6e, 0x69, 0xef, 0xc6, 0xd4, 0x28,
+	0xbf, 0x8c, 0x66, 0xe0, 0xab, 0x4d, 0xfc, 0x9c, 0x3b, 0xe7, 0xe7, 0x12, 0x14, 0x22, 0x13, 0x0f,
+	0x5a, 0x13, 0x69, 0x24, 0x1a, 0x8a, 0xce, 0x74, 0xcb, 0x1a, 0xd5, 0x47, 0x43, 0xab, 0x67, 0xe9,
+	0x83, 0xbe, 0x92, 0xe0, 0xc2, 0xc4, 0xfc, 0x82, 0x6e, 0x09, 0x71, 0x39, 0x65, 0xc0, 0x2a, 0x7d,
+	0x77, 0x46, 0x6e, 0x06, 0xe4, 0x6b, 0x54, 0xb9, 0x8b, 0xda, 0x72, 0x5c, 0x39, 0x97, 0x1e, 0x21,
+	0xbe, 0xf9, 0x99, 0x04, 0x4a, 0x7c, 0x9a, 0x11, 0x07, 0x6c, 0xca, 0xcc, 0x53, 0x5a, 0x9e, 0x28,
+	0xe5, 0xb5, 0xc1, 0xd0, 0x3b, 0xe5, 0x9e, 0x59, 0x3f, 0xdb, 0x33, 0xbf, 0x97, 0x40, 0x89, 0xcf,
+	0x43, 0x62, 0x1d, 0xa6, 0x4c, 0x4d, 0x67, 0x46, 0xe9, 0x2e, 0xd5, 0xa5, 0x5c, 0x39, 0x53, 0x97,
+	0x28, 0x9a, 0x7f, 0x4d, 0x4a, 0x4e, 0xa4, 0x75, 0x9f, 0x52, 0x72, 0x44, 0xc3, 0xd0, 0x94, 0x92,
+	0x23, 0x9c, 0x04, 0xc4, 0xf9, 0x1d, 0x0a, 0xd3, 0x08, 0x0a, 0x91, 0xc4, 0x15, 0x23, 0x58, 0xd4,
+	0xeb, 0x97, 0x92, 0x2a, 0xbb, 0x76, 0x99, 0xca, 0x5d, 0xd1, 0x16, 0x22, 0x75, 0x25, 0xe8, 0xc0,
+	0xbf, 0x90, 0xa0, 0x10, 0xf1, 0xb9, 0x58, 0xae, 0x68, 0x26, 0x48, 0x96, 0xbb, 0x4e, 0xe5, 0x5e,
+	0xaf, 0xbc, 0x13, 0xb1, 0xf7, 0xe5, 0xb8, 0xcb, 0x7e, 0x35, 0x56, 0xc2, 0x83, 0x42, 0x04, 0x7b,
+	0x62, 0x1d, 0x44, 0xcd, 0xfe, 0x54, 0x6c, 0xb2, 0xc4, 0x58, 0x9f, 0x2e, 0x1e, 0xb9, 0x00, 0xe3,
+	0x82, 0x80, 0x6e, 0x24, 0x17, 0x8c, 0x99, 0x6c, 0x66, 0x42, 0x51, 0x82, 0xd0, 0x21, 0x14, 0x22,
+	0x4d, 0xba, 0xd8, 0x54, 0x51, 0x1f, 0x3f, 0xd5, 0x54, 0x1e, 0x61, 0x14, 0x89, 0x30, 0x1d, 0x19,
+	0x08, 0xb0, 0xc6, 0x10, 0xe7, 0xbd, 0x6d, 0x12, 0xc4, 0x63, 0x0d, 0x79, 0x12, 0xc4, 0xe3, 0xad,
+	0x72, 0x14, 0xe2, 0x74, 0x52, 0x8e, 0x56, 0xa2, 0x13, 0x0e, 0x71, 0xfe, 0x37, 0x81, 0x04, 0x88,
+	0x47, 0x1b, 0xbb, 0x52, 0x52, 0x23, 0x1a, 0xc8, 0x5d, 0x08, 0xcb, 0xdd, 0x0c, 0x7a, 0x59, 0xf4,
+	0x8b, 0x00, 0xe3, 0x89, 0x82, 0x45, 0x3d, 0x73, 0xb2, 0xe0, 0x5b, 0x54, 0xf0, 0xcd, 0x4a, 0x29,
+	0x62, 0xf0, 0xcb, 0x50, 0x0f, 0xf8, 0x2a, 0xa4, 0xc6, 0x88, 0xa3, 0x3c, 0x51, 0x0b, 0x51, 0x33,
+	0x3c, 0x35, 0xf4, 0x1a, 0x55, 0xe0, 0xd2, 0x7a, 0x82, 0x02, 0xc8, 0xa3, 0x30, 0xe7, 0x32, 0xa7,
+	0xc1, 0xfc, 0x3c, 0x66, 0x33, 0xa9, 0x28, 0x41, 0xea, 0xf6, 0x63, 0x58, 0xee, 0xd8, 0x03, 0xc1,
+	0x2d, 0xdb, 0x05, 0x8e, 0xeb, 0x03, 0x62, 0xcb, 0x81, 0xf4, 0xf9, 0x26, 0x67, 0xb2, 0xfb, 0x86,
+	0xd5, 0xdb, 0xb0, 0x9d, 0x5e, 0xb9, 0x87, 0x2d, 0x6a, 0x69, 0xd9, 0xdf, 0x32, 0x86, 0xa6, 0x1b,
+	0xfe, 0x4f, 0x8b, 0x8f, 0xf8, 0xef, 0xff, 0x48, 0xd2, 0xd1, 0x1c, 0xe5, 0x7c, 0xff, 0xbf, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x7e, 0x5e, 0x37, 0xc0, 0x92, 0x21, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1/variants.proto b/googleapis/genomics/v1/variants.proto
deleted file mode 100644
index 1b874365..00000000
--- a/googleapis/genomics/v1/variants.proto
+++ /dev/null
@@ -1,902 +0,0 @@
-// 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.genomics.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 "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
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "VariantsProto";
-option java_package = "com.google.genomics.v1";
-
-
-service StreamingVariantService {
-  // Returns a stream of all the variants matching the search request, ordered
-  // by reference name, position, and ID.
-  rpc StreamVariants(StreamVariantsRequest) returns (stream StreamVariantsResponse) {
-    option (google.api.http) = { post: "/v1/variants:stream" body: "*" };
-  }
-}
-
-service VariantServiceV1 {
-  // Creates variant data by asynchronously importing the provided information.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The variants for import will be merged with any existing variant that
-  // matches its reference sequence, start, end, reference bases, and
-  // alternative bases. If no such variant exists, a new one will be created.
-  //
-  // When variants are merged, the call information from the new variant
-  // is added to the existing variant, and Variant info fields are merged
-  // as specified in
-  // [infoMergeConfig][google.genomics.v1.ImportVariantsRequest.info_merge_config].
-  // As a special case, for single-sample VCF files, QUAL and FILTER fields will
-  // be moved to the call level; these are sometimes interpreted in a
-  // call-specific context.
-  // Imported VCF headers are appended to the metadata already in a variant set.
-  rpc ImportVariants(ImportVariantsRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/variants:import" body: "*" };
-  }
-
-  // Creates a new variant set.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // The provided variant set must have a valid `datasetId` set - all other
-  // fields are optional. Note that the `id` field will be ignored, as this is
-  // assigned by the server.
-  rpc CreateVariantSet(CreateVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { post: "/v1/variantsets" body: "variant_set" };
-  }
-
-  // Exports variant set data to an external destination.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc ExportVariantSet(ExportVariantSetRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1/variantsets/{variant_set_id}:export" body: "*" };
-  }
-
-  // Gets a variant set by ID.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetVariantSet(GetVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { get: "/v1/variantsets/{variant_set_id}" };
-  }
-
-  // Returns a list of all variant sets matching search criteria.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchVariantSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L49).
-  rpc SearchVariantSets(SearchVariantSetsRequest) returns (SearchVariantSetsResponse) {
-    option (google.api.http) = { post: "/v1/variantsets/search" body: "*" };
-  }
-
-  // Deletes a variant set including all variants, call sets, and calls within.
-  // This is not reversible.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteVariantSet(DeleteVariantSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/variantsets/{variant_set_id}" };
-  }
-
-  // Updates a variant set using patch semantics.
-  //
-  // For the definitions of variant sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc UpdateVariantSet(UpdateVariantSetRequest) returns (VariantSet) {
-    option (google.api.http) = { patch: "/v1/variantsets/{variant_set_id}" body: "variant_set" };
-  }
-
-  // Gets a list of variants matching the criteria.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchVariants](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L126).
-  rpc SearchVariants(SearchVariantsRequest) returns (SearchVariantsResponse) {
-    option (google.api.http) = { post: "/v1/variants/search" body: "*" };
-  }
-
-  // Creates a new variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateVariant(CreateVariantRequest) returns (Variant) {
-    option (google.api.http) = { post: "/v1/variants" body: "variant" };
-  }
-
-  // Updates a variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics. Returns the modified variant without
-  // its calls.
-  rpc UpdateVariant(UpdateVariantRequest) returns (Variant) {
-    option (google.api.http) = { patch: "/v1/variants/{variant_id}" body: "variant" };
-  }
-
-  // Deletes a variant.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteVariant(DeleteVariantRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/variants/{variant_id}" };
-  }
-
-  // Gets a variant by ID.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetVariant(GetVariantRequest) returns (Variant) {
-    option (google.api.http) = { get: "/v1/variants/{variant_id}" };
-  }
-
-  // Merges the given variants with existing variants.
-  //
-  // For the definitions of variants and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Each variant will be
-  // merged with an existing variant that matches its reference sequence,
-  // start, end, reference bases, and alternative bases. If no such variant
-  // exists, a new one will be created.
-  //
-  // When variants are merged, the call information from the new variant
-  // is added to the existing variant. Variant info fields are merged as
-  // specified in the
-  // [infoMergeConfig][google.genomics.v1.MergeVariantsRequest.info_merge_config]
-  // field of the MergeVariantsRequest.
-  //
-  // Please exercise caution when using this method!  It is easy to introduce
-  // mistakes in existing variants and difficult to back out of them.  For
-  // example,
-  // suppose you were trying to merge a new variant with an existing one and
-  // both
-  // variants contain calls that belong to callsets with the same callset ID.
-  //
-  //     // Existing variant - irrelevant fields trimmed for clarity
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     0,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  //     // New variant with conflicting call information
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     1,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  // The resulting merged variant would overwrite the existing calls with those
-  // from the new variant:
-  //
-  //     {
-  //         "variantSetId": "10473108253681171589",
-  //         "referenceName": "1",
-  //         "start": "10582",
-  //         "referenceBases": "G",
-  //         "alternateBases": [
-  //             "A"
-  //         ],
-  //         "calls": [
-  //             {
-  //                 "callSetId": "10473108253681171589-0",
-  //                 "callSetName": "CALLSET0",
-  //                 "genotype": [
-  //                     1,
-  //                     1
-  //                 ],
-  //             }
-  //         ]
-  //     }
-  //
-  // This may be the desired outcome, but it is up to the user to determine if
-  // if that is indeed the case.
-  rpc MergeVariants(MergeVariantsRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/variants:merge" body: "*" };
-  }
-
-  // Gets a list of call sets matching the criteria.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // Implements
-  // [GlobalAllianceApi.searchCallSets](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variantmethods.avdl#L178).
-  rpc SearchCallSets(SearchCallSetsRequest) returns (SearchCallSetsResponse) {
-    option (google.api.http) = { post: "/v1/callsets/search" body: "*" };
-  }
-
-  // Creates a new call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc CreateCallSet(CreateCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { post: "/v1/callsets" body: "call_set" };
-  }
-
-  // Updates a call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  //
-  // This method supports patch semantics.
-  rpc UpdateCallSet(UpdateCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { patch: "/v1/callsets/{call_set_id}" body: "call_set" };
-  }
-
-  // Deletes a call set.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc DeleteCallSet(DeleteCallSetRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/callsets/{call_set_id}" };
-  }
-
-  // Gets a call set by ID.
-  //
-  // For the definitions of call sets and other genomics resources, see
-  // [Fundamentals of Google
-  // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-  rpc GetCallSet(GetCallSetRequest) returns (CallSet) {
-    option (google.api.http) = { get: "/v1/callsets/{call_set_id}" };
-  }
-}
-
-// Metadata describes a single piece of variant call metadata.
-// These data include a top level key and either a single value string (value)
-// or a list of key-value pairs (info.)
-// Value and info are mutually exclusive.
-message VariantSetMetadata {
-  enum Type {
-    TYPE_UNSPECIFIED = 0;
-
-    INTEGER = 1;
-
-    FLOAT = 2;
-
-    FLAG = 3;
-
-    CHARACTER = 4;
-
-    STRING = 5;
-  }
-
-  // The top-level key.
-  string key = 1;
-
-  // The value field for simple metadata
-  string value = 2;
-
-  // User-provided ID field, not enforced by this API.
-  // Two or more pieces of structured metadata with identical
-  // id and key fields are considered equivalent.
-  string id = 4;
-
-  // The type of data. Possible types include: Integer, Float,
-  // Flag, Character, and String.
-  Type type = 5;
-
-  // The number of values that can be included in a field described by this
-  // metadata.
-  string number = 8;
-
-  // A textual description of this metadata.
-  string description = 7;
-
-  // Remaining structured metadata key-value pairs. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 3;
-}
-
-// A variant set is a collection of call sets and variants. It contains summary
-// statistics of those contents. A variant set belongs to a dataset.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message VariantSet {
-  // The dataset to which this variant set belongs.
-  string dataset_id = 1;
-
-  // The server-generated variant set ID, unique across all variant sets.
-  string id = 2;
-
-  // The reference set to which the variant set is mapped. The reference set
-  // describes the alignment provenance of the variant set, while the
-  // `referenceBounds` describe the shape of the actual variant data. The
-  // reference set's reference names are a superset of those found in the
-  // `referenceBounds`.
-  //
-  // For example, given a variant set that is mapped to the GRCh38 reference set
-  // and contains a single variant on reference 'X', `referenceBounds` would
-  // contain only an entry for 'X', while the associated reference set
-  // enumerates all possible references: '1', '2', 'X', 'Y', 'MT', etc.
-  string reference_set_id = 6;
-
-  // A list of all references used by the variants in a variant set
-  // with associated coordinate upper bounds for each one.
-  repeated ReferenceBound reference_bounds = 5;
-
-  // The metadata associated with this variant set.
-  repeated VariantSetMetadata metadata = 4;
-
-  // User-specified, mutable name.
-  string name = 7;
-
-  // A textual description of this variant set.
-  string description = 8;
-}
-
-// A variant represents a change in DNA sequence relative to a reference
-// sequence. For example, a variant could represent a SNP or an insertion.
-// Variants belong to a variant set.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-//
-// Each of the calls on a variant represent a determination of genotype with
-// respect to that variant. For example, a call might assign probability of 0.32
-// to the occurrence of a SNP named rs1234 in a sample named NA12345. A call
-// belongs to a call set, which contains related calls typically from one
-// sample.
-message Variant {
-  // The ID of the variant set this variant belongs to.
-  string variant_set_id = 15;
-
-  // The server-generated variant ID, unique across all variants.
-  string id = 2;
-
-  // Names for the variant, for example a RefSNP ID.
-  repeated string names = 3;
-
-  // The date this variant was created, in milliseconds from the epoch.
-  int64 created = 12;
-
-  // The reference on which this variant occurs.
-  // (such as `chr20` or `X`)
-  string reference_name = 14;
-
-  // The position at which this variant occurs (0-based).
-  // This corresponds to the first base of the string of reference bases.
-  int64 start = 16;
-
-  // The end position (0-based) of this variant. This corresponds to the first
-  // base after the last base in the reference allele. So, the length of
-  // the reference allele is (end - start). This is useful for variants
-  // that don't explicitly give alternate bases, for example large deletions.
-  int64 end = 13;
-
-  // The reference bases for this variant. They start at the given
-  // position.
-  string reference_bases = 6;
-
-  // The bases that appear instead of the reference bases.
-  repeated string alternate_bases = 7;
-
-  // A measure of how likely this variant is to be real.
-  // A higher value is better.
-  double quality = 8;
-
-  // A list of filters (normally quality filters) this variant has failed.
-  // `PASS` indicates this variant has passed all filters.
-  repeated string filter = 9;
-
-  // A map of additional variant information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 10;
-
-  // The variant calls for this particular variant. Each one represents the
-  // determination of genotype with respect to this variant.
-  repeated VariantCall calls = 11;
-}
-
-// A call represents the determination of genotype with respect to a particular
-// variant. It may include associated information such as quality and phasing.
-// For example, a call might assign a probability of 0.32 to the occurrence of
-// a SNP named rs1234 in a call set with the name NA12345.
-message VariantCall {
-  // The ID of the call set this variant call belongs to.
-  string call_set_id = 8;
-
-  // The name of the call set this variant call belongs to.
-  string call_set_name = 9;
-
-  // The genotype of this variant call. Each value represents either the value
-  // of the `referenceBases` field or a 1-based index into
-  // `alternateBases`. If a variant had a `referenceBases`
-  // value of `T` and an `alternateBases`
-  // value of `["A", "C"]`, and the `genotype` was
-  // `[2, 1]`, that would mean the call
-  // represented the heterozygous value `CA` for this variant.
-  // If the `genotype` was instead `[0, 1]`, the
-  // represented value would be `TA`. Ordering of the
-  // genotype values is important if the `phaseset` is present.
-  // If a genotype is not called (that is, a `.` is present in the
-  // GT string) -1 is returned.
-  repeated int32 genotype = 7;
-
-  // If this field is present, this variant call's genotype ordering implies
-  // the phase of the bases and is consistent with any other variant calls in
-  // the same reference sequence which have the same phaseset value.
-  // When importing data from VCF, if the genotype data was phased but no
-  // phase set was specified this field will be set to `*`.
-  string phaseset = 5;
-
-  // The genotype likelihoods for this variant call. Each array entry
-  // represents how likely a specific genotype is for this call. The value
-  // ordering is defined by the GL tag in the VCF spec.
-  // If Phred-scaled genotype likelihood scores (PL) are available and
-  // log10(P) genotype likelihood scores (GL) are not, PL scores are converted
-  // to GL scores.  If both are available, PL scores are stored in `info`.
-  repeated double genotype_likelihood = 6;
-
-  // A map of additional variant call information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 2;
-}
-
-// A call set is a collection of variant calls, typically for one sample. It
-// belongs to a variant set.
-//
-// For more genomics resource definitions, see [Fundamentals of Google
-// Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
-message CallSet {
-  // The server-generated call set ID, unique across all call sets.
-  string id = 1;
-
-  // The call set name.
-  string name = 2;
-
-  // The sample ID this call set corresponds to.
-  string sample_id = 7;
-
-  // The IDs of the variant sets this call set belongs to. This field must
-  // have exactly length one, as a call set belongs to a single variant set.
-  // This field is repeated for compatibility with the
-  // [GA4GH 0.5.1
-  // API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).
-  repeated string variant_set_ids = 6;
-
-  // The date this call set was created in milliseconds from the epoch.
-  int64 created = 5;
-
-  // A map of additional call set information. This must be of the form
-  // map<string, string[]> (string key mapping to a list of string values).
-  map<string, google.protobuf.ListValue> info = 4;
-}
-
-// ReferenceBound records an upper bound for the starting coordinate of
-// variants in a particular reference.
-message ReferenceBound {
-  // The name of the reference associated with this reference bound.
-  string reference_name = 1;
-
-  // An upper bound (inclusive) on the starting coordinate of any
-  // variant in the reference sequence.
-  int64 upper_bound = 2;
-}
-
-// The variant data import request.
-message ImportVariantsRequest {
-  enum Format {
-    FORMAT_UNSPECIFIED = 0;
-
-    // VCF (Variant Call Format). The VCF files should be uncompressed. gVCF is
-    // also supported.
-    FORMAT_VCF = 1;
-
-    // Complete Genomics masterVarBeta format. The masterVarBeta files should
-    // be bzip2 compressed.
-    FORMAT_COMPLETE_GENOMICS = 2;
-  }
-
-  // Required. The variant set to which variant data should be imported.
-  string variant_set_id = 1;
-
-  // A list of URIs referencing variant files in Google Cloud Storage. URIs can
-  // include wildcards [as described
-  // here](https://cloud.google.com/storage/docs/gsutil/addlhelp/WildcardNames).
-  // Note that recursive wildcards ('**') are not supported.
-  repeated string source_uris = 2;
-
-  // The format of the variant data being imported. If unspecified, defaults to
-  // to `VCF`.
-  Format format = 3;
-
-  // Convert reference names to the canonical representation.
-  // hg19 haploytypes (those reference names containing "_hap")
-  // are not modified in any way.
-  // All other reference names are modified according to the following rules:
-  // The reference name is capitalized.
-  // The "chr" prefix is dropped for all autosomes and sex chromsomes.
-  // For example "chr17" becomes "17" and "chrX" becomes "X".
-  // All mitochondrial chromosomes ("chrM", "chrMT", etc) become "MT".
-  bool normalize_reference_names = 5;
-
-  // A mapping between info field keys and the InfoMergeOperations to
-  // be performed on them. This is plumbed down to the MergeVariantRequests
-  // generated by the resulting import job.
-  map<string, InfoMergeOperation> info_merge_config = 6;
-}
-
-// The variant data import response.
-message ImportVariantsResponse {
-  // IDs of the call sets created during the import.
-  repeated string call_set_ids = 1;
-}
-
-// The CreateVariantSet request
-message CreateVariantSetRequest {
-  // Required. The variant set to be created. Must have a valid `datasetId`.
-  VariantSet variant_set = 1;
-}
-
-// The variant data export request.
-message ExportVariantSetRequest {
-  enum Format {
-    FORMAT_UNSPECIFIED = 0;
-
-    // Export the data to Google BigQuery.
-    FORMAT_BIGQUERY = 1;
-  }
-
-  // Required. The ID of the variant set that contains variant data which
-  // should be exported. The caller must have READ access to this variant set.
-  string variant_set_id = 1;
-
-  // If provided, only variant call information from the specified call sets
-  // will be exported. By default all variant calls are exported.
-  repeated string call_set_ids = 2;
-
-  // Required. The Google Cloud project ID that owns the destination
-  // BigQuery dataset. The caller must have WRITE access to this project.  This
-  // project will also own the resulting export job.
-  string project_id = 3;
-
-  // The format for the exported data.
-  Format format = 4;
-
-  // Required. The BigQuery dataset to export data to. This dataset must already
-  // exist. Note that this is distinct from the Genomics concept of "dataset".
-  string bigquery_dataset = 5;
-
-  // Required. The BigQuery table to export data to.
-  // If the table doesn't exist, it will be created. If it already exists, it
-  // will be overwritten.
-  string bigquery_table = 6;
-}
-
-// The variant set request.
-message GetVariantSetRequest {
-  // Required. The ID of the variant set.
-  string variant_set_id = 1;
-}
-
-// The search variant sets request.
-message SearchVariantSetsRequest {
-  // Exactly one dataset ID must be provided here. Only variant sets which
-  // belong to this dataset will be returned.
-  repeated string dataset_ids = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 2;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024.
-  int32 page_size = 3;
-}
-
-// The search variant sets response.
-message SearchVariantSetsResponse {
-  // The variant sets belonging to the requested dataset.
-  repeated VariantSet variant_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-// The delete variant set request.
-message DeleteVariantSetRequest {
-  // The ID of the variant set to be deleted.
-  string variant_set_id = 1;
-}
-
-message UpdateVariantSetRequest {
-  // The ID of the variant to be updated (must already exist).
-  string variant_set_id = 1;
-
-  // The new variant data. Only the variant_set.metadata will be considered
-  // for update.
-  VariantSet variant_set = 2;
-
-  // An optional mask specifying which fields to update. Supported fields:
-  //
-  // * [metadata][google.genomics.v1.VariantSet.metadata].
-  // * [name][google.genomics.v1.VariantSet.name].
-  // * [description][google.genomics.v1.VariantSet.description].
-  //
-  // Leaving `updateMask` unset is equivalent to specifying all mutable
-  // fields.
-  google.protobuf.FieldMask update_mask = 5;
-}
-
-// The variant search request.
-message SearchVariantsRequest {
-  // At most one variant set ID must be provided. Only variants from this
-  // variant set will be returned. If omitted, a call set id must be included in
-  // the request.
-  repeated string variant_set_ids = 1;
-
-  // Only return variants which have exactly this name.
-  string variant_name = 2;
-
-  // 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.
-  repeated string call_set_ids = 3;
-
-  // Required. Only return variants in this reference sequence.
-  string reference_name = 4;
-
-  // The beginning of the window (0-based, inclusive) for which
-  // overlapping variants should be returned. If unspecified, defaults to 0.
-  int64 start = 5;
-
-  // The end of the window, 0-based exclusive. If unspecified or 0, defaults to
-  // the length of the reference.
-  int64 end = 6;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 7;
-
-  // The maximum number of variants to return in a single page. If unspecified,
-  // defaults to 5000. The maximum value is 10000.
-  int32 page_size = 8;
-
-  // The maximum number of calls to return in a single page. Note that this
-  // limit may be exceeded in the event that a matching variant contains more
-  // calls than the requested maximum. If unspecified, defaults to 5000. The
-  // maximum value is 10000.
-  int32 max_calls = 9;
-}
-
-// The variant search response.
-message SearchVariantsResponse {
-  // The list of matching Variants.
-  repeated Variant variants = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateVariantRequest {
-  // The variant to be created.
-  Variant variant = 1;
-}
-
-message UpdateVariantRequest {
-  // The ID of the variant to be updated.
-  string variant_id = 1;
-
-  // The new variant data.
-  Variant variant = 2;
-
-  // An optional mask specifying which fields to update. At this time, mutable
-  // fields are [names][google.genomics.v1.Variant.names] and
-  // [info][google.genomics.v1.Variant.info]. Acceptable values are "names" and
-  // "info". If unspecified, all mutable fields will be updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteVariantRequest {
-  // The ID of the variant to be deleted.
-  string variant_id = 1;
-}
-
-message GetVariantRequest {
-  // The ID of the variant.
-  string variant_id = 1;
-}
-
-message MergeVariantsRequest {
-  // The destination variant set.
-  string variant_set_id = 1;
-
-  // The variants to be merged with existing variants.
-  repeated Variant variants = 2;
-
-  // A mapping between info field keys and the InfoMergeOperations to
-  // be performed on them.
-  map<string, InfoMergeOperation> info_merge_config = 3;
-}
-
-// The call set search request.
-message SearchCallSetsRequest {
-  // Restrict the query to call sets within the given variant sets. At least one
-  // ID must be provided.
-  repeated string variant_set_ids = 1;
-
-  // Only return call sets for which a substring of the name matches this
-  // string.
-  string name = 2;
-
-  // The continuation token, which is used to page through large result sets.
-  // To get the next page of results, set this parameter to the value of
-  // `nextPageToken` from the previous response.
-  string page_token = 3;
-
-  // The maximum number of results to return in a single page. If unspecified,
-  // defaults to 1024.
-  int32 page_size = 4;
-}
-
-// The call set search response.
-message SearchCallSetsResponse {
-  // The list of matching call sets.
-  repeated CallSet call_sets = 1;
-
-  // The continuation token, which is used to page through large result sets.
-  // Provide this value in a subsequent request to return the next page of
-  // results. This field will be empty if there aren't any additional results.
-  string next_page_token = 2;
-}
-
-message CreateCallSetRequest {
-  // The call set to be created.
-  CallSet call_set = 1;
-}
-
-message UpdateCallSetRequest {
-  // The ID of the call set to be updated.
-  string call_set_id = 1;
-
-  // The new call set data.
-  CallSet call_set = 2;
-
-  // An optional mask specifying which fields to update. At this time, the only
-  // mutable field is [name][google.genomics.v1.CallSet.name]. The only
-  // acceptable value is "name". If unspecified, all mutable fields will be
-  // updated.
-  google.protobuf.FieldMask update_mask = 3;
-}
-
-message DeleteCallSetRequest {
-  // The ID of the call set to be deleted.
-  string call_set_id = 1;
-}
-
-message GetCallSetRequest {
-  // The ID of the call set.
-  string call_set_id = 1;
-}
-
-// The stream variants request.
-message StreamVariantsRequest {
-  // The Google Developers Console project ID or number which will be billed
-  // for this access. The caller must have WRITE access to this project.
-  // Required.
-  string project_id = 1;
-
-  // The variant set ID from which to stream variants.
-  string variant_set_id = 2;
-
-  // Only return variant calls which belong to call sets with these IDs.
-  // Leaving this blank returns all variant calls.
-  repeated string call_set_ids = 3;
-
-  // Required. Only return variants in this reference sequence.
-  string reference_name = 4;
-
-  // The beginning of the window (0-based, inclusive) for which
-  // overlapping variants should be returned.
-  int64 start = 5;
-
-  // The end of the window (0-based, exclusive) for which overlapping
-  // variants should be returned.
-  int64 end = 6;
-}
-
-message StreamVariantsResponse {
-  repeated Variant variants = 1;
-}
-
-// Operations to be performed during import on Variant info fields.
-// These operations are set for each info field in the info_merge_config
-// map of ImportVariantsRequest, which is plumbed down to the
-// MergeVariantRequests generated by the import job.
-enum InfoMergeOperation {
-  INFO_MERGE_OPERATION_UNSPECIFIED = 0;
-
-  // By default, Variant info fields are persisted if the Variant doesn't
-  // already exist in the variantset.  If the Variant is equivalent to a
-  // Variant already in the variantset, the incoming Variant's info field
-  // is ignored in favor of that of the already persisted Variant.
-  IGNORE_NEW = 1;
-
-  // This operation removes an info field from the incoming Variant
-  // and persists this info field in each of the incoming Variant's Calls.
-  MOVE_TO_CALLS = 2;
-}
diff --git a/googleapis/genomics/v1alpha2/pipelines.pb.go b/googleapis/genomics/v1alpha2/pipelines.pb.go
index a559aabf..fc8137a7 100644
--- a/googleapis/genomics/v1alpha2/pipelines.pb.go
+++ b/googleapis/genomics/v1alpha2/pipelines.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto
+// source: google/genomics/v1alpha2/pipelines.proto
 // DO NOT EDIT!
 
 /*
-Package google_genomics_v1alpha2 is a generated protocol buffer package.
+Package genomics is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto
+	google/genomics/v1alpha2/pipelines.proto
 
 It has these top-level messages:
 	ComputeEngine
@@ -29,12 +29,12 @@ It has these top-level messages:
 	PipelineParameter
 	DockerExecutor
 */
-package google_genomics_v1alpha2 // import "google.golang.org/genproto/googleapis/genomics/v1alpha2"
+package genomics
 
 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/api/annotations"
 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"
@@ -112,6 +112,34 @@ func (m *ComputeEngine) String() string            { return proto.CompactTextStr
 func (*ComputeEngine) ProtoMessage()               {}
 func (*ComputeEngine) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ComputeEngine) GetInstanceName() string {
+	if m != nil {
+		return m.InstanceName
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetZone() string {
+	if m != nil {
+		return m.Zone
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
+func (m *ComputeEngine) GetDiskNames() []string {
+	if m != nil {
+		return m.DiskNames
+	}
+	return nil
+}
+
 // Runtime metadata that will be populated in the
 // [runtimeMetadata][google.genomics.v1.OperationMetadata.runtime_metadata]
 // field of the Operation associated with a RunPipeline execution.
@@ -195,6 +223,27 @@ func (m *Pipeline) GetExecutor() isPipeline_Executor {
 	return nil
 }
 
+func (m *Pipeline) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *Pipeline) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Pipeline) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Pipeline) GetInputParameters() []*PipelineParameter {
 	if m != nil {
 		return m.InputParameters
@@ -223,6 +272,13 @@ func (m *Pipeline) GetResources() *PipelineResources {
 	return nil
 }
 
+func (m *Pipeline) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*Pipeline) 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 _Pipeline_OneofMarshaler, _Pipeline_OneofUnmarshaler, _Pipeline_OneofSizer, []interface{}{
@@ -335,6 +391,13 @@ func (m *RunPipelineArgs) String() string            { return proto.CompactTextS
 func (*RunPipelineArgs) ProtoMessage()               {}
 func (*RunPipelineArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RunPipelineArgs) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *RunPipelineArgs) GetInputs() map[string]string {
 	if m != nil {
 		return m.Inputs
@@ -356,6 +419,13 @@ func (m *RunPipelineArgs) GetServiceAccount() *ServiceAccount {
 	return nil
 }
 
+func (m *RunPipelineArgs) GetClientId() string {
+	if m != nil {
+		return m.ClientId
+	}
+	return ""
+}
+
 func (m *RunPipelineArgs) GetResources() *PipelineResources {
 	if m != nil {
 		return m.Resources
@@ -522,6 +592,13 @@ func (m *GetPipelineRequest) String() string            { return proto.CompactTe
 func (*GetPipelineRequest) ProtoMessage()               {}
 func (*GetPipelineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *GetPipelineRequest) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // A request to list pipelines in a given project. Pipelines can be
 // filtered by name using `namePrefix`: all pipelines with names that
 // begin with `namePrefix` will be returned. Uses standard pagination:
@@ -549,6 +626,34 @@ func (m *ListPipelinesRequest) String() string            { return proto.Compact
 func (*ListPipelinesRequest) ProtoMessage()               {}
 func (*ListPipelinesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListPipelinesRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ListPipelinesRequest) GetNamePrefix() string {
+	if m != nil {
+		return m.NamePrefix
+	}
+	return ""
+}
+
+func (m *ListPipelinesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListPipelinesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The response of ListPipelines. Contains at most `pageSize`
 // pipelines. If it contains `pageSize` pipelines, and more pipelines
 // exist, then `nextPageToken` will be populated and should be
@@ -573,6 +678,13 @@ func (m *ListPipelinesResponse) GetPipelines() []*Pipeline {
 	return nil
 }
 
+func (m *ListPipelinesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request to delete a saved pipeline by ID.
 type DeletePipelineRequest struct {
 	// Caller must have WRITE access to the project in which this pipeline
@@ -585,6 +697,13 @@ func (m *DeletePipelineRequest) String() string            { return proto.Compac
 func (*DeletePipelineRequest) ProtoMessage()               {}
 func (*DeletePipelineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeletePipelineRequest) GetPipelineId() string {
+	if m != nil {
+		return m.PipelineId
+	}
+	return ""
+}
+
 // Request to get controller configuation.  Should only be used
 // by VMs created by the Pipelines Service and not by end users.
 type GetControllerConfigRequest struct {
@@ -598,6 +717,20 @@ func (m *GetControllerConfigRequest) String() string            { return proto.C
 func (*GetControllerConfigRequest) ProtoMessage()               {}
 func (*GetControllerConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *GetControllerConfigRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
+func (m *GetControllerConfigRequest) GetValidationToken() uint64 {
+	if m != nil {
+		return m.ValidationToken
+	}
+	return 0
+}
+
 // Stores the information that the controller will fetch from the
 // server in order to run. Should only be used by VMs created by the
 // Pipelines Service and not by end users.
@@ -617,6 +750,34 @@ func (m *ControllerConfig) String() string            { return proto.CompactText
 func (*ControllerConfig) ProtoMessage()               {}
 func (*ControllerConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *ControllerConfig) GetImage() string {
+	if m != nil {
+		return m.Image
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetCmd() string {
+	if m != nil {
+		return m.Cmd
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetGcsLogPath() string {
+	if m != nil {
+		return m.GcsLogPath
+	}
+	return ""
+}
+
+func (m *ControllerConfig) GetMachineType() string {
+	if m != nil {
+		return m.MachineType
+	}
+	return ""
+}
+
 func (m *ControllerConfig) GetVars() map[string]string {
 	if m != nil {
 		return m.Vars
@@ -656,6 +817,13 @@ func (*ControllerConfig_RepeatedString) Descriptor() ([]byte, []int) {
 	return fileDescriptor0, []int{11, 0}
 }
 
+func (m *ControllerConfig_RepeatedString) GetValues() []string {
+	if m != nil {
+		return m.Values
+	}
+	return nil
+}
+
 // Stores the list of events and times they occured for major events in job
 // execution.
 type TimestampEvent struct {
@@ -670,6 +838,13 @@ func (m *TimestampEvent) String() string            { return proto.CompactTextSt
 func (*TimestampEvent) ProtoMessage()               {}
 func (*TimestampEvent) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *TimestampEvent) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *TimestampEvent) GetTimestamp() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.Timestamp
@@ -692,6 +867,13 @@ func (m *SetOperationStatusRequest) String() string            { return proto.Co
 func (*SetOperationStatusRequest) ProtoMessage()               {}
 func (*SetOperationStatusRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SetOperationStatusRequest) GetOperationId() string {
+	if m != nil {
+		return m.OperationId
+	}
+	return ""
+}
+
 func (m *SetOperationStatusRequest) GetTimestampEvents() []*TimestampEvent {
 	if m != nil {
 		return m.TimestampEvents
@@ -699,6 +881,27 @@ func (m *SetOperationStatusRequest) GetTimestampEvents() []*TimestampEvent {
 	return nil
 }
 
+func (m *SetOperationStatusRequest) GetErrorCode() google_rpc1.Code {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return google_rpc1.Code_OK
+}
+
+func (m *SetOperationStatusRequest) GetErrorMessage() string {
+	if m != nil {
+		return m.ErrorMessage
+	}
+	return ""
+}
+
+func (m *SetOperationStatusRequest) GetValidationToken() uint64 {
+	if m != nil {
+		return m.ValidationToken
+	}
+	return 0
+}
+
 // A Google Cloud Service Account.
 type ServiceAccount struct {
 	// Email address of the service account. Defaults to `default`,
@@ -718,6 +921,20 @@ func (m *ServiceAccount) String() string            { return proto.CompactTextSt
 func (*ServiceAccount) ProtoMessage()               {}
 func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ServiceAccount) GetEmail() string {
+	if m != nil {
+		return m.Email
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetScopes() []string {
+	if m != nil {
+		return m.Scopes
+	}
+	return nil
+}
+
 // The logging options for the pipeline run.
 type LoggingOptions struct {
 	// The location in Google Cloud Storage to which the pipeline logs
@@ -736,6 +953,13 @@ func (m *LoggingOptions) String() string            { return proto.CompactTextSt
 func (*LoggingOptions) ProtoMessage()               {}
 func (*LoggingOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *LoggingOptions) GetGcsPath() string {
+	if m != nil {
+		return m.GcsPath
+	}
+	return ""
+}
+
 // The system resources for the pipeline run.
 type PipelineResources struct {
 	// The minimum number of cores to use. Defaults to 1.
@@ -761,6 +985,27 @@ func (m *PipelineResources) String() string            { return proto.CompactTex
 func (*PipelineResources) ProtoMessage()               {}
 func (*PipelineResources) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *PipelineResources) GetMinimumCpuCores() int32 {
+	if m != nil {
+		return m.MinimumCpuCores
+	}
+	return 0
+}
+
+func (m *PipelineResources) GetPreemptible() bool {
+	if m != nil {
+		return m.Preemptible
+	}
+	return false
+}
+
+func (m *PipelineResources) GetMinimumRamGb() float64 {
+	if m != nil {
+		return m.MinimumRamGb
+	}
+	return 0
+}
+
 func (m *PipelineResources) GetDisks() []*PipelineResources_Disk {
 	if m != nil {
 		return m.Disks
@@ -768,6 +1013,20 @@ func (m *PipelineResources) GetDisks() []*PipelineResources_Disk {
 	return nil
 }
 
+func (m *PipelineResources) GetZones() []string {
+	if m != nil {
+		return m.Zones
+	}
+	return nil
+}
+
+func (m *PipelineResources) GetBootDiskSizeGb() int32 {
+	if m != nil {
+		return m.BootDiskSizeGb
+	}
+	return 0
+}
+
 // A Google Compute Engine disk resource specification.
 type PipelineResources_Disk struct {
 	// Required. The name of the disk that can be used in the pipeline
@@ -811,6 +1070,55 @@ func (m *PipelineResources_Disk) String() string            { return proto.Compa
 func (*PipelineResources_Disk) ProtoMessage()               {}
 func (*PipelineResources_Disk) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16, 0} }
 
+func (m *PipelineResources_Disk) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *PipelineResources_Disk) GetType() PipelineResources_Disk_Type {
+	if m != nil {
+		return m.Type
+	}
+	return PipelineResources_Disk_TYPE_UNSPECIFIED
+}
+
+func (m *PipelineResources_Disk) GetSizeGb() int32 {
+	if m != nil {
+		return m.SizeGb
+	}
+	return 0
+}
+
+func (m *PipelineResources_Disk) GetSource() string {
+	if m != nil {
+		return m.Source
+	}
+	return ""
+}
+
+func (m *PipelineResources_Disk) GetAutoDelete() bool {
+	if m != nil {
+		return m.AutoDelete
+	}
+	return false
+}
+
+func (m *PipelineResources_Disk) GetReadOnly() bool {
+	if m != nil {
+		return m.ReadOnly
+	}
+	return false
+}
+
+func (m *PipelineResources_Disk) GetMountPoint() string {
+	if m != nil {
+		return m.MountPoint
+	}
+	return ""
+}
+
 // Parameters facilitate setting and delivering data into the
 // pipeline's execution environment. They are defined at create time,
 // with optional defaults, and can be overridden at run time.
@@ -924,6 +1232,27 @@ func (m *PipelineParameter) String() string            { return proto.CompactTex
 func (*PipelineParameter) ProtoMessage()               {}
 func (*PipelineParameter) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *PipelineParameter) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *PipelineParameter) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *PipelineParameter) GetDefaultValue() string {
+	if m != nil {
+		return m.DefaultValue
+	}
+	return ""
+}
+
 func (m *PipelineParameter) GetLocalCopy() *PipelineParameter_LocalCopy {
 	if m != nil {
 		return m.LocalCopy
@@ -949,6 +1278,20 @@ func (m *PipelineParameter_LocalCopy) String() string            { return proto.
 func (*PipelineParameter_LocalCopy) ProtoMessage()               {}
 func (*PipelineParameter_LocalCopy) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17, 0} }
 
+func (m *PipelineParameter_LocalCopy) GetPath() string {
+	if m != nil {
+		return m.Path
+	}
+	return ""
+}
+
+func (m *PipelineParameter_LocalCopy) GetDisk() string {
+	if m != nil {
+		return m.Disk
+	}
+	return ""
+}
+
 // The Docker execuctor specification.
 type DockerExecutor struct {
 	// Required. Image name from either Docker Hub or Google Container Repository.
@@ -965,6 +1308,20 @@ func (m *DockerExecutor) String() string            { return proto.CompactTextSt
 func (*DockerExecutor) ProtoMessage()               {}
 func (*DockerExecutor) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *DockerExecutor) GetImageName() string {
+	if m != nil {
+		return m.ImageName
+	}
+	return ""
+}
+
+func (m *DockerExecutor) GetCmd() string {
+	if m != nil {
+		return m.Cmd
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*ComputeEngine)(nil), "google.genomics.v1alpha2.ComputeEngine")
 	proto.RegisterType((*RuntimeMetadata)(nil), "google.genomics.v1alpha2.RuntimeMetadata")
@@ -1314,142 +1671,139 @@ var _PipelinesV1Alpha2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto",
+	Metadata: "google/genomics/v1alpha2/pipelines.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/genomics/v1alpha2/pipelines.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/genomics/v1alpha2/pipelines.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 2057 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x23, 0x49,
-	0x15, 0x9f, 0x76, 0x9c, 0xc4, 0xfd, 0x9c, 0x38, 0x9e, 0xda, 0x99, 0x5d, 0x8f, 0x77, 0x57, 0x93,
-	0xe9, 0x81, 0xdd, 0x24, 0x83, 0x6c, 0x26, 0xb3, 0x03, 0x99, 0x20, 0xad, 0x48, 0x1c, 0x4f, 0x62,
-	0x91, 0x49, 0x4c, 0x3b, 0x1b, 0x40, 0x1c, 0x5a, 0x95, 0x76, 0xa5, 0xd3, 0x9b, 0xee, 0xae, 0xa6,
-	0xab, 0x3a, 0x1a, 0x0f, 0x02, 0x09, 0xc4, 0x01, 0xad, 0xe0, 0x02, 0xfb, 0x21, 0x90, 0xf8, 0x26,
-	0x48, 0x9c, 0x38, 0x71, 0xe0, 0xc6, 0x81, 0x8f, 0x00, 0x37, 0x54, 0x55, 0xdd, 0xed, 0x76, 0xec,
-	0x24, 0xb6, 0x84, 0xb8, 0x58, 0x55, 0xaf, 0xeb, 0xfd, 0xea, 0x57, 0xaf, 0x5e, 0xbd, 0x3f, 0x86,
-	0x7d, 0x87, 0x52, 0xc7, 0x23, 0x0d, 0x87, 0x7a, 0x38, 0x70, 0x1a, 0x34, 0x72, 0x9a, 0x0e, 0x09,
-	0xc2, 0x88, 0x72, 0xda, 0x54, 0x9f, 0x70, 0xe8, 0x32, 0x21, 0xa3, 0xbe, 0x6b, 0xb3, 0xe6, 0xd5,
-	0x73, 0xec, 0x85, 0x17, 0x78, 0xb3, 0x19, 0xba, 0x21, 0xf1, 0xdc, 0x80, 0xb0, 0x86, 0x5c, 0x8c,
-	0x6a, 0x29, 0x50, 0xb2, 0xb2, 0x91, 0xae, 0xac, 0x77, 0xa6, 0xdb, 0x02, 0x87, 0x6e, 0x93, 0x91,
-	0xe8, 0xca, 0xb5, 0x89, 0x4d, 0x83, 0x73, 0xd7, 0x69, 0xe2, 0x20, 0xa0, 0x1c, 0x73, 0x97, 0x06,
-	0xc9, 0x26, 0xf5, 0xdd, 0xe9, 0xa0, 0x3c, 0x1a, 0x38, 0x51, 0x1c, 0x04, 0x6e, 0xe0, 0x34, 0x69,
-	0x48, 0xa2, 0x11, 0x8c, 0x57, 0x8e, 0xcb, 0x2f, 0xe2, 0xb3, 0x86, 0x4d, 0xfd, 0xa6, 0xc2, 0x69,
-	0xca, 0x0f, 0x67, 0xf1, 0x79, 0x33, 0xe4, 0x83, 0x90, 0xb0, 0x66, 0x3f, 0x56, 0x2a, 0xd9, 0x20,
-	0x51, 0x7d, 0x71, 0xb7, 0x2a, 0xf1, 0x43, 0x3e, 0x50, 0xbf, 0x89, 0xd2, 0xf7, 0xee, 0x56, 0xe2,
-	0xae, 0x4f, 0x18, 0xc7, 0x7e, 0x38, 0x1c, 0x65, 0x64, 0xa7, 0x3a, 0x70, 0x14, 0xda, 0x4d, 0x9b,
-	0xf6, 0x89, 0xfc, 0x51, 0xaa, 0xc6, 0x57, 0x1a, 0x2c, 0xb7, 0xa8, 0x1f, 0xc6, 0x9c, 0xb4, 0x03,
-	0xc7, 0x0d, 0x08, 0x7a, 0x0a, 0xcb, 0x6e, 0xc0, 0x38, 0x0e, 0x6c, 0x62, 0x05, 0xd8, 0x27, 0x35,
-	0x6d, 0x55, 0x5b, 0xd3, 0xcd, 0xa5, 0x54, 0x78, 0x84, 0x7d, 0x82, 0x10, 0x14, 0xdf, 0xd1, 0x80,
-	0xd4, 0x0a, 0xf2, 0x9b, 0x1c, 0xa3, 0x27, 0xb0, 0xe4, 0x63, 0xfb, 0xc2, 0x0d, 0x88, 0x25, 0x08,
-	0xd7, 0xe6, 0xe4, 0xb7, 0x72, 0x22, 0x3b, 0x19, 0x84, 0x04, 0x7d, 0x0c, 0xd0, 0x77, 0xd9, 0xa5,
-	0xc4, 0x65, 0xb5, 0xe2, 0xea, 0xdc, 0x9a, 0x6e, 0xea, 0x42, 0x22, 0x40, 0x99, 0x81, 0x61, 0xc5,
-	0x8c, 0x03, 0x71, 0xba, 0x37, 0x84, 0xe3, 0x3e, 0xe6, 0x18, 0x1d, 0x41, 0xc5, 0x56, 0xf4, 0x2c,
-	0x22, 0xf9, 0x49, 0x3a, 0xe5, 0xcd, 0x4f, 0x1b, 0x37, 0x79, 0x52, 0x63, 0xe4, 0x38, 0xe6, 0xb2,
-	0x9d, 0x9f, 0x1a, 0x7f, 0x9d, 0x83, 0x52, 0x37, 0x71, 0x4a, 0x41, 0x27, 0x8c, 0xe8, 0x97, 0xc4,
-	0xe6, 0x96, 0xdb, 0x4f, 0xce, 0xa9, 0x27, 0x92, 0x4e, 0x5f, 0x1c, 0x52, 0x1a, 0x20, 0x39, 0xa4,
-	0x18, 0xa3, 0x55, 0x28, 0xf7, 0x09, 0xb3, 0x23, 0x37, 0x14, 0x37, 0x9e, 0x9e, 0x31, 0x27, 0x42,
-	0xa7, 0x50, 0x75, 0x83, 0x30, 0xe6, 0x56, 0x88, 0x23, 0xec, 0x13, 0x4e, 0x22, 0x56, 0x2b, 0xad,
-	0xce, 0xad, 0x95, 0x37, 0x9f, 0xdd, 0xcc, 0x39, 0xa5, 0xd4, 0x4d, 0x75, 0xcc, 0x15, 0x09, 0x92,
-	0xcd, 0x19, 0xfa, 0x31, 0xdc, 0xa7, 0x31, 0xbf, 0x06, 0xac, 0xcf, 0x0e, 0x5c, 0x55, 0x28, 0x39,
-	0xe4, 0x5d, 0x58, 0xe8, 0x53, 0xfb, 0x92, 0x44, 0xb5, 0x79, 0x69, 0xdb, 0xb5, 0x9b, 0xe1, 0xf6,
-	0xe4, 0xba, 0xf6, 0x5b, 0x62, 0xc7, 0x9c, 0x46, 0x07, 0xf7, 0xcc, 0x44, 0x13, 0x75, 0x40, 0x8f,
-	0x08, 0xa3, 0x71, 0x64, 0x13, 0x56, 0x5b, 0x90, 0x30, 0x53, 0xb0, 0x32, 0x53, 0x15, 0x73, 0xa8,
-	0x8d, 0x1e, 0x43, 0x39, 0x0d, 0x1b, 0xe2, 0x5a, 0x16, 0xa5, 0x89, 0x21, 0x15, 0x75, 0xfa, 0xbb,
-	0x00, 0x25, 0x92, 0x30, 0x30, 0x7e, 0x04, 0x0f, 0x5b, 0x11, 0xc1, 0x9c, 0x0c, 0x21, 0x7f, 0x16,
-	0x13, 0xc6, 0xd1, 0xe7, 0x50, 0x4a, 0x55, 0x12, 0x97, 0x31, 0xa6, 0xe0, 0x93, 0xe9, 0x18, 0x7f,
-	0x9e, 0x97, 0xce, 0x98, 0x7e, 0xd9, 0x89, 0x1c, 0x76, 0x97, 0xbf, 0xbc, 0x81, 0x05, 0x79, 0x69,
-	0xac, 0x56, 0x90, 0xd7, 0xf2, 0xf2, 0xe6, 0x0d, 0xaf, 0x21, 0x37, 0x3a, 0x52, 0xaf, 0x1d, 0xf0,
-	0x68, 0x60, 0x26, 0x20, 0xa8, 0x0b, 0x8b, 0xea, 0xaa, 0x58, 0x6d, 0x4e, 0xe2, 0x7d, 0x67, 0x7a,
-	0xbc, 0x63, 0xa5, 0xa8, 0x00, 0x53, 0x18, 0xf4, 0x43, 0x58, 0x49, 0x62, 0xa7, 0x85, 0x6d, 0x9b,
-	0xc6, 0x01, 0xaf, 0x15, 0xef, 0xba, 0xf1, 0x9e, 0x52, 0xd8, 0x51, 0xeb, 0xcd, 0x0a, 0x1b, 0x99,
-	0xa3, 0x0f, 0x41, 0xb7, 0x3d, 0x97, 0x04, 0xd2, 0x22, 0xf3, 0xd2, 0x22, 0x25, 0x25, 0xe8, 0xf4,
-	0xff, 0x97, 0x4e, 0xb1, 0x0b, 0x8b, 0x1e, 0x75, 0x1c, 0x37, 0x70, 0xa4, 0x43, 0xdc, 0x4a, 0xf9,
-	0x50, 0x2d, 0x3c, 0x96, 0xef, 0x91, 0x99, 0xa9, 0x22, 0x3a, 0x83, 0x27, 0x97, 0x84, 0x84, 0xd6,
-	0x95, 0x6f, 0x61, 0xcf, 0xbd, 0x22, 0x16, 0x0d, 0xac, 0x73, 0xec, 0x7a, 0x71, 0x44, 0xac, 0x34,
-	0x86, 0xd7, 0x4a, 0x12, 0xfd, 0x51, 0x8a, 0x9e, 0x06, 0xe1, 0xc6, 0x5e, 0xb2, 0xc0, 0xfc, 0x48,
-	0x60, 0x9c, 0xfa, 0x3b, 0x02, 0xe1, 0x38, 0x78, 0xad, 0xf4, 0xd3, 0xaf, 0xf5, 0x57, 0x50, 0xce,
-	0xdd, 0x25, 0xaa, 0xc2, 0xdc, 0x25, 0x19, 0x24, 0xae, 0x22, 0x86, 0xe8, 0x01, 0xcc, 0x5f, 0x61,
-	0x2f, 0x4e, 0xa3, 0x8a, 0x9a, 0x6c, 0x17, 0xb6, 0xb4, 0xfa, 0x36, 0x2c, 0xe5, 0xaf, 0x6d, 0x16,
-	0x5d, 0xe3, 0x5f, 0x1a, 0xa0, 0x9c, 0x0f, 0xa4, 0x8f, 0xe0, 0xc9, 0xe8, 0x53, 0x92, 0x50, 0x07,
-	0xf7, 0xf2, 0x8f, 0x09, 0xf5, 0x00, 0x91, 0xf0, 0x82, 0xf8, 0x24, 0xc2, 0x9e, 0x95, 0xbd, 0x98,
-	0xc2, 0xb4, 0x2f, 0xe6, 0xe0, 0x9e, 0x79, 0x3f, 0xd3, 0xcf, 0x02, 0xeb, 0x11, 0x2c, 0x67, 0xfb,
-	0xe2, 0xc8, 0x61, 0x32, 0x4e, 0x96, 0x37, 0xd7, 0xa7, 0x76, 0x60, 0x73, 0x29, 0xcc, 0xcd, 0xc4,
-	0x8b, 0xcf, 0x1e, 0xe6, 0x4b, 0x40, 0xfb, 0x84, 0x5f, 0x3f, 0xe9, 0xe3, 0x09, 0x27, 0xcd, 0x9f,
-	0xd3, 0xf8, 0x83, 0x06, 0x0f, 0x0e, 0x5d, 0x96, 0x29, 0xb2, 0x54, 0xf3, 0x8e, 0x47, 0xfd, 0x18,
-	0xca, 0x22, 0xf0, 0x5b, 0x61, 0x44, 0xce, 0xdd, 0xb7, 0x89, 0xe5, 0x41, 0x88, 0xba, 0x52, 0x22,
-	0x5e, 0x40, 0x88, 0x1d, 0x62, 0x31, 0xf7, 0x9d, 0xca, 0x79, 0xf3, 0x66, 0x49, 0x08, 0x7a, 0xee,
-	0x3b, 0x95, 0x61, 0xc4, 0x47, 0x4e, 0x2f, 0x49, 0x20, 0x1f, 0x9b, 0x00, 0xc7, 0x0e, 0x39, 0x11,
-	0x02, 0xe3, 0x57, 0x1a, 0x3c, 0xbc, 0x46, 0x8a, 0x85, 0x34, 0x60, 0x04, 0x7d, 0x1f, 0xf4, 0xac,
-	0x76, 0xaa, 0x69, 0xf2, 0xf9, 0x4f, 0x13, 0xbf, 0x86, 0x4a, 0xe8, 0x13, 0x58, 0x09, 0xc8, 0x5b,
-	0x91, 0x2d, 0xb2, 0xfd, 0x15, 0xf9, 0x65, 0x21, 0xee, 0x66, 0x1c, 0xb6, 0xe0, 0xe1, 0x1e, 0xf1,
-	0xc8, 0x78, 0x04, 0xbd, 0xd3, 0xa4, 0x5f, 0x42, 0x7d, 0x9f, 0xf0, 0x16, 0x0d, 0x78, 0x44, 0x3d,
-	0x8f, 0x44, 0x2d, 0x59, 0x90, 0x0d, 0x7d, 0x6f, 0x29, 0xab, 0xaa, 0x86, 0xfa, 0xe5, 0x4c, 0xd6,
-	0xe9, 0xa3, 0x75, 0xa8, 0x5e, 0x61, 0xcf, 0xed, 0xab, 0x35, 0x43, 0x8e, 0x45, 0x73, 0x65, 0x28,
-	0x57, 0x2c, 0xff, 0xbe, 0x00, 0xd5, 0xeb, 0x3b, 0x89, 0xf7, 0xe0, 0xfa, 0xd8, 0x49, 0x4b, 0x14,
-	0x35, 0x11, 0xef, 0xc6, 0xf6, 0xfb, 0xc9, 0x61, 0xc5, 0x10, 0xad, 0xc2, 0x92, 0x63, 0x33, 0xcb,
-	0xa3, 0x8e, 0x15, 0x62, 0x7e, 0x91, 0x64, 0x6d, 0x70, 0x6c, 0x76, 0x48, 0x9d, 0x2e, 0xe6, 0x17,
-	0x63, 0xb5, 0x4b, 0x71, 0xbc, 0x76, 0x39, 0x80, 0xe2, 0x15, 0x8e, 0x58, 0x6d, 0x5e, 0x5e, 0xc6,
-	0x67, 0xb7, 0xd5, 0x1f, 0xa3, 0x34, 0x1b, 0xa7, 0x38, 0x4a, 0x22, 0xb1, 0x44, 0x40, 0x3f, 0x80,
-	0x79, 0x51, 0xf3, 0x88, 0x90, 0x78, 0x47, 0x9a, 0x18, 0x83, 0xda, 0x13, 0x7a, 0x0a, 0x4b, 0x61,
-	0xa0, 0x9f, 0x42, 0x59, 0x9c, 0x2d, 0x8d, 0xb2, 0x8b, 0x12, 0x72, 0x7b, 0x06, 0xc8, 0x7d, 0x9b,
-	0xf5, 0x94, 0xb2, 0xc2, 0x15, 0x66, 0x49, 0x04, 0xe8, 0x0b, 0xd0, 0x25, 0xb8, 0x1b, 0x5c, 0xa6,
-	0x45, 0xcc, 0xd6, 0x8c, 0xd0, 0x42, 0x55, 0x01, 0x97, 0x9c, 0x64, 0x5a, 0x5f, 0x83, 0x8a, 0x49,
-	0x42, 0x91, 0xb5, 0xfb, 0x3d, 0x1e, 0x89, 0xd0, 0xfc, 0x3e, 0x2c, 0xc8, 0x60, 0xa6, 0x7c, 0x5d,
-	0x37, 0x93, 0x59, 0xfd, 0xbb, 0xa0, 0x67, 0xd6, 0x9b, 0x29, 0x98, 0x6e, 0x01, 0x0c, 0x6d, 0x35,
-	0x93, 0xe6, 0x5b, 0x58, 0xb9, 0x66, 0x92, 0x09, 0xea, 0xc7, 0x79, 0xf5, 0xf2, 0xe6, 0xab, 0x19,
-	0x8c, 0x32, 0x7a, 0xf2, 0xfc, 0xce, 0x57, 0xb0, 0x3c, 0x62, 0xb1, 0xff, 0xd3, 0xbe, 0x86, 0x07,
-	0x95, 0x93, 0xb4, 0xa3, 0x68, 0x5f, 0x91, 0x80, 0x5f, 0xaf, 0x72, 0xb5, 0xf1, 0x2a, 0x77, 0x0b,
-	0xf4, 0xac, 0x0b, 0x49, 0xc8, 0xd4, 0xc7, 0x72, 0x66, 0x86, 0x6a, 0x0e, 0x17, 0x1b, 0x5f, 0x17,
-	0xe0, 0x51, 0x8f, 0xf0, 0xe3, 0x34, 0x0e, 0xf4, 0x38, 0xe6, 0x31, 0x9b, 0x21, 0x6a, 0xf4, 0xa0,
-	0x9a, 0xa1, 0x59, 0x44, 0xf0, 0x4d, 0x0b, 0xae, 0x5b, 0x6a, 0x82, 0xd1, 0x03, 0x9a, 0x2b, 0x7c,
-	0x64, 0xce, 0x50, 0x13, 0x80, 0x44, 0x11, 0x8d, 0x2c, 0xd1, 0x1b, 0xc9, 0x00, 0x51, 0xd9, 0xac,
-	0xa6, 0x70, 0x51, 0x68, 0x37, 0x5a, 0xb4, 0x4f, 0x4c, 0x5d, 0xae, 0x11, 0x43, 0xd1, 0x26, 0x29,
-	0x05, 0x9f, 0x30, 0x26, 0x62, 0x90, 0x0a, 0x19, 0x4b, 0x52, 0xf8, 0x46, 0xc9, 0x26, 0x06, 0xb8,
-	0xf9, 0xc9, 0x01, 0xee, 0x73, 0xa8, 0x8c, 0x96, 0x5a, 0xc2, 0x45, 0x89, 0x8f, 0x5d, 0x2f, 0x8d,
-	0x6e, 0x72, 0x22, 0x5e, 0x0a, 0xb3, 0x69, 0x48, 0xd4, 0x99, 0x75, 0x33, 0x99, 0x19, 0xcf, 0xa0,
-	0x32, 0x5a, 0xf7, 0xa0, 0x47, 0x20, 0x5e, 0x9c, 0x8a, 0x78, 0x0a, 0x62, 0xd1, 0xb1, 0x99, 0x08,
-	0x77, 0xc6, 0x3f, 0x8a, 0x70, 0x7f, 0xac, 0xdc, 0x42, 0x1b, 0x70, 0xdf, 0x77, 0x03, 0xd7, 0x8f,
-	0x7d, 0xcb, 0x0e, 0x63, 0xcb, 0xa6, 0x91, 0x7c, 0x8f, 0x22, 0xa3, 0xad, 0x24, 0x1f, 0x5a, 0x61,
-	0xdc, 0x12, 0x62, 0xe1, 0x21, 0x61, 0x44, 0x44, 0x07, 0xeb, 0x9e, 0x79, 0xca, 0x1d, 0x4b, 0x66,
-	0x5e, 0x84, 0xbe, 0x01, 0x95, 0x14, 0x2d, 0xc2, 0xbe, 0xe5, 0x9c, 0x49, 0xab, 0x6a, 0xe6, 0x52,
-	0x22, 0x35, 0xb1, 0xbf, 0x7f, 0x86, 0x5e, 0xa7, 0xb1, 0xb0, 0x28, 0x6f, 0xf0, 0xdb, 0x33, 0x94,
-	0x87, 0x32, 0x18, 0xa6, 0x61, 0xf0, 0x01, 0xcc, 0x8b, 0x26, 0x54, 0x85, 0x67, 0xdd, 0x54, 0x13,
-	0xb4, 0x0e, 0xf7, 0xcf, 0x28, 0xe5, 0x96, 0x6c, 0x3a, 0x45, 0x82, 0x16, 0x34, 0x16, 0xe4, 0x89,
-	0x2a, 0xe2, 0x83, 0x40, 0x10, 0x79, 0x7a, 0xff, 0xac, 0xfe, 0x97, 0x02, 0x14, 0xc5, 0x34, 0xeb,
-	0xfa, 0xb4, 0x5c, 0xd7, 0xd7, 0x81, 0xa2, 0x4c, 0x0b, 0x05, 0xe9, 0x17, 0x2f, 0x67, 0x25, 0xd9,
-	0x10, 0x09, 0xc4, 0x94, 0x10, 0xe8, 0x03, 0x58, 0x4c, 0x89, 0xa8, 0x62, 0x61, 0x81, 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, 0x38, 0x2e, 0x99, 0x25, 0x21, 0x38, 0x0e, 0xbc, 0x81, 0xd0, 0xf6, 0x85, 0x37, 0x59,
-	0x21, 0x75, 0x03, 0x2e, 0xab, 0x5b, 0xdd, 0x04, 0x29, 0xea, 0x0a, 0x89, 0xd1, 0x83, 0xa2, 0x4c,
-	0x6f, 0x0f, 0xa0, 0x7a, 0xf2, 0x93, 0x6e, 0xdb, 0xfa, 0xe2, 0xa8, 0xd7, 0x6d, 0xb7, 0x3a, 0xaf,
-	0x3b, 0xed, 0xbd, 0xea, 0x3d, 0x84, 0xa0, 0xd2, 0x6d, 0x9b, 0xbd, 0x4e, 0xef, 0xa4, 0x7d, 0x74,
-	0x62, 0x1d, 0xec, 0xed, 0x55, 0xb5, 0x6b, 0xb2, 0x5e, 0x6f, 0xaf, 0x5a, 0x40, 0xcb, 0xa0, 0x1f,
-	0x1e, 0xb7, 0x76, 0x0e, 0xe5, 0x74, 0xce, 0xf8, 0x8f, 0x36, 0xf4, 0xaf, 0xac, 0xd1, 0x9c, 0x68,
-	0xd9, 0x6b, 0x91, 0xa6, 0x30, 0x1e, 0x69, 0x9e, 0xc2, 0x72, 0x9f, 0x9c, 0xe3, 0xd8, 0xe3, 0x96,
-	0x0a, 0x7d, 0xaa, 0xcb, 0x58, 0x4a, 0x84, 0xa7, 0x42, 0x86, 0x4e, 0x00, 0x3c, 0x6a, 0x63, 0xcf,
-	0xb2, 0x69, 0x38, 0x48, 0x5a, 0x8d, 0x97, 0x33, 0x74, 0xc5, 0x8d, 0x43, 0xa1, 0xdd, 0xa2, 0xe1,
-	0xc0, 0xd4, 0xbd, 0x74, 0x58, 0x7f, 0x01, 0x7a, 0x26, 0x17, 0xec, 0x73, 0x4f, 0x49, 0x8e, 0x85,
-	0x4c, 0xb8, 0x56, 0xfa, 0x0f, 0x81, 0x18, 0x1b, 0x3b, 0x50, 0x19, 0xed, 0x92, 0x45, 0x11, 0x28,
-	0x2b, 0x93, 0xfc, 0xdf, 0x29, 0xba, 0x94, 0xc8, 0xff, 0x52, 0xc6, 0xea, 0x95, 0xcd, 0xdf, 0x96,
-	0x86, 0xe6, 0x63, 0xa7, 0xcf, 0x77, 0x24, 0x69, 0xf4, 0x3b, 0x0d, 0x2a, 0xa3, 0xbd, 0x2e, 0x6a,
-	0xde, 0x12, 0xff, 0x27, 0x75, 0xc5, 0xf5, 0x29, 0x6a, 0x48, 0xe3, 0x9b, 0xbf, 0xfe, 0xdb, 0x3f,
-	0xff, 0x58, 0x78, 0x6c, 0xbc, 0x37, 0xe1, 0x6f, 0xbc, 0xed, 0xac, 0x0e, 0x47, 0xbf, 0x84, 0x72,
-	0xae, 0x68, 0x47, 0xdf, 0x9a, 0xaa, 0xb6, 0x4f, 0x79, 0x7c, 0x9c, 0xae, 0xce, 0xfd, 0x09, 0xd7,
-	0xc8, 0x52, 0x82, 0x61, 0x48, 0x0a, 0x1f, 0x19, 0x1f, 0x4c, 0xa2, 0x10, 0xc5, 0xc1, 0xb6, 0xb6,
-	0x81, 0xbe, 0xd2, 0xa0, 0x9c, 0x6b, 0x04, 0x6e, 0x23, 0x30, 0xde, 0x2f, 0x4c, 0x65, 0x88, 0x75,
-	0xc9, 0xe2, 0x29, 0x7a, 0x32, 0x81, 0x45, 0xf3, 0xe7, 0xb9, 0xda, 0xf8, 0x17, 0xe8, 0xf7, 0x1a,
-	0x2c, 0x8f, 0x14, 0xf2, 0xa8, 0x71, 0x4b, 0x7f, 0x3a, 0xa1, 0x0d, 0xa9, 0x37, 0xa7, 0x5e, 0xaf,
-	0x3a, 0x04, 0xe3, 0x43, 0xc9, 0xee, 0x21, 0x9a, 0x74, 0x4d, 0xe8, 0x37, 0x1a, 0x54, 0x46, 0xab,
-	0xfa, 0xdb, 0x7c, 0x65, 0x62, 0xfd, 0x5f, 0x7f, 0x7f, 0x2c, 0x9f, 0xb7, 0xfd, 0x90, 0x0f, 0x52,
-	0xb3, 0x6c, 0x4c, 0x61, 0x96, 0x3f, 0x69, 0xf0, 0xde, 0x84, 0x16, 0x01, 0x7d, 0x76, 0xeb, 0x5d,
-	0xdd, 0xd0, 0x51, 0xd4, 0x37, 0xa6, 0xaf, 0x76, 0x8c, 0xa6, 0x24, 0xb9, 0x8e, 0x3e, 0x9d, 0xe4,
-	0x41, 0xce, 0x04, 0x4a, 0x5f, 0x6b, 0x80, 0xc6, 0xcb, 0x12, 0xf4, 0xe2, 0xb6, 0x7f, 0x46, 0x6e,
-	0x28, 0x62, 0x6e, 0xb4, 0xdc, 0x73, 0x49, 0xea, 0x59, 0xfd, 0x93, 0x49, 0xa4, 0xd8, 0x18, 0xdc,
-	0xb6, 0xb6, 0xb1, 0xdb, 0x80, 0x0f, 0x6c, 0xea, 0x4f, 0x22, 0xb1, 0x5b, 0xc9, 0x7c, 0xa2, 0x2b,
-	0xb6, 0xe9, 0x6a, 0xff, 0xd6, 0xb4, 0xb3, 0x05, 0xb9, 0xe5, 0x8b, 0xff, 0x06, 0x00, 0x00, 0xff,
-	0xff, 0x0b, 0x4c, 0xf5, 0x4a, 0xb2, 0x17, 0x00, 0x00,
+	// 2039 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0xdb, 0xc8,
+	0x15, 0x0f, 0x65, 0xd9, 0x16, 0x9f, 0x6c, 0x59, 0x99, 0x4d, 0x36, 0x8a, 0x92, 0x6d, 0x1c, 0xa6,
+	0xdd, 0xb5, 0x9d, 0x42, 0x6a, 0x9c, 0x4d, 0xeb, 0x75, 0x81, 0xc5, 0xda, 0xb2, 0x62, 0x0b, 0x75,
+	0x6c, 0x95, 0xf2, 0xba, 0xff, 0x0e, 0xc4, 0x98, 0x1a, 0xd3, 0x5c, 0x93, 0x1c, 0x96, 0x43, 0x1a,
+	0x51, 0x8a, 0x16, 0x68, 0xd1, 0x43, 0xb1, 0x68, 0x2f, 0xed, 0x7e, 0x88, 0x02, 0xfd, 0x26, 0x05,
+	0x7a, 0xea, 0xa9, 0x87, 0xde, 0x7a, 0xe8, 0x47, 0x68, 0x6f, 0xc5, 0xcc, 0x70, 0xa8, 0xbf, 0xb6,
+	0x25, 0xa0, 0xd8, 0xdb, 0xcc, 0x9b, 0x79, 0x3f, 0xfe, 0xe6, 0xcd, 0x7b, 0x6f, 0xde, 0x23, 0xac,
+	0x39, 0x94, 0x3a, 0x1e, 0xa9, 0x3b, 0x24, 0xa0, 0xbe, 0x6b, 0xb3, 0xfa, 0xd5, 0x0b, 0xec, 0x85,
+	0x17, 0x78, 0xb3, 0x1e, 0xba, 0x21, 0xf1, 0xdc, 0x80, 0xb0, 0x5a, 0x18, 0xd1, 0x98, 0xa2, 0x8a,
+	0xdc, 0x59, 0x53, 0x3b, 0x6b, 0x6a, 0x67, 0xf5, 0x71, 0x8a, 0x81, 0x43, 0xb7, 0x8e, 0x83, 0x80,
+	0xc6, 0x38, 0x76, 0x69, 0x90, 0xea, 0x55, 0x9f, 0xa5, 0xab, 0x1e, 0x0d, 0x9c, 0x28, 0x09, 0x02,
+	0x37, 0x70, 0xea, 0x34, 0x24, 0xd1, 0xd0, 0xa6, 0x6f, 0xa4, 0x9b, 0xc4, 0xec, 0x2c, 0x39, 0xaf,
+	0x77, 0x13, 0xb9, 0x21, 0x5d, 0x7f, 0x34, 0xba, 0x4e, 0xfc, 0x30, 0xee, 0xa5, 0x8b, 0x4f, 0x46,
+	0x17, 0x63, 0xd7, 0x27, 0x2c, 0xc6, 0x7e, 0x98, 0x6e, 0xb8, 0x9f, 0x6e, 0x88, 0x42, 0xbb, 0x6e,
+	0xd3, 0x2e, 0x91, 0x62, 0xe3, 0x4b, 0x0d, 0x96, 0x1b, 0xd4, 0x0f, 0x93, 0x98, 0x34, 0x03, 0xc7,
+	0x0d, 0x08, 0x7a, 0x06, 0xcb, 0x6e, 0xc0, 0x62, 0x1c, 0xd8, 0xc4, 0x0a, 0xb0, 0x4f, 0x2a, 0xda,
+	0xaa, 0xb6, 0xa6, 0x9b, 0x4b, 0x4a, 0x78, 0x84, 0x7d, 0x82, 0x10, 0xe4, 0xdf, 0xd1, 0x80, 0x54,
+	0x72, 0x62, 0x4d, 0x8c, 0xd1, 0x53, 0x58, 0xf2, 0xb1, 0x7d, 0xe1, 0x06, 0xc4, 0x8a, 0x7b, 0x21,
+	0xa9, 0xcc, 0x89, 0xb5, 0x62, 0x2a, 0x3b, 0xe9, 0x85, 0x04, 0x7d, 0x00, 0xd0, 0x75, 0xd9, 0xa5,
+	0xc0, 0x65, 0x95, 0xfc, 0xea, 0xdc, 0x9a, 0x6e, 0xea, 0x5c, 0xc2, 0x41, 0x99, 0x81, 0x61, 0xc5,
+	0x4c, 0x02, 0xce, 0xfc, 0x0d, 0x89, 0x71, 0x17, 0xc7, 0x18, 0x1d, 0x41, 0xc9, 0x96, 0xf4, 0x2c,
+	0x22, 0xf8, 0x09, 0x3a, 0xc5, 0xcd, 0x8f, 0x6a, 0xd7, 0x5d, 0x45, 0x6d, 0xe8, 0x38, 0xe6, 0xb2,
+	0x3d, 0x38, 0x35, 0xfe, 0x36, 0x07, 0x85, 0x76, 0x7a, 0xab, 0x9c, 0x4e, 0x18, 0xd1, 0x2f, 0x88,
+	0x1d, 0x5b, 0x6e, 0x37, 0x3d, 0xa7, 0x9e, 0x4a, 0x5a, 0x5d, 0x7e, 0x48, 0x61, 0x80, 0xf4, 0x90,
+	0x7c, 0x8c, 0x56, 0xa1, 0xd8, 0x25, 0xcc, 0x8e, 0xdc, 0x90, 0xdf, 0x8c, 0x3a, 0xe3, 0x80, 0x08,
+	0x9d, 0x42, 0xd9, 0x0d, 0xc2, 0x24, 0xb6, 0x42, 0x1c, 0x61, 0x9f, 0xc4, 0x24, 0x62, 0x95, 0xc2,
+	0xea, 0xdc, 0x5a, 0x71, 0xf3, 0xf9, 0xf5, 0x9c, 0x15, 0xa5, 0xb6, 0xd2, 0x31, 0x57, 0x04, 0x48,
+	0x36, 0x67, 0xe8, 0xc7, 0x70, 0x97, 0x26, 0xf1, 0x08, 0xb0, 0x3e, 0x3b, 0x70, 0x59, 0xa2, 0x0c,
+	0x20, 0xef, 0xc2, 0x42, 0x97, 0xda, 0x97, 0x24, 0xaa, 0xcc, 0x0b, 0xdb, 0xae, 0x5d, 0x0f, 0xb7,
+	0x27, 0xf6, 0x35, 0xdf, 0x12, 0x3b, 0x89, 0x69, 0x74, 0x70, 0xc7, 0x4c, 0x35, 0x51, 0x0b, 0xf4,
+	0x88, 0x30, 0x9a, 0x44, 0x36, 0x61, 0x95, 0x05, 0x01, 0x33, 0x05, 0x2b, 0x53, 0xa9, 0x98, 0x7d,
+	0x6d, 0xf4, 0x04, 0x8a, 0x2a, 0xee, 0xf8, 0xb5, 0x2c, 0x0a, 0x13, 0x83, 0x12, 0xb5, 0xba, 0xbb,
+	0x00, 0x05, 0x92, 0x32, 0x30, 0x7e, 0x04, 0xf7, 0x1b, 0x11, 0xc1, 0x31, 0xe9, 0x43, 0xfe, 0x3c,
+	0x21, 0x2c, 0x46, 0x9f, 0x42, 0x41, 0xa9, 0xa4, 0x2e, 0x63, 0x4c, 0xc1, 0x27, 0xd3, 0x31, 0xfe,
+	0x32, 0x2f, 0x9c, 0x51, 0xad, 0xec, 0x44, 0x0e, 0xbb, 0xcd, 0x5f, 0xde, 0xc0, 0x82, 0xb8, 0x34,
+	0x56, 0xc9, 0x89, 0x6b, 0x79, 0x75, 0xfd, 0x07, 0x47, 0x90, 0x6b, 0x2d, 0xa1, 0xd7, 0x0c, 0xe2,
+	0xa8, 0x67, 0xa6, 0x20, 0xa8, 0x0d, 0x8b, 0xf2, 0xaa, 0x58, 0x65, 0x4e, 0xe0, 0x7d, 0x77, 0x7a,
+	0xbc, 0x63, 0xa9, 0x28, 0x01, 0x15, 0x0c, 0xfa, 0x21, 0xac, 0x30, 0x12, 0x5d, 0xb9, 0x36, 0xb1,
+	0xb0, 0x6d, 0xd3, 0x24, 0x88, 0x2b, 0xf9, 0xdb, 0x6e, 0xbc, 0x23, 0x15, 0x76, 0xe4, 0x7e, 0xb3,
+	0xc4, 0x86, 0xe6, 0xe8, 0x11, 0xe8, 0xb6, 0xe7, 0x92, 0x40, 0x58, 0x64, 0x5e, 0x58, 0xa4, 0x20,
+	0x05, 0xad, 0xee, 0xff, 0xd3, 0x29, 0x76, 0x61, 0xd1, 0xa3, 0x8e, 0xe3, 0x06, 0x8e, 0x70, 0x88,
+	0x1b, 0x29, 0x1f, 0xca, 0x8d, 0xc7, 0x22, 0x1e, 0x99, 0xa9, 0x14, 0xd1, 0x19, 0x3c, 0xbd, 0x24,
+	0x24, 0xb4, 0xae, 0x7c, 0x0b, 0x7b, 0xee, 0x15, 0xb1, 0x68, 0x60, 0x9d, 0x63, 0xd7, 0x4b, 0x22,
+	0x62, 0xa9, 0x5c, 0x5b, 0x29, 0x08, 0xf4, 0x87, 0x0a, 0x5d, 0xe5, 0xd3, 0xda, 0x5e, 0xba, 0xc1,
+	0x7c, 0xcc, 0x31, 0x4e, 0xfd, 0x1d, 0x8e, 0x70, 0x1c, 0xbc, 0x96, 0xfa, 0x6a, 0xb5, 0xfa, 0x09,
+	0x14, 0x07, 0xee, 0x12, 0x95, 0x61, 0xee, 0x92, 0xf4, 0x52, 0x57, 0xe1, 0x43, 0x74, 0x0f, 0xe6,
+	0xaf, 0xb0, 0x97, 0xa8, 0xac, 0x22, 0x27, 0xdb, 0xb9, 0x2d, 0xad, 0xba, 0x0d, 0x4b, 0x83, 0xd7,
+	0x36, 0x8b, 0xae, 0xf1, 0x6f, 0x0d, 0xd0, 0x80, 0x0f, 0xa8, 0x20, 0x78, 0x3a, 0x1c, 0x4a, 0x02,
+	0xea, 0xe0, 0xce, 0x60, 0x30, 0xa1, 0x0e, 0x20, 0x12, 0x5e, 0x10, 0x9f, 0x44, 0xd8, 0xb3, 0xb2,
+	0x88, 0xc9, 0x4d, 0x1b, 0x31, 0x07, 0x77, 0xcc, 0xbb, 0x99, 0x7e, 0x96, 0x58, 0x8f, 0x60, 0x39,
+	0xfb, 0x2e, 0x8e, 0x1c, 0x26, 0xf2, 0x64, 0x71, 0x73, 0x7d, 0x6a, 0x07, 0x36, 0x97, 0xc2, 0x81,
+	0x19, 0x8f, 0xf8, 0x2c, 0x30, 0x5f, 0x01, 0xda, 0x27, 0xf1, 0xe8, 0x49, 0x9f, 0x4c, 0x38, 0xe9,
+	0xe0, 0x39, 0x8d, 0x3f, 0x6a, 0x70, 0xef, 0xd0, 0x65, 0x99, 0x22, 0x53, 0x9a, 0xb7, 0x04, 0xf5,
+	0x13, 0x28, 0xf2, 0xc4, 0x6f, 0x85, 0x11, 0x39, 0x77, 0xdf, 0xa6, 0x96, 0x07, 0x2e, 0x6a, 0x0b,
+	0x09, 0x8f, 0x80, 0x10, 0x3b, 0xc4, 0x62, 0xee, 0x3b, 0xf9, 0xe6, 0xcd, 0x9b, 0x05, 0x2e, 0xe8,
+	0xb8, 0xef, 0xe4, 0x0b, 0xc3, 0x17, 0x63, 0x7a, 0x49, 0x02, 0x11, 0x6c, 0x1c, 0x1c, 0x3b, 0xe4,
+	0x84, 0x0b, 0x8c, 0x5f, 0x6b, 0x70, 0x7f, 0x84, 0x14, 0x0b, 0x69, 0xc0, 0x08, 0xfa, 0x0c, 0xf4,
+	0xac, 0xf8, 0xa8, 0x68, 0x22, 0xfc, 0xa7, 0xc9, 0x5f, 0x7d, 0x25, 0xf4, 0x21, 0xac, 0x04, 0xe4,
+	0x2d, 0x7f, 0x2d, 0xb2, 0xef, 0x4b, 0xf2, 0xcb, 0x5c, 0xdc, 0xce, 0x38, 0x6c, 0xc1, 0xfd, 0x3d,
+	0xe2, 0x91, 0xf1, 0x0c, 0x7a, 0xab, 0x49, 0xbf, 0x80, 0xea, 0x3e, 0x89, 0x1b, 0x34, 0x88, 0x23,
+	0xea, 0x79, 0x24, 0x6a, 0xd0, 0xe0, 0xdc, 0x75, 0xfa, 0xbe, 0xb7, 0x94, 0x95, 0x38, 0x7d, 0xfd,
+	0x62, 0x26, 0x6b, 0x75, 0xd1, 0x3a, 0x94, 0xaf, 0xb0, 0xe7, 0x76, 0xe5, 0x9e, 0x3e, 0xc7, 0xbc,
+	0xb9, 0xd2, 0x97, 0x4b, 0x96, 0xff, 0x58, 0x80, 0xf2, 0xe8, 0x97, 0x78, 0x3c, 0xb8, 0x3e, 0x76,
+	0x54, 0x89, 0x22, 0x27, 0x3c, 0x6e, 0x6c, 0xbf, 0x9b, 0x1e, 0x96, 0x0f, 0xd1, 0x2a, 0x2c, 0x39,
+	0x36, 0xb3, 0x3c, 0xea, 0x58, 0x21, 0x8e, 0x2f, 0xd2, 0x57, 0x1b, 0x1c, 0x9b, 0x1d, 0x52, 0xa7,
+	0x8d, 0xe3, 0x8b, 0xb1, 0xda, 0x25, 0x3f, 0x5e, 0xbb, 0x1c, 0x40, 0xfe, 0x0a, 0x47, 0xac, 0x32,
+	0x2f, 0x2e, 0xe3, 0xe3, 0x9b, 0xea, 0x8f, 0x61, 0x9a, 0xb5, 0x53, 0x1c, 0xa5, 0x99, 0x58, 0x20,
+	0xa0, 0x1f, 0xc0, 0x3c, 0xaf, 0x79, 0x78, 0x4a, 0xbc, 0xe5, 0x99, 0x18, 0x83, 0xda, 0xe3, 0x7a,
+	0x12, 0x4b, 0x62, 0xa0, 0x9f, 0x41, 0x91, 0x9f, 0x4d, 0x65, 0xd9, 0x45, 0x01, 0xb9, 0x3d, 0x03,
+	0xe4, 0xbe, 0xcd, 0x3a, 0x52, 0x59, 0xe2, 0x72, 0xb3, 0xa4, 0x02, 0xf4, 0x39, 0xe8, 0x02, 0xdc,
+	0x0d, 0x2e, 0x55, 0x11, 0xb3, 0x35, 0x23, 0x34, 0x57, 0x95, 0xc0, 0x05, 0x27, 0x9d, 0x56, 0xd7,
+	0xa0, 0x64, 0x92, 0x90, 0xbf, 0xda, 0xdd, 0x4e, 0x1c, 0xf1, 0xd4, 0xfc, 0x3e, 0x2c, 0x88, 0x64,
+	0x26, 0x7d, 0x5d, 0x37, 0xd3, 0x59, 0xf5, 0x7b, 0xa0, 0x67, 0xd6, 0x9b, 0x29, 0x99, 0x6e, 0x01,
+	0xf4, 0x6d, 0x35, 0x93, 0xe6, 0x5b, 0x58, 0x19, 0x31, 0xc9, 0x04, 0xf5, 0xe3, 0x41, 0xf5, 0xe2,
+	0xe6, 0x27, 0x33, 0x18, 0x65, 0xf8, 0xe4, 0x83, 0x5f, 0xbe, 0x82, 0xe5, 0x21, 0x8b, 0x7d, 0x4d,
+	0xdf, 0x35, 0x3c, 0x28, 0x9d, 0xa8, 0x6e, 0xa1, 0x79, 0x45, 0x82, 0x78, 0xb4, 0xca, 0xd5, 0xc6,
+	0xab, 0xdc, 0x2d, 0xd0, 0xb3, 0x0e, 0x23, 0x25, 0x53, 0x1d, 0x7b, 0x33, 0x33, 0x54, 0xb3, 0xbf,
+	0xd9, 0xf8, 0x2a, 0x07, 0x0f, 0x3b, 0x24, 0x3e, 0x56, 0x79, 0xa0, 0x13, 0xe3, 0x38, 0x61, 0x33,
+	0x64, 0x8d, 0x0e, 0x94, 0x33, 0x34, 0x8b, 0x70, 0xbe, 0xaa, 0xe0, 0xba, 0xa1, 0x26, 0x18, 0x3e,
+	0xa0, 0xb9, 0x12, 0x0f, 0xcd, 0x19, 0xaa, 0x03, 0x90, 0x28, 0xa2, 0x91, 0xc5, 0x7b, 0x23, 0x91,
+	0x20, 0x4a, 0x9b, 0x65, 0x05, 0x17, 0x85, 0x76, 0xad, 0x41, 0xbb, 0xc4, 0xd4, 0xc5, 0x1e, 0x3e,
+	0xe4, 0x6d, 0x92, 0x54, 0xf0, 0x09, 0x63, 0x3c, 0x07, 0xc9, 0x94, 0xb1, 0x24, 0x84, 0x6f, 0xa4,
+	0x6c, 0x62, 0x82, 0x9b, 0x9f, 0x9c, 0xe0, 0x3e, 0x85, 0xd2, 0x70, 0xa9, 0xc5, 0x5d, 0x94, 0xf8,
+	0xd8, 0xf5, 0x54, 0x76, 0x13, 0x13, 0x1e, 0x29, 0xcc, 0xa6, 0x21, 0x91, 0x67, 0xd6, 0xcd, 0x74,
+	0x66, 0x3c, 0x87, 0xd2, 0x70, 0xdd, 0x83, 0x1e, 0x02, 0x8f, 0x38, 0x99, 0xf1, 0x24, 0xc4, 0xa2,
+	0x63, 0x33, 0x9e, 0xee, 0x8c, 0x7f, 0xe6, 0xe1, 0xee, 0x58, 0xb9, 0x85, 0x36, 0xe0, 0xae, 0xef,
+	0x06, 0xae, 0x9f, 0xf8, 0x96, 0x1d, 0x26, 0x96, 0x4d, 0x23, 0x11, 0x8f, 0xfc, 0x45, 0x5b, 0x49,
+	0x17, 0x1a, 0x61, 0xd2, 0xe0, 0x62, 0xee, 0x21, 0x61, 0x44, 0x78, 0x07, 0xea, 0x9e, 0x79, 0xd2,
+	0x1d, 0x0b, 0xe6, 0xa0, 0x08, 0x7d, 0x13, 0x4a, 0x0a, 0x2d, 0xc2, 0xbe, 0xe5, 0x9c, 0x09, 0xab,
+	0x6a, 0xe6, 0x52, 0x2a, 0x35, 0xb1, 0xbf, 0x7f, 0x86, 0x5e, 0xab, 0x5c, 0x98, 0x17, 0x37, 0xf8,
+	0x9d, 0x19, 0xca, 0x43, 0x91, 0x0c, 0x55, 0x1a, 0xbc, 0x07, 0xf3, 0xbc, 0x09, 0x95, 0xe9, 0x59,
+	0x37, 0xe5, 0x04, 0xad, 0xc3, 0xdd, 0x33, 0x4a, 0x63, 0x4b, 0x34, 0x9d, 0xfc, 0x81, 0xe6, 0x34,
+	0x16, 0xc4, 0x89, 0x4a, 0x7c, 0x81, 0x23, 0xf0, 0x77, 0x7a, 0xff, 0xac, 0xfa, 0xd7, 0x1c, 0xe4,
+	0xf9, 0x34, 0xeb, 0xfa, 0xb4, 0x81, 0xae, 0xaf, 0x05, 0x79, 0xf1, 0x2c, 0xe4, 0x84, 0x5f, 0xbc,
+	0x9a, 0x95, 0x64, 0x8d, 0x3f, 0x20, 0xa6, 0x80, 0x40, 0x0f, 0x60, 0x51, 0x11, 0x91, 0xc5, 0xc2,
+	0x02, 0x13, 0x04, 0xc4, 0xc5, 0x0a, 0x9d, 0xd4, 0x93, 0xd2, 0x19, 0x7f, 0x86, 0x71, 0x12, 0x53,
+	0xab, 0x2b, 0x1e, 0x69, 0xc1, 0xbe, 0x60, 0x02, 0x17, 0xc9, 0x67, 0x9b, 0x17, 0x20, 0x11, 0xc1,
+	0x5d, 0x8b, 0x06, 0x5e, 0x4f, 0x14, 0xc7, 0x05, 0xb3, 0xc0, 0x05, 0xc7, 0x81, 0xd7, 0xe3, 0xda,
+	0x3e, 0xf7, 0x26, 0x2b, 0xa4, 0x6e, 0x10, 0x8b, 0xea, 0x56, 0x37, 0x41, 0x88, 0xda, 0x5c, 0x62,
+	0x74, 0x20, 0x2f, 0x9e, 0xb7, 0x7b, 0x50, 0x3e, 0xf9, 0x49, 0xbb, 0x69, 0x7d, 0x7e, 0xd4, 0x69,
+	0x37, 0x1b, 0xad, 0xd7, 0xad, 0xe6, 0x5e, 0xf9, 0x0e, 0x42, 0x50, 0x6a, 0x37, 0xcd, 0x4e, 0xab,
+	0x73, 0xd2, 0x3c, 0x3a, 0xb1, 0x0e, 0xf6, 0xf6, 0xca, 0xda, 0x88, 0xac, 0xd3, 0xd9, 0x2b, 0xe7,
+	0xd0, 0x32, 0xe8, 0x87, 0xc7, 0x8d, 0x9d, 0x43, 0x31, 0x9d, 0x33, 0xfe, 0xab, 0xf5, 0xfd, 0x2b,
+	0x6b, 0x34, 0x27, 0x5a, 0x76, 0x24, 0xd3, 0xe4, 0xc6, 0x33, 0xcd, 0x33, 0x58, 0xee, 0x92, 0x73,
+	0x9c, 0x78, 0xb1, 0x25, 0x53, 0x9f, 0xec, 0x32, 0x96, 0x52, 0xe1, 0x29, 0x97, 0xa1, 0x13, 0x00,
+	0x8f, 0xda, 0xd8, 0xb3, 0x6c, 0x1a, 0xf6, 0xd2, 0x56, 0xe3, 0xd5, 0x0c, 0x5d, 0x71, 0xed, 0x90,
+	0x6b, 0x37, 0x68, 0xd8, 0x33, 0x75, 0x4f, 0x0d, 0xab, 0x2f, 0x41, 0xcf, 0xe4, 0x9c, 0xfd, 0x40,
+	0x28, 0x89, 0x31, 0x97, 0x71, 0xd7, 0x52, 0x7f, 0x08, 0xf8, 0xd8, 0xd8, 0x81, 0xd2, 0x70, 0x97,
+	0xcc, 0x8b, 0x40, 0x51, 0x99, 0x0c, 0xfe, 0x4e, 0xd1, 0x85, 0x44, 0xfc, 0x4b, 0x19, 0xab, 0x57,
+	0x36, 0x7f, 0x57, 0xe8, 0x9b, 0x8f, 0x9d, 0xbe, 0xd8, 0x11, 0xa4, 0xd1, 0xef, 0x35, 0x28, 0x0d,
+	0xf7, 0xba, 0xa8, 0x7e, 0x43, 0xfe, 0x9f, 0xd4, 0x15, 0x57, 0xa7, 0xa8, 0x21, 0x8d, 0x6f, 0xfd,
+	0xe6, 0xef, 0xff, 0xfa, 0x53, 0xee, 0x89, 0xf1, 0xde, 0x84, 0xff, 0x60, 0xdb, 0x59, 0x1d, 0x8e,
+	0x7e, 0x05, 0xc5, 0x81, 0xa2, 0x1d, 0x7d, 0x7b, 0xaa, 0xda, 0x5e, 0xf1, 0xf8, 0x40, 0xed, 0x1e,
+	0xf8, 0x23, 0x56, 0xcb, 0x9e, 0x04, 0xc3, 0x10, 0x14, 0x1e, 0x1b, 0x0f, 0x26, 0x51, 0x88, 0x92,
+	0x60, 0x5b, 0xdb, 0x40, 0x5f, 0x6a, 0x50, 0x1c, 0x68, 0x04, 0x6e, 0x22, 0x30, 0xde, 0x2f, 0x4c,
+	0x65, 0x88, 0x75, 0xc1, 0xe2, 0x19, 0x7a, 0x3a, 0x81, 0x45, 0xfd, 0x17, 0x03, 0xb5, 0xf1, 0x2f,
+	0xd1, 0x1f, 0x34, 0x58, 0x1e, 0x2a, 0xe4, 0x51, 0xed, 0x86, 0xfe, 0x74, 0x42, 0x1b, 0x52, 0xad,
+	0x4f, 0xbd, 0x5f, 0x76, 0x08, 0xc6, 0x23, 0xc1, 0xee, 0x3e, 0x9a, 0x74, 0x4d, 0xe8, 0xb7, 0x1a,
+	0x94, 0x86, 0xab, 0xfa, 0x9b, 0x7c, 0x65, 0x62, 0xfd, 0x5f, 0x7d, 0x7f, 0xec, 0x3d, 0x6f, 0xfa,
+	0x61, 0xdc, 0x53, 0x66, 0xd9, 0x98, 0xc2, 0x2c, 0x7f, 0xd6, 0xe0, 0xbd, 0x09, 0x2d, 0x02, 0xfa,
+	0xf8, 0xc6, 0xbb, 0xba, 0xa6, 0xa3, 0xa8, 0x6e, 0x4c, 0x5f, 0xed, 0x18, 0x75, 0x41, 0x72, 0x1d,
+	0x7d, 0x34, 0xc9, 0x83, 0x9c, 0x09, 0x94, 0xbe, 0xd2, 0x00, 0x8d, 0x97, 0x25, 0xe8, 0xe5, 0x4d,
+	0x7f, 0x46, 0xae, 0x29, 0x62, 0xae, 0xb5, 0xdc, 0x0b, 0x41, 0xea, 0x79, 0xf5, 0xc3, 0x49, 0xa4,
+	0xd8, 0x18, 0xdc, 0xb6, 0xb6, 0xb1, 0x1b, 0xc2, 0x03, 0x9b, 0xfa, 0x93, 0x48, 0xec, 0x96, 0x32,
+	0x9f, 0x68, 0xf3, 0xcf, 0xb4, 0xb5, 0x9f, 0x7e, 0xa6, 0xb6, 0x51, 0x0f, 0x07, 0x4e, 0x8d, 0x46,
+	0x4e, 0xdd, 0x21, 0x81, 0x20, 0x51, 0x97, 0x4b, 0x38, 0x74, 0xd9, 0xf8, 0x7f, 0xee, 0xef, 0x2b,
+	0xc9, 0x7f, 0x34, 0xed, 0x6c, 0x41, 0xec, 0x7f, 0xf9, 0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x72,
+	0x40, 0xab, 0xc0, 0x16, 0x17, 0x00, 0x00,
 }
diff --git a/googleapis/genomics/v1alpha2/pipelines.proto b/googleapis/genomics/v1alpha2/pipelines.proto
deleted file mode 100644
index 2fa9417c..00000000
--- a/googleapis/genomics/v1alpha2/pipelines.proto
+++ /dev/null
@@ -1,590 +0,0 @@
-// 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.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
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PipelinesProto";
-option java_package = "com.google.genomics.v1a";
-
-
-// A service for running genomics pipelines.
-service PipelinesV1Alpha2 {
-  // Creates a pipeline that can be run later. Create takes a Pipeline that
-  // has all fields other than `pipelineId` populated, and then returns
-  // the same pipeline with `pipelineId` populated. This id can be used
-  // to run the pipeline.
-  //
-  // Caller must have WRITE permission to the project.
-  rpc CreatePipeline(CreatePipelineRequest) returns (Pipeline) {
-    option (google.api.http) = { post: "/v1alpha2/pipelines" body: "pipeline" };
-  }
-
-  // Runs a pipeline. If `pipelineId` is specified in the request, then
-  // run a saved pipeline. If `ephemeralPipeline` is specified, then run
-  // that pipeline once without saving a copy.
-  //
-  // The caller must have READ permission to the project where the pipeline
-  // is stored and WRITE permission to the project where the pipeline will be
-  // run, as VMs will be created and storage will be used.
-  rpc RunPipeline(RunPipelineRequest) returns (google.longrunning.Operation) {
-    option (google.api.http) = { post: "/v1alpha2/pipelines:run" body: "*" };
-  }
-
-  // Retrieves a pipeline based on ID.
-  //
-  // Caller must have READ permission to the project.
-  rpc GetPipeline(GetPipelineRequest) returns (Pipeline) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines/{pipeline_id}" };
-  }
-
-  // Lists pipelines.
-  //
-  // Caller must have READ permission to the project.
-  rpc ListPipelines(ListPipelinesRequest) returns (ListPipelinesResponse) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines" };
-  }
-
-  // Deletes a pipeline based on ID.
-  //
-  // Caller must have WRITE permission to the project.
-  rpc DeletePipeline(DeletePipelineRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1alpha2/pipelines/{pipeline_id}" };
-  }
-
-  // Gets controller configuration information. Should only be called
-  // by VMs created by the Pipelines Service and not by end users.
-  rpc GetControllerConfig(GetControllerConfigRequest) returns (ControllerConfig) {
-    option (google.api.http) = { get: "/v1alpha2/pipelines:getControllerConfig" };
-  }
-
-  // Sets status of a given operation. All timestamps are sent on each
-  // call, and the whole series of events is replaced, in case
-  // intermediate calls are lost. Should only be called by VMs created
-  // by the Pipelines Service and not by end users.
-  rpc SetOperationStatus(SetOperationStatusRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { put: "/v1alpha2/pipelines:setOperationStatus" body: "*" };
-  }
-}
-
-// Describes a Compute Engine resource that is being managed by a running
-// [pipeline][google.genomics.v1alpha2.Pipeline].
-message ComputeEngine {
-  // The instance on which the operation is running.
-  string instance_name = 1;
-
-  // The availability zone in which the instance resides.
-  string zone = 2;
-
-  // The machine type of the instance.
-  string machine_type = 3;
-
-  // The names of the disks that were created for this pipeline.
-  repeated string disk_names = 4;
-}
-
-// Runtime metadata that will be populated in the
-// [runtimeMetadata][google.genomics.v1.OperationMetadata.runtime_metadata]
-// field of the Operation associated with a RunPipeline execution.
-message RuntimeMetadata {
-  // Execution information specific to Google Compute Engine.
-  ComputeEngine compute_engine = 1;
-}
-
-// The pipeline object. Represents a transformation from a set of input
-// parameters to a set of output parameters. The transformation is defined
-// as a docker image and command to run within that image. Each pipeline
-// is run on a Google Compute Engine VM. A pipeline can be created with the
-// `create` method and then later run with the `run` method, or a pipeline can
-// be defined and run all at once with the `run` method.
-message Pipeline {
-  // Required. The project in which to create the pipeline. The caller must have
-  // WRITE access.
-  string project_id = 1;
-
-  // Required. A user specified pipeline name that does not have to be unique.
-  // This name can be used for filtering Pipelines in ListPipelines.
-  string name = 2;
-
-  // User-specified description.
-  string description = 3;
-
-  // Input parameters of the pipeline.
-  repeated PipelineParameter input_parameters = 8;
-
-  // Output parameters of the pipeline.
-  repeated PipelineParameter output_parameters = 9;
-
-  // Required. The executor indicates in which environment the pipeline runs.
-  oneof executor {
-    // Specifies the docker run information.
-    DockerExecutor docker = 5;
-  }
-
-  // Required. Specifies resource requirements for the pipeline run.
-  // Required fields:
-  //
-  // *
-  // [minimumCpuCores][google.genomics.v1alpha2.PipelineResources.minimum_cpu_cores]
-  //
-  // *
-  // [minimumRamGb][google.genomics.v1alpha2.PipelineResources.minimum_ram_gb]
-  PipelineResources resources = 6;
-
-  // Unique pipeline id that is generated by the service when CreatePipeline
-  // is called. Cannot be specified in the Pipeline used in the
-  // CreatePipelineRequest, and will be populated in the response to
-  // CreatePipeline and all subsequent Get and List calls. Indicates that the
-  // service has registered this pipeline.
-  string pipeline_id = 7;
-}
-
-// The request to create a pipeline. The pipeline field here should not have
-// `pipelineId` populated, as that will be populated by the server.
-message CreatePipelineRequest {
-  // The pipeline to create. Should not have `pipelineId` populated.
-  Pipeline pipeline = 1;
-}
-
-// The pipeline run arguments.
-message RunPipelineArgs {
-  // Required. The project in which to run the pipeline. The caller must have
-  // WRITER access to all Google Cloud services and resources (e.g. Google
-  // Compute Engine) will be used.
-  string project_id = 1;
-
-  // Pipeline input arguments; keys are defined in the pipeline documentation.
-  // All input parameters that do not have default values  must be specified.
-  // If parameters with defaults are specified here, the defaults will be
-  // overridden.
-  map<string, string> inputs = 2;
-
-  // Pipeline output arguments; keys are defined in the pipeline
-  // documentation.  All output parameters of without default values
-  // must be specified.  If parameters with defaults are specified
-  // here, the defaults will be overridden.
-  map<string, string> outputs = 3;
-
-  // The Google Cloud Service Account that will be used to access data and
-  // services. By default, the compute service account associated with
-  // `projectId` is used.
-  ServiceAccount service_account = 4;
-
-  // Client-specified pipeline operation identifier.
-  string client_id = 5;
-
-  // Specifies resource requirements/overrides for the pipeline run.
-  PipelineResources resources = 6;
-
-  // 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
-// refers to a saved pipeline created with CreatePipeline and set as
-// the `pipelineId` of the returned Pipeline object. If
-// `ephemeralPipeline` is specified, that pipeline is run once
-// with the given args and not saved. It is an error to specify both
-// `pipelineId` and `ephemeralPipeline`. `pipelineArgs`
-// must be specified.
-message RunPipelineRequest {
-  oneof pipeline {
-    // The already created pipeline to run.
-    string pipeline_id = 1;
-
-    // A new pipeline object to run once and then delete.
-    Pipeline ephemeral_pipeline = 2;
-  }
-
-  // The arguments to use when running this pipeline.
-  RunPipelineArgs pipeline_args = 3;
-}
-
-// A request to get a saved pipeline by id.
-message GetPipelineRequest {
-  // Caller must have READ access to the project in which this pipeline
-  // is defined.
-  string pipeline_id = 1;
-}
-
-// A request to list pipelines in a given project. Pipelines can be
-// filtered by name using `namePrefix`: all pipelines with names that
-// begin with `namePrefix` will be returned. Uses standard pagination:
-// `pageSize` indicates how many pipelines to return, and
-// `pageToken` comes from a previous ListPipelinesResponse to
-// indicate offset.
-message ListPipelinesRequest {
-  // Required. The name of the project to search for pipelines. Caller
-  // must have READ access to this project.
-  string project_id = 1;
-
-  // Pipelines with names that match this prefix should be
-  // returned.  If unspecified, all pipelines in the project, up to
-  // `pageSize`, will be returned.
-  string name_prefix = 2;
-
-  // Number of pipelines to return at once. Defaults to 256, and max
-  // is 2048.
-  int32 page_size = 3;
-
-  // Token to use to indicate where to start getting results.
-  // If unspecified, returns the first page of results.
-  string page_token = 4;
-}
-
-// The response of ListPipelines. Contains at most `pageSize`
-// pipelines. If it contains `pageSize` pipelines, and more pipelines
-// exist, then `nextPageToken` will be populated and should be
-// used as the `pageToken` argument to a subsequent ListPipelines
-// request.
-message ListPipelinesResponse {
-  // The matched pipelines.
-  repeated Pipeline pipelines = 1;
-
-  // The token to use to get the next page of results.
-  string next_page_token = 2;
-}
-
-// The request to delete a saved pipeline by ID.
-message DeletePipelineRequest {
-  // Caller must have WRITE access to the project in which this pipeline
-  // is defined.
-  string pipeline_id = 1;
-}
-
-// Request to get controller configuation.  Should only be used
-// by VMs created by the Pipelines Service and not by end users.
-message GetControllerConfigRequest {
-  // The operation to retrieve controller configuration for.
-  string operation_id = 1;
-
-  uint64 validation_token = 2;
-}
-
-// Stores the information that the controller will fetch from the
-// server in order to run. Should only be used by VMs created by the
-// Pipelines Service and not by end users.
-message ControllerConfig {
-  message RepeatedString {
-    repeated string values = 1;
-  }
-
-  string image = 1;
-
-  string cmd = 2;
-
-  string gcs_log_path = 3;
-
-  string machine_type = 4;
-
-  map<string, string> vars = 5;
-
-  map<string, string> disks = 6;
-
-  map<string, RepeatedString> gcs_sources = 7;
-
-  map<string, RepeatedString> gcs_sinks = 8;
-}
-
-// Stores the list of events and times they occured for major events in job
-// execution.
-message TimestampEvent {
-  // String indicating the type of event
-  string description = 1;
-
-  // The time this event occured.
-  google.protobuf.Timestamp timestamp = 2;
-}
-
-// Request to set operation status. Should only be used by VMs
-// created by the Pipelines Service and not by end users.
-message SetOperationStatusRequest {
-  string operation_id = 1;
-
-  repeated TimestampEvent timestamp_events = 2;
-
-  google.rpc.Code error_code = 3;
-
-  string error_message = 4;
-
-  uint64 validation_token = 5;
-}
-
-// A Google Cloud Service Account.
-message ServiceAccount {
-  // Email address of the service account. Defaults to `default`,
-  // which uses the compute service account associated with the project.
-  string email = 1;
-
-  // List of scopes to be enabled for this service account on the
-  // pipeline virtual machine.
-  // The following scopes are automatically included:
-  // * https://www.googleapis.com/auth/genomics
-  // * https://www.googleapis.com/auth/compute
-  // * https://www.googleapis.com/auth/devstorage.full_control
-  repeated string scopes = 2;
-}
-
-// The logging options for the pipeline run.
-message LoggingOptions {
-  // The location in Google Cloud Storage to which the pipeline logs
-  // will be copied. Can be specified as a fully qualified directory
-  // path, in which case logs will be output with a unique identifier
-  // as the filename in that directory, or as a fully specified path,
-  // which must end in `.log`, in which case that path will be
-  // used, and the user must ensure that logs are not
-  // overwritten. Stdout and stderr logs from the run are also
-  // generated and output as `-stdout.log` and `-stderr.log`.
-  string gcs_path = 1;
-}
-
-// The system resources for the pipeline run.
-message PipelineResources {
-  // A Google Compute Engine disk resource specification.
-  message Disk {
-    // The types of disks that may be attached to VMs.
-    enum Type {
-      // Default disk type. Use one of the other options below.
-      TYPE_UNSPECIFIED = 0;
-
-      // Specifies a Google Compute Engine persistent hard disk. See
-      // 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/#pdspecs for details.
-      PERSISTENT_SSD = 2;
-
-      // Specifies a Google Compute Engine local SSD.
-      // See https://cloud.google.com/compute/docs/disks/local-ssd for details.
-      LOCAL_SSD = 3;
-    }
-
-    // Required. The name of the disk that can be used in the pipeline
-    // parameters. Must be 1 - 63 characters.
-    // The name "boot" is reserved for system use.
-    string name = 1;
-
-    // Required. The type of the disk to create.
-    Type type = 2;
-
-    // The size of the disk. Defaults to 500 (GB).
-    // This field is not applicable for local SSD.
-    int32 size_gb = 3;
-
-    // The full or partial URL of the persistent disk to attach. See
-    // https://cloud.google.com/compute/docs/reference/latest/instances#resource
-    // and
-    // https://cloud.google.com/compute/docs/disks/persistent-disks#snapshots
-    // for more details.
-    string source = 4;
-
-    // Specifies whether or not to delete the disk when the pipeline
-    // completes. This field is applicable only for newly created disks. See
-    // https://cloud.google.com/compute/docs/reference/latest/instances#resource
-    // for more details.
-    // By default, `autoDelete` is `false`. `autoDelete` will be enabled if set
-    // to `true` at create time or run time.
-    bool auto_delete = 6;
-
-    // Specifies how a sourced-base persistent disk will be mounted. See
-    // https://cloud.google.com/compute/docs/disks/persistent-disks#use_multi_instances
-    // for more details.
-    // Can only be set at create time.
-    bool read_only = 7;
-
-    // Required at create time and cannot be overridden at run time.
-    // Specifies the path in the docker container where files on
-    // this disk should be located. For example, if `mountPoint`
-    // is `/mnt/disk`, and the parameter has `localPath`
-    // `inputs/file.txt`, the docker container can access the data at
-    // `/mnt/disk/inputs/file.txt`.
-    string mount_point = 8;
-  }
-
-  // The minimum number of cores to use. Defaults to 1.
-  int32 minimum_cpu_cores = 1;
-
-  // At create time means that preemptible machines may be
-  // used for the run. At run time, means they should be used. Cannot
-  // be true at run time if false at create time.
-  // Defaults to `false`.
-  bool preemptible = 2;
-
-  // The minimum amount of RAM to use. Defaults to 3.75 (GB)
-  double minimum_ram_gb = 3;
-
-  // Disks to attach.
-  repeated Disk disks = 4;
-
-  // List of Google Compute Engine availability zones to which resource
-  // creation will restricted. If empty, any zone may be chosen.
-  repeated string zones = 5;
-
-  // The size of the boot disk. Defaults to 10 (GB).
-  int32 boot_disk_size_gb = 6;
-}
-
-// Parameters facilitate setting and delivering data into the
-// pipeline's execution environment. They are defined at create time,
-// with optional defaults, and can be overridden at run time.
-//
-// If `localCopy` is unset, then the parameter specifies a string that
-// is passed as-is into the pipeline, as the value of the environment
-// variable with the given name.  A default value can be optionally
-// specified at create time. The default can be overridden at run time
-// using the inputs map. If no default is given, a value must be
-// supplied at runtime.
-//
-// If `localCopy` is defined, then the parameter specifies a data
-// source or sink, both in Google Cloud Storage and on the Docker container
-// where the pipeline computation is run. The [service account associated with
-// the Pipeline][google.genomics.v1alpha2.RunPipelineArgs.service_account] (by
-// default the project's Compute Engine service account) must have access to the
-// Google Cloud Storage paths.
-//
-// At run time, the Google Cloud Storage paths can be overridden if a default
-// was provided at create time, or must be set otherwise. The pipeline runner
-// should add a key/value pair to either the inputs or outputs map. The
-// indicated data copies will be carried out before/after pipeline execution,
-// just as if the corresponding arguments were provided to `gsutil cp`.
-//
-// For example: Given the following `PipelineParameter`, specified
-// in the `inputParameters` list:
-//
-// ```
-// {name: "input_file", localCopy: {path: "file.txt", disk: "pd1"}}
-// ```
-//
-// where `disk` is defined in the `PipelineResources` object as:
-//
-// ```
-// {name: "pd1", mountPoint: "/mnt/disk/"}
-// ```
-//
-// We create a disk named `pd1`, mount it on the host VM, and map
-// `/mnt/pd1` to `/mnt/disk` in the docker container.  At
-// runtime, an entry for `input_file` would be required in the inputs
-// map, such as:
-//
-// ```
-//   inputs["input_file"] = "gs://my-bucket/bar.txt"
-// ```
-//
-// This would generate the following gsutil call:
-//
-// ```
-//   gsutil cp gs://my-bucket/bar.txt /mnt/pd1/file.txt
-// ```
-//
-// The file `/mnt/pd1/file.txt` maps to `/mnt/disk/file.txt` in the
-// Docker container. Acceptable paths are:
-//
-// <table>
-//   <thead>
-//     <tr><th>Google Cloud storage path</th><th>Local path</th></tr>
-//   </thead>
-//   <tbody>
-//     <tr><td>file</td><td>file</td></tr>
-//     <tr><td>glob</td><td>directory</td></tr>
-//   </tbody>
-// </table>
-//
-// For outputs, the direction of the copy is reversed:
-//
-// ```
-//   gsutil cp /mnt/disk/file.txt gs://my-bucket/bar.txt
-// ```
-//
-// Acceptable paths are:
-//
-// <table>
-//   <thead>
-//     <tr><th>Local path</th><th>Google Cloud Storage path</th></tr>
-//   </thead>
-//   <tbody>
-//     <tr><td>file</td><td>file</td></tr>
-//     <tr>
-//       <td>file</td>
-//       <td>directory - directory must already exist</td>
-//     </tr>
-//     <tr>
-//       <td>glob</td>
-//       <td>directory - directory will be created if it doesn't exist</td></tr>
-//   </tbody>
-// </table>
-//
-// One restriction due to docker limitations, is that for outputs that are found
-// on the boot disk, the local path cannot be a glob and must be a file.
-message PipelineParameter {
-  // LocalCopy defines how a remote file should be copied to and from the VM.
-  message LocalCopy {
-    // Required. The path within the user's docker container where
-    // this input should be localized to and from, relative to the specified
-    // disk's mount point. For example: file.txt,
-    string path = 1;
-
-    // Required. The name of the disk where this parameter is
-    // located. Can be the name of one of the disks specified in the
-    // Resources field, or "boot", which represents the Docker
-    // instance's boot disk and has a mount point of `/`.
-    string disk = 2;
-  }
-
-  // Required. Name of the parameter - the pipeline runner uses this string
-  // as the key to the input and output maps in RunPipeline.
-  string name = 1;
-
-  // Human-readable description.
-  string description = 2;
-
-  // The default value for this parameter. Can be overridden at runtime.
-  // If `localCopy` is present, then this must be a Google Cloud Storage path
-  // beginning with `gs://`.
-  string default_value = 5;
-
-  // If present, this parameter is marked for copying to and from the VM.
-  // `LocalCopy` indicates where on the VM the file should be. The value
-  // given to this parameter (either at runtime or using `defaultValue`)
-  // must be the remote path where the file should be.
-  LocalCopy local_copy = 6;
-}
-
-// The Docker execuctor specification.
-message DockerExecutor {
-  // Required. Image name from either Docker Hub or Google Container Repository.
-  // Users that run pipelines must have READ access to the image.
-  string image_name = 1;
-
-  // Required. The command string to run. Parameters that do not have
-  // `localCopy` specified should be used as environment variables, while
-  // those that do can be accessed at the defined paths.
-  string cmd = 2;
-}
diff --git a/googleapis/iam/admin/v1/iam.pb.go b/googleapis/iam/admin/v1/iam.pb.go
index 611db52b..48de6626 100644
--- a/googleapis/iam/admin/v1/iam.pb.go
+++ b/googleapis/iam/admin/v1/iam.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+// source: google/iam/admin/v1/iam.proto
 // DO NOT EDIT!
 
 /*
-Package google_iam_admin_v1 is a generated protocol buffer package.
+Package admin is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto
+	google/iam/admin/v1/iam.proto
 
 It has these top-level messages:
 	ServiceAccount
@@ -27,16 +27,16 @@ It has these top-level messages:
 	QueryGrantableRolesRequest
 	QueryGrantableRolesResponse
 */
-package google_iam_admin_v1 // import "google.golang.org/genproto/googleapis/iam/admin/v1"
+package admin
 
 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/api/annotations"
 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.golang.org/genproto/protobuf/field_mask"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
@@ -223,6 +223,55 @@ func (m *ServiceAccount) String() string            { return proto.CompactTextSt
 func (*ServiceAccount) ProtoMessage()               {}
 func (*ServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *ServiceAccount) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetUniqueId() string {
+	if m != nil {
+		return m.UniqueId
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetEmail() string {
+	if m != nil {
+		return m.Email
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *ServiceAccount) GetEtag() []byte {
+	if m != nil {
+		return m.Etag
+	}
+	return nil
+}
+
+func (m *ServiceAccount) GetOauth2ClientId() string {
+	if m != nil {
+		return m.Oauth2ClientId
+	}
+	return ""
+}
+
 // The service account create request.
 type CreateServiceAccountRequest struct {
 	// Required. The resource name of the project associated with the service
@@ -244,6 +293,20 @@ func (m *CreateServiceAccountRequest) String() string            { return proto.
 func (*CreateServiceAccountRequest) ProtoMessage()               {}
 func (*CreateServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *CreateServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateServiceAccountRequest) GetAccountId() string {
+	if m != nil {
+		return m.AccountId
+	}
+	return ""
+}
+
 func (m *CreateServiceAccountRequest) GetServiceAccount() *ServiceAccount {
 	if m != nil {
 		return m.ServiceAccount
@@ -271,6 +334,27 @@ func (m *ListServiceAccountsRequest) String() string            { return proto.C
 func (*ListServiceAccountsRequest) ProtoMessage()               {}
 func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListServiceAccountsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListServiceAccountsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListServiceAccountsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The service account list response.
 type ListServiceAccountsResponse struct {
 	// The list of matching service accounts.
@@ -293,6 +377,13 @@ func (m *ListServiceAccountsResponse) GetAccounts() []*ServiceAccount {
 	return nil
 }
 
+func (m *ListServiceAccountsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The service account get request.
 type GetServiceAccountRequest struct {
 	// The resource name of the service account in the following format:
@@ -308,6 +399,13 @@ func (m *GetServiceAccountRequest) String() string            { return proto.Com
 func (*GetServiceAccountRequest) ProtoMessage()               {}
 func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *GetServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account delete request.
 type DeleteServiceAccountRequest struct {
 	// The resource name of the service account in the following format:
@@ -323,6 +421,13 @@ func (m *DeleteServiceAccountRequest) String() string            { return proto.
 func (*DeleteServiceAccountRequest) ProtoMessage()               {}
 func (*DeleteServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DeleteServiceAccountRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account keys list request.
 type ListServiceAccountKeysRequest struct {
 	// The resource name of the service account in the following format:
@@ -343,6 +448,20 @@ func (m *ListServiceAccountKeysRequest) String() string            { return prot
 func (*ListServiceAccountKeysRequest) ProtoMessage()               {}
 func (*ListServiceAccountKeysRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *ListServiceAccountKeysRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListServiceAccountKeysRequest) GetKeyTypes() []ListServiceAccountKeysRequest_KeyType {
+	if m != nil {
+		return m.KeyTypes
+	}
+	return nil
+}
+
 // The service account keys list response.
 type ListServiceAccountKeysResponse struct {
 	// The public keys for the service account.
@@ -380,6 +499,20 @@ func (m *GetServiceAccountKeyRequest) String() string            { return proto.
 func (*GetServiceAccountKeyRequest) ProtoMessage()               {}
 func (*GetServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *GetServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *GetServiceAccountKeyRequest) GetPublicKeyType() ServiceAccountPublicKeyType {
+	if m != nil {
+		return m.PublicKeyType
+	}
+	return ServiceAccountPublicKeyType_TYPE_NONE
+}
+
 // Represents a service account key.
 //
 // A service account has two sets of key-pairs: user-managed, and
@@ -425,6 +558,41 @@ func (m *ServiceAccountKey) String() string            { return proto.CompactTex
 func (*ServiceAccountKey) ProtoMessage()               {}
 func (*ServiceAccountKey) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *ServiceAccountKey) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ServiceAccountKey) GetPrivateKeyType() ServiceAccountPrivateKeyType {
+	if m != nil {
+		return m.PrivateKeyType
+	}
+	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
+}
+
+func (m *ServiceAccountKey) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
+	if m != nil {
+		return m.KeyAlgorithm
+	}
+	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
+}
+
+func (m *ServiceAccountKey) GetPrivateKeyData() []byte {
+	if m != nil {
+		return m.PrivateKeyData
+	}
+	return nil
+}
+
+func (m *ServiceAccountKey) GetPublicKeyData() []byte {
+	if m != nil {
+		return m.PublicKeyData
+	}
+	return nil
+}
+
 func (m *ServiceAccountKey) GetValidAfterTime() *google_protobuf3.Timestamp {
 	if m != nil {
 		return m.ValidAfterTime
@@ -461,6 +629,27 @@ func (m *CreateServiceAccountKeyRequest) String() string            { return pro
 func (*CreateServiceAccountKeyRequest) ProtoMessage()               {}
 func (*CreateServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *CreateServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *CreateServiceAccountKeyRequest) GetPrivateKeyType() ServiceAccountPrivateKeyType {
+	if m != nil {
+		return m.PrivateKeyType
+	}
+	return ServiceAccountPrivateKeyType_TYPE_UNSPECIFIED
+}
+
+func (m *CreateServiceAccountKeyRequest) GetKeyAlgorithm() ServiceAccountKeyAlgorithm {
+	if m != nil {
+		return m.KeyAlgorithm
+	}
+	return ServiceAccountKeyAlgorithm_KEY_ALG_UNSPECIFIED
+}
+
 // The service account key delete request.
 type DeleteServiceAccountKeyRequest struct {
 	// The resource name of the service account key in the following format:
@@ -476,6 +665,13 @@ func (m *DeleteServiceAccountKeyRequest) String() string            { return pro
 func (*DeleteServiceAccountKeyRequest) ProtoMessage()               {}
 func (*DeleteServiceAccountKeyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *DeleteServiceAccountKeyRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The service account sign blob request.
 type SignBlobRequest struct {
 	// The resource name of the service account in the following format:
@@ -493,6 +689,20 @@ func (m *SignBlobRequest) String() string            { return proto.CompactTextS
 func (*SignBlobRequest) ProtoMessage()               {}
 func (*SignBlobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *SignBlobRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *SignBlobRequest) GetBytesToSign() []byte {
+	if m != nil {
+		return m.BytesToSign
+	}
+	return nil
+}
+
 // The service account sign blob response.
 type SignBlobResponse struct {
 	// The id of the key used to sign the blob.
@@ -506,6 +716,20 @@ func (m *SignBlobResponse) String() string            { return proto.CompactText
 func (*SignBlobResponse) ProtoMessage()               {}
 func (*SignBlobResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *SignBlobResponse) GetKeyId() string {
+	if m != nil {
+		return m.KeyId
+	}
+	return ""
+}
+
+func (m *SignBlobResponse) GetSignature() []byte {
+	if m != nil {
+		return m.Signature
+	}
+	return nil
+}
+
 // A role in the Identity and Access Management API.
 type Role struct {
 	// The name of the role.
@@ -528,6 +752,27 @@ func (m *Role) String() string            { return proto.CompactTextString(m) }
 func (*Role) ProtoMessage()               {}
 func (*Role) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *Role) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Role) GetTitle() string {
+	if m != nil {
+		return m.Title
+	}
+	return ""
+}
+
+func (m *Role) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // The grantable role query request.
 type QueryGrantableRolesRequest struct {
 	// Required. The full resource name to query from the list of grantable roles.
@@ -543,6 +788,13 @@ func (m *QueryGrantableRolesRequest) String() string            { return proto.C
 func (*QueryGrantableRolesRequest) ProtoMessage()               {}
 func (*QueryGrantableRolesRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
 
+func (m *QueryGrantableRolesRequest) GetFullResourceName() string {
+	if m != nil {
+		return m.FullResourceName
+	}
+	return ""
+}
+
 // The grantable role query response.
 type QueryGrantableRolesResponse struct {
 	// The list of matching roles.
@@ -1135,115 +1387,112 @@ var _IAM_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto",
+	Metadata: "google/iam/admin/v1/iam.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/admin/v1/iam.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/iam/admin/v1/iam.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1631 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x58, 0x4f, 0x6f, 0x1b, 0xc7,
-	0x15, 0xf7, 0xe8, 0x8f, 0x2d, 0x3e, 0x51, 0x14, 0x35, 0xa2, 0x2d, 0x96, 0xb4, 0x0d, 0x75, 0x5b,
-	0xdb, 0x34, 0x61, 0x73, 0x29, 0x4a, 0x6e, 0x6d, 0xb9, 0x6e, 0x4b, 0x51, 0x34, 0xb1, 0xd5, 0x1f,
-	0xb3, 0x4b, 0x0a, 0xb6, 0xd0, 0x16, 0x8b, 0x21, 0x39, 0xa2, 0xb7, 0x5a, 0xee, 0xae, 0x77, 0x97,
-	0x42, 0xe9, 0xc2, 0x97, 0x1e, 0x7a, 0x31, 0x10, 0x20, 0x88, 0x0f, 0x39, 0x39, 0x40, 0x2e, 0xc9,
-	0x2d, 0x97, 0x00, 0x01, 0xf2, 0x35, 0x72, 0xc8, 0x39, 0x40, 0x80, 0x7c, 0x85, 0x1c, 0x83, 0x99,
-	0xdd, 0x95, 0x28, 0x72, 0x49, 0x2d, 0x83, 0x20, 0x17, 0x61, 0xe7, 0xbd, 0x79, 0xef, 0xfd, 0xde,
-	0x7b, 0x33, 0x6f, 0x7e, 0x22, 0xfc, 0xa9, 0x6d, 0x18, 0x6d, 0x8d, 0xe6, 0xda, 0x86, 0x46, 0xf4,
-	0x76, 0xce, 0xb0, 0xda, 0x62, 0x9b, 0xea, 0xa6, 0x65, 0x38, 0x86, 0xe8, 0xaa, 0x88, 0xa9, 0xda,
-	0xa2, 0x4a, 0x3a, 0x22, 0x69, 0x75, 0x54, 0x5d, 0x3c, 0x59, 0x63, 0x8b, 0x1c, 0xdf, 0x81, 0x97,
-	0x3d, 0x6b, 0x26, 0xe1, 0xea, 0xdc, 0xc9, 0x5a, 0x4a, 0x0a, 0xe7, 0x92, 0x98, 0xaa, 0x68, 0x53,
-	0xeb, 0x44, 0x6d, 0xd2, 0xa6, 0xa1, 0x1f, 0xa9, 0x6d, 0x91, 0xe8, 0xba, 0xe1, 0x10, 0x47, 0x35,
-	0x74, 0xdb, 0xf5, 0x9f, 0x7a, 0x12, 0x1e, 0x9d, 0x8b, 0x4b, 0x31, 0x0d, 0x4d, 0x6d, 0xf6, 0x3c,
-	0xf3, 0x47, 0x13, 0x99, 0x9f, 0x33, 0x5d, 0x6f, 0xab, 0xce, 0xcb, 0x6e, 0x23, 0xd7, 0x34, 0x3a,
-	0xa2, 0x6b, 0x2e, 0x72, 0x45, 0xa3, 0x7b, 0x24, 0x9a, 0x4e, 0xcf, 0xa4, 0xb6, 0x48, 0x3b, 0xa6,
-	0xd3, 0x73, 0xff, 0x7a, 0x46, 0x1b, 0x63, 0xe2, 0x9d, 0x5a, 0x1f, 0xa9, 0x54, 0x6b, 0x29, 0x1d,
-	0x62, 0x1f, 0x7b, 0x56, 0x8f, 0x2f, 0x0e, 0xe5, 0xa8, 0x1d, 0x6a, 0x3b, 0xa4, 0x63, 0x9e, 0x7d,
-	0xb9, 0xc6, 0xc2, 0xb7, 0x08, 0x62, 0x35, 0xb7, 0x8a, 0xc5, 0x66, 0xd3, 0xe8, 0xea, 0x0e, 0xc6,
-	0x30, 0xa3, 0x93, 0x0e, 0x4d, 0xa2, 0x55, 0x94, 0x89, 0xc8, 0xfc, 0x1b, 0xdf, 0x00, 0x30, 0x2d,
-	0xe3, 0xdf, 0xb4, 0xe9, 0x28, 0x6a, 0x2b, 0x39, 0xc5, 0x35, 0x11, 0x4f, 0x22, 0xb5, 0x70, 0x1a,
-	0x22, 0x5d, 0x5d, 0x7d, 0xd5, 0xa5, 0x4c, 0x3b, 0xc3, 0xb5, 0x73, 0xae, 0x40, 0x6a, 0xe1, 0x04,
-	0xcc, 0xd2, 0x0e, 0x51, 0xb5, 0xe4, 0x2c, 0x57, 0xb8, 0x0b, 0xfc, 0x5b, 0x88, 0xb6, 0x54, 0xdb,
-	0xd4, 0x48, 0x4f, 0xe1, 0xd1, 0x2e, 0x73, 0xe5, 0xbc, 0x27, 0xdb, 0x67, 0x41, 0x31, 0xcc, 0x50,
-	0x87, 0xb4, 0x93, 0x57, 0x56, 0x51, 0x26, 0x2a, 0xf3, 0x6f, 0x9c, 0x81, 0xb8, 0x41, 0xba, 0xce,
-	0xcb, 0x82, 0xd2, 0xd4, 0x54, 0xaa, 0x73, 0x38, 0x11, 0x6e, 0x1a, 0x73, 0xe5, 0x25, 0x2e, 0x96,
-	0x5a, 0xc2, 0x7b, 0x04, 0xe9, 0x92, 0x45, 0x89, 0x43, 0xcf, 0xe7, 0x27, 0xd3, 0x57, 0x5d, 0x6a,
-	0x8f, 0x4c, 0x93, 0xb8, 0xbb, 0xfa, 0xd2, 0xf4, 0x24, 0x52, 0x0b, 0xef, 0xc2, 0xa2, 0x77, 0xe2,
-	0x14, 0x4f, 0x98, 0x9c, 0x5e, 0x45, 0x99, 0xf9, 0xc2, 0xef, 0x72, 0x01, 0x07, 0x39, 0x37, 0x10,
-	0x37, 0x66, 0x9f, 0x5b, 0x0b, 0x1a, 0xa4, 0x76, 0x55, 0xdb, 0x39, 0xbf, 0xcb, 0x1e, 0x07, 0x2f,
-	0x0d, 0x11, 0x93, 0xb4, 0xa9, 0x62, 0xab, 0xaf, 0x29, 0x47, 0x37, 0x2b, 0xcf, 0x31, 0x41, 0x4d,
-	0x7d, 0xed, 0xb6, 0x88, 0x29, 0x1d, 0xe3, 0x98, 0xea, 0x1c, 0x17, 0x6b, 0x11, 0x69, 0xd3, 0x3a,
-	0x13, 0x08, 0xff, 0x47, 0x90, 0x0e, 0x0c, 0x67, 0x9b, 0x86, 0x6e, 0x53, 0xfc, 0x17, 0x98, 0xf3,
-	0x72, 0xb2, 0x93, 0x68, 0x75, 0x3a, 0x6c, 0x52, 0xa7, 0x46, 0xf8, 0x36, 0x2c, 0xea, 0xf4, 0x3f,
-	0x8e, 0xd2, 0x07, 0xc2, 0x2d, 0xe0, 0x02, 0x13, 0x57, 0x4f, 0x81, 0xe4, 0x20, 0x59, 0xa1, 0x4e,
-	0xe8, 0x9e, 0x08, 0x6b, 0x90, 0xde, 0xa6, 0x1a, 0x9d, 0xa0, 0x8d, 0xec, 0x50, 0xdf, 0x18, 0xce,
-	0x75, 0x87, 0xf6, 0xc6, 0x56, 0xf7, 0x39, 0x44, 0x8e, 0x69, 0x4f, 0xe1, 0x37, 0x26, 0x39, 0xb5,
-	0x3a, 0x9d, 0x89, 0x15, 0x36, 0x03, 0x4b, 0x30, 0xd6, 0x75, 0x6e, 0x87, 0xf6, 0xea, 0x3d, 0x93,
-	0xca, 0x73, 0xc7, 0xee, 0x87, 0x2d, 0x48, 0x70, 0xc5, 0x13, 0xe2, 0x24, 0x24, 0x76, 0xca, 0x87,
-	0x4a, 0xfd, 0xb0, 0x5a, 0x56, 0x0e, 0xf6, 0x6b, 0xd5, 0x72, 0x49, 0x7a, 0x2a, 0x95, 0xb7, 0xe3,
-	0x97, 0x70, 0x1c, 0xa2, 0x07, 0xb5, 0xb2, 0xac, 0xec, 0x15, 0xf7, 0x8b, 0x95, 0xf2, 0x76, 0x1c,
-	0x61, 0x0c, 0xb1, 0xda, 0x61, 0xad, 0x5e, 0xde, 0x3b, 0x95, 0x4d, 0x09, 0xff, 0x84, 0x9b, 0xa3,
-	0xa2, 0x7b, 0x7d, 0xdc, 0x84, 0x99, 0x63, 0xda, 0xf3, 0x7b, 0x78, 0x3b, 0x44, 0x0f, 0x77, 0x68,
-	0x4f, 0xe6, 0x36, 0xc2, 0x5b, 0x04, 0xe9, 0xa1, 0xde, 0x30, 0xf5, 0x98, 0xaa, 0xbd, 0x80, 0x45,
-	0xb3, 0xdb, 0xd0, 0xd4, 0xa6, 0xe2, 0x17, 0x8f, 0xb7, 0x3d, 0x56, 0xc8, 0x87, 0x08, 0x5d, 0xe5,
-	0x96, 0x7e, 0xc5, 0x16, 0xcc, 0xfe, 0xa5, 0xf0, 0xf5, 0x34, 0x2c, 0x0d, 0x41, 0x09, 0xc4, 0xf0,
-	0x0f, 0x88, 0x9b, 0x96, 0x7a, 0x42, 0x1c, 0x3a, 0x08, 0x62, 0x2d, 0x0c, 0x08, 0xd7, 0xd4, 0x47,
-	0x11, 0x33, 0xcf, 0xad, 0x71, 0x1d, 0x16, 0x98, 0x53, 0xa2, 0xb5, 0x0d, 0x4b, 0x75, 0x5e, 0x76,
-	0x92, 0x73, 0xdc, 0xb3, 0x18, 0xae, 0xb2, 0x45, 0xdf, 0x4c, 0x8e, 0x1e, 0xf7, 0xad, 0xd8, 0x1c,
-	0xeb, 0x87, 0xdc, 0x22, 0x0e, 0xe1, 0x77, 0x36, 0xda, 0x1f, 0x7f, 0x9b, 0x38, 0x84, 0xdd, 0xab,
-	0xbe, 0x02, 0xf3, 0x8d, 0xee, 0x40, 0x3c, 0x2b, 0x17, 0xdf, 0xb7, 0x0d, 0xf1, 0x13, 0xa2, 0xa9,
-	0x2d, 0x85, 0x1c, 0x39, 0xd4, 0x52, 0xd8, 0xa0, 0xe7, 0xa3, 0x78, 0xbe, 0x90, 0xf2, 0xa1, 0xfa,
-	0xcf, 0x42, 0xae, 0xee, 0xbf, 0x02, 0x72, 0x8c, 0xdb, 0x14, 0x99, 0x09, 0x13, 0xe2, 0xa7, 0xb0,
-	0xe4, 0x7a, 0x69, 0xd0, 0x23, 0xc3, 0xa2, 0xae, 0x9b, 0xd9, 0x0b, 0xdd, 0x2c, 0x72, 0xa3, 0x2d,
-	0x6e, 0xc3, 0xa4, 0xc2, 0x0f, 0x08, 0x6e, 0x06, 0x4d, 0xdf, 0x0b, 0x4e, 0xd3, 0xaf, 0xdb, 0xc9,
-	0xe9, 0x5f, 0xa0, 0x93, 0xc2, 0x06, 0xdc, 0x0c, 0x9a, 0x4f, 0xe3, 0x13, 0x15, 0x24, 0x58, 0xac,
-	0xa9, 0x6d, 0x7d, 0x4b, 0x33, 0x1a, 0xe3, 0xea, 0x21, 0xc0, 0x42, 0xa3, 0xe7, 0x50, 0x5b, 0x71,
-	0x0c, 0xc5, 0x56, 0xdb, 0xee, 0x48, 0x8d, 0xca, 0xf3, 0x5c, 0x58, 0x37, 0x98, 0x0b, 0xa1, 0x02,
-	0xf1, 0x33, 0x57, 0xde, 0x14, 0xb8, 0x0a, 0x97, 0x59, 0xaa, 0x6a, 0xcb, 0xf3, 0x36, 0x7b, 0x4c,
-	0x7b, 0x52, 0x0b, 0x5f, 0x87, 0x08, 0xf3, 0x42, 0x9c, 0xae, 0x45, 0x3d, 0x57, 0x67, 0x02, 0x41,
-	0x86, 0x19, 0xd9, 0xd0, 0x68, 0x20, 0x90, 0x04, 0xcc, 0x3a, 0xaa, 0xa3, 0x51, 0x6f, 0xa6, 0xbb,
-	0x0b, 0xbc, 0x0a, 0xf3, 0x2d, 0x6a, 0x37, 0x2d, 0xd5, 0x64, 0xac, 0xcb, 0x7b, 0x74, 0xfa, 0x45,
-	0xc2, 0xdf, 0x20, 0xf5, 0xf7, 0x2e, 0xb5, 0x7a, 0x15, 0x8b, 0xe8, 0x0e, 0x69, 0x68, 0x94, 0x45,
-	0x38, 0x1d, 0xc3, 0xf7, 0x00, 0x1f, 0x75, 0x35, 0x4d, 0xb1, 0xa8, 0x6d, 0x74, 0xad, 0x26, 0x55,
-	0xfa, 0xe2, 0xc6, 0x99, 0x46, 0xf6, 0x14, 0x8c, 0x0f, 0x08, 0xfb, 0x90, 0x0e, 0xf4, 0xe5, 0xe5,
-	0x2c, 0xc2, 0xac, 0xc5, 0x04, 0xde, 0xe8, 0xfb, 0x4d, 0x60, 0x5b, 0x99, 0x89, 0xec, 0xee, 0xcb,
-	0x12, 0x48, 0x8d, 0xee, 0x32, 0x5e, 0x81, 0x65, 0x36, 0xaa, 0x8b, 0xbb, 0x95, 0x81, 0x49, 0x9d,
-	0x80, 0xb8, 0xaf, 0x90, 0x6b, 0x45, 0x65, 0x2d, 0x5f, 0xd8, 0x88, 0xa3, 0x41, 0x69, 0x21, 0xbf,
-	0xf1, 0x30, 0x3e, 0x95, 0xd5, 0xe0, 0xfa, 0xb8, 0x23, 0xca, 0xac, 0x02, 0xde, 0x02, 0x5f, 0x5a,
-	0xdd, 0x29, 0xd5, 0xd6, 0x0a, 0xca, 0x53, 0x69, 0xb7, 0x1c, 0x47, 0x78, 0x15, 0xae, 0x73, 0x69,
-	0xe5, 0xd9, 0xb3, 0xca, 0x6e, 0x59, 0x29, 0xc9, 0xe5, 0xed, 0xf2, 0x7e, 0x5d, 0x2a, 0xee, 0xd6,
-	0xdc, 0x1d, 0x53, 0xd9, 0x7f, 0x41, 0x7a, 0xcc, 0x7c, 0xc5, 0x0b, 0x10, 0xe1, 0x0e, 0xf6, 0x9f,
-	0xed, 0x97, 0xe3, 0x97, 0xf0, 0x35, 0xc0, 0x7c, 0xf9, 0xe2, 0x41, 0xfe, 0x91, 0x52, 0x2d, 0xef,
-	0xf9, 0x71, 0x56, 0x60, 0x99, 0xcb, 0xe5, 0xe2, 0x73, 0xa5, 0x7a, 0xb0, 0xb5, 0x2b, 0x95, 0x94,
-	0x9d, 0xf2, 0x61, 0x7c, 0xaa, 0xf0, 0xdd, 0x12, 0x4c, 0x4b, 0xc5, 0x3d, 0xfc, 0x19, 0x82, 0xe5,
-	0x00, 0x2a, 0x81, 0xc5, 0x90, 0xaf, 0xa5, 0xdf, 0xfe, 0x54, 0x3e, 0xbc, 0x81, 0xdb, 0x63, 0xe1,
-	0xfe, 0xff, 0xbe, 0xf9, 0xfe, 0xa3, 0xa9, 0x3b, 0xf8, 0x16, 0x23, 0xdc, 0xff, 0x65, 0xa7, 0xe5,
-	0x89, 0xc7, 0x42, 0x6d, 0x31, 0xfb, 0x46, 0xb4, 0x07, 0x10, 0x7d, 0x8c, 0x60, 0x69, 0xe8, 0x41,
-	0xc3, 0xf7, 0x03, 0xc3, 0x8e, 0x22, 0x25, 0xa9, 0x30, 0x3c, 0x48, 0x10, 0x39, 0xb0, 0xbb, 0xf8,
-	0x4e, 0x10, 0xb0, 0x41, 0x5c, 0x62, 0xf6, 0x0d, 0xfe, 0x04, 0x41, 0x22, 0x68, 0x40, 0xe2, 0xe0,
-	0xa2, 0x8c, 0x61, 0xb2, 0xe1, 0x00, 0xe6, 0x39, 0xc0, 0xac, 0x10, 0xae, 0x72, 0x9b, 0x28, 0x8b,
-	0xdf, 0x21, 0x48, 0x1c, 0x98, 0xad, 0x61, 0x84, 0x61, 0xe2, 0x85, 0x03, 0x55, 0xe0, 0xa0, 0xee,
-	0xa5, 0xc2, 0x56, 0x8d, 0xc1, 0xfa, 0x10, 0x41, 0x22, 0x68, 0xe0, 0x8e, 0x28, 0xdc, 0x18, 0xee,
-	0x98, 0xba, 0x36, 0xf4, 0xa2, 0x95, 0xd9, 0x7f, 0x63, 0x7e, 0x33, 0xb3, 0xa1, 0x9b, 0xf9, 0x15,
-	0x82, 0x6b, 0xc1, 0xbc, 0x0c, 0x17, 0x26, 0xa7, 0x90, 0xa9, 0xf5, 0x89, 0x6c, 0xbc, 0xab, 0xb1,
-	0xc1, 0x41, 0xe7, 0xf0, 0xbd, 0x90, 0xa0, 0x45, 0x46, 0xf9, 0xf0, 0xe7, 0x08, 0x12, 0x41, 0x94,
-	0x6f, 0x44, 0x35, 0xc7, 0xb0, 0xc3, 0x54, 0x48, 0xae, 0x29, 0xfc, 0x81, 0x03, 0xcd, 0xe3, 0x5c,
-	0x38, 0xa0, 0x1c, 0x27, 0x2b, 0xf2, 0x17, 0x08, 0x56, 0x46, 0x50, 0x0a, 0xbc, 0x1e, 0xfa, 0xd2,
-	0xfc, 0x0c, 0xc0, 0x7f, 0xe4, 0x80, 0xd7, 0x84, 0x89, 0x2a, 0xcb, 0x8e, 0xea, 0x7b, 0x04, 0x2b,
-	0x23, 0xb8, 0xc1, 0x08, 0xc4, 0xe3, 0x99, 0xc4, 0xc8, 0x03, 0xeb, 0x95, 0x34, 0x3b, 0x69, 0x49,
-	0xdf, 0x21, 0x98, 0xf3, 0xb9, 0x03, 0xfe, 0x7d, 0x70, 0x39, 0xce, 0xb3, 0x94, 0xd4, 0xad, 0x0b,
-	0x76, 0x79, 0xa7, 0xf1, 0x31, 0x47, 0xf4, 0x40, 0xc8, 0x87, 0xbd, 0xd9, 0xb6, 0xe7, 0x81, 0xd5,
-	0xed, 0x2d, 0x82, 0x68, 0x85, 0x3a, 0x12, 0xe9, 0x54, 0xf9, 0x6f, 0x2a, 0x58, 0xe8, 0x0f, 0xea,
-	0x1e, 0xc3, 0x53, 0xa5, 0x0f, 0xec, 0xea, 0xc0, 0x1e, 0x57, 0x2b, 0xfc, 0x95, 0x03, 0xd9, 0x14,
-	0x1e, 0x72, 0x20, 0x3e, 0xd1, 0xb8, 0x00, 0x4c, 0xbb, 0x3f, 0xf8, 0x07, 0x08, 0xa2, 0xb5, 0x71,
-	0x68, 0x6a, 0xe1, 0xd1, 0x94, 0x38, 0x9a, 0x27, 0x93, 0xa1, 0xb1, 0xfb, 0xfc, 0xb3, 0xf2, 0x7c,
-	0x89, 0x00, 0xd7, 0xa9, 0xcd, 0x85, 0xd4, 0xea, 0xa8, 0xb6, 0xad, 0x1a, 0xba, 0x8d, 0x33, 0x03,
-	0x21, 0x87, 0xb7, 0xf8, 0xe0, 0xee, 0x86, 0xd8, 0xe9, 0xf5, 0x51, 0xe2, 0x80, 0x4b, 0xc2, 0x9f,
-	0x27, 0x01, 0xec, 0x0c, 0xf9, 0x63, 0xb0, 0x3f, 0x45, 0xb0, 0x1c, 0xc0, 0xdf, 0x46, 0xd0, 0x86,
-	0xd1, 0xac, 0x71, 0x04, 0x6d, 0x18, 0x43, 0x0d, 0x85, 0x0c, 0xcf, 0x42, 0x10, 0x6e, 0xb0, 0x2c,
-	0x38, 0xf9, 0xdb, 0x7c, 0x35, 0xbc, 0x7d, 0x13, 0x65, 0xb7, 0x32, 0xb0, 0xd2, 0x34, 0x3a, 0x41,
-	0x01, 0xb6, 0xe6, 0x58, 0x4a, 0xec, 0xde, 0x55, 0xd1, 0x8f, 0x08, 0x35, 0x2e, 0xf3, 0x3b, 0xb8,
-	0xfe, 0x53, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdf, 0xa1, 0xbb, 0xec, 0x02, 0x15, 0x00, 0x00,
+	// 1604 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x58, 0x4b, 0x6f, 0xdb, 0xc6,
+	0x16, 0xce, 0xf8, 0x91, 0x58, 0xc7, 0xb2, 0x2c, 0x8f, 0x95, 0x58, 0x57, 0xb2, 0x7d, 0x75, 0x79,
+	0x6f, 0x12, 0x47, 0x48, 0x24, 0x59, 0x71, 0xee, 0xcd, 0x75, 0x90, 0xb6, 0xb2, 0xac, 0x08, 0xac,
+	0x1f, 0x51, 0x29, 0x19, 0x89, 0xfb, 0x00, 0x31, 0x92, 0xc6, 0x0a, 0x6b, 0x8a, 0x64, 0x48, 0xca,
+	0xa8, 0x52, 0x64, 0xd3, 0x45, 0x37, 0x01, 0x0a, 0x14, 0xcd, 0xa2, 0xab, 0x14, 0xe8, 0xa6, 0xdd,
+	0x75, 0x53, 0xa0, 0x40, 0xff, 0x46, 0x17, 0x5d, 0x17, 0x28, 0xd0, 0xbf, 0xd0, 0x65, 0x31, 0x43,
+	0xd2, 0xd1, 0x83, 0x92, 0xe9, 0xa2, 0xe8, 0x8e, 0x73, 0x9e, 0xdf, 0x9c, 0x33, 0x73, 0xe6, 0x93,
+	0x60, 0xa5, 0xa5, 0xeb, 0x2d, 0x95, 0x66, 0x15, 0xd2, 0xce, 0x92, 0x66, 0x5b, 0xd1, 0xb2, 0x27,
+	0xeb, 0x6c, 0x91, 0x31, 0x4c, 0xdd, 0xd6, 0xf1, 0xa2, 0xa3, 0xce, 0x30, 0x09, 0x57, 0x67, 0x4e,
+	0xd6, 0x13, 0xcb, 0xae, 0x0f, 0x31, 0x94, 0x2c, 0xd1, 0x34, 0xdd, 0x26, 0xb6, 0xa2, 0x6b, 0x96,
+	0xe3, 0x92, 0x58, 0xed, 0x89, 0xe8, 0xc4, 0x92, 0x0d, 0x5d, 0x55, 0x1a, 0x5d, 0x57, 0x9f, 0xe8,
+	0xd7, 0xf7, 0xe9, 0x92, 0xae, 0x8e, 0xaf, 0xea, 0x9d, 0xa3, 0x2c, 0x6d, 0x1b, 0xb6, 0xa7, 0x4c,
+	0x0d, 0x2a, 0x8f, 0x14, 0xaa, 0x36, 0xe5, 0x36, 0xb1, 0x8e, 0x5d, 0x8b, 0x7f, 0x0e, 0x5a, 0xd8,
+	0x4a, 0x9b, 0x5a, 0x36, 0x69, 0x1b, 0x8e, 0x81, 0xf0, 0x33, 0x82, 0x48, 0x95, 0x9a, 0x27, 0x4a,
+	0x83, 0x16, 0x1a, 0x0d, 0xbd, 0xa3, 0xd9, 0x18, 0xc3, 0x94, 0x46, 0xda, 0x34, 0x8e, 0x52, 0x68,
+	0x2d, 0x24, 0xf1, 0x6f, 0xbc, 0x02, 0x60, 0x98, 0xfa, 0x87, 0xb4, 0x61, 0xcb, 0x4a, 0x33, 0x3e,
+	0xc1, 0x35, 0x21, 0x57, 0x22, 0x36, 0x71, 0x12, 0x42, 0x1d, 0x4d, 0x79, 0xda, 0xa1, 0x4c, 0x3b,
+	0xc5, 0xb5, 0x33, 0x8e, 0x40, 0x6c, 0xe2, 0x18, 0x4c, 0xd3, 0x36, 0x51, 0xd4, 0xf8, 0x34, 0x57,
+	0x38, 0x0b, 0xfc, 0x2f, 0x08, 0x37, 0x15, 0xcb, 0x50, 0x49, 0x57, 0xe6, 0xd9, 0x2e, 0x72, 0xe5,
+	0xac, 0x2b, 0xdb, 0x67, 0x49, 0x31, 0x4c, 0x51, 0x9b, 0xb4, 0xe2, 0x97, 0x52, 0x68, 0x2d, 0x2c,
+	0xf1, 0x6f, 0xbc, 0x06, 0x51, 0x9d, 0x74, 0xec, 0x27, 0x79, 0xb9, 0xa1, 0x2a, 0x54, 0xe3, 0x70,
+	0x42, 0xdc, 0x35, 0xe2, 0xc8, 0x8b, 0x5c, 0x2c, 0x36, 0x85, 0x57, 0x08, 0x92, 0x45, 0x93, 0x12,
+	0x9b, 0xf6, 0xef, 0x4f, 0xa2, 0x4f, 0x3b, 0xd4, 0x1a, 0xb9, 0x4d, 0xe2, 0x58, 0xf5, 0x6c, 0xd3,
+	0x95, 0x88, 0x4d, 0xbc, 0x0b, 0xf3, 0x96, 0x13, 0x4b, 0x76, 0x85, 0xf1, 0xc9, 0x14, 0x5a, 0x9b,
+	0xcd, 0xff, 0x3b, 0xe3, 0x73, 0x2a, 0x32, 0x03, 0x79, 0x23, 0x56, 0xdf, 0x5a, 0x50, 0x21, 0xb1,
+	0xab, 0x58, 0x76, 0xbf, 0x95, 0x35, 0x0e, 0x5e, 0x12, 0x42, 0x06, 0x69, 0x51, 0xd9, 0x52, 0x9e,
+	0x51, 0x8e, 0x6e, 0x5a, 0x9a, 0x61, 0x82, 0xaa, 0xf2, 0xcc, 0x69, 0x11, 0x53, 0xda, 0xfa, 0x31,
+	0xd5, 0x38, 0x2e, 0xd6, 0x22, 0xd2, 0xa2, 0x35, 0x26, 0x10, 0x3e, 0x45, 0x90, 0xf4, 0x4d, 0x67,
+	0x19, 0xba, 0x66, 0x51, 0xfc, 0x26, 0xcc, 0xb8, 0x7b, 0xb2, 0xe2, 0x28, 0x35, 0x19, 0x74, 0x53,
+	0xa7, 0x4e, 0xf8, 0x1a, 0xcc, 0x6b, 0xf4, 0x23, 0x5b, 0xee, 0x01, 0xe1, 0x14, 0x70, 0x8e, 0x89,
+	0x2b, 0xa7, 0x40, 0x32, 0x10, 0x2f, 0x53, 0x3b, 0x70, 0x4f, 0x84, 0x75, 0x48, 0x6e, 0x53, 0x95,
+	0x9e, 0xa3, 0x8d, 0xec, 0x50, 0xaf, 0x0c, 0xef, 0x75, 0x87, 0x76, 0xc7, 0x56, 0xf7, 0x11, 0x84,
+	0x8e, 0x69, 0x57, 0xb6, 0xbb, 0x06, 0xb5, 0xe2, 0x13, 0xa9, 0xc9, 0xb5, 0x48, 0x7e, 0xd3, 0xb7,
+	0x04, 0x63, 0x43, 0x67, 0x76, 0x68, 0xb7, 0xd6, 0x35, 0xa8, 0x34, 0x73, 0xec, 0x7c, 0x58, 0x82,
+	0x08, 0x97, 0x5c, 0x21, 0x8e, 0x43, 0x6c, 0xa7, 0x74, 0x28, 0xd7, 0x0e, 0x2b, 0x25, 0xf9, 0x60,
+	0xbf, 0x5a, 0x29, 0x15, 0xc5, 0x07, 0x62, 0x69, 0x3b, 0x7a, 0x01, 0x47, 0x21, 0x7c, 0x50, 0x2d,
+	0x49, 0xf2, 0x5e, 0x61, 0xbf, 0x50, 0x2e, 0x6d, 0x47, 0x11, 0xc6, 0x10, 0xa9, 0x1e, 0x56, 0x6b,
+	0xa5, 0xbd, 0x53, 0xd9, 0x84, 0xf0, 0x3e, 0xac, 0x8e, 0xca, 0xee, 0xf6, 0x71, 0x13, 0xa6, 0x8e,
+	0x69, 0xd7, 0xeb, 0xe1, 0xb5, 0x00, 0x3d, 0xdc, 0xa1, 0x5d, 0x89, 0xfb, 0x08, 0x2f, 0x10, 0x24,
+	0x87, 0x7a, 0xc3, 0xd4, 0x63, 0xaa, 0xf6, 0x18, 0xe6, 0x8d, 0x4e, 0x5d, 0x55, 0x1a, 0xb2, 0x57,
+	0x3c, 0xde, 0xf6, 0x48, 0x3e, 0x17, 0x20, 0x75, 0x85, 0x7b, 0x7a, 0x15, 0x9b, 0x33, 0x7a, 0x97,
+	0xc2, 0x8f, 0x93, 0xb0, 0x30, 0x04, 0xc5, 0x17, 0xc3, 0x7b, 0x10, 0x35, 0x4c, 0xe5, 0x84, 0xd8,
+	0x74, 0x10, 0xc4, 0x7a, 0x10, 0x10, 0x8e, 0xab, 0x87, 0x22, 0x62, 0xf4, 0xad, 0x71, 0x0d, 0xe6,
+	0x58, 0x50, 0xa2, 0xb6, 0x74, 0x53, 0xb1, 0x9f, 0xb4, 0xe3, 0x33, 0x3c, 0x72, 0x36, 0x58, 0x65,
+	0x0b, 0x9e, 0x9b, 0x14, 0x3e, 0xee, 0x59, 0xb1, 0x39, 0xd6, 0x0b, 0xb9, 0x49, 0x6c, 0xc2, 0xef,
+	0x6c, 0xb8, 0x37, 0xff, 0x36, 0xb1, 0x09, 0xbb, 0x57, 0x3d, 0x05, 0xe6, 0x86, 0xce, 0x40, 0x7c,
+	0x5d, 0x2e, 0x6e, 0xb7, 0x0d, 0xd1, 0x13, 0xa2, 0x2a, 0x4d, 0x99, 0x1c, 0xd9, 0xd4, 0x94, 0xd9,
+	0xa0, 0xe7, 0xa3, 0x78, 0x36, 0x9f, 0xf0, 0xa0, 0x7a, 0xaf, 0x40, 0xa6, 0xe6, 0xbd, 0x02, 0x52,
+	0x84, 0xfb, 0x14, 0x98, 0x0b, 0x13, 0xe2, 0x07, 0xb0, 0xe0, 0x44, 0xa9, 0xd3, 0x23, 0xdd, 0xa4,
+	0x4e, 0x98, 0xe9, 0x33, 0xc3, 0xcc, 0x73, 0xa7, 0x2d, 0xee, 0xc3, 0xa4, 0xc2, 0x6f, 0x08, 0x56,
+	0xfd, 0xa6, 0xef, 0x19, 0xa7, 0xe9, 0xef, 0xed, 0xe4, 0xe4, 0x5f, 0xd0, 0x49, 0x61, 0x03, 0x56,
+	0xfd, 0xe6, 0xd3, 0xf8, 0x8d, 0x0a, 0x22, 0xcc, 0x57, 0x95, 0x96, 0xb6, 0xa5, 0xea, 0xf5, 0x71,
+	0xf5, 0x10, 0x60, 0xae, 0xde, 0xb5, 0xa9, 0x25, 0xdb, 0xba, 0x6c, 0x29, 0x2d, 0x67, 0xa4, 0x86,
+	0xa5, 0x59, 0x2e, 0xac, 0xe9, 0x2c, 0x84, 0x50, 0x86, 0xe8, 0xeb, 0x50, 0xee, 0x14, 0xb8, 0x0c,
+	0x17, 0xd9, 0x56, 0x95, 0xa6, 0x1b, 0x6d, 0xfa, 0x98, 0x76, 0xc5, 0x26, 0x5e, 0x86, 0x10, 0x8b,
+	0x42, 0xec, 0x8e, 0x49, 0xdd, 0x50, 0xaf, 0x05, 0x82, 0x04, 0x53, 0x92, 0xae, 0x52, 0x5f, 0x20,
+	0x31, 0x98, 0xb6, 0x15, 0x5b, 0xa5, 0xee, 0x4c, 0x77, 0x16, 0x38, 0x05, 0xb3, 0x4d, 0x6a, 0x35,
+	0x4c, 0xc5, 0x60, 0x7c, 0xc7, 0x7d, 0x74, 0x7a, 0x45, 0xc2, 0xdb, 0x90, 0x78, 0xa7, 0x43, 0xcd,
+	0x6e, 0xd9, 0x24, 0x9a, 0x4d, 0xea, 0x2a, 0x65, 0x19, 0x4e, 0xc7, 0xf0, 0x4d, 0xc0, 0x47, 0x1d,
+	0x55, 0x95, 0x4d, 0x6a, 0xe9, 0x1d, 0xb3, 0x41, 0xe5, 0x9e, 0xbc, 0x51, 0xa6, 0x91, 0x5c, 0x05,
+	0xe3, 0x03, 0xc2, 0x3e, 0x24, 0x7d, 0x63, 0xb9, 0x7b, 0xce, 0xc2, 0xb4, 0xc9, 0x04, 0xee, 0xe8,
+	0xfb, 0x87, 0x6f, 0x5b, 0x99, 0x8b, 0xe4, 0xd8, 0xa5, 0x09, 0x24, 0x46, 0x77, 0x19, 0x2f, 0xc1,
+	0x22, 0x1b, 0xd5, 0x85, 0xdd, 0xf2, 0xc0, 0xa4, 0x8e, 0x41, 0xd4, 0x53, 0x48, 0xd5, 0x82, 0xbc,
+	0x9e, 0xcb, 0x6f, 0x44, 0xd1, 0xa0, 0x34, 0x9f, 0xdb, 0xb8, 0x1b, 0x9d, 0x48, 0xab, 0xb0, 0x3c,
+	0xee, 0x88, 0x32, 0x2f, 0x9f, 0xb7, 0xc0, 0x93, 0x56, 0x76, 0x8a, 0xd5, 0xf5, 0xbc, 0xfc, 0x40,
+	0xdc, 0x2d, 0x45, 0x11, 0x4e, 0xc1, 0x32, 0x97, 0x96, 0x1f, 0x3e, 0x2c, 0xef, 0x96, 0xe4, 0xa2,
+	0x54, 0xda, 0x2e, 0xed, 0xd7, 0xc4, 0xc2, 0x6e, 0xd5, 0xb1, 0x98, 0x48, 0x7f, 0x00, 0xc9, 0x31,
+	0xf3, 0x15, 0xcf, 0x41, 0x88, 0x07, 0xd8, 0x7f, 0xb8, 0x5f, 0x8a, 0x5e, 0xc0, 0x57, 0x00, 0xf3,
+	0xe5, 0xe3, 0x3b, 0xb9, 0xff, 0xcb, 0x95, 0xd2, 0x9e, 0x97, 0x67, 0x09, 0x16, 0xb9, 0x5c, 0x2a,
+	0x3c, 0x92, 0x2b, 0x07, 0x5b, 0xbb, 0x62, 0x51, 0xde, 0x29, 0x1d, 0x46, 0x27, 0xf2, 0xbf, 0x2c,
+	0xc0, 0xa4, 0x58, 0xd8, 0xc3, 0xdf, 0x20, 0x58, 0xf4, 0xa1, 0x12, 0x38, 0x1b, 0xf0, 0xb5, 0xf4,
+	0xda, 0x9f, 0xc8, 0x05, 0x77, 0x70, 0x7a, 0x2c, 0xdc, 0xfa, 0xe4, 0xa7, 0x5f, 0xbf, 0x98, 0xb8,
+	0x8e, 0xaf, 0x32, 0xa2, 0xfc, 0x31, 0x3b, 0x2d, 0xf7, 0x5d, 0x16, 0x6a, 0x65, 0xd3, 0xcf, 0xb3,
+	0xd6, 0x00, 0xa2, 0x2f, 0x11, 0x2c, 0x0c, 0x3d, 0x68, 0xf8, 0x96, 0x6f, 0xda, 0x51, 0xa4, 0x24,
+	0x11, 0x84, 0x07, 0x09, 0x59, 0x0e, 0xec, 0x06, 0xbe, 0xee, 0x07, 0x6c, 0x10, 0x57, 0x36, 0xfd,
+	0x1c, 0x7f, 0x85, 0x20, 0xe6, 0x37, 0x20, 0xb1, 0x7f, 0x51, 0xc6, 0x30, 0xd9, 0x60, 0x00, 0x73,
+	0x1c, 0x60, 0x5a, 0x08, 0x56, 0xb9, 0x4d, 0x94, 0xc6, 0x2f, 0x11, 0xc4, 0x0e, 0x8c, 0xe6, 0x30,
+	0xc2, 0x20, 0xf9, 0x82, 0x81, 0xca, 0x73, 0x50, 0x37, 0x13, 0x41, 0xab, 0xc6, 0x60, 0x7d, 0x8e,
+	0x20, 0xe6, 0x37, 0x70, 0x47, 0x14, 0x6e, 0x0c, 0x77, 0x4c, 0x5c, 0x19, 0x7a, 0xd1, 0x4a, 0xec,
+	0xd7, 0x95, 0xd7, 0xcc, 0x74, 0xe0, 0x66, 0xfe, 0x80, 0xe0, 0x8a, 0x3f, 0x2f, 0xc3, 0xf9, 0xf3,
+	0x53, 0xc8, 0xc4, 0xed, 0x73, 0xf9, 0xb8, 0x57, 0x63, 0x83, 0x83, 0xce, 0xe0, 0x9b, 0x01, 0x41,
+	0x67, 0x19, 0xe5, 0xc3, 0xdf, 0x22, 0x88, 0xf9, 0x51, 0xbe, 0x11, 0xd5, 0x1c, 0xc3, 0x0e, 0x13,
+	0x01, 0xb9, 0xa6, 0xf0, 0x5f, 0x0e, 0x34, 0x87, 0x33, 0xc1, 0x80, 0x72, 0x9c, 0xac, 0xc8, 0xdf,
+	0x21, 0x58, 0x1a, 0x41, 0x29, 0xf0, 0xed, 0xc0, 0x97, 0xe6, 0x4f, 0x00, 0xfe, 0x1f, 0x07, 0xbc,
+	0x2e, 0x9c, 0xab, 0xb2, 0xec, 0xa8, 0xbe, 0x42, 0xb0, 0x34, 0x82, 0x1b, 0x8c, 0x40, 0x3c, 0x9e,
+	0x49, 0x8c, 0x3c, 0xb0, 0x6e, 0x49, 0xd3, 0xe7, 0x2d, 0xe9, 0x4b, 0x04, 0x33, 0x1e, 0x77, 0xc0,
+	0xff, 0xf1, 0x2f, 0x47, 0x3f, 0x4b, 0x49, 0x5c, 0x3d, 0xc3, 0xca, 0x3d, 0x8d, 0xf7, 0x38, 0xa2,
+	0x3b, 0x42, 0x2e, 0xe8, 0xcd, 0xb6, 0xdc, 0x08, 0xac, 0x6e, 0x2f, 0x10, 0x84, 0xcb, 0xd4, 0x16,
+	0x49, 0xbb, 0xc2, 0xff, 0x0b, 0xc1, 0x42, 0x6f, 0x52, 0xe7, 0x18, 0x9e, 0x2a, 0x3d, 0x60, 0x97,
+	0x07, 0x6c, 0x1c, 0xad, 0xf0, 0x16, 0x07, 0xb2, 0x29, 0xdc, 0xe5, 0x40, 0x3c, 0xa2, 0x71, 0x06,
+	0x98, 0x56, 0x6f, 0xf2, 0xcf, 0x10, 0x84, 0xab, 0xe3, 0xd0, 0x54, 0x83, 0xa3, 0x29, 0x72, 0x34,
+	0xf7, 0xcf, 0x87, 0xc6, 0xea, 0x89, 0xcf, 0xca, 0xf3, 0x3d, 0x02, 0x5c, 0xa3, 0x16, 0x17, 0x52,
+	0xb3, 0xad, 0x58, 0x96, 0xa2, 0x6b, 0x16, 0x5e, 0x1b, 0x48, 0x39, 0x6c, 0xe2, 0x81, 0xbb, 0x11,
+	0xc0, 0xd2, 0xed, 0xa3, 0xc8, 0x01, 0x17, 0x85, 0x37, 0xce, 0x03, 0xd8, 0x1e, 0x8a, 0xc7, 0x60,
+	0x7f, 0x8d, 0x60, 0xd1, 0x87, 0xbf, 0x8d, 0xa0, 0x0d, 0xa3, 0x59, 0xe3, 0x08, 0xda, 0x30, 0x86,
+	0x1a, 0x0a, 0x6b, 0x7c, 0x17, 0x82, 0xb0, 0xc2, 0x76, 0xc1, 0xc9, 0xdf, 0xe6, 0xd3, 0x61, 0xf3,
+	0x4d, 0x94, 0xde, 0xaa, 0xc3, 0x52, 0x43, 0x6f, 0xfb, 0x25, 0xd8, 0x9a, 0x61, 0x5b, 0x62, 0xf7,
+	0xae, 0x82, 0xde, 0xbd, 0xeb, 0x1a, 0xb4, 0x74, 0x95, 0x68, 0xad, 0x8c, 0x6e, 0xb6, 0xb2, 0x2d,
+	0xaa, 0xf1, 0x5b, 0x99, 0x75, 0x54, 0xc4, 0x50, 0xac, 0xbe, 0xff, 0x10, 0xef, 0xf1, 0x8f, 0xdf,
+	0x11, 0xaa, 0x5f, 0xe4, 0x76, 0xb7, 0xff, 0x08, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xae, 0xd0, 0x13,
+	0x6a, 0x14, 0x00, 0x00,
 }
diff --git a/googleapis/iam/admin/v1/iam.proto b/googleapis/iam/admin/v1/iam.proto
deleted file mode 100644
index d7236dba..00000000
--- a/googleapis/iam/admin/v1/iam.proto
+++ /dev/null
@@ -1,468 +0,0 @@
-// 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 5eb9eb0b..8f1ab89b 100644
--- a/googleapis/iam/v1/iam_policy.pb.go
+++ b/googleapis/iam/v1/iam_policy.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto
+// source: google/iam/v1/iam_policy.proto
 // DO NOT EDIT!
 
 /*
-Package google_iam_v1 is a generated protocol buffer package.
+Package iam is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto
-	google.golang.org/genproto/googleapis/iam/v1/policy.proto
+	google/iam/v1/iam_policy.proto
+	google/iam/v1/policy.proto
 
 It has these top-level messages:
 	SetIamPolicyRequest
@@ -17,12 +17,12 @@ It has these top-level messages:
 	Policy
 	Binding
 */
-package google_iam_v1 // import "google.golang.org/genproto/googleapis/iam/v1"
+package iam
 
 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/api/annotations"
 
 import (
 	context "golang.org/x/net/context"
@@ -58,6 +58,13 @@ func (m *SetIamPolicyRequest) String() string            { return proto.CompactT
 func (*SetIamPolicyRequest) ProtoMessage()               {}
 func (*SetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *SetIamPolicyRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
 func (m *SetIamPolicyRequest) GetPolicy() *Policy {
 	if m != nil {
 		return m.Policy
@@ -78,6 +85,13 @@ func (m *GetIamPolicyRequest) String() string            { return proto.CompactT
 func (*GetIamPolicyRequest) ProtoMessage()               {}
 func (*GetIamPolicyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetIamPolicyRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
 // Request message for `TestIamPermissions` method.
 type TestIamPermissionsRequest struct {
 	// REQUIRED: The resource for which the policy detail is being requested.
@@ -96,6 +110,20 @@ func (m *TestIamPermissionsRequest) String() string            { return proto.Co
 func (*TestIamPermissionsRequest) ProtoMessage()               {}
 func (*TestIamPermissionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *TestIamPermissionsRequest) GetResource() string {
+	if m != nil {
+		return m.Resource
+	}
+	return ""
+}
+
+func (m *TestIamPermissionsRequest) GetPermissions() []string {
+	if m != nil {
+		return m.Permissions
+	}
+	return nil
+}
+
 // Response message for `TestIamPermissions` method.
 type TestIamPermissionsResponse struct {
 	// A subset of `TestPermissionsRequest.permissions` that the caller is
@@ -108,6 +136,13 @@ func (m *TestIamPermissionsResponse) String() string            { return proto.C
 func (*TestIamPermissionsResponse) ProtoMessage()               {}
 func (*TestIamPermissionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *TestIamPermissionsResponse) GetPermissions() []string {
+	if m != nil {
+		return m.Permissions
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*SetIamPolicyRequest)(nil), "google.iam.v1.SetIamPolicyRequest")
 	proto.RegisterType((*GetIamPolicyRequest)(nil), "google.iam.v1.GetIamPolicyRequest")
@@ -134,6 +169,8 @@ type IAMPolicyClient interface {
 	// set.
 	GetIamPolicy(ctx context.Context, in *GetIamPolicyRequest, opts ...grpc.CallOption) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
+	// If the resource does not exist, this will return an empty set of
+	// permissions, not a NOT_FOUND error.
 	TestIamPermissions(ctx context.Context, in *TestIamPermissionsRequest, opts ...grpc.CallOption) (*TestIamPermissionsResponse, error)
 }
 
@@ -183,6 +220,8 @@ type IAMPolicyServer interface {
 	// set.
 	GetIamPolicy(context.Context, *GetIamPolicyRequest) (*Policy, error)
 	// Returns permissions that a caller has on the specified resource.
+	// If the resource does not exist, this will return an empty set of
+	// permissions, not a NOT_FOUND error.
 	TestIamPermissions(context.Context, *TestIamPermissionsRequest) (*TestIamPermissionsResponse, error)
 }
 
@@ -262,37 +301,36 @@ var _IAMPolicy_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto",
+	Metadata: "google/iam/v1/iam_policy.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/v1/iam_policy.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/iam/v1/iam_policy.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 375 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x52, 0xcf, 0x4a, 0xc3, 0x30,
-	0x18, 0x27, 0x1b, 0x0c, 0x97, 0xa9, 0x60, 0x86, 0x30, 0x7b, 0x90, 0x12, 0x3d, 0x74, 0x05, 0x1b,
-	0x36, 0x4f, 0x0e, 0x26, 0xb8, 0xcb, 0xd8, 0x41, 0x18, 0xd3, 0x8b, 0x27, 0x8d, 0x25, 0x86, 0xc0,
-	0x9a, 0xd4, 0x26, 0x1b, 0x88, 0x78, 0xf1, 0x15, 0xf4, 0xe4, 0x6b, 0xf9, 0x0a, 0x3e, 0x84, 0x47,
-	0x69, 0x3b, 0x67, 0xb7, 0x4e, 0xe9, 0xc0, 0x53, 0x69, 0xf2, 0xfd, 0xfe, 0x7e, 0x81, 0x5d, 0xae,
-	0x14, 0x1f, 0x33, 0x8f, 0xab, 0x31, 0x95, 0xdc, 0x53, 0x11, 0x27, 0x9c, 0xc9, 0x30, 0x52, 0x46,
-	0x91, 0xf4, 0x8a, 0x86, 0x42, 0x13, 0x41, 0x03, 0x32, 0x6d, 0xc5, 0x9f, 0xeb, 0x50, 0x8d, 0x85,
-	0xff, 0xe0, 0x25, 0x23, 0x68, 0x6b, 0x06, 0x17, 0x34, 0xf0, 0xa6, 0x2d, 0x6b, 0x50, 0x8c, 0x8d,
-	0x86, 0x82, 0x68, 0x16, 0x4d, 0x85, 0xcf, 0x7c, 0x25, 0xef, 0x04, 0x27, 0x54, 0x4a, 0x65, 0xa8,
-	0x11, 0x4a, 0xea, 0x94, 0xd9, 0x3a, 0x59, 0xcb, 0x58, 0xd6, 0x14, 0xbe, 0x81, 0xf5, 0x0b, 0x66,
-	0x06, 0x34, 0x18, 0x26, 0xa7, 0x23, 0x76, 0x3f, 0x61, 0xda, 0x20, 0x0b, 0x6e, 0x44, 0x4c, 0xab,
-	0x49, 0xe4, 0xb3, 0x06, 0xb0, 0x81, 0x53, 0x1d, 0xcd, 0xff, 0xd1, 0x11, 0xac, 0xa4, 0x14, 0x8d,
-	0x92, 0x0d, 0x9c, 0x5a, 0x7b, 0xd7, 0x5b, 0x08, 0xe6, 0xcd, 0x98, 0x66, 0x43, 0xb8, 0x05, 0xeb,
-	0xfd, 0xf5, 0x14, 0xf0, 0x15, 0xdc, 0xbb, 0x64, 0x3a, 0xc1, 0xb0, 0x28, 0x10, 0x5a, 0xc7, 0x59,
-	0x8b, 0x58, 0xb3, 0x61, 0x2d, 0xfc, 0x41, 0x34, 0x4a, 0x76, 0xd9, 0xa9, 0x8e, 0xb2, 0x47, 0xf8,
-	0x14, 0x5a, 0xab, 0xa8, 0x75, 0xa8, 0xa4, 0xce, 0xe1, 0x41, 0x0e, 0xdf, 0x7e, 0x2d, 0xc3, 0xea,
-	0xe0, 0xec, 0x3c, 0xcd, 0x82, 0x0c, 0xdc, 0xcc, 0xb6, 0x87, 0xf0, 0x52, 0x15, 0x2b, 0xaa, 0xb5,
-	0x56, 0xd7, 0x85, 0x9b, 0xcf, 0xef, 0x1f, 0x2f, 0xa5, 0x03, 0xbc, 0x1f, 0xaf, 0xe8, 0xf1, 0x3b,
-	0x51, 0xd7, 0x75, 0x9f, 0x3a, 0x3a, 0xc3, 0xd2, 0x01, 0x6e, 0xac, 0xda, 0xff, 0x4b, 0xb5, 0xff,
-	0x2f, 0xaa, 0x7c, 0x49, 0xf5, 0x0d, 0x40, 0x94, 0xaf, 0x0e, 0x39, 0x4b, 0xc4, 0xbf, 0x2e, 0xce,
-	0x6a, 0x16, 0x98, 0x4c, 0xf7, 0x80, 0x49, 0x62, 0xab, 0x89, 0x0f, 0xf3, 0xb6, 0x4c, 0x0e, 0xd5,
-	0x01, 0x6e, 0xcf, 0x81, 0x3b, 0xbe, 0x0a, 0x16, 0x05, 0x7a, 0xdb, 0x73, 0xff, 0xc3, 0xf8, 0xad,
-	0x0f, 0xc1, 0x27, 0x00, 0xb7, 0x95, 0xe4, 0xdd, 0x1f, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x17,
-	0xc5, 0x32, 0xda, 0xcd, 0x03, 0x00, 0x00,
+	// 396 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x53, 0xcf, 0x4a, 0xe3, 0x40,
+	0x18, 0x67, 0x52, 0x28, 0xdb, 0xe9, 0xee, 0xc2, 0xa6, 0x2c, 0xd4, 0x20, 0x25, 0x8c, 0x1e, 0xd2,
+	0x80, 0x13, 0x53, 0x6f, 0x15, 0x05, 0xeb, 0x21, 0xf4, 0x20, 0x94, 0x2a, 0x82, 0x5e, 0x74, 0xac,
+	0x43, 0x18, 0x48, 0x32, 0x31, 0x33, 0x2d, 0x88, 0x78, 0xf1, 0x15, 0xf4, 0xe4, 0x23, 0xf8, 0x3a,
+	0xbe, 0x82, 0x0f, 0xe1, 0x51, 0x92, 0x89, 0x35, 0x6d, 0xaa, 0x54, 0xf0, 0x54, 0x3a, 0xf3, 0xfb,
+	0xf7, 0xfd, 0xbe, 0x0c, 0x6c, 0xf9, 0x9c, 0xfb, 0x01, 0x75, 0x18, 0x09, 0x9d, 0x89, 0x9b, 0xfe,
+	0x9c, 0xc5, 0x3c, 0x60, 0xa3, 0x6b, 0x1c, 0x27, 0x5c, 0x72, 0xfd, 0x8f, 0xba, 0xc7, 0x8c, 0x84,
+	0x78, 0xe2, 0x1a, 0xab, 0x39, 0x9c, 0xc4, 0xcc, 0x21, 0x51, 0xc4, 0x25, 0x91, 0x8c, 0x47, 0x42,
+	0x81, 0x0d, 0x63, 0x56, 0xac, 0x28, 0x84, 0xce, 0x61, 0xe3, 0x90, 0xca, 0x3e, 0x09, 0x07, 0xd9,
+	0xe9, 0x90, 0x5e, 0x8d, 0xa9, 0x90, 0xba, 0x01, 0x7f, 0x25, 0x54, 0xf0, 0x71, 0x32, 0xa2, 0x4d,
+	0x60, 0x02, 0xab, 0x36, 0x9c, 0xfe, 0xd7, 0x37, 0x60, 0x55, 0x49, 0x34, 0x35, 0x13, 0x58, 0xf5,
+	0xce, 0x7f, 0x3c, 0x13, 0x06, 0xe7, 0x4a, 0x39, 0x08, 0xb9, 0xb0, 0xe1, 0x7d, 0xcf, 0x01, 0x9d,
+	0xc0, 0x95, 0x23, 0x2a, 0x32, 0x0e, 0x4d, 0x42, 0x26, 0x44, 0x3a, 0xcc, 0x32, 0xd1, 0x4c, 0x58,
+	0x8f, 0x3f, 0x18, 0x4d, 0xcd, 0xac, 0x58, 0xb5, 0x61, 0xf1, 0x08, 0xed, 0x42, 0x63, 0x91, 0xb4,
+	0x88, 0x79, 0x24, 0x4a, 0x7c, 0x50, 0xe2, 0x77, 0x1e, 0x2a, 0xb0, 0xd6, 0xdf, 0x3b, 0x50, 0xb3,
+	0xe8, 0x12, 0xfe, 0x2e, 0xb6, 0xa7, 0xa3, 0xb9, 0x2a, 0x16, 0x54, 0x6b, 0x2c, 0xae, 0x0b, 0xb5,
+	0xef, 0x9e, 0x5f, 0xee, 0xb5, 0x35, 0xd4, 0x4a, 0x57, 0x74, 0xf3, 0x3e, 0xd1, 0x8e, 0x6d, 0xdf,
+	0x76, 0x45, 0x41, 0xa5, 0x0b, 0xec, 0xd4, 0xd5, 0xfb, 0xca, 0xd5, 0xfb, 0x11, 0x57, 0x7f, 0xce,
+	0xf5, 0x11, 0x40, 0xbd, 0x5c, 0x9d, 0x6e, 0xcd, 0x09, 0x7f, 0xba, 0x38, 0xa3, 0xbd, 0x04, 0x52,
+	0xed, 0x01, 0x39, 0x59, 0xac, 0x36, 0x5a, 0x2f, 0xc7, 0x92, 0x25, 0x56, 0x17, 0xd8, 0xbd, 0x18,
+	0xfe, 0x1b, 0xf1, 0x70, 0xd6, 0xa0, 0xf7, 0x77, 0x9a, 0x7f, 0x90, 0x7e, 0xeb, 0x03, 0x70, 0xba,
+	0x99, 0x03, 0x7c, 0x1e, 0x90, 0xc8, 0xc7, 0x3c, 0xf1, 0x1d, 0x9f, 0x46, 0xd9, 0x4b, 0x70, 0xd4,
+	0x15, 0x89, 0x99, 0xc8, 0x1f, 0xca, 0x36, 0x23, 0xe1, 0x2b, 0x00, 0x4f, 0x5a, 0xc3, 0x53, 0xac,
+	0xfd, 0x80, 0x8f, 0x2f, 0x71, 0x9f, 0x84, 0xf8, 0xd8, 0xbd, 0xa8, 0x66, 0xac, 0xad, 0xb7, 0x00,
+	0x00, 0x00, 0xff, 0xff, 0x6c, 0x3a, 0x2b, 0x4d, 0xaa, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/iam_policy.proto b/googleapis/iam/v1/iam_policy.proto
deleted file mode 100644
index ffc1e714..00000000
--- a/googleapis/iam/v1/iam_policy.proto
+++ /dev/null
@@ -1,114 +0,0 @@
-// 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.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";
-
-
-// ## 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.
-//
-// ## Data model
-//
-// Access control is applied when a principal (user or service account), takes
-// some action on a resource exposed by a service. Resources, identified by
-// URI-like names, are the unit of access control specification. Service
-// implementations can choose the granularity of access control and the
-// supported permissions for their resources.
-// For example one database service may allow access control to be
-// specified only at the Table level, whereas another might allow access control
-// to also be specified at the Column level.
-//
-// ## Policy Structure
-//
-// See google.iam.v1.Policy
-//
-// This is intentionally not a CRUD style API because access control policies
-// are created and deleted implicitly with the resources to which they are
-// attached.
-service IAMPolicy {
-  // Sets the access control policy on the specified resource. Replaces any
-  // existing policy.
-  rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy) {
-    option (google.api.http) = { post: "/v1/{resource=**}:setIamPolicy" body: "*" };
-  }
-
-  // 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) {
-    option (google.api.http) = { post: "/v1/{resource=**}:testIamPermissions" body: "*" };
-  }
-}
-
-// Request message for `SetIamPolicy` method.
-message SetIamPolicyRequest {
-  // 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 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 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 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. For more
-  // information see
-  // [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
-  repeated string permissions = 2;
-}
-
-// Response message for `TestIamPermissions` method.
-message TestIamPermissionsResponse {
-  // A subset of `TestPermissionsRequest.permissions` that the caller is
-  // allowed.
-  repeated string permissions = 1;
-}
diff --git a/googleapis/iam/v1/policy.pb.go b/googleapis/iam/v1/policy.pb.go
index 9a908bf2..dd2554fb 100644
--- a/googleapis/iam/v1/policy.pb.go
+++ b/googleapis/iam/v1/policy.pb.go
@@ -1,12 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/iam/v1/policy.proto
+// source: google/iam/v1/policy.proto
 // DO NOT EDIT!
 
-package google_iam_v1 // import "google.golang.org/genproto/googleapis/iam/v1"
+package iam
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import _ "google.golang.org/genproto/googleapis/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -69,6 +70,13 @@ func (m *Policy) String() string            { return proto.CompactTextString(m)
 func (*Policy) ProtoMessage()               {}
 func (*Policy) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *Policy) GetVersion() int32 {
+	if m != nil {
+		return m.Version
+	}
+	return 0
+}
+
 func (m *Policy) GetBindings() []*Binding {
 	if m != nil {
 		return m.Bindings
@@ -76,6 +84,13 @@ func (m *Policy) GetBindings() []*Binding {
 	return nil
 }
 
+func (m *Policy) GetEtag() []byte {
+	if m != nil {
+		return m.Etag
+	}
+	return nil
+}
+
 // Associates `members` with a `role`.
 type Binding struct {
 	// Role that is assigned to `members`.
@@ -94,6 +109,7 @@ type Binding struct {
 	// * `user:{emailid}`: An email address that represents a specific Google
 	//    account. For example, `alice@gmail.com` or `joe@example.com`.
 	//
+	//
 	// * `serviceAccount:{emailid}`: An email address that represents a service
 	//    account. For example, `my-other-app@appspot.gserviceaccount.com`.
 	//
@@ -112,29 +128,44 @@ func (m *Binding) String() string            { return proto.CompactTextString(m)
 func (*Binding) ProtoMessage()               {}
 func (*Binding) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *Binding) GetRole() string {
+	if m != nil {
+		return m.Role
+	}
+	return ""
+}
+
+func (m *Binding) GetMembers() []string {
+	if m != nil {
+		return m.Members
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Policy)(nil), "google.iam.v1.Policy")
 	proto.RegisterType((*Binding)(nil), "google.iam.v1.Binding")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/iam/v1/policy.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/iam/v1/policy.proto", fileDescriptor1) }
 
 var fileDescriptor1 = []byte{
-	// 216 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x54, 0x8f, 0xc1, 0x6a, 0x03, 0x21,
-	0x18, 0x84, 0xb1, 0x9b, 0x26, 0x8d, 0x69, 0x0f, 0xf5, 0x50, 0x3c, 0x4a, 0xa0, 0xe0, 0x49, 0x49,
-	0x7a, 0x28, 0xbd, 0xee, 0x13, 0x2c, 0xbe, 0x81, 0x9b, 0xca, 0x8f, 0x45, 0xfd, 0x17, 0x0d, 0x0b,
-	0x7d, 0xf3, 0x1e, 0xcb, 0xba, 0xd9, 0xc0, 0xde, 0xfe, 0xe1, 0x1b, 0x9d, 0x19, 0xfa, 0x05, 0x88,
-	0x10, 0x9c, 0x02, 0x0c, 0x36, 0x81, 0xc2, 0x0c, 0x1a, 0x5c, 0x1a, 0x32, 0x5e, 0x51, 0xcf, 0xc8,
-	0x0e, 0xbe, 0x68, 0x6f, 0xa3, 0x1e, 0x4f, 0x7a, 0xc0, 0xe0, 0x2f, 0xbf, 0xaa, 0x62, 0xf6, 0x72,
-	0x7b, 0xea, 0x6d, 0x54, 0xe3, 0xe9, 0xf8, 0x43, 0xb7, 0x5d, 0xc5, 0x8c, 0xd3, 0xdd, 0xe8, 0x72,
-	0xf1, 0x98, 0x38, 0x11, 0x44, 0x3e, 0x9a, 0x45, 0xb2, 0x33, 0x7d, 0xea, 0x7d, 0xfa, 0xf6, 0x09,
-	0x0a, 0xdf, 0x88, 0x46, 0x1e, 0xce, 0x6f, 0x6a, 0xf5, 0x8b, 0x6a, 0x67, 0x6c, 0xee, 0x3e, 0xc6,
-	0xe8, 0xc6, 0x5d, 0x2d, 0xf0, 0x46, 0x10, 0xf9, 0x6c, 0xea, 0x7d, 0xfc, 0xa4, 0xbb, 0x9b, 0x71,
-	0xc2, 0x19, 0x83, 0xab, 0x49, 0x7b, 0x53, 0xef, 0xa9, 0x40, 0x74, 0xb1, 0x77, 0xb9, 0xf0, 0x07,
-	0xd1, 0xc8, 0xbd, 0x59, 0x64, 0xfb, 0x4e, 0x5f, 0x2f, 0x18, 0xd7, 0x99, 0xed, 0x61, 0xee, 0xdd,
-	0x4d, 0xab, 0x3a, 0xf2, 0x47, 0x48, 0xbf, 0xad, 0x0b, 0x3f, 0xfe, 0x03, 0x00, 0x00, 0xff, 0xff,
-	0xcc, 0x5d, 0xa8, 0xf7, 0x1e, 0x01, 0x00, 0x00,
+	// 261 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x90, 0x31, 0x4f, 0xc3, 0x30,
+	0x10, 0x85, 0xe5, 0xb6, 0xb4, 0xd4, 0x85, 0x81, 0x20, 0xa1, 0xa8, 0x62, 0x88, 0x3a, 0x65, 0xb2,
+	0x49, 0x19, 0x18, 0xd8, 0xc2, 0x80, 0xd8, 0xa2, 0x0c, 0x0c, 0x6c, 0x97, 0xd6, 0xb2, 0x0e, 0xc5,
+	0xbe, 0xc8, 0x0e, 0x91, 0xf8, 0x4b, 0xfc, 0x42, 0x46, 0x14, 0x3b, 0x45, 0xea, 0x76, 0xa7, 0xef,
+	0x3d, 0xbd, 0x7b, 0xc7, 0xb7, 0x9a, 0x48, 0xb7, 0x4a, 0x22, 0x18, 0x39, 0x14, 0xb2, 0xa3, 0x16,
+	0x0f, 0xdf, 0xa2, 0x73, 0xd4, 0x53, 0x72, 0x1d, 0x99, 0x40, 0x30, 0x62, 0x28, 0xb6, 0xf7, 0x93,
+	0x14, 0x3a, 0x94, 0x60, 0x2d, 0xf5, 0xd0, 0x23, 0x59, 0x1f, 0xc5, 0xbb, 0x4f, 0xbe, 0xac, 0x82,
+	0x39, 0x49, 0xf9, 0x6a, 0x50, 0xce, 0x23, 0xd9, 0x94, 0x65, 0x2c, 0xbf, 0xa8, 0x4f, 0x6b, 0xb2,
+	0xe7, 0x97, 0x0d, 0xda, 0x23, 0x5a, 0xed, 0xd3, 0x45, 0x36, 0xcf, 0x37, 0xfb, 0x3b, 0x71, 0x96,
+	0x21, 0xca, 0x88, 0xeb, 0x7f, 0x5d, 0x92, 0xf0, 0x85, 0xea, 0x41, 0xa7, 0xf3, 0x8c, 0xe5, 0x57,
+	0x75, 0x98, 0x77, 0x4f, 0x7c, 0x35, 0x09, 0x47, 0xec, 0xa8, 0x55, 0x21, 0x69, 0x5d, 0x87, 0x79,
+	0x3c, 0xc0, 0x28, 0xd3, 0x28, 0xe7, 0xd3, 0x59, 0x36, 0xcf, 0xd7, 0xf5, 0x69, 0x2d, 0x0d, 0xbf,
+	0x39, 0x90, 0x39, 0xcf, 0x2c, 0x37, 0xf1, 0xee, 0x6a, 0xac, 0x51, 0xb1, 0x8f, 0x87, 0x89, 0x6a,
+	0x6a, 0xc1, 0x6a, 0x41, 0x4e, 0x4b, 0xad, 0x6c, 0x28, 0x29, 0x23, 0x82, 0x0e, 0xfd, 0xf4, 0xb0,
+	0x67, 0x04, 0xf3, 0xcb, 0xd8, 0xcf, 0xec, 0xf6, 0x35, 0xba, 0x5e, 0x5a, 0xfa, 0x3a, 0x8a, 0x37,
+	0x30, 0xe2, 0xbd, 0x68, 0x96, 0xc1, 0xf5, 0xf8, 0x17, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x02, 0xb8,
+	0xca, 0x65, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/iam/v1/policy.proto b/googleapis/iam/v1/policy.proto
deleted file mode 100644
index 74d79bb0..00000000
--- a/googleapis/iam/v1/policy.proto
+++ /dev/null
@@ -1,108 +0,0 @@
-// 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.v1;
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PolicyProto";
-option java_package = "com.google.iam.v1";
-
-
-// Defines an Identity and Access Management (IAM) policy. It is used to
-// specify access control policies for Cloud Platform resources.
-//
-//
-// 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.
-//
-// **Example**
-//
-//     {
-//       "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 {
-  // Version of the `Policy`. The default version is 0.
-  int32 version = 1;
-
-  // 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;
-
-  // `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 a `role`.
-message Binding {
-  // Role that is assigned to `members`.
-  // For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
-  // Required
-  string role = 1;
-
-  // 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`.
-  //
-  // * `serviceAccount:{emailid}`: An email address that represents a service
-  //    account. For example, `my-other-app@appspot.gserviceaccount.com`.
-  //
-  // * `group:{emailid}`: An email address that represents a Google group.
-  //    For example, `admins@example.com`.
-  //
-  // * `domain:{domain}`: A Google Apps domain name that represents all the
-  //    users of that domain. For example, `google.com` or `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 eda476a3..f0aa78d5 100644
--- a/googleapis/logging/type/http_request.pb.go
+++ b/googleapis/logging/type/http_request.pb.go
@@ -1,23 +1,23 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/type/http_request.proto
+// source: google/logging/type/http_request.proto
 // DO NOT EDIT!
 
 /*
-Package google_logging_type is a generated protocol buffer package.
+Package ltype is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/logging/type/http_request.proto
-	google.golang.org/genproto/googleapis/logging/type/log_severity.proto
+	google/logging/type/http_request.proto
+	google/logging/type/log_severity.proto
 
 It has these top-level messages:
 	HttpRequest
 */
-package google_logging_type // import "google.golang.org/genproto/googleapis/logging/type"
+package ltype
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/duration"
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -84,6 +84,69 @@ func (m *HttpRequest) String() string            { return proto.CompactTextStrin
 func (*HttpRequest) ProtoMessage()               {}
 func (*HttpRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *HttpRequest) GetRequestMethod() string {
+	if m != nil {
+		return m.RequestMethod
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRequestUrl() string {
+	if m != nil {
+		return m.RequestUrl
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRequestSize() int64 {
+	if m != nil {
+		return m.RequestSize
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetStatus() int32 {
+	if m != nil {
+		return m.Status
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetResponseSize() int64 {
+	if m != nil {
+		return m.ResponseSize
+	}
+	return 0
+}
+
+func (m *HttpRequest) GetUserAgent() string {
+	if m != nil {
+		return m.UserAgent
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetRemoteIp() string {
+	if m != nil {
+		return m.RemoteIp
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetServerIp() string {
+	if m != nil {
+		return m.ServerIp
+	}
+	return ""
+}
+
+func (m *HttpRequest) GetReferer() string {
+	if m != nil {
+		return m.Referer
+	}
+	return ""
+}
+
 func (m *HttpRequest) GetLatency() *google_protobuf1.Duration {
 	if m != nil {
 		return m.Latency
@@ -91,45 +154,71 @@ func (m *HttpRequest) GetLatency() *google_protobuf1.Duration {
 	return nil
 }
 
-func init() {
-	proto.RegisterType((*HttpRequest)(nil), "google.logging.type.HttpRequest")
+func (m *HttpRequest) GetCacheLookup() bool {
+	if m != nil {
+		return m.CacheLookup
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheHit() bool {
+	if m != nil {
+		return m.CacheHit
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheValidatedWithOriginServer() bool {
+	if m != nil {
+		return m.CacheValidatedWithOriginServer
+	}
+	return false
+}
+
+func (m *HttpRequest) GetCacheFillBytes() int64 {
+	if m != nil {
+		return m.CacheFillBytes
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/type/http_request.proto", fileDescriptor0)
+	proto.RegisterType((*HttpRequest)(nil), "google.logging.type.HttpRequest")
 }
 
+func init() { proto.RegisterFile("google/logging/type/http_request.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 482 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x8c, 0x92, 0x4d, 0x8f, 0xd3, 0x3c,
-	0x14, 0x85, 0x95, 0x77, 0x3e, 0xda, 0xba, 0x1f, 0x1a, 0xe5, 0x95, 0xc0, 0x0c, 0x02, 0xca, 0x20,
-	0xa4, 0x6c, 0x88, 0x25, 0x66, 0xc5, 0x92, 0x0a, 0xd0, 0x14, 0x81, 0x18, 0x65, 0x04, 0x2c, 0x23,
-	0x37, 0xbd, 0x75, 0x2c, 0x5c, 0xdb, 0xd8, 0x37, 0x83, 0x3a, 0x7f, 0x83, 0x3f, 0x8c, 0x6c, 0x27,
-	0x88, 0x05, 0x0b, 0x76, 0xf5, 0x73, 0xce, 0xb9, 0xbe, 0x3d, 0x31, 0x79, 0x2b, 0x8c, 0x11, 0x0a,
-	0x4a, 0x61, 0x14, 0xd7, 0xa2, 0x34, 0x4e, 0x30, 0x01, 0xda, 0x3a, 0x83, 0x86, 0x25, 0x89, 0x5b,
-	0xe9, 0x99, 0x32, 0x42, 0x48, 0x2d, 0x18, 0x1e, 0x2c, 0xb0, 0x16, 0xd1, 0xd6, 0x0e, 0xbe, 0x77,
-	0xe0, 0xb1, 0x8c, 0xd6, 0xfc, 0xff, 0x7e, 0x4c, 0xef, 0x2b, 0x83, 0xef, 0x7c, 0xfd, 0x6f, 0xb3,
-	0xb9, 0x95, 0xcc, 0x83, 0xbb, 0x95, 0x0d, 0x34, 0x46, 0xef, 0xa4, 0x60, 0x5c, 0x6b, 0x83, 0x1c,
-	0xa5, 0xd1, 0x3e, 0xcd, 0x3f, 0x7f, 0x25, 0x24, 0xb6, 0xdd, 0xa6, 0x6c, 0xcc, 0x9e, 0xa5, 0x71,
-	0x2c, 0x0a, 0x9b, 0x6e, 0xc7, 0x6c, 0xb8, 0xcc, 0xb3, 0x6d, 0xe7, 0x62, 0xe4, 0xf7, 0x8f, 0x14,
-	0xbd, 0xf8, 0x79, 0x4c, 0xa6, 0x57, 0x88, 0xb6, 0x4a, 0x0b, 0xe7, 0xcf, 0xc9, 0xa2, 0xdf, 0xbd,
-	0xde, 0x03, 0xb6, 0x66, 0x4b, 0xb3, 0x65, 0x56, 0x4c, 0xaa, 0x79, 0x4f, 0x3f, 0x46, 0x98, 0x3f,
-	0x21, 0xd3, 0xc1, 0xd6, 0x39, 0x45, 0xff, 0x8b, 0x1e, 0xd2, 0xa3, 0xcf, 0x4e, 0xe5, 0x4f, 0xc9,
-	0x6c, 0x30, 0x78, 0x79, 0x07, 0xf4, 0x68, 0x99, 0x15, 0x47, 0xd5, 0x10, 0xba, 0x91, 0x77, 0x90,
-	0xdf, 0x23, 0xa7, 0x1e, 0x39, 0x76, 0x9e, 0x1e, 0x2f, 0xb3, 0xe2, 0xa4, 0xea, 0x4f, 0xf9, 0x33,
-	0x32, 0x77, 0xe0, 0xad, 0xd1, 0x1e, 0x52, 0xf6, 0x24, 0x66, 0x67, 0x03, 0x8c, 0xe1, 0x47, 0x84,
-	0x74, 0x1e, 0x5c, 0xcd, 0x05, 0x68, 0xa4, 0xa7, 0xf1, 0xfe, 0x49, 0x20, 0xaf, 0x03, 0xc8, 0x1f,
-	0x92, 0x89, 0x83, 0xbd, 0x41, 0xa8, 0xa5, 0xa5, 0xa3, 0xa8, 0x8e, 0x13, 0x58, 0xdb, 0x20, 0x86,
-	0x46, 0xc1, 0x05, 0x71, 0x9e, 0xc4, 0x04, 0xd6, 0x36, 0xa7, 0x64, 0xe4, 0x60, 0x07, 0x0e, 0x1c,
-	0x1d, 0x47, 0x69, 0x38, 0xe6, 0x97, 0x64, 0xa4, 0x38, 0x82, 0x6e, 0x0e, 0x74, 0xb1, 0xcc, 0x8a,
-	0xe9, 0xcb, 0x07, 0x65, 0xff, 0x09, 0x87, 0xb2, 0xcb, 0x37, 0x7d, 0xb9, 0xd5, 0xe0, 0x0c, 0x3d,
-	0x34, 0xbc, 0x69, 0xa1, 0x56, 0xc6, 0x7c, 0xeb, 0x2c, 0x9d, 0x2e, 0xb3, 0x62, 0x5c, 0x4d, 0x23,
-	0xfb, 0x10, 0x51, 0x58, 0x27, 0x59, 0x5a, 0x89, 0x74, 0x12, 0xf5, 0x71, 0x04, 0x57, 0x12, 0xf3,
-	0xf7, 0xe4, 0x22, 0x89, 0xb7, 0x5c, 0xc9, 0x2d, 0x47, 0xd8, 0xd6, 0x3f, 0x24, 0xb6, 0xb5, 0x71,
-	0x52, 0x48, 0x5d, 0xa7, 0xb5, 0x29, 0x89, 0xa9, 0xc7, 0xd1, 0xf9, 0x65, 0x30, 0x7e, 0x95, 0xd8,
-	0x7e, 0x8a, 0xb6, 0x9b, 0xe8, 0xca, 0x0b, 0x72, 0x96, 0x66, 0xed, 0xa4, 0x52, 0xf5, 0xe6, 0x80,
-	0xe0, 0xe9, 0x2c, 0x76, 0xbb, 0x88, 0xfc, 0x9d, 0x54, 0x6a, 0x15, 0xe8, 0xea, 0x05, 0xb9, 0xdf,
-	0x98, 0x7d, 0xf9, 0x97, 0x67, 0xbb, 0x3a, 0xfb, 0xe3, 0xb5, 0x5c, 0x87, 0xff, 0x7d, 0x9d, 0x6d,
-	0x4e, 0x63, 0x01, 0x97, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x1c, 0x8f, 0x8c, 0x2f, 0x03,
-	0x00, 0x00,
+	// 488 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x92, 0x5b, 0x6b, 0x14, 0x31,
+	0x14, 0xc7, 0x99, 0x5e, 0xf6, 0x92, 0xbd, 0x50, 0x22, 0x68, 0x5a, 0xb5, 0xae, 0x15, 0x65, 0x9e,
+	0x66, 0xc0, 0xbe, 0x08, 0x3e, 0xb9, 0x8a, 0xb6, 0x52, 0xb1, 0x4c, 0xbd, 0x80, 0x2f, 0x43, 0x76,
+	0xf7, 0x6c, 0x26, 0x98, 0x9d, 0xc4, 0x24, 0x53, 0xd9, 0xbe, 0xfa, 0x11, 0xfc, 0x16, 0x7e, 0x4a,
+	0x99, 0x93, 0x0c, 0x28, 0xf4, 0x65, 0x21, 0xbf, 0xff, 0xef, 0x3f, 0x67, 0xf6, 0x4c, 0xc8, 0x33,
+	0xa1, 0xb5, 0x50, 0x90, 0x2b, 0x2d, 0x84, 0xac, 0x45, 0xee, 0xb7, 0x06, 0xf2, 0xca, 0x7b, 0x53,
+	0x5a, 0xf8, 0xd1, 0x80, 0xf3, 0x99, 0xb1, 0xda, 0x6b, 0x7a, 0x27, 0x78, 0x59, 0xf4, 0xb2, 0xd6,
+	0x3b, 0x7a, 0x10, 0xcb, 0xdc, 0xc8, 0x9c, 0xd7, 0xb5, 0xf6, 0xdc, 0x4b, 0x5d, 0xbb, 0x50, 0x39,
+	0x3a, 0x8e, 0x29, 0x9e, 0x16, 0xcd, 0x3a, 0x5f, 0x35, 0x16, 0x85, 0x90, 0x9f, 0xfc, 0xde, 0x23,
+	0xa3, 0x33, 0xef, 0x4d, 0x11, 0x06, 0xd1, 0xa7, 0x64, 0x1a, 0x67, 0x96, 0x1b, 0xf0, 0x95, 0x5e,
+	0xb1, 0x64, 0x96, 0xa4, 0xc3, 0x62, 0x12, 0xe9, 0x07, 0x84, 0xf4, 0x11, 0x19, 0x75, 0x5a, 0x63,
+	0x15, 0xdb, 0x41, 0x87, 0x44, 0xf4, 0xd9, 0x2a, 0xfa, 0x98, 0x8c, 0x3b, 0xc1, 0xc9, 0x1b, 0x60,
+	0xbb, 0xb3, 0x24, 0xdd, 0x2d, 0xba, 0xd2, 0x95, 0xbc, 0x01, 0x7a, 0x97, 0xf4, 0x9c, 0xe7, 0xbe,
+	0x71, 0x6c, 0x6f, 0x96, 0xa4, 0xfb, 0x45, 0x3c, 0xd1, 0x27, 0x64, 0x62, 0xc1, 0x19, 0x5d, 0x3b,
+	0x08, 0xdd, 0x7d, 0xec, 0x8e, 0x3b, 0x88, 0xe5, 0x87, 0x84, 0x34, 0x0e, 0x6c, 0xc9, 0x05, 0xd4,
+	0x9e, 0xf5, 0x70, 0xfe, 0xb0, 0x25, 0xaf, 0x5a, 0x40, 0xef, 0x93, 0xa1, 0x85, 0x8d, 0xf6, 0x50,
+	0x4a, 0xc3, 0xfa, 0x98, 0x0e, 0x02, 0x38, 0x37, 0x6d, 0xe8, 0xc0, 0x5e, 0x83, 0x6d, 0xc3, 0x49,
+	0x08, 0x03, 0x38, 0x37, 0x94, 0x91, 0xbe, 0x85, 0x35, 0x58, 0xb0, 0x6c, 0x80, 0x51, 0x77, 0xa4,
+	0xa7, 0xa4, 0xaf, 0xb8, 0x87, 0x7a, 0xb9, 0x65, 0xd3, 0x59, 0x92, 0x8e, 0x9e, 0x1f, 0x66, 0xf1,
+	0x7b, 0x74, 0xcb, 0xcd, 0xde, 0xc4, 0xe5, 0x16, 0x9d, 0xd9, 0xee, 0x61, 0xc9, 0x97, 0x15, 0x94,
+	0x4a, 0xeb, 0xef, 0x8d, 0x61, 0xa3, 0x59, 0x92, 0x0e, 0x8a, 0x11, 0xb2, 0x0b, 0x44, 0xed, 0xeb,
+	0x04, 0xa5, 0x92, 0x9e, 0x0d, 0x31, 0x1f, 0x20, 0x38, 0x93, 0x9e, 0xbe, 0x27, 0x27, 0x21, 0xbc,
+	0xe6, 0x4a, 0xae, 0xb8, 0x87, 0x55, 0xf9, 0x53, 0xfa, 0xaa, 0xd4, 0x56, 0x0a, 0x59, 0x97, 0xe1,
+	0xb5, 0x19, 0xc1, 0xd6, 0x31, 0x9a, 0x5f, 0x3a, 0xf1, 0xab, 0xf4, 0xd5, 0x47, 0xd4, 0xae, 0xd0,
+	0xa2, 0x29, 0x39, 0x08, 0xcf, 0x5a, 0x4b, 0xa5, 0xca, 0xc5, 0xd6, 0x83, 0x63, 0x63, 0xdc, 0xed,
+	0x14, 0xf9, 0x5b, 0xa9, 0xd4, 0xbc, 0xa5, 0xf3, 0x5f, 0x09, 0xb9, 0xb7, 0xd4, 0x9b, 0xec, 0x96,
+	0xfb, 0x36, 0x3f, 0xf8, 0xe7, 0xba, 0x5c, 0xb6, 0x7f, 0xfc, 0x32, 0xf9, 0xf6, 0x22, 0x8a, 0x42,
+	0x2b, 0x5e, 0x8b, 0x4c, 0x5b, 0x91, 0x0b, 0xa8, 0x71, 0x2d, 0x79, 0x88, 0xb8, 0x91, 0xee, 0xbf,
+	0xfb, 0xfd, 0x52, 0xb5, 0xbf, 0x7f, 0x76, 0x0e, 0xdf, 0x85, 0xea, 0x6b, 0xa5, 0x9b, 0x55, 0x76,
+	0x11, 0x27, 0x7d, 0xda, 0x1a, 0x58, 0xf4, 0xf0, 0x01, 0xa7, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff,
+	0x6f, 0xb5, 0x28, 0xee, 0x1f, 0x03, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/http_request.proto b/googleapis/logging/type/http_request.proto
deleted file mode 100644
index 34345b7a..00000000
--- a/googleapis/logging/type/http_request.proto
+++ /dev/null
@@ -1,86 +0,0 @@
-// 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.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. 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;
-
-  // The scheme (http, https), the host name, the path and the query
-  // portion of the URL that was requested.
-  // Example: `"http://example.com/some/info?color=red"`.
-  string request_url = 2;
-
-  // The size of the HTTP request message in bytes, including the request
-  // headers and the request body.
-  int64 request_size = 3;
-
-  // The response code indicating the status of response.
-  // Examples: 200, 404.
-  int32 status = 4;
-
-  // The size of the HTTP response message sent back to the client, in bytes,
-  // including the response headers and the response body.
-  int64 response_size = 5;
-
-  // The user agent sent by the client. Example:
-  // `"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"`.
-  string user_agent = 6;
-
-  // The IP address (IPv4 or IPv6) of the client that issued the HTTP
-  // request. Examples: `"192.168.1.1"`, `"FE80::0202:B3FF:FE1E:8329"`.
-  string remote_ip = 7;
-
-  // The IP address (IPv4 or IPv6) of the origin server that the request was
-  // sent to.
-  string server_ip = 13;
-
-  // The referer URL of the request, as defined in
-  // [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;
-
-  // Whether or not an entity was served from cache
-  // (with or without validation).
-  bool cache_hit = 9;
-
-  // Whether or not the response was validated with the origin server before
-  // being served from cache. This field is only meaningful if `cache_hit` is
-  // True.
-  bool cache_validated_with_origin_server = 10;
-
-  // The number of HTTP response bytes inserted into cache. Set only when a
-  // cache fill was attempted.
-  int64 cache_fill_bytes = 12;
-}
diff --git a/googleapis/logging/type/log_severity.pb.go b/googleapis/logging/type/log_severity.pb.go
index 824c01d3..36cbe950 100644
--- a/googleapis/logging/type/log_severity.pb.go
+++ b/googleapis/logging/type/log_severity.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/type/log_severity.proto
+// source: google/logging/type/log_severity.proto
 // DO NOT EDIT!
 
-package google_logging_type // import "google.golang.org/genproto/googleapis/logging/type"
+package ltype
 
 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/api/annotations"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -85,28 +85,27 @@ func init() {
 	proto.RegisterEnum("google.logging.type.LogSeverity", LogSeverity_name, LogSeverity_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/type/log_severity.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/logging/type/log_severity.proto", fileDescriptor1) }
 
 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,
+	// 297 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0xcf, 0xc9, 0x4f, 0x4f, 0xcf, 0xcc, 0x4b, 0xd7, 0x2f, 0xa9, 0x2c, 0x00, 0x73,
+	0xe2, 0x8b, 0x53, 0xcb, 0x52, 0x8b, 0x32, 0x4b, 0x2a, 0xf5, 0x0a, 0x8a, 0xf2, 0x4b, 0xf2, 0x85,
+	0x84, 0x21, 0xea, 0xf4, 0xa0, 0xea, 0xf4, 0x40, 0xea, 0xa4, 0x64, 0xa0, 0x9a, 0x13, 0x0b, 0x32,
+	0xf5, 0x13, 0xf3, 0xf2, 0xf2, 0x4b, 0x12, 0x4b, 0x32, 0xf3, 0xf3, 0x8a, 0x21, 0x5a, 0xb4, 0x9a,
+	0x18, 0xb9, 0xb8, 0x7d, 0xf2, 0xd3, 0x83, 0xa1, 0x06, 0x09, 0x71, 0x73, 0xb1, 0xbb, 0xb8, 0xba,
+	0x39, 0x86, 0xfa, 0x84, 0x08, 0x30, 0x08, 0x71, 0x72, 0xb1, 0xba, 0xb8, 0x3a, 0x85, 0xba, 0x0b,
+	0xa4, 0x08, 0x71, 0x72, 0xb1, 0x78, 0xfa, 0xb9, 0xf9, 0x0b, 0x9c, 0x60, 0x14, 0xe2, 0xe6, 0x62,
+	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, 0x67, 0x88, 0xa7, 0xb3, 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, 0xcd, 0x8c,
+	0x5c, 0xe2, 0xc9, 0xf9, 0xb9, 0x7a, 0x58, 0x9c, 0xef, 0x24, 0x80, 0xe4, 0xba, 0x00, 0x90, 0x93,
+	0x03, 0x18, 0xa3, 0x2c, 0xa0, 0x0a, 0xd3, 0xf3, 0x73, 0x12, 0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2,
+	0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x1e, 0xd2, 0x87, 0x48, 0x25, 0x16, 0x64, 0x16, 0xa3, 0x04, 0x97,
+	0x75, 0x0e, 0x88, 0x5c, 0xc5, 0x24, 0xe9, 0x0e, 0xd1, 0xea, 0x9c, 0x93, 0x5f, 0x9a, 0xa2, 0xe7,
+	0x03, 0xb5, 0x29, 0xa4, 0xb2, 0x20, 0x35, 0x89, 0x0d, 0x6c, 0x80, 0x31, 0x20, 0x00, 0x00, 0xff,
+	0xff, 0x1b, 0x91, 0x99, 0x37, 0x6e, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/logging/type/log_severity.proto b/googleapis/logging/type/log_severity.proto
deleted file mode 100644
index bcb451ac..00000000
--- a/googleapis/logging/type/log_severity.proto
+++ /dev/null
@@ -1,69 +0,0 @@
-// 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.logging.type;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "LogSeverityProto";
-option java_package = "com.google.logging.type";
-
-
-// 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 {
-  // (0) The log entry has no assigned severity level.
-  DEFAULT = 0;
-
-  // (100) Debug or trace information.
-  DEBUG = 100;
-
-  // (200) Routine information, such as ongoing status or performance.
-  INFO = 200;
-
-  // (300) Normal but significant events, such as start up, shut down, or
-  // a configuration change.
-  NOTICE = 300;
-
-  // (400) Warning events might cause problems.
-  WARNING = 400;
-
-  // (500) Error events are likely to cause problems.
-  ERROR = 500;
-
-  // (600) Critical events cause more severe problems or outages.
-  CRITICAL = 600;
-
-  // (700) A person must take an action immediately.
-  ALERT = 700;
-
-  // (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 069a7bdc..be85190c 100644
--- a/googleapis/logging/v2/log_entry.pb.go
+++ b/googleapis/logging/v2/log_entry.pb.go
@@ -1,19 +1,29 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/log_entry.proto
+// source: google/logging/v2/log_entry.proto
 // DO NOT EDIT!
 
 /*
-Package v2 is a generated protocol buffer package.
+Package logging 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_config.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto
-	google.golang.org/genproto/googleapis/logging/v2/logging.proto
+	google/logging/v2/log_entry.proto
+	google/logging/v2/logging.proto
+	google/logging/v2/logging_config.proto
+	google/logging/v2/logging_metrics.proto
 
 It has these top-level messages:
 	LogEntry
 	LogEntryOperation
+	LogEntrySourceLocation
+	DeleteLogRequest
+	WriteLogEntriesRequest
+	WriteLogEntriesResponse
+	ListLogEntriesRequest
+	ListLogEntriesResponse
+	ListMonitoredResourceDescriptorsRequest
+	ListMonitoredResourceDescriptorsResponse
+	ListLogsRequest
+	ListLogsResponse
 	LogSink
 	ListSinksRequest
 	ListSinksResponse
@@ -28,20 +38,13 @@ 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"
+package logging
 
 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/api/annotations"
 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"
@@ -62,17 +65,22 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 
 // An individual entry in a log.
 type LogEntry struct {
-	// Required. The resource name of the log to which this log entry
-	// belongs. The format of the name is
-	// `"projects/<project-id>/logs/<log-id>"`.  Examples:
-	// `"projects/my-projectid/logs/syslog"`,
-	// `"projects/my-projectid/logs/library.googleapis.com%2Fbook_log"`.
+	// Required. The resource name of the log to which this log entry belongs:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
 	//
-	// The log ID part of resource name must be less than 512 characters
-	// long and can only include the following characters: upper and
-	// lower case alphanumeric characters: [A-Za-z0-9]; and punctuation
-	// characters: forward-slash, underscore, hyphen, and period.
-	// Forward-slash (`/`) characters in the log ID must be URL-encoded.
+	// `[LOG_ID]` must be URL-encoded within `log_name`. Example:
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// `[LOG_ID]` must be less than 512 characters long and can only include the
+	// following characters: upper and lower case alphanumeric characters,
+	// forward-slash, underscore, hyphen, and period.
+	//
+	// For backward compatibility, if `log_name` begins with a forward-slash, such
+	// as `/projects/...`, then the log entry is ingested as usual but the
+	// forward-slash is removed. Listing the log entry will not show the leading
+	// slash and filtering for a log name with a leading slash will never return
+	// any results.
 	LogName string `protobuf:"bytes,12,opt,name=log_name,json=logName" json:"log_name,omitempty"`
 	// Required. The monitored resource associated with this log entry.
 	// Example: a log entry that reports a database error would be
@@ -107,6 +115,14 @@ type LogEntry struct {
 	// Optional. Information about an operation associated with the log entry, if
 	// applicable.
 	Operation *LogEntryOperation `protobuf:"bytes,15,opt,name=operation" json:"operation,omitempty"`
+	// Optional. Resource name of the trace associated with the log entry, if any.
+	// If it contains a relative resource name, the name is assumed to be relative
+	// to `//tracing.googleapis.com`. Example:
+	// `projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824`
+	Trace string `protobuf:"bytes,22,opt,name=trace" json:"trace,omitempty"`
+	// Optional. Source code location information associated with the log entry,
+	// if any.
+	SourceLocation *LogEntrySourceLocation `protobuf:"bytes,23,opt,name=source_location,json=sourceLocation" json:"source_location,omitempty"`
 }
 
 func (m *LogEntry) Reset()                    { *m = LogEntry{} }
@@ -139,6 +155,13 @@ func (m *LogEntry) GetPayload() isLogEntry_Payload {
 	return nil
 }
 
+func (m *LogEntry) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
+
 func (m *LogEntry) GetResource() *google_api3.MonitoredResource {
 	if m != nil {
 		return m.Resource
@@ -174,6 +197,20 @@ func (m *LogEntry) GetTimestamp() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *LogEntry) GetSeverity() google_logging_type1.LogSeverity {
+	if m != nil {
+		return m.Severity
+	}
+	return google_logging_type1.LogSeverity_DEFAULT
+}
+
+func (m *LogEntry) GetInsertId() string {
+	if m != nil {
+		return m.InsertId
+	}
+	return ""
+}
+
 func (m *LogEntry) GetHttpRequest() *google_logging_type.HttpRequest {
 	if m != nil {
 		return m.HttpRequest
@@ -195,6 +232,20 @@ func (m *LogEntry) GetOperation() *LogEntryOperation {
 	return nil
 }
 
+func (m *LogEntry) GetTrace() string {
+	if m != nil {
+		return m.Trace
+	}
+	return ""
+}
+
+func (m *LogEntry) GetSourceLocation() *LogEntrySourceLocation {
+	if m != nil {
+		return m.SourceLocation
+	}
+	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{}{
@@ -305,54 +356,129 @@ func (m *LogEntryOperation) String() string            { return proto.CompactTex
 func (*LogEntryOperation) ProtoMessage()               {}
 func (*LogEntryOperation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *LogEntryOperation) GetId() string {
+	if m != nil {
+		return m.Id
+	}
+	return ""
+}
+
+func (m *LogEntryOperation) GetProducer() string {
+	if m != nil {
+		return m.Producer
+	}
+	return ""
+}
+
+func (m *LogEntryOperation) GetFirst() bool {
+	if m != nil {
+		return m.First
+	}
+	return false
+}
+
+func (m *LogEntryOperation) GetLast() bool {
+	if m != nil {
+		return m.Last
+	}
+	return false
+}
+
+// Additional information about the source code location that produced the log
+// entry.
+type LogEntrySourceLocation struct {
+	// Optional. Source file name. Depending on the runtime environment, this
+	// might be a simple name or a fully-qualified name.
+	File string `protobuf:"bytes,1,opt,name=file" json:"file,omitempty"`
+	// Optional. Line within the source file. 1-based; 0 indicates no line number
+	// available.
+	Line int64 `protobuf:"varint,2,opt,name=line" json:"line,omitempty"`
+	// Optional. Human-readable name of the function or method being invoked, with
+	// optional context such as the class or package name. This information may be
+	// used in contexts such as the logs viewer, where a file and line number are
+	// less meaningful. The format can vary by language. For example:
+	// `qual.if.ied.Class.method` (Java), `dir/package.func` (Go), `function`
+	// (Python).
+	Function string `protobuf:"bytes,3,opt,name=function" json:"function,omitempty"`
+}
+
+func (m *LogEntrySourceLocation) Reset()                    { *m = LogEntrySourceLocation{} }
+func (m *LogEntrySourceLocation) String() string            { return proto.CompactTextString(m) }
+func (*LogEntrySourceLocation) ProtoMessage()               {}
+func (*LogEntrySourceLocation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *LogEntrySourceLocation) GetFile() string {
+	if m != nil {
+		return m.File
+	}
+	return ""
+}
+
+func (m *LogEntrySourceLocation) GetLine() int64 {
+	if m != nil {
+		return m.Line
+	}
+	return 0
+}
+
+func (m *LogEntrySourceLocation) GetFunction() string {
+	if m != nil {
+		return m.Function
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*LogEntry)(nil), "google.logging.v2.LogEntry")
 	proto.RegisterType((*LogEntryOperation)(nil), "google.logging.v2.LogEntryOperation")
+	proto.RegisterType((*LogEntrySourceLocation)(nil), "google.logging.v2.LogEntrySourceLocation")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/log_entry.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/logging/v2/log_entry.proto", fileDescriptor0) }
 
 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,
+	// 679 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x94, 0xd1, 0x6e, 0xd3, 0x3c,
+	0x14, 0xc7, 0x97, 0x76, 0x5f, 0x97, 0xba, 0xdd, 0xf6, 0xcd, 0x1a, 0x5b, 0x56, 0x86, 0x28, 0x1b,
+	0x82, 0x72, 0x93, 0x4a, 0xe5, 0x66, 0x63, 0x93, 0x10, 0x9d, 0x10, 0x43, 0x2a, 0x30, 0x79, 0x88,
+	0x0b, 0x84, 0x54, 0x79, 0x89, 0x9b, 0x19, 0x52, 0x3b, 0x38, 0x4e, 0x45, 0xaf, 0x78, 0x04, 0xde,
+	0x83, 0x27, 0xe4, 0x12, 0xf9, 0xd8, 0xe9, 0x4a, 0x3b, 0xed, 0xee, 0x9c, 0xfa, 0xf7, 0x3f, 0xff,
+	0xe3, 0xe3, 0x93, 0xa2, 0x47, 0x89, 0x94, 0x49, 0xca, 0xba, 0xa9, 0x4c, 0x12, 0x2e, 0x92, 0xee,
+	0xa4, 0x67, 0xc2, 0x21, 0x13, 0x5a, 0x4d, 0xc3, 0x4c, 0x49, 0x2d, 0xf1, 0x96, 0x45, 0x42, 0x87,
+	0x84, 0x93, 0x5e, 0x6b, 0xdf, 0xa9, 0x68, 0xc6, 0xbb, 0x54, 0x08, 0xa9, 0xa9, 0xe6, 0x52, 0xe4,
+	0x56, 0xd0, 0x3a, 0x9c, 0x3b, 0x1d, 0x4b, 0xc1, 0xb5, 0x54, 0x2c, 0x1e, 0x2a, 0x96, 0xcb, 0x42,
+	0x45, 0xcc, 0x41, 0x4f, 0x16, 0x8c, 0xf5, 0x34, 0x63, 0xdd, 0x6b, 0xad, 0xb3, 0xa1, 0x62, 0xdf,
+	0x0b, 0x96, 0xeb, 0xbb, 0x38, 0xd3, 0x62, 0xce, 0x26, 0x4c, 0x71, 0xed, 0xba, 0x6c, 0xed, 0x39,
+	0x0e, 0xb2, 0xab, 0x62, 0xd4, 0xa5, 0xa2, 0x3c, 0xda, 0x5f, 0x3c, 0xca, 0xb5, 0x2a, 0xa2, 0xd2,
+	0xe0, 0xe1, 0xe2, 0xa9, 0xe6, 0x63, 0x96, 0x6b, 0x3a, 0xce, 0x2c, 0x70, 0xf0, 0xab, 0x86, 0xfc,
+	0x81, 0x4c, 0x5e, 0x9b, 0x91, 0xe0, 0x3d, 0xe4, 0x1b, 0x73, 0x41, 0xc7, 0x2c, 0x68, 0xb6, 0xbd,
+	0x4e, 0x9d, 0xac, 0xa5, 0x32, 0x79, 0x4f, 0xc7, 0x0c, 0x1f, 0x23, 0xbf, 0xbc, 0x63, 0xe0, 0xb7,
+	0xbd, 0x4e, 0xa3, 0xf7, 0x20, 0x74, 0xa3, 0xa3, 0x19, 0x0f, 0xdf, 0x95, 0x93, 0x20, 0x0e, 0x22,
+	0x33, 0x1c, 0x9f, 0xa0, 0x75, 0xf0, 0x1a, 0x66, 0x74, 0x9a, 0x4a, 0x1a, 0x07, 0x15, 0xd0, 0x6f,
+	0x97, 0xfa, 0xb2, 0xb7, 0xf0, 0x95, 0x98, 0x9e, 0xaf, 0x90, 0x26, 0xe4, 0x17, 0x96, 0xc5, 0x87,
+	0xa8, 0xa9, 0xd9, 0x0f, 0x3d, 0xd3, 0x56, 0x4d, 0x5b, 0xe7, 0x2b, 0xa4, 0x61, 0x7e, 0x2d, 0xa1,
+	0x53, 0xd4, 0xfc, 0x9a, 0x4b, 0x31, 0x83, 0x6a, 0x60, 0xb0, 0xbb, 0x64, 0x70, 0x09, 0xa3, 0x31,
+	0x6a, 0x83, 0x97, 0xea, 0x23, 0x54, 0x9f, 0x4d, 0x25, 0xa8, 0x83, 0xb4, 0xb5, 0x24, 0xfd, 0x58,
+	0x12, 0xe4, 0x06, 0xc6, 0xa7, 0xc8, 0x2f, 0x1f, 0x2a, 0x40, 0x6d, 0xaf, 0xb3, 0xd1, 0x6b, 0x87,
+	0x0b, 0xfb, 0x64, 0x5e, 0x34, 0x1c, 0xc8, 0xe4, 0xd2, 0x71, 0x64, 0xa6, 0xc0, 0xf7, 0x51, 0x9d,
+	0x8b, 0x9c, 0x29, 0x3d, 0xe4, 0x71, 0xb0, 0x0a, 0xe3, 0xf6, 0xed, 0x0f, 0x6f, 0x63, 0x7c, 0x86,
+	0x9a, 0xf3, 0xfb, 0x12, 0xac, 0x41, 0x5f, 0xb7, 0x97, 0x3f, 0xd7, 0x3a, 0x23, 0x96, 0x23, 0x8d,
+	0xeb, 0x9b, 0x04, 0xbf, 0x44, 0xb5, 0x94, 0x5e, 0xb1, 0x34, 0x0f, 0x1a, 0xed, 0x6a, 0xa7, 0xd1,
+	0x7b, 0x1a, 0x2e, 0x6d, 0x7b, 0x58, 0x3e, 0x7e, 0x38, 0x00, 0x12, 0x62, 0xe2, 0x64, 0xb8, 0x8f,
+	0xea, 0x32, 0x63, 0x0a, 0x3e, 0x80, 0x60, 0x13, 0x5a, 0x78, 0x7c, 0x47, 0x8d, 0x0f, 0x25, 0x4b,
+	0x6e, 0x64, 0x78, 0x1b, 0xfd, 0xa7, 0x15, 0x8d, 0x58, 0xb0, 0x03, 0x57, 0xb4, 0x09, 0x26, 0x68,
+	0xd3, 0xae, 0xc7, 0x30, 0x95, 0x91, 0xad, 0xbf, 0x0b, 0xf5, 0x9f, 0xdd, 0x51, 0xff, 0x12, 0x14,
+	0x03, 0x27, 0x20, 0x1b, 0xf9, 0x3f, 0x79, 0xeb, 0x18, 0x35, 0xe6, 0x2e, 0x81, 0xff, 0x47, 0xd5,
+	0x6f, 0x6c, 0x1a, 0x78, 0x60, 0x6b, 0x42, 0xd3, 0xca, 0x84, 0xa6, 0x05, 0x83, 0x0d, 0xac, 0x13,
+	0x9b, 0xbc, 0xa8, 0x1c, 0x79, 0xfd, 0x3a, 0x5a, 0x73, 0xcb, 0x73, 0xc0, 0xd1, 0xd6, 0xd2, 0x7d,
+	0xf0, 0x06, 0xaa, 0xf0, 0xd8, 0x95, 0xaa, 0xf0, 0x18, 0xb7, 0x90, 0x9f, 0x29, 0x19, 0x17, 0x11,
+	0x53, 0xae, 0xd8, 0x2c, 0x37, 0x2e, 0x23, 0xae, 0x72, 0x0d, 0xbb, 0xea, 0x13, 0x9b, 0x60, 0x8c,
+	0x56, 0x53, 0x9a, 0x6b, 0x78, 0x68, 0x9f, 0x40, 0x7c, 0xf0, 0x05, 0xed, 0xdc, 0x7e, 0x35, 0x43,
+	0x8f, 0x78, 0xca, 0x9c, 0x23, 0xc4, 0x50, 0x81, 0x0b, 0xdb, 0x7c, 0x95, 0x40, 0x6c, 0xfa, 0x18,
+	0x15, 0x22, 0x82, 0xf9, 0x55, 0x6d, 0x1f, 0x65, 0xde, 0xff, 0x89, 0xee, 0x45, 0x72, 0xbc, 0x3c,
+	0xce, 0xfe, 0x7a, 0x69, 0x7a, 0x01, 0x5f, 0x9a, 0xf7, 0xf9, 0xc8, 0x31, 0x89, 0x4c, 0xa9, 0x48,
+	0x42, 0xa9, 0x92, 0x6e, 0xc2, 0x04, 0xec, 0x7e, 0xd7, 0x1e, 0xd1, 0x8c, 0xe7, 0x73, 0x7f, 0xa3,
+	0x27, 0x2e, 0xfc, 0xe3, 0x79, 0xbf, 0x2b, 0xbb, 0x6f, 0xac, 0xfa, 0x2c, 0x95, 0x45, 0x6c, 0xde,
+	0x0a, 0x7c, 0x3e, 0xf5, 0xae, 0x6a, 0x50, 0xe1, 0xf9, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x34,
+	0x32, 0x8a, 0x87, 0x87, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/log_entry.proto b/googleapis/logging/v2/log_entry.proto
deleted file mode 100644
index 709a98fd..00000000
--- a/googleapis/logging/v2/log_entry.proto
+++ /dev/null
@@ -1,115 +0,0 @@
-// 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.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/logging/type/http_request.proto"; // from google/logging/type/http_request.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 cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "LogEntryProto";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// An individual entry in a log.
-message LogEntry {
-  // Required. The resource name of the log to which this log entry
-  // belongs. The format of the name is
-  // `"projects/<project-id>/logs/<log-id>"`.  Examples:
-  // `"projects/my-projectid/logs/syslog"`,
-  // `"projects/my-projectid/logs/library.googleapis.com%2Fbook_log"`.
-  //
-  // The log ID part of resource name must be less than 512 characters
-  // long and can only include the following characters: upper and
-  // lower case alphanumeric characters: [A-Za-z0-9]; and punctuation
-  // characters: forward-slash, underscore, hyphen, and period.
-  // Forward-slash (`/`) characters in the log ID must be URL-encoded.
-  string log_name = 12;
-
-  // Required. The monitored resource associated with this log entry.
-  // Example: a log entry that reports a database error would be
-  // associated with the monitored resource designating the particular
-  // database that reported the error.
-  google.api.MonitoredResource resource = 8;
-
-  // Optional. The log entry payload, which can be one of multiple types.
-  oneof payload {
-    // 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).
-    string text_payload = 3;
-
-    // The log entry payload, represented as a structure that
-    // is expressed as a JSON object.
-    google.protobuf.Struct json_payload = 6;
-  }
-
-  // Optional. The time the event described by the log entry occurred.  If
-  // omitted, Stackdriver Logging will use the time the log entry is received.
-  google.protobuf.Timestamp timestamp = 9;
-
-  // Optional. The severity of the log entry. The default value is
-  // `LogSeverity.DEFAULT`.
-  google.logging.type.LogSeverity severity = 10;
-
-  // Optional. A unique ID for the log entry. If you provide this
-  // field, the logging service considers other log entries in the
-  // 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.
-  google.logging.type.HttpRequest http_request = 7;
-
-  // Optional. A set of user-defined (key, value) data that provides additional
-  // information about the log entry.
-  map<string, string> labels = 11;
-
-  // Optional. Information about an operation associated with the log entry, if
-  // applicable.
-  LogEntryOperation operation = 15;
-}
-
-// Additional information about a potentially long-running operation with which
-// a log entry is associated.
-message LogEntryOperation {
-  // Optional. An arbitrary operation identifier. Log entries with the
-  // same identifier are assumed to be part of the same operation.
-  string id = 1;
-
-  // 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.
-  bool first = 3;
-
-  // Optional. Set this to True if this is the last log entry in the operation.
-  bool last = 4;
-}
diff --git a/googleapis/logging/v2/logging.pb.go b/googleapis/logging/v2/logging.pb.go
index b9938208..4e443f63 100644
--- a/googleapis/logging/v2/logging.pb.go
+++ b/googleapis/logging/v2/logging.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging.proto
+// source: google/logging/v2/logging.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 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/api/annotations"
 import google_api3 "google.golang.org/genproto/googleapis/api/monitoredres"
 import _ "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
@@ -26,21 +26,43 @@ var _ = math.Inf
 
 // The parameters to DeleteLog.
 type DeleteLogRequest struct {
-	// Required. The resource name of the log to delete.  Example:
-	// `"projects/my-project/logs/syslog"`.
+	// Required. The resource name of the log to delete:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
+	//
+	// `[LOG_ID]` must be URL-encoded. For example,
+	// `"projects/my-project-id/logs/syslog"`,
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// For more information about log names, see
+	// [LogEntry][google.logging.v2.LogEntry].
 	LogName string `protobuf:"bytes,1,opt,name=log_name,json=logName" json:"log_name,omitempty"`
 }
 
 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} }
+
+func (m *DeleteLogRequest) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
 
 // The parameters to WriteLogEntries.
 type WriteLogEntriesRequest struct {
 	// 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
+	// in `entries` that do not specify a value for `log_name`:
+	//
+	//     "projects/[PROJECT_ID]/logs/[LOG_ID]"
+	//     "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
+	//
+	// `[LOG_ID]` must be URL-encoded. For example,
+	// `"projects/my-project-id/logs/syslog"` or
+	// `"organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"`.
+	// For more information about log names, 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 object that is assigned to all log
@@ -78,7 +100,14 @@ 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) GetLogName() string {
+	if m != nil {
+		return m.LogName
+	}
+	return ""
+}
 
 func (m *WriteLogEntriesRequest) GetResource() *google_api3.MonitoredResource {
 	if m != nil {
@@ -101,6 +130,13 @@ func (m *WriteLogEntriesRequest) GetEntries() []*LogEntry {
 	return nil
 }
 
+func (m *WriteLogEntriesRequest) GetPartialSuccess() bool {
+	if m != nil {
+		return m.PartialSuccess
+	}
+	return false
+}
+
 // Result returned from WriteLogEntries.
 // empty
 type WriteLogEntriesResponse struct {
@@ -109,23 +145,31 @@ 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 {
-	// 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.
+	// Deprecated. Use `resource_names` instead.  One or more project identifiers
+	// or project numbers from which to retrieve log entries.  Example:
+	// `"my-project-1A"`. If present, these project identifiers are converted to
+	// resource name format and added to the list of resources in
+	// `resource_names`.
 	ProjectIds []string `protobuf:"bytes,1,rep,name=project_ids,json=projectIds" json:"project_ids,omitempty"`
-	// 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.
+	// Required. Names of one or more resources from which to retrieve log
+	// entries:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	//
+	// Projects listed in the `project_ids` field 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.
+	// match the filter are returned.  An empty filter matches all log entries in
+	// the resources listed in `resource_names`. Referencing a parent resource
+	// that is not listed in `resource_names` will cause the filter to return no
+	// results.
+	// The maximum length of the filter is 20000 characters.
 	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
@@ -148,22 +192,71 @@ type ListLogEntriesRequest struct {
 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} }
+
+func (m *ListLogEntriesRequest) GetProjectIds() []string {
+	if m != nil {
+		return m.ProjectIds
+	}
+	return nil
+}
+
+func (m *ListLogEntriesRequest) GetResourceNames() []string {
+	if m != nil {
+		return m.ResourceNames
+	}
+	return nil
+}
+
+func (m *ListLogEntriesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListLogEntriesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListLogEntriesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListLogEntriesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // 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 might be more results than appear in this response, then
+	// If there might be more results than those appearing 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`.
+	//
+	// If a value for `next_page_token` appears and the `entries` field is empty,
+	// it means that the search found no log entries so far but it did not have
+	// time to search all the possible log entries.  Retry the method with this
+	// value for `page_token` to continue the search.  Alternatively, consider
+	// speeding up the search by changing your filter to specify a single log name
+	// or resource type, or to narrow the time range of the search.
 	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken" json:"next_page_token,omitempty"`
 }
 
 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 {
@@ -172,6 +265,13 @@ func (m *ListLogEntriesResponse) GetEntries() []*LogEntry {
 	return nil
 }
 
+func (m *ListLogEntriesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to ListMonitoredResourceDescriptors
 type ListMonitoredResourceDescriptorsRequest struct {
 	// Optional. The maximum number of results to return from this request.
@@ -191,14 +291,28 @@ 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}
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
 }
 
 // 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 might be more results than appear in this response, then
+	// If there might be more results than those appearing 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"`
@@ -210,7 +324,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 {
@@ -220,6 +334,88 @@ func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*g
 	return nil
 }
 
+func (m *ListMonitoredResourceDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+// The parameters to ListLogs.
+type ListLogsRequest struct {
+	// Required. The resource name that owns the logs:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
+	// Optional. The maximum number of results to return from this request.
+	// Non-positive values are ignored.  The presence of `nextPageToken` in the
+	// response indicates that more results might be available.
+	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
+	// 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,3,opt,name=page_token,json=pageToken" json:"page_token,omitempty"`
+}
+
+func (m *ListLogsRequest) Reset()                    { *m = ListLogsRequest{} }
+func (m *ListLogsRequest) String() string            { return proto.CompactTextString(m) }
+func (*ListLogsRequest) ProtoMessage()               {}
+func (*ListLogsRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
+
+func (m *ListLogsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListLogsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListLogsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+// Result returned from ListLogs.
+type ListLogsResponse struct {
+	// A list of log names. For example,
+	// `"projects/my-project/syslog"` or
+	// `"organizations/123/cloudresourcemanager.googleapis.com%2Factivity"`.
+	LogNames []string `protobuf:"bytes,3,rep,name=log_names,json=logNames" json:"log_names,omitempty"`
+	// If there might be more results than those appearing 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"`
+}
+
+func (m *ListLogsResponse) Reset()                    { *m = ListLogsResponse{} }
+func (m *ListLogsResponse) String() string            { return proto.CompactTextString(m) }
+func (*ListLogsResponse) ProtoMessage()               {}
+func (*ListLogsResponse) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
+
+func (m *ListLogsResponse) GetLogNames() []string {
+	if m != nil {
+		return m.LogNames
+	}
+	return nil
+}
+
+func (m *ListLogsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*DeleteLogRequest)(nil), "google.logging.v2.DeleteLogRequest")
 	proto.RegisterType((*WriteLogEntriesRequest)(nil), "google.logging.v2.WriteLogEntriesRequest")
@@ -228,6 +424,8 @@ func init() {
 	proto.RegisterType((*ListLogEntriesResponse)(nil), "google.logging.v2.ListLogEntriesResponse")
 	proto.RegisterType((*ListMonitoredResourceDescriptorsRequest)(nil), "google.logging.v2.ListMonitoredResourceDescriptorsRequest")
 	proto.RegisterType((*ListMonitoredResourceDescriptorsResponse)(nil), "google.logging.v2.ListMonitoredResourceDescriptorsResponse")
+	proto.RegisterType((*ListLogsRequest)(nil), "google.logging.v2.ListLogsRequest")
+	proto.RegisterType((*ListLogsResponse)(nil), "google.logging.v2.ListLogsResponse")
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -241,18 +439,22 @@ const _ = grpc.SupportPackageIsVersion4
 // Client API for LoggingServiceV2 service
 
 type LoggingServiceV2Client interface {
-	// Deletes a log and all its log entries.
-	// The log will reappear if it receives new entries.
+	// Deletes all the log entries in a log.
+	// The log reappears if it receives new entries.
 	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
+	// Lists log entries.  Use this method to retrieve log entries from
+	// Stackdriver 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.
+	// Lists the descriptors for monitored resource types used by Stackdriver
+	// Logging.
 	ListMonitoredResourceDescriptors(ctx context.Context, in *ListMonitoredResourceDescriptorsRequest, opts ...grpc.CallOption) (*ListMonitoredResourceDescriptorsResponse, error)
+	// Lists the logs in projects or organizations.
+	// Only logs that have entries are listed.
+	ListLogs(ctx context.Context, in *ListLogsRequest, opts ...grpc.CallOption) (*ListLogsResponse, error)
 }
 
 type loggingServiceV2Client struct {
@@ -299,21 +501,34 @@ func (c *loggingServiceV2Client) ListMonitoredResourceDescriptors(ctx context.Co
 	return out, nil
 }
 
+func (c *loggingServiceV2Client) ListLogs(ctx context.Context, in *ListLogsRequest, opts ...grpc.CallOption) (*ListLogsResponse, error) {
+	out := new(ListLogsResponse)
+	err := grpc.Invoke(ctx, "/google.logging.v2.LoggingServiceV2/ListLogs", in, out, c.cc, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // Server API for LoggingServiceV2 service
 
 type LoggingServiceV2Server interface {
-	// Deletes a log and all its log entries.
-	// The log will reappear if it receives new entries.
+	// Deletes all the log entries in a log.
+	// The log reappears if it receives new entries.
 	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
+	// Lists log entries.  Use this method to retrieve log entries from
+	// Stackdriver 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.
+	// Lists the descriptors for monitored resource types used by Stackdriver
+	// Logging.
 	ListMonitoredResourceDescriptors(context.Context, *ListMonitoredResourceDescriptorsRequest) (*ListMonitoredResourceDescriptorsResponse, error)
+	// Lists the logs in projects or organizations.
+	// Only logs that have entries are listed.
+	ListLogs(context.Context, *ListLogsRequest) (*ListLogsResponse, error)
 }
 
 func RegisterLoggingServiceV2Server(s *grpc.Server, srv LoggingServiceV2Server) {
@@ -392,6 +607,24 @@ func _LoggingServiceV2_ListMonitoredResourceDescriptors_Handler(srv interface{},
 	return interceptor(ctx, in, info, handler)
 }
 
+func _LoggingServiceV2_ListLogs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListLogsRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(LoggingServiceV2Server).ListLogs(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/google.logging.v2.LoggingServiceV2/ListLogs",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(LoggingServiceV2Server).ListLogs(ctx, req.(*ListLogsRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 var _LoggingServiceV2_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.logging.v2.LoggingServiceV2",
 	HandlerType: (*LoggingServiceV2Server)(nil),
@@ -412,69 +645,74 @@ var _LoggingServiceV2_serviceDesc = grpc.ServiceDesc{
 			MethodName: "ListMonitoredResourceDescriptors",
 			Handler:    _LoggingServiceV2_ListMonitoredResourceDescriptors_Handler,
 		},
+		{
+			MethodName: "ListLogs",
+			Handler:    _LoggingServiceV2_ListLogs_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging.proto", fileDescriptor3)
-}
-
-var fileDescriptor3 = []byte{
-	// 852 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0xcf, 0x6e, 0x1b, 0x45,
-	0x18, 0xd7, 0xd8, 0x49, 0x6a, 0x4f, 0x68, 0x92, 0x0e, 0x8d, 0xd9, 0x3a, 0x54, 0x58, 0x8b, 0x4a,
-	0xb6, 0x96, 0xba, 0x0b, 0xae, 0x2a, 0x91, 0x54, 0x45, 0x28, 0x6a, 0x0f, 0x95, 0x52, 0x88, 0x36,
-	0x08, 0xa4, 0x0a, 0xc9, 0x1a, 0xaf, 0xbf, 0x2c, 0x43, 0x77, 0x77, 0x96, 0x99, 0xb1, 0xc3, 0x16,
-	0x71, 0xe9, 0x81, 0x17, 0xe0, 0x3d, 0x78, 0x0b, 0xae, 0x5c, 0xb8, 0x70, 0x45, 0xe2, 0x21, 0x38,
-	0xa2, 0x99, 0x9d, 0x75, 0x52, 0xdb, 0xc4, 0xdb, 0x5e, 0xec, 0x99, 0x6f, 0x7e, 0xdf, 0x9f, 0xdf,
-	0xf7, 0x6f, 0xf1, 0x67, 0x31, 0xe7, 0x71, 0x02, 0x7e, 0xcc, 0x13, 0x9a, 0xc5, 0x3e, 0x17, 0x71,
-	0x10, 0x43, 0x96, 0x0b, 0xae, 0x78, 0x50, 0x3e, 0xd1, 0x9c, 0xc9, 0x20, 0xe1, 0x71, 0xcc, 0xb2,
-	0x38, 0x98, 0x0e, 0xaa, 0xa3, 0x6f, 0x30, 0xe4, 0x86, 0xd5, 0xaf, 0xa4, 0xd3, 0x41, 0xf7, 0x69,
-	0x3d, 0x93, 0x34, 0x67, 0x81, 0x04, 0x31, 0x65, 0x11, 0x44, 0x3c, 0x3b, 0x63, 0x71, 0x40, 0xb3,
-	0x8c, 0x2b, 0xaa, 0x18, 0xcf, 0x64, 0x69, 0xbd, 0xfb, 0x65, 0x7d, 0x53, 0x29, 0xcf, 0x98, 0xe2,
-	0x02, 0xc6, 0x02, 0xe4, 0xc5, 0x65, 0x28, 0x40, 0xf2, 0x89, 0x88, 0xc0, 0x1a, 0xfc, 0xfc, 0x6d,
-	0xe8, 0x0e, 0x21, 0x53, 0xa2, 0xb0, 0x16, 0x0e, 0x62, 0xa6, 0xbe, 0x9b, 0x8c, 0xfc, 0x88, 0xa7,
-	0x41, 0x69, 0x25, 0x30, 0x0f, 0xa3, 0xc9, 0x59, 0x90, 0xab, 0x22, 0x07, 0x19, 0x8c, 0x27, 0xc2,
-	0xb0, 0x98, 0x1d, 0xac, 0xea, 0xfd, 0xd5, 0xaa, 0x90, 0xe6, 0xaa, 0x28, 0x7f, 0xad, 0xd2, 0xc3,
-	0xd5, 0x4a, 0x8a, 0xa5, 0x20, 0x15, 0x4d, 0xf3, 0x8b, 0x93, 0x55, 0x7e, 0x54, 0x8f, 0xae, 0xc8,
-	0xa3, 0x40, 0x2a, 0xaa, 0x26, 0xd2, 0xfe, 0x95, 0xea, 0xee, 0x3d, 0xbc, 0xf3, 0x18, 0x12, 0x50,
-	0x70, 0xcc, 0xe3, 0x10, 0x7e, 0x98, 0x80, 0x54, 0xe4, 0x16, 0x6e, 0xe9, 0x94, 0x64, 0x34, 0x05,
-	0x07, 0xf5, 0x90, 0xd7, 0x0e, 0xaf, 0x25, 0x3c, 0xfe, 0x82, 0xa6, 0xe0, 0xfe, 0xd5, 0xc0, 0x9d,
-	0x6f, 0x04, 0x33, 0xf0, 0x27, 0x99, 0x12, 0x0c, 0xe4, 0x6a, 0x2d, 0x72, 0x80, 0x5b, 0x55, 0x91,
-	0x9c, 0x46, 0x0f, 0x79, 0x9b, 0x83, 0xdb, 0xbe, 0x0d, 0x9b, 0xe6, 0xcc, 0x7f, 0x56, 0x95, 0x32,
-	0xb4, 0xa0, 0x70, 0x06, 0x27, 0xcf, 0xf0, 0x46, 0x42, 0x47, 0x90, 0x48, 0xa7, 0xd9, 0x6b, 0x7a,
-	0x9b, 0x83, 0x07, 0xfe, 0x42, 0x37, 0xfa, 0xcb, 0x03, 0xf2, 0x8f, 0x8d, 0x9e, 0x16, 0x16, 0xa1,
-	0x35, 0x42, 0x1e, 0xe0, 0x6b, 0x50, 0xa2, 0x9c, 0x35, 0x63, 0x6f, 0x6f, 0x89, 0x3d, 0x6b, 0xaa,
-	0x08, 0x2b, 0x2c, 0xd9, 0xc7, 0xdb, 0x39, 0x15, 0x8a, 0xd1, 0x64, 0x28, 0x27, 0x51, 0x04, 0x52,
-	0x3a, 0xeb, 0x3d, 0xe4, 0xb5, 0xc2, 0x2d, 0x2b, 0x3e, 0x2d, 0xa5, 0xdd, 0x03, 0xbc, 0x79, 0xc9,
-	0x2d, 0xd9, 0xc1, 0xcd, 0x17, 0x50, 0xd8, 0x74, 0xe8, 0x23, 0xb9, 0x89, 0xd7, 0xa7, 0x34, 0x99,
-	0x94, 0x79, 0x68, 0x87, 0xe5, 0xe5, 0xb0, 0xf1, 0x29, 0x72, 0x6f, 0xe1, 0xf7, 0x16, 0x88, 0xc8,
-	0x9c, 0x67, 0x12, 0xdc, 0x3f, 0x10, 0xde, 0x3d, 0x66, 0x52, 0x2d, 0x26, 0xfd, 0x03, 0xbc, 0x99,
-	0x0b, 0xfe, 0x3d, 0x44, 0x6a, 0xc8, 0xc6, 0xd2, 0x41, 0xbd, 0xa6, 0xd7, 0x0e, 0xb1, 0x15, 0x3d,
-	0x1d, 0x4b, 0x72, 0x07, 0x6f, 0x55, 0xb9, 0x34, 0xa5, 0x91, 0x4e, 0xcb, 0x60, 0xae, 0x57, 0x52,
-	0x5d, 0x20, 0x49, 0x3a, 0x78, 0xe3, 0x8c, 0x25, 0x0a, 0x84, 0x8d, 0xcb, 0xde, 0x74, 0x51, 0xb9,
-	0x18, 0x83, 0x18, 0x8e, 0x0a, 0xa7, 0x59, 0x16, 0xd5, 0xdc, 0x8f, 0x0a, 0xb2, 0x87, 0xdb, 0x39,
-	0x8d, 0x61, 0x28, 0xd9, 0x4b, 0x70, 0xd6, 0x7a, 0xc8, 0x5b, 0x0f, 0x5b, 0x5a, 0x70, 0xca, 0x5e,
-	0x02, 0xb9, 0x8d, 0xb1, 0x79, 0x54, 0xfc, 0x05, 0x64, 0x26, 0x57, 0xed, 0xd0, 0xc0, 0xbf, 0xd2,
-	0x02, 0xf7, 0x1c, 0x77, 0xe6, 0xf9, 0x94, 0x54, 0x2f, 0x17, 0x08, 0xbd, 0x41, 0x81, 0x3e, 0xc2,
-	0xdb, 0x19, 0xfc, 0xa8, 0x86, 0x97, 0x9c, 0x96, 0x44, 0xae, 0x6b, 0xf1, 0xc9, 0xcc, 0x31, 0xe0,
-	0x7d, 0xed, 0x78, 0xa1, 0xe3, 0x1e, 0x83, 0x8c, 0x04, 0xcb, 0x15, 0x17, 0xb3, 0xd4, 0xbe, 0xc6,
-	0x0f, 0x5d, 0xc9, 0xaf, 0x31, 0xcf, 0xef, 0x37, 0x84, 0xbd, 0xd5, 0x7e, 0x2c, 0xe5, 0xe7, 0xf8,
-	0xe6, 0xac, 0x44, 0xe3, 0x8b, 0x77, 0xcb, 0x7f, 0xff, 0xca, 0x49, 0xb9, 0xb0, 0x17, 0xbe, 0x2b,
-	0x16, 0x7d, 0xd4, 0xcd, 0xcb, 0xe0, 0xef, 0x35, 0xbc, 0x73, 0x5c, 0x26, 0xf8, 0xb4, 0x5c, 0xd8,
-	0x5f, 0x0f, 0xc8, 0x39, 0x6e, 0xcf, 0x76, 0x03, 0xf9, 0x70, 0x49, 0x1d, 0xe6, 0x37, 0x47, 0xb7,
-	0x53, 0x81, 0xaa, 0xfd, 0xe5, 0x3f, 0xd1, 0x7b, 0xce, 0xbd, 0xf7, 0xea, 0xcf, 0x7f, 0x7e, 0x6d,
-	0xec, 0xf7, 0xef, 0x04, 0xd3, 0xc1, 0x08, 0x14, 0xfd, 0x24, 0xf8, 0xa9, 0xda, 0x15, 0x8f, 0x6c,
-	0xb3, 0xca, 0xa0, 0xaf, 0x17, 0xb1, 0x0c, 0xfa, 0x3f, 0x93, 0x5f, 0x10, 0xde, 0x9e, 0x9b, 0x05,
-	0x72, 0xb7, 0xf6, 0xe0, 0x77, 0xfb, 0x75, 0xa0, 0x76, 0xb4, 0xde, 0x37, 0x91, 0x75, 0xdc, 0x1b,
-	0xfa, 0x43, 0x60, 0xbb, 0xe9, 0xf0, 0x5c, 0x83, 0x0f, 0x51, 0x9f, 0xbc, 0x42, 0x78, 0xeb, 0xf5,
-	0x46, 0x25, 0xde, 0xb2, 0x7e, 0x5c, 0x36, 0x9b, 0xdd, 0xbb, 0x35, 0x90, 0x36, 0x8a, 0x3d, 0x13,
-	0xc5, 0xae, 0xbb, 0x73, 0x39, 0x8a, 0x84, 0x49, 0xa5, 0x83, 0xf8, 0x1d, 0xe1, 0xde, 0xaa, 0x66,
-	0x22, 0x87, 0xff, 0xe3, 0xac, 0x46, 0xa7, 0x77, 0x1f, 0xbe, 0x95, 0xae, 0x0d, 0xdd, 0x33, 0xa1,
-	0xbb, 0xa4, 0xa7, 0x43, 0x4f, 0xaf, 0xd0, 0x38, 0xfa, 0x16, 0xef, 0x46, 0x3c, 0x5d, 0xf4, 0x75,
-	0xf4, 0x8e, 0xed, 0xbc, 0x13, 0xdd, 0x34, 0x27, 0xe8, 0xf9, 0xc7, 0x6f, 0xfa, 0x05, 0xff, 0x17,
-	0xa1, 0xd1, 0x86, 0x79, 0xbf, 0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x21, 0x93, 0x51, 0x60,
-	0xee, 0x08, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 912 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
+	0x14, 0xd7, 0xd8, 0x4d, 0x6a, 0xbf, 0xd0, 0xc4, 0x1d, 0x1a, 0xc7, 0xb5, 0xd3, 0xc6, 0x6c, 0x28,
+	0xd9, 0x5a, 0xea, 0xae, 0x30, 0xaa, 0xd4, 0xa6, 0xe2, 0x12, 0x5a, 0x21, 0xa4, 0x14, 0x45, 0x1b,
+	0xd4, 0x4a, 0xbd, 0x58, 0x6b, 0xfb, 0x75, 0x35, 0x74, 0xbd, 0xb3, 0xcc, 0x8c, 0x1d, 0xdc, 0xaa,
+	0x1c, 0x7a, 0xe0, 0x0b, 0xf0, 0x2d, 0x38, 0xf0, 0x2d, 0xb8, 0x72, 0xe1, 0xc2, 0x81, 0x23, 0x1f,
+	0x82, 0x23, 0x9a, 0xd9, 0x59, 0xc7, 0xb1, 0x5d, 0xc7, 0xe5, 0xb6, 0xf3, 0xe6, 0x37, 0xef, 0xfd,
+	0xde, 0xef, 0xfd, 0xb1, 0x61, 0x2f, 0xe2, 0x3c, 0x8a, 0xd1, 0x8f, 0x79, 0x14, 0xb1, 0x24, 0xf2,
+	0x47, 0xed, 0xfc, 0xd3, 0x4b, 0x05, 0x57, 0x9c, 0x5e, 0xcf, 0x00, 0x5e, 0x6e, 0x1d, 0xb5, 0xeb,
+	0xbb, 0xf6, 0x4d, 0x98, 0x32, 0x3f, 0x4c, 0x12, 0xae, 0x42, 0xc5, 0x78, 0x22, 0xb3, 0x07, 0xf5,
+	0xfd, 0xa9, 0xdb, 0x01, 0x4f, 0x98, 0xe2, 0x02, 0xfb, 0x1d, 0x81, 0x92, 0x0f, 0x45, 0x0f, 0x2d,
+	0xe8, 0x93, 0x85, 0x61, 0x3b, 0x98, 0x28, 0x31, 0xb6, 0x90, 0xdb, 0x16, 0x62, 0x4e, 0xdd, 0xe1,
+	0x4b, 0xbf, 0x3f, 0x14, 0x26, 0x90, 0xbd, 0x6f, 0xcc, 0xde, 0xe3, 0x20, 0x55, 0xf9, 0xe3, 0xbd,
+	0xd9, 0x4b, 0xc5, 0x06, 0x28, 0x55, 0x38, 0x48, 0x2d, 0x60, 0xc7, 0x02, 0x44, 0xda, 0xf3, 0xa5,
+	0x0a, 0xd5, 0xd0, 0xd2, 0x77, 0xee, 0x41, 0xe5, 0x31, 0xc6, 0xa8, 0xf0, 0x98, 0x47, 0x01, 0xfe,
+	0x30, 0x44, 0xa9, 0xe8, 0x4d, 0x28, 0x69, 0x76, 0x49, 0x38, 0xc0, 0x1a, 0x69, 0x12, 0xb7, 0x1c,
+	0x5c, 0x8d, 0x79, 0xf4, 0x6d, 0x38, 0x40, 0xe7, 0xaf, 0x02, 0x54, 0x9f, 0x0b, 0x66, 0xe0, 0x4f,
+	0x12, 0x25, 0x18, 0xca, 0xcb, 0x5f, 0xd1, 0x87, 0x50, 0xca, 0x05, 0xa9, 0x15, 0x9a, 0xc4, 0xdd,
+	0x68, 0xdf, 0xf2, 0xac, 0xce, 0x61, 0xca, 0xbc, 0xa7, 0xb9, 0x6c, 0x81, 0x05, 0x05, 0x13, 0x38,
+	0x7d, 0x0a, 0xeb, 0x71, 0xd8, 0xc5, 0x58, 0xd6, 0x8a, 0xcd, 0xa2, 0xbb, 0xd1, 0xbe, 0xef, 0xcd,
+	0x15, 0xc8, 0x5b, 0x4c, 0xc8, 0x3b, 0x36, 0xef, 0xb4, 0x71, 0x1c, 0x58, 0x27, 0xf4, 0x3e, 0x5c,
+	0xc5, 0x0c, 0x55, 0xbb, 0x62, 0xfc, 0x35, 0x16, 0xf8, 0xb3, 0xae, 0xc6, 0x41, 0x8e, 0xa5, 0x07,
+	0xb0, 0x95, 0x86, 0x42, 0xb1, 0x30, 0xee, 0xc8, 0x61, 0xaf, 0x87, 0x52, 0xd6, 0xd6, 0x9a, 0xc4,
+	0x2d, 0x05, 0x9b, 0xd6, 0x7c, 0x9a, 0x59, 0xeb, 0x0f, 0x61, 0x63, 0x2a, 0x2c, 0xad, 0x40, 0xf1,
+	0x15, 0x8e, 0xad, 0x1c, 0xfa, 0x93, 0xde, 0x80, 0xb5, 0x51, 0x18, 0x0f, 0x33, 0x1d, 0xca, 0x41,
+	0x76, 0x38, 0x2c, 0x3c, 0x20, 0xce, 0x4d, 0xd8, 0x99, 0x4b, 0x44, 0xa6, 0x3c, 0x91, 0xe8, 0xfc,
+	0x41, 0x60, 0xfb, 0x98, 0x49, 0x35, 0x2f, 0xfa, 0x1e, 0x6c, 0xa4, 0x82, 0x7f, 0x8f, 0x3d, 0xd5,
+	0x61, 0x7d, 0x59, 0x23, 0xcd, 0xa2, 0x5b, 0x0e, 0xc0, 0x9a, 0xbe, 0xe9, 0x4b, 0x7a, 0x07, 0x36,
+	0x73, 0x2d, 0x4d, 0x69, 0x64, 0xad, 0x64, 0x30, 0xd7, 0x72, 0xab, 0x2e, 0x90, 0xa4, 0x55, 0x58,
+	0x7f, 0xc9, 0x62, 0x85, 0xc2, 0xf2, 0xb2, 0x27, 0x5d, 0x54, 0x2e, 0xfa, 0x28, 0x3a, 0xdd, 0x71,
+	0xad, 0x98, 0x15, 0xd5, 0x9c, 0x8f, 0xc6, 0xb4, 0x01, 0xe5, 0x34, 0x8c, 0xb0, 0x23, 0xd9, 0x6b,
+	0xac, 0x5d, 0x69, 0x12, 0x77, 0x2d, 0x28, 0x69, 0xc3, 0x29, 0x7b, 0x8d, 0xf4, 0x16, 0x80, 0xb9,
+	0x54, 0xfc, 0x15, 0x26, 0x46, 0xab, 0x72, 0x60, 0xe0, 0xdf, 0x69, 0x83, 0x73, 0x06, 0xd5, 0xd9,
+	0x7c, 0xb2, 0x54, 0xa7, 0x0b, 0x44, 0x3e, 0xa0, 0x40, 0x9f, 0xc1, 0x56, 0x82, 0x3f, 0xaa, 0xce,
+	0x54, 0xd0, 0x2c, 0x91, 0x6b, 0xda, 0x7c, 0x32, 0x09, 0x8c, 0x70, 0xa0, 0x03, 0xcf, 0x75, 0xdc,
+	0x63, 0x94, 0x3d, 0xc1, 0x52, 0xc5, 0xc5, 0x44, 0xda, 0x0b, 0xf9, 0x91, 0xa5, 0xf9, 0x15, 0x66,
+	0xf3, 0xfb, 0x8d, 0x80, 0x7b, 0x79, 0x1c, 0x9b, 0xf2, 0x0b, 0xb8, 0x31, 0x29, 0x51, 0xff, 0xfc,
+	0xde, 0xe6, 0x7f, 0xb0, 0x74, 0x52, 0xce, 0xfd, 0x05, 0x1f, 0x8b, 0xf9, 0x18, 0x1f, 0xa0, 0xcb,
+	0x96, 0x2d, 0xc8, 0x24, 0xff, 0x2a, 0xac, 0xa7, 0xa1, 0xc0, 0x44, 0xd9, 0xf6, 0xb5, 0xa7, 0x8b,
+	0xba, 0x14, 0x96, 0xea, 0x52, 0x9c, 0xd5, 0xe5, 0x39, 0x54, 0xce, 0xc3, 0xd8, 0xf4, 0x1b, 0x50,
+	0xce, 0xf7, 0x46, 0x36, 0xe4, 0xe5, 0xa0, 0x64, 0x17, 0xc7, 0xca, 0xfc, 0xdb, 0x7f, 0xaf, 0x41,
+	0xe5, 0x38, 0x6b, 0x90, 0x53, 0x14, 0x23, 0xd6, 0xc3, 0x67, 0x6d, 0x7a, 0x06, 0xe5, 0xc9, 0x6e,
+	0xa3, 0xfb, 0x0b, 0xfa, 0x68, 0x76, 0xf3, 0xd5, 0xab, 0x39, 0x28, 0x5f, 0xa4, 0xde, 0x13, 0xbd,
+	0x65, 0x9d, 0x7b, 0xef, 0xfe, 0xfc, 0xe7, 0x97, 0xc2, 0x41, 0xeb, 0x8e, 0x3f, 0x6a, 0x77, 0x51,
+	0x85, 0x9f, 0xfb, 0x6f, 0x72, 0xce, 0x5f, 0xda, 0x61, 0x93, 0x7e, 0x4b, 0xef, 0x74, 0xe9, 0xb7,
+	0xde, 0xd2, 0x9f, 0x09, 0x6c, 0xcd, 0xcc, 0x32, 0xbd, 0xbb, 0xf2, 0xe2, 0xaa, 0xb7, 0x56, 0x81,
+	0xda, 0xd5, 0xb0, 0x6b, 0x98, 0x55, 0x9d, 0xeb, 0xfa, 0x37, 0xc5, 0x4e, 0xc3, 0xe1, 0x99, 0x06,
+	0x1f, 0x92, 0x16, 0x7d, 0x47, 0x60, 0xf3, 0xe2, 0xa0, 0x51, 0x77, 0xd1, 0x3c, 0x2d, 0xda, 0x2d,
+	0xf5, 0xbb, 0x2b, 0x20, 0x2d, 0x8b, 0x86, 0x61, 0xb1, 0xed, 0x54, 0xa6, 0x59, 0xc4, 0x4c, 0x2a,
+	0x4d, 0xe2, 0x77, 0x02, 0xcd, 0xcb, 0x86, 0x81, 0x1e, 0xbe, 0x27, 0xd8, 0x0a, 0x93, 0x5a, 0x7f,
+	0xf4, 0xbf, 0xde, 0x5a, 0xea, 0xae, 0xa1, 0xee, 0xd0, 0xa6, 0xa6, 0x3e, 0x58, 0x46, 0x71, 0x0c,
+	0xa5, 0xbc, 0x79, 0xa9, 0xf3, 0x7e, 0x6d, 0x26, 0xb4, 0xf6, 0x97, 0x62, 0x6c, 0xf8, 0x4f, 0x4d,
+	0xf8, 0xdb, 0x74, 0x57, 0x87, 0x7f, 0x93, 0x8d, 0xd8, 0x54, 0x4b, 0xbd, 0x35, 0x3d, 0x75, 0xf4,
+	0x13, 0x6c, 0xf7, 0xf8, 0x60, 0xde, 0xdf, 0xd1, 0x47, 0xb6, 0xe9, 0x4f, 0x74, 0xbf, 0x9e, 0x90,
+	0x17, 0x0f, 0x2c, 0x24, 0xe2, 0x71, 0x98, 0x44, 0x1e, 0x17, 0x91, 0x1f, 0x61, 0x62, 0xba, 0xd9,
+	0xcf, 0xae, 0xc2, 0x94, 0xc9, 0xa9, 0xff, 0x21, 0x8f, 0xec, 0xe7, 0xbf, 0x84, 0xfc, 0x5a, 0xd8,
+	0xf9, 0x3a, 0x7b, 0xfd, 0x55, 0xcc, 0x87, 0x7d, 0xcf, 0xba, 0xf6, 0x9e, 0xb5, 0xbb, 0xeb, 0xc6,
+	0xc3, 0x17, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x9a, 0x9f, 0x7c, 0xe8, 0x3f, 0x09, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging.proto b/googleapis/logging/v2/logging.proto
deleted file mode 100644
index 9258cf7a..00000000
--- a/googleapis/logging/v2/logging.proto
+++ /dev/null
@@ -1,190 +0,0 @@
-// 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.logging.v2;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/logging/v2/log_entry.proto"; // from google/logging/v2/log_entry.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/status/status.proto"; // from google/rpc/status.proto
-
-option cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "LoggingProto";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// Service for ingesting and querying logs.
-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: "/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: "/v2/entries:list" body: "*" };
-  }
-
-  // Lists the monitored resource descriptors used by Stackdriver Logging.
-  rpc ListMonitoredResourceDescriptors(ListMonitoredResourceDescriptorsRequest) returns (ListMonitoredResourceDescriptorsResponse) {
-    option (google.api.http) = { get: "/v2/monitoredResourceDescriptors" };
-  }
-}
-
-// The parameters to DeleteLog.
-message DeleteLogRequest {
-  // Required. The resource name of the log to delete.  Example:
-  // `"projects/my-project/logs/syslog"`.
-  string log_name = 1;
-}
-
-// The parameters to WriteLogEntries.
-message WriteLogEntriesRequest {
-  // 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 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. 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. 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](/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
-  // entries fail due to INVALID_ARGUMENT or PERMISSION_DENIED errors. If any
-  // entry is not written, the response status will be the error associated
-  // with one of the failed entries and include error details in the form of
-  // WriteLogEntriesPartialErrors.
-  bool partial_success = 5;
-}
-
-// Result returned from WriteLogEntries.
-// empty
-message WriteLogEntriesResponse {
-
-}
-
-// The parameters to `ListLogEntries`.
-message ListLogEntriesRequest {
-  // 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. 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
-  // values are `"timestamp asc"` (default) and `"timestamp desc"`. The first
-  // option returns entries in order of increasing values of
-  // `LogEntry.timestamp` (oldest first), and the second option returns entries
-  // in order of decreasing timestamps (newest first).  Entries with equal
-  // timestamps are returned in order of `LogEntry.insertId`.
-  string order_by = 3;
-
-  // Optional. The maximum number of results to return from this 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 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;
-}
-
-// Result returned from `ListLogEntries`.
-message ListLogEntriesResponse {
-  // A list of log entries.
-  repeated LogEntry entries = 1;
-
-  // 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;
-}
-
-// The parameters to ListMonitoredResourceDescriptors
-message ListMonitoredResourceDescriptorsRequest {
-  // Optional. The maximum number of results to return from this 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 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;
-}
-
-// Result returned from ListMonitoredResourceDescriptors.
-message ListMonitoredResourceDescriptorsResponse {
-  // A list of resource descriptors.
-  repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
-
-  // 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 49f0f4bc..c5cf56c5 100644
--- a/googleapis/logging/v2/logging_config.pb.go
+++ b/googleapis/logging/v2/logging_config.pb.go
@@ -1,15 +1,15 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging_config.proto
+// source: google/logging/v2/logging_config.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 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/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
-import _ "github.com/golang/protobuf/ptypes/timestamp"
+import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 
 import (
 	context "golang.org/x/net/context"
@@ -21,13 +21,13 @@ var _ = proto.Marshal
 var _ = fmt.Errorf
 var _ = math.Inf
 
-// Available log entry formats. Log entries can be written to Cloud
+// Available log entry formats. Log entries can be written to Stackdriver
 // Logging in either format and can be exported in either format.
 // Version 2 is the preferred format.
 type LogSink_VersionFormat int32
 
 const (
-	// An unspecified version format will default to V2.
+	// An unspecified format version that will default to V2.
 	LogSink_VERSION_FORMAT_UNSPECIFIED LogSink_VersionFormat = 0
 	// `LogEntry` version 2 format.
 	LogSink_V2 LogSink_VersionFormat = 1
@@ -49,60 +49,130 @@ 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.
+// Describes a sink used to export log entries to one of the following
+// destinations in any project: a Cloud Storage bucket, a BigQuery dataset, or a
+// Cloud Pub/Sub topic.  A logs filter controls which log entries are
+// exported. The sink must be created within a project or organization.
 type LogSink struct {
 	// 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.
+	// limited to 100 characters and can include only the following characters:
+	// upper and lower-case alphanumeric characters, underscores, hyphens, and
+	// periods.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Required. The export destination. See
-	// [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-	// Examples:
+	// Required. The export destination:
+	//
+	//     "storage.googleapis.com/[GCS_BUCKET]"
+	//     "bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET]"
+	//     "pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]"
 	//
-	//     "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"
+	// The sink's `writer_identity`, set when the sink is created, must
+	// have permission to write to the destination or else the log
+	// entries are not exported.  For more information, see
+	// [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
 	Destination string `protobuf:"bytes,3,opt,name=destination" json:"destination,omitempty"`
-	// 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 filter (V2 format):
+	// Optional.
+	// An [advanced logs filter](/logging/docs/view/advanced_filters).  The only
+	// exported log entries are those that are in the resource owning the sink and
+	// that match the filter. The filter must use the log entry format specified
+	// by the `output_version_format` parameter.  For example, in the v2 format:
 	//
-	//     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
+	//     logName="projects/[PROJECT_ID]/logs/[LOG_ID]" AND severity>=ERROR
 	Filter string `protobuf:"bytes,5,opt,name=filter" json:"filter,omitempty"`
-	// 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.
+	// Optional. The log entry format to use for this sink's exported log
+	// entries.  The v2 format is used by default.
+	// **The v1 format is deprecated** and should be used only as part of a
+	// migration effort to v2.
+	// See [Migration to the v2 API](/logging/docs/api/v2/migration-to-v2).
 	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"
+	// Output only. An IAM identity&mdash;a service account or group&mdash;under
+	// which Stackdriver Logging writes the exported log entries to the sink's
+	// destination.  This field is set by
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create)
+	// and
+	// [sinks.update](/logging/docs/api/reference/rest/v2/projects.sinks/update),
+	// based on the setting of `unique_writer_identity` in those methods.
 	//
-	//   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
+	// Until you grant this identity write-access to the destination, log entry
+	// exports from this sink will fail. For more information,
+	// see [Granting access for a
+	// resource](/iam/docs/granting-roles-to-service-accounts#granting_access_to_a_service_account_for_a_resource).
+	// Consult the destination service's documentation to determine the
+	// appropriate IAM roles to assign to the identity.
 	WriterIdentity string `protobuf:"bytes,8,opt,name=writer_identity,json=writerIdentity" json:"writer_identity,omitempty"`
+	// Optional. The time at which this sink will begin exporting log entries.
+	// Log entries are exported only if their timestamp is not earlier than the
+	// start time.  The default value of this field is the time the sink is
+	// created or updated.
+	StartTime *google_protobuf4.Timestamp `protobuf:"bytes,10,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
+	// Optional. The time at which this sink will stop exporting log entries.  Log
+	// entries are exported only if their timestamp is earlier than the end time.
+	// If this field is not supplied, there is no end time.  If both a start time
+	// and an end time are provided, then the end time must be later than the
+	// start time.
+	EndTime *google_protobuf4.Timestamp `protobuf:"bytes,11,opt,name=end_time,json=endTime" json:"end_time,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} }
+
+func (m *LogSink) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogSink) GetDestination() string {
+	if m != nil {
+		return m.Destination
+	}
+	return ""
+}
+
+func (m *LogSink) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *LogSink) GetOutputVersionFormat() LogSink_VersionFormat {
+	if m != nil {
+		return m.OutputVersionFormat
+	}
+	return LogSink_VERSION_FORMAT_UNSPECIFIED
+}
+
+func (m *LogSink) GetWriterIdentity() string {
+	if m != nil {
+		return m.WriterIdentity
+	}
+	return ""
+}
+
+func (m *LogSink) GetStartTime() *google_protobuf4.Timestamp {
+	if m != nil {
+		return m.StartTime
+	}
+	return nil
+}
+
+func (m *LogSink) GetEndTime() *google_protobuf4.Timestamp {
+	if m != nil {
+		return m.EndTime
+	}
+	return nil
+}
 
 // The parameters to `ListSinks`.
 type ListSinksRequest struct {
-	// Required. The cloud resource containing the sinks.
-	// Example: `"projects/my-logging-project"`.
+	// Required. The parent resource whose sinks are to be listed.
+	// Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// Optional. If present, then retrieve the next batch of results from the
 	// preceding call to this method.  `pageToken` must be the value of
@@ -118,7 +188,28 @@ type ListSinksRequest struct {
 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} }
+
+func (m *ListSinksRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListSinksRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListSinksRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
 
 // Result returned from `ListSinks`.
 type ListSinksResponse struct {
@@ -133,7 +224,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 {
@@ -142,9 +233,20 @@ func (m *ListSinksResponse) GetSinks() []*LogSink {
 	return nil
 }
 
+func (m *ListSinksResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to `GetSink`.
 type GetSinkRequest struct {
-	// Required. The resource name of the sink to return.
+	// Required. The parent resource name of the sink:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
 	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 }
@@ -152,23 +254,52 @@ 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} }
+
+func (m *GetSinkRequest) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 // The parameters to `CreateSink`.
 type CreateSinkRequest struct {
-	// Required. The resource in which to create the sink.
-	// Example: `"projects/my-project-id"`.
-	// The new sink must be provided in the request.
+	// Required. The resource in which to create the sink:
+	//
+	//     "projects/[PROJECT_ID]"
+	//     "organizations/[ORGANIZATION_ID]"
+	//
+	// Examples: `"projects/my-logging-project"`, `"organizations/123456789"`.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// 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"`
+	// Optional. Determines the kind of IAM identity returned as `writer_identity`
+	// in the new sink.  If this value is omitted or set to false, and if the
+	// sink's parent is a project, then the value returned as `writer_identity` is
+	// `cloud-logs@google.com`, the same identity used before the addition of
+	// writer identities to this API. The sink's destination must be in the same
+	// project as the sink itself.
+	//
+	// If this field is set to true, or if the sink is owned by a non-project
+	// resource such as an organization, then the value of `writer_identity` will
+	// be a unique service account used only for exports from the new sink.  For
+	// more information, see `writer_identity` in [LogSink][google.logging.v2.LogSink].
+	UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity" json:"unique_writer_identity,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) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -177,22 +308,52 @@ func (m *CreateSinkRequest) GetSink() *LogSink {
 	return nil
 }
 
+func (m *CreateSinkRequest) GetUniqueWriterIdentity() bool {
+	if m != nil {
+		return m.UniqueWriterIdentity
+	}
+	return false
+}
+
 // The parameters to `UpdateSink`.
 type UpdateSinkRequest struct {
-	// 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"`.
+	// Required. The full resource name of the sink to update, including the
+	// parent resource and the sink identifier:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
+	// Example: `"projects/my-project-id/sinks/my-sink-id"`.
 	SinkName string `protobuf:"bytes,1,opt,name=sink_name,json=sinkName" json:"sink_name,omitempty"`
 	// Required. The updated sink, whose name is the same identifier that appears
-	// as part of `sinkName`.  If `sinkName` does not exist, then
+	// as part of `sink_name`.  If `sink_name` does not exist, then
 	// this method creates a new sink.
 	Sink *LogSink `protobuf:"bytes,2,opt,name=sink" json:"sink,omitempty"`
+	// Optional. See
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create)
+	// for a description of this field.  When updating a sink, the effect of this
+	// field on the value of `writer_identity` in the updated sink depends on both
+	// the old and new values of this field:
+	//
+	// +   If the old and new values of this field are both false or both true,
+	//     then there is no change to the sink's `writer_identity`.
+	// +   If the old value was false and the new value is true, then
+	//     `writer_identity` is changed to a unique service account.
+	// +   It is an error if the old value was true and the new value is false.
+	UniqueWriterIdentity bool `protobuf:"varint,3,opt,name=unique_writer_identity,json=uniqueWriterIdentity" json:"unique_writer_identity,omitempty"`
 }
 
 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) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 func (m *UpdateSinkRequest) GetSink() *LogSink {
 	if m != nil {
@@ -201,19 +362,38 @@ func (m *UpdateSinkRequest) GetSink() *LogSink {
 	return nil
 }
 
+func (m *UpdateSinkRequest) GetUniqueWriterIdentity() bool {
+	if m != nil {
+		return m.UniqueWriterIdentity
+	}
+	return false
+}
+
 // The parameters to `DeleteSink`.
 type DeleteSinkRequest struct {
-	// 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.
+	// Required. The full resource name of the sink to delete, including the
+	// parent resource and the sink identifier:
+	//
+	//     "projects/[PROJECT_ID]/sinks/[SINK_ID]"
+	//     "organizations/[ORGANIZATION_ID]/sinks/[SINK_ID]"
+	//
+	// It is an error if the sink does not exist.  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 (m *DeleteSinkRequest) GetSinkName() string {
+	if m != nil {
+		return m.SinkName
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*LogSink)(nil), "google.logging.v2.LogSink")
@@ -241,11 +421,23 @@ type ConfigServiceV2Client interface {
 	ListSinks(ctx context.Context, in *ListSinksRequest, opts ...grpc.CallOption) (*ListSinksResponse, error)
 	// Gets a sink.
 	GetSink(ctx context.Context, in *GetSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Creates a sink.
+	// Creates a sink that exports specified log entries to a destination.  The
+	// export of newly-ingested log entries begins immediately, unless the current
+	// time is outside the sink's start and end times or the sink's
+	// `writer_identity` is not permitted to write to the destination.  A sink can
+	// export log entries only from the resource owning the sink.
 	CreateSink(ctx context.Context, in *CreateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Updates or creates a sink.
+	// Updates a sink. If the named sink doesn't exist, then this method is
+	// identical to
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create).
+	// If the named sink does exist, then this method replaces the following
+	// fields in the existing sink with values from the new sink: `destination`,
+	// `filter`, `output_version_format`, `start_time`, and `end_time`.
+	// The updated filter might also have a new `writer_identity`; see the
+	// `unique_writer_identity` field.
 	UpdateSink(ctx context.Context, in *UpdateSinkRequest, opts ...grpc.CallOption) (*LogSink, error)
-	// Deletes a sink.
+	// Deletes a sink. If the sink has a unique `writer_identity`, then that
+	// service account is also deleted.
 	DeleteSink(ctx context.Context, in *DeleteSinkRequest, opts ...grpc.CallOption) (*google_protobuf5.Empty, error)
 }
 
@@ -309,11 +501,23 @@ type ConfigServiceV2Server interface {
 	ListSinks(context.Context, *ListSinksRequest) (*ListSinksResponse, error)
 	// Gets a sink.
 	GetSink(context.Context, *GetSinkRequest) (*LogSink, error)
-	// Creates a sink.
+	// Creates a sink that exports specified log entries to a destination.  The
+	// export of newly-ingested log entries begins immediately, unless the current
+	// time is outside the sink's start and end times or the sink's
+	// `writer_identity` is not permitted to write to the destination.  A sink can
+	// export log entries only from the resource owning the sink.
 	CreateSink(context.Context, *CreateSinkRequest) (*LogSink, error)
-	// Updates or creates a sink.
+	// Updates a sink. If the named sink doesn't exist, then this method is
+	// identical to
+	// [sinks.create](/logging/docs/api/reference/rest/v2/projects.sinks/create).
+	// If the named sink does exist, then this method replaces the following
+	// fields in the existing sink with values from the new sink: `destination`,
+	// `filter`, `output_version_format`, `start_time`, and `end_time`.
+	// The updated filter might also have a new `writer_identity`; see the
+	// `unique_writer_identity` field.
 	UpdateSink(context.Context, *UpdateSinkRequest) (*LogSink, error)
-	// Deletes a sink.
+	// Deletes a sink. If the sink has a unique `writer_identity`, then that
+	// service account is also deleted.
 	DeleteSink(context.Context, *DeleteSinkRequest) (*google_protobuf5.Empty, error)
 }
 
@@ -437,59 +641,61 @@ var _ConfigServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging_config.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_config.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 724 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x55, 0xef, 0x4e, 0x1a, 0x4b,
-	0x14, 0xbf, 0xa0, 0xa2, 0x1c, 0xa3, 0xc2, 0xdc, 0x68, 0xc8, 0x1a, 0xef, 0xe5, 0xee, 0xd5, 0x7b,
-	0x09, 0x37, 0x77, 0x97, 0xe2, 0xb7, 0x36, 0x4d, 0x53, 0x15, 0x1b, 0x12, 0xab, 0x06, 0x94, 0x0f,
-	0xb6, 0xc9, 0x76, 0xc5, 0xc3, 0x76, 0x2a, 0x3b, 0xb3, 0xdd, 0x19, 0x68, 0xd5, 0x98, 0x34, 0x7d,
-	0x85, 0x3e, 0x40, 0x1f, 0xaa, 0xaf, 0xd0, 0xe7, 0x68, 0x9a, 0x9d, 0x59, 0x04, 0x05, 0x29, 0x7e,
-	0xd1, 0x99, 0xdf, 0xf9, 0xf3, 0x3b, 0xe7, 0x77, 0xce, 0x0e, 0x50, 0xf1, 0x38, 0xf7, 0xda, 0x68,
-	0x79, 0xbc, 0xed, 0x32, 0xcf, 0xe2, 0xa1, 0x67, 0x7b, 0xc8, 0x82, 0x90, 0x4b, 0x6e, 0x6b, 0x93,
-	0x1b, 0x50, 0x61, 0xb7, 0xb9, 0xe7, 0x51, 0xe6, 0xd9, 0xdd, 0x72, 0xef, 0xe8, 0x34, 0x39, 0x6b,
-	0x51, 0xcf, 0x52, 0xae, 0x24, 0x1b, 0xa7, 0x89, 0x8d, 0x56, 0xb7, 0x6c, 0x54, 0x27, 0xcb, 0xec,
-	0x06, 0xd4, 0x16, 0x18, 0x76, 0x69, 0x13, 0x75, 0x46, 0xdb, 0x65, 0x8c, 0x4b, 0x57, 0x52, 0xce,
-	0x84, 0xce, 0x6e, 0x6c, 0x7a, 0x54, 0xbe, 0xed, 0x9c, 0x5a, 0x4d, 0xee, 0xdb, 0x3a, 0x9d, 0xad,
-	0x0c, 0xa7, 0x9d, 0x96, 0x1d, 0xc8, 0x8b, 0x00, 0x85, 0x8d, 0x7e, 0x20, 0x2f, 0xf4, 0xdf, 0x38,
-	0xe8, 0xc9, 0xaf, 0x83, 0x24, 0xf5, 0x51, 0x48, 0xd7, 0x0f, 0xfa, 0x27, 0x1d, 0x6c, 0x7e, 0x4d,
-	0xc2, 0xec, 0x1e, 0xf7, 0xea, 0x94, 0x9d, 0x13, 0x02, 0xd3, 0xcc, 0xf5, 0x31, 0x97, 0xc8, 0x27,
-	0x0a, 0xe9, 0x9a, 0x3a, 0x93, 0x3c, 0xcc, 0x9f, 0xa1, 0x90, 0x94, 0xa9, 0x3a, 0x73, 0x53, 0xca,
-	0x34, 0x08, 0x91, 0x15, 0x48, 0xb5, 0x68, 0x5b, 0x62, 0x98, 0x9b, 0x51, 0xc6, 0xf8, 0x46, 0x5e,
-	0xc3, 0x32, 0xef, 0xc8, 0xa0, 0x23, 0x9d, 0x2e, 0x86, 0x82, 0x72, 0xe6, 0xb4, 0x78, 0xe8, 0xbb,
-	0x32, 0x97, 0xca, 0x27, 0x0a, 0x8b, 0xe5, 0x82, 0x35, 0xa4, 0xa4, 0x15, 0x17, 0x62, 0x35, 0x74,
-	0xc0, 0xae, 0xf2, 0xaf, 0xfd, 0xae, 0xd3, 0xdc, 0x02, 0xc9, 0xbf, 0xb0, 0xf4, 0x21, 0xa4, 0x12,
-	0x43, 0x87, 0x9e, 0x21, 0x93, 0x54, 0x5e, 0xe4, 0xe6, 0x14, 0xfd, 0xa2, 0x86, 0xab, 0x31, 0x6a,
-	0x3e, 0x83, 0x85, 0xdb, 0x91, 0x7f, 0x80, 0xd1, 0xa8, 0xd4, 0xea, 0xd5, 0x83, 0x7d, 0x67, 0xf7,
-	0xa0, 0xf6, 0xf2, 0xf9, 0x91, 0x73, 0xbc, 0x5f, 0x3f, 0xac, 0x6c, 0x57, 0x77, 0xab, 0x95, 0x9d,
-	0xcc, 0x6f, 0x24, 0x05, 0xc9, 0x46, 0x39, 0x93, 0x50, 0xff, 0x1f, 0x65, 0x92, 0x66, 0x0b, 0x32,
-	0x7b, 0x54, 0xc8, 0xa8, 0x30, 0x51, 0xc3, 0xf7, 0x1d, 0x14, 0x32, 0xea, 0x39, 0x70, 0x43, 0x64,
-	0x32, 0xd6, 0x2a, 0xbe, 0x91, 0x35, 0x80, 0xc0, 0xf5, 0xd0, 0x91, 0xfc, 0x1c, 0x59, 0x2e, 0xa9,
-	0x6c, 0xe9, 0x08, 0x39, 0x8a, 0x00, 0xb2, 0x0a, 0xea, 0xe2, 0x08, 0x7a, 0x89, 0x4a, 0xca, 0x99,
-	0xda, 0x5c, 0x04, 0xd4, 0xe9, 0x25, 0x9a, 0x3e, 0x64, 0x07, 0x78, 0x44, 0xc0, 0x99, 0x40, 0x52,
-	0x82, 0x19, 0x11, 0x01, 0xb9, 0x44, 0x7e, 0xaa, 0x30, 0x5f, 0x36, 0xee, 0x17, 0xad, 0xa6, 0x1d,
-	0xc9, 0x3f, 0xb0, 0xc4, 0xf0, 0xa3, 0x74, 0x86, 0xea, 0x58, 0x88, 0xe0, 0xc3, 0x5e, 0x2d, 0xe6,
-	0xff, 0xb0, 0xf8, 0x02, 0x15, 0x5b, 0xaf, 0xa9, 0x55, 0x48, 0x47, 0x29, 0x9c, 0x81, 0x1d, 0x98,
-	0x8b, 0x80, 0x7d, 0xd7, 0x47, 0xf3, 0x15, 0x64, 0xb7, 0x43, 0x74, 0x25, 0x0e, 0x46, 0xdc, 0x27,
-	0x83, 0x05, 0xd3, 0x51, 0xa0, 0x22, 0x1e, 0x5f, 0xb4, 0xf2, 0x33, 0xdf, 0x40, 0xf6, 0x38, 0x38,
-	0xbb, 0x93, 0x7c, 0x5c, 0x39, 0x0f, 0x66, 0x28, 0x41, 0x76, 0x07, 0xdb, 0x38, 0x39, 0x43, 0xf9,
-	0xc7, 0x34, 0x2c, 0x6d, 0xab, 0xef, 0xb4, 0xae, 0x3f, 0xda, 0x46, 0x99, 0x5c, 0x43, 0xfa, 0x66,
-	0x44, 0xe4, 0xef, 0x51, 0xa4, 0x77, 0x16, 0xc5, 0x58, 0x1f, 0xef, 0xa4, 0xa7, 0x6c, 0x6e, 0x7c,
-	0xfe, 0xf6, 0xfd, 0x4b, 0xf2, 0x4f, 0xb2, 0x16, 0x3d, 0x3b, 0x57, 0x5a, 0xc4, 0xa7, 0x41, 0xc8,
-	0xdf, 0x61, 0x53, 0x0a, 0xbb, 0x78, 0x6d, 0xeb, 0xd1, 0x4a, 0x98, 0x8d, 0x47, 0x46, 0xfe, 0x1a,
-	0x91, 0xf7, 0xf6, 0x38, 0x8d, 0x31, 0xa2, 0x98, 0x45, 0x45, 0xb8, 0x4e, 0x4c, 0x45, 0x78, 0x23,
-	0xc2, 0x00, 0xa7, 0xa6, 0xb4, 0x8b, 0xd7, 0xe4, 0x0a, 0xa0, 0x3f, 0x79, 0x32, 0xaa, 0xa1, 0xa1,
-	0xc5, 0x18, 0xcb, 0xfd, 0x9f, 0xe2, 0xde, 0x30, 0xc7, 0x37, 0xfb, 0x58, 0xcd, 0x8d, 0x7c, 0x4a,
-	0x00, 0xf4, 0x57, 0x63, 0x24, 0xfb, 0xd0, 0xe6, 0x8c, 0x65, 0x2f, 0x29, 0xf6, 0xa2, 0x31, 0x41,
-	0xe7, 0x71, 0x09, 0x5d, 0x80, 0xfe, 0xea, 0x8c, 0xac, 0x60, 0x68, 0xb3, 0x8c, 0x95, 0x9e, 0x57,
-	0xef, 0x21, 0xb6, 0x2a, 0xd1, 0x83, 0xdd, 0xd3, 0xbd, 0x38, 0x01, 0xfb, 0xd6, 0x09, 0x2c, 0x37,
-	0xb9, 0x3f, 0x4c, 0xb7, 0xb5, 0xb0, 0xa7, 0xcf, 0x7a, 0x3b, 0x0f, 0x13, 0x27, 0xa5, 0x87, 0xfe,
-	0xb4, 0x9d, 0xa6, 0x94, 0x71, 0xf3, 0x67, 0x00, 0x00, 0x00, 0xff, 0xff, 0x52, 0x86, 0xdf, 0xea,
-	0x15, 0x07, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging_config.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging_config.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 787 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x55, 0xed, 0x4e, 0x33, 0x45,
+	0x14, 0x76, 0x0b, 0x94, 0xf6, 0x90, 0x17, 0xda, 0xd1, 0x17, 0x37, 0x8b, 0xaf, 0xd4, 0x15, 0xb0,
+	0xa9, 0x71, 0x17, 0x57, 0x4d, 0xfc, 0x88, 0x31, 0x52, 0x0a, 0x69, 0x82, 0xd0, 0x6c, 0xa1, 0x26,
+	0xc6, 0x64, 0xb3, 0xb4, 0xd3, 0xcd, 0x48, 0x77, 0x66, 0xd9, 0x9d, 0x56, 0x81, 0x90, 0xa8, 0x77,
+	0x40, 0x4c, 0xbc, 0x08, 0x6f, 0xc7, 0x5b, 0xf0, 0x3a, 0x8c, 0x99, 0x99, 0x2d, 0xb4, 0xdd, 0x5a,
+	0xf9, 0xe5, 0xaf, 0x9d, 0xf3, 0x35, 0xcf, 0x73, 0xce, 0x79, 0x32, 0x0b, 0x7b, 0x01, 0x63, 0xc1,
+	0x00, 0xdb, 0x03, 0x16, 0x04, 0x84, 0x06, 0xf6, 0xc8, 0x19, 0x1f, 0xbd, 0x2e, 0xa3, 0x7d, 0x12,
+	0x58, 0x51, 0xcc, 0x38, 0x43, 0x65, 0x95, 0x67, 0xa5, 0x41, 0x6b, 0xe4, 0x18, 0x6f, 0xa5, 0xa5,
+	0x7e, 0x44, 0x6c, 0x9f, 0x52, 0xc6, 0x7d, 0x4e, 0x18, 0x4d, 0x54, 0x81, 0xb1, 0x95, 0x46, 0xa5,
+	0x75, 0x39, 0xec, 0xdb, 0x38, 0x8c, 0xf8, 0x4d, 0x1a, 0xdc, 0x9e, 0x0d, 0x72, 0x12, 0xe2, 0x84,
+	0xfb, 0x61, 0xa4, 0x12, 0xcc, 0x87, 0x25, 0x58, 0x3d, 0x61, 0x41, 0x9b, 0xd0, 0x2b, 0x84, 0x60,
+	0x99, 0xfa, 0x21, 0xd6, 0xb5, 0x8a, 0x56, 0x2d, 0xba, 0xf2, 0x8c, 0x2a, 0xb0, 0xd6, 0xc3, 0x09,
+	0x27, 0x54, 0x62, 0xea, 0x4b, 0x32, 0x34, 0xe9, 0x42, 0x9b, 0x90, 0xef, 0x93, 0x01, 0xc7, 0xb1,
+	0xbe, 0x22, 0x83, 0xa9, 0x85, 0xbe, 0x87, 0x97, 0x6c, 0xc8, 0xa3, 0x21, 0xf7, 0x46, 0x38, 0x4e,
+	0x08, 0xa3, 0x5e, 0x9f, 0xc5, 0xa1, 0xcf, 0xf5, 0x7c, 0x45, 0xab, 0xae, 0x3b, 0x55, 0x2b, 0xd3,
+	0xa8, 0x95, 0x12, 0xb1, 0x3a, 0xaa, 0xe0, 0x48, 0xe6, 0xbb, 0xaf, 0xab, 0x6b, 0xa6, 0x9c, 0xe8,
+	0x3d, 0xd8, 0xf8, 0x31, 0x26, 0x1c, 0xc7, 0x1e, 0xe9, 0x61, 0xca, 0x09, 0xbf, 0xd1, 0x0b, 0x12,
+	0x7e, 0x5d, 0xb9, 0x9b, 0xa9, 0x17, 0x7d, 0x06, 0x90, 0x70, 0x3f, 0xe6, 0x9e, 0xe8, 0x5c, 0x87,
+	0x8a, 0x56, 0x5d, 0x73, 0x8c, 0x31, 0xf6, 0x78, 0x2c, 0xd6, 0xf9, 0x78, 0x2c, 0x6e, 0x51, 0x66,
+	0x0b, 0x1b, 0x7d, 0x02, 0x05, 0x4c, 0x7b, 0xaa, 0x70, 0xed, 0x3f, 0x0b, 0x57, 0x31, 0xed, 0x09,
+	0xcb, 0xfc, 0x0a, 0x5e, 0x4c, 0x73, 0x7d, 0x1b, 0x8c, 0x4e, 0xc3, 0x6d, 0x37, 0xcf, 0x4e, 0xbd,
+	0xa3, 0x33, 0xf7, 0x9b, 0xaf, 0xcf, 0xbd, 0x8b, 0xd3, 0x76, 0xab, 0x51, 0x6f, 0x1e, 0x35, 0x1b,
+	0x87, 0xa5, 0xd7, 0x50, 0x1e, 0x72, 0x1d, 0xa7, 0xa4, 0xc9, 0xef, 0x87, 0xa5, 0x9c, 0xd9, 0x87,
+	0xd2, 0x09, 0x49, 0xb8, 0x18, 0x45, 0xe2, 0xe2, 0xeb, 0x21, 0x4e, 0xb8, 0x98, 0x72, 0xe4, 0xc7,
+	0x98, 0xf2, 0x74, 0x3b, 0xa9, 0x85, 0x5e, 0x01, 0x44, 0x7e, 0x80, 0x3d, 0xce, 0xae, 0x30, 0xd5,
+	0x73, 0x32, 0x56, 0x14, 0x9e, 0x73, 0xe1, 0x40, 0x5b, 0x20, 0x0d, 0x2f, 0x21, 0xb7, 0x58, 0x2e,
+	0x6f, 0xc5, 0x2d, 0x08, 0x47, 0x9b, 0xdc, 0x62, 0x33, 0x84, 0xf2, 0x04, 0x4e, 0x12, 0x31, 0x9a,
+	0x60, 0xb4, 0x0f, 0x2b, 0x89, 0x70, 0xe8, 0x5a, 0x65, 0x69, 0xb2, 0xe3, 0xec, 0x9a, 0x5c, 0x95,
+	0x88, 0xf6, 0x60, 0x83, 0xe2, 0x9f, 0xb8, 0x97, 0xe1, 0xf1, 0x42, 0xb8, 0x5b, 0x63, 0x2e, 0xe6,
+	0x07, 0xb0, 0x7e, 0x8c, 0x25, 0xda, 0xb8, 0xa9, 0x2d, 0x28, 0x8a, 0x2b, 0xbc, 0x09, 0xd5, 0x15,
+	0x84, 0xe3, 0xd4, 0x0f, 0xb1, 0xf9, 0xa0, 0x41, 0xb9, 0x1e, 0x63, 0x9f, 0xe3, 0xc9, 0x92, 0x7f,
+	0x9b, 0x83, 0x05, 0xcb, 0xa2, 0x52, 0x22, 0x2f, 0x66, 0x2d, 0xf3, 0xd0, 0xc7, 0xb0, 0x39, 0xa4,
+	0xe4, 0x7a, 0x88, 0xbd, 0x59, 0x19, 0x89, 0x29, 0x15, 0xdc, 0x37, 0x54, 0xf4, 0xdb, 0x29, 0x31,
+	0x99, 0xbf, 0x6b, 0x50, 0xbe, 0x88, 0x7a, 0x33, 0x9c, 0x16, 0xb5, 0xf1, 0x3f, 0x11, 0xdb, 0x87,
+	0xf2, 0x21, 0x1e, 0xe0, 0xe7, 0xf3, 0x72, 0xfe, 0x5e, 0x86, 0x8d, 0xba, 0x7c, 0x78, 0xda, 0x38,
+	0x1e, 0x91, 0x2e, 0xee, 0x38, 0xe8, 0x1e, 0x8a, 0x8f, 0x82, 0x40, 0xef, 0xce, 0xa3, 0x3a, 0x23,
+	0x4b, 0x63, 0x67, 0x71, 0x92, 0xd2, 0x94, 0xb9, 0xfb, 0xeb, 0x9f, 0x7f, 0xfd, 0x96, 0xdb, 0x46,
+	0xaf, 0xc4, 0xab, 0x77, 0xa7, 0x36, 0xf6, 0x65, 0x14, 0xb3, 0x1f, 0x70, 0x97, 0x27, 0x76, 0xed,
+	0xde, 0x56, 0x42, 0xe2, 0xb0, 0x9a, 0x0a, 0x04, 0xbd, 0x33, 0xe7, 0xde, 0x69, 0xf1, 0x18, 0x0b,
+	0x46, 0x69, 0xd6, 0x24, 0xe0, 0x0e, 0x32, 0x25, 0xe0, 0xe3, 0x10, 0x26, 0x30, 0x15, 0xa4, 0x5d,
+	0xbb, 0x47, 0x77, 0x00, 0x4f, 0x32, 0x43, 0xf3, 0x1a, 0xca, 0xa8, 0x70, 0x21, 0xf6, 0xfb, 0x12,
+	0x7b, 0xd7, 0x5c, 0xdc, 0xec, 0xe7, 0x6a, 0xdb, 0x3f, 0x6b, 0x00, 0x4f, 0x82, 0x9a, 0x8b, 0x9e,
+	0xd1, 0xdb, 0x42, 0xf4, 0x7d, 0x89, 0x5e, 0x33, 0x9e, 0xd1, 0x79, 0x4a, 0x61, 0x04, 0xf0, 0x24,
+	0x9d, 0xb9, 0x0c, 0x32, 0xca, 0x32, 0x36, 0x33, 0xef, 0x60, 0x43, 0xfc, 0x74, 0xc6, 0x73, 0xaf,
+	0x3d, 0x03, 0xfd, 0xe0, 0x17, 0x0d, 0x5e, 0x76, 0x59, 0x98, 0xc5, 0x3b, 0x40, 0x27, 0xea, 0xac,
+	0xe4, 0xd9, 0x12, 0x10, 0x2d, 0xed, 0xbb, 0x4f, 0xd3, 0xc4, 0x80, 0x0d, 0x7c, 0x1a, 0x58, 0x2c,
+	0x0e, 0xec, 0x00, 0x53, 0x49, 0xc0, 0x56, 0x21, 0x3f, 0x22, 0xc9, 0xc4, 0xff, 0xf5, 0x8b, 0xf4,
+	0xf8, 0x47, 0xee, 0xcd, 0x63, 0x55, 0x5a, 0x1f, 0xb0, 0x61, 0xcf, 0x4a, 0x6f, 0xb7, 0x3a, 0xce,
+	0x65, 0x5e, 0x96, 0x7f, 0xf4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x9e, 0xa5, 0xee, 0x9d,
+	0x07, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_config.proto b/googleapis/logging/v2/logging_config.proto
deleted file mode 100644
index fb9df625..00000000
--- a/googleapis/logging/v2/logging_config.proto
+++ /dev/null
@@ -1,187 +0,0 @@
-// 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.logging.v2;
-
-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 = "LoggingConfig";
-option java_package = "com.google.logging.v2";
-
-option go_package = "google.golang.org/genproto/googleapis/logging/v2";
-
-// Service for configuring sinks used to export log entries outside Stackdriver
-// Logging.
-service ConfigServiceV2 {
-  // Lists sinks.
-  rpc ListSinks(ListSinksRequest) returns (ListSinksResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/sinks" };
-  }
-
-  // Gets a sink.
-  rpc GetSink(GetSinkRequest) returns (LogSink) {
-    option (google.api.http) = { get: "/v2/{sink_name=projects/*/sinks/*}" };
-  }
-
-  // Creates a sink.
-  rpc CreateSink(CreateSinkRequest) returns (LogSink) {
-    option (google.api.http) = { post: "/v2/{parent=projects/*}/sinks" body: "sink" };
-  }
-
-  // Updates or creates a sink.
-  rpc UpdateSink(UpdateSinkRequest) returns (LogSink) {
-    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: "/v2/{sink_name=projects/*/sinks/*}" };
-  }
-}
-
-// Describes a sink used to export log entries outside Stackdriver Logging.
-message LogSink {
-  // Available log entry formats. Log entries can be written to Cloud
-  // Logging in either format and can be exported in either format.
-  // Version 2 is the preferred format.
-  enum VersionFormat {
-    // An unspecified version format will default to V2.
-    VERSION_FORMAT_UNSPECIFIED = 0;
-
-    // `LogEntry` version 2 format.
-    V2 = 1;
-
-    // `LogEntry` version 1 format.
-    V1 = 2;
-  }
-
-  // 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;
-
-  // Required. The export destination. See
-  // [Exporting Logs With Sinks](/logging/docs/api/tasks/exporting-logs).
-  // 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;
-
-  // 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 filter (V2 format):
-  //
-  //     logName=projects/my-projectid/logs/syslog AND severity>=ERROR
-  string filter = 5;
-
-  // 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 cloud resource containing the sinks.
-  // Example: `"projects/my-logging-project"`.
-  string parent = 1;
-
-  // 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.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 3;
-}
-
-// Result returned from `ListSinks`.
-message ListSinksResponse {
-  // A list of sinks.
-  repeated LogSink sinks = 1;
-
-  // 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 {
-  // 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 {
-  // 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;
-
-  // 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 {
-  // 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;
-
-  // 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 {
-  // 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 a12e415f..ef047de7 100644
--- a/googleapis/logging/v2/logging_metrics.pb.go
+++ b/googleapis/logging/v2/logging_metrics.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto
+// source: google/logging/v2/logging_metrics.proto
 // DO NOT EDIT!
 
-package v2 // import "google.golang.org/genproto/googleapis/logging/v2"
+package logging
 
 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/api/annotations"
 import google_protobuf5 "github.com/golang/protobuf/ptypes/empty"
 
 import (
@@ -42,24 +42,36 @@ var LogMetric_ApiVersion_value = map[string]int32{
 func (x LogMetric_ApiVersion) String() string {
 	return proto.EnumName(LogMetric_ApiVersion_name, int32(x))
 }
-func (LogMetric_ApiVersion) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{0, 0} }
+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.
+// number of log entries that match a logs filter in a given time interval.
 type LogMetric struct {
-	// Required. The client-assigned metric identifier. Example:
-	// `"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
-	// forward-slash character (`/`) denotes a hierarchy of name pieces,
-	// 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.
+	// Required. The client-assigned metric identifier.
+	// Examples: `"error_count"`, `"nginx/requests"`.
+	//
+	// 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 forward-slash character
+	// (`/`) denotes a hierarchy of name pieces, and it cannot be the
+	// first character of the name.
+	//
+	// The metric identifier in this field must not be
+	// [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding).
+	// However, when the metric identifier appears as the `[METRIC_ID]`
+	// part of a `metric_name` API parameter, then the metric identifier
+	// must be URL-encoded. Example:
+	// `"projects/my-project/metrics/nginx%2Frequests"`.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// Optional. A description of this metric, which is used in documentation.
 	Description string `protobuf:"bytes,2,opt,name=description" json:"description,omitempty"`
-	// Required. An [advanced logs filter](/logging/docs/view/advanced_filters).
-	// Example: `"resource.type=gae_app AND severity>=ERROR"`.
+	// Required. An [advanced logs filter](/logging/docs/view/advanced_filters)
+	// which is used to match log entries.
+	// Example:
+	//
+	//     "resource.type=gae_app AND severity>=ERROR"
+	//
+	// The maximum length of the filter is 20000 characters.
 	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
@@ -70,12 +82,41 @@ type LogMetric struct {
 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} }
+
+func (m *LogMetric) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *LogMetric) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *LogMetric) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *LogMetric) GetVersion() LogMetric_ApiVersion {
+	if m != nil {
+		return m.Version
+	}
+	return LogMetric_V2
+}
 
 // The parameters to ListLogMetrics.
 type ListLogMetricsRequest struct {
-	// Required. The resource name containing the metrics.
-	// Example: `"projects/my-project-id"`.
+	// Required. The name of the project containing the metrics:
+	//
+	//     "projects/[PROJECT_ID]"
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
 	// Optional. If present, then retrieve the next batch of results from the
 	// preceding call to this method.  `pageToken` must be the value of
@@ -91,7 +132,28 @@ type ListLogMetricsRequest struct {
 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} }
+
+func (m *ListLogMetricsRequest) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
+
+func (m *ListLogMetricsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListLogMetricsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
 
 // Result returned from ListLogMetrics.
 type ListLogMetricsResponse struct {
@@ -106,7 +168,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 {
@@ -115,22 +177,38 @@ func (m *ListLogMetricsResponse) GetMetrics() []*LogMetric {
 	return nil
 }
 
+func (m *ListLogMetricsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The parameters to GetLogMetric.
 type GetLogMetricRequest struct {
-	// The resource name of the desired metric.
-	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
+	// The resource name of the desired metric:
+	//
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
 }
 
 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} }
+
+func (m *GetLogMetricRequest) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 // The parameters to CreateLogMetric.
 type CreateLogMetricRequest struct {
-	// The resource name of the project in which to create the metric.
-	// Example: `"projects/my-project-id"`.
+	// The resource name of the project in which to create the metric:
+	//
+	//     "projects/[PROJECT_ID]"
 	//
 	// The new metric must be provided in the request.
 	Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"`
@@ -142,7 +220,14 @@ 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) GetParent() string {
+	if m != nil {
+		return m.Parent
+	}
+	return ""
+}
 
 func (m *CreateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -153,23 +238,29 @@ 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"`.
+	// The resource name of the metric to update:
 	//
-	// The updated metric must be provided in the request and have the
-	// same identifier that is specified in `metricName`.
-	// If the metric does not exist, it is created.
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
+	//
+	// The updated metric must be provided in the request and it's
+	// `name` field must be the same as `[METRIC_ID]` If the metric
+	// does not exist in `[PROJECT_ID]`, then a new metric is created.
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
-	// The updated metric, whose name must be the same as the
-	// metric identifier in `metricName`. If `metricName` does not
-	// exist, then a new metric is created.
+	// The updated metric.
 	Metric *LogMetric `protobuf:"bytes,2,opt,name=metric" json:"metric,omitempty"`
 }
 
 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) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 func (m *UpdateLogMetricRequest) GetMetric() *LogMetric {
 	if m != nil {
@@ -180,15 +271,23 @@ func (m *UpdateLogMetricRequest) GetMetric() *LogMetric {
 
 // The parameters to DeleteLogMetric.
 type DeleteLogMetricRequest struct {
-	// The resource name of the metric to delete.
-	// Example: `"projects/my-project-id/metrics/my-metric-id"`.
+	// The resource name of the metric to delete:
+	//
+	//     "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
 	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName" json:"metric_name,omitempty"`
 }
 
 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 (m *DeleteLogMetricRequest) GetMetricName() string {
+	if m != nil {
+		return m.MetricName
+	}
+	return ""
+}
 
 func init() {
 	proto.RegisterType((*LogMetric)(nil), "google.logging.v2.LogMetric")
@@ -412,54 +511,52 @@ var _MetricsServiceV2_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/logging/v2/logging_metrics.proto", fileDescriptor2)
-}
-
-var fileDescriptor2 = []byte{
-	// 650 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x55, 0x5d, 0x4f, 0x13, 0x4d,
-	0x14, 0x7e, 0x97, 0x8f, 0xf2, 0x72, 0x50, 0x8a, 0x63, 0x68, 0x9a, 0x8a, 0xa1, 0xee, 0x05, 0x14,
-	0x2e, 0x76, 0x70, 0x31, 0x24, 0x9a, 0x78, 0x01, 0x7e, 0xc5, 0x04, 0x0d, 0x29, 0xca, 0x85, 0x5e,
-	0x34, 0xcb, 0x72, 0x3a, 0x8e, 0xb4, 0x3b, 0xe3, 0xce, 0xd0, 0x00, 0x86, 0x1b, 0xc3, 0x9d, 0x89,
-	0x17, 0xfa, 0x6f, 0xfc, 0x1b, 0xfa, 0x13, 0xfc, 0x21, 0x66, 0x67, 0x76, 0x4b, 0x6d, 0x57, 0x5a,
-	0xb9, 0x69, 0x67, 0xce, 0xd7, 0xf3, 0x9c, 0x73, 0x9e, 0x4e, 0xe1, 0x29, 0x13, 0x82, 0xb5, 0xd0,
-	0x63, 0xa2, 0x15, 0x44, 0xcc, 0x13, 0x31, 0xa3, 0x0c, 0x23, 0x19, 0x0b, 0x2d, 0xa8, 0x75, 0x05,
-	0x92, 0x2b, 0xda, 0x12, 0x8c, 0xf1, 0x88, 0xd1, 0x8e, 0x9f, 0x1d, 0x1b, 0x6d, 0xd4, 0x31, 0x0f,
-	0x95, 0x67, 0x62, 0xc9, 0x8d, 0xb4, 0x4e, 0xea, 0xf5, 0x3a, 0x7e, 0xe5, 0xf9, 0x68, 0xa5, 0x03,
-	0xc9, 0xa9, 0xc2, 0xb8, 0xc3, 0x43, 0x0c, 0x45, 0xd4, 0xe4, 0x8c, 0x06, 0x51, 0x24, 0x74, 0xa0,
-	0xb9, 0x88, 0xd2, 0xea, 0x95, 0x75, 0xc6, 0xf5, 0xbb, 0xa3, 0x7d, 0x2f, 0x14, 0x6d, 0x6a, 0xcb,
-	0x51, 0xe3, 0xd8, 0x3f, 0x6a, 0x52, 0xa9, 0x4f, 0x24, 0x2a, 0x8a, 0x6d, 0xa9, 0x4f, 0xec, 0xa7,
-	0x4d, 0x72, 0xbf, 0x3b, 0x30, 0xbd, 0x2d, 0xd8, 0x0b, 0xc3, 0x93, 0x10, 0x98, 0x88, 0x82, 0x36,
-	0x96, 0x9d, 0xaa, 0x53, 0x9b, 0xae, 0x9b, 0x33, 0xa9, 0xc2, 0xcc, 0x01, 0xaa, 0x30, 0xe6, 0x32,
-	0x01, 0x2b, 0x8f, 0x19, 0x57, 0xaf, 0x89, 0x94, 0xa0, 0xd0, 0xe4, 0x2d, 0x8d, 0x71, 0x79, 0xdc,
-	0x38, 0xd3, 0x1b, 0xd9, 0x84, 0xa9, 0x0e, 0xc6, 0x2a, 0xc9, 0x9a, 0xa8, 0x3a, 0xb5, 0x59, 0x7f,
-	0xd9, 0x1b, 0x18, 0x80, 0xd7, 0x05, 0xf7, 0x36, 0x25, 0xdf, 0xb3, 0xe1, 0xf5, 0x2c, 0xcf, 0x5d,
-	0x00, 0xb8, 0x30, 0x93, 0x02, 0x8c, 0xed, 0xf9, 0x73, 0xff, 0x99, 0xef, 0xbb, 0x73, 0x8e, 0x7b,
-	0x08, 0xf3, 0xdb, 0x5c, 0xe9, 0x6e, 0x09, 0x55, 0xc7, 0x0f, 0x47, 0xa8, 0x74, 0xc2, 0x48, 0x06,
-	0x31, 0x46, 0x3a, 0xed, 0x24, 0xbd, 0x91, 0xdb, 0x00, 0x32, 0x60, 0xd8, 0xd0, 0xe2, 0x10, 0xb3,
-	0x56, 0xa6, 0x13, 0xcb, 0xab, 0xc4, 0x40, 0x6e, 0x81, 0xb9, 0x34, 0x14, 0x3f, 0x45, 0xd3, 0xcb,
-	0x64, 0xfd, 0xff, 0xc4, 0xb0, 0xcb, 0x4f, 0xd1, 0x3d, 0x86, 0x52, 0x3f, 0x98, 0x92, 0x22, 0x52,
-	0x48, 0x36, 0x60, 0x2a, 0xdd, 0x73, 0xd9, 0xa9, 0x8e, 0xd7, 0x66, 0xfc, 0x85, 0xcb, 0xfa, 0xac,
-	0x67, 0xc1, 0x64, 0x09, 0x8a, 0x11, 0x1e, 0xeb, 0xc6, 0x00, 0xa5, 0xeb, 0x89, 0x79, 0x27, 0xa3,
-	0xe5, 0x6e, 0xc0, 0xcd, 0x67, 0x78, 0x01, 0x9c, 0x35, 0xb9, 0x08, 0x33, 0xb6, 0x52, 0xa3, 0x67,
-	0x67, 0x60, 0x4d, 0x2f, 0x83, 0x36, 0xba, 0x4d, 0x28, 0x3d, 0x8a, 0x31, 0xd0, 0x38, 0x90, 0xfa,
-	0xb7, 0xf9, 0xdc, 0x83, 0x82, 0xcd, 0x37, 0x44, 0x86, 0x35, 0x92, 0xc6, 0xba, 0x02, 0x4a, 0xaf,
-	0xe5, 0x41, 0x1e, 0xce, 0x30, 0x8a, 0x57, 0x04, 0xbc, 0x0f, 0xa5, 0xc7, 0xd8, 0xc2, 0x2b, 0x00,
-	0xfa, 0x3f, 0x27, 0x61, 0x2e, 0xdd, 0xdf, 0xae, 0xfd, 0x3d, 0xed, 0xf9, 0xe4, 0x8b, 0x03, 0xb3,
-	0x7f, 0xee, 0x96, 0xd4, 0xf2, 0x88, 0xe4, 0x69, 0xad, 0xb2, 0x32, 0x42, 0xa4, 0x15, 0x8a, 0xbb,
-	0xfc, 0xe9, 0xc7, 0xaf, 0x6f, 0x63, 0x77, 0xc8, 0x62, 0xf2, 0x44, 0x7c, 0xb4, 0x33, 0x7f, 0x28,
-	0x63, 0xf1, 0x1e, 0x43, 0xad, 0xe8, 0xea, 0x19, 0xcd, 0x94, 0x71, 0xee, 0xc0, 0xb5, 0xde, 0x95,
-	0x93, 0xa5, 0x1c, 0x90, 0x1c, 0x4d, 0x54, 0x2e, 0x9d, 0x9f, 0xeb, 0x19, 0xfc, 0x1a, 0x59, 0x32,
-	0xf8, 0x3d, 0x83, 0xea, 0x21, 0x91, 0x71, 0xa0, 0xab, 0x67, 0xe4, 0xb3, 0x03, 0xc5, 0x3e, 0x05,
-	0x91, 0xbc, 0x76, 0xf3, 0x55, 0x36, 0x84, 0x0c, 0x35, 0x64, 0x56, 0xdc, 0x61, 0xc3, 0x78, 0x90,
-	0x6e, 0x9d, 0x7c, 0x75, 0xa0, 0xd8, 0xa7, 0xb3, 0x5c, 0x36, 0xf9, 0x5a, 0x1c, 0xc2, 0x66, 0xc3,
-	0xb0, 0x59, 0xab, 0x8c, 0x38, 0x9a, 0x2e, 0xa9, 0x73, 0x07, 0x8a, 0x7d, 0x5a, 0xcc, 0x25, 0x95,
-	0xaf, 0xd7, 0x4a, 0x29, 0x0b, 0xcd, 0x5e, 0x6a, 0xef, 0x49, 0xf2, 0x38, 0x67, 0x9b, 0x5a, 0x1d,
-	0x91, 0xce, 0xd6, 0x5b, 0x98, 0x0f, 0x45, 0x7b, 0x10, 0x77, 0x6b, 0x76, 0xdb, 0x9e, 0x53, 0x29,
-	0xee, 0x38, 0x6f, 0xd6, 0xfe, 0xf5, 0xcf, 0x6c, 0xbf, 0x60, 0x9c, 0xeb, 0xbf, 0x03, 0x00, 0x00,
-	0xff, 0xff, 0x46, 0x24, 0x21, 0x19, 0x07, 0x07, 0x00, 0x00,
+	Metadata: "google/logging/v2/logging_metrics.proto",
+}
+
+func init() { proto.RegisterFile("google/logging/v2/logging_metrics.proto", fileDescriptor3) }
+
+var fileDescriptor3 = []byte{
+	// 646 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x55, 0x4f, 0x53, 0xd3, 0x40,
+	0x14, 0x77, 0x0b, 0x14, 0x79, 0x28, 0xc5, 0x65, 0x88, 0x9d, 0x80, 0x43, 0xcd, 0x01, 0x0a, 0x87,
+	0x44, 0xa3, 0xc3, 0xf8, 0x67, 0x3c, 0x00, 0x3a, 0x5c, 0xd0, 0xe9, 0x14, 0xed, 0xc1, 0x4b, 0x27,
+	0xb4, 0xaf, 0x99, 0x95, 0x34, 0x1b, 0x93, 0x6d, 0x07, 0x71, 0xb8, 0x30, 0xdc, 0x9c, 0xf1, 0xa0,
+	0xdf, 0xc2, 0x8f, 0xe0, 0xd7, 0xd0, 0x8f, 0xe0, 0x07, 0x71, 0xb2, 0xd9, 0x94, 0xd8, 0x46, 0xda,
+	0xe1, 0xd4, 0xdd, 0xf7, 0xef, 0xf7, 0x7b, 0xef, 0xfd, 0xba, 0x81, 0x0d, 0x97, 0x73, 0xd7, 0x43,
+	0xcb, 0xe3, 0xae, 0xcb, 0x7c, 0xd7, 0xea, 0xdb, 0xe9, 0xb1, 0xd9, 0x45, 0x11, 0xb2, 0x56, 0x64,
+	0x06, 0x21, 0x17, 0x9c, 0xde, 0x49, 0x02, 0x4d, 0xe5, 0x35, 0xfb, 0xb6, 0xbe, 0xaa, 0x72, 0x9d,
+	0x80, 0x59, 0x8e, 0xef, 0x73, 0xe1, 0x08, 0xc6, 0x7d, 0x95, 0xa0, 0xaf, 0x28, 0xaf, 0xbc, 0x1d,
+	0xf5, 0x3a, 0x16, 0x76, 0x03, 0xf1, 0x29, 0x71, 0x1a, 0x3f, 0x09, 0xcc, 0x1d, 0x70, 0xf7, 0xb5,
+	0x84, 0xa0, 0x14, 0xa6, 0x7d, 0xa7, 0x8b, 0x65, 0x52, 0x21, 0xd5, 0xb9, 0xba, 0x3c, 0xd3, 0x0a,
+	0xcc, 0xb7, 0x31, 0x6a, 0x85, 0x2c, 0x88, 0x8b, 0x96, 0x0b, 0xd2, 0x95, 0x35, 0x51, 0x0d, 0x8a,
+	0x1d, 0xe6, 0x09, 0x0c, 0xcb, 0x53, 0xd2, 0xa9, 0x6e, 0x74, 0x07, 0x66, 0xfb, 0x18, 0x46, 0x71,
+	0xd6, 0x74, 0x85, 0x54, 0x17, 0xec, 0x0d, 0x73, 0x84, 0xbb, 0x39, 0x00, 0x37, 0x77, 0x02, 0xd6,
+	0x48, 0xc2, 0xeb, 0x69, 0x9e, 0xb1, 0x0a, 0x70, 0x69, 0xa6, 0x45, 0x28, 0x34, 0xec, 0xc5, 0x1b,
+	0xf2, 0xf7, 0xe1, 0x22, 0x31, 0x8e, 0x61, 0xf9, 0x80, 0x45, 0x62, 0x50, 0x22, 0xaa, 0xe3, 0xc7,
+	0x1e, 0x46, 0x22, 0x66, 0x14, 0x38, 0x21, 0xfa, 0x42, 0x75, 0xa2, 0x6e, 0xf4, 0x1e, 0x40, 0xe0,
+	0xb8, 0xd8, 0x14, 0xfc, 0x18, 0xd3, 0x56, 0xe6, 0x62, 0xcb, 0xdb, 0xd8, 0x40, 0x57, 0x40, 0x5e,
+	0x9a, 0x11, 0x3b, 0x45, 0xd9, 0xcb, 0x4c, 0xfd, 0x66, 0x6c, 0x38, 0x64, 0xa7, 0x68, 0x9c, 0x80,
+	0x36, 0x0c, 0x16, 0x05, 0xdc, 0x8f, 0x90, 0x6e, 0xc3, 0xac, 0x5a, 0x51, 0x99, 0x54, 0xa6, 0xaa,
+	0xf3, 0xf6, 0xea, 0x55, 0x7d, 0xd6, 0xd3, 0x60, 0xba, 0x0e, 0x25, 0x1f, 0x4f, 0x44, 0x73, 0x84,
+	0xd2, 0xed, 0xd8, 0x5c, 0x4b, 0x69, 0x19, 0xdb, 0xb0, 0xb4, 0x8f, 0x97, 0xc0, 0x69, 0x93, 0x6b,
+	0x30, 0x9f, 0x54, 0x6a, 0x66, 0x76, 0x06, 0x89, 0xe9, 0x8d, 0xd3, 0x45, 0xa3, 0x03, 0xda, 0x5e,
+	0x88, 0x8e, 0xc0, 0x91, 0xd4, 0xff, 0xcd, 0xe7, 0x31, 0x14, 0x93, 0x7c, 0x49, 0x64, 0x5c, 0x23,
+	0x2a, 0xd6, 0xe0, 0xa0, 0xbd, 0x0b, 0xda, 0x79, 0x38, 0xe3, 0x28, 0x5e, 0x13, 0xf0, 0x29, 0x68,
+	0x2f, 0xd1, 0xc3, 0x6b, 0x00, 0xda, 0xbf, 0x67, 0x60, 0x51, 0xed, 0xef, 0x10, 0xc3, 0x3e, 0x6b,
+	0x61, 0xc3, 0xa6, 0x5f, 0x09, 0x2c, 0xfc, 0xbb, 0x5b, 0x5a, 0xcd, 0x23, 0x92, 0xa7, 0x35, 0x7d,
+	0x73, 0x82, 0xc8, 0x44, 0x28, 0xc6, 0xc6, 0xf9, 0xaf, 0x3f, 0xdf, 0x0b, 0xf7, 0xe9, 0x5a, 0xfc,
+	0xef, 0xfe, 0x9c, 0xcc, 0xfc, 0x45, 0x10, 0xf2, 0x0f, 0xd8, 0x12, 0x91, 0xb5, 0x75, 0x66, 0xa5,
+	0xca, 0xb8, 0x20, 0x70, 0x2b, 0xbb, 0x72, 0xba, 0x9e, 0x03, 0x92, 0xa3, 0x09, 0xfd, 0xca, 0xf9,
+	0x19, 0xa6, 0xc4, 0xaf, 0xd2, 0x75, 0x89, 0x9f, 0x19, 0x54, 0x86, 0x44, 0xca, 0xc1, 0xda, 0x3a,
+	0xa3, 0x5f, 0x08, 0x94, 0x86, 0x14, 0x44, 0xf3, 0xda, 0xcd, 0x57, 0xd9, 0x18, 0x32, 0x96, 0x24,
+	0xb3, 0x69, 0x8c, 0x1b, 0xc6, 0x33, 0xb5, 0x75, 0xfa, 0x8d, 0x40, 0x69, 0x48, 0x67, 0xb9, 0x6c,
+	0xf2, 0xb5, 0x38, 0x86, 0xcd, 0xb6, 0x64, 0xf3, 0x40, 0x9f, 0x70, 0x34, 0x03, 0x52, 0x17, 0x04,
+	0x4a, 0x43, 0x5a, 0xcc, 0x25, 0x95, 0xaf, 0x57, 0x5d, 0x4b, 0x43, 0xd3, 0xc7, 0xd9, 0x7c, 0x15,
+	0x3f, 0xce, 0xe9, 0xa6, 0xb6, 0x26, 0xa4, 0xb3, 0x7b, 0x4e, 0x60, 0xb9, 0xc5, 0xbb, 0xa3, 0xc0,
+	0xbb, 0x4b, 0x07, 0xc9, 0x59, 0x69, 0xb1, 0x16, 0xe3, 0xd4, 0xc8, 0xfb, 0x27, 0x2a, 0xd2, 0xe5,
+	0x9e, 0xe3, 0xbb, 0x26, 0x0f, 0x5d, 0xcb, 0x45, 0x5f, 0xb2, 0xb0, 0x12, 0x97, 0x13, 0xb0, 0x28,
+	0xf3, 0x35, 0x7a, 0xae, 0x8e, 0x3f, 0x0a, 0x77, 0xf7, 0x93, 0xd4, 0x3d, 0x8f, 0xf7, 0xda, 0xa6,
+	0x2a, 0x6f, 0x36, 0xec, 0xa3, 0xa2, 0x4c, 0x7f, 0xf4, 0x37, 0x00, 0x00, 0xff, 0xff, 0x52, 0x8b,
+	0x69, 0xfe, 0xcb, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/logging/v2/logging_metrics.proto b/googleapis/logging/v2/logging_metrics.proto
deleted file mode 100644
index 3ef61903..00000000
--- a/googleapis/logging/v2/logging_metrics.proto
+++ /dev/null
@@ -1,161 +0,0 @@
-// 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.logging.v2;
-
-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
-
-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";
-
-// Service for configuring logs-based metrics.
-service MetricsServiceV2 {
-  // Lists logs-based metrics.
-  rpc ListLogMetrics(ListLogMetricsRequest) returns (ListLogMetricsResponse) {
-    option (google.api.http) = { get: "/v2/{parent=projects/*}/metrics" };
-  }
-
-  // Gets a logs-based metric.
-  rpc GetLogMetric(GetLogMetricRequest) returns (LogMetric) {
-    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: "/v2/{parent=projects/*}/metrics" body: "metric" };
-  }
-
-  // Creates or updates a logs-based metric.
-  rpc UpdateLogMetric(UpdateLogMetricRequest) returns (LogMetric) {
-    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: "/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 100
-  // characters and can include only the following characters: `A-Z`,
-  // `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.  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;
-
-  // Optional. A description of this metric, which is used in documentation.
-  string description = 2;
-
-  // 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.
-message ListLogMetricsRequest {
-  // Required. The resource name containing the metrics.
-  // Example: `"projects/my-project-id"`.
-  string parent = 1;
-
-  // 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.
-  // Non-positive values are ignored.  The presence of `nextPageToken` in the
-  // response indicates that more results might be available.
-  int32 page_size = 3;
-}
-
-// Result returned from ListLogMetrics.
-message ListLogMetricsResponse {
-  // A list of logs-based metrics.
-  repeated LogMetric metrics = 1;
-
-  // 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;
-}
-
-// The parameters to GetLogMetric.
-message GetLogMetricRequest {
-  // The resource name of the desired metric.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  string metric_name = 1;
-}
-
-// The parameters to CreateLogMetric.
-message CreateLogMetricRequest {
-  // The resource name of the project in which to create the metric.
-  // Example: `"projects/my-project-id"`.
-  //
-  // The new metric must be provided in the request.
-  string parent = 1;
-
-  // The new logs-based metric, which must not have an identifier that
-  // already exists.
-  LogMetric metric = 2;
-}
-
-// The parameters to UpdateLogMetric.
-message UpdateLogMetricRequest {
-  // The resource name of the metric to update.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  //
-  // The updated metric must be provided in the request and have the
-  // same identifier that is specified in `metricName`.
-  // If the metric does not exist, it is created.
-  string metric_name = 1;
-
-  // The updated metric, whose name must be the same as the
-  // metric identifier in `metricName`. If `metricName` does not
-  // exist, then a new metric is created.
-  LogMetric metric = 2;
-}
-
-// The parameters to DeleteLogMetric.
-message DeleteLogMetricRequest {
-  // The resource name of the metric to delete.
-  // Example: `"projects/my-project-id/metrics/my-metric-id"`.
-  string metric_name = 1;
-}
diff --git a/googleapis/longrunning/operations.pb.go b/googleapis/longrunning/operations.pb.go
index a8a89a79..4044da40 100644
--- a/googleapis/longrunning/operations.pb.go
+++ b/googleapis/longrunning/operations.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/longrunning/operations.proto
+// source: google/longrunning/operations.proto
 // DO NOT EDIT!
 
 /*
-Package google_longrunning is a generated protocol buffer package.
+Package longrunning is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/longrunning/operations.proto
+	google/longrunning/operations.proto
 
 It has these top-level messages:
 	Operation
@@ -16,12 +16,12 @@ It has these top-level messages:
 	CancelOperationRequest
 	DeleteOperationRequest
 */
-package google_longrunning // import "google.golang.org/genproto/googleapis/longrunning"
+package longrunning
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/any"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/empty"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
@@ -94,6 +94,13 @@ func (m *Operation) GetResult() isOperation_Result {
 	return nil
 }
 
+func (m *Operation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Operation) GetMetadata() *google_protobuf1.Any {
 	if m != nil {
 		return m.Metadata
@@ -101,6 +108,13 @@ func (m *Operation) GetMetadata() *google_protobuf1.Any {
 	return nil
 }
 
+func (m *Operation) GetDone() bool {
+	if m != nil {
+		return m.Done
+	}
+	return false
+}
+
 func (m *Operation) GetError() *google_rpc.Status {
 	if x, ok := m.GetResult().(*Operation_Error); ok {
 		return x.Error
@@ -200,6 +214,13 @@ func (m *GetOperationRequest) String() string            { return proto.CompactT
 func (*GetOperationRequest) ProtoMessage()               {}
 func (*GetOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *GetOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 type ListOperationsRequest struct {
 	// The name of the operation collection.
@@ -217,6 +238,34 @@ func (m *ListOperationsRequest) String() string            { return proto.Compac
 func (*ListOperationsRequest) ProtoMessage()               {}
 func (*ListOperationsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *ListOperationsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListOperationsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListOperationsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
 type ListOperationsResponse struct {
 	// A list of operations that matches the specified filter in the request.
@@ -237,6 +286,13 @@ func (m *ListOperationsResponse) GetOperations() []*Operation {
 	return nil
 }
 
+func (m *ListOperationsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
 type CancelOperationRequest struct {
 	// The name of the operation resource to be cancelled.
@@ -248,6 +304,13 @@ func (m *CancelOperationRequest) String() string            { return proto.Compa
 func (*CancelOperationRequest) ProtoMessage()               {}
 func (*CancelOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *CancelOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
 type DeleteOperationRequest struct {
 	// The name of the operation resource to be deleted.
@@ -259,6 +322,13 @@ func (m *DeleteOperationRequest) String() string            { return proto.Compa
 func (*DeleteOperationRequest) ProtoMessage()               {}
 func (*DeleteOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *DeleteOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Operation)(nil), "google.longrunning.Operation")
 	proto.RegisterType((*GetOperationRequest)(nil), "google.longrunning.GetOperationRequest")
@@ -279,16 +349,21 @@ const _ = grpc.SupportPackageIsVersion4
 // Client API for Operations service
 
 type OperationsClient interface {
-	// 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 `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)
+	// 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)
+	// 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)
 	// 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
@@ -300,11 +375,6 @@ type OperationsClient interface {
 	// 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. 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)
 }
 
 type operationsClient struct {
@@ -315,36 +385,36 @@ func NewOperationsClient(cc *grpc.ClientConn) OperationsClient {
 	return &operationsClient{cc}
 }
 
-func (c *operationsClient) GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error) {
-	out := new(Operation)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/GetOperation", in, out, c.cc, opts...)
+func (c *operationsClient) ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error) {
+	out := new(ListOperationsResponse)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/ListOperations", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) ListOperations(ctx context.Context, in *ListOperationsRequest, opts ...grpc.CallOption) (*ListOperationsResponse, error) {
-	out := new(ListOperationsResponse)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/ListOperations", in, out, c.cc, opts...)
+func (c *operationsClient) GetOperation(ctx context.Context, in *GetOperationRequest, opts ...grpc.CallOption) (*Operation, error) {
+	out := new(Operation)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/GetOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
 	out := new(google_protobuf2.Empty)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/CancelOperation", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/DeleteOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
 	return out, nil
 }
 
-func (c *operationsClient) DeleteOperation(ctx context.Context, in *DeleteOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
+func (c *operationsClient) CancelOperation(ctx context.Context, in *CancelOperationRequest, opts ...grpc.CallOption) (*google_protobuf2.Empty, error) {
 	out := new(google_protobuf2.Empty)
-	err := grpc.Invoke(ctx, "/google.longrunning.Operations/DeleteOperation", in, out, c.cc, opts...)
+	err := grpc.Invoke(ctx, "/google.longrunning.Operations/CancelOperation", in, out, c.cc, opts...)
 	if err != nil {
 		return nil, err
 	}
@@ -354,16 +424,21 @@ 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 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 `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)
+	// 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)
+	// 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)
 	// 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
@@ -375,85 +450,80 @@ type OperationsServer interface {
 	// 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. 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)
 }
 
 func RegisterOperationsServer(s *grpc.Server, srv OperationsServer) {
 	s.RegisterService(&_Operations_serviceDesc, srv)
 }
 
-func _Operations_GetOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(GetOperationRequest)
+func _Operations_ListOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(ListOperationsRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).GetOperation(ctx, in)
+		return srv.(OperationsServer).ListOperations(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/GetOperation",
+		FullMethod: "/google.longrunning.Operations/ListOperations",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).GetOperation(ctx, req.(*GetOperationRequest))
+		return srv.(OperationsServer).ListOperations(ctx, req.(*ListOperationsRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_ListOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(ListOperationsRequest)
+func _Operations_GetOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(GetOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).ListOperations(ctx, in)
+		return srv.(OperationsServer).GetOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/ListOperations",
+		FullMethod: "/google.longrunning.Operations/GetOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).ListOperations(ctx, req.(*ListOperationsRequest))
+		return srv.(OperationsServer).GetOperation(ctx, req.(*GetOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_CancelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CancelOperationRequest)
+func _Operations_DeleteOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(DeleteOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).CancelOperation(ctx, in)
+		return srv.(OperationsServer).DeleteOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/CancelOperation",
+		FullMethod: "/google.longrunning.Operations/DeleteOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).CancelOperation(ctx, req.(*CancelOperationRequest))
+		return srv.(OperationsServer).DeleteOperation(ctx, req.(*DeleteOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
 
-func _Operations_DeleteOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(DeleteOperationRequest)
+func _Operations_CancelOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CancelOperationRequest)
 	if err := dec(in); err != nil {
 		return nil, err
 	}
 	if interceptor == nil {
-		return srv.(OperationsServer).DeleteOperation(ctx, in)
+		return srv.(OperationsServer).CancelOperation(ctx, in)
 	}
 	info := &grpc.UnaryServerInfo{
 		Server:     srv,
-		FullMethod: "/google.longrunning.Operations/DeleteOperation",
+		FullMethod: "/google.longrunning.Operations/CancelOperation",
 	}
 	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(OperationsServer).DeleteOperation(ctx, req.(*DeleteOperationRequest))
+		return srv.(OperationsServer).CancelOperation(ctx, req.(*CancelOperationRequest))
 	}
 	return interceptor(ctx, in, info, handler)
 }
@@ -462,69 +532,66 @@ var _Operations_serviceDesc = grpc.ServiceDesc{
 	ServiceName: "google.longrunning.Operations",
 	HandlerType: (*OperationsServer)(nil),
 	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "GetOperation",
-			Handler:    _Operations_GetOperation_Handler,
-		},
 		{
 			MethodName: "ListOperations",
 			Handler:    _Operations_ListOperations_Handler,
 		},
 		{
-			MethodName: "CancelOperation",
-			Handler:    _Operations_CancelOperation_Handler,
+			MethodName: "GetOperation",
+			Handler:    _Operations_GetOperation_Handler,
 		},
 		{
 			MethodName: "DeleteOperation",
 			Handler:    _Operations_DeleteOperation_Handler,
 		},
+		{
+			MethodName: "CancelOperation",
+			Handler:    _Operations_CancelOperation_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/longrunning/operations.proto",
+	Metadata: "google/longrunning/operations.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/longrunning/operations.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/longrunning/operations.proto", fileDescriptor0) }
 
 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,
+	// 586 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x54, 0xc1, 0x6e, 0xd3, 0x40,
+	0x10, 0xad, 0xd3, 0x24, 0x4a, 0xa6, 0x40, 0xa4, 0x85, 0xba, 0xc6, 0x25, 0x22, 0x32, 0x08, 0x52,
+	0xab, 0xb2, 0x21, 0xdc, 0x8a, 0x72, 0x20, 0x80, 0xda, 0x43, 0x25, 0x22, 0x97, 0x13, 0x97, 0x6a,
+	0x9b, 0x4e, 0x2d, 0x0b, 0x67, 0xd7, 0xac, 0x37, 0xd0, 0x16, 0x55, 0x11, 0x1c, 0x38, 0x71, 0xe3,
+	0x2f, 0xf8, 0x19, 0x0e, 0xfc, 0x02, 0x1f, 0x82, 0xbc, 0x76, 0x62, 0x93, 0x3a, 0x28, 0xb7, 0xf5,
+	0xcc, 0x9b, 0x79, 0xf3, 0xde, 0xce, 0x1a, 0x1e, 0xf8, 0x9c, 0xfb, 0x21, 0xba, 0x21, 0x67, 0xbe,
+	0x98, 0x30, 0x16, 0x30, 0xdf, 0xe5, 0x11, 0x0a, 0x2a, 0x03, 0xce, 0x62, 0x27, 0x12, 0x5c, 0x72,
+	0x42, 0x52, 0x90, 0x53, 0x00, 0x99, 0xf7, 0xb2, 0x42, 0x1a, 0x05, 0x2e, 0x65, 0x8c, 0xcb, 0x62,
+	0x85, 0x79, 0x37, 0xcb, 0xaa, 0xaf, 0x93, 0xc9, 0x99, 0x4b, 0xd9, 0x45, 0x96, 0xda, 0x5e, 0x4c,
+	0xe1, 0x38, 0x92, 0xb3, 0xe4, 0x56, 0x96, 0x14, 0xd1, 0xc8, 0x8d, 0x25, 0x95, 0x93, 0xac, 0xa1,
+	0xf5, 0x4b, 0x83, 0xe6, 0x9b, 0xd9, 0x5c, 0x84, 0x40, 0x95, 0xd1, 0x31, 0x1a, 0x5a, 0x47, 0xeb,
+	0x36, 0x3d, 0x75, 0x26, 0x4f, 0xa0, 0x31, 0x46, 0x49, 0x4f, 0xa9, 0xa4, 0x46, 0xa5, 0xa3, 0x75,
+	0x37, 0x7a, 0x77, 0x9c, 0x6c, 0xee, 0x19, 0x95, 0xf3, 0x82, 0x5d, 0x78, 0x73, 0x54, 0xd2, 0xe5,
+	0x94, 0x33, 0x34, 0xd6, 0x3b, 0x5a, 0xb7, 0xe1, 0xa9, 0x33, 0xb1, 0xa1, 0x86, 0x42, 0x70, 0x61,
+	0x54, 0x55, 0x0b, 0x32, 0x6b, 0x21, 0xa2, 0x91, 0x73, 0xa4, 0x06, 0x3a, 0x58, 0xf3, 0x52, 0x08,
+	0xe9, 0x41, 0x43, 0x60, 0x1c, 0x71, 0x16, 0xa3, 0x51, 0x5b, 0xce, 0x78, 0xb0, 0xe6, 0xcd, 0x71,
+	0x83, 0x06, 0xd4, 0x05, 0xc6, 0x93, 0x50, 0x5a, 0x3b, 0x70, 0x7b, 0x1f, 0xe5, 0x5c, 0x93, 0x87,
+	0x1f, 0x26, 0x18, 0xcb, 0x32, 0x69, 0xd6, 0x14, 0x36, 0x0f, 0x83, 0x38, 0xc7, 0xc6, 0x8b, 0xe0,
+	0x6a, 0xc1, 0x07, 0x1d, 0xea, 0x67, 0x41, 0x28, 0x51, 0x64, 0x2d, 0xb2, 0x2f, 0xb2, 0x0d, 0xcd,
+	0x88, 0xfa, 0x78, 0x1c, 0x07, 0x97, 0xa8, 0x0c, 0xaa, 0x79, 0x8d, 0x24, 0x70, 0x14, 0x5c, 0x22,
+	0x69, 0x03, 0xa8, 0xa4, 0xe4, 0xef, 0x91, 0x29, 0x43, 0x9a, 0x9e, 0x82, 0xbf, 0x4d, 0x02, 0xd6,
+	0x14, 0xf4, 0xc5, 0x01, 0x52, 0x3d, 0xa4, 0x0f, 0x90, 0xaf, 0x8b, 0xa1, 0x75, 0xd6, 0xbb, 0x1b,
+	0xbd, 0xb6, 0x73, 0x7d, 0x5f, 0x9c, 0x5c, 0x68, 0xa1, 0x80, 0x3c, 0x82, 0x16, 0xc3, 0x73, 0x79,
+	0x5c, 0x20, 0xaf, 0x28, 0xf2, 0x9b, 0x49, 0x78, 0x38, 0x1f, 0x60, 0x17, 0xf4, 0x97, 0x94, 0x8d,
+	0x30, 0x5c, 0xc9, 0xaf, 0x5d, 0xd0, 0x5f, 0x61, 0x88, 0x12, 0x57, 0x41, 0xf7, 0xbe, 0x57, 0x01,
+	0x72, 0x65, 0xe4, 0x9b, 0x06, 0xb7, 0xfe, 0x15, 0x4b, 0x76, 0xca, 0x04, 0x95, 0xde, 0x88, 0x69,
+	0xaf, 0x02, 0x4d, 0xbd, 0xb3, 0xda, 0x5f, 0x7f, 0xff, 0xf9, 0x51, 0xd9, 0x22, 0x9b, 0xee, 0xc7,
+	0xa7, 0xee, 0xe7, 0x64, 0x96, 0x7e, 0x6e, 0xcd, 0x15, 0x39, 0x87, 0x1b, 0xc5, 0x05, 0x21, 0x8f,
+	0xcb, 0x5a, 0x97, 0xac, 0x90, 0xf9, 0x7f, 0xff, 0xad, 0x8e, 0xa2, 0x35, 0x89, 0x51, 0x46, 0xeb,
+	0xda, 0xf6, 0x15, 0xf9, 0x04, 0xad, 0x05, 0xff, 0x48, 0xa9, 0xae, 0x72, 0x93, 0x4d, 0xfd, 0xda,
+	0x2b, 0x78, 0x9d, 0x3c, 0xf1, 0x19, 0xb1, 0xbd, 0x9c, 0xf8, 0x8b, 0x06, 0xad, 0x85, 0x7b, 0x2e,
+	0x67, 0x2e, 0x5f, 0x86, 0xa5, 0xcc, 0xb6, 0x62, 0x7e, 0x68, 0xdd, 0x5f, 0xc6, 0xbc, 0x37, 0x52,
+	0x0d, 0xf7, 0x34, 0x7b, 0x30, 0x05, 0x7d, 0xc4, 0xc7, 0x25, 0xa4, 0x83, 0x56, 0x7e, 0x87, 0xc3,
+	0xa4, 0xff, 0x50, 0x7b, 0xd7, 0xcf, 0x60, 0x3e, 0x0f, 0x29, 0xf3, 0x1d, 0x2e, 0x7c, 0xd7, 0x47,
+	0xa6, 0xd8, 0xdd, 0x34, 0x45, 0xa3, 0x20, 0x2e, 0xfe, 0x5d, 0x9f, 0x17, 0xce, 0x3f, 0x2b, 0x64,
+	0x3f, 0xad, 0x3f, 0xe4, 0xcc, 0xf7, 0xd2, 0xe0, 0x49, 0x5d, 0x95, 0x3f, 0xfb, 0x1b, 0x00, 0x00,
+	0xff, 0xff, 0x69, 0x4c, 0xa6, 0x3e, 0x9b, 0x05, 0x00, 0x00,
 }
diff --git a/googleapis/longrunning/operations.proto b/googleapis/longrunning/operations.proto
deleted file mode 100644
index 4ead0292..00000000
--- a/googleapis/longrunning/operations.proto
+++ /dev/null
@@ -1,156 +0,0 @@
-// 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.longrunning;
-
-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/empty/empty.proto"; // from google/protobuf/empty.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 = "OperationsProto";
-option java_package = "com.google.longrunning";
-
-
-// Manages long-running operations with an API service.
-//
-// 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 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 can use this
-  // method to poll the operation result at intervals as recommended by the API
-  // service.
-  rpc GetOperation(GetOperationRequest) returns (Operation) {
-    option (google.api.http) = { get: "/v1/{name=operations/**}" };
-  }
-
-  // Lists operations that match the specified filter in the request. If the
-  // 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}" };
-  }
-
-  // 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 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. 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/**}" };
-  }
-}
-
-// This resource represents a long-running operation that is the result of a
-// network API call.
-message Operation {
-  // 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;
-
-  // Service-specific metadata associated with the operation.  It typically
-  // contains progress information and common metadata such as create time.
-  // 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 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 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 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 is
-    // `TakeSnapshotResponse`.
-    google.protobuf.Any response = 5;
-  }
-}
-
-// The request message for [Operations.GetOperation][google.longrunning.Operations.GetOperation].
-message GetOperationRequest {
-  // The name of the operation resource.
-  string name = 1;
-}
-
-// The request message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].
-message ListOperationsRequest {
-  // The name of the operation collection.
-  string name = 4;
-
-  // The standard list filter.
-  string filter = 1;
-
-  // The standard list page size.
-  int32 page_size = 2;
-
-  // 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 matches the specified filter in the request.
-  repeated Operation operations = 1;
-
-  // The standard List next-page token.
-  string next_page_token = 2;
-}
-
-// The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].
-message CancelOperationRequest {
-  // The name of the operation resource to be cancelled.
-  string name = 1;
-}
-
-// The request message for [Operations.DeleteOperation][google.longrunning.Operations.DeleteOperation].
-message DeleteOperationRequest {
-  // The name of the operation resource to be deleted.
-  string name = 1;
-}
diff --git a/googleapis/monitoring/v3/agent.pb.go b/googleapis/monitoring/v3/agent.pb.go
deleted file mode 100644
index 6e2526c1..00000000
--- a/googleapis/monitoring/v3/agent.pb.go
+++ /dev/null
@@ -1,235 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/agent.proto
-// DO NOT EDIT!
-
-/*
-Package google_monitoring_v3 is a generated protocol buffer package.
-
-It is generated from these files:
-	google.golang.org/genproto/googleapis/monitoring/v3/agent.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/common.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/group.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/metric.proto
-	google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto
-
-It has these top-level messages:
-	CollectdValue
-	CollectdPayload
-	CreateCollectdTimeSeriesRequest
-	TypedValue
-	TimeInterval
-	Aggregation
-	Group
-	ListGroupsRequest
-	ListGroupsResponse
-	GetGroupRequest
-	CreateGroupRequest
-	UpdateGroupRequest
-	DeleteGroupRequest
-	ListGroupMembersRequest
-	ListGroupMembersResponse
-	Point
-	TimeSeries
-	ListMonitoredResourceDescriptorsRequest
-	ListMonitoredResourceDescriptorsResponse
-	GetMonitoredResourceDescriptorRequest
-	ListMetricDescriptorsRequest
-	ListMetricDescriptorsResponse
-	GetMetricDescriptorRequest
-	CreateMetricDescriptorRequest
-	DeleteMetricDescriptorRequest
-	ListTimeSeriesRequest
-	ListTimeSeriesResponse
-	CreateTimeSeriesRequest
-	CreateTimeSeriesError
-*/
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
-
-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
-
-// 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 type of measurement for the data source.
-type CollectdValue_DataSourceType int32
-
-const (
-	// An unspecified data source type.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED].
-	CollectdValue_UNSPECIFIED_DATA_SOURCE_TYPE CollectdValue_DataSourceType = 0
-	// An instantaneous measurement of a varying quantity.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE].
-	CollectdValue_GAUGE CollectdValue_DataSourceType = 1
-	// A cumulative value over time.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE].
-	CollectdValue_COUNTER CollectdValue_DataSourceType = 2
-	// A rate of change of the measurement.
-	CollectdValue_DERIVE CollectdValue_DataSourceType = 3
-	// An amount of change since the last measurement interval.
-	// This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA].
-	CollectdValue_ABSOLUTE CollectdValue_DataSourceType = 4
-)
-
-var CollectdValue_DataSourceType_name = map[int32]string{
-	0: "UNSPECIFIED_DATA_SOURCE_TYPE",
-	1: "GAUGE",
-	2: "COUNTER",
-	3: "DERIVE",
-	4: "ABSOLUTE",
-}
-var CollectdValue_DataSourceType_value = map[string]int32{
-	"UNSPECIFIED_DATA_SOURCE_TYPE": 0,
-	"GAUGE":    1,
-	"COUNTER":  2,
-	"DERIVE":   3,
-	"ABSOLUTE": 4,
-}
-
-func (x CollectdValue_DataSourceType) String() string {
-	return proto.EnumName(CollectdValue_DataSourceType_name, int32(x))
-}
-func (CollectdValue_DataSourceType) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor0, []int{0, 0}
-}
-
-// A single data point from a `collectd`-based plugin.
-type CollectdValue struct {
-	// The data source for the `collectd` value. For example there are
-	// two data sources for network measurements: `"rx"` and `"tx"`.
-	DataSourceName string `protobuf:"bytes,1,opt,name=data_source_name,json=dataSourceName" json:"data_source_name,omitempty"`
-	// The type of measurement.
-	DataSourceType CollectdValue_DataSourceType `protobuf:"varint,2,opt,name=data_source_type,json=dataSourceType,enum=google.monitoring.v3.CollectdValue_DataSourceType" json:"data_source_type,omitempty"`
-	// The measurement value.
-	Value *TypedValue `protobuf:"bytes,3,opt,name=value" json:"value,omitempty"`
-}
-
-func (m *CollectdValue) Reset()                    { *m = CollectdValue{} }
-func (m *CollectdValue) String() string            { return proto.CompactTextString(m) }
-func (*CollectdValue) ProtoMessage()               {}
-func (*CollectdValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
-
-func (m *CollectdValue) GetValue() *TypedValue {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-// A collection of data points sent from a `collectd`-based plugin.
-// See the `collectd` documentation for more information.
-type CollectdPayload struct {
-	// The measured values during this time interval.
-	// Each value must have a different `dataSourceName`.
-	Values []*CollectdValue `protobuf:"bytes,1,rep,name=values" json:"values,omitempty"`
-	// The start time of the interval.
-	StartTime *google_protobuf2.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime" json:"start_time,omitempty"`
-	// The end time of the interval.
-	EndTime *google_protobuf2.Timestamp `protobuf:"bytes,3,opt,name=end_time,json=endTime" json:"end_time,omitempty"`
-	// The name of the plugin. Example: `"disk"`.
-	Plugin string `protobuf:"bytes,4,opt,name=plugin" json:"plugin,omitempty"`
-	// The instance name of the plugin Example: `"hdcl"`.
-	PluginInstance string `protobuf:"bytes,5,opt,name=plugin_instance,json=pluginInstance" json:"plugin_instance,omitempty"`
-	// The measurement type. Example: `"memory"`.
-	Type string `protobuf:"bytes,6,opt,name=type" json:"type,omitempty"`
-	// The measurement type instance. Example: `"used"`.
-	TypeInstance string `protobuf:"bytes,7,opt,name=type_instance,json=typeInstance" json:"type_instance,omitempty"`
-	// The measurement metadata. Example: `"process_id" -> 12345`
-	Metadata map[string]*TypedValue `protobuf:"bytes,8,rep,name=metadata" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
-}
-
-func (m *CollectdPayload) Reset()                    { *m = CollectdPayload{} }
-func (m *CollectdPayload) String() string            { return proto.CompactTextString(m) }
-func (*CollectdPayload) ProtoMessage()               {}
-func (*CollectdPayload) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
-
-func (m *CollectdPayload) GetValues() []*CollectdValue {
-	if m != nil {
-		return m.Values
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetStartTime() *google_protobuf2.Timestamp {
-	if m != nil {
-		return m.StartTime
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetEndTime() *google_protobuf2.Timestamp {
-	if m != nil {
-		return m.EndTime
-	}
-	return nil
-}
-
-func (m *CollectdPayload) GetMetadata() map[string]*TypedValue {
-	if m != nil {
-		return m.Metadata
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*CollectdValue)(nil), "google.monitoring.v3.CollectdValue")
-	proto.RegisterType((*CollectdPayload)(nil), "google.monitoring.v3.CollectdPayload")
-	proto.RegisterEnum("google.monitoring.v3.CollectdValue_DataSourceType", CollectdValue_DataSourceType_name, CollectdValue_DataSourceType_value)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/agent.proto", fileDescriptor0)
-}
-
-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,
-}
diff --git a/googleapis/monitoring/v3/agent.proto b/googleapis/monitoring/v3/agent.proto
deleted file mode 100644
index cbf26ebf..00000000
--- a/googleapis/monitoring/v3/agent.proto
+++ /dev/null
@@ -1,90 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AgentProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single data point from a `collectd`-based plugin.
-message CollectdValue {
-  // The type of measurement for the data source.
-  enum DataSourceType {
-    // An unspecified data source type.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.METRIC_KIND_UNSPECIFIED].
-    UNSPECIFIED_DATA_SOURCE_TYPE = 0;
-
-    // An instantaneous measurement of a varying quantity.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.GAUGE].
-    GAUGE = 1;
-
-    // A cumulative value over time.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.CUMULATIVE].
-    COUNTER = 2;
-
-    // A rate of change of the measurement.
-    DERIVE = 3;
-
-    // An amount of change since the last measurement interval.
-    // This corresponds to [google.api.MetricDescriptor.MetricKind.DELTA].
-    ABSOLUTE = 4;
-  }
-
-  // The data source for the `collectd` value. For example there are
-  // two data sources for network measurements: `"rx"` and `"tx"`.
-  string data_source_name = 1;
-
-  // The type of measurement.
-  DataSourceType data_source_type = 2;
-
-  // The measurement value.
-  TypedValue value = 3;
-}
-
-// A collection of data points sent from a `collectd`-based plugin.
-// See the `collectd` documentation for more information.
-message CollectdPayload {
-  // The measured values during this time interval.
-  // Each value must have a different `dataSourceName`.
-  repeated CollectdValue values = 1;
-
-  // The start time of the interval.
-  google.protobuf.Timestamp start_time = 2;
-
-  // The end time of the interval.
-  google.protobuf.Timestamp end_time = 3;
-
-  // The name of the plugin. Example: `"disk"`.
-  string plugin = 4;
-
-  // The instance name of the plugin Example: `"hdcl"`.
-  string plugin_instance = 5;
-
-  // The measurement type. Example: `"memory"`.
-  string type = 6;
-
-  // The measurement type instance. Example: `"used"`.
-  string type_instance = 7;
-
-  // The measurement metadata. Example: `"process_id" -> 12345`
-  map<string, TypedValue> metadata = 8;
-}
diff --git a/googleapis/monitoring/v3/agent_service.pb.go b/googleapis/monitoring/v3/agent_service.pb.go
deleted file mode 100644
index e2d5554e..00000000
--- a/googleapis/monitoring/v3/agent_service.pb.go
+++ /dev/null
@@ -1,178 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto
-// DO NOT EDIT!
-
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
-
-import proto "github.com/golang/protobuf/proto"
-import fmt "fmt"
-import math "math"
-import _ "google.golang.org/genproto/googleapis/api/serviceconfig"
-import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
-import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
-
-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 `CreateCollectdTimeSeries` request.
-type CreateCollectdTimeSeriesRequest struct {
-	// The project in which to create the time series. The format is
-	// `"projects/PROJECT_ID_OR_NUMBER"`.
-	Name string `protobuf:"bytes,5,opt,name=name" json:"name,omitempty"`
-	// The monitored resource associated with the time series.
-	Resource *google_api4.MonitoredResource `protobuf:"bytes,2,opt,name=resource" json:"resource,omitempty"`
-	// The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
-	CollectdVersion string `protobuf:"bytes,3,opt,name=collectd_version,json=collectdVersion" json:"collectd_version,omitempty"`
-	// The `collectd` payloads representing the time series data.
-	// You must not include more than a single point for each
-	// time series, so no two payloads can have the same values
-	// for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
-	CollectdPayloads []*CollectdPayload `protobuf:"bytes,4,rep,name=collectd_payloads,json=collectdPayloads" json:"collectd_payloads,omitempty"`
-}
-
-func (m *CreateCollectdTimeSeriesRequest) Reset()                    { *m = CreateCollectdTimeSeriesRequest{} }
-func (m *CreateCollectdTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
-func (*CreateCollectdTimeSeriesRequest) ProtoMessage()               {}
-func (*CreateCollectdTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
-
-func (m *CreateCollectdTimeSeriesRequest) GetResource() *google_api4.MonitoredResource {
-	if m != nil {
-		return m.Resource
-	}
-	return nil
-}
-
-func (m *CreateCollectdTimeSeriesRequest) GetCollectdPayloads() []*CollectdPayload {
-	if m != nil {
-		return m.CollectdPayloads
-	}
-	return nil
-}
-
-func init() {
-	proto.RegisterType((*CreateCollectdTimeSeriesRequest)(nil), "google.monitoring.v3.CreateCollectdTimeSeriesRequest")
-}
-
-// 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.SupportPackageIsVersion4
-
-// Client API for AgentTranslationService service
-
-type AgentTranslationServiceClient interface {
-	// **Stackdriver Monitoring Agent only:** Creates a new time series.
-	//
-	// <aside class="caution">This method is only for use by the Google Monitoring Agent.
-	// Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-	// instead.</aside>
-	CreateCollectdTimeSeries(ctx context.Context, in *CreateCollectdTimeSeriesRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error)
-}
-
-type agentTranslationServiceClient struct {
-	cc *grpc.ClientConn
-}
-
-func NewAgentTranslationServiceClient(cc *grpc.ClientConn) AgentTranslationServiceClient {
-	return &agentTranslationServiceClient{cc}
-}
-
-func (c *agentTranslationServiceClient) CreateCollectdTimeSeries(ctx context.Context, in *CreateCollectdTimeSeriesRequest, opts ...grpc.CallOption) (*google_protobuf4.Empty, error) {
-	out := new(google_protobuf4.Empty)
-	err := grpc.Invoke(ctx, "/google.monitoring.v3.AgentTranslationService/CreateCollectdTimeSeries", in, out, c.cc, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// Server API for AgentTranslationService service
-
-type AgentTranslationServiceServer interface {
-	// **Stackdriver Monitoring Agent only:** Creates a new time series.
-	//
-	// <aside class="caution">This method is only for use by the Google Monitoring Agent.
-	// Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-	// instead.</aside>
-	CreateCollectdTimeSeries(context.Context, *CreateCollectdTimeSeriesRequest) (*google_protobuf4.Empty, error)
-}
-
-func RegisterAgentTranslationServiceServer(s *grpc.Server, srv AgentTranslationServiceServer) {
-	s.RegisterService(&_AgentTranslationService_serviceDesc, srv)
-}
-
-func _AgentTranslationService_CreateCollectdTimeSeries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(CreateCollectdTimeSeriesRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(AgentTranslationServiceServer).CreateCollectdTimeSeries(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/google.monitoring.v3.AgentTranslationService/CreateCollectdTimeSeries",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(AgentTranslationServiceServer).CreateCollectdTimeSeries(ctx, req.(*CreateCollectdTimeSeriesRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-var _AgentTranslationService_serviceDesc = grpc.ServiceDesc{
-	ServiceName: "google.monitoring.v3.AgentTranslationService",
-	HandlerType: (*AgentTranslationServiceServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "CreateCollectdTimeSeries",
-			Handler:    _AgentTranslationService_CreateCollectdTimeSeries_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/agent_service.proto", fileDescriptor1)
-}
-
-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,
-}
diff --git a/googleapis/monitoring/v3/agent_service.proto b/googleapis/monitoring/v3/agent_service.proto
deleted file mode 100644
index 3e671d05..00000000
--- a/googleapis/monitoring/v3/agent_service.proto
+++ /dev/null
@@ -1,60 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/agent.proto"; // from google/monitoring/v3/agent.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "AgentServiceProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The AgentTranslation API allows `collectd`-based agents to
-// write time series data to Cloud Monitoring.
-// See [google.monitoring.v3.MetricService.CreateTimeSeries] instead.
-service AgentTranslationService {
-  // **Stackdriver Monitoring Agent only:** Creates a new time series.
-  //
-  // <aside class="caution">This method is only for use by the Google Monitoring Agent.
-  // Use [projects.timeSeries.create][google.monitoring.v3.MetricService.CreateTimeSeries]
-  // instead.</aside>
-  rpc CreateCollectdTimeSeries(CreateCollectdTimeSeriesRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/collectdTimeSeries", body: "*" };
-  }
-}
-
-// The `CreateCollectdTimeSeries` request.
-message CreateCollectdTimeSeriesRequest {
-  // The project in which to create the time series. The format is
-  // `"projects/PROJECT_ID_OR_NUMBER"`.
-  string name = 5;
-
-  // The monitored resource associated with the time series.
-  google.api.MonitoredResource resource = 2;
-
-  // The version of `collectd` that collected the data. Example: `"5.3.0-192.el6"`.
-  string collectd_version = 3;
-
-  // The `collectd` payloads representing the time series data.
-  // You must not include more than a single point for each
-  // time series, so no two payloads can have the same values
-  // for all of the fields `plugin`, `plugin_instance`, `type`, and `type_instance`.
-  repeated CollectdPayload collectd_payloads = 4;
-}
diff --git a/googleapis/monitoring/v3/common.pb.go b/googleapis/monitoring/v3/common.pb.go
index 9d152d16..9fc68593 100644
--- a/googleapis/monitoring/v3/common.pb.go
+++ b/googleapis/monitoring/v3/common.pb.go
@@ -1,8 +1,46 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/common.proto
+// source: google/monitoring/v3/common.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+/*
+Package monitoring is a generated protocol buffer package.
+
+It is generated from these files:
+	google/monitoring/v3/common.proto
+	google/monitoring/v3/group.proto
+	google/monitoring/v3/group_service.proto
+	google/monitoring/v3/metric.proto
+	google/monitoring/v3/metric_service.proto
+
+It has these top-level messages:
+	TypedValue
+	TimeInterval
+	Aggregation
+	Group
+	ListGroupsRequest
+	ListGroupsResponse
+	GetGroupRequest
+	CreateGroupRequest
+	UpdateGroupRequest
+	DeleteGroupRequest
+	ListGroupMembersRequest
+	ListGroupMembersResponse
+	Point
+	TimeSeries
+	ListMonitoredResourceDescriptorsRequest
+	ListMonitoredResourceDescriptorsResponse
+	GetMonitoredResourceDescriptorRequest
+	ListMetricDescriptorsRequest
+	ListMetricDescriptorsResponse
+	GetMetricDescriptorRequest
+	CreateMetricDescriptorRequest
+	DeleteMetricDescriptorRequest
+	ListTimeSeriesRequest
+	ListTimeSeriesResponse
+	CreateTimeSeriesRequest
+	CreateTimeSeriesError
+*/
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -16,6 +54,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
+
 // The Aligner describes how to bring the data points in a single
 // time series into temporal alignment.
 type Aggregation_Aligner int32
@@ -37,7 +81,7 @@ const (
 	// [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
 	Aggregation_ALIGN_RATE Aggregation_Aligner = 2
 	// Align by interpolating between adjacent points around the
-	// period boundary. This alignment is valid for gauge and delta
+	// period boundary. This alignment is valid for gauge
 	// metrics with numeric values. The value type of the result is the same
 	// as the value type of the input.
 	Aggregation_ALIGN_INTERPOLATE Aggregation_Aligner = 3
@@ -162,7 +206,7 @@ var Aggregation_Aligner_value = map[string]int32{
 func (x Aggregation_Aligner) String() string {
 	return proto.EnumName(Aggregation_Aligner_name, int32(x))
 }
-func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 0} }
+func (Aggregation_Aligner) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
 // A Reducer describes how to aggregate data points from multiple
 // time series into a single time series.
@@ -270,7 +314,7 @@ var Aggregation_Reducer_value = map[string]int32{
 func (x Aggregation_Reducer) String() string {
 	return proto.EnumName(Aggregation_Reducer_name, int32(x))
 }
-func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor2, []int{2, 1} }
+func (Aggregation_Reducer) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 1} }
 
 // A single strongly-typed value.
 type TypedValue struct {
@@ -288,7 +332,7 @@ type TypedValue struct {
 func (m *TypedValue) Reset()                    { *m = TypedValue{} }
 func (m *TypedValue) String() string            { return proto.CompactTextString(m) }
 func (*TypedValue) ProtoMessage()               {}
-func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*TypedValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 type isTypedValue_Value interface {
 	isTypedValue_Value()
@@ -489,7 +533,7 @@ type TimeInterval struct {
 func (m *TimeInterval) Reset()                    { *m = TimeInterval{} }
 func (m *TimeInterval) String() string            { return proto.CompactTextString(m) }
 func (*TimeInterval) ProtoMessage()               {}
-func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
+func (*TimeInterval) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
 func (m *TimeInterval) GetEndTime() *google_protobuf2.Timestamp {
 	if m != nil {
@@ -505,9 +549,11 @@ func (m *TimeInterval) GetStartTime() *google_protobuf2.Timestamp {
 	return nil
 }
 
-// Describes how to combine, or aggregate, multiple time series to
-// provide different views of the data.
-// See [Aggregation](/monitoring/api/learn_more#aggregation) for more details.
+// Describes how to combine multiple time series to provide different views of
+// the data.  Aggregation consists of an alignment step on individual time
+// series (`per_series_aligner`) followed by an optional reduction of the data
+// across different time series (`cross_series_reducer`).  For more details, see
+// [Aggregation](/monitoring/api/learn_more#aggregation).
 type Aggregation struct {
 	// The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
 	// alignment. If present, `alignmentPeriod` must be at least 60
@@ -543,23 +589,26 @@ type Aggregation struct {
 	// returned.
 	CrossSeriesReducer Aggregation_Reducer `protobuf:"varint,4,opt,name=cross_series_reducer,json=crossSeriesReducer,enum=google.monitoring.v3.Aggregation_Reducer" json:"cross_series_reducer,omitempty"`
 	// The set of fields to preserve when `crossSeriesReducer` is
-	// specified. The `groupByFields` determine how the time series
-	// are partitioned into subsets prior to applying the aggregation
+	// specified. The `groupByFields` determine how the time series are
+	// partitioned into subsets prior to applying the aggregation
 	// function. Each subset contains time series that have the same
 	// value for each of the grouping fields. Each individual time
 	// series is a member of exactly one subset. The
 	// `crossSeriesReducer` is applied to each subset of time series.
-	// Fields not specified in `groupByFields` are aggregated away.
-	// If `groupByFields` is not specified, the time series are
-	// aggregated into a single output time series. If
-	// `crossSeriesReducer` is not defined, this field is ignored.
+	// It is not possible to reduce across different resource types, so
+	// this field implicitly contains `resource.type`.  Fields not
+	// specified in `groupByFields` are aggregated away.  If
+	// `groupByFields` is not specified and all the time series have
+	// the same resource type, then the time series are aggregated into
+	// a single output time series. If `crossSeriesReducer` is not
+	// defined, this field is ignored.
 	GroupByFields []string `protobuf:"bytes,5,rep,name=group_by_fields,json=groupByFields" json:"group_by_fields,omitempty"`
 }
 
 func (m *Aggregation) Reset()                    { *m = Aggregation{} }
 func (m *Aggregation) String() string            { return proto.CompactTextString(m) }
 func (*Aggregation) ProtoMessage()               {}
-func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+func (*Aggregation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
 func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
 	if m != nil {
@@ -568,6 +617,27 @@ func (m *Aggregation) GetAlignmentPeriod() *google_protobuf3.Duration {
 	return nil
 }
 
+func (m *Aggregation) GetPerSeriesAligner() Aggregation_Aligner {
+	if m != nil {
+		return m.PerSeriesAligner
+	}
+	return Aggregation_ALIGN_NONE
+}
+
+func (m *Aggregation) GetCrossSeriesReducer() Aggregation_Reducer {
+	if m != nil {
+		return m.CrossSeriesReducer
+	}
+	return Aggregation_REDUCE_NONE
+}
+
+func (m *Aggregation) GetGroupByFields() []string {
+	if m != nil {
+		return m.GroupByFields
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*TypedValue)(nil), "google.monitoring.v3.TypedValue")
 	proto.RegisterType((*TimeInterval)(nil), "google.monitoring.v3.TimeInterval")
@@ -576,59 +646,57 @@ func init() {
 	proto.RegisterEnum("google.monitoring.v3.Aggregation_Reducer", Aggregation_Reducer_name, Aggregation_Reducer_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/common.proto", fileDescriptor2)
-}
-
-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,
+func init() { proto.RegisterFile("google/monitoring/v3/common.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 780 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x55, 0xdd, 0x6a, 0xe3, 0x46,
+	0x14, 0xb6, 0xec, 0x64, 0x1d, 0x1f, 0x39, 0xf1, 0x64, 0xd6, 0x4b, 0xdd, 0x40, 0xbb, 0x5e, 0x17,
+	0x8a, 0x7b, 0x23, 0x87, 0xa4, 0x2e, 0x84, 0x42, 0x41, 0xb1, 0xb5, 0x1b, 0x83, 0x23, 0x9b, 0x59,
+	0x25, 0x0d, 0xed, 0x85, 0x90, 0xa3, 0x59, 0x21, 0x90, 0x35, 0x62, 0x24, 0x19, 0x72, 0xd7, 0xab,
+	0xbe, 0x43, 0x5f, 0x61, 0x1f, 0xa9, 0x0f, 0xd1, 0x67, 0x28, 0x9a, 0x19, 0xad, 0x94, 0xd6, 0xa5,
+	0x7b, 0xf9, 0xfd, 0x9c, 0x6f, 0x74, 0xbe, 0x91, 0x6c, 0x78, 0x13, 0x30, 0x16, 0x44, 0x74, 0xb2,
+	0x65, 0x71, 0x98, 0x31, 0x1e, 0xc6, 0xc1, 0x64, 0x77, 0x39, 0x79, 0x64, 0xdb, 0x2d, 0x8b, 0x8d,
+	0x84, 0xb3, 0x8c, 0xe1, 0xbe, 0xb4, 0x18, 0x95, 0xc5, 0xd8, 0x5d, 0x9e, 0x7d, 0xa5, 0x06, 0xbd,
+	0x24, 0x9c, 0xf8, 0x61, 0x9a, 0xf1, 0x70, 0x93, 0x67, 0x61, 0x39, 0x74, 0xf6, 0xb5, 0x92, 0x05,
+	0xda, 0xe4, 0x1f, 0x26, 0x7e, 0xce, 0xbd, 0x9a, 0xfe, 0xfa, 0x9f, 0x7a, 0x16, 0x6e, 0x69, 0x9a,
+	0x79, 0xdb, 0x44, 0x1a, 0x46, 0x7f, 0x69, 0x00, 0xce, 0x53, 0x42, 0xfd, 0x7b, 0x2f, 0xca, 0x29,
+	0x7e, 0x0d, 0xb0, 0x61, 0x2c, 0x72, 0x77, 0x05, 0x1a, 0x68, 0x43, 0x6d, 0x7c, 0x74, 0xd3, 0x20,
+	0x9d, 0x82, 0x93, 0x86, 0x37, 0xa0, 0x87, 0x71, 0xf6, 0xc3, 0xf7, 0xca, 0xd1, 0x1c, 0x6a, 0xe3,
+	0xd6, 0x4d, 0x83, 0x80, 0x20, 0xa5, 0xe5, 0x1b, 0xe8, 0xfa, 0x2c, 0xdf, 0x44, 0x54, 0x79, 0x5a,
+	0x43, 0x6d, 0xac, 0xdd, 0x34, 0x88, 0x2e, 0xd9, 0x4f, 0xa6, 0x62, 0x99, 0x38, 0x50, 0xa6, 0x83,
+	0xa1, 0x36, 0xee, 0x14, 0x26, 0xc9, 0x4a, 0xd3, 0x02, 0x70, 0x7d, 0x67, 0x65, 0x3d, 0x1c, 0x6a,
+	0x63, 0xfd, 0x62, 0x60, 0xa8, 0xbe, 0xbc, 0x24, 0x34, 0xe6, 0x35, 0xd7, 0x4d, 0x83, 0x9c, 0xd6,
+	0xa7, 0x44, 0xd4, 0x75, 0x1b, 0x0e, 0xc5, 0xf4, 0xe8, 0x37, 0x0d, 0xba, 0x4e, 0xb8, 0xa5, 0x8b,
+	0x38, 0xa3, 0x7c, 0xe7, 0x45, 0x78, 0x0a, 0x47, 0x34, 0xf6, 0xdd, 0xa2, 0x18, 0xb1, 0x8e, 0x7e,
+	0x71, 0x56, 0x46, 0x97, 0xad, 0x19, 0x4e, 0xd9, 0x1a, 0x69, 0xd3, 0xd8, 0x2f, 0x10, 0xbe, 0x02,
+	0x48, 0x33, 0x8f, 0x67, 0x72, 0x50, 0xfb, 0xdf, 0xc1, 0x8e, 0x70, 0x17, 0x78, 0xf4, 0xb1, 0x0d,
+	0xba, 0x19, 0x04, 0x9c, 0x06, 0xe2, 0xaa, 0xf0, 0x1c, 0x90, 0x17, 0x85, 0x41, 0xbc, 0xa5, 0x71,
+	0xe6, 0x26, 0x94, 0x87, 0xcc, 0x57, 0x81, 0x5f, 0xfe, 0x2b, 0x70, 0xae, 0xee, 0x97, 0xf4, 0x3e,
+	0x8d, 0xac, 0xc5, 0x04, 0xfe, 0x19, 0x70, 0x42, 0xb9, 0x9b, 0x52, 0x1e, 0xd2, 0xd4, 0x15, 0x2a,
+	0xe5, 0x62, 0xa3, 0x93, 0x8b, 0xef, 0x8c, 0x7d, 0x2f, 0x97, 0x51, 0x7b, 0x08, 0xc3, 0x94, 0x03,
+	0x04, 0x25, 0x94, 0xbf, 0x17, 0x19, 0x8a, 0xc1, 0xbf, 0x42, 0xff, 0x91, 0xb3, 0x34, 0x2d, 0xa3,
+	0x39, 0xf5, 0xf3, 0x47, 0xca, 0xc5, 0x95, 0x7d, 0x56, 0x34, 0x91, 0x03, 0x04, 0x8b, 0x18, 0x19,
+	0xae, 0x38, 0xfc, 0x2d, 0xf4, 0x02, 0xce, 0xf2, 0xc4, 0xdd, 0x3c, 0xb9, 0x1f, 0x42, 0x1a, 0xf9,
+	0xe9, 0xe0, 0x70, 0xd8, 0x1a, 0x77, 0xc8, 0xb1, 0xa0, 0xaf, 0x9f, 0xde, 0x0a, 0x72, 0xf4, 0x67,
+	0x13, 0xda, 0xe5, 0x03, 0x9d, 0x00, 0x98, 0xcb, 0xc5, 0x3b, 0xdb, 0xb5, 0x57, 0xb6, 0x85, 0x1a,
+	0xb8, 0x07, 0xba, 0xc4, 0x73, 0x6b, 0xe9, 0x98, 0x48, 0xab, 0x0c, 0xc4, 0x74, 0x2c, 0xd4, 0xc4,
+	0xaf, 0xe0, 0x54, 0xe2, 0x85, 0xed, 0x58, 0x64, 0xbd, 0x5a, 0x16, 0x74, 0x0b, 0xf7, 0x01, 0xa9,
+	0x1c, 0xeb, 0xc1, 0x71, 0x57, 0xcb, 0xb9, 0x45, 0xd0, 0x01, 0x3e, 0x86, 0x8e, 0x64, 0x6f, 0x17,
+	0x36, 0x82, 0x1a, 0x34, 0x1f, 0x90, 0x5e, 0x45, 0xdf, 0x5a, 0xa6, 0x8d, 0xba, 0xd5, 0xd9, 0xb3,
+	0xd5, 0x9d, 0xed, 0xa0, 0xe3, 0xca, 0xff, 0xfe, 0xee, 0x16, 0x9d, 0x60, 0x04, 0x5d, 0x05, 0x9d,
+	0xf9, 0xdc, 0xba, 0x47, 0xbd, 0xea, 0x54, 0x31, 0xe1, 0x3a, 0xe4, 0xce, 0x42, 0x08, 0x7f, 0x01,
+	0x2f, 0x25, 0xfb, 0x96, 0x98, 0x33, 0x67, 0xb1, 0xb2, 0xa5, 0x70, 0x5a, 0x09, 0x6b, 0x8b, 0xcc,
+	0x2c, 0xdb, 0x59, 0x2c, 0x2d, 0xf7, 0xea, 0x0a, 0xe1, 0xfd, 0xc2, 0x14, 0xbd, 0xdc, 0x2b, 0x4c,
+	0xcf, 0x51, 0x7f, 0xaf, 0x70, 0x3e, 0x45, 0xaf, 0x46, 0x7f, 0x34, 0xa1, 0x5d, 0x5e, 0x48, 0x0f,
+	0x74, 0x62, 0xcd, 0xef, 0x66, 0x56, 0xad, 0x5d, 0x45, 0x88, 0x95, 0x45, 0xbb, 0x25, 0xb1, 0xb0,
+	0x51, 0xb3, 0x8e, 0xcd, 0x07, 0xd4, 0xaa, 0xe1, 0xa2, 0x82, 0x03, 0x7c, 0x0a, 0xc7, 0x25, 0x96,
+	0x1d, 0x1c, 0x16, 0xad, 0x28, 0x4a, 0xd6, 0xf6, 0xa2, 0xb8, 0xa2, 0x3a, 0x23, 0xb7, 0x6f, 0xe3,
+	0x01, 0xf4, 0x15, 0xfd, 0xbc, 0x97, 0xa3, 0x9a, 0xf2, 0xbc, 0x98, 0xce, 0x7f, 0x28, 0x53, 0x04,
+	0xfb, 0x95, 0xe9, 0x39, 0xd2, 0xf7, 0x2b, 0xe7, 0x53, 0xd4, 0xbd, 0xfe, 0x5d, 0x83, 0xc1, 0x23,
+	0xdb, 0xee, 0x7d, 0xcb, 0xaf, 0xf5, 0x99, 0xf8, 0x05, 0x5f, 0x17, 0x5f, 0xe7, 0x5a, 0xfb, 0xe5,
+	0x27, 0x65, 0x0a, 0x58, 0xe4, 0xc5, 0x81, 0xc1, 0x78, 0x30, 0x09, 0x68, 0x2c, 0xbe, 0xdd, 0x89,
+	0x94, 0xbc, 0x24, 0x4c, 0x9f, 0xff, 0x09, 0xfc, 0x58, 0xa1, 0x8f, 0xcd, 0xb3, 0x77, 0x32, 0x60,
+	0x16, 0xb1, 0xdc, 0x37, 0x6e, 0xab, 0xb3, 0xee, 0x2f, 0x37, 0x2f, 0x44, 0xce, 0xe5, 0xdf, 0x01,
+	0x00, 0x00, 0xff, 0xff, 0x53, 0x47, 0x59, 0x88, 0x4b, 0x06, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/common.proto b/googleapis/monitoring/v3/common.proto
deleted file mode 100644
index f9746fbc..00000000
--- a/googleapis/monitoring/v3/common.proto
+++ /dev/null
@@ -1,316 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/distribution/distribution.proto"; // from google/api/distribution.proto
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-import "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"; // from google/protobuf/timestamp.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "CommonProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single strongly-typed value.
-message TypedValue {
-  // The typed value field.
-  oneof value {
-    // A Boolean value: `true` or `false`.
-    bool bool_value = 1;
-
-    // A 64-bit integer. Its range is approximately &plusmn;9.2x10<sup>18</sup>.
-    int64 int64_value = 2;
-
-    // A 64-bit double-precision floating-point number. Its magnitude
-    // is approximately &plusmn;10<sup>&plusmn;300</sup> and it has 16
-    // significant digits of precision.
-    double double_value = 3;
-
-    // A variable-length string value.
-    string string_value = 4;
-
-    // A distribution value.
-    google.api.Distribution distribution_value = 5;
-  }
-}
-
-// 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 time interval.
-  google.protobuf.Timestamp end_time = 2;
-
-  // 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;
-}
-
-// Describes how to combine, or aggregate, multiple time series to
-// provide different views of the data.
-// See [Aggregation](/monitoring/api/learn_more#aggregation) for more details.
-message Aggregation {
-  // The Aligner describes how to bring the data points in a single
-  // time series into temporal alignment.
-  enum Aligner {
-    // No alignment. Raw data is returned. Not valid if cross-time
-    // series reduction is requested. The value type of the result is
-    // the same as the value type of the input.
-    ALIGN_NONE = 0;
-
-    // Align and convert to delta metric type. This alignment is valid
-    // for cumulative metrics and delta metrics. Aligning an existing
-    // delta metric to a delta metric requires that the alignment
-    // period be increased. The value type of the result is the same
-    // as the value type of the input.
-    ALIGN_DELTA = 1;
-
-    // Align and convert to a rate. This alignment is valid for
-    // cumulative metrics and delta metrics with numeric values. The output is a
-    // gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_RATE = 2;
-
-    // Align by interpolating between adjacent points around the
-    // period boundary. This alignment is valid for gauge and delta
-    // metrics with numeric values. The value type of the result is the same
-    // as the value type of the input.
-    ALIGN_INTERPOLATE = 3;
-
-    // Align by shifting the oldest data point before the period
-    // boundary to the boundary. This alignment is valid for gauge
-    // metrics. The value type of the result is the same as the
-    // value type of the input.
-    ALIGN_NEXT_OLDER = 4;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the minimum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // values. The value type of the result is the same as the value
-    // type of the input.
-    ALIGN_MIN = 10;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the maximum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // values. The value type of the result is the same as the value
-    // type of the input.
-    ALIGN_MAX = 11;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the average or arithmetic mean of all
-    // data points in the period. This alignment is valid for gauge and delta
-    // metrics with numeric values. The value type of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_MEAN = 12;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the count of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // or Boolean values. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    ALIGN_COUNT = 13;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the sum of all data points in the
-    // period. This alignment is valid for gauge and delta metrics with numeric
-    // and distribution values. The value type of the output is the
-    // same as the value type of the input.
-    ALIGN_SUM = 14;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the standard deviation of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with numeric values. The value type of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_STDDEV = 15;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the count of True-valued data points in the
-    // period. This alignment is valid for gauge metrics with
-    // Boolean values. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    ALIGN_COUNT_TRUE = 16;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the fraction of True-valued data points in the
-    // period. This alignment is valid for gauge metrics with Boolean values.
-    // The output value is in the range [0, 1] and has value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_FRACTION_TRUE = 17;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 99th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_99 = 18;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 95th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_95 = 19;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 50th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_50 = 20;
-
-    // Align time series via aggregation. The resulting data point in
-    // the alignment period is the 5th percentile of all data
-    // points in the period. This alignment is valid for gauge and delta metrics
-    // with distribution values. The output is a gauge metric with value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    ALIGN_PERCENTILE_05 = 21;
-  }
-
-  // A Reducer describes how to aggregate data points from multiple
-  // time series into a single time series.
-  enum Reducer {
-    // No cross-time series reduction. The output of the aligner is
-    // returned.
-    REDUCE_NONE = 0;
-
-    // Reduce by computing the mean across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric or distribution values. The value type of the
-    // output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_MEAN = 1;
-
-    // Reduce by computing the minimum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric values. The value type of the output
-    // is the same as the value type of the input.
-    REDUCE_MIN = 2;
-
-    // Reduce by computing the maximum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric values. The value type of the output
-    // is the same as the value type of the input.
-    REDUCE_MAX = 3;
-
-    // Reduce by computing the sum across time series for each
-    // alignment period. This reducer is valid for delta and
-    // gauge metrics with numeric and distribution values. The value type of
-    // the output is the same as the value type of the input.
-    REDUCE_SUM = 4;
-
-    // Reduce by computing the standard deviation across time series
-    // for each alignment period. This reducer is valid for delta
-    // and gauge metrics with numeric or distribution values. The value type of
-    // the output is [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_STDDEV = 5;
-
-    // Reduce by computing the count of data points across time series
-    // for each alignment period. This reducer is valid for delta
-    // and gauge metrics of numeric, Boolean, distribution, and string value
-    // type. The value type of the output is
-    // [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    REDUCE_COUNT = 6;
-
-    // Reduce by computing the count of True-valued data points across time
-    // series for each alignment period. This reducer is valid for delta
-    // and gauge metrics of Boolean value type. The value type of
-    // the output is [INT64][google.api.MetricDescriptor.ValueType.INT64].
-    REDUCE_COUNT_TRUE = 7;
-
-    // Reduce by computing the fraction of True-valued data points across time
-    // series for each alignment period. This reducer is valid for delta
-    // and gauge metrics of Boolean value type. The output value is in the
-    // range [0, 1] and has value type
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE].
-    REDUCE_FRACTION_TRUE = 8;
-
-    // Reduce by computing 99th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_99 = 9;
-
-    // Reduce by computing 95th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_95 = 10;
-
-    // Reduce by computing 50th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_50 = 11;
-
-    // Reduce by computing 5th percentile of data points across time series
-    // for each alignment period. This reducer is valid for gauge and delta
-    // metrics of numeric and distribution type. The value of the output is
-    // [DOUBLE][google.api.MetricDescriptor.ValueType.DOUBLE]
-    REDUCE_PERCENTILE_05 = 12;
-  }
-
-  // The alignment period for per-[time series][google.monitoring.v3.TimeSeries]
-  // alignment. If present, `alignmentPeriod` must be at least 60
-  // seconds.  After per-time series alignment, each time series will
-  // contain data points only on the period boundaries. If
-  // `perSeriesAligner` is not specified or equals `ALIGN_NONE`, then
-  // this field is ignored. If `perSeriesAligner` is specified and
-  // does not equal `ALIGN_NONE`, then this field must be defined;
-  // otherwise an error is returned.
-  google.protobuf.Duration alignment_period = 1;
-
-  // The approach to be used to align individual time series. Not all
-  // alignment functions may be applied to all time series, depending
-  // on the metric type and value type of the original time
-  // series. Alignment may change the metric type or the value type of
-  // the time series.
-  //
-  // Time series data must be aligned in order to perform cross-time
-  // series reduction. If `crossSeriesReducer` is specified, then
-  // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
-  // and `alignmentPeriod` must be specified; otherwise, an error is
-  // returned.
-  Aligner per_series_aligner = 2;
-
-  // The approach to be used to combine time series. Not all reducer
-  // functions may be applied to all time series, depending on the
-  // metric type and the value type of the original time
-  // series. Reduction may change the metric type of value type of the
-  // time series.
-  //
-  // Time series data must be aligned in order to perform cross-time
-  // series reduction. If `crossSeriesReducer` is specified, then
-  // `perSeriesAligner` must be specified and not equal `ALIGN_NONE`
-  // and `alignmentPeriod` must be specified; otherwise, an error is
-  // returned.
-  Reducer cross_series_reducer = 4;
-
-  // The set of fields to preserve when `crossSeriesReducer` is
-  // specified. The `groupByFields` determine how the time series
-  // are partitioned into subsets prior to applying the aggregation
-  // function. Each subset contains time series that have the same
-  // value for each of the grouping fields. Each individual time
-  // series is a member of exactly one subset. The
-  // `crossSeriesReducer` is applied to each subset of time series.
-  // Fields not specified in `groupByFields` are aggregated away.
-  // If `groupByFields` is not specified, the time series are
-  // aggregated into a single output time series. If
-  // `crossSeriesReducer` is not defined, this field is ignored.
-  repeated string group_by_fields = 5;
-}
diff --git a/googleapis/monitoring/v3/group.pb.go b/googleapis/monitoring/v3/group.pb.go
index 9e809c5c..f1cad54e 100644
--- a/googleapis/monitoring/v3/group.pb.go
+++ b/googleapis/monitoring/v3/group.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/group.proto
+// source: google/monitoring/v3/group.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -62,30 +62,65 @@ type Group struct {
 func (m *Group) Reset()                    { *m = Group{} }
 func (m *Group) String() string            { return proto.CompactTextString(m) }
 func (*Group) ProtoMessage()               {}
-func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
+func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
-func init() {
-	proto.RegisterType((*Group)(nil), "google.monitoring.v3.Group")
+func (m *Group) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Group) GetDisplayName() string {
+	if m != nil {
+		return m.DisplayName
+	}
+	return ""
+}
+
+func (m *Group) GetParentName() string {
+	if m != nil {
+		return m.ParentName
+	}
+	return ""
+}
+
+func (m *Group) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *Group) GetIsCluster() bool {
+	if m != nil {
+		return m.IsCluster
+	}
+	return false
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/group.proto", fileDescriptor3)
+	proto.RegisterType((*Group)(nil), "google.monitoring.v3.Group")
 }
 
-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,
-	0x76, 0x8a, 0xec, 0x63, 0x22, 0x01, 0x00, 0x00,
+func init() { proto.RegisterFile("google/monitoring/v3/group.proto", fileDescriptor1) }
+
+var fileDescriptor1 = []byte{
+	// 248 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x6c, 0x90, 0xc1, 0x4a, 0x03, 0x31,
+	0x10, 0x86, 0x49, 0xb5, 0x8b, 0x9d, 0x7a, 0x0a, 0x22, 0x8b, 0x20, 0xae, 0x9e, 0x7a, 0x4a, 0x0e,
+	0x7b, 0x14, 0x3c, 0xb4, 0x87, 0x9e, 0x94, 0xd2, 0x83, 0x07, 0x2f, 0x25, 0xb6, 0x31, 0x04, 0xb2,
+	0x99, 0x90, 0xec, 0x2e, 0xf8, 0x00, 0xbe, 0x82, 0x0f, 0xe1, 0x53, 0xca, 0x4e, 0x16, 0x16, 0xc1,
+	0x5b, 0xe6, 0xff, 0x3e, 0x26, 0x33, 0x03, 0x95, 0x41, 0x34, 0x4e, 0xcb, 0x06, 0xbd, 0x6d, 0x31,
+	0x5a, 0x6f, 0x64, 0x5f, 0x4b, 0x13, 0xb1, 0x0b, 0x22, 0x44, 0x6c, 0x91, 0x5f, 0x65, 0x43, 0x4c,
+	0x86, 0xe8, 0xeb, 0x87, 0x6f, 0x06, 0xf3, 0xed, 0x60, 0x71, 0x0e, 0xe7, 0x5e, 0x35, 0xba, 0x64,
+	0x15, 0x5b, 0x2d, 0xf6, 0xf4, 0xe6, 0xf7, 0x70, 0x79, 0xb2, 0x29, 0x38, 0xf5, 0x79, 0x20, 0x36,
+	0x23, 0xb6, 0x1c, 0xb3, 0x97, 0x41, 0xb9, 0x83, 0x65, 0x50, 0x51, 0xfb, 0x36, 0x1b, 0x67, 0x64,
+	0x40, 0x8e, 0x48, 0xb8, 0x86, 0xe2, 0xc3, 0xba, 0x56, 0xc7, 0x72, 0x4e, 0x6c, 0xac, 0xf8, 0x2d,
+	0x80, 0x4d, 0x87, 0xa3, 0xeb, 0xd2, 0xc0, 0x8a, 0x8a, 0xad, 0x2e, 0xf6, 0x0b, 0x9b, 0x36, 0x39,
+	0x58, 0x7f, 0x31, 0x28, 0x8f, 0xd8, 0x88, 0xff, 0xa6, 0x5e, 0x03, 0x8d, 0xbc, 0x1b, 0xf6, 0xda,
+	0xb1, 0xb7, 0xa7, 0xd1, 0x31, 0xe8, 0x94, 0x37, 0x02, 0xa3, 0x91, 0x46, 0x7b, 0xda, 0x5a, 0x66,
+	0xa4, 0x82, 0x4d, 0x7f, 0x4f, 0xf3, 0x38, 0x55, 0x3f, 0xb3, 0x9b, 0x6d, 0x6e, 0xb0, 0x71, 0xd8,
+	0x9d, 0xc4, 0xf3, 0xf4, 0xd5, 0x6b, 0xfd, 0x5e, 0x50, 0x9f, 0xfa, 0x37, 0x00, 0x00, 0xff, 0xff,
+	0x0c, 0x22, 0x2a, 0x57, 0x61, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group.proto b/googleapis/monitoring/v3/group.proto
deleted file mode 100644
index 9471a859..00000000
--- a/googleapis/monitoring/v3/group.proto
+++ /dev/null
@@ -1,72 +0,0 @@
-// 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.monitoring.v3;
-
-option java_multiple_files = true;
-option java_outer_classname = "GroupProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The description of a dynamic collection of monitored resources. Each group
-// has a filter that is matched against monitored resources and their associated
-// metadata. If a group's filter matches an available monitored resource, then
-// that resource is a member of that group.  Groups can contain any number of
-// monitored resources, and each monitored resource can be a member of any
-// number of groups.
-//
-// Groups can be nested in parent-child hierarchies. The `parentName` field
-// identifies an optional parent for each group.  If a group has a parent, then
-// the only monitored resources available to be matched by the group's filter
-// are the resources contained in the parent group.  In other words, a group
-// contains the monitored resources that match its filter and the filters of all
-// the group's ancestors.  A group without a parent can contain any monitored
-// resource.
-//
-// For example, consider an infrastructure running a set of instances with two
-// user-defined tags: `"environment"` and `"role"`. A parent group has a filter,
-// `environment="production"`.  A child of that parent group has a filter,
-// `role="transcoder"`.  The parent group contains all instances in the
-// production environment, regardless of their roles.  The child group contains
-// instances that have the transcoder role *and* are in the production
-// environment.
-//
-// The monitored resources contained in a group can change at any moment,
-// depending on what resources exist and what filters are associated with the
-// group and its ancestors.
-message Group {
-  // 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.
-  string name = 1;
-
-  // A user-assigned name for this group, used only for display purposes.
-  string display_name = 2;
-
-  // The name of the group's parent, if it has one.
-  // The format is `"projects/{project_id_or_number}/groups/{group_id}"`.
-  // For groups with no parent, `parentName` is the empty string, `""`.
-  string parent_name = 3;
-
-  // The filter used to determine which monitored resources belong to this group.
-  string filter = 5;
-
-  // If true, the members of this group are considered to be a cluster.
-  // The system can perform additional analysis on groups that are clusters.
-  bool is_cluster = 6;
-}
diff --git a/googleapis/monitoring/v3/group_service.pb.go b/googleapis/monitoring/v3/group_service.pb.go
index 6f5852d1..0ffc3b63 100644
--- a/googleapis/monitoring/v3/group_service.pb.go
+++ b/googleapis/monitoring/v3/group_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto
+// source: google/monitoring/v3/group_service.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 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/api/annotations"
 import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
 
@@ -46,7 +46,7 @@ type ListGroupsRequest struct {
 func (m *ListGroupsRequest) Reset()                    { *m = ListGroupsRequest{} }
 func (m *ListGroupsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupsRequest) ProtoMessage()               {}
-func (*ListGroupsRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*ListGroupsRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
 
 type isListGroupsRequest_Filter interface {
 	isListGroupsRequest_Filter()
@@ -73,6 +73,13 @@ func (m *ListGroupsRequest) GetFilter() isListGroupsRequest_Filter {
 	return nil
 }
 
+func (m *ListGroupsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *ListGroupsRequest) GetChildrenOfGroup() string {
 	if x, ok := m.GetFilter().(*ListGroupsRequest_ChildrenOfGroup); ok {
 		return x.ChildrenOfGroup
@@ -94,6 +101,20 @@ func (m *ListGroupsRequest) GetDescendantsOfGroup() string {
 	return ""
 }
 
+func (m *ListGroupsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // XXX_OneofFuncs is for the internal use of the proto package.
 func (*ListGroupsRequest) 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 _ListGroupsRequest_OneofMarshaler, _ListGroupsRequest_OneofUnmarshaler, _ListGroupsRequest_OneofSizer, []interface{}{
@@ -188,7 +209,7 @@ type ListGroupsResponse struct {
 func (m *ListGroupsResponse) Reset()                    { *m = ListGroupsResponse{} }
 func (m *ListGroupsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupsResponse) ProtoMessage()               {}
-func (*ListGroupsResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*ListGroupsResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
 
 func (m *ListGroupsResponse) GetGroup() []*Group {
 	if m != nil {
@@ -197,6 +218,13 @@ func (m *ListGroupsResponse) GetGroup() []*Group {
 	return nil
 }
 
+func (m *ListGroupsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetGroup` request.
 type GetGroupRequest struct {
 	// The group to retrieve. The format is
@@ -207,7 +235,14 @@ type GetGroupRequest struct {
 func (m *GetGroupRequest) Reset()                    { *m = GetGroupRequest{} }
 func (m *GetGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetGroupRequest) ProtoMessage()               {}
-func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
+func (*GetGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
+
+func (m *GetGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `CreateGroup` request.
 type CreateGroupRequest struct {
@@ -224,7 +259,14 @@ type CreateGroupRequest struct {
 func (m *CreateGroupRequest) Reset()                    { *m = CreateGroupRequest{} }
 func (m *CreateGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateGroupRequest) ProtoMessage()               {}
-func (*CreateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+func (*CreateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
+
+func (m *CreateGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateGroupRequest) GetGroup() *Group {
 	if m != nil {
@@ -233,6 +275,13 @@ func (m *CreateGroupRequest) GetGroup() *Group {
 	return nil
 }
 
+func (m *CreateGroupRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // The `UpdateGroup` request.
 type UpdateGroupRequest struct {
 	// The new definition of the group.  All fields of the existing group,
@@ -245,7 +294,7 @@ type UpdateGroupRequest struct {
 func (m *UpdateGroupRequest) Reset()                    { *m = UpdateGroupRequest{} }
 func (m *UpdateGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*UpdateGroupRequest) ProtoMessage()               {}
-func (*UpdateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
+func (*UpdateGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
 
 func (m *UpdateGroupRequest) GetGroup() *Group {
 	if m != nil {
@@ -254,6 +303,13 @@ func (m *UpdateGroupRequest) GetGroup() *Group {
 	return nil
 }
 
+func (m *UpdateGroupRequest) GetValidateOnly() bool {
+	if m != nil {
+		return m.ValidateOnly
+	}
+	return false
+}
+
 // The `DeleteGroup` request. You can only delete a group if it has no children.
 type DeleteGroupRequest struct {
 	// The group to delete. The format is
@@ -264,7 +320,14 @@ type DeleteGroupRequest struct {
 func (m *DeleteGroupRequest) Reset()                    { *m = DeleteGroupRequest{} }
 func (m *DeleteGroupRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteGroupRequest) ProtoMessage()               {}
-func (*DeleteGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
+func (*DeleteGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
+
+func (m *DeleteGroupRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `ListGroupMembers` request.
 type ListGroupMembersRequest struct {
@@ -295,7 +358,35 @@ type ListGroupMembersRequest struct {
 func (m *ListGroupMembersRequest) Reset()                    { *m = ListGroupMembersRequest{} }
 func (m *ListGroupMembersRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupMembersRequest) ProtoMessage()               {}
-func (*ListGroupMembersRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
+func (*ListGroupMembersRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
+
+func (m *ListGroupMembersRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListGroupMembersRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListGroupMembersRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
+func (m *ListGroupMembersRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
 
 func (m *ListGroupMembersRequest) GetInterval() *TimeInterval {
 	if m != nil {
@@ -319,7 +410,7 @@ type ListGroupMembersResponse struct {
 func (m *ListGroupMembersResponse) Reset()                    { *m = ListGroupMembersResponse{} }
 func (m *ListGroupMembersResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListGroupMembersResponse) ProtoMessage()               {}
-func (*ListGroupMembersResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
+func (*ListGroupMembersResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{7} }
 
 func (m *ListGroupMembersResponse) GetMembers() []*google_api4.MonitoredResource {
 	if m != nil {
@@ -328,6 +419,20 @@ func (m *ListGroupMembersResponse) GetMembers() []*google_api4.MonitoredResource
 	return nil
 }
 
+func (m *ListGroupMembersResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
+func (m *ListGroupMembersResponse) GetTotalSize() int32 {
+	if m != nil {
+		return m.TotalSize
+	}
+	return 0
+}
+
 func init() {
 	proto.RegisterType((*ListGroupsRequest)(nil), "google.monitoring.v3.ListGroupsRequest")
 	proto.RegisterType((*ListGroupsResponse)(nil), "google.monitoring.v3.ListGroupsResponse")
@@ -587,65 +692,63 @@ var _GroupService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/group_service.proto", fileDescriptor4)
-}
-
-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,
+	Metadata: "google/monitoring/v3/group_service.proto",
+}
+
+func init() { proto.RegisterFile("google/monitoring/v3/group_service.proto", fileDescriptor2) }
+
+var fileDescriptor2 = []byte{
+	// 818 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0xcd, 0x6e, 0xdb, 0x46,
+	0x10, 0x2e, 0x2d, 0x59, 0x96, 0x46, 0x36, 0x6c, 0x2f, 0x0c, 0x57, 0xa0, 0x7f, 0xa0, 0xd2, 0x3f,
+	0x15, 0xdc, 0x9a, 0x44, 0xa5, 0x43, 0x81, 0x16, 0xf5, 0xc1, 0x6e, 0xe1, 0x16, 0xa8, 0x61, 0x83,
+	0x76, 0x7b, 0xe8, 0x45, 0xa0, 0xa5, 0x11, 0xcb, 0x96, 0xdc, 0x65, 0xc9, 0x95, 0x5a, 0xbb, 0x30,
+	0x90, 0x04, 0xc8, 0x21, 0x40, 0x6e, 0xb9, 0xe5, 0x96, 0x6b, 0x5e, 0x21, 0xa7, 0x3c, 0x43, 0x5e,
+	0x21, 0xef, 0x91, 0x80, 0xcb, 0x5d, 0x89, 0xfa, 0xb5, 0x2f, 0xb9, 0x91, 0xbb, 0xdf, 0xec, 0xf7,
+	0xcd, 0xec, 0x37, 0xb3, 0x50, 0x73, 0x19, 0x73, 0x7d, 0xb4, 0x02, 0x46, 0x3d, 0xce, 0x22, 0x8f,
+	0xba, 0x56, 0xaf, 0x61, 0xb9, 0x11, 0xeb, 0x86, 0xcd, 0x18, 0xa3, 0x9e, 0xd7, 0x42, 0x33, 0x8c,
+	0x18, 0x67, 0x64, 0x2d, 0x45, 0x9a, 0x03, 0xa4, 0xd9, 0x6b, 0xe8, 0x9b, 0x32, 0xde, 0x09, 0x3d,
+	0xcb, 0xa1, 0x94, 0x71, 0x87, 0x7b, 0x8c, 0xc6, 0x69, 0x8c, 0xbe, 0x93, 0xd9, 0x95, 0x71, 0xd8,
+	0x6e, 0x46, 0x18, 0xb3, 0x6e, 0xa4, 0x0e, 0xd6, 0xbf, 0x98, 0x28, 0xa1, 0xc5, 0x82, 0x80, 0x51,
+	0x09, 0xa9, 0x4e, 0x57, 0x29, 0x11, 0x1b, 0x12, 0x21, 0xfe, 0xae, 0xbb, 0x1d, 0x0b, 0x83, 0x90,
+	0xdf, 0xa4, 0x9b, 0xc6, 0x07, 0x0d, 0x56, 0x7f, 0xf5, 0x62, 0x7e, 0x9a, 0x04, 0xc4, 0x36, 0xfe,
+	0xd3, 0xc5, 0x98, 0x13, 0x02, 0x79, 0xea, 0x04, 0x58, 0x59, 0xa8, 0x6a, 0xb5, 0x92, 0x2d, 0xbe,
+	0xc9, 0xd7, 0xb0, 0xda, 0xfa, 0xd3, 0xf3, 0xdb, 0x11, 0xd2, 0x26, 0xeb, 0x34, 0x05, 0x43, 0x65,
+	0x2e, 0x01, 0xfc, 0xfc, 0x99, 0xbd, 0xac, 0xb6, 0xce, 0x3b, 0xe2, 0x24, 0x62, 0x02, 0x71, 0x68,
+	0x0b, 0x63, 0xce, 0xa2, 0x78, 0x00, 0xcf, 0x49, 0xf8, 0x4a, 0x7f, 0x4f, 0xe1, 0xeb, 0xb0, 0xd6,
+	0xc6, 0xb8, 0x85, 0xb4, 0xed, 0x50, 0x9e, 0x89, 0xc8, 0xcb, 0x08, 0x92, 0xd9, 0x55, 0x31, 0x1b,
+	0x50, 0x0a, 0x1d, 0x17, 0x9b, 0xb1, 0x77, 0x8b, 0x95, 0xf9, 0xaa, 0x56, 0x9b, 0xb7, 0x8b, 0xc9,
+	0xc2, 0xa5, 0x77, 0x8b, 0x64, 0x0b, 0x40, 0x6c, 0x72, 0xf6, 0x37, 0xd2, 0x4a, 0x41, 0x24, 0x22,
+	0xe0, 0x57, 0xc9, 0xc2, 0x71, 0x11, 0x0a, 0x1d, 0xcf, 0xe7, 0x18, 0x19, 0x0c, 0x48, 0xb6, 0x00,
+	0x71, 0xc8, 0x68, 0x8c, 0xe4, 0x1b, 0x98, 0x4f, 0x05, 0x68, 0xd5, 0x5c, 0xad, 0x5c, 0xdf, 0x30,
+	0x27, 0x5d, 0xb1, 0x29, 0x82, 0xec, 0x14, 0x49, 0xf6, 0x61, 0x99, 0xe2, 0x7f, 0xbc, 0x99, 0xa1,
+	0x15, 0xe5, 0xb1, 0x97, 0x92, 0xe5, 0x0b, 0x45, 0x6d, 0xec, 0xc1, 0xf2, 0x29, 0xa6, 0x7c, 0xa3,
+	0xf5, 0xce, 0x0d, 0xea, 0x6d, 0x3c, 0xd2, 0x80, 0x9c, 0x44, 0xe8, 0x70, 0x9c, 0x08, 0xcd, 0x67,
+	0xae, 0xa6, 0x2f, 0x36, 0xe1, 0x7b, 0x98, 0xd8, 0x1d, 0x58, 0xea, 0x39, 0xbe, 0xd7, 0x76, 0x38,
+	0x36, 0x19, 0xf5, 0x6f, 0x04, 0x75, 0xd1, 0x5e, 0x54, 0x8b, 0xe7, 0xd4, 0xbf, 0x31, 0x7c, 0x20,
+	0xbf, 0x85, 0xed, 0x51, 0x05, 0x9f, 0x8a, 0xad, 0x06, 0xe4, 0x47, 0xf4, 0x71, 0x4a, 0xbe, 0xd9,
+	0xd2, 0xbc, 0xd5, 0xe0, 0xf3, 0xfe, 0x9d, 0x9d, 0x61, 0x70, 0x8d, 0xd1, 0x4c, 0xeb, 0x0e, 0x19,
+	0x25, 0x37, 0xd3, 0x28, 0xf9, 0x11, 0xa3, 0x90, 0x75, 0x65, 0x14, 0xe1, 0xb0, 0x92, 0x2d, 0xff,
+	0xc8, 0x11, 0x14, 0x3d, 0xca, 0x31, 0xea, 0x39, 0xbe, 0x70, 0x57, 0xb9, 0x6e, 0x4c, 0x2e, 0xc4,
+	0x95, 0x17, 0xe0, 0x2f, 0x12, 0x69, 0xf7, 0x63, 0x8c, 0x97, 0x1a, 0x54, 0xc6, 0x73, 0x90, 0xee,
+	0xfb, 0x16, 0x16, 0x82, 0x74, 0x49, 0xfa, 0x6f, 0x4b, 0x9d, 0xed, 0x84, 0x9e, 0x79, 0xa6, 0xc6,
+	0x85, 0x2d, 0xa7, 0x85, 0xad, 0xd0, 0x0f, 0xf5, 0x60, 0x92, 0x34, 0x67, 0xdc, 0xf1, 0xb3, 0x25,
+	0x29, 0x89, 0x95, 0xa4, 0x26, 0xf5, 0x37, 0x05, 0x58, 0x14, 0xc2, 0x2e, 0xd3, 0x39, 0x47, 0x9e,
+	0x6a, 0x00, 0x83, 0x2e, 0x21, 0x5f, 0x4e, 0x4e, 0x75, 0x6c, 0x90, 0xe8, 0xb5, 0xfb, 0x81, 0x69,
+	0xca, 0xc6, 0xee, 0x93, 0x77, 0xef, 0x5f, 0xcc, 0x6d, 0x93, 0xcd, 0x64, 0x7c, 0xfd, 0x9f, 0x5c,
+	0xdb, 0x0f, 0x61, 0xc4, 0xfe, 0xc2, 0x16, 0x8f, 0xad, 0x83, 0xbb, 0x74, 0xa0, 0xc5, 0xa4, 0x07,
+	0x45, 0xd5, 0x3b, 0x64, 0x6f, 0x8a, 0xf1, 0x86, 0x7b, 0x4b, 0x9f, 0xe5, 0x4f, 0x63, 0x5f, 0xb0,
+	0x56, 0xc9, 0xf6, 0x24, 0x56, 0x49, 0x6a, 0x1d, 0xdc, 0x91, 0xc7, 0x1a, 0x94, 0x33, 0xcd, 0x48,
+	0xa6, 0xe4, 0x35, 0xde, 0xaf, 0xb3, 0xe9, 0xbf, 0x12, 0xf4, 0x7b, 0xc6, 0xcc, 0xa4, 0xbf, 0x93,
+	0x4d, 0xf4, 0x4c, 0x83, 0x72, 0xa6, 0x1d, 0xa7, 0x69, 0x18, 0xef, 0xd8, 0xd9, 0x1a, 0x1a, 0x42,
+	0xc3, 0xa1, 0xbe, 0x2b, 0x34, 0xa4, 0x0f, 0xc7, 0xd4, 0x42, 0x28, 0x2d, 0xff, 0x42, 0x39, 0xd3,
+	0xab, 0xd3, 0xa4, 0x8c, 0xb7, 0xb3, 0xbe, 0xae, 0x90, 0xea, 0x35, 0x32, 0x7f, 0x4a, 0x5e, 0x23,
+	0x75, 0x11, 0x07, 0xf7, 0x5d, 0xc4, 0x2b, 0x0d, 0x56, 0x46, 0xdb, 0x86, 0x1c, 0xde, 0xe3, 0xb2,
+	0xe1, 0x11, 0xa1, 0x9b, 0x0f, 0x85, 0x4b, 0x6b, 0x9a, 0x42, 0x5b, 0x8d, 0xec, 0xcf, 0xd6, 0x66,
+	0xc9, 0x26, 0x3c, 0x7e, 0xae, 0x41, 0xa5, 0xc5, 0x82, 0x89, 0x2c, 0xc7, 0xab, 0xd9, 0xbe, 0xba,
+	0x48, 0x8a, 0x70, 0xa1, 0xfd, 0x71, 0x24, 0xa1, 0x2e, 0xf3, 0x1d, 0xea, 0x9a, 0x2c, 0x72, 0x2d,
+	0x17, 0xa9, 0x28, 0x91, 0x95, 0x6e, 0x39, 0xa1, 0x17, 0x0f, 0xbf, 0xf1, 0xdf, 0x0f, 0xfe, 0x5e,
+	0xcf, 0xe9, 0xa7, 0xe9, 0x01, 0x27, 0x3e, 0xeb, 0xb6, 0xd5, 0x80, 0x48, 0x18, 0x7f, 0x6f, 0x5c,
+	0x17, 0xc4, 0x39, 0x8d, 0x8f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1b, 0xec, 0x77, 0x3f, 0xd0, 0x08,
+	0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/group_service.proto b/googleapis/monitoring/v3/group_service.proto
deleted file mode 100644
index 4c049a97..00000000
--- a/googleapis/monitoring/v3/group_service.proto
+++ /dev/null
@@ -1,204 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/group.proto"; // from google/monitoring/v3/group.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "GroupServiceProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// The Group API lets you inspect and manage your
-// [groups](google.monitoring.v3.Group).
-//
-// A group is a named filter that is used to identify
-// a collection of monitored resources. Groups are typically used to
-// mirror the physical and/or logical topology of the environment.
-// Because group membership is computed dynamically, monitored
-// resources that are started in the future are automatically placed
-// in matching groups. By using a group to name monitored resources in,
-// for example, an alert policy, the target of that alert policy is
-// updated automatically as monitored resources are added and removed
-// from the infrastructure.
-service GroupService {
-  // Lists the existing groups.
-  rpc ListGroups(ListGroupsRequest) returns (ListGroupsResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*}/groups" };
-  }
-
-  // Gets a single group.
-  rpc GetGroup(GetGroupRequest) returns (Group) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}" };
-  }
-
-  // Creates a new group.
-  rpc CreateGroup(CreateGroupRequest) returns (Group) {
-    option (google.api.http) = { post: "/v3/{name=projects/*}/groups" body: "group" };
-  }
-
-  // Updates an existing group.
-  // You can change any group attributes except `name`.
-  rpc UpdateGroup(UpdateGroupRequest) returns (Group) {
-    option (google.api.http) = { put: "/v3/{group.name=projects/*/groups/*}" body: "group" };
-  }
-
-  // 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.
-  rpc ListGroupMembers(ListGroupMembersRequest) returns (ListGroupMembersResponse) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/groups/*}/members" };
-  }
-}
-
-// The `ListGroup` request.
-message ListGroupsRequest {
-  // The project whose groups are to be listed. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 7;
-
-  // An optional filter consisting of a single group name.  The filters limit the
-  // groups returned based on their parent-child relationship with the specified
-  // group. If no filter is specified, all groups are returned.
-  oneof filter {
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns groups whose `parentName` field contains the group
-    // name.  If no groups have this parent, the results are empty.
-    string children_of_group = 2;
-
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns groups that are ancestors of the specified group.
-    // The groups are returned in order, starting with the immediate parent and
-    // ending with the most distant ancestor.  If the specified group has no
-    // immediate parent, the results are empty.
-    string ancestors_of_group = 3;
-
-    // A group name: `"projects/{project_id_or_number}/groups/{group_id}"`.
-    // Returns the descendants of the specified group.  This is a superset of
-    // the results returned by the `childrenOfGroup` filter, and includes
-    // children-of-children, and so forth.
-    string descendants_of_group = 4;
-  }
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 5;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 6;
-}
-
-// The `ListGroups` response.
-message ListGroupsResponse {
-  // The groups that match the specified filters.
-  repeated Group group = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetGroup` request.
-message GetGroupRequest {
-  // The group to retrieve. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 3;
-}
-
-// The `CreateGroup` request.
-message CreateGroupRequest {
-  // The project in which to create the group. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 4;
-
-  // A group definition. It is an error to define the `name` field because
-  // the system assigns the name.
-  Group group = 2;
-
-  // If true, validate this request but do not create the group.
-  bool validate_only = 3;
-}
-
-// The `UpdateGroup` request.
-message UpdateGroupRequest {
-  // The new definition of the group.  All fields of the existing group,
-  // excepting `name`, are replaced with the corresponding fields of this group.
-  Group group = 2;
-
-  // If true, validate this request but do not update the existing group.
-  bool validate_only = 3;
-}
-
-// The `DeleteGroup` request. You can only delete a group if it has no children.
-message DeleteGroupRequest {
-  // The group to delete. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 3;
-}
-
-// The `ListGroupMembers` request.
-message ListGroupMembersRequest {
-  // The group whose members are listed. The format is
-  // `"projects/{project_id_or_number}/groups/{group_id}"`.
-  string name = 7;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-
-  // An optional [list filter](/monitoring/api/learn_more#filtering) describing
-  // the members to be returned.  The filter may reference the type, labels, and
-  // metadata of monitored resources that comprise the group.
-  // For example, to return only resources representing Compute Engine VM
-  // instances, use this filter:
-  //
-  //     resource.type = "gce_instance"
-  string filter = 5;
-
-  // An optional time interval for which results should be returned. Only
-  // members that were part of the group during the specified interval are
-  // included in the response.  If no interval is provided then the group
-  // membership over the last minute is returned.
-  TimeInterval interval = 6;
-}
-
-// The `ListGroupMembers` response.
-message ListGroupMembersResponse {
-  // A set of monitored resources in the group.
-  repeated google.api.MonitoredResource members = 1;
-
-  // If there are more results than have been returned, then this field is
-  // set to a non-empty value.  To see the additional results, use that value as
-  // `pageToken` in the next call to this method.
-  string next_page_token = 2;
-
-  // The total number of elements matching this request.
-  int32 total_size = 3;
-}
diff --git a/googleapis/monitoring/v3/metric.pb.go b/googleapis/monitoring/v3/metric.pb.go
index 43dbcdbb..83aca748 100644
--- a/googleapis/monitoring/v3/metric.pb.go
+++ b/googleapis/monitoring/v3/metric.pb.go
@@ -1,8 +1,8 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/metric.proto
+// source: google/monitoring/v3/metric.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -33,7 +33,7 @@ type Point struct {
 func (m *Point) Reset()                    { *m = Point{} }
 func (m *Point) String() string            { return proto.CompactTextString(m) }
 func (*Point) ProtoMessage()               {}
-func (*Point) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} }
+func (*Point) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
 
 func (m *Point) GetInterval() *TimeInterval {
 	if m != nil {
@@ -91,7 +91,7 @@ type TimeSeries struct {
 func (m *TimeSeries) Reset()                    { *m = TimeSeries{} }
 func (m *TimeSeries) String() string            { return proto.CompactTextString(m) }
 func (*TimeSeries) ProtoMessage()               {}
-func (*TimeSeries) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} }
+func (*TimeSeries) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{1} }
 
 func (m *TimeSeries) GetMetric() *google_api5.Metric {
 	if m != nil {
@@ -107,6 +107,20 @@ func (m *TimeSeries) GetResource() *google_api4.MonitoredResource {
 	return nil
 }
 
+func (m *TimeSeries) GetMetricKind() google_api5.MetricDescriptor_MetricKind {
+	if m != nil {
+		return m.MetricKind
+	}
+	return google_api5.MetricDescriptor_METRIC_KIND_UNSPECIFIED
+}
+
+func (m *TimeSeries) GetValueType() google_api5.MetricDescriptor_ValueType {
+	if m != nil {
+		return m.ValueType
+	}
+	return google_api5.MetricDescriptor_VALUE_TYPE_UNSPECIFIED
+}
+
 func (m *TimeSeries) GetPoints() []*Point {
 	if m != nil {
 		return m.Points
@@ -119,33 +133,32 @@ func init() {
 	proto.RegisterType((*TimeSeries)(nil), "google.monitoring.v3.TimeSeries")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/metric.proto", fileDescriptor5)
-}
+func init() { proto.RegisterFile("google/monitoring/v3/metric.proto", fileDescriptor3) }
 
-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,
+var fileDescriptor3 = []byte{
+	// 384 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x51, 0x4b, 0xeb, 0x30,
+	0x14, 0xc7, 0xe9, 0x76, 0x37, 0x76, 0x53, 0xb8, 0x0f, 0xe1, 0xc2, 0x2d, 0xbb, 0x08, 0x75, 0x82,
+	0x0e, 0x1f, 0x5a, 0x58, 0x41, 0x10, 0x61, 0x0f, 0x53, 0x51, 0x11, 0x61, 0x44, 0xd9, 0x83, 0x2f,
+	0xa3, 0xb6, 0xa1, 0x04, 0xdb, 0x9c, 0x90, 0x66, 0x85, 0x3d, 0xf9, 0xe6, 0x87, 0xf1, 0x1b, 0xf8,
+	0xed, 0xa4, 0x49, 0xba, 0x39, 0xac, 0xbe, 0xa5, 0x3d, 0xbf, 0xff, 0xff, 0x9f, 0x73, 0x4e, 0xd0,
+	0x7e, 0x06, 0x90, 0xe5, 0x34, 0x2c, 0x80, 0x33, 0x05, 0x92, 0xf1, 0x2c, 0xac, 0xa2, 0xb0, 0xa0,
+	0x4a, 0xb2, 0x24, 0x10, 0x12, 0x14, 0xe0, 0xbf, 0x06, 0x09, 0xb6, 0x48, 0x50, 0x45, 0xc3, 0x7f,
+	0x56, 0x18, 0x0b, 0xb6, 0x83, 0x0f, 0x0f, 0x3e, 0x17, 0x8c, 0x84, 0xa6, 0x4b, 0x49, 0x4b, 0x58,
+	0xc9, 0x84, 0x5a, 0xa8, 0x3d, 0x36, 0x81, 0xa2, 0x00, 0x6e, 0x90, 0xd1, 0x0b, 0xea, 0xcd, 0x81,
+	0x71, 0x85, 0xa7, 0x68, 0xc0, 0xb8, 0xa2, 0xb2, 0x8a, 0x73, 0xcf, 0xf1, 0x9d, 0xb1, 0x3b, 0x19,
+	0x05, 0x6d, 0x57, 0x0a, 0x1e, 0x58, 0x41, 0x6f, 0x2c, 0x49, 0x36, 0x1a, 0x7c, 0x82, 0x7a, 0x55,
+	0x9c, 0xaf, 0xa8, 0xd7, 0xd1, 0x62, 0xff, 0x1b, 0xf1, 0x5a, 0xd0, 0x74, 0x51, 0x73, 0xc4, 0xe0,
+	0xa3, 0xf7, 0x0e, 0x42, 0xb5, 0xe5, 0x3d, 0x95, 0x8c, 0x96, 0xf8, 0x18, 0xf5, 0x4d, 0x9f, 0xf6,
+	0x12, 0xb8, 0xf1, 0x89, 0x05, 0x0b, 0xee, 0x74, 0x85, 0x58, 0x02, 0x9f, 0xa2, 0x41, 0xd3, 0xb0,
+	0x4d, 0xdd, 0xdb, 0xa1, 0x9b, 0xb1, 0x10, 0x0b, 0x91, 0x0d, 0x8e, 0xaf, 0x91, 0x6b, 0x4c, 0x96,
+	0xcf, 0x8c, 0xa7, 0x5e, 0xd7, 0x77, 0xc6, 0x7f, 0x26, 0x47, 0x5f, 0xb3, 0x2e, 0x68, 0x99, 0x48,
+	0x26, 0x14, 0x48, 0xfb, 0xe3, 0x96, 0xf1, 0x94, 0xa0, 0x62, 0x73, 0xc6, 0x97, 0x08, 0xe9, 0x46,
+	0x96, 0x6a, 0x2d, 0xa8, 0xf7, 0x4b, 0x1b, 0x1d, 0xfe, 0x68, 0xa4, 0xdb, 0xaf, 0x07, 0x41, 0x7e,
+	0x57, 0xcd, 0x11, 0x47, 0xa8, 0x2f, 0xea, 0x3d, 0x94, 0x5e, 0xcf, 0xef, 0x8e, 0xdd, 0xc9, 0xff,
+	0xf6, 0xf9, 0xe9, 0x5d, 0x11, 0x8b, 0xce, 0x5e, 0x1d, 0xe4, 0x25, 0x50, 0xb4, 0xa2, 0x33, 0xd7,
+	0x04, 0xcf, 0xeb, 0x35, 0xcf, 0x9d, 0xc7, 0xa9, 0x85, 0x32, 0xc8, 0x63, 0x9e, 0x05, 0x20, 0xb3,
+	0x30, 0xa3, 0x5c, 0x3f, 0x82, 0xd0, 0x94, 0x62, 0xc1, 0xca, 0xdd, 0xa7, 0x72, 0xb6, 0xfd, 0x7a,
+	0xeb, 0x0c, 0xaf, 0x8c, 0xc1, 0x79, 0x0e, 0xab, 0xb4, 0x19, 0x6e, 0x9d, 0xb5, 0x88, 0x9e, 0xfa,
+	0xda, 0x27, 0xfa, 0x08, 0x00, 0x00, 0xff, 0xff, 0xd5, 0xab, 0x3f, 0xd9, 0xe8, 0x02, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric.proto b/googleapis/monitoring/v3/metric.proto
deleted file mode 100644
index c275c633..00000000
--- a/googleapis/monitoring/v3/metric.proto
+++ /dev/null
@@ -1,85 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "MetricProto";
-option java_package = "com.google.monitoring.v3";
-
-
-// A single data point in a time series.
-message Point {
-  // 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 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 associated metric. A fully-specified metric used to identify the time
-  // series.
-  google.api.Metric metric = 1;
-
-  // 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. 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. 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 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 3b3ef377..41ffeb03 100644
--- a/googleapis/monitoring/v3/metric_service.pb.go
+++ b/googleapis/monitoring/v3/metric_service.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto
+// source: google/monitoring/v3/metric_service.proto
 // DO NOT EDIT!
 
-package google_monitoring_v3 // import "google.golang.org/genproto/googleapis/monitoring/v3"
+package monitoring
 
 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/api/annotations"
 import google_api5 "google.golang.org/genproto/googleapis/api/metric"
 import google_api4 "google.golang.org/genproto/googleapis/api/monitoredres"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/empty"
@@ -48,7 +48,7 @@ func (x ListTimeSeriesRequest_TimeSeriesView) String() string {
 	return proto.EnumName(ListTimeSeriesRequest_TimeSeriesView_name, int32(x))
 }
 func (ListTimeSeriesRequest_TimeSeriesView) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{8, 0}
+	return fileDescriptor4, []int{8, 0}
 }
 
 // The `ListMonitoredResourceDescriptors` request.
@@ -78,7 +78,35 @@ func (m *ListMonitoredResourceDescriptorsRequest) Reset() {
 func (m *ListMonitoredResourceDescriptorsRequest) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsRequest) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{0}
+	return fileDescriptor4, []int{0}
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMonitoredResourceDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
 }
 
 // The `ListMonitoredResourcDescriptors` response.
@@ -98,7 +126,7 @@ func (m *ListMonitoredResourceDescriptorsResponse) Reset() {
 func (m *ListMonitoredResourceDescriptorsResponse) String() string { return proto.CompactTextString(m) }
 func (*ListMonitoredResourceDescriptorsResponse) ProtoMessage()    {}
 func (*ListMonitoredResourceDescriptorsResponse) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{1}
+	return fileDescriptor4, []int{1}
 }
 
 func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*google_api4.MonitoredResourceDescriptor {
@@ -108,6 +136,13 @@ func (m *ListMonitoredResourceDescriptorsResponse) GetResourceDescriptors() []*g
 	return nil
 }
 
+func (m *ListMonitoredResourceDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetMonitoredResourceDescriptor` request.
 type GetMonitoredResourceDescriptorRequest struct {
 	// The monitored resource descriptor to get.  The format is
@@ -121,7 +156,14 @@ func (m *GetMonitoredResourceDescriptorRequest) Reset()         { *m = GetMonito
 func (m *GetMonitoredResourceDescriptorRequest) String() string { return proto.CompactTextString(m) }
 func (*GetMonitoredResourceDescriptorRequest) ProtoMessage()    {}
 func (*GetMonitoredResourceDescriptorRequest) Descriptor() ([]byte, []int) {
-	return fileDescriptor6, []int{2}
+	return fileDescriptor4, []int{2}
+}
+
+func (m *GetMonitoredResourceDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
 }
 
 // The `ListMetricDescriptors` request.
@@ -149,7 +191,35 @@ type ListMetricDescriptorsRequest struct {
 func (m *ListMetricDescriptorsRequest) Reset()                    { *m = ListMetricDescriptorsRequest{} }
 func (m *ListMetricDescriptorsRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListMetricDescriptorsRequest) ProtoMessage()               {}
-func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{3} }
+func (*ListMetricDescriptorsRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+
+func (m *ListMetricDescriptorsRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListMetricDescriptorsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListMetricDescriptorsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListMetricDescriptorsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
 
 // The `ListMetricDescriptors` response.
 type ListMetricDescriptorsResponse struct {
@@ -165,7 +235,7 @@ type ListMetricDescriptorsResponse struct {
 func (m *ListMetricDescriptorsResponse) Reset()                    { *m = ListMetricDescriptorsResponse{} }
 func (m *ListMetricDescriptorsResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListMetricDescriptorsResponse) ProtoMessage()               {}
-func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{4} }
+func (*ListMetricDescriptorsResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
 
 func (m *ListMetricDescriptorsResponse) GetMetricDescriptors() []*google_api5.MetricDescriptor {
 	if m != nil {
@@ -174,6 +244,13 @@ func (m *ListMetricDescriptorsResponse) GetMetricDescriptors() []*google_api5.Me
 	return nil
 }
 
+func (m *ListMetricDescriptorsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `GetMetricDescriptor` request.
 type GetMetricDescriptorRequest struct {
 	// The metric descriptor on which to execute the request. The format is
@@ -186,7 +263,14 @@ type GetMetricDescriptorRequest struct {
 func (m *GetMetricDescriptorRequest) Reset()                    { *m = GetMetricDescriptorRequest{} }
 func (m *GetMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*GetMetricDescriptorRequest) ProtoMessage()               {}
-func (*GetMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{5} }
+func (*GetMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{5} }
+
+func (m *GetMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `CreateMetricDescriptor` request.
 type CreateMetricDescriptorRequest struct {
@@ -201,7 +285,14 @@ type CreateMetricDescriptorRequest struct {
 func (m *CreateMetricDescriptorRequest) Reset()                    { *m = CreateMetricDescriptorRequest{} }
 func (m *CreateMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateMetricDescriptorRequest) ProtoMessage()               {}
-func (*CreateMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{6} }
+func (*CreateMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{6} }
+
+func (m *CreateMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateMetricDescriptorRequest) GetMetricDescriptor() *google_api5.MetricDescriptor {
 	if m != nil {
@@ -222,7 +313,14 @@ type DeleteMetricDescriptorRequest struct {
 func (m *DeleteMetricDescriptorRequest) Reset()                    { *m = DeleteMetricDescriptorRequest{} }
 func (m *DeleteMetricDescriptorRequest) String() string            { return proto.CompactTextString(m) }
 func (*DeleteMetricDescriptorRequest) ProtoMessage()               {}
-func (*DeleteMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{7} }
+func (*DeleteMetricDescriptorRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{7} }
+
+func (m *DeleteMetricDescriptorRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 // The `ListTimeSeries` request.
 type ListTimeSeriesRequest struct {
@@ -265,7 +363,21 @@ type ListTimeSeriesRequest struct {
 func (m *ListTimeSeriesRequest) Reset()                    { *m = ListTimeSeriesRequest{} }
 func (m *ListTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*ListTimeSeriesRequest) ProtoMessage()               {}
-func (*ListTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{8} }
+func (*ListTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{8} }
+
+func (m *ListTimeSeriesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *ListTimeSeriesRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
 
 func (m *ListTimeSeriesRequest) GetInterval() *TimeInterval {
 	if m != nil {
@@ -281,6 +393,34 @@ func (m *ListTimeSeriesRequest) GetAggregation() *Aggregation {
 	return nil
 }
 
+func (m *ListTimeSeriesRequest) GetOrderBy() string {
+	if m != nil {
+		return m.OrderBy
+	}
+	return ""
+}
+
+func (m *ListTimeSeriesRequest) GetView() ListTimeSeriesRequest_TimeSeriesView {
+	if m != nil {
+		return m.View
+	}
+	return ListTimeSeriesRequest_FULL
+}
+
+func (m *ListTimeSeriesRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTimeSeriesRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // The `ListTimeSeries` response.
 type ListTimeSeriesResponse struct {
 	// One or more time series that match the filter included in the request.
@@ -294,7 +434,7 @@ type ListTimeSeriesResponse struct {
 func (m *ListTimeSeriesResponse) Reset()                    { *m = ListTimeSeriesResponse{} }
 func (m *ListTimeSeriesResponse) String() string            { return proto.CompactTextString(m) }
 func (*ListTimeSeriesResponse) ProtoMessage()               {}
-func (*ListTimeSeriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{9} }
+func (*ListTimeSeriesResponse) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{9} }
 
 func (m *ListTimeSeriesResponse) GetTimeSeries() []*TimeSeries {
 	if m != nil {
@@ -303,6 +443,13 @@ func (m *ListTimeSeriesResponse) GetTimeSeries() []*TimeSeries {
 	return nil
 }
 
+func (m *ListTimeSeriesResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // The `CreateTimeSeries` request.
 type CreateTimeSeriesRequest struct {
 	// The project on which to execute the request. The format is
@@ -319,7 +466,14 @@ type CreateTimeSeriesRequest struct {
 func (m *CreateTimeSeriesRequest) Reset()                    { *m = CreateTimeSeriesRequest{} }
 func (m *CreateTimeSeriesRequest) String() string            { return proto.CompactTextString(m) }
 func (*CreateTimeSeriesRequest) ProtoMessage()               {}
-func (*CreateTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{10} }
+func (*CreateTimeSeriesRequest) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{10} }
+
+func (m *CreateTimeSeriesRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *CreateTimeSeriesRequest) GetTimeSeries() []*TimeSeries {
 	if m != nil {
@@ -342,7 +496,7 @@ type CreateTimeSeriesError struct {
 func (m *CreateTimeSeriesError) Reset()                    { *m = CreateTimeSeriesError{} }
 func (m *CreateTimeSeriesError) String() string            { return proto.CompactTextString(m) }
 func (*CreateTimeSeriesError) ProtoMessage()               {}
-func (*CreateTimeSeriesError) Descriptor() ([]byte, []int) { return fileDescriptor6, []int{11} }
+func (*CreateTimeSeriesError) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{11} }
 
 func (m *CreateTimeSeriesError) GetTimeSeries() *TimeSeries {
 	if m != nil {
@@ -702,77 +856,74 @@ var _MetricService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto",
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/monitoring/v3/metric_service.proto", fileDescriptor6)
-}
-
-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,
+	Metadata: "google/monitoring/v3/metric_service.proto",
+}
+
+func init() { proto.RegisterFile("google/monitoring/v3/metric_service.proto", fileDescriptor4) }
+
+var fileDescriptor4 = []byte{
+	// 1001 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0x4f, 0x73, 0xdb, 0x44,
+	0x14, 0x67, 0x93, 0x34, 0x71, 0x9e, 0xa7, 0x21, 0xdd, 0xb6, 0xae, 0x51, 0x13, 0xc6, 0x15, 0x53,
+	0xe2, 0xba, 0x45, 0xea, 0xd8, 0x1d, 0x0e, 0x49, 0x9b, 0x99, 0xfc, 0xa3, 0x74, 0x08, 0x4c, 0x46,
+	0x2e, 0x3d, 0xf4, 0xe2, 0x51, 0x9c, 0x57, 0xcd, 0x82, 0xa5, 0x15, 0xab, 0xb5, 0x4b, 0xca, 0x84,
+	0x03, 0xcc, 0xe4, 0xc6, 0x81, 0x01, 0x66, 0xe0, 0x2b, 0x70, 0x80, 0xe1, 0x3b, 0xf0, 0x0d, 0x38,
+	0x73, 0xe3, 0x2b, 0x70, 0x67, 0xb4, 0x92, 0x63, 0x5b, 0x96, 0x64, 0x9b, 0x4b, 0x6f, 0x96, 0xf6,
+	0xfd, 0xf9, 0xbd, 0xdf, 0x7b, 0xfb, 0x7e, 0x32, 0xdc, 0x71, 0x38, 0x77, 0x3a, 0x68, 0xba, 0xdc,
+	0x63, 0x92, 0x0b, 0xe6, 0x39, 0x66, 0xaf, 0x61, 0xba, 0x28, 0x05, 0x6b, 0xb7, 0x02, 0x14, 0x3d,
+	0xd6, 0x46, 0xc3, 0x17, 0x5c, 0x72, 0x7a, 0x2d, 0x32, 0x35, 0x06, 0xa6, 0x46, 0xaf, 0xa1, 0xad,
+	0xc5, 0x01, 0x6c, 0x9f, 0x99, 0xb6, 0xe7, 0x71, 0x69, 0x4b, 0xc6, 0xbd, 0x20, 0xf2, 0xd1, 0x6e,
+	0x0c, 0x9d, 0x46, 0x41, 0xe3, 0x83, 0x77, 0x86, 0x0f, 0xa2, 0x80, 0x78, 0xd2, 0x12, 0x18, 0xf0,
+	0xae, 0xe8, 0x67, 0xd4, 0x6e, 0xa5, 0x82, 0x6b, 0x73, 0xd7, 0xe5, 0x5e, 0xae, 0xc9, 0x48, 0xaa,
+	0x9b, 0xb1, 0x89, 0x7a, 0x3a, 0xee, 0xbe, 0x30, 0xd1, 0xf5, 0xe5, 0x69, 0x02, 0xa0, 0xf0, 0xdb,
+	0x66, 0x20, 0x6d, 0xd9, 0x8d, 0x91, 0xeb, 0xdf, 0x13, 0xd8, 0x38, 0x64, 0x81, 0xfc, 0xb8, 0x0f,
+	0xce, 0x8a, 0xb1, 0xed, 0x63, 0xd0, 0x16, 0xcc, 0x97, 0x5c, 0x04, 0x16, 0x7e, 0xd1, 0xc5, 0x40,
+	0x52, 0x0a, 0x0b, 0x9e, 0xed, 0x62, 0xf9, 0x52, 0x85, 0x54, 0x97, 0x2d, 0xf5, 0x9b, 0x96, 0x60,
+	0xf1, 0x05, 0xeb, 0x48, 0x14, 0xe5, 0x39, 0xf5, 0x36, 0x7e, 0xa2, 0x37, 0x61, 0xd9, 0xb7, 0x1d,
+	0x6c, 0x05, 0xec, 0x15, 0x96, 0xe7, 0x2b, 0xa4, 0x7a, 0xc9, 0x2a, 0x84, 0x2f, 0x9a, 0xec, 0x15,
+	0xd2, 0x75, 0x00, 0x75, 0x28, 0xf9, 0xe7, 0xe8, 0x95, 0x17, 0x94, 0xa3, 0x32, 0x7f, 0x1a, 0xbe,
+	0xd0, 0x7f, 0x23, 0x50, 0x9d, 0x8c, 0x29, 0xf0, 0xb9, 0x17, 0x20, 0x7d, 0x0e, 0xd7, 0xfa, 0x74,
+	0xb6, 0x4e, 0x06, 0xe7, 0x65, 0x52, 0x99, 0xaf, 0x16, 0xeb, 0x1b, 0x46, 0xdc, 0x4d, 0xdb, 0x67,
+	0x46, 0x4e, 0x3c, 0xeb, 0xaa, 0x18, 0xcf, 0x41, 0xdf, 0x85, 0x37, 0x3d, 0xfc, 0x52, 0xb6, 0x86,
+	0xc0, 0x46, 0x55, 0x5e, 0x0e, 0x5f, 0x1f, 0x5d, 0x00, 0xde, 0x82, 0xdb, 0x8f, 0x31, 0x0f, 0x6e,
+	0x92, 0xc1, 0xf9, 0x01, 0x83, 0xfa, 0x39, 0x81, 0x35, 0x55, 0xad, 0x6a, 0xe6, 0x6b, 0xa4, 0xfd,
+	0x47, 0x02, 0xeb, 0x19, 0x40, 0x62, 0xae, 0x3f, 0x02, 0x1a, 0x5f, 0x99, 0x71, 0xa6, 0xd7, 0x46,
+	0x98, 0x4e, 0x84, 0xb0, 0xae, 0xb8, 0xc9, 0xa0, 0x53, 0x93, 0x7b, 0x1f, 0xb4, 0x90, 0xdc, 0x64,
+	0xc4, 0x1c, 0x46, 0xbf, 0x86, 0xf5, 0x3d, 0x81, 0xb6, 0xc4, 0x19, 0x9c, 0xe8, 0x13, 0xb8, 0x32,
+	0x56, 0x9b, 0x02, 0x34, 0xa9, 0xb4, 0xd5, 0x64, 0x69, 0x7a, 0x03, 0xd6, 0xf7, 0xb1, 0x83, 0x33,
+	0xe5, 0xd7, 0x7f, 0x9e, 0x87, 0xeb, 0x21, 0xfb, 0x4f, 0x99, 0x8b, 0x4d, 0x14, 0x0c, 0xc7, 0xfa,
+	0x0f, 0x53, 0xf4, 0x7f, 0x1b, 0x0a, 0xcc, 0x93, 0x28, 0x7a, 0x76, 0x47, 0x35, 0xb8, 0x58, 0xd7,
+	0x8d, 0xb4, 0x7d, 0x66, 0x84, 0x69, 0x9e, 0xc4, 0x96, 0xd6, 0x85, 0x0f, 0xdd, 0x83, 0xa2, 0xed,
+	0x38, 0x02, 0x1d, 0xb5, 0xde, 0xd4, 0xc8, 0x15, 0xeb, 0xb7, 0xd2, 0x43, 0xec, 0x0c, 0x0c, 0xad,
+	0x61, 0x2f, 0xfa, 0x16, 0x14, 0xb8, 0x38, 0x41, 0xd1, 0x3a, 0x3e, 0x2d, 0x2f, 0x2a, 0x78, 0x4b,
+	0xea, 0x79, 0xf7, 0x94, 0x7e, 0x02, 0x0b, 0x3d, 0x86, 0x2f, 0xcb, 0x4b, 0x15, 0x52, 0x5d, 0xa9,
+	0x6f, 0xa6, 0x07, 0x4e, 0xa5, 0xc1, 0x18, 0xbc, 0x79, 0xc6, 0xf0, 0xa5, 0xa5, 0xe2, 0x8c, 0xce,
+	0x7b, 0x21, 0x77, 0xde, 0x97, 0x93, 0xf3, 0xbe, 0x01, 0x2b, 0xa3, 0x31, 0x69, 0x01, 0x16, 0x3e,
+	0xf8, 0xf4, 0xf0, 0x70, 0xf5, 0x0d, 0x5a, 0x84, 0xa5, 0x0f, 0x0f, 0x76, 0xf6, 0x0f, 0xac, 0xe6,
+	0x2a, 0xd1, 0xbf, 0x25, 0x50, 0x4a, 0x62, 0x8a, 0x6f, 0xc4, 0x0e, 0x14, 0x25, 0x73, 0x31, 0x94,
+	0x10, 0x86, 0xfd, 0xab, 0x50, 0xc9, 0xa6, 0x3c, 0x76, 0x07, 0x79, 0xf1, 0x7b, 0xea, 0x7b, 0xe0,
+	0xc3, 0x8d, 0x68, 0xaa, 0xb3, 0x27, 0x64, 0x78, 0x9e, 0x13, 0xc8, 0xe6, 0x66, 0x47, 0x16, 0x6e,
+	0xa6, 0xeb, 0xc9, 0x94, 0x07, 0x42, 0x70, 0x31, 0x5e, 0x36, 0x99, 0xb9, 0xec, 0x1a, 0x2c, 0x46,
+	0x42, 0x14, 0x5f, 0x32, 0xda, 0xf7, 0x16, 0x7e, 0xdb, 0x68, 0xaa, 0x13, 0x2b, 0xb6, 0xa8, 0xff,
+	0x0b, 0x70, 0x39, 0xba, 0x4b, 0xcd, 0x48, 0xaa, 0xe9, 0xdf, 0x04, 0x2a, 0x93, 0x24, 0x82, 0x3e,
+	0xca, 0x1e, 0xaf, 0x29, 0xe4, 0x4e, 0xdb, 0xfe, 0xbf, 0xee, 0xd1, 0x6c, 0xe8, 0x9b, 0xdf, 0xfc,
+	0xf5, 0xcf, 0x0f, 0x73, 0x0f, 0x68, 0x3d, 0x94, 0xea, 0xaf, 0xc2, 0xa6, 0x3c, 0xf2, 0x05, 0xff,
+	0x0c, 0xdb, 0x32, 0x30, 0x6b, 0x67, 0x83, 0xcf, 0x81, 0x34, 0xe8, 0x7f, 0x12, 0x78, 0x3b, 0x5f,
+	0x52, 0xe8, 0x56, 0x3a, 0xbc, 0xa9, 0x84, 0x48, 0x9b, 0x56, 0x17, 0xf5, 0x87, 0xaa, 0x88, 0xf7,
+	0xe9, 0x83, 0xb4, 0x22, 0x72, 0x6b, 0x30, 0x6b, 0x67, 0xf4, 0x0f, 0x12, 0x2d, 0xb5, 0x31, 0x49,
+	0xa1, 0xf5, 0x1c, 0x72, 0x33, 0x84, 0x50, 0x6b, 0xcc, 0xe4, 0x13, 0x77, 0xc1, 0x54, 0x05, 0xdc,
+	0xa1, 0x1b, 0x19, 0x5d, 0x18, 0x43, 0xf6, 0x0b, 0x81, 0xab, 0x29, 0x82, 0x43, 0xef, 0x67, 0xf3,
+	0x9d, 0xbe, 0xe6, 0xb5, 0x5c, 0xdd, 0xd0, 0xeb, 0x0a, 0xd8, 0x3d, 0x5a, 0x4b, 0x67, 0x36, 0x89,
+	0xcb, 0xac, 0xd5, 0xce, 0xe8, 0xef, 0x04, 0x4a, 0xe9, 0xd2, 0x46, 0x33, 0xc8, 0xc9, 0x15, 0xc2,
+	0x09, 0x08, 0x77, 0x15, 0xc2, 0x87, 0xfa, 0xb4, 0xd4, 0x6d, 0x8e, 0x2b, 0x68, 0xc8, 0x66, 0x29,
+	0x5d, 0x0c, 0xb3, 0x10, 0xe7, 0x4a, 0xa7, 0x56, 0xea, 0x3b, 0xf5, 0x3f, 0x73, 0x8d, 0x83, 0xf0,
+	0x33, 0xb7, 0xcf, 0x66, 0x6d, 0x16, 0x36, 0x7f, 0x22, 0xb0, 0x32, 0xba, 0xd7, 0xe9, 0xdd, 0x19,
+	0x14, 0x49, 0xbb, 0x37, 0x9d, 0x71, 0x3c, 0x88, 0x55, 0x85, 0x50, 0xa7, 0x95, 0x74, 0x36, 0x87,
+	0x56, 0xe3, 0x39, 0x81, 0xd5, 0xe4, 0xde, 0xa5, 0xef, 0xe5, 0xf5, 0x77, 0x1c, 0x5b, 0x16, 0x4f,
+	0x77, 0x15, 0x8a, 0xdb, 0xfa, 0x44, 0x14, 0x9b, 0xa4, 0xb6, 0xfb, 0x1d, 0x81, 0x72, 0x9b, 0xbb,
+	0xa9, 0x99, 0x77, 0xe9, 0xc8, 0x46, 0x3e, 0x0a, 0xd3, 0x1c, 0x91, 0xe7, 0xdb, 0xb1, 0xad, 0xc3,
+	0x3b, 0xb6, 0xe7, 0x18, 0x5c, 0x38, 0xa6, 0x83, 0x9e, 0x02, 0x61, 0x46, 0x47, 0xb6, 0xcf, 0x82,
+	0xd1, 0xff, 0x31, 0x5b, 0x83, 0xa7, 0x5f, 0xe7, 0xb4, 0xc7, 0x51, 0x80, 0xbd, 0x0e, 0xef, 0x9e,
+	0xf4, 0x57, 0x53, 0x98, 0xf2, 0x59, 0xe3, 0x78, 0x51, 0xc5, 0x69, 0xfc, 0x17, 0x00, 0x00, 0xff,
+	0xff, 0x3c, 0x75, 0xce, 0xa1, 0xce, 0x0d, 0x00, 0x00,
 }
diff --git a/googleapis/monitoring/v3/metric_service.proto b/googleapis/monitoring/v3/metric_service.proto
deleted file mode 100644
index 03b5c5aa..00000000
--- a/googleapis/monitoring/v3/metric_service.proto
+++ /dev/null
@@ -1,284 +0,0 @@
-// 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.monitoring.v3;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.proto
-import "google.golang.org/genproto/googleapis/api/metric/metric.proto"; // from google/api/metric.proto
-import "google.golang.org/genproto/googleapis/api/monitoredres/monitored_resource.proto"; // from google/api/monitored_resource.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/common.proto"; // from google/monitoring/v3/common.proto
-import "google.golang.org/genproto/googleapis/monitoring/v3/metric.proto"; // from google/monitoring/v3/metric.proto
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.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 = "MetricServiceProto";
-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. 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. 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. 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. This method does not require a Stackdriver account.
-  rpc GetMetricDescriptor(GetMetricDescriptorRequest) returns (google.api.MetricDescriptor) {
-    option (google.api.http) = { get: "/v3/{name=projects/*/metricDescriptors/**}" };
-  }
-
-  // Creates a new metric descriptor.
-  // 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" };
-  }
-
-  // Deletes a metric descriptor. Only user-created
-  // [custom metrics](/monitoring/custom-metrics) can be deleted.
-  rpc DeleteMetricDescriptor(DeleteMetricDescriptorRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v3/{name=projects/*/metricDescriptors/**}" };
-  }
-
-  // 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" };
-  }
-
-  // Creates or adds data to one or more time series.
-  // The response is empty if all time series in the request were written.
-  // 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: "*" };
-  }
-}
-
-// The `ListMonitoredResourceDescriptors` request.
-message ListMonitoredResourceDescriptorsRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 5;
-
-  // An optional [filter](/monitoring/api/v3/filters) describing
-  // the descriptors to be returned.  The filter can reference
-  // the descriptor's type and labels. For example, the
-  // following filter returns only Google Compute Engine descriptors
-  // that have an `id` label:
-  //
-  //     resource.type = starts_with("gce_") AND resource.label:id
-  string filter = 2;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-}
-
-// The `ListMonitoredResourcDescriptors` response.
-message ListMonitoredResourceDescriptorsResponse {
-  // The monitored resource descriptors that are available to this project
-  // and that match `filter`, if present.
-  repeated google.api.MonitoredResourceDescriptor resource_descriptors = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetMonitoredResourceDescriptor` request.
-message GetMonitoredResourceDescriptorRequest {
-  // The monitored resource descriptor to get.  The format is
-  // `"projects/{project_id_or_number}/monitoredResourceDescriptors/{resource_type}"`.
-  // The `{resource_type}` is a predefined type, such as
-  // `cloudsql_database`.
-  string name = 3;
-}
-
-// The `ListMetricDescriptors` request.
-message ListMetricDescriptorsRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 5;
-
-  // If this field is empty, all custom and
-  // system-defined metric descriptors are returned.
-  // Otherwise, the [filter](/monitoring/api/v3/filters)
-  // specifies which metric descriptors are to be
-  // returned. For example, the following filter matches all
-  // [custom metrics](/monitoring/custom-metrics):
-  //
-  //     metric.type = starts_with("custom.googleapis.com/")
-  string filter = 2;
-
-  // A positive number that is the maximum number of results to return.
-  int32 page_size = 3;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 4;
-}
-
-// The `ListMetricDescriptors` response.
-message ListMetricDescriptorsResponse {
-  // The metric descriptors that are available to the project
-  // and that match the value of `filter`, if present.
-  repeated google.api.MetricDescriptor metric_descriptors = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `GetMetricDescriptor` request.
-message GetMetricDescriptorRequest {
-  // The metric descriptor on which to execute the request. The format is
-  // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`.
-  // An example value of `{metric_id}` is
-  // `"compute.googleapis.com/instance/disk/read_bytes_count"`.
-  string name = 3;
-}
-
-// The `CreateMetricDescriptor` request.
-message CreateMetricDescriptorRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 3;
-
-  // The new [custom metric](/monitoring/custom-metrics)
-  // descriptor.
-  google.api.MetricDescriptor metric_descriptor = 2;
-}
-
-// The `DeleteMetricDescriptor` request.
-message DeleteMetricDescriptorRequest {
-  // The metric descriptor on which to execute the request. The format is
-  // `"projects/{project_id_or_number}/metricDescriptors/{metric_id}"`.
-  // An example of `{metric_id}` is:
-  // `"custom.googleapis.com/my_test_metric"`.
-  string name = 3;
-}
-
-// The `ListTimeSeries` request.
-message ListTimeSeriesRequest {
-  // Controls which fields are returned by `ListTimeSeries`.
-  enum TimeSeriesView {
-    // Returns the identity of the metric(s), the time series,
-    // and the time series data.
-    FULL = 0;
-
-    // Returns the identity of the metric and the time series resource,
-    // but not the time series data.
-    HEADERS = 1;
-  }
-
-  // The project on which to execute the request. The format is
-  // "projects/{project_id_or_number}".
-  string name = 10;
-
-  // A [monitoring filter](/monitoring/api/v3/filters) that specifies which time
-  // series should be returned.  The filter must specify a single metric type,
-  // and can additionally specify metric labels and other information. For
-  // example:
-  //
-  //     metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
-  //         metric.label.instance_name = "my-instance-name"
-  string filter = 2;
-
-  // The time interval for which results should be returned. Only time series
-  // that contain data points in the specified interval are included
-  // in the response.
-  TimeInterval interval = 4;
-
-  // By default, the raw time series data is returned.
-  // Use this field to combine multiple time series for different
-  // views of the data.
-  Aggregation aggregation = 5;
-
-  // Specifies the order in which the points of the time series should
-  // be returned.  By default, results are not ordered.  Currently,
-  // this field must be left blank.
-  string order_by = 6;
-
-  // Specifies which information is returned about the time series.
-  TimeSeriesView view = 7;
-
-  // A positive number that is the maximum number of results to return.
-  // When `view` field sets to `FULL`, it limits the number of `Points` server
-  // will return; if `view` field is `HEADERS`, it limits the number of
-  // `TimeSeries` server will return.
-  int32 page_size = 8;
-
-  // If this field is not empty then it must contain the `nextPageToken` value
-  // returned by a previous call to this method.  Using this field causes the
-  // method to return additional results from the previous method call.
-  string page_token = 9;
-}
-
-// The `ListTimeSeries` response.
-message ListTimeSeriesResponse {
-  // One or more time series that match the filter included in the request.
-  repeated TimeSeries time_series = 1;
-
-  // If there are more results than have been returned, then this field is set
-  // to a non-empty value.  To see the additional results,
-  // use that value as `pageToken` in the next call to this method.
-  string next_page_token = 2;
-}
-
-// The `CreateTimeSeries` request.
-message CreateTimeSeriesRequest {
-  // The project on which to execute the request. The format is
-  // `"projects/{project_id_or_number}"`.
-  string name = 3;
-
-  // The new data to be added to a list of time series.
-  // Adds at most one data point to each of several time series.  The new data
-  // point must be more recent than any other point in its time series.  Each
-  // `TimeSeries` value must fully specify a unique time series by supplying
-  // all label values for the metric and the monitored resource.
-  repeated TimeSeries time_series = 2;
-}
-
-// Describes the result of a failed request to write data to a time series.
-message CreateTimeSeriesError {
-  // The time series, including the `Metric`, `MonitoredResource`,
-  // and `Point`s (including timestamp and value) that resulted
-  // in the error. This field provides all of the context that
-  // would be needed to retry the operation.
-  TimeSeries time_series = 1;
-
-  // The status of the requested write operation.
-  google.rpc.Status status = 2;
-}
diff --git a/googleapis/pubsub/v1/pubsub.pb.go b/googleapis/pubsub/v1/pubsub.pb.go
index 25962ee0..bdb62041 100644
--- a/googleapis/pubsub/v1/pubsub.pb.go
+++ b/googleapis/pubsub/v1/pubsub.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto
+// source: google/pubsub/v1/pubsub.proto
 // DO NOT EDIT!
 
 /*
-Package google_pubsub_v1 is a generated protocol buffer package.
+Package pubsub is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto
+	google/pubsub/v1/pubsub.proto
 
 It has these top-level messages:
 	Topic
@@ -31,13 +31,15 @@ It has these top-level messages:
 	PullResponse
 	ModifyAckDeadlineRequest
 	AcknowledgeRequest
+	StreamingPullRequest
+	StreamingPullResponse
 */
-package google_pubsub_v1 // import "google.golang.org/genproto/googleapis/pubsub/v1"
+package pubsub
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
 import google_protobuf2 "github.com/golang/protobuf/ptypes/timestamp"
 
@@ -73,11 +75,17 @@ func (m *Topic) String() string            { return proto.CompactTextString(m) }
 func (*Topic) ProtoMessage()               {}
 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Topic) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A message data and its attributes. The message payload must not be empty;
 // 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](https://tools.ietf.org/html/rfc4648).
+	// The message payload.
 	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"`
@@ -97,6 +105,13 @@ func (m *PubsubMessage) String() string            { return proto.CompactTextStr
 func (*PubsubMessage) ProtoMessage()               {}
 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *PubsubMessage) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 func (m *PubsubMessage) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -104,6 +119,13 @@ func (m *PubsubMessage) GetAttributes() map[string]string {
 	return nil
 }
 
+func (m *PubsubMessage) GetMessageId() string {
+	if m != nil {
+		return m.MessageId
+	}
+	return ""
+}
+
 func (m *PubsubMessage) GetPublishTime() *google_protobuf2.Timestamp {
 	if m != nil {
 		return m.PublishTime
@@ -114,6 +136,7 @@ func (m *PubsubMessage) GetPublishTime() *google_protobuf2.Timestamp {
 // Request for the GetTopic method.
 type GetTopicRequest struct {
 	// The name of the topic to get.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 }
 
@@ -122,9 +145,17 @@ func (m *GetTopicRequest) String() string            { return proto.CompactTextS
 func (*GetTopicRequest) ProtoMessage()               {}
 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // Request for the Publish method.
 type PublishRequest struct {
 	// The messages in the request will be published on this topic.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 	// The messages to publish.
 	Messages []*PubsubMessage `protobuf:"bytes,2,rep,name=messages" json:"messages,omitempty"`
@@ -135,6 +166,13 @@ func (m *PublishRequest) String() string            { return proto.CompactTextSt
 func (*PublishRequest) ProtoMessage()               {}
 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *PublishRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *PublishRequest) GetMessages() []*PubsubMessage {
 	if m != nil {
 		return m.Messages
@@ -155,9 +193,17 @@ func (m *PublishResponse) String() string            { return proto.CompactTextS
 func (*PublishResponse) ProtoMessage()               {}
 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *PublishResponse) GetMessageIds() []string {
+	if m != nil {
+		return m.MessageIds
+	}
+	return nil
+}
+
 // Request for the `ListTopics` method.
 type ListTopicsRequest struct {
 	// The name of the cloud project that topics belong to.
+	// Format is `projects/{project}`.
 	Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
 	// Maximum number of topics to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -172,6 +218,27 @@ func (m *ListTopicsRequest) String() string            { return proto.CompactTex
 func (*ListTopicsRequest) ProtoMessage()               {}
 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListTopicsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListTopicsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListTopics` method.
 type ListTopicsResponse struct {
 	// The resulting topics.
@@ -193,9 +260,17 @@ func (m *ListTopicsResponse) GetTopics() []*Topic {
 	return nil
 }
 
+func (m *ListTopicsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsRequest struct {
 	// The name of the topic that subscriptions are attached to.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 	// Maximum number of subscription names to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -210,6 +285,27 @@ func (m *ListTopicSubscriptionsRequest) String() string            { return prot
 func (*ListTopicSubscriptionsRequest) ProtoMessage()               {}
 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListTopicSubscriptionsRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListTopicSubscriptions` method.
 type ListTopicSubscriptionsResponse struct {
 	// The names of the subscriptions that match the request.
@@ -225,9 +321,24 @@ func (m *ListTopicSubscriptionsResponse) String() string            { return pro
 func (*ListTopicSubscriptionsResponse) ProtoMessage()               {}
 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
+	if m != nil {
+		return m.Subscriptions
+	}
+	return nil
+}
+
+func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the `DeleteTopic` method.
 type DeleteTopicRequest struct {
 	// Name of the topic to delete.
+	// Format is `projects/{project}/topics/{topic}`.
 	Topic string `protobuf:"bytes,1,opt,name=topic" json:"topic,omitempty"`
 }
 
@@ -236,6 +347,13 @@ func (m *DeleteTopicRequest) String() string            { return proto.CompactTe
 func (*DeleteTopicRequest) ProtoMessage()               {}
 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // A subscription resource.
 type Subscription struct {
 	// The name of the subscription. It must have the format
@@ -246,6 +364,7 @@ type Subscription struct {
 	// in length, and it must not start with `"goog"`.
 	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
 	// The name of the topic from which this subscription is receiving messages.
+	// Format is `projects/{project}/topics/{topic}`.
 	// The value of this field will be `_deleted-topic_` if the topic has been
 	// deleted.
 	Topic string `protobuf:"bytes,2,opt,name=topic" json:"topic,omitempty"`
@@ -263,15 +382,15 @@ type Subscription struct {
 	// deadline. To override this value for a given message, call
 	// `ModifyAckDeadline` with the corresponding `ack_id` if using
 	// pull.
+	// The minimum custom deadline you can specify is 10 seconds.
 	// The maximum custom deadline you can specify is 600 seconds (10 minutes).
+	// If this parameter is 0, a default value of 10 seconds is used.
 	//
 	// For push delivery, this value is also used to set the request timeout for
 	// the call to the push endpoint.
 	//
 	// If the subscriber never acknowledges the message, the Pub/Sub
 	// system will eventually redeliver the message.
-	//
-	// 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"`
 }
 
@@ -280,6 +399,20 @@ func (m *Subscription) String() string            { return proto.CompactTextStri
 func (*Subscription) ProtoMessage()               {}
 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Subscription) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Subscription) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *Subscription) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -287,6 +420,13 @@ func (m *Subscription) GetPushConfig() *PushConfig {
 	return nil
 }
 
+func (m *Subscription) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// A URL locating the endpoint to which messages should be pushed.
@@ -322,6 +462,13 @@ func (m *PushConfig) String() string            { return proto.CompactTextString
 func (*PushConfig) ProtoMessage()               {}
 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *PushConfig) GetPushEndpoint() string {
+	if m != nil {
+		return m.PushEndpoint
+	}
+	return ""
+}
+
 func (m *PushConfig) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -342,6 +489,13 @@ func (m *ReceivedMessage) String() string            { return proto.CompactTextS
 func (*ReceivedMessage) ProtoMessage()               {}
 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ReceivedMessage) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 	if m != nil {
 		return m.Message
@@ -352,6 +506,7 @@ func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 // Request for the GetSubscription method.
 type GetSubscriptionRequest struct {
 	// The name of the subscription to get.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 }
 
@@ -360,9 +515,17 @@ func (m *GetSubscriptionRequest) String() string            { return proto.Compa
 func (*GetSubscriptionRequest) ProtoMessage()               {}
 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *GetSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the `ListSubscriptions` method.
 type ListSubscriptionsRequest struct {
 	// The name of the cloud project that subscriptions belong to.
+	// Format is `projects/{project}`.
 	Project string `protobuf:"bytes,1,opt,name=project" json:"project,omitempty"`
 	// Maximum number of subscriptions to return.
 	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize" json:"page_size,omitempty"`
@@ -377,6 +540,27 @@ func (m *ListSubscriptionsRequest) String() string            { return proto.Com
 func (*ListSubscriptionsRequest) ProtoMessage()               {}
 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ListSubscriptionsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the `ListSubscriptions` method.
 type ListSubscriptionsResponse struct {
 	// The subscriptions that match the request.
@@ -399,9 +583,17 @@ func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
 	return nil
 }
 
+func (m *ListSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteSubscription method.
 type DeleteSubscriptionRequest struct {
 	// The subscription to delete.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 }
 
@@ -410,9 +602,17 @@ func (m *DeleteSubscriptionRequest) String() string            { return proto.Co
 func (*DeleteSubscriptionRequest) ProtoMessage()               {}
 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
 	// The name of the subscription.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// The push configuration for future deliveries.
 	//
@@ -428,6 +628,13 @@ func (m *ModifyPushConfigRequest) String() string            { return proto.Comp
 func (*ModifyPushConfigRequest) ProtoMessage()               {}
 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *ModifyPushConfigRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -438,12 +645,14 @@ func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 // Request for the `Pull` method.
 type PullRequest struct {
 	// The subscription from which messages should be pulled.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
-	// If this is specified as true the system will respond immediately even if
-	// it is not able to return a message in the `Pull` response. Otherwise the
-	// system is allowed to wait until at least one message is available rather
-	// than returning no messages. The client may cancel the request if it does
-	// not wish to wait any longer for the response.
+	// If this field set to true, the system will respond immediately even if
+	// it there are no messages available to return in the `Pull` response.
+	// Otherwise, the system may wait (for a bounded amount of time) until at
+	// least one message is available, rather than returning no messages. The
+	// client may cancel the request if it does not wish to wait any longer for
+	// the response.
 	ReturnImmediately bool `protobuf:"varint,2,opt,name=return_immediately,json=returnImmediately" json:"return_immediately,omitempty"`
 	// The maximum number of messages returned for this request. The Pub/Sub
 	// system may return fewer than the number specified.
@@ -455,6 +664,27 @@ func (m *PullRequest) String() string            { return proto.CompactTextStrin
 func (*PullRequest) ProtoMessage()               {}
 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *PullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *PullRequest) GetReturnImmediately() bool {
+	if m != nil {
+		return m.ReturnImmediately
+	}
+	return false
+}
+
+func (m *PullRequest) GetMaxMessages() int32 {
+	if m != nil {
+		return m.MaxMessages
+	}
+	return 0
+}
+
 // Response for the `Pull` method.
 type PullResponse struct {
 	// Received Pub/Sub messages. The Pub/Sub system will return zero messages if
@@ -479,14 +709,17 @@ func (m *PullResponse) GetReceivedMessages() []*ReceivedMessage {
 // Request for the ModifyAckDeadline method.
 type ModifyAckDeadlineRequest struct {
 	// The name of the subscription.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// List of acknowledgment IDs.
 	AckIds []string `protobuf:"bytes,4,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
 	// The new ack deadline with respect to the time this request was sent to
-	// the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new
+	// the Pub/Sub system. For example, if the value is 10, the new
 	// ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
 	// was made. Specifying zero may immediately make the message available for
 	// another pull request.
+	// The minimum deadline you can specify is 0 seconds.
+	// The maximum deadline you can specify is 600 seconds (10 minutes).
 	AckDeadlineSeconds int32 `protobuf:"varint,3,opt,name=ack_deadline_seconds,json=ackDeadlineSeconds" json:"ack_deadline_seconds,omitempty"`
 }
 
@@ -495,9 +728,31 @@ func (m *ModifyAckDeadlineRequest) String() string            { return proto.Com
 func (*ModifyAckDeadlineRequest) ProtoMessage()               {}
 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
 
+func (m *ModifyAckDeadlineRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// The subscription whose message is being acknowledged.
+	// Format is `projects/{project}/subscriptions/{sub}`.
 	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
 	// The acknowledgment ID for the messages being acknowledged that was returned
 	// by the Pub/Sub system in the `Pull` response. Must not be empty.
@@ -509,6 +764,119 @@ func (m *AcknowledgeRequest) String() string            { return proto.CompactTe
 func (*AcknowledgeRequest) ProtoMessage()               {}
 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *AcknowledgeRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *AcknowledgeRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+// Request for the `StreamingPull` streaming RPC method. This request is used to
+// establish the initial stream as well as to stream acknowledgements and ack
+// deadline modifications from the client to the server.
+type StreamingPullRequest struct {
+	// The subscription for which to initialize the new stream. This must be
+	// provided in the first request on the stream, and must not be set in
+	// subsequent requests from client to server.
+	// Format is `projects/{project}/subscriptions/{sub}`.
+	Subscription string `protobuf:"bytes,1,opt,name=subscription" json:"subscription,omitempty"`
+	// List of acknowledgement IDs for acknowledging previously received messages
+	// (received on this stream or a different stream). If an ack ID has expired,
+	// the corresponding message may be redelivered later. Acknowledging a message
+	// more than once will not result in an error. If the acknowledgement ID is
+	// malformed, the stream will be aborted with status `INVALID_ARGUMENT`.
+	AckIds []string `protobuf:"bytes,2,rep,name=ack_ids,json=ackIds" json:"ack_ids,omitempty"`
+	// The list of new ack deadlines for the IDs listed in
+	// `modify_deadline_ack_ids`. The size of this list must be the same as the
+	// size of `modify_deadline_ack_ids`. If it differs the stream will be aborted
+	// with `INVALID_ARGUMENT`. Each element in this list is applied to the
+	// element in the same position in `modify_deadline_ack_ids`. The new ack
+	// deadline is with respect to the time this request was sent to the Pub/Sub
+	// system. Must be >= 0. For example, if the value is 10, the new ack deadline
+	// will expire 10 seconds after this request is received. If the value is 0,
+	// the message is immediately made available for another streaming or
+	// non-streaming pull request. If the value is < 0 (an error), the stream will
+	// be aborted with status `INVALID_ARGUMENT`.
+	ModifyDeadlineSeconds []int32 `protobuf:"varint,3,rep,packed,name=modify_deadline_seconds,json=modifyDeadlineSeconds" json:"modify_deadline_seconds,omitempty"`
+	// List of acknowledgement IDs whose deadline will be modified based on the
+	// corresponding element in `modify_deadline_seconds`. This field can be used
+	// 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.
+	ModifyDeadlineAckIds []string `protobuf:"bytes,4,rep,name=modify_deadline_ack_ids,json=modifyDeadlineAckIds" json:"modify_deadline_ack_ids,omitempty"`
+	// The ack deadline to use for the stream. This must be provided in the
+	// first request on the stream, but it can also be updated on subsequent
+	// requests from client to server. The minimum deadline you can specify is 10
+	// seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
+	StreamAckDeadlineSeconds int32 `protobuf:"varint,5,opt,name=stream_ack_deadline_seconds,json=streamAckDeadlineSeconds" json:"stream_ack_deadline_seconds,omitempty"`
+}
+
+func (m *StreamingPullRequest) Reset()                    { *m = StreamingPullRequest{} }
+func (m *StreamingPullRequest) String() string            { return proto.CompactTextString(m) }
+func (*StreamingPullRequest) ProtoMessage()               {}
+func (*StreamingPullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
+
+func (m *StreamingPullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *StreamingPullRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetModifyDeadlineSeconds() []int32 {
+	if m != nil {
+		return m.ModifyDeadlineSeconds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetModifyDeadlineAckIds() []string {
+	if m != nil {
+		return m.ModifyDeadlineAckIds
+	}
+	return nil
+}
+
+func (m *StreamingPullRequest) GetStreamAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.StreamAckDeadlineSeconds
+	}
+	return 0
+}
+
+// Response for the `StreamingPull` method. This response is used to stream
+// messages from the server to the client.
+type StreamingPullResponse struct {
+	// Received Pub/Sub messages. This will not be empty.
+	ReceivedMessages []*ReceivedMessage `protobuf:"bytes,1,rep,name=received_messages,json=receivedMessages" json:"received_messages,omitempty"`
+}
+
+func (m *StreamingPullResponse) Reset()                    { *m = StreamingPullResponse{} }
+func (m *StreamingPullResponse) String() string            { return proto.CompactTextString(m) }
+func (*StreamingPullResponse) ProtoMessage()               {}
+func (*StreamingPullResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
+
+func (m *StreamingPullResponse) GetReceivedMessages() []*ReceivedMessage {
+	if m != nil {
+		return m.ReceivedMessages
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Topic)(nil), "google.pubsub.v1.Topic")
 	proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1.PubsubMessage")
@@ -532,6 +900,8 @@ func init() {
 	proto.RegisterType((*PullResponse)(nil), "google.pubsub.v1.PullResponse")
 	proto.RegisterType((*ModifyAckDeadlineRequest)(nil), "google.pubsub.v1.ModifyAckDeadlineRequest")
 	proto.RegisterType((*AcknowledgeRequest)(nil), "google.pubsub.v1.AcknowledgeRequest")
+	proto.RegisterType((*StreamingPullRequest)(nil), "google.pubsub.v1.StreamingPullRequest")
+	proto.RegisterType((*StreamingPullResponse)(nil), "google.pubsub.v1.StreamingPullResponse")
 }
 
 // Reference imports to suppress errors if they are not otherwise used.
@@ -550,18 +920,21 @@ type SubscriberClient interface {
 	// 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. Note that
-	// for REST API requests, you must specify a name.
+	// name for this subscription on the same project as the topic, conforming
+	// to the
+	// [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
+	// The generated name is populated in the returned Subscription object.
+	// Note that for REST API requests, you must specify a name in the request.
 	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)
 	// Lists matching subscriptions.
 	ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
-	// Deletes an existing subscription. All pending messages in the subscription
+	// Deletes an existing subscription. All messages retained in the subscription
 	// are immediately dropped. Calls to `Pull` after deletion will return
 	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
 	// the same name, but the new one has no association with the old
-	// subscription, or its topic unless the same topic is specified.
+	// subscription or its topic unless the same topic is specified.
 	DeleteSubscription(ctx context.Context, in *DeleteSubscriptionRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error)
 	// 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
@@ -582,6 +955,19 @@ type SubscriberClient interface {
 	// there are too many concurrent pull requests pending for the given
 	// subscription.
 	Pull(ctx context.Context, in *PullRequest, opts ...grpc.CallOption) (*PullResponse, error)
+	// (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
+	// respond with UNIMPLEMENTED errors unless you have been invited to test
+	// this feature. Contact cloud-pubsub@google.com with any questions.
+	//
+	// Establishes a stream with the server, which sends messages down to the
+	// client. The client streams acknowledgements and ack deadline modifications
+	// back to the server. The server will close the stream and return the status
+	// on any error. The server may close the stream with status `OK` to reassign
+	// server-side resources, in which case, the client should re-establish the
+	// stream. `UNAVAILABLE` may also be returned in the case of a transient error
+	// (e.g., a server restart). These should also be retried by the client. Flow
+	// control can be achieved by configuring the underlying RPC channel.
+	StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error)
 	// Modifies the `PushConfig` for a specified subscription.
 	//
 	// This may be used to change a push subscription to a pull one (signified by
@@ -662,6 +1048,37 @@ func (c *subscriberClient) Pull(ctx context.Context, in *PullRequest, opts ...gr
 	return out, nil
 }
 
+func (c *subscriberClient) StreamingPull(ctx context.Context, opts ...grpc.CallOption) (Subscriber_StreamingPullClient, error) {
+	stream, err := grpc.NewClientStream(ctx, &_Subscriber_serviceDesc.Streams[0], c.cc, "/google.pubsub.v1.Subscriber/StreamingPull", opts...)
+	if err != nil {
+		return nil, err
+	}
+	x := &subscriberStreamingPullClient{stream}
+	return x, nil
+}
+
+type Subscriber_StreamingPullClient interface {
+	Send(*StreamingPullRequest) error
+	Recv() (*StreamingPullResponse, error)
+	grpc.ClientStream
+}
+
+type subscriberStreamingPullClient struct {
+	grpc.ClientStream
+}
+
+func (x *subscriberStreamingPullClient) Send(m *StreamingPullRequest) error {
+	return x.ClientStream.SendMsg(m)
+}
+
+func (x *subscriberStreamingPullClient) Recv() (*StreamingPullResponse, error) {
+	m := new(StreamingPullResponse)
+	if err := x.ClientStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 func (c *subscriberClient) ModifyPushConfig(ctx context.Context, in *ModifyPushConfigRequest, opts ...grpc.CallOption) (*google_protobuf1.Empty, error) {
 	out := new(google_protobuf1.Empty)
 	err := grpc.Invoke(ctx, "/google.pubsub.v1.Subscriber/ModifyPushConfig", in, out, c.cc, opts...)
@@ -679,18 +1096,21 @@ type SubscriberServer interface {
 	// 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. Note that
-	// for REST API requests, you must specify a name.
+	// name for this subscription on the same project as the topic, conforming
+	// to the
+	// [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
+	// The generated name is populated in the returned Subscription object.
+	// Note that for REST API requests, you must specify a name in the request.
 	CreateSubscription(context.Context, *Subscription) (*Subscription, error)
 	// Gets the configuration details of a subscription.
 	GetSubscription(context.Context, *GetSubscriptionRequest) (*Subscription, error)
 	// Lists matching subscriptions.
 	ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
-	// Deletes an existing subscription. All pending messages in the subscription
+	// Deletes an existing subscription. All messages retained in the subscription
 	// are immediately dropped. Calls to `Pull` after deletion will return
 	// `NOT_FOUND`. After a subscription is deleted, a new one may be created with
 	// the same name, but the new one has no association with the old
-	// subscription, or its topic unless the same topic is specified.
+	// subscription or its topic unless the same topic is specified.
 	DeleteSubscription(context.Context, *DeleteSubscriptionRequest) (*google_protobuf1.Empty, error)
 	// 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
@@ -711,6 +1131,19 @@ type SubscriberServer interface {
 	// there are too many concurrent pull requests pending for the given
 	// subscription.
 	Pull(context.Context, *PullRequest) (*PullResponse, error)
+	// (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
+	// respond with UNIMPLEMENTED errors unless you have been invited to test
+	// this feature. Contact cloud-pubsub@google.com with any questions.
+	//
+	// Establishes a stream with the server, which sends messages down to the
+	// client. The client streams acknowledgements and ack deadline modifications
+	// back to the server. The server will close the stream and return the status
+	// on any error. The server may close the stream with status `OK` to reassign
+	// server-side resources, in which case, the client should re-establish the
+	// stream. `UNAVAILABLE` may also be returned in the case of a transient error
+	// (e.g., a server restart). These should also be retried by the client. Flow
+	// control can be achieved by configuring the underlying RPC channel.
+	StreamingPull(Subscriber_StreamingPullServer) error
 	// Modifies the `PushConfig` for a specified subscription.
 	//
 	// This may be used to change a push subscription to a pull one (signified by
@@ -850,6 +1283,32 @@ func _Subscriber_Pull_Handler(srv interface{}, ctx context.Context, dec func(int
 	return interceptor(ctx, in, info, handler)
 }
 
+func _Subscriber_StreamingPull_Handler(srv interface{}, stream grpc.ServerStream) error {
+	return srv.(SubscriberServer).StreamingPull(&subscriberStreamingPullServer{stream})
+}
+
+type Subscriber_StreamingPullServer interface {
+	Send(*StreamingPullResponse) error
+	Recv() (*StreamingPullRequest, error)
+	grpc.ServerStream
+}
+
+type subscriberStreamingPullServer struct {
+	grpc.ServerStream
+}
+
+func (x *subscriberStreamingPullServer) Send(m *StreamingPullResponse) error {
+	return x.ServerStream.SendMsg(m)
+}
+
+func (x *subscriberStreamingPullServer) Recv() (*StreamingPullRequest, error) {
+	m := new(StreamingPullRequest)
+	if err := x.ServerStream.RecvMsg(m); err != nil {
+		return nil, err
+	}
+	return m, nil
+}
+
 func _Subscriber_ModifyPushConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(ModifyPushConfigRequest)
 	if err := dec(in); err != nil {
@@ -905,8 +1364,15 @@ var _Subscriber_serviceDesc = grpc.ServiceDesc{
 			Handler:    _Subscriber_ModifyPushConfig_Handler,
 		},
 	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto",
+	Streams: []grpc.StreamDesc{
+		{
+			StreamName:    "StreamingPull",
+			Handler:       _Subscriber_StreamingPull_Handler,
+			ServerStreams: true,
+			ClientStreams: true,
+		},
+	},
+	Metadata: "google/pubsub/v1/pubsub.proto",
 }
 
 // Client API for Publisher service
@@ -1159,99 +1625,103 @@ var _Publisher_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto",
+	Metadata: "google/pubsub/v1/pubsub.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/pubsub/v1/pubsub.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/pubsub/v1/pubsub.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1369 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5b, 0x6f, 0x13, 0x47,
-	0x1b, 0xd6, 0x38, 0xe7, 0x77, 0x9d, 0x2f, 0xc9, 0x88, 0x0f, 0x8c, 0x29, 0x90, 0x2c, 0x14, 0x8c,
-	0x0b, 0x5e, 0x30, 0xaa, 0x5a, 0x02, 0x01, 0x01, 0x41, 0x28, 0x15, 0xb4, 0xa9, 0xe1, 0xba, 0xd6,
-	0x7a, 0x77, 0x70, 0x96, 0x78, 0x0f, 0xec, 0xcc, 0xa6, 0x31, 0x2d, 0x52, 0x45, 0xab, 0x4a, 0xbd,
-	0x2b, 0xed, 0x65, 0x7b, 0x51, 0xa9, 0x57, 0xbd, 0xed, 0x0f, 0xa8, 0xfa, 0x1f, 0xfa, 0x17, 0xfa,
-	0x23, 0x7a, 0x59, 0xcd, 0x61, 0xed, 0x5d, 0x7b, 0xd7, 0x87, 0xa0, 0xde, 0x58, 0xeb, 0x99, 0x77,
-	0xe6, 0x79, 0xde, 0xd3, 0x33, 0x33, 0x70, 0xab, 0xed, 0xfb, 0xed, 0x0e, 0xa9, 0xb5, 0xfd, 0x8e,
-	0xe9, 0xb5, 0x6b, 0x7e, 0xd8, 0x36, 0xda, 0xc4, 0x0b, 0x42, 0x9f, 0xf9, 0x86, 0x9c, 0x32, 0x03,
-	0x87, 0x1a, 0x41, 0xd4, 0xa2, 0x51, 0xcb, 0x38, 0xb8, 0xa6, 0xbe, 0x6a, 0xc2, 0x02, 0xaf, 0xaa,
-	0xd5, 0x6a, 0xf0, 0xe0, 0x5a, 0x79, 0x67, 0xb2, 0xfd, 0xcc, 0xc0, 0x31, 0x28, 0x09, 0x0f, 0x1c,
-	0x8b, 0x58, 0xbe, 0xf7, 0xcc, 0x69, 0x1b, 0xa6, 0xe7, 0xf9, 0xcc, 0x64, 0x8e, 0xef, 0x51, 0xb9,
-	0x79, 0xf9, 0x7a, 0xdb, 0x61, 0x7b, 0x51, 0xab, 0x66, 0xf9, 0xae, 0x21, 0xb7, 0x33, 0xc4, 0x44,
-	0x2b, 0x7a, 0x66, 0x04, 0xac, 0x1b, 0x10, 0x6a, 0x10, 0x37, 0x60, 0x5d, 0xf9, 0xab, 0x16, 0xdd,
-	0x1c, 0xbf, 0x88, 0x39, 0x2e, 0xa1, 0xcc, 0x74, 0x83, 0xfe, 0x97, 0x5c, 0xac, 0x9f, 0x82, 0xb9,
-	0xa7, 0x7e, 0xe0, 0x58, 0x18, 0xc3, 0xac, 0x67, 0xba, 0xa4, 0x84, 0xd6, 0x51, 0x65, 0xa9, 0x21,
-	0xbe, 0xf5, 0x37, 0x05, 0x58, 0xde, 0x15, 0x7e, 0x3e, 0x26, 0x94, 0x9a, 0x6d, 0xc2, 0xad, 0x6c,
-	0x93, 0x99, 0xc2, 0xaa, 0xd8, 0x10, 0xdf, 0xf8, 0x13, 0x00, 0x93, 0xb1, 0xd0, 0x69, 0x45, 0x8c,
-	0xd0, 0x52, 0x61, 0x7d, 0xa6, 0xa2, 0xd5, 0x8d, 0xda, 0x60, 0x98, 0x6a, 0xa9, 0x8d, 0x6a, 0x77,
-	0x7b, 0x2b, 0x1e, 0x78, 0x2c, 0xec, 0x36, 0x12, 0x5b, 0xe0, 0xd3, 0x00, 0xae, 0x34, 0x6b, 0x3a,
-	0x76, 0x69, 0x46, 0x10, 0x5a, 0x52, 0x23, 0x3b, 0x36, 0xde, 0x82, 0x62, 0x10, 0xb5, 0x3a, 0x0e,
-	0xdd, 0x6b, 0x72, 0x6f, 0x4a, 0xb3, 0xeb, 0xa8, 0xa2, 0xd5, 0xcb, 0x3d, 0x44, 0xe5, 0x7b, 0xed,
-	0x69, 0xec, 0x6a, 0x43, 0x53, 0xf6, 0x7c, 0xa4, 0xbc, 0x05, 0x2b, 0x03, 0xe0, 0x78, 0x15, 0x66,
-	0xf6, 0x49, 0x57, 0xb9, 0xce, 0x3f, 0xf1, 0x31, 0x98, 0x3b, 0x30, 0x3b, 0x11, 0x29, 0x15, 0xc4,
-	0x98, 0xfc, 0xb3, 0x59, 0xf8, 0x10, 0xe9, 0x17, 0x61, 0xe5, 0x21, 0x61, 0x22, 0x66, 0x0d, 0xf2,
-	0x22, 0x22, 0x94, 0x71, 0x63, 0xc6, 0xff, 0xab, 0x0d, 0xe4, 0x1f, 0xdd, 0x82, 0xff, 0xed, 0x4a,
-	0xd8, 0x91, 0x76, 0xf8, 0x26, 0x2c, 0x2a, 0xdf, 0xe2, 0xe0, 0x9d, 0x1d, 0x13, 0xbc, 0x46, 0x6f,
-	0x81, 0x5e, 0x87, 0x95, 0x1e, 0x08, 0x0d, 0x7c, 0x8f, 0x12, 0x7c, 0x16, 0xb4, 0x7e, 0xf4, 0x68,
-	0x09, 0xad, 0xcf, 0x54, 0x96, 0x1a, 0xd0, 0x0b, 0x1f, 0xd5, 0x1d, 0x58, 0x7b, 0xe4, 0x50, 0xe9,
-	0x02, 0x8d, 0xb9, 0x95, 0x60, 0x21, 0x08, 0xfd, 0xe7, 0xc4, 0x62, 0x8a, 0x5d, 0xfc, 0x17, 0x9f,
-	0x82, 0xa5, 0x80, 0x6f, 0x46, 0x9d, 0x97, 0x32, 0x1c, 0x73, 0x8d, 0x45, 0x3e, 0xf0, 0xc4, 0x79,
-	0x49, 0x78, 0xaa, 0xc4, 0x24, 0xf3, 0xf7, 0x89, 0x17, 0xa7, 0x8a, 0x8f, 0x3c, 0xe5, 0x03, 0xba,
-	0x0b, 0x38, 0x09, 0xa5, 0x18, 0x1a, 0x30, 0x2f, 0x5c, 0x97, 0xe4, 0xb4, 0xfa, 0x89, 0x61, 0x7f,
-	0x65, 0x7c, 0x95, 0x19, 0xbe, 0x00, 0x2b, 0x1e, 0x39, 0x64, 0xcd, 0x04, 0x94, 0xcc, 0xcb, 0x32,
-	0x1f, 0xde, 0xed, 0xc1, 0xbd, 0x80, 0xd3, 0x3d, 0xb8, 0x27, 0x51, 0x8b, 0x5a, 0xa1, 0x13, 0x88,
-	0xf6, 0x1a, 0x9d, 0x81, 0xb7, 0xf1, 0xd0, 0x83, 0x33, 0x79, 0x90, 0xca, 0xdb, 0xf3, 0xb0, 0x4c,
-	0x93, 0x13, 0x2a, 0x23, 0xe9, 0xc1, 0x89, 0x5d, 0xac, 0x02, 0xde, 0x26, 0x1d, 0xc2, 0xc8, 0x04,
-	0x15, 0xf8, 0x1b, 0x82, 0x62, 0x92, 0x53, 0x56, 0x8f, 0xf7, 0x97, 0x16, 0x92, 0x21, 0xd9, 0x02,
-	0x2d, 0x88, 0xe8, 0x5e, 0x53, 0x2a, 0x95, 0x6a, 0xb1, 0x77, 0xb2, 0xea, 0x92, 0xee, 0xdd, 0x17,
-	0x36, 0x0d, 0x08, 0x7a, 0xdf, 0xf8, 0x2a, 0x1c, 0x33, 0xad, 0xfd, 0xa6, 0x4d, 0x4c, 0xbb, 0xe3,
-	0x78, 0xa4, 0x49, 0xb9, 0xe4, 0xd9, 0xb4, 0x34, 0x27, 0x82, 0x8b, 0x4d, 0x6b, 0x7f, 0x5b, 0x4d,
-	0x3d, 0x91, 0x33, 0xfa, 0x1f, 0x08, 0xa0, 0xbf, 0x19, 0x3e, 0x07, 0xcb, 0x02, 0x9f, 0x78, 0x76,
-	0xe0, 0x3b, 0x5e, 0x5c, 0x94, 0x45, 0x3e, 0xf8, 0x40, 0x8d, 0xe1, 0x47, 0x19, 0xc2, 0x73, 0x79,
-	0x14, 0xc7, 0x51, 0xaa, 0xf3, 0xb6, 0xba, 0x60, 0xc1, 0x4a, 0x83, 0x58, 0xc4, 0x39, 0x20, 0x76,
-	0x2c, 0x96, 0xff, 0x87, 0x79, 0x1e, 0x05, 0xc7, 0x8e, 0xd3, 0x62, 0x5a, 0xfb, 0x3b, 0x36, 0xbe,
-	0x01, 0x0b, 0xaa, 0x1b, 0xc5, 0x2e, 0x13, 0xf4, 0x7b, 0x6c, 0xaf, 0xdf, 0x82, 0xe3, 0x0f, 0x09,
-	0x4b, 0xe6, 0x34, 0xae, 0x00, 0x1d, 0x8a, 0xc9, 0x82, 0x8a, 0xe3, 0x95, 0x1c, 0xd3, 0x03, 0x28,
-	0xf1, 0x5a, 0xcd, 0xec, 0x8c, 0xff, 0xa6, 0xff, 0xbf, 0x43, 0x70, 0x32, 0x03, 0x52, 0x75, 0xc6,
-	0x76, 0x56, 0x67, 0x68, 0xf5, 0x33, 0xc3, 0xe1, 0x48, 0x79, 0x7c, 0xc4, 0xce, 0xb9, 0x03, 0x27,
-	0x65, 0xe7, 0x1c, 0x35, 0x7c, 0x5f, 0xc2, 0x89, 0xc7, 0xbe, 0xed, 0x3c, 0xeb, 0x26, 0x8a, 0x7e,
-	0xf2, 0xe5, 0x83, 0x2d, 0x55, 0x98, 0xae, 0xa5, 0xf4, 0xaf, 0x11, 0x68, 0xbb, 0x51, 0xa7, 0x33,
-	0x0d, 0xe4, 0x15, 0xc0, 0x21, 0x61, 0x51, 0xe8, 0x35, 0x1d, 0xd7, 0x25, 0xb6, 0x63, 0x32, 0xd2,
-	0xe9, 0x0a, 0xe4, 0xc5, 0xc6, 0x9a, 0x9c, 0xd9, 0xe9, 0x4f, 0xe0, 0x0d, 0x28, 0xba, 0xe6, 0x61,
-	0xb3, 0x77, 0x1a, 0xcd, 0x88, 0x64, 0x6b, 0xae, 0x79, 0xf8, 0x38, 0x3e, 0x6f, 0x3e, 0x83, 0xa2,
-	0x24, 0xa1, 0x52, 0xf8, 0x31, 0xac, 0x85, 0xaa, 0xea, 0xfb, 0xeb, 0x64, 0x1a, 0x37, 0x86, 0x5d,
-	0x1b, 0x68, 0x90, 0xc6, 0x6a, 0x98, 0x1e, 0xa0, 0xbc, 0x60, 0x4a, 0x32, 0xc8, 0x77, 0xfb, 0x1a,
-	0x31, 0x8d, 0xcb, 0x27, 0x60, 0x41, 0xf6, 0x1c, 0x2d, 0xcd, 0x0a, 0x9d, 0x9d, 0x17, 0x4d, 0x47,
-	0x73, 0x25, 0x69, 0x26, 0x57, 0x92, 0x3e, 0x05, 0x7c, 0xd7, 0xda, 0xf7, 0xfc, 0xcf, 0x3b, 0xc4,
-	0x6e, 0x1f, 0x95, 0x44, 0x21, 0x49, 0xa2, 0xfe, 0xe7, 0x12, 0x80, 0x2a, 0xbf, 0x16, 0x09, 0xf1,
-	0xb7, 0x08, 0xf0, 0xfd, 0x90, 0x98, 0xe9, 0x9a, 0xc4, 0x63, 0x1a, 0xa0, 0x3c, 0x66, 0x5e, 0xbf,
-	0xfa, 0xfa, 0xaf, 0xbf, 0x7f, 0x2c, 0x54, 0xcb, 0xef, 0xf2, 0xcb, 0xeb, 0x17, 0x5c, 0xe5, 0xb7,
-	0x54, 0x33, 0x53, 0xa3, 0x6a, 0xa4, 0xba, 0xc7, 0xa8, 0xbe, 0xda, 0x44, 0x55, 0xfc, 0x03, 0x12,
-	0xb7, 0x9a, 0x14, 0x8b, 0xca, 0x30, 0x4a, 0xb6, 0xf6, 0x8c, 0xe5, 0xf3, 0xbe, 0xe0, 0x63, 0xe0,
-	0x2b, 0x82, 0x4f, 0x12, 0x7f, 0x14, 0x2f, 0xfc, 0x33, 0x92, 0x17, 0x95, 0x94, 0x78, 0xe0, 0xea,
-	0x30, 0x58, 0x9e, 0xa8, 0x95, 0xdf, 0x9b, 0xc8, 0x56, 0x96, 0xb2, 0x5e, 0x13, 0x2c, 0x2b, 0xf8,
-	0x82, 0x60, 0xa9, 0x88, 0x25, 0x08, 0xbe, 0x4a, 0x33, 0xc4, 0xdf, 0xa3, 0xf8, 0x28, 0x4e, 0x85,
-	0x2d, 0x03, 0x33, 0x57, 0x76, 0xca, 0xc7, 0x87, 0x2e, 0xad, 0x0f, 0xf8, 0xc5, 0x3e, 0x8e, 0x58,
-	0x75, 0xca, 0x88, 0xfd, 0x8a, 0x60, 0x6d, 0xa8, 0x7b, 0xb2, 0x22, 0x96, 0xd7, 0x62, 0xb9, 0x84,
-	0x3e, 0x12, 0x84, 0xb6, 0xf5, 0x3b, 0x53, 0x11, 0xda, 0x74, 0x07, 0x71, 0x78, 0xb1, 0xbd, 0x41,
-	0xa0, 0x25, 0x1a, 0x0b, 0x9f, 0x1f, 0xe6, 0x37, 0xdc, 0x77, 0xb9, 0xcc, 0xb6, 0x05, 0xb3, 0xdb,
-	0xfa, 0x8d, 0xe9, 0x98, 0x99, 0x7d, 0x04, 0xce, 0xe9, 0x1b, 0x04, 0xb3, 0x5c, 0xd8, 0xf0, 0xe9,
-	0x2c, 0x41, 0xee, 0xa9, 0x6e, 0x56, 0xa9, 0x27, 0xf5, 0x50, 0xdf, 0x12, 0x6c, 0x3e, 0xd0, 0xeb,
-	0xd3, 0xb1, 0x09, 0xa2, 0x4e, 0x87, 0xd3, 0xf8, 0x05, 0xc1, 0xea, 0xe0, 0x19, 0x83, 0x2f, 0xe5,
-	0xe5, 0x6f, 0xe8, 0x1c, 0xca, 0x0d, 0xd2, 0x8e, 0xa0, 0x75, 0x5f, 0xbf, 0x7d, 0x94, 0xf4, 0xf5,
-	0x61, 0x36, 0x51, 0xb5, 0xfe, 0xd3, 0x3c, 0x2c, 0xa9, 0x27, 0x07, 0x09, 0xf1, 0x73, 0xd0, 0xa4,
-	0x80, 0xc9, 0x47, 0x64, 0xde, 0x4d, 0xbe, 0x9c, 0x37, 0xa1, 0x5f, 0x12, 0xcc, 0xce, 0x95, 0xcf,
-	0x64, 0x6a, 0x95, 0xbc, 0xff, 0x2b, 0x91, 0x7a, 0x8d, 0x60, 0x41, 0x21, 0xe3, 0xf5, 0xcc, 0x2b,
-	0x53, 0xe2, 0xb1, 0x55, 0xde, 0x18, 0x61, 0xa1, 0x92, 0x55, 0x17, 0xd8, 0x97, 0xf5, 0x8b, 0x02,
-	0x5b, 0x60, 0x65, 0x83, 0xab, 0xe7, 0x23, 0x27, 0xe1, 0xc3, 0x62, 0xfc, 0xfc, 0xc3, 0x1b, 0x99,
-	0x0a, 0x99, 0xbc, 0x98, 0xe7, 0xfb, 0x7d, 0x51, 0x60, 0x6f, 0xe0, 0xb3, 0x63, 0xb0, 0xf1, 0x57,
-	0x08, 0xa0, 0xff, 0x86, 0xc2, 0xe7, 0xb2, 0x25, 0x2d, 0xf5, 0x98, 0x2b, 0x9f, 0x1f, 0x6d, 0xa4,
-	0xdc, 0x4f, 0x53, 0xc8, 0x12, 0x3c, 0xf5, 0xfc, 0xfa, 0x1d, 0xc1, 0xf1, 0xec, 0x47, 0x0e, 0x36,
-	0x46, 0x20, 0x65, 0x4a, 0xf2, 0xd5, 0xc9, 0x17, 0x28, 0x9a, 0xe9, 0xd3, 0x23, 0x3f, 0x52, 0x03,
-	0xf2, 0xcc, 0x40, 0x4b, 0x3c, 0x94, 0xb2, 0x44, 0x66, 0xf8, 0x1d, 0x95, 0xdb, 0x3f, 0x2a, 0x54,
-	0xd5, 0x71, 0xd9, 0xba, 0x57, 0x81, 0x63, 0x96, 0xef, 0x0e, 0x61, 0xdd, 0xd3, 0xe4, 0x85, 0x7e,
-	0x97, 0x6f, 0xbb, 0x8b, 0xfe, 0x41, 0xa8, 0x35, 0x2f, 0x20, 0xae, 0xff, 0x1b, 0x00, 0x00, 0xff,
-	0xff, 0x87, 0x6f, 0x33, 0xa9, 0x8e, 0x12, 0x00, 0x00,
+	// 1466 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0x5d, 0x6f, 0x1b, 0x45,
+	0x17, 0xd6, 0xd8, 0xf9, 0x3c, 0x76, 0xde, 0x24, 0xa3, 0x34, 0x71, 0x9d, 0xa6, 0x49, 0xb6, 0x7d,
+	0x1b, 0xd7, 0xb4, 0x76, 0x6a, 0xd4, 0x42, 0x53, 0xd2, 0x2a, 0x4d, 0xaa, 0x2a, 0xa8, 0x85, 0xe0,
+	0x54, 0x5c, 0x70, 0x81, 0xb5, 0xf6, 0x4e, 0xdd, 0x6d, 0xf6, 0xab, 0x3b, 0xbb, 0x21, 0x29, 0x54,
+	0x82, 0x82, 0x90, 0xb8, 0xa3, 0x70, 0x09, 0x17, 0x48, 0x48, 0x48, 0x70, 0xc9, 0x0f, 0xe0, 0x4f,
+	0xf0, 0x17, 0xf8, 0x11, 0x5c, 0xa2, 0xf9, 0x58, 0x7b, 0xd7, 0xbb, 0x6b, 0xc7, 0xa9, 0x7a, 0xb7,
+	0x3b, 0x73, 0x66, 0x9e, 0xe7, 0x9c, 0x39, 0xe7, 0xd9, 0x39, 0x0b, 0x4b, 0x6d, 0xdb, 0x6e, 0x1b,
+	0xa4, 0xea, 0xf8, 0x4d, 0xea, 0x37, 0xab, 0x87, 0xd7, 0xe4, 0x53, 0xc5, 0x71, 0x6d, 0xcf, 0xc6,
+	0x33, 0x62, 0xba, 0x22, 0x07, 0x0f, 0xaf, 0x15, 0xcf, 0xc9, 0x05, 0xaa, 0xa3, 0x57, 0x55, 0xcb,
+	0xb2, 0x3d, 0xd5, 0xd3, 0x6d, 0x8b, 0x0a, 0xfb, 0xe2, 0x62, 0xb0, 0x1d, 0x7b, 0x6b, 0xfa, 0x8f,
+	0xab, 0xc4, 0x74, 0xbc, 0x63, 0x39, 0xb9, 0xdc, 0x3b, 0xe9, 0xe9, 0x26, 0xa1, 0x9e, 0x6a, 0x3a,
+	0xc2, 0x40, 0x59, 0x84, 0xd1, 0x47, 0xb6, 0xa3, 0xb7, 0x30, 0x86, 0x11, 0x4b, 0x35, 0x49, 0x01,
+	0xad, 0xa0, 0xd2, 0x64, 0x9d, 0x3f, 0x2b, 0xaf, 0x32, 0x30, 0xb5, 0xc7, 0x69, 0x3c, 0x24, 0x94,
+	0xaa, 0x6d, 0xc2, 0xac, 0x34, 0xd5, 0x53, 0xb9, 0x55, 0xbe, 0xce, 0x9f, 0xf1, 0x87, 0x00, 0xaa,
+	0xe7, 0xb9, 0x7a, 0xd3, 0xf7, 0x08, 0x2d, 0x64, 0x56, 0xb2, 0xa5, 0x5c, 0xad, 0x5a, 0xe9, 0xf5,
+	0xa2, 0x12, 0xd9, 0xa8, 0xb2, 0xd5, 0x59, 0x71, 0xcf, 0xf2, 0xdc, 0xe3, 0x7a, 0x68, 0x0b, 0xbc,
+	0x04, 0x60, 0x0a, 0xb3, 0x86, 0xae, 0x15, 0xb2, 0x9c, 0xd0, 0xa4, 0x1c, 0xd9, 0xd5, 0xf0, 0x26,
+	0xe4, 0x1d, 0xbf, 0x69, 0xe8, 0xf4, 0x49, 0x83, 0x79, 0x53, 0x18, 0x59, 0x41, 0xa5, 0x5c, 0xad,
+	0xd8, 0x41, 0x94, 0xae, 0x56, 0x1e, 0x05, 0xae, 0xd6, 0x73, 0xd2, 0x9e, 0x8d, 0x14, 0x37, 0x61,
+	0xba, 0x07, 0x1c, 0xcf, 0x40, 0xf6, 0x80, 0x1c, 0x4b, 0xd7, 0xd9, 0x23, 0x9e, 0x83, 0xd1, 0x43,
+	0xd5, 0xf0, 0x49, 0x21, 0xc3, 0xc7, 0xc4, 0xcb, 0x46, 0xe6, 0x5d, 0xa4, 0xac, 0xc1, 0xf4, 0x7d,
+	0xe2, 0xf1, 0x98, 0xd5, 0xc9, 0x33, 0x9f, 0x50, 0x8f, 0x19, 0x7b, 0xec, 0x5d, 0x6e, 0x20, 0x5e,
+	0x94, 0x16, 0xfc, 0x6f, 0x4f, 0xc0, 0xf6, 0xb5, 0xc3, 0xb7, 0x60, 0x42, 0xfa, 0x16, 0x04, 0x6f,
+	0x79, 0x40, 0xf0, 0xea, 0x9d, 0x05, 0x4a, 0x0d, 0xa6, 0x3b, 0x20, 0xd4, 0xb1, 0x2d, 0x4a, 0xf0,
+	0x32, 0xe4, 0xba, 0xd1, 0xa3, 0x05, 0xb4, 0x92, 0x2d, 0x4d, 0xd6, 0xa1, 0x13, 0x3e, 0xaa, 0xe8,
+	0x30, 0xfb, 0x40, 0xa7, 0xc2, 0x05, 0x1a, 0x70, 0x2b, 0xc0, 0xb8, 0xe3, 0xda, 0x4f, 0x49, 0xcb,
+	0x93, 0xec, 0x82, 0x57, 0xbc, 0x08, 0x93, 0x0e, 0xdb, 0x8c, 0xea, 0xcf, 0x45, 0x38, 0x46, 0xeb,
+	0x13, 0x6c, 0x60, 0x5f, 0x7f, 0x4e, 0xd8, 0x51, 0xf1, 0x49, 0xcf, 0x3e, 0x20, 0x56, 0x70, 0x54,
+	0x6c, 0xe4, 0x11, 0x1b, 0x50, 0x4c, 0xc0, 0x61, 0x28, 0xc9, 0xb0, 0x0a, 0x63, 0xdc, 0x75, 0x41,
+	0x2e, 0x57, 0x5b, 0x88, 0xfb, 0x2b, 0xe2, 0x2b, 0xcd, 0xf0, 0x25, 0x98, 0xb6, 0xc8, 0x91, 0xd7,
+	0x08, 0x41, 0x89, 0x73, 0x99, 0x62, 0xc3, 0x7b, 0x1d, 0xb8, 0x67, 0xb0, 0xd4, 0x81, 0xdb, 0xf7,
+	0x9b, 0xb4, 0xe5, 0xea, 0x0e, 0x2f, 0x95, 0xfe, 0x27, 0xf0, 0x3a, 0x1e, 0x5a, 0x70, 0x3e, 0x0d,
+	0x52, 0x7a, 0x7b, 0x11, 0xa6, 0x68, 0x78, 0x42, 0x9e, 0x48, 0x74, 0xf0, 0xc4, 0x2e, 0x96, 0x01,
+	0xef, 0x10, 0x83, 0x78, 0xe4, 0x04, 0x19, 0xf8, 0x3b, 0x82, 0x7c, 0x98, 0x53, 0x52, 0x8d, 0x77,
+	0x97, 0x66, 0xc2, 0x21, 0xd9, 0x84, 0x9c, 0xe3, 0xd3, 0x27, 0x8d, 0x96, 0x6d, 0x3d, 0xd6, 0xdb,
+	0xb2, 0xc4, 0xce, 0x25, 0xe5, 0x25, 0x7d, 0xb2, 0xcd, 0x6d, 0xea, 0xe0, 0x74, 0x9e, 0xf1, 0x3a,
+	0xcc, 0xa9, 0xad, 0x83, 0x86, 0x46, 0x54, 0xcd, 0xd0, 0x2d, 0xd2, 0xa0, 0xa4, 0x65, 0x5b, 0x1a,
+	0x2d, 0x8c, 0xf2, 0xe0, 0x62, 0xb5, 0x75, 0xb0, 0x23, 0xa7, 0xf6, 0xc5, 0x8c, 0xf2, 0x17, 0x02,
+	0xe8, 0x6e, 0x86, 0x2f, 0xc0, 0x14, 0xc7, 0x27, 0x96, 0xe6, 0xd8, 0xba, 0x15, 0x24, 0x65, 0x9e,
+	0x0d, 0xde, 0x93, 0x63, 0xf8, 0x41, 0x82, 0xf0, 0x5c, 0xe9, 0xc7, 0xb1, 0x9f, 0xea, 0xbc, 0xae,
+	0x2e, 0xb4, 0x60, 0xba, 0x4e, 0x5a, 0x44, 0x3f, 0x24, 0x5a, 0x20, 0x96, 0x67, 0x60, 0x8c, 0x45,
+	0x41, 0xd7, 0x82, 0x63, 0x51, 0x5b, 0x07, 0xbb, 0x1a, 0xbe, 0x09, 0xe3, 0xb2, 0x1a, 0xf9, 0x2e,
+	0x27, 0xa8, 0xf7, 0xc0, 0x5e, 0x79, 0x0f, 0xe6, 0xef, 0x13, 0x2f, 0x7c, 0xa6, 0x41, 0x06, 0x28,
+	0x90, 0x0f, 0x27, 0x54, 0x10, 0xaf, 0xf0, 0x98, 0xe2, 0x40, 0x81, 0xe5, 0x6a, 0x62, 0x65, 0xbc,
+	0x99, 0xfa, 0xff, 0x0e, 0xc1, 0xd9, 0x04, 0x48, 0x59, 0x19, 0x3b, 0x49, 0x95, 0x91, 0xab, 0x9d,
+	0x8f, 0x87, 0x23, 0xe2, 0xf1, 0x29, 0x2b, 0xe7, 0x0e, 0x9c, 0x15, 0x95, 0x73, 0xda, 0xf0, 0x7d,
+	0x01, 0x0b, 0x0f, 0x6d, 0x4d, 0x7f, 0x7c, 0x1c, 0x4a, 0xfa, 0x93, 0x2f, 0xef, 0x2d, 0xa9, 0xcc,
+	0x70, 0x25, 0xa5, 0x7c, 0x8d, 0x20, 0xb7, 0xe7, 0x1b, 0xc6, 0x30, 0x90, 0x57, 0x01, 0xbb, 0xc4,
+	0xf3, 0x5d, 0xab, 0xa1, 0x9b, 0x26, 0xd1, 0x74, 0xd5, 0x23, 0xc6, 0x31, 0x47, 0x9e, 0xa8, 0xcf,
+	0x8a, 0x99, 0xdd, 0xee, 0x04, 0x5e, 0x85, 0xbc, 0xa9, 0x1e, 0x35, 0x3a, 0x5f, 0xa3, 0x2c, 0x3f,
+	0xec, 0x9c, 0xa9, 0x1e, 0x3d, 0x0c, 0xbe, 0x37, 0x9f, 0x42, 0x5e, 0x90, 0x90, 0x47, 0xf8, 0x01,
+	0xcc, 0xba, 0x32, 0xeb, 0xbb, 0xeb, 0xc4, 0x31, 0xae, 0xc6, 0x5d, 0xeb, 0x29, 0x90, 0xfa, 0x8c,
+	0x1b, 0x1d, 0xa0, 0x2c, 0x61, 0x0a, 0x22, 0xc8, 0x5b, 0x5d, 0x8d, 0x18, 0xc6, 0xe5, 0x05, 0x18,
+	0x17, 0x35, 0x47, 0x0b, 0x23, 0x5c, 0x67, 0xc7, 0x78, 0xd1, 0xd1, 0x54, 0x49, 0xca, 0xa6, 0x4a,
+	0xd2, 0x47, 0x80, 0xb7, 0x5a, 0x07, 0x96, 0xfd, 0x99, 0x41, 0xb4, 0xf6, 0x69, 0x49, 0x64, 0xc2,
+	0x24, 0x94, 0xaf, 0x32, 0x30, 0xb7, 0xef, 0xb9, 0x44, 0x35, 0x75, 0xab, 0x3d, 0xec, 0x69, 0xa6,
+	0xed, 0x8a, 0x6f, 0xc0, 0x82, 0xc9, 0x63, 0x96, 0xe4, 0x5d, 0xb6, 0x34, 0x5a, 0x3f, 0x23, 0xa6,
+	0x7b, 0x1c, 0xc4, 0xd7, 0xe3, 0xeb, 0xa2, 0xb1, 0x9b, 0x8b, 0xae, 0xdb, 0x12, 0x70, 0x9b, 0xb0,
+	0x48, 0xb9, 0x0f, 0x8d, 0x3e, 0x1a, 0x5f, 0x10, 0x26, 0x5b, 0xf1, 0xb0, 0xb6, 0xe1, 0x4c, 0x4f,
+	0x08, 0xde, 0x4c, 0x2e, 0xd5, 0x7e, 0x03, 0x00, 0x59, 0xeb, 0x4d, 0xe2, 0xe2, 0x6f, 0x11, 0xe0,
+	0x6d, 0x97, 0xa8, 0x51, 0x01, 0xc0, 0x03, 0xd4, 0xa6, 0x38, 0x60, 0x5e, 0x59, 0x7f, 0xf9, 0xf7,
+	0x3f, 0x3f, 0x66, 0xca, 0xc5, 0xff, 0xb3, 0x8b, 0xfc, 0xe7, 0xec, 0x93, 0xba, 0x29, 0x95, 0x93,
+	0x56, 0xcb, 0xd5, 0x88, 0x54, 0x55, 0xcb, 0x2f, 0x36, 0x50, 0x19, 0xff, 0x80, 0xf8, 0x15, 0x32,
+	0xc2, 0xa2, 0x14, 0x47, 0x49, 0x16, 0xfa, 0x81, 0x7c, 0xae, 0x73, 0x3e, 0x55, 0x7c, 0x95, 0xf3,
+	0x09, 0xe3, 0xf7, 0xe3, 0x85, 0x7f, 0x46, 0xe2, 0x56, 0x18, 0x51, 0x6a, 0x5c, 0x8e, 0x83, 0xa5,
+	0x7d, 0x41, 0x8a, 0x6f, 0x9d, 0xc8, 0x56, 0x9c, 0xb5, 0x52, 0xe1, 0x2c, 0x4b, 0xf8, 0x12, 0x67,
+	0x29, 0x89, 0x85, 0x08, 0xbe, 0x88, 0x32, 0xc4, 0xdf, 0xa3, 0xe0, 0xde, 0x13, 0x09, 0x5b, 0x02,
+	0x66, 0xaa, 0xc6, 0x17, 0xe7, 0x63, 0x1d, 0xc2, 0x3d, 0xd6, 0x29, 0x05, 0x11, 0x2b, 0x0f, 0x19,
+	0xb1, 0x5f, 0x11, 0xcc, 0xc6, 0xa4, 0x2a, 0x29, 0x62, 0x69, 0x7a, 0x96, 0x4a, 0xe8, 0x7d, 0x4e,
+	0x68, 0x47, 0xb9, 0x33, 0x14, 0xa1, 0x0d, 0xb3, 0x17, 0x87, 0x25, 0xdb, 0x2b, 0x04, 0xb9, 0x90,
+	0x8a, 0xe1, 0x8b, 0x71, 0x7e, 0x71, 0x91, 0x4b, 0x65, 0xb6, 0xc3, 0x99, 0xdd, 0x56, 0x6e, 0x0e,
+	0xc7, 0x4c, 0xed, 0x22, 0x30, 0x4e, 0xdf, 0x20, 0x18, 0x61, 0x95, 0x8f, 0x97, 0x92, 0xbe, 0x7e,
+	0x1d, 0x51, 0x4c, 0x4a, 0xf5, 0xb0, 0x60, 0x28, 0x9b, 0x9c, 0xcd, 0x3b, 0x4a, 0x6d, 0x38, 0x36,
+	0x8e, 0x6f, 0x18, 0x8c, 0x86, 0x06, 0x53, 0x11, 0x21, 0xc2, 0x97, 0x12, 0x4a, 0x2b, 0x41, 0xac,
+	0x8b, 0x6b, 0x03, 0xed, 0x04, 0xc1, 0x12, 0x5a, 0x47, 0xf8, 0x17, 0x04, 0x33, 0xbd, 0xd7, 0x06,
+	0x7c, 0x39, 0x2d, 0x4b, 0x62, 0x57, 0x8b, 0xd4, 0xa3, 0xd8, 0xe5, 0xce, 0x6f, 0x2b, 0xb7, 0x4f,
+	0x93, 0x24, 0x5d, 0x98, 0x0d, 0x54, 0xae, 0xfd, 0x34, 0x06, 0x93, 0xb2, 0x8b, 0x24, 0x2e, 0x7e,
+	0x0a, 0x39, 0x21, 0x93, 0xe2, 0xbf, 0x40, 0x5a, 0x73, 0x56, 0x4c, 0x9b, 0x50, 0x2e, 0x73, 0x66,
+	0x17, 0x8a, 0xe7, 0x13, 0x15, 0x51, 0xb4, 0x74, 0x52, 0x0a, 0x5f, 0x22, 0x18, 0x97, 0xc8, 0x78,
+	0x25, 0xf1, 0x16, 0x1c, 0xea, 0x9f, 0x8b, 0xab, 0x7d, 0x2c, 0x64, 0x4a, 0xd4, 0x38, 0xf6, 0x15,
+	0x65, 0x8d, 0x63, 0x73, 0xac, 0x64, 0x70, 0xf9, 0x47, 0x80, 0x91, 0xb0, 0x61, 0x22, 0xe8, 0xe8,
+	0xf1, 0x6a, 0xa2, 0x0e, 0x87, 0x7b, 0xad, 0x74, 0xbf, 0xd7, 0x38, 0xf6, 0x2a, 0x5e, 0x1e, 0x80,
+	0x8d, 0xbf, 0x44, 0x00, 0xdd, 0xb6, 0x18, 0x5f, 0x48, 0x16, 0xce, 0x48, 0x7f, 0x5e, 0xbc, 0xd8,
+	0xdf, 0x48, 0xba, 0x1f, 0xa5, 0x90, 0x24, 0xab, 0xb2, 0xa3, 0xfe, 0x13, 0xc1, 0x7c, 0x72, 0xdf,
+	0x8a, 0xab, 0x7d, 0x90, 0x12, 0x85, 0x7f, 0xfd, 0xe4, 0x0b, 0x24, 0xcd, 0xe8, 0x37, 0x2a, 0x3d,
+	0x52, 0x3d, 0x1f, 0x01, 0x0f, 0x72, 0xa1, 0xde, 0x37, 0x49, 0xca, 0xe2, 0xad, 0x71, 0x6a, 0xfd,
+	0xc8, 0x50, 0x95, 0x07, 0x9d, 0xd6, 0xdd, 0x63, 0x98, 0x6b, 0xd9, 0x66, 0x0c, 0xeb, 0x6e, 0x4e,
+	0xf4, 0x68, 0x7b, 0x6c, 0xdb, 0x3d, 0xf4, 0xc9, 0x0d, 0x69, 0xd0, 0xb6, 0x0d, 0xd5, 0x6a, 0x57,
+	0x6c, 0xb7, 0x5d, 0x6d, 0x13, 0x8b, 0x83, 0x56, 0xc5, 0x94, 0xea, 0xe8, 0xb4, 0xfb, 0xd3, 0xef,
+	0x96, 0x78, 0xfa, 0x17, 0xa1, 0x3f, 0x32, 0xf3, 0xf7, 0xc5, 0xda, 0x6d, 0xc3, 0xf6, 0x35, 0x96,
+	0xd3, 0xfb, 0x7e, 0xb3, 0xf2, 0xf1, 0xb5, 0xe6, 0x18, 0x5f, 0xfe, 0xf6, 0x7f, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x55, 0x80, 0x87, 0xa0, 0x32, 0x14, 0x00, 0x00,
 }
diff --git a/googleapis/pubsub/v1/pubsub.proto b/googleapis/pubsub/v1/pubsub.proto
deleted file mode 100644
index 462e5276..00000000
--- a/googleapis/pubsub/v1/pubsub.proto
+++ /dev/null
@@ -1,435 +0,0 @@
-// 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.pubsub.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 cc_enable_arenas = true;
-option java_multiple_files = true;
-option java_outer_classname = "PubsubProto";
-option java_package = "com.google.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.
-  // 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. 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: "*" };
-  }
-
-  // Gets the configuration details of a subscription.
-  rpc GetSubscription(GetSubscriptionRequest) returns (Subscription) {
-    option (google.api.http) = { get: "/v1/{subscription=projects/*/subscriptions/*}" };
-  }
-
-  // Lists matching subscriptions.
-  rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse) {
-    option (google.api.http) = { get: "/v1/{project=projects/*}/subscriptions" };
-  }
-
-  // Deletes an existing subscription. All pending messages in the subscription
-  // are immediately dropped. Calls to `Pull` after deletion will return
-  // `NOT_FOUND`. After a subscription is deleted, a new one may be created with
-  // the same name, but the new one has no association with the old
-  // subscription, or its topic unless the same topic is specified.
-  rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{subscription=projects/*/subscriptions/*}" };
-  }
-
-  // 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. 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: "*" };
-  }
-
-  // Acknowledges the messages associated with the `ack_ids` in the
-  // `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
-  // from the subscription.
-  //
-  // Acknowledging a message whose ack deadline has expired may succeed,
-  // but such a message may be redelivered later. Acknowledging a message more
-  // than once will not result in an error.
-  rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:acknowledge" body: "*" };
-  }
-
-  // Pulls messages from the server. Returns an empty list if there are no
-  // messages available in the backlog. The server may return `UNAVAILABLE` if
-  // there are too many concurrent pull requests pending for the given
-  // subscription.
-  rpc Pull(PullRequest) returns (PullResponse) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:pull" body: "*" };
-  }
-
-  // Modifies the `PushConfig` for a specified subscription.
-  //
-  // This may be used to change a push subscription to a pull one (signified by
-  // an empty `PushConfig`) or vice versa, or change the endpoint URL and other
-  // attributes of a push subscription. Messages will accumulate for delivery
-  // continuously through the call regardless of changes to the `PushConfig`.
-  rpc ModifyPushConfig(ModifyPushConfigRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{subscription=projects/*/subscriptions/*}:modifyPushConfig" body: "*" };
-  }
-}
-
-// The service that an application uses to manipulate topics, and to send
-// messages to a topic.
-service Publisher {
-  // Creates the given topic with the given name.
-  rpc CreateTopic(Topic) returns (Topic) {
-    option (google.api.http) = { put: "/v1/{name=projects/*/topics/*}" body: "*" };
-  }
-
-  // Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic
-  // does not exist. The message payload must not be empty; it must contain
-  //  either a non-empty data field, or at least one attribute.
-  rpc Publish(PublishRequest) returns (PublishResponse) {
-    option (google.api.http) = { post: "/v1/{topic=projects/*/topics/*}:publish" body: "*" };
-  }
-
-  // Gets the configuration of a topic.
-  rpc GetTopic(GetTopicRequest) returns (Topic) {
-    option (google.api.http) = { get: "/v1/{topic=projects/*/topics/*}" };
-  }
-
-  // Lists matching topics.
-  rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse) {
-    option (google.api.http) = { get: "/v1/{project=projects/*}/topics" };
-  }
-
-  // Lists the name of the subscriptions for this topic.
-  rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest) returns (ListTopicSubscriptionsResponse) {
-    option (google.api.http) = { get: "/v1/{topic=projects/*/topics/*}/subscriptions" };
-  }
-
-  // Deletes the topic with the given name. Returns `NOT_FOUND` if the topic
-  // does not exist. After a topic is deleted, a new topic may be created with
-  // the same name; this is an entirely new topic with none of the old
-  // configuration or subscriptions. Existing subscriptions to this topic are
-  // not deleted, but their `topic` field is set to `_deleted-topic_`.
-  rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { delete: "/v1/{topic=projects/*/topics/*}" };
-  }
-}
-
-// A topic resource.
-message Topic {
-  // The name of the topic. It must have the format
-  // `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
-  // and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
-  // underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
-  // signs (`%`). It must be between 3 and 255 characters in length, and it
-  // must not start with `"goog"`.
-  string name = 1;
-}
-
-// A message data and its attributes. The message payload must not be empty;
-// 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](https://tools.ietf.org/html/rfc4648).
-  bytes data = 1;
-
-  // Optional attributes for this message.
-  map<string, string> attributes = 2;
-
-  // ID of this message, assigned by the server when the message is published.
-  // Guaranteed to be unique within the topic. This value may be read by a
-  // subscriber that receives a `PubsubMessage` via a `Pull` call or a push
-  // delivery. It must not be populated by the publisher in a `Publish` call.
-  string message_id = 3;
-
-  // The time at which the message was published, populated by the server when
-  // it receives the `Publish` call. It must not be populated by the
-  // publisher in a `Publish` call.
-  google.protobuf.Timestamp publish_time = 4;
-}
-
-// Request for the GetTopic method.
-message GetTopicRequest {
-  // The name of the topic to get.
-  string topic = 1;
-}
-
-// Request for the Publish method.
-message PublishRequest {
-  // The messages in the request will be published on this topic.
-  string topic = 1;
-
-  // The messages to publish.
-  repeated PubsubMessage messages = 2;
-}
-
-// Response for the `Publish` method.
-message PublishResponse {
-  // The server-assigned ID of each published message, in the same order as
-  // the messages in the request. IDs are guaranteed to be unique within
-  // the topic.
-  repeated string message_ids = 1;
-}
-
-// Request for the `ListTopics` method.
-message ListTopicsRequest {
-  // The name of the cloud project that topics belong to.
-  string project = 1;
-
-  // Maximum number of topics to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListTopicsResponse`; indicates that this is
-  // a continuation of a prior `ListTopics` call, and that the system should
-  // return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListTopics` method.
-message ListTopicsResponse {
-  // The resulting topics.
-  repeated Topic topics = 1;
-
-  // If not empty, indicates that there may be more topics that match the
-  // request; this value should be passed in a new `ListTopicsRequest`.
-  string next_page_token = 2;
-}
-
-// Request for the `ListTopicSubscriptions` method.
-message ListTopicSubscriptionsRequest {
-  // The name of the topic that subscriptions are attached to.
-  string topic = 1;
-
-  // Maximum number of subscription names to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListTopicSubscriptionsResponse`; indicates
-  // that this is a continuation of a prior `ListTopicSubscriptions` call, and
-  // that the system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListTopicSubscriptions` method.
-message ListTopicSubscriptionsResponse {
-  // The names of the subscriptions that match the request.
-  repeated string subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // `ListTopicSubscriptionsRequest` to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the `DeleteTopic` method.
-message DeleteTopicRequest {
-  // Name of the topic to delete.
-  string topic = 1;
-}
-
-// A subscription resource.
-message Subscription {
-  // The name of the subscription. It must have the format
-  // `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
-  // start with a letter, and contain only letters (`[A-Za-z]`), numbers
-  // (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
-  // plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
-  // in length, and it must not start with `"goog"`.
-  string name = 1;
-
-  // The name of the topic from which this subscription is receiving messages.
-  // The value of this field will be `_deleted-topic_` if the topic has been
-  // deleted.
-  string topic = 2;
-
-  // If push delivery is used with this subscription, this field is
-  // used to configure it. An empty `pushConfig` signifies that the subscriber
-  // will pull and ack messages using API methods.
-  PushConfig push_config = 4;
-
-  // This value is the maximum time after a subscriber receives a message
-  // before the subscriber should acknowledge the message. After message
-  // delivery but before the ack deadline expires and before the message is
-  // acknowledged, it is an outstanding message and will not be delivered
-  // again during that time (on a best-effort basis).
-  //
-  // For pull subscriptions, this value is used as the initial value for the ack
-  // 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.
-  //
-  // If the subscriber never acknowledges the message, the Pub/Sub
-  // system will eventually redeliver the message.
-  //
-  // If this parameter is 0, a default value of 10 seconds is used.
-  int32 ack_deadline_seconds = 5;
-}
-
-// Configuration for a push delivery endpoint.
-message PushConfig {
-  // A URL locating the endpoint to which messages should be pushed.
-  // For example, a Webhook endpoint might use "https://example.com/push".
-  string push_endpoint = 1;
-
-  // Endpoint configuration attributes.
-  //
-  // Every endpoint has a set of API supported attributes that can be used to
-  // control different aspects of the message delivery.
-  //
-  // The currently supported attribute is `x-goog-version`, which you can
-  // use to change the format of the push message. This attribute
-  // indicates the version of the data expected by the endpoint. This
-  // controls the shape of the envelope (i.e. its fields and metadata).
-  // The endpoint version is based on the version of the Pub/Sub
-  // API.
-  //
-  // If not present during the `CreateSubscription` call, it will default to
-  // the version of the API used to make such call. If not present during a
-  // `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
-  // calls will always return a valid version, even if the subscription was
-  // created without this attribute.
-  //
-  // The possible values for this attribute are:
-  //
-  // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-  // * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
-  map<string, string> attributes = 2;
-}
-
-// A message and its corresponding acknowledgment ID.
-message ReceivedMessage {
-  // This ID can be used to acknowledge the received message.
-  string ack_id = 1;
-
-  // The message.
-  PubsubMessage message = 2;
-}
-
-// Request for the GetSubscription method.
-message GetSubscriptionRequest {
-  // The name of the subscription to get.
-  string subscription = 1;
-}
-
-// Request for the `ListSubscriptions` method.
-message ListSubscriptionsRequest {
-  // The name of the cloud project that subscriptions belong to.
-  string project = 1;
-
-  // Maximum number of subscriptions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last `ListSubscriptionsResponse`; indicates that
-  // this is a continuation of a prior `ListSubscriptions` call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the `ListSubscriptions` method.
-message ListSubscriptionsResponse {
-  // The subscriptions that match the request.
-  repeated Subscription subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // `ListSubscriptionsRequest` to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteSubscription method.
-message DeleteSubscriptionRequest {
-  // The subscription to delete.
-  string subscription = 1;
-}
-
-// Request for the ModifyPushConfig method.
-message ModifyPushConfigRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The push configuration for future deliveries.
-  //
-  // An empty `pushConfig` indicates that the Pub/Sub system should
-  // stop pushing messages from the given subscription and allow
-  // messages to be pulled and acknowledged - effectively pausing
-  // the subscription if `Pull` is not called.
-  PushConfig push_config = 2;
-}
-
-// Request for the `Pull` method.
-message PullRequest {
-  // The subscription from which messages should be pulled.
-  string subscription = 1;
-
-  // If this is specified as true the system will respond immediately even if
-  // it is not able to return a message in the `Pull` response. Otherwise the
-  // system is allowed to wait until at least one message is available rather
-  // than returning no messages. The client may cancel the request if it does
-  // not wish to wait any longer for the response.
-  bool return_immediately = 2;
-
-  // The maximum number of messages returned for this request. The Pub/Sub
-  // system may return fewer than the number specified.
-  int32 max_messages = 3;
-}
-
-// Response for the `Pull` method.
-message PullResponse {
-  // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
-  // there are no more available in the backlog. The Pub/Sub system may return
-  // fewer than the `maxMessages` requested even if there are more messages
-  // available in the backlog.
-  repeated ReceivedMessage received_messages = 1;
-}
-
-// Request for the ModifyAckDeadline method.
-message ModifyAckDeadlineRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // List of acknowledgment IDs.
-  repeated string ack_ids = 4;
-
-  // The new ack deadline with respect to the time this request was sent to
-  // the Pub/Sub system. Must be >= 0. For example, if the value is 10, the new
-  // ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
-  // was made. Specifying zero may immediately make the message available for
-  // another pull request.
-  int32 ack_deadline_seconds = 3;
-}
-
-// Request for the Acknowledge method.
-message AcknowledgeRequest {
-  // The subscription whose message is being acknowledged.
-  string subscription = 1;
-
-  // The acknowledgment ID for the messages being acknowledged that was returned
-  // by the Pub/Sub system in the `Pull` response. Must not be empty.
-  repeated string ack_ids = 2;
-}
diff --git a/googleapis/pubsub/v1beta2/pubsub.pb.go b/googleapis/pubsub/v1beta2/pubsub.pb.go
index d4d92dc8..21621f00 100644
--- a/googleapis/pubsub/v1beta2/pubsub.pb.go
+++ b/googleapis/pubsub/v1beta2/pubsub.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto
+// source: google/pubsub/v1beta2/pubsub.proto
 // DO NOT EDIT!
 
 /*
-Package google_pubsub_v1beta2 is a generated protocol buffer package.
+Package pubsub is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto
+	google/pubsub/v1beta2/pubsub.proto
 
 It has these top-level messages:
 	Topic
@@ -32,7 +32,7 @@ It has these top-level messages:
 	ModifyAckDeadlineRequest
 	AcknowledgeRequest
 */
-package google_pubsub_v1beta2 // import "google.golang.org/genproto/googleapis/pubsub/v1beta2"
+package pubsub
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -66,6 +66,13 @@ func (m *Topic) String() string            { return proto.CompactTextString(m) }
 func (*Topic) ProtoMessage()               {}
 func (*Topic) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Topic) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // A message data and its attributes.
 type PubsubMessage struct {
 	// The message payload. For JSON requests, the value of this field must be
@@ -85,6 +92,13 @@ func (m *PubsubMessage) String() string            { return proto.CompactTextStr
 func (*PubsubMessage) ProtoMessage()               {}
 func (*PubsubMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *PubsubMessage) GetData() []byte {
+	if m != nil {
+		return m.Data
+	}
+	return nil
+}
+
 func (m *PubsubMessage) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -92,6 +106,13 @@ func (m *PubsubMessage) GetAttributes() map[string]string {
 	return nil
 }
 
+func (m *PubsubMessage) GetMessageId() string {
+	if m != nil {
+		return m.MessageId
+	}
+	return ""
+}
+
 // Request for the GetTopic method.
 type GetTopicRequest struct {
 	// The name of the topic to get.
@@ -103,6 +124,13 @@ func (m *GetTopicRequest) String() string            { return proto.CompactTextS
 func (*GetTopicRequest) ProtoMessage()               {}
 func (*GetTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *GetTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // Request for the Publish method.
 type PublishRequest struct {
 	// The messages in the request will be published on this topic.
@@ -116,6 +144,13 @@ func (m *PublishRequest) String() string            { return proto.CompactTextSt
 func (*PublishRequest) ProtoMessage()               {}
 func (*PublishRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *PublishRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *PublishRequest) GetMessages() []*PubsubMessage {
 	if m != nil {
 		return m.Messages
@@ -136,6 +171,13 @@ func (m *PublishResponse) String() string            { return proto.CompactTextS
 func (*PublishResponse) ProtoMessage()               {}
 func (*PublishResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *PublishResponse) GetMessageIds() []string {
+	if m != nil {
+		return m.MessageIds
+	}
+	return nil
+}
+
 // Request for the ListTopics method.
 type ListTopicsRequest struct {
 	// The name of the cloud project that topics belong to.
@@ -153,6 +195,27 @@ func (m *ListTopicsRequest) String() string            { return proto.CompactTex
 func (*ListTopicsRequest) ProtoMessage()               {}
 func (*ListTopicsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ListTopicsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListTopicsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListTopics method.
 type ListTopicsResponse struct {
 	// The resulting topics.
@@ -174,6 +237,13 @@ func (m *ListTopicsResponse) GetTopics() []*Topic {
 	return nil
 }
 
+func (m *ListTopicsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the ListTopicSubscriptions method.
 type ListTopicSubscriptionsRequest struct {
 	// The name of the topic that subscriptions are attached to.
@@ -191,6 +261,27 @@ func (m *ListTopicSubscriptionsRequest) String() string            { return prot
 func (*ListTopicSubscriptionsRequest) ProtoMessage()               {}
 func (*ListTopicSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ListTopicSubscriptionsRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTopicSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListTopicSubscriptions method.
 type ListTopicSubscriptionsResponse struct {
 	// The names of the subscriptions that match the request.
@@ -206,6 +297,20 @@ func (m *ListTopicSubscriptionsResponse) String() string            { return pro
 func (*ListTopicSubscriptionsResponse) ProtoMessage()               {}
 func (*ListTopicSubscriptionsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
 
+func (m *ListTopicSubscriptionsResponse) GetSubscriptions() []string {
+	if m != nil {
+		return m.Subscriptions
+	}
+	return nil
+}
+
+func (m *ListTopicSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteTopic method.
 type DeleteTopicRequest struct {
 	// Name of the topic to delete.
@@ -217,6 +322,13 @@ func (m *DeleteTopicRequest) String() string            { return proto.CompactTe
 func (*DeleteTopicRequest) ProtoMessage()               {}
 func (*DeleteTopicRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
 
+func (m *DeleteTopicRequest) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 // A subscription resource.
 type Subscription struct {
 	// Name of the subscription.
@@ -252,6 +364,20 @@ func (m *Subscription) String() string            { return proto.CompactTextStri
 func (*Subscription) ProtoMessage()               {}
 func (*Subscription) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
 
+func (m *Subscription) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Subscription) GetTopic() string {
+	if m != nil {
+		return m.Topic
+	}
+	return ""
+}
+
 func (m *Subscription) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -259,6 +385,13 @@ func (m *Subscription) GetPushConfig() *PushConfig {
 	return nil
 }
 
+func (m *Subscription) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Configuration for a push delivery endpoint.
 type PushConfig struct {
 	// A URL locating the endpoint to which messages should be pushed.
@@ -295,6 +428,13 @@ func (m *PushConfig) String() string            { return proto.CompactTextString
 func (*PushConfig) ProtoMessage()               {}
 func (*PushConfig) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
 
+func (m *PushConfig) GetPushEndpoint() string {
+	if m != nil {
+		return m.PushEndpoint
+	}
+	return ""
+}
+
 func (m *PushConfig) GetAttributes() map[string]string {
 	if m != nil {
 		return m.Attributes
@@ -315,6 +455,13 @@ func (m *ReceivedMessage) String() string            { return proto.CompactTextS
 func (*ReceivedMessage) ProtoMessage()               {}
 func (*ReceivedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
 
+func (m *ReceivedMessage) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
 func (m *ReceivedMessage) GetMessage() *PubsubMessage {
 	if m != nil {
 		return m.Message
@@ -333,6 +480,13 @@ func (m *GetSubscriptionRequest) String() string            { return proto.Compa
 func (*GetSubscriptionRequest) ProtoMessage()               {}
 func (*GetSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
 
+func (m *GetSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ListSubscriptions method.
 type ListSubscriptionsRequest struct {
 	// The name of the cloud project that subscriptions belong to.
@@ -350,6 +504,27 @@ func (m *ListSubscriptionsRequest) String() string            { return proto.Com
 func (*ListSubscriptionsRequest) ProtoMessage()               {}
 func (*ListSubscriptionsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
 
+func (m *ListSubscriptionsRequest) GetProject() string {
+	if m != nil {
+		return m.Project
+	}
+	return ""
+}
+
+func (m *ListSubscriptionsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListSubscriptionsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response for the ListSubscriptions method.
 type ListSubscriptionsResponse struct {
 	// The subscriptions that match the request.
@@ -372,6 +547,13 @@ func (m *ListSubscriptionsResponse) GetSubscriptions() []*Subscription {
 	return nil
 }
 
+func (m *ListSubscriptionsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request for the DeleteSubscription method.
 type DeleteSubscriptionRequest struct {
 	// The subscription to delete.
@@ -383,6 +565,13 @@ func (m *DeleteSubscriptionRequest) String() string            { return proto.Co
 func (*DeleteSubscriptionRequest) ProtoMessage()               {}
 func (*DeleteSubscriptionRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
 
+func (m *DeleteSubscriptionRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 // Request for the ModifyPushConfig method.
 type ModifyPushConfigRequest struct {
 	// The name of the subscription.
@@ -401,6 +590,13 @@ func (m *ModifyPushConfigRequest) String() string            { return proto.Comp
 func (*ModifyPushConfigRequest) ProtoMessage()               {}
 func (*ModifyPushConfigRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
 
+func (m *ModifyPushConfigRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
 func (m *ModifyPushConfigRequest) GetPushConfig() *PushConfig {
 	if m != nil {
 		return m.PushConfig
@@ -428,6 +624,27 @@ func (m *PullRequest) String() string            { return proto.CompactTextStrin
 func (*PullRequest) ProtoMessage()               {}
 func (*PullRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
 
+func (m *PullRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *PullRequest) GetReturnImmediately() bool {
+	if m != nil {
+		return m.ReturnImmediately
+	}
+	return false
+}
+
+func (m *PullRequest) GetMaxMessages() int32 {
+	if m != nil {
+		return m.MaxMessages
+	}
+	return 0
+}
+
 // Response for the Pull method.
 type PullResponse struct {
 	// Received Pub/Sub messages. The Pub/Sub system will return zero messages if
@@ -468,6 +685,27 @@ func (m *ModifyAckDeadlineRequest) String() string            { return proto.Com
 func (*ModifyAckDeadlineRequest) ProtoMessage()               {}
 func (*ModifyAckDeadlineRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
 
+func (m *ModifyAckDeadlineRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckId() string {
+	if m != nil {
+		return m.AckId
+	}
+	return ""
+}
+
+func (m *ModifyAckDeadlineRequest) GetAckDeadlineSeconds() int32 {
+	if m != nil {
+		return m.AckDeadlineSeconds
+	}
+	return 0
+}
+
 // Request for the Acknowledge method.
 type AcknowledgeRequest struct {
 	// The subscription whose message is being acknowledged.
@@ -482,6 +720,20 @@ func (m *AcknowledgeRequest) String() string            { return proto.CompactTe
 func (*AcknowledgeRequest) ProtoMessage()               {}
 func (*AcknowledgeRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
 
+func (m *AcknowledgeRequest) GetSubscription() string {
+	if m != nil {
+		return m.Subscription
+	}
+	return ""
+}
+
+func (m *AcknowledgeRequest) GetAckIds() []string {
+	if m != nil {
+		return m.AckIds
+	}
+	return nil
+}
+
 func init() {
 	proto.RegisterType((*Topic)(nil), "google.pubsub.v1beta2.Topic")
 	proto.RegisterType((*PubsubMessage)(nil), "google.pubsub.v1beta2.PubsubMessage")
@@ -877,7 +1129,7 @@ var _Subscriber_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto",
+	Metadata: "google/pubsub/v1beta2/pubsub.proto",
 }
 
 // Client API for Publisher service
@@ -1128,83 +1380,81 @@ var _Publisher_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto",
+	Metadata: "google/pubsub/v1beta2/pubsub.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/pubsub/v1beta2/pubsub.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/pubsub/v1beta2/pubsub.proto", fileDescriptor0) }
 
 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,
+	// 1107 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0xdb, 0x54,
+	0x14, 0x97, 0x93, 0xfe, 0xcb, 0x71, 0x4a, 0xda, 0xab, 0xad, 0x73, 0x53, 0x06, 0x9d, 0x37, 0x4a,
+	0x86, 0xb4, 0x64, 0x0b, 0x45, 0x42, 0x8c, 0x7f, 0xed, 0x56, 0x4d, 0x91, 0xa8, 0xc8, 0xdc, 0x3e,
+	0xa0, 0x09, 0x2d, 0x72, 0xec, 0x5b, 0xc7, 0xc4, 0xb1, 0x3d, 0x5f, 0xbb, 0x34, 0x7b, 0x43, 0x08,
+	0xc1, 0x13, 0x1f, 0x85, 0xaf, 0xc0, 0x03, 0x1f, 0x82, 0xaf, 0x83, 0x7c, 0xef, 0xb5, 0x63, 0xa7,
+	0xbe, 0xa9, 0xdb, 0x89, 0x37, 0xdf, 0x73, 0xcf, 0xff, 0x73, 0x7e, 0xe7, 0x1e, 0x83, 0x6a, 0x79,
+	0x9e, 0xe5, 0xe0, 0x8e, 0x1f, 0x0d, 0x49, 0x34, 0xec, 0x9c, 0x3f, 0x19, 0xe2, 0x50, 0xef, 0xf2,
+	0x63, 0xdb, 0x0f, 0xbc, 0xd0, 0x43, 0xb7, 0x19, 0x4f, 0x9b, 0x13, 0x39, 0x4f, 0x73, 0x27, 0x11,
+	0x8d, 0x99, 0x86, 0xd1, 0x59, 0x07, 0x4f, 0xfc, 0x70, 0xca, 0x64, 0xd4, 0x1d, 0x58, 0x3e, 0xf5,
+	0x7c, 0xdb, 0x40, 0x08, 0x96, 0x5c, 0x7d, 0x82, 0x15, 0x69, 0x57, 0x6a, 0xd5, 0x34, 0xfa, 0xad,
+	0xfe, 0x2b, 0xc1, 0x7a, 0x9f, 0x2a, 0x3b, 0xc6, 0x84, 0xe8, 0x16, 0x8e, 0xb9, 0x4c, 0x3d, 0xd4,
+	0x29, 0x57, 0x5d, 0xa3, 0xdf, 0xe8, 0x14, 0x40, 0x0f, 0xc3, 0xc0, 0x1e, 0x46, 0x21, 0x26, 0x4a,
+	0x65, 0xb7, 0xda, 0x92, 0xbb, 0xfb, 0xed, 0x42, 0x5f, 0xda, 0x39, 0x6d, 0xed, 0x83, 0x54, 0xec,
+	0xc8, 0x0d, 0x83, 0xa9, 0x96, 0xd1, 0x83, 0xee, 0x02, 0x4c, 0x18, 0xdb, 0xc0, 0x36, 0x95, 0x2a,
+	0xf5, 0xaa, 0xc6, 0x29, 0x3d, 0xb3, 0xf9, 0x15, 0x34, 0xe6, 0xa4, 0xd1, 0x06, 0x54, 0xc7, 0x78,
+	0xca, 0x03, 0x88, 0x3f, 0xd1, 0x2d, 0x58, 0x3e, 0xd7, 0x9d, 0x08, 0x2b, 0x15, 0x4a, 0x63, 0x87,
+	0x2f, 0x2a, 0x9f, 0x4b, 0xea, 0xc7, 0xd0, 0x78, 0x81, 0x43, 0x1a, 0xb9, 0x86, 0xdf, 0x44, 0x98,
+	0x84, 0x31, 0x73, 0x18, 0x9f, 0xb9, 0x02, 0x76, 0x50, 0x47, 0xf0, 0x5e, 0x3f, 0x1a, 0x3a, 0x36,
+	0x19, 0x2d, 0xe4, 0x43, 0xdf, 0xc2, 0x1a, 0x77, 0x2e, 0x49, 0xc1, 0x83, 0x32, 0x29, 0xd0, 0x52,
+	0x29, 0xb5, 0x0b, 0x8d, 0xd4, 0x12, 0xf1, 0x3d, 0x97, 0x60, 0xf4, 0x21, 0xc8, 0xb3, 0x1c, 0x10,
+	0x45, 0xda, 0xad, 0xb6, 0x6a, 0x1a, 0xa4, 0x49, 0x20, 0xaa, 0x0d, 0x9b, 0xdf, 0xd9, 0x84, 0xc5,
+	0x41, 0x12, 0x07, 0x15, 0x58, 0xf5, 0x03, 0xef, 0x27, 0x6c, 0x84, 0xdc, 0xc5, 0xe4, 0x88, 0x76,
+	0xa0, 0xe6, 0xc7, 0xca, 0x88, 0xfd, 0x96, 0xe5, 0x64, 0x59, 0x5b, 0x8b, 0x09, 0x27, 0xf6, 0x5b,
+	0x1c, 0x27, 0x9c, 0x5e, 0x86, 0xde, 0x18, 0xbb, 0x49, 0xc2, 0x63, 0xca, 0x69, 0x4c, 0x50, 0x03,
+	0x40, 0x59, 0x53, 0xdc, 0xc3, 0x7d, 0x58, 0xa1, 0xf1, 0x33, 0xe7, 0xe4, 0xee, 0xfb, 0x82, 0xa0,
+	0x59, 0xa6, 0x39, 0x2f, 0xda, 0x83, 0x86, 0x8b, 0x2f, 0xc2, 0x41, 0xc6, 0x1e, 0xab, 0xd0, 0x7a,
+	0x4c, 0xee, 0xa7, 0x36, 0xdf, 0xc0, 0xdd, 0xd4, 0xe6, 0x49, 0x34, 0x24, 0x46, 0x60, 0xfb, 0xa1,
+	0xed, 0xb9, 0x64, 0x71, 0x2d, 0xde, 0x25, 0x4c, 0x17, 0x3e, 0x10, 0x99, 0xe4, 0x21, 0x3f, 0x80,
+	0x75, 0x92, 0xbd, 0xe0, 0x65, 0xc9, 0x13, 0x4b, 0x87, 0xf8, 0x09, 0xa0, 0xe7, 0xd8, 0xc1, 0x21,
+	0x2e, 0xd1, 0x8b, 0x7f, 0x49, 0x50, 0xcf, 0xfa, 0x54, 0x84, 0xd9, 0x99, 0x68, 0x25, 0x9b, 0x92,
+	0x43, 0x90, 0xfd, 0x88, 0x8c, 0x06, 0x86, 0xe7, 0x9e, 0xd9, 0x96, 0xb2, 0xb4, 0x2b, 0xb5, 0xe4,
+	0xee, 0x3d, 0x61, 0x87, 0x92, 0xd1, 0x33, 0xca, 0xa8, 0x81, 0x9f, 0x7e, 0xa3, 0xc7, 0x70, 0x4b,
+	0x37, 0xc6, 0x03, 0x13, 0xeb, 0xa6, 0x63, 0xbb, 0x78, 0x40, 0xb0, 0xe1, 0xb9, 0x26, 0x51, 0x96,
+	0x69, 0x86, 0x91, 0x6e, 0x8c, 0x9f, 0xf3, 0xab, 0x13, 0x76, 0xa3, 0xfe, 0x23, 0x01, 0xcc, 0x94,
+	0xa1, 0xfb, 0xb0, 0x4e, 0x9d, 0xc0, 0xae, 0xe9, 0x7b, 0xb6, 0x9b, 0xb4, 0x67, 0x3d, 0x26, 0x1e,
+	0x71, 0x1a, 0x7a, 0x59, 0x30, 0x4d, 0x9e, 0x5c, 0xe9, 0xe8, 0xa2, 0x51, 0xf2, 0xae, 0xb3, 0x62,
+	0x04, 0x0d, 0x0d, 0x1b, 0xd8, 0x3e, 0xc7, 0x66, 0x32, 0x06, 0x6f, 0xc3, 0x4a, 0x9c, 0x0a, 0xdb,
+	0x4c, 0x0a, 0xa4, 0x1b, 0xe3, 0x9e, 0x89, 0xbe, 0x86, 0x55, 0x0e, 0x4e, 0xaa, 0xa5, 0xec, 0x0c,
+	0x48, 0x84, 0xd4, 0x2f, 0x61, 0xeb, 0x05, 0x0e, 0xb3, 0x25, 0x4e, 0x1a, 0x42, 0x85, 0x7a, 0xb6,
+	0xbf, 0x92, 0xcc, 0x65, 0x69, 0xaa, 0x0f, 0x4a, 0xdc, 0xba, 0x85, 0x40, 0xf9, 0x7f, 0x66, 0xc2,
+	0x9f, 0x12, 0x6c, 0x17, 0x98, 0xe4, 0x40, 0xe9, 0x15, 0x01, 0x45, 0xee, 0xde, 0x17, 0xe4, 0x24,
+	0x17, 0xf6, 0x0d, 0xd1, 0xf4, 0x0d, 0x6c, 0x33, 0x34, 0xdd, 0x34, 0x87, 0xbf, 0x48, 0x70, 0xe7,
+	0xd8, 0x33, 0xed, 0xb3, 0x69, 0x06, 0x04, 0xe5, 0xe5, 0xe7, 0x71, 0x56, 0xb9, 0x01, 0xce, 0xd4,
+	0x5f, 0x25, 0x90, 0xfb, 0x91, 0xe3, 0x5c, 0xc7, 0xee, 0x23, 0x40, 0x01, 0x0e, 0xa3, 0xc0, 0x1d,
+	0xd8, 0x93, 0x09, 0x36, 0x6d, 0x3d, 0xc4, 0xce, 0x94, 0x9a, 0x5f, 0xd3, 0x36, 0xd9, 0x4d, 0x6f,
+	0x76, 0x81, 0xee, 0x41, 0x7d, 0xa2, 0x5f, 0x0c, 0xd2, 0x17, 0xab, 0x4a, 0xeb, 0x2e, 0x4f, 0xf4,
+	0x8b, 0xe3, 0xe4, 0x39, 0x32, 0xa0, 0xce, 0x9c, 0xe0, 0xd5, 0x3c, 0x81, 0xcd, 0x80, 0xa3, 0x60,
+	0x26, 0xc7, 0x2a, 0xba, 0x27, 0x88, 0x6f, 0x0e, 0x35, 0xda, 0x46, 0x90, 0x27, 0x10, 0xf5, 0x77,
+	0x09, 0x14, 0x96, 0xee, 0x83, 0xd9, 0xf4, 0xb8, 0x4e, 0xdc, 0x33, 0x20, 0x56, 0xb2, 0x40, 0x14,
+	0x8d, 0xaa, 0xaa, 0x70, 0x54, 0xbd, 0x04, 0x74, 0x60, 0x8c, 0x5d, 0xef, 0x67, 0x07, 0x9b, 0xd6,
+	0xb5, 0x5c, 0xb8, 0x03, 0xab, 0xcc, 0x05, 0x36, 0xad, 0x6a, 0xda, 0x0a, 0xf5, 0x81, 0x74, 0xff,
+	0x58, 0x01, 0xe0, 0x7d, 0x38, 0xc4, 0x01, 0x7a, 0x0d, 0xe8, 0x59, 0x80, 0xf5, 0x7c, 0x6f, 0xa2,
+	0x32, 0x68, 0x68, 0x96, 0x61, 0x42, 0x98, 0xae, 0x34, 0x39, 0xd2, 0x23, 0x81, 0x5c, 0xf1, 0x90,
+	0x29, 0x67, 0xe6, 0x9c, 0xad, 0x1c, 0x39, 0xc8, 0xa3, 0x8e, 0x40, 0x52, 0x34, 0x8f, 0x9a, 0x8f,
+	0xcb, 0x0b, 0xf0, 0xfe, 0x7b, 0x9d, 0x3c, 0x94, 0x39, 0x6f, 0x44, 0x7a, 0x84, 0x53, 0xa0, 0xb9,
+	0x95, 0x4a, 0xf0, 0x75, 0xb8, 0x7d, 0x14, 0xaf, 0xc3, 0xe8, 0x47, 0xd8, 0xbc, 0xd4, 0x89, 0xc2,
+	0xb8, 0x44, 0x3d, 0x2b, 0xd4, 0xde, 0x07, 0x39, 0xd3, 0x5e, 0xe8, 0xa1, 0x40, 0xef, 0xe5, 0x16,
+	0x14, 0x6a, 0xfc, 0x1e, 0x96, 0x62, 0x7c, 0x22, 0x55, 0x38, 0x5c, 0xd2, 0x09, 0x22, 0x2c, 0x6c,
+	0x0e, 0xe0, 0xaf, 0x60, 0x63, 0x7e, 0xf2, 0xa1, 0xf6, 0xc2, 0xf8, 0x2f, 0x8d, 0x48, 0x91, 0xb3,
+	0xdd, 0xbf, 0x97, 0xa0, 0xc6, 0x97, 0x5b, 0x1c, 0xa0, 0x1e, 0xc8, 0x0c, 0x09, 0xec, 0xcf, 0x63,
+	0xe1, 0xce, 0xd8, 0x5c, 0x78, 0x8b, 0x7e, 0x80, 0x55, 0xae, 0x17, 0x7d, 0x24, 0x7e, 0x6b, 0x33,
+	0xeb, 0x7b, 0x73, 0xef, 0x2a, 0x36, 0x9e, 0x8e, 0x3e, 0xac, 0x25, 0x7f, 0x08, 0x68, 0x4f, 0x8c,
+	0xa3, 0xec, 0xda, 0x76, 0x85, 0xaf, 0x3a, 0xc0, 0x6c, 0x83, 0x46, 0xad, 0x05, 0x08, 0xc8, 0xed,
+	0xf3, 0xcd, 0x87, 0x25, 0x38, 0xb9, 0xd3, 0xbf, 0x49, 0xb0, 0x55, 0xbc, 0xbe, 0xa2, 0xfd, 0xab,
+	0xb4, 0x14, 0xe2, 0xf4, 0xb3, 0x6b, 0x4a, 0xa5, 0xc9, 0x93, 0x33, 0x5b, 0xad, 0xb0, 0xdd, 0x2f,
+	0x6f, 0xbe, 0xa2, 0x0e, 0x3a, 0xb4, 0x60, 0xdb, 0xf0, 0x26, 0xc5, 0x7a, 0x0e, 0x65, 0xb6, 0x4f,
+	0xf5, 0x63, 0x91, 0xbe, 0xf4, 0xea, 0x29, 0xe7, 0xb2, 0x3c, 0x47, 0x77, 0xad, 0xb6, 0x17, 0x58,
+	0x1d, 0x0b, 0xbb, 0x54, 0x61, 0x87, 0x5d, 0xe9, 0xbe, 0x4d, 0xe6, 0x7e, 0xa5, 0x9f, 0xb2, 0xe3,
+	0x70, 0x85, 0xf2, 0x7d, 0xfa, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xe2, 0x2d, 0xb0, 0x67, 0x71,
+	0x0f, 0x00, 0x00,
 }
diff --git a/googleapis/pubsub/v1beta2/pubsub.proto b/googleapis/pubsub/v1beta2/pubsub.proto
deleted file mode 100644
index d0acd8b3..00000000
--- a/googleapis/pubsub/v1beta2/pubsub.proto
+++ /dev/null
@@ -1,383 +0,0 @@
-// Copyright (c) 2015, 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.pubsub.v1beta2;
-
-import "github.com/golang/protobuf/ptypes/empty/empty.proto"; // from google/protobuf/empty.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "PubsubProto";
-option java_package = "com.google.pubsub.v1beta2";
-
-
-// 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.
-  // 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.
-  rpc CreateSubscription(Subscription) returns (Subscription);
-
-  // Gets the configuration details of a subscription.
-  rpc GetSubscription(GetSubscriptionRequest) returns (Subscription);
-
-  // Lists matching subscriptions.
-  rpc ListSubscriptions(ListSubscriptionsRequest) returns (ListSubscriptionsResponse);
-
-  // Deletes an existing subscription. All pending messages in the subscription
-  // are immediately dropped. Calls to Pull after deletion will return
-  // NOT_FOUND. After a subscription is deleted, a new one may be created with
-  // the same name, but the new one has no association with the old
-  // subscription, or its topic unless the same topic is specified.
-  rpc DeleteSubscription(DeleteSubscriptionRequest) returns (google.protobuf.Empty);
-
-  // 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.
-  rpc ModifyAckDeadline(ModifyAckDeadlineRequest) returns (google.protobuf.Empty);
-
-  // Acknowledges the messages associated with the ack tokens in the
-  // AcknowledgeRequest. The Pub/Sub system can remove the relevant messages
-  // from the subscription.
-  //
-  // Acknowledging a message whose ack deadline has expired may succeed,
-  // but such a message may be redelivered later. Acknowledging a message more
-  // than once will not result in an error.
-  rpc Acknowledge(AcknowledgeRequest) returns (google.protobuf.Empty);
-
-  // Pulls messages from the server. Returns an empty list if there are no
-  // messages available in the backlog. The server may return UNAVAILABLE if
-  // there are too many concurrent pull requests pending for the given
-  // subscription.
-  rpc Pull(PullRequest) returns (PullResponse);
-
-  // Modifies the PushConfig for a specified subscription.
-  //
-  // This may be used to change a push subscription to a pull one (signified
-  // by an empty PushConfig) or vice versa, or change the endpoint URL and other
-  // attributes of a push subscription. Messages will accumulate for
-  // delivery continuously through the call regardless of changes to the
-  // PushConfig.
-  rpc ModifyPushConfig(ModifyPushConfigRequest) returns (google.protobuf.Empty);
-}
-
-// The service that an application uses to manipulate topics, and to send
-// messages to a topic.
-service Publisher {
-  // Creates the given topic with the given name.
-  rpc CreateTopic(Topic) returns (Topic);
-
-  // Adds one or more messages to the topic. Returns NOT_FOUND if the topic does
-  // not exist.
-  rpc Publish(PublishRequest) returns (PublishResponse);
-
-  // Gets the configuration of a topic.
-  rpc GetTopic(GetTopicRequest) returns (Topic);
-
-  // Lists matching topics.
-  rpc ListTopics(ListTopicsRequest) returns (ListTopicsResponse);
-
-  // Lists the name of the subscriptions for this topic.
-  rpc ListTopicSubscriptions(ListTopicSubscriptionsRequest) returns (ListTopicSubscriptionsResponse);
-
-  // Deletes the topic with the given name. Returns NOT_FOUND if the topic does
-  // not exist. After a topic is deleted, a new topic may be created with the
-  // same name; this is an entirely new topic with none of the old
-  // configuration or subscriptions. Existing subscriptions to this topic are
-  // not deleted.
-  rpc DeleteTopic(DeleteTopicRequest) returns (google.protobuf.Empty);
-}
-
-// A topic resource.
-message Topic {
-  // Name of the topic.
-  string name = 1;
-}
-
-// A message data and its attributes.
-message PubsubMessage {
-  // The message payload. For JSON requests, the value of this field must be
-  // base64-encoded.
-  bytes data = 1;
-
-  // Optional attributes for this message.
-  map<string, string> attributes = 2;
-
-  // ID of this message assigned by the server at publication time. Guaranteed
-  // to be unique within the topic. This value may be read by a subscriber
-  // that receives a PubsubMessage via a Pull call or a push delivery. It must
-  // not be populated by a publisher in a Publish call.
-  string message_id = 3;
-}
-
-// Request for the GetTopic method.
-message GetTopicRequest {
-  // The name of the topic to get.
-  string topic = 1;
-}
-
-// Request for the Publish method.
-message PublishRequest {
-  // The messages in the request will be published on this topic.
-  string topic = 1;
-
-  // The messages to publish.
-  repeated PubsubMessage messages = 2;
-}
-
-// Response for the Publish method.
-message PublishResponse {
-  // The server-assigned ID of each published message, in the same order as
-  // the messages in the request. IDs are guaranteed to be unique within
-  // the topic.
-  repeated string message_ids = 1;
-}
-
-// Request for the ListTopics method.
-message ListTopicsRequest {
-  // The name of the cloud project that topics belong to.
-  string project = 1;
-
-  // Maximum number of topics to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListTopicsResponse; indicates that this is
-  // a continuation of a prior ListTopics call, and that the system should
-  // return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListTopics method.
-message ListTopicsResponse {
-  // The resulting topics.
-  repeated Topic topics = 1;
-
-  // If not empty, indicates that there may be more topics that match the
-  // request; this value should be passed in a new ListTopicsRequest.
-  string next_page_token = 2;
-}
-
-// Request for the ListTopicSubscriptions method.
-message ListTopicSubscriptionsRequest {
-  // The name of the topic that subscriptions are attached to.
-  string topic = 1;
-
-  // Maximum number of subscription names to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListTopicSubscriptionsResponse; indicates
-  // that this is a continuation of a prior ListTopicSubscriptions call, and
-  // that the system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListTopicSubscriptions method.
-message ListTopicSubscriptionsResponse {
-  // The names of the subscriptions that match the request.
-  repeated string subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new
-  // ListTopicSubscriptionsRequest to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteTopic method.
-message DeleteTopicRequest {
-  // Name of the topic to delete.
-  string topic = 1;
-}
-
-// A subscription resource.
-message Subscription {
-  // Name of the subscription.
-  string name = 1;
-
-  // The name of the topic from which this subscription is receiving messages.
-  // This will be present if and only if the subscription has not been detached
-  // from its topic.
-  string topic = 2;
-
-  // If push delivery is used with this subscription, this field is
-  // used to configure it. An empty pushConfig signifies that the subscriber
-  // will pull and ack messages using API methods.
-  PushConfig push_config = 4;
-
-  // This value is the maximum time after a subscriber receives a message
-  // before the subscriber should acknowledge the message. After message
-  // delivery but before the ack deadline expires and before the message is
-  // acknowledged, it is an outstanding message and will not be delivered
-  // again during that time (on a best-effort basis).
-  //
-  // For pull delivery this value
-  // is used as the initial value for the ack deadline. It may be overridden
-  // for a specific message by calling ModifyAckDeadline.
-  //
-  // For push delivery, this value is also used to set the request timeout for
-  // the call to the push endpoint.
-  //
-  // If the subscriber never acknowledges the message, the Pub/Sub
-  // system will eventually redeliver the message.
-  int32 ack_deadline_seconds = 5;
-}
-
-// Configuration for a push delivery endpoint.
-message PushConfig {
-  // A URL locating the endpoint to which messages should be pushed.
-  // For example, a Webhook endpoint might use "https://example.com/push".
-  string push_endpoint = 1;
-
-  // Endpoint configuration attributes.
-  //
-  // Every endpoint has a set of API supported attributes that can be used to
-  // control different aspects of the message delivery.
-  //
-  // The currently supported attribute is `x-goog-version`, which you can
-  // use to change the format of the push message. This attribute
-  // indicates the version of the data expected by the endpoint. This
-  // controls the shape of the envelope (i.e. its fields and metadata).
-  // The endpoint version is based on the version of the Pub/Sub
-  // API.
-  //
-  // If not present during the CreateSubscription call, it will default to
-  // the version of the API used to make such call. If not present during a
-  // ModifyPushConfig call, its value will not be changed. GetSubscription
-  // calls will always return a valid version, even if the subscription was
-  // created without this attribute.
-  //
-  // The possible values for this attribute are:
-  //
-  // * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
-  // * `v1beta2`: uses the push format defined in the v1beta2 Pub/Sub API.
-  //
-  map<string, string> attributes = 2;
-}
-
-// A message and its corresponding acknowledgment ID.
-message ReceivedMessage {
-  // This ID can be used to acknowledge the received message.
-  string ack_id = 1;
-
-  // The message.
-  PubsubMessage message = 2;
-}
-
-// Request for the GetSubscription method.
-message GetSubscriptionRequest {
-  // The name of the subscription to get.
-  string subscription = 1;
-}
-
-// Request for the ListSubscriptions method.
-message ListSubscriptionsRequest {
-  // The name of the cloud project that subscriptions belong to.
-  string project = 1;
-
-  // Maximum number of subscriptions to return.
-  int32 page_size = 2;
-
-  // The value returned by the last ListSubscriptionsResponse; indicates that
-  // this is a continuation of a prior ListSubscriptions call, and that the
-  // system should return the next page of data.
-  string page_token = 3;
-}
-
-// Response for the ListSubscriptions method.
-message ListSubscriptionsResponse {
-  // The subscriptions that match the request.
-  repeated Subscription subscriptions = 1;
-
-  // If not empty, indicates that there may be more subscriptions that match
-  // the request; this value should be passed in a new ListSubscriptionsRequest
-  // to get more subscriptions.
-  string next_page_token = 2;
-}
-
-// Request for the DeleteSubscription method.
-message DeleteSubscriptionRequest {
-  // The subscription to delete.
-  string subscription = 1;
-}
-
-// Request for the ModifyPushConfig method.
-message ModifyPushConfigRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The push configuration for future deliveries.
-  //
-  // An empty pushConfig indicates that the Pub/Sub system should
-  // stop pushing messages from the given subscription and allow
-  // messages to be pulled and acknowledged - effectively pausing
-  // the subscription if Pull is not called.
-  PushConfig push_config = 2;
-}
-
-// Request for the Pull method.
-message PullRequest {
-  // The subscription from which messages should be pulled.
-  string subscription = 1;
-
-  // If this is specified as true the system will respond immediately even if
-  // it is not able to return a message in the Pull response. Otherwise the
-  // system is allowed to wait until at least one message is available rather
-  // than returning no messages. The client may cancel the request if it does
-  // not wish to wait any longer for the response.
-  bool return_immediately = 2;
-
-  // The maximum number of messages returned for this request. The Pub/Sub
-  // system may return fewer than the number specified.
-  int32 max_messages = 3;
-}
-
-// Response for the Pull method.
-message PullResponse {
-  // Received Pub/Sub messages. The Pub/Sub system will return zero messages if
-  // there are no more available in the backlog. The Pub/Sub system may return
-  // fewer than the maxMessages requested even if there are more messages
-  // available in the backlog.
-  repeated ReceivedMessage received_messages = 1;
-}
-
-// Request for the ModifyAckDeadline method.
-message ModifyAckDeadlineRequest {
-  // The name of the subscription.
-  string subscription = 1;
-
-  // The acknowledgment ID.
-  string ack_id = 2;
-
-  // The new ack deadline with respect to the time this request was sent to the
-  // Pub/Sub system. Must be >= 0. For example, if the value is 10, the new ack
-  // deadline will expire 10 seconds after the ModifyAckDeadline call was made.
-  // Specifying zero may immediately make the message available for another pull
-  // request.
-  int32 ack_deadline_seconds = 3;
-}
-
-// Request for the Acknowledge method.
-message AcknowledgeRequest {
-  // The subscription whose message is being acknowledged.
-  string subscription = 1;
-
-  // The acknowledgment ID for the messages being acknowledged that was returned
-  // by the Pub/Sub system in the Pull response. Must not be empty.
-  repeated string ack_ids = 2;
-}
diff --git a/googleapis/rpc/code/code.pb.go b/googleapis/rpc/code/code.pb.go
index 33d9bdaa..304006d6 100644
--- a/googleapis/rpc/code/code.pb.go
+++ b/googleapis/rpc/code/code.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/code/code.proto
+// source: google/rpc/code.proto
 // DO NOT EDIT!
 
 /*
 Package code is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/code/code.proto
+	google/rpc/code.proto
 
 It has these top-level messages:
 */
-package code // import "google.golang.org/genproto/googleapis/rpc/code"
+package code
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -217,33 +217,31 @@ func init() {
 	proto.RegisterEnum("google.rpc.Code", Code_name, Code_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/code/code.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/code.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 363 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x51, 0xcb, 0x6e, 0x53, 0x31,
-	0x10, 0xa5, 0x69, 0x49, 0x9b, 0xc9, 0x6b, 0xea, 0xf2, 0xf8, 0x07, 0x16, 0xc9, 0xa2, 0x2b, 0xc4,
-	0x6a, 0x72, 0x3d, 0x69, 0xad, 0x3a, 0xe3, 0x2b, 0x3f, 0x4a, 0x60, 0x63, 0x95, 0x34, 0xba, 0x42,
-	0x2a, 0x75, 0x74, 0xe1, 0x8b, 0xf8, 0x09, 0x7e, 0x0f, 0x39, 0x20, 0xb1, 0x66, 0x73, 0x16, 0x3e,
-	0xe7, 0x78, 0xe6, 0x9c, 0x81, 0xf7, 0x5d, 0x29, 0xdd, 0xd3, 0x7e, 0xd1, 0x95, 0xa7, 0x87, 0xe7,
-	0x6e, 0x51, 0xfa, 0x6e, 0xd9, 0xed, 0x9f, 0x0f, 0x7d, 0xf9, 0x51, 0x96, 0x7f, 0xa8, 0x87, 0xc3,
-	0xd7, 0xef, 0xcb, 0xfe, 0xb0, 0x5b, 0xee, 0xca, 0xe3, 0xfe, 0x08, 0x8b, 0x23, 0xad, 0xe0, 0xaf,
-	0xb5, 0x3f, 0xec, 0xde, 0xfd, 0x1a, 0xc0, 0x59, 0x53, 0x1e, 0xf7, 0x6a, 0x08, 0x03, 0x77, 0x87,
-	0x2f, 0xd4, 0x14, 0x46, 0x0d, 0x49, 0xc3, 0xd6, 0xb2, 0xc6, 0x13, 0x35, 0x86, 0xf3, 0x24, 0x77,
-	0xe2, 0x3e, 0x0a, 0x0e, 0xd4, 0x2b, 0x40, 0x23, 0xf7, 0x64, 0x8d, 0xce, 0xe4, 0x6f, 0xd2, 0x86,
-	0x25, 0xe2, 0xa9, 0x7a, 0x0d, 0x97, 0x9a, 0x49, 0x5b, 0x23, 0x9c, 0x79, 0xdb, 0x30, 0x6b, 0xd6,
-	0x78, 0x56, 0x3f, 0x12, 0x17, 0xf3, 0xda, 0x25, 0xd1, 0xf8, 0x52, 0x29, 0x98, 0x91, 0xf5, 0x4c,
-	0xfa, 0x53, 0xe6, 0xad, 0x09, 0x31, 0xe0, 0xb0, 0x3a, 0x5b, 0xf6, 0x1b, 0x13, 0x82, 0x71, 0x92,
-	0x35, 0x8b, 0x61, 0x8d, 0xe7, 0xea, 0x0a, 0xe6, 0x49, 0x28, 0xc5, 0x5b, 0x96, 0x68, 0x1a, 0x8a,
-	0xac, 0x11, 0xd5, 0x1b, 0x50, 0x9e, 0x83, 0x4b, 0xbe, 0xa9, 0x53, 0x6e, 0x29, 0x85, 0xfa, 0x7e,
-	0xa1, 0xde, 0xc2, 0xd5, 0x9a, 0x8c, 0x65, 0x9d, 0x5b, 0xcf, 0x8d, 0x13, 0x6d, 0xa2, 0x71, 0x82,
-	0xa3, 0xba, 0x39, 0xad, 0x9c, 0xaf, 0x2a, 0x50, 0x08, 0x13, 0x97, 0x62, 0x76, 0xeb, 0xec, 0x49,
-	0x6e, 0x18, 0xc7, 0xea, 0x12, 0xa6, 0x49, 0xcc, 0xa6, 0xb5, 0x5c, 0x63, 0xb0, 0xc6, 0x89, 0x9a,
-	0xc0, 0x85, 0x91, 0xc8, 0x5e, 0xc8, 0xe2, 0x54, 0xcd, 0x61, 0x9c, 0x84, 0xee, 0xc9, 0x58, 0x5a,
-	0x59, 0xc6, 0x59, 0x0d, 0xa4, 0x29, 0x52, 0xb6, 0x2e, 0x04, 0x9c, 0xaf, 0xb6, 0x30, 0xdb, 0x95,
-	0x6f, 0x8b, 0x7f, 0x5d, 0xae, 0x46, 0xb5, 0xc8, 0xb6, 0x56, 0xdc, 0x9e, 0x7c, 0xbe, 0xfe, 0xbf,
-	0xfb, 0x7c, 0xa8, 0xf0, 0x73, 0x70, 0xea, 0xdb, 0xe6, 0xcb, 0xf0, 0xa8, 0xba, 0xfe, 0x1d, 0x00,
-	0x00, 0xff, 0xff, 0x41, 0xb6, 0x33, 0x57, 0xe3, 0x01, 0x00, 0x00,
+	// 362 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x44, 0x51, 0xcd, 0x6e, 0x93, 0x31,
+	0x10, 0xa4, 0x69, 0x49, 0x9b, 0xcd, 0xdf, 0xd6, 0xa5, 0xf0, 0x0e, 0x1c, 0x92, 0x43, 0x8f, 0x9c,
+	0x36, 0x9f, 0x37, 0xad, 0x55, 0x67, 0xfd, 0xc9, 0x3f, 0x25, 0x70, 0xb1, 0x4a, 0x1a, 0x7d, 0x42,
+	0x2a, 0x75, 0xf4, 0xc1, 0x13, 0xf1, 0x12, 0xbc, 0x1e, 0x72, 0x8b, 0xe8, 0xc5, 0x87, 0x99, 0xf1,
+	0xee, 0xce, 0x0c, 0x5c, 0x76, 0xa5, 0x74, 0x8f, 0xfb, 0x65, 0x7f, 0xd8, 0x2d, 0x77, 0xe5, 0x61,
+	0xbf, 0x38, 0xf4, 0xe5, 0x57, 0x51, 0xf0, 0x02, 0x2f, 0xfa, 0xc3, 0xee, 0xe3, 0x9f, 0x01, 0x9c,
+	0x34, 0xe5, 0x61, 0xaf, 0x86, 0x30, 0x70, 0xb7, 0xf8, 0x46, 0x4d, 0x61, 0xd4, 0x90, 0x34, 0x6c,
+	0x2d, 0x6b, 0x3c, 0x52, 0x63, 0x38, 0x4d, 0x72, 0x2b, 0xee, 0xb3, 0xe0, 0x40, 0xbd, 0x03, 0x34,
+	0x72, 0x47, 0xd6, 0xe8, 0x4c, 0xfe, 0x3a, 0x6d, 0x58, 0x22, 0x1e, 0xab, 0x4b, 0x38, 0xd7, 0x4c,
+	0xda, 0x1a, 0xe1, 0xcc, 0xdb, 0x86, 0x59, 0xb3, 0xc6, 0x93, 0x3a, 0x48, 0x5c, 0xcc, 0x6b, 0x97,
+	0x44, 0xe3, 0x5b, 0xa5, 0x60, 0x46, 0xd6, 0x33, 0xe9, 0x2f, 0x99, 0xb7, 0x26, 0xc4, 0x80, 0xc3,
+	0xfa, 0xb3, 0x65, 0xbf, 0x31, 0x21, 0x18, 0x27, 0x59, 0xb3, 0x18, 0xd6, 0x78, 0xaa, 0x2e, 0x60,
+	0x9e, 0x84, 0x52, 0xbc, 0x61, 0x89, 0xa6, 0xa1, 0xc8, 0x1a, 0x51, 0xbd, 0x07, 0xe5, 0x39, 0xb8,
+	0xe4, 0x9b, 0xba, 0xe5, 0x86, 0x52, 0xa8, 0xf8, 0x99, 0xfa, 0x00, 0x17, 0x6b, 0x32, 0x96, 0x75,
+	0x6e, 0x3d, 0x37, 0x4e, 0xb4, 0x89, 0xc6, 0x09, 0x8e, 0xea, 0xe5, 0xb4, 0x72, 0xbe, 0xaa, 0x40,
+	0x21, 0x4c, 0x5c, 0x8a, 0xd9, 0xad, 0xb3, 0x27, 0xb9, 0x66, 0x1c, 0xab, 0x73, 0x98, 0x26, 0x31,
+	0x9b, 0xd6, 0x72, 0xb5, 0xc1, 0x1a, 0x27, 0x6a, 0x02, 0x67, 0x46, 0x22, 0x7b, 0x21, 0x8b, 0x53,
+	0x35, 0x87, 0x71, 0x12, 0xba, 0x23, 0x63, 0x69, 0x65, 0x19, 0x67, 0xd5, 0x90, 0xa6, 0x48, 0xd9,
+	0xba, 0x10, 0x70, 0xbe, 0xda, 0xc2, 0x6c, 0x57, 0x7e, 0x2c, 0x5e, 0xb3, 0x5c, 0x8d, 0x6a, 0x90,
+	0x6d, 0x8d, 0xb8, 0x3d, 0xfa, 0x7a, 0xf5, 0x8f, 0xe8, 0xca, 0xe3, 0xfd, 0x53, 0xb7, 0x28, 0x7d,
+	0xb7, 0xec, 0xf6, 0x4f, 0xcf, 0x05, 0x2c, 0x5f, 0xa8, 0xfb, 0xc3, 0xf7, 0x9f, 0xff, 0xab, 0xf9,
+	0x54, 0x9f, 0xdf, 0x83, 0x63, 0xdf, 0x36, 0xdf, 0x86, 0xcf, 0xaa, 0xab, 0xbf, 0x01, 0x00, 0x00,
+	0xff, 0xff, 0x8e, 0x97, 0x77, 0xc2, 0xbf, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/code/code.proto b/googleapis/rpc/code/code.proto
deleted file mode 100644
index 9a450956..00000000
--- a/googleapis/rpc/code/code.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// 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.rpc;
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/code;code";
-option java_multiple_files = true;
-option java_outer_classname = "CodeProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// The canonical error codes for Google APIs.
-//
-//
-// Sometimes multiple error codes may apply.  Services should return
-// the most specific error code that applies.  For example, prefer
-// `OUT_OF_RANGE` over `FAILED_PRECONDITION` if both codes apply.
-// Similarly prefer `NOT_FOUND` or `ALREADY_EXISTS` over `FAILED_PRECONDITION`.
-enum Code {
-  // Not an error; returned on success
-  //
-  // HTTP Mapping: 200 OK
-  OK = 0;
-
-  // The operation was cancelled, typically by the caller.
-  //
-  // HTTP Mapping: 499 Client Closed Request
-  CANCELLED = 1;
-
-  // Unknown error.  For example, this error may be returned when
-  // a `Status` value received from another address space belongs to
-  // an error space that is not known in this address space.  Also
-  // errors raised by APIs that do not return enough error information
-  // may be converted to this error.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  UNKNOWN = 2;
-
-  // The client specified an invalid argument.  Note that this differs
-  // from `FAILED_PRECONDITION`.  `INVALID_ARGUMENT` indicates arguments
-  // that are problematic regardless of the state of the system
-  // (e.g., a malformed file name).
-  //
-  // HTTP Mapping: 400 Bad Request
-  INVALID_ARGUMENT = 3;
-
-  // The deadline expired before the operation could complete. For operations
-  // that change the state of the system, this error may be returned
-  // even if the operation has completed successfully.  For example, a
-  // successful response from a server could have been delayed long
-  // enough for the deadline to expire.
-  //
-  // HTTP Mapping: 504 Gateway Timeout
-  DEADLINE_EXCEEDED = 4;
-
-  // Some requested entity (e.g., file or directory) was not found.
-  // For privacy reasons, this code *may* be returned when the client
-  // does not have the access rights to the entity, though such usage is
-  // discouraged.
-  //
-  // HTTP Mapping: 404 Not Found
-  NOT_FOUND = 5;
-
-  // The entity that a client attempted to create (e.g., file or directory)
-  // already exists.
-  //
-  // HTTP Mapping: 409 Conflict
-  ALREADY_EXISTS = 6;
-
-  // The caller does not have permission to execute the specified
-  // operation. `PERMISSION_DENIED` must not be used for rejections
-  // caused by exhausting some resource (use `RESOURCE_EXHAUSTED`
-  // instead for those errors). `PERMISSION_DENIED` must not be
-  // used if the caller can not be identified (use `UNAUTHENTICATED`
-  // instead for those errors).
-  //
-  // HTTP Mapping: 403 Forbidden
-  PERMISSION_DENIED = 7;
-
-  // The request does not have valid authentication credentials for the
-  // operation.
-  //
-  // HTTP Mapping: 401 Unauthorized
-  UNAUTHENTICATED = 16;
-
-  // Some resource has been exhausted, perhaps a per-user quota, or
-  // perhaps the entire file system is out of space.
-  //
-  // HTTP Mapping: 429 Too Many Requests
-  RESOURCE_EXHAUSTED = 8;
-
-  // The operation was rejected because the system is not in a state
-  // required for the operation's execution.  For example, the directory
-  // to be deleted is non-empty, an rmdir operation is applied to
-  // a non-directory, etc.
-  //
-  // Service implementors can use the following guidelines to decide
-  // between `FAILED_PRECONDITION`, `ABORTED`, and `UNAVAILABLE`:
-  //  (a) Use `UNAVAILABLE` if the client can retry just the failing call.
-  //  (b) Use `ABORTED` if the client should retry at a higher level
-  //      (e.g., restarting a read-modify-write sequence).
-  //  (c) Use `FAILED_PRECONDITION` if the client should not retry until
-  //      the system state has been explicitly fixed.  E.g., if an "rmdir"
-  //      fails because the directory is non-empty, `FAILED_PRECONDITION`
-  //      should be returned since the client should not retry unless
-  //      the files are deleted from the directory.
-  //
-  // HTTP Mapping: 400 Bad Request
-  FAILED_PRECONDITION = 9;
-
-  // The operation was aborted, typically due to a concurrency issue such as
-  // a sequencer check failure or transaction abort.
-  //
-  // See the guidelines above for deciding between `FAILED_PRECONDITION`,
-  // `ABORTED`, and `UNAVAILABLE`.
-  //
-  // HTTP Mapping: 409 Conflict
-  ABORTED = 10;
-
-  // The operation was attempted past the valid range.  E.g., seeking or
-  // reading past end-of-file.
-  //
-  // Unlike `INVALID_ARGUMENT`, this error indicates a problem that may
-  // be fixed if the system state changes. For example, a 32-bit file
-  // system will generate `INVALID_ARGUMENT` if asked to read at an
-  // offset that is not in the range [0,2^32-1], but it will generate
-  // `OUT_OF_RANGE` if asked to read from an offset past the current
-  // file size.
-  //
-  // There is a fair bit of overlap between `FAILED_PRECONDITION` and
-  // `OUT_OF_RANGE`.  We recommend using `OUT_OF_RANGE` (the more specific
-  // error) when it applies so that callers who are iterating through
-  // a space can easily look for an `OUT_OF_RANGE` error to detect when
-  // they are done.
-  //
-  // HTTP Mapping: 400 Bad Request
-  OUT_OF_RANGE = 11;
-
-  // The operation is not implemented or is not supported/enabled in this
-  // service.
-  //
-  // HTTP Mapping: 501 Not Implemented
-  UNIMPLEMENTED = 12;
-
-  // Internal errors.  This means that some invariants expected by the
-  // underlying system have been broken.  This error code is reserved
-  // for serious errors.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  INTERNAL = 13;
-
-  // The service is currently unavailable.  This is most likely a
-  // transient condition, which can be corrected by retrying with
-  // a backoff.
-  //
-  // See the guidelines above for deciding between `FAILED_PRECONDITION`,
-  // `ABORTED`, and `UNAVAILABLE`.
-  //
-  // HTTP Mapping: 503 Service Unavailable
-  UNAVAILABLE = 14;
-
-  // Unrecoverable data loss or corruption.
-  //
-  // HTTP Mapping: 500 Internal Server Error
-  DATA_LOSS = 15;
-}
diff --git a/googleapis/rpc/errdetails/error_details.pb.go b/googleapis/rpc/errdetails/error_details.pb.go
index 855bb06b..8eda666d 100644
--- a/googleapis/rpc/errdetails/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/errdetails/error_details.proto
+// source: google/rpc/error_details.proto
 // DO NOT EDIT!
 
 /*
 Package errdetails is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto
+	google/rpc/error_details.proto
 
 It has these top-level messages:
 	RetryInfo
@@ -18,7 +18,7 @@ It has these top-level messages:
 	Help
 	LocalizedMessage
 */
-package errdetails // import "google.golang.org/genproto/googleapis/rpc/errdetails"
+package errdetails
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -79,6 +79,20 @@ func (m *DebugInfo) String() string            { return proto.CompactTextString(
 func (*DebugInfo) ProtoMessage()               {}
 func (*DebugInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *DebugInfo) GetStackEntries() []string {
+	if m != nil {
+		return m.StackEntries
+	}
+	return nil
+}
+
+func (m *DebugInfo) GetDetail() string {
+	if m != nil {
+		return m.Detail
+	}
+	return ""
+}
+
 // Describes how a quota check failed.
 //
 // For example if a daily limit was exceeded for the calling project,
@@ -129,6 +143,20 @@ func (m *QuotaFailure_Violation) String() string            { return proto.Compa
 func (*QuotaFailure_Violation) ProtoMessage()               {}
 func (*QuotaFailure_Violation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *QuotaFailure_Violation) GetSubject() string {
+	if m != nil {
+		return m.Subject
+	}
+	return ""
+}
+
+func (m *QuotaFailure_Violation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Describes violations in a client request. This error type focuses on the
 // syntactic aspects of the request.
 type BadRequest struct {
@@ -163,6 +191,20 @@ func (m *BadRequest_FieldViolation) String() string            { return proto.Co
 func (*BadRequest_FieldViolation) ProtoMessage()               {}
 func (*BadRequest_FieldViolation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
 
+func (m *BadRequest_FieldViolation) GetField() string {
+	if m != nil {
+		return m.Field
+	}
+	return ""
+}
+
+func (m *BadRequest_FieldViolation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Contains metadata about the request that clients can attach when filing a bug
 // or providing other forms of feedback.
 type RequestInfo struct {
@@ -179,6 +221,20 @@ func (m *RequestInfo) String() string            { return proto.CompactTextStrin
 func (*RequestInfo) ProtoMessage()               {}
 func (*RequestInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *RequestInfo) GetRequestId() string {
+	if m != nil {
+		return m.RequestId
+	}
+	return ""
+}
+
+func (m *RequestInfo) GetServingData() string {
+	if m != nil {
+		return m.ServingData
+	}
+	return ""
+}
+
 // Describes the resource that is being accessed.
 type ResourceInfo struct {
 	// A name for the type of resource being accessed, e.g. "sql table",
@@ -204,6 +260,34 @@ func (m *ResourceInfo) String() string            { return proto.CompactTextStri
 func (*ResourceInfo) ProtoMessage()               {}
 func (*ResourceInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
 
+func (m *ResourceInfo) GetResourceType() string {
+	if m != nil {
+		return m.ResourceType
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetResourceName() string {
+	if m != nil {
+		return m.ResourceName
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetOwner() string {
+	if m != nil {
+		return m.Owner
+	}
+	return ""
+}
+
+func (m *ResourceInfo) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 // Provides links to documentation or for performing an out of band action.
 //
 // For example, if a quota check failed with an error indicating the calling
@@ -239,6 +323,20 @@ func (m *Help_Link) String() string            { return proto.CompactTextString(
 func (*Help_Link) ProtoMessage()               {}
 func (*Help_Link) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6, 0} }
 
+func (m *Help_Link) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *Help_Link) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
 // Provides a localized error message that is safe to return to the user
 // which can be attached to an RPC error.
 type LocalizedMessage struct {
@@ -255,6 +353,20 @@ func (m *LocalizedMessage) String() string            { return proto.CompactText
 func (*LocalizedMessage) ProtoMessage()               {}
 func (*LocalizedMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *LocalizedMessage) GetLocale() string {
+	if m != nil {
+		return m.Locale
+	}
+	return ""
+}
+
+func (m *LocalizedMessage) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*RetryInfo)(nil), "google.rpc.RetryInfo")
 	proto.RegisterType((*DebugInfo)(nil), "google.rpc.DebugInfo")
@@ -269,46 +381,43 @@ func init() {
 	proto.RegisterType((*LocalizedMessage)(nil), "google.rpc.LocalizedMessage")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/errdetails/error_details.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/error_details.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 568 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x94, 0xc1, 0x6f, 0xd3, 0x3e,
-	0x14, 0xc7, 0x95, 0x75, 0xdb, 0x4f, 0x79, 0xed, 0x6f, 0x94, 0x08, 0x50, 0xa9, 0x84, 0x54, 0x82,
-	0x90, 0x2a, 0x21, 0x25, 0xd2, 0x38, 0x31, 0x0e, 0x48, 0x25, 0xdb, 0x3a, 0x69, 0x40, 0x89, 0x10,
-	0x07, 0x2e, 0x91, 0x9b, 0xbc, 0x06, 0x53, 0x37, 0x0e, 0xb6, 0x33, 0x54, 0xfe, 0x0a, 0xee, 0xdc,
-	0x38, 0xf1, 0x67, 0x22, 0xc7, 0x4e, 0x9b, 0xae, 0x17, 0xc4, 0xcd, 0xdf, 0x97, 0x8f, 0xbf, 0x7e,
-	0xdf, 0xe4, 0x39, 0x30, 0xcd, 0x39, 0xcf, 0x19, 0x06, 0x39, 0x67, 0xa4, 0xc8, 0x03, 0x2e, 0xf2,
-	0x30, 0xc7, 0xa2, 0x14, 0x5c, 0xf1, 0xd0, 0x3c, 0x22, 0x25, 0x95, 0xa1, 0x28, 0xd3, 0x10, 0x85,
-	0xc8, 0x50, 0x11, 0xca, 0xa4, 0x5e, 0x72, 0x91, 0x58, 0x15, 0xd4, 0xb4, 0x07, 0xd6, 0x49, 0x94,
-	0xe9, 0xf0, 0x45, 0x4e, 0xd5, 0xe7, 0x6a, 0x1e, 0xa4, 0x7c, 0x15, 0x1a, 0xe7, 0xb0, 0x86, 0xe6,
-	0xd5, 0x22, 0x2c, 0xd5, 0xba, 0x44, 0x19, 0x66, 0x95, 0x20, 0x8a, 0xf2, 0x62, 0xb3, 0x30, 0x36,
-	0xfe, 0x25, 0xb8, 0x31, 0x2a, 0xb1, 0xbe, 0x2a, 0x16, 0xdc, 0x3b, 0x83, 0xae, 0xd0, 0x22, 0xc9,
-	0x90, 0x91, 0xf5, 0xc0, 0x19, 0x39, 0xe3, 0xee, 0xe9, 0xc3, 0xc0, 0x9e, 0xd4, 0x58, 0x06, 0x91,
-	0xb5, 0x88, 0xa1, 0xa6, 0x23, 0x0d, 0xfb, 0x53, 0x70, 0x23, 0x9c, 0x57, 0x79, 0x6d, 0xf4, 0x04,
-	0xfe, 0x97, 0x8a, 0xa4, 0xcb, 0x04, 0x0b, 0x25, 0x28, 0xca, 0x81, 0x33, 0xea, 0x8c, 0xdd, 0xb8,
-	0x57, 0x17, 0xcf, 0x4d, 0xcd, 0x7b, 0x00, 0xc7, 0x26, 0xd2, 0xe0, 0x60, 0xe4, 0x8c, 0xdd, 0xd8,
-	0x2a, 0xff, 0xa7, 0x03, 0xbd, 0xf7, 0x15, 0x57, 0xe4, 0x82, 0x50, 0x56, 0x09, 0xf4, 0x26, 0x00,
-	0x37, 0x94, 0xb3, 0xfa, 0x4c, 0x63, 0xd5, 0x3d, 0xf5, 0x83, 0x6d, 0xfe, 0xa0, 0x4d, 0x07, 0x1f,
-	0x1b, 0x34, 0x6e, 0xed, 0x1a, 0x5e, 0x82, 0xbb, 0x79, 0xe0, 0x0d, 0xe0, 0x3f, 0x59, 0xcd, 0xbf,
-	0x60, 0xaa, 0xea, 0x8c, 0x6e, 0xdc, 0x48, 0x6f, 0x04, 0xdd, 0x0c, 0x65, 0x2a, 0x68, 0xa9, 0x41,
-	0xdb, 0x58, 0xbb, 0xe4, 0xff, 0x76, 0x00, 0x26, 0x24, 0x8b, 0xf1, 0x6b, 0x85, 0x52, 0x79, 0x33,
-	0xe8, 0x2f, 0x28, 0xb2, 0x2c, 0xd9, 0xeb, 0xf0, 0x69, 0xbb, 0xc3, 0xed, 0x8e, 0xe0, 0x42, 0xe3,
-	0xdb, 0x26, 0xef, 0x2c, 0x76, 0xb4, 0x1c, 0x4e, 0xe1, 0x64, 0x17, 0xf1, 0xee, 0xc1, 0x51, 0x0d,
-	0xd9, 0x66, 0x8d, 0xf8, 0x8b, 0x56, 0xdf, 0x41, 0xd7, 0x1e, 0x5a, 0x7f, 0x94, 0x47, 0x00, 0xc2,
-	0xc8, 0x84, 0x36, 0x5e, 0xae, 0xad, 0x5c, 0x65, 0xde, 0x63, 0xe8, 0x49, 0x14, 0x37, 0xb4, 0xc8,
-	0x93, 0x8c, 0x28, 0xd2, 0x18, 0xda, 0x5a, 0x44, 0x14, 0xf1, 0x7f, 0x38, 0xd0, 0x8b, 0x51, 0xf2,
-	0x4a, 0xa4, 0xd8, 0x7c, 0x67, 0x61, 0x75, 0xa2, 0xe7, 0xcc, 0xba, 0xf6, 0x9a, 0xe2, 0x87, 0x75,
-	0x89, 0x3b, 0x50, 0x41, 0x56, 0x68, 0x9d, 0x37, 0xd0, 0x5b, 0xb2, 0x42, 0x9d, 0x91, 0x7f, 0x2b,
-	0x50, 0x0c, 0x3a, 0x26, 0x63, 0x2d, 0x6e, 0x67, 0x3c, 0xdc, 0xcf, 0xc8, 0xe1, 0x70, 0x8a, 0xac,
-	0xf4, 0x9e, 0xc1, 0x11, 0xa3, 0xc5, 0xb2, 0x79, 0xf9, 0xf7, 0xdb, 0x2f, 0x5f, 0x03, 0xc1, 0x35,
-	0x2d, 0x96, 0xb1, 0x61, 0x86, 0x67, 0x70, 0xa8, 0xe5, 0x6d, 0x7b, 0x67, 0xcf, 0xde, 0xeb, 0x43,
-	0xa7, 0x12, 0xcd, 0x80, 0xea, 0xa5, 0x1f, 0x41, 0xff, 0x9a, 0xa7, 0x84, 0xd1, 0xef, 0x98, 0xbd,
-	0x41, 0x29, 0x49, 0x8e, 0x7a, 0x92, 0x99, 0xae, 0x35, 0xf9, 0xad, 0xd2, 0x73, 0xb6, 0x32, 0x88,
-	0x75, 0x68, 0xe4, 0x84, 0xc1, 0x49, 0xca, 0x57, 0xad, 0x26, 0x27, 0x77, 0xcf, 0xf5, 0x25, 0x8f,
-	0xcc, 0x1d, 0x9f, 0xe9, 0xab, 0x36, 0x73, 0x3e, 0xbd, 0xfa, 0x97, 0xdf, 0xc5, 0xcb, 0xed, 0xf2,
-	0xd7, 0x41, 0x27, 0x9e, 0xbd, 0x9e, 0x1f, 0xd7, 0x3b, 0x9e, 0xff, 0x09, 0x00, 0x00, 0xff, 0xff,
-	0x0c, 0x49, 0x28, 0x80, 0x7e, 0x04, 0x00, 0x00,
+	// 551 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x94, 0xc1, 0x6f, 0xd3, 0x3e,
+	0x14, 0xc7, 0x95, 0x75, 0xdb, 0x4f, 0x79, 0xed, 0x6f, 0x94, 0x08, 0x50, 0xa9, 0x04, 0x2a, 0x41,
+	0x48, 0x95, 0x90, 0x52, 0x69, 0xdc, 0xc6, 0x01, 0xa9, 0x64, 0x5b, 0x27, 0x0d, 0x28, 0x11, 0xe2,
+	0xc0, 0x25, 0x72, 0x93, 0xd7, 0xc8, 0xd4, 0x8d, 0x83, 0xed, 0x0c, 0x95, 0xbf, 0x82, 0x3b, 0x37,
+	0x4e, 0xfc, 0x99, 0xc8, 0xb1, 0xbd, 0xa6, 0xeb, 0x85, 0x5b, 0xbe, 0xcf, 0x1f, 0x7f, 0xf3, 0x7d,
+	0x89, 0x9f, 0xe1, 0x69, 0xc1, 0x79, 0xc1, 0x70, 0x22, 0xaa, 0x6c, 0x82, 0x42, 0x70, 0x91, 0xe6,
+	0xa8, 0x08, 0x65, 0x32, 0xaa, 0x04, 0x57, 0x3c, 0x00, 0xb3, 0x1e, 0x89, 0x2a, 0x1b, 0x3a, 0xb6,
+	0x59, 0x59, 0xd4, 0xcb, 0x49, 0x5e, 0x0b, 0xa2, 0x28, 0x2f, 0x0d, 0x1b, 0x5e, 0x82, 0x9f, 0xa0,
+	0x12, 0x9b, 0xab, 0x72, 0xc9, 0x83, 0x33, 0xe8, 0x0a, 0x2d, 0xd2, 0x1c, 0x19, 0xd9, 0x0c, 0xbc,
+	0x91, 0x37, 0xee, 0x9e, 0x3e, 0x8e, 0xac, 0x9d, 0xb3, 0x88, 0x62, 0x6b, 0x91, 0x40, 0x43, 0xc7,
+	0x1a, 0x0e, 0x67, 0xe0, 0xc7, 0xb8, 0xa8, 0x8b, 0xc6, 0xe8, 0x39, 0xfc, 0x2f, 0x15, 0xc9, 0x56,
+	0x29, 0x96, 0x4a, 0x50, 0x94, 0x03, 0x6f, 0xd4, 0x19, 0xfb, 0x49, 0xaf, 0x29, 0x9e, 0x9b, 0x5a,
+	0xf0, 0x08, 0x8e, 0x4d, 0xee, 0xc1, 0xc1, 0xc8, 0x1b, 0xfb, 0x89, 0x55, 0xe1, 0x2f, 0x0f, 0x7a,
+	0x1f, 0x6b, 0xae, 0xc8, 0x05, 0xa1, 0xac, 0x16, 0x18, 0x4c, 0x01, 0x6e, 0x28, 0x67, 0xcd, 0x3b,
+	0x8d, 0x55, 0xf7, 0x34, 0x8c, 0xb6, 0x4d, 0x46, 0x6d, 0x3a, 0xfa, 0xec, 0xd0, 0xa4, 0xb5, 0x6b,
+	0x78, 0x09, 0xfe, 0xed, 0x42, 0x30, 0x80, 0xff, 0x64, 0xbd, 0xf8, 0x8a, 0x99, 0x6a, 0x7a, 0xf4,
+	0x13, 0x27, 0x83, 0x11, 0x74, 0x73, 0x94, 0x99, 0xa0, 0x95, 0x06, 0x6d, 0xb0, 0x76, 0x29, 0xfc,
+	0xe3, 0x01, 0x4c, 0x49, 0x9e, 0xe0, 0xb7, 0x1a, 0xa5, 0x0a, 0xe6, 0xd0, 0x5f, 0x52, 0x64, 0x79,
+	0xba, 0x97, 0xf0, 0x45, 0x3b, 0xe1, 0x76, 0x47, 0x74, 0xa1, 0xf1, 0x6d, 0xc8, 0x7b, 0xcb, 0x1d,
+	0x2d, 0x87, 0x33, 0x38, 0xd9, 0x45, 0x82, 0x07, 0x70, 0xd4, 0x40, 0x36, 0xac, 0x11, 0xff, 0x10,
+	0xf5, 0x03, 0x74, 0xed, 0x4b, 0x9b, 0x9f, 0xf2, 0x04, 0x40, 0x18, 0x99, 0x52, 0xe7, 0xe5, 0xdb,
+	0xca, 0x55, 0x1e, 0x3c, 0x83, 0x9e, 0x44, 0x71, 0x43, 0xcb, 0x22, 0xcd, 0x89, 0x22, 0xce, 0xd0,
+	0xd6, 0x62, 0xa2, 0x48, 0xf8, 0xd3, 0x83, 0x5e, 0x82, 0x92, 0xd7, 0x22, 0x43, 0xf7, 0x9f, 0x85,
+	0xd5, 0xa9, 0xda, 0x54, 0x68, 0x5d, 0x7b, 0xae, 0xf8, 0x69, 0x53, 0xe1, 0x0e, 0x54, 0x92, 0x35,
+	0x5a, 0xe7, 0x5b, 0xe8, 0x3d, 0x59, 0xa3, 0xee, 0x91, 0x7f, 0x2f, 0x51, 0x0c, 0x3a, 0xa6, 0xc7,
+	0x46, 0xdc, 0xed, 0xf1, 0x70, 0xbf, 0x47, 0x0e, 0x87, 0x33, 0x64, 0x55, 0xf0, 0x12, 0x8e, 0x18,
+	0x2d, 0x57, 0xee, 0xe3, 0x3f, 0x6c, 0x7f, 0x7c, 0x0d, 0x44, 0xd7, 0xb4, 0x5c, 0x25, 0x86, 0x19,
+	0x9e, 0xc1, 0xa1, 0x96, 0x77, 0xed, 0xbd, 0x3d, 0xfb, 0xa0, 0x0f, 0x9d, 0x5a, 0xb8, 0x03, 0xaa,
+	0x1f, 0xc3, 0x18, 0xfa, 0xd7, 0x3c, 0x23, 0x8c, 0xfe, 0xc0, 0xfc, 0x1d, 0x4a, 0x49, 0x0a, 0xd4,
+	0x27, 0x99, 0xe9, 0x9a, 0xeb, 0xdf, 0x2a, 0x7d, 0xce, 0xd6, 0x06, 0xb1, 0x0e, 0x4e, 0x4e, 0x19,
+	0x9c, 0x64, 0x7c, 0xdd, 0x0a, 0x39, 0xbd, 0x7f, 0xae, 0x27, 0x39, 0x36, 0x83, 0x3c, 0xd7, 0xa3,
+	0x36, 0xf7, 0xbe, 0xbc, 0xb1, 0x40, 0xc1, 0x19, 0x29, 0x8b, 0x88, 0x8b, 0x62, 0x52, 0x60, 0xd9,
+	0x0c, 0xe2, 0xc4, 0x2c, 0x91, 0x8a, 0x4a, 0x77, 0x11, 0xd8, 0x5b, 0xe0, 0xf5, 0xf6, 0xf1, 0xf7,
+	0x41, 0x27, 0x99, 0xbf, 0x5d, 0x1c, 0x37, 0x3b, 0x5e, 0xfd, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xc0,
+	0x5e, 0xc6, 0x6f, 0x39, 0x04, 0x00, 0x00,
 }
diff --git a/googleapis/rpc/errdetails/error_details.proto b/googleapis/rpc/errdetails/error_details.proto
deleted file mode 100644
index 1508a543..00000000
--- a/googleapis/rpc/errdetails/error_details.proto
+++ /dev/null
@@ -1,171 +0,0 @@
-// 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.rpc;
-
-import "github.com/golang/protobuf/ptypes/duration/duration.proto"; // from google/protobuf/duration.proto
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/errdetails;errdetails";
-option java_multiple_files = true;
-option java_outer_classname = "ErrorDetailsProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// Describes when the clients can retry a failed request. Clients could ignore
-// the recommendation here or retry when this information is missing from error
-// responses.
-//
-// It's always recommended that clients should use exponential backoff when
-// retrying.
-//
-// Clients should wait until `retry_delay` amount of time has passed since
-// receiving the error response before retrying.  If retrying requests also
-// fail, clients should use an exponential backoff scheme to gradually increase
-// the delay between retries based on `retry_delay`, until either a maximum
-// number of retires have been reached or a maximum retry delay cap has been
-// reached.
-message RetryInfo {
-  // Clients should wait at least this long between retrying the same request.
-  google.protobuf.Duration retry_delay = 1;
-}
-
-// Describes additional debugging info.
-message DebugInfo {
-  // The stack trace entries indicating where the error occurred.
-  repeated string stack_entries = 1;
-
-  // Additional debugging information provided by the server.
-  string detail = 2;
-}
-
-// Describes how a quota check failed.
-//
-// For example if a daily limit was exceeded for the calling project,
-// a service could respond with a QuotaFailure detail containing the project
-// id and the description of the quota limit that was exceeded.  If the
-// calling project hasn't enabled the service in the developer console, then
-// a service could respond with the project id and set `service_disabled`
-// to true.
-//
-// Also see RetryDetail and Help types for other details about handling a
-// quota failure.
-message QuotaFailure {
-  // A message type used to describe a single quota violation.  For example, a
-  // daily quota or a custom quota that was exceeded.
-  message Violation {
-    // The subject on which the quota check failed.
-    // For example, "clientip:<ip address of client>" or "project:<Google
-    // developer project id>".
-    string subject = 1;
-
-    // A description of how the quota check failed. Clients can use this
-    // description to find more about the quota configuration in the service's
-    // public documentation, or find the relevant quota limit to adjust through
-    // developer console.
-    //
-    // For example: "Service disabled" or "Daily Limit for read operations
-    // exceeded".
-    string description = 2;
-  }
-
-  // Describes all quota violations.
-  repeated Violation violations = 1;
-}
-
-// Describes violations in a client request. This error type focuses on the
-// syntactic aspects of the request.
-message BadRequest {
-  // A message type used to describe a single bad request field.
-  message FieldViolation {
-    // A path leading to a field in the request body. The value will be a
-    // sequence of dot-separated identifiers that identify a protocol buffer
-    // field. E.g., "field_violations.field" would identify this field.
-    string field = 1;
-
-    // A description of why the request element is bad.
-    string description = 2;
-  }
-
-  // Describes all violations in a client request.
-  repeated FieldViolation field_violations = 1;
-}
-
-// Contains metadata about the request that clients can attach when filing a bug
-// or providing other forms of feedback.
-message RequestInfo {
-  // An opaque string that should only be interpreted by the service generating
-  // it. For example, it can be used to identify requests in the service's logs.
-  string request_id = 1;
-
-  // Any data that was used to serve this request. For example, an encrypted
-  // stack trace that can be sent back to the service provider for debugging.
-  string serving_data = 2;
-}
-
-// Describes the resource that is being accessed.
-message ResourceInfo {
-  // A name for the type of resource being accessed, e.g. "sql table",
-  // "cloud storage bucket", "file", "Google calendar"; or the type URL
-  // of the resource: e.g. "type.googleapis.com/google.pubsub.v1.Topic".
-  string resource_type = 1;
-
-  // The name of the resource being accessed.  For example, a shared calendar
-  // name: "example.com_4fghdhgsrgh@group.calendar.google.com", if the current
-  // error is [google.rpc.Code.PERMISSION_DENIED][google.rpc.Code.PERMISSION_DENIED].
-  string resource_name = 2;
-
-  // The owner of the resource (optional).
-  // For example, "user:<owner email>" or "project:<Google developer project
-  // id>".
-  string owner = 3;
-
-  // Describes what error is encountered when accessing this resource.
-  // For example, updating a cloud project may require the `writer` permission
-  // on the developer console project.
-  string description = 4;
-}
-
-// Provides links to documentation or for performing an out of band action.
-//
-// For example, if a quota check failed with an error indicating the calling
-// project hasn't enabled the accessed service, this can contain a URL pointing
-// directly to the right place in the developer console to flip the bit.
-message Help {
-  // Describes a URL link.
-  message Link {
-    // Describes what the link offers.
-    string description = 1;
-
-    // The URL of the link.
-    string url = 2;
-  }
-
-  // URL(s) pointing to additional information on handling the current error.
-  repeated Link links = 1;
-}
-
-// Provides a localized error message that is safe to return to the user
-// which can be attached to an RPC error.
-message LocalizedMessage {
-  // The locale used following the specification defined at
-  // http://www.rfc-editor.org/rfc/bcp/bcp47.txt.
-  // Examples are: "en-US", "fr-CH", "es-MX"
-  string locale = 1;
-
-  // The localized error message in the above locale.
-  string message = 2;
-}
diff --git a/googleapis/rpc/status/status.pb.go b/googleapis/rpc/status/status.pb.go
index 57f50354..ec26060b 100644
--- a/googleapis/rpc/status/status.pb.go
+++ b/googleapis/rpc/status/status.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/rpc/status/status.proto
+// source: google/rpc/status.proto
 // DO NOT EDIT!
 
 /*
 Package status is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/rpc/status/status.proto
+	google/rpc/status.proto
 
 It has these top-level messages:
 	Status
 */
-package status // import "google.golang.org/genproto/googleapis/rpc/status"
+package status
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -98,6 +98,20 @@ func (m *Status) String() string            { return proto.CompactTextString(m)
 func (*Status) ProtoMessage()               {}
 func (*Status) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Status) GetCode() int32 {
+	if m != nil {
+		return m.Code
+	}
+	return 0
+}
+
+func (m *Status) GetMessage() string {
+	if m != nil {
+		return m.Message
+	}
+	return ""
+}
+
 func (m *Status) GetDetails() []*google_protobuf.Any {
 	if m != nil {
 		return m.Details
@@ -109,25 +123,22 @@ func init() {
 	proto.RegisterType((*Status)(nil), "google.rpc.Status")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/rpc/status/status.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/rpc/status.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 228 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x90, 0xbf, 0x4b, 0xc4, 0x30,
-	0x14, 0xc7, 0xe9, 0x55, 0xef, 0x30, 0x07, 0x0e, 0xc1, 0xa1, 0x38, 0x15, 0xa7, 0x4e, 0xef, 0x81,
-	0x0e, 0x0e, 0xe2, 0xe0, 0xf9, 0x0f, 0x94, 0xba, 0x39, 0x08, 0x69, 0x2e, 0xf7, 0x2c, 0xb4, 0x7d,
-	0x21, 0x49, 0x87, 0xfe, 0x3b, 0xfe, 0xa5, 0xd2, 0xa4, 0xc5, 0xd9, 0x21, 0xbc, 0x84, 0x7c, 0xbe,
-	0x3f, 0x78, 0xe2, 0x95, 0x98, 0xa9, 0x37, 0x40, 0xdc, 0xab, 0x91, 0x80, 0x1d, 0x21, 0x99, 0xd1,
-	0x3a, 0x0e, 0x8c, 0xe9, 0x4b, 0xd9, 0xce, 0xa3, 0xb3, 0x1a, 0x7d, 0x50, 0x61, 0xf2, 0xeb, 0x80,
-	0x88, 0x48, 0xb1, 0xca, 0x9d, 0xd5, 0xf7, 0x48, 0x5d, 0xf8, 0x9e, 0x5a, 0xd0, 0x3c, 0x60, 0xb2,
-	0xc3, 0x08, 0xb5, 0xd3, 0x05, 0x6d, 0x98, 0xad, 0xf1, 0xa8, 0xc6, 0x79, 0x39, 0x49, 0xfc, 0x70,
-	0x11, 0xfb, 0x8f, 0x68, 0x26, 0xa5, 0xb8, 0xd2, 0x7c, 0x36, 0x45, 0x56, 0x66, 0xd5, 0x75, 0x13,
-	0xef, 0xb2, 0x10, 0x87, 0xc1, 0x78, 0xaf, 0xc8, 0x14, 0xbb, 0x32, 0xab, 0x6e, 0x9a, 0xed, 0x29,
-	0x41, 0x1c, 0xce, 0x26, 0xa8, 0xae, 0xf7, 0x45, 0x5e, 0xe6, 0xd5, 0xf1, 0xf1, 0x0e, 0xd6, 0x1a,
-	0x5b, 0x1e, 0xbc, 0x8d, 0x73, 0xb3, 0x41, 0xa7, 0x2f, 0x71, 0xab, 0x79, 0x80, 0xbf, 0xaa, 0xa7,
-	0x63, 0xca, 0xad, 0x17, 0xbc, 0xce, 0x3e, 0x9f, 0xff, 0xbb, 0x84, 0x97, 0x34, 0x7e, 0x76, 0x79,
-	0x53, 0xbf, 0xb7, 0xfb, 0x48, 0x3e, 0xfd, 0x06, 0x00, 0x00, 0xff, 0xff, 0xc8, 0x94, 0xe0, 0x71,
-	0x4c, 0x01, 0x00, 0x00,
+	// 209 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0x2a, 0x48, 0xd6, 0x2f, 0x2e, 0x49, 0x2c, 0x29, 0x2d, 0xd6, 0x2b, 0x28,
+	0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x82, 0x48, 0xe8, 0x15, 0x15, 0x24, 0x4b, 0x49, 0x42, 0x15, 0x81,
+	0x65, 0x92, 0x4a, 0xd3, 0xf4, 0x13, 0xf3, 0x2a, 0x21, 0xca, 0x94, 0xd2, 0xb8, 0xd8, 0x82, 0xc1,
+	0xda, 0x84, 0x84, 0xb8, 0x58, 0x92, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,
+	0xc0, 0x6c, 0x21, 0x09, 0x2e, 0xf6, 0xdc, 0xd4, 0xe2, 0xe2, 0xc4, 0xf4, 0x54, 0x09, 0x26, 0x05,
+	0x46, 0x0d, 0xce, 0x20, 0x18, 0x57, 0x48, 0x8f, 0x8b, 0x3d, 0x25, 0xb5, 0x24, 0x31, 0x33, 0xa7,
+	0x58, 0x82, 0x59, 0x81, 0x59, 0x83, 0xdb, 0x48, 0x44, 0x0f, 0x6a, 0x21, 0xcc, 0x12, 0x3d, 0xc7,
+	0xbc, 0xca, 0x20, 0x98, 0x22, 0xa7, 0x38, 0x2e, 0xbe, 0xe4, 0xfc, 0x5c, 0x3d, 0x84, 0xa3, 0x9c,
+	0xb8, 0x21, 0xf6, 0x06, 0x80, 0x94, 0x07, 0x30, 0x46, 0x99, 0x43, 0xa5, 0xd2, 0xf3, 0x73, 0x12,
+	0xf3, 0xd2, 0xf5, 0xf2, 0x8b, 0xd2, 0xf5, 0xd3, 0x53, 0xf3, 0xc0, 0x86, 0xe9, 0x43, 0xa4, 0x12,
+	0x0b, 0x32, 0x8b, 0x91, 0xfc, 0x69, 0x0d, 0xa1, 0x16, 0x31, 0x31, 0x07, 0x05, 0x38, 0x27, 0xb1,
+	0x81, 0x55, 0x1a, 0x03, 0x02, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x53, 0xf0, 0x7c, 0x10, 0x01, 0x00,
+	0x00,
 }
diff --git a/googleapis/rpc/status/status.proto b/googleapis/rpc/status/status.proto
deleted file mode 100644
index 6e8a9436..00000000
--- a/googleapis/rpc/status/status.proto
+++ /dev/null
@@ -1,92 +0,0 @@
-// 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.rpc;
-
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-
-option go_package = "google.golang.org/genproto/googleapis/rpc/status;status";
-option java_multiple_files = true;
-option java_outer_classname = "StatusProto";
-option java_package = "com.google.rpc";
-option objc_class_prefix = "RPC";
-
-
-// The `Status` type defines a logical error model that is suitable for different
-// programming environments, including REST APIs and RPC APIs. It is used by
-// [gRPC](https://github.com/grpc). The error model is designed to be:
-//
-// - Simple to use and understand for most users
-// - Flexible enough to meet unexpected needs
-//
-// # Overview
-//
-// The `Status` message contains three pieces of data: error code, error message,
-// and error details. The error code should be an enum value of
-// [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed.  The
-// error message should be a developer-facing English message that helps
-// developers *understand* and *resolve* the error. If a localized user-facing
-// error message is needed, put the localized message in the error details or
-// localize it in the client. The optional error details may contain arbitrary
-// information about the error. There is a predefined set of error detail types
-// in the package `google.rpc` which can be used for common error conditions.
-//
-// # Language mapping
-//
-// The `Status` message is the logical representation of the error model, but it
-// is not necessarily the actual wire format. When the `Status` message is
-// exposed in different client libraries and different wire protocols, it can be
-// mapped differently. For example, it will likely be mapped to some exceptions
-// in Java, but more likely mapped to some error codes in C.
-//
-// # Other uses
-//
-// The error model and the `Status` message can be used in a variety of
-// environments, either with or without APIs, to provide a
-// consistent developer experience across different environments.
-//
-// Example uses of this error model include:
-//
-// - Partial errors. If a service needs to return partial errors to the client,
-//     it may embed the `Status` in the normal response to indicate the partial
-//     errors.
-//
-// - Workflow errors. A typical workflow has multiple steps. Each step may
-//     have a `Status` message for error reporting purpose.
-//
-// - Batch operations. If a client uses batch request and batch response, the
-//     `Status` message should be used directly inside batch response, one for
-//     each error sub-response.
-//
-// - Asynchronous operations. If an API call embeds asynchronous operation
-//     results in its response, the status of those operations should be
-//     represented directly using the `Status` message.
-//
-// - Logging. If some API errors are stored in logs, the message `Status` could
-//     be used directly after any stripping needed for security/privacy reasons.
-message Status {
-  // The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
-  int32 code = 1;
-
-  // A developer-facing error message, which should be in English. Any
-  // user-facing error message should be localized and sent in the
-  // [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.
-  string message = 2;
-
-  // A list of messages that carry the error details.  There will be a
-  // common set of message types for APIs to use.
-  repeated google.protobuf.Any details = 3;
-}
diff --git a/googleapis/storagetransfer/v1/transfer.pb.go b/googleapis/storagetransfer/v1/transfer.pb.go
index b81c40df..d53abbe9 100644
--- a/googleapis/storagetransfer/v1/transfer.pb.go
+++ b/googleapis/storagetransfer/v1/transfer.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto
+// source: google/storagetransfer/v1/transfer.proto
 // DO NOT EDIT!
 
 /*
-Package google_storagetransfer_v1 is a generated protocol buffer package.
+Package storagetransfer is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto
-	google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto
+	google/storagetransfer/v1/transfer.proto
+	google/storagetransfer/v1/transfer_types.proto
 
 It has these top-level messages:
 	GetGoogleServiceAccountRequest
@@ -33,14 +33,14 @@ It has these top-level messages:
 	TransferCounters
 	TransferOperation
 */
-package google_storagetransfer_v1 // import "google.golang.org/genproto/googleapis/storagetransfer/v1"
+package storagetransfer
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/empty"
-import google_protobuf2 "google.golang.org/genproto/protobuf"
+import google_protobuf2 "google.golang.org/genproto/protobuf/field_mask"
 
 import (
 	context "golang.org/x/net/context"
@@ -71,6 +71,13 @@ func (m *GetGoogleServiceAccountRequest) String() string            { return pro
 func (*GetGoogleServiceAccountRequest) ProtoMessage()               {}
 func (*GetGoogleServiceAccountRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *GetGoogleServiceAccountRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // Request passed to CreateTransferJob.
 type CreateTransferJobRequest struct {
 	// The job to create.
@@ -115,6 +122,20 @@ func (m *UpdateTransferJobRequest) String() string            { return proto.Com
 func (*UpdateTransferJobRequest) ProtoMessage()               {}
 func (*UpdateTransferJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *UpdateTransferJobRequest) GetJobName() string {
+	if m != nil {
+		return m.JobName
+	}
+	return ""
+}
+
+func (m *UpdateTransferJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *UpdateTransferJobRequest) GetTransferJob() *TransferJob {
 	if m != nil {
 		return m.TransferJob
@@ -144,6 +165,20 @@ func (m *GetTransferJobRequest) String() string            { return proto.Compac
 func (*GetTransferJobRequest) ProtoMessage()               {}
 func (*GetTransferJobRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
 
+func (m *GetTransferJobRequest) GetJobName() string {
+	if m != nil {
+		return m.JobName
+	}
+	return ""
+}
+
+func (m *GetTransferJobRequest) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 // `project_id`, `job_names`, and `job_statuses` are query parameters that can
 // be specified when listing transfer jobs.
 type ListTransferJobsRequest struct {
@@ -167,6 +202,27 @@ func (m *ListTransferJobsRequest) String() string            { return proto.Comp
 func (*ListTransferJobsRequest) ProtoMessage()               {}
 func (*ListTransferJobsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *ListTransferJobsRequest) GetFilter() string {
+	if m != nil {
+		return m.Filter
+	}
+	return ""
+}
+
+func (m *ListTransferJobsRequest) GetPageSize() int32 {
+	if m != nil {
+		return m.PageSize
+	}
+	return 0
+}
+
+func (m *ListTransferJobsRequest) GetPageToken() string {
+	if m != nil {
+		return m.PageToken
+	}
+	return ""
+}
+
 // Response from ListTransferJobs.
 type ListTransferJobsResponse struct {
 	// A list of transfer jobs.
@@ -187,6 +243,13 @@ func (m *ListTransferJobsResponse) GetTransferJobs() []*TransferJob {
 	return nil
 }
 
+func (m *ListTransferJobsResponse) GetNextPageToken() string {
+	if m != nil {
+		return m.NextPageToken
+	}
+	return ""
+}
+
 // Request passed to PauseTransferOperation.
 type PauseTransferOperationRequest struct {
 	// The name of the transfer operation.
@@ -199,6 +262,13 @@ func (m *PauseTransferOperationRequest) String() string            { return prot
 func (*PauseTransferOperationRequest) ProtoMessage()               {}
 func (*PauseTransferOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
 
+func (m *PauseTransferOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 // Request passed to ResumeTransferOperation.
 type ResumeTransferOperationRequest struct {
 	// The name of the transfer operation.
@@ -211,6 +281,13 @@ func (m *ResumeTransferOperationRequest) String() string            { return pro
 func (*ResumeTransferOperationRequest) ProtoMessage()               {}
 func (*ResumeTransferOperationRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
 
+func (m *ResumeTransferOperationRequest) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*GetGoogleServiceAccountRequest)(nil), "google.storagetransfer.v1.GetGoogleServiceAccountRequest")
 	proto.RegisterType((*CreateTransferJobRequest)(nil), "google.storagetransfer.v1.CreateTransferJobRequest")
@@ -521,61 +598,59 @@ var _StorageTransferService_serviceDesc = grpc.ServiceDesc{
 		},
 	},
 	Streams:  []grpc.StreamDesc{},
-	Metadata: "google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto",
+	Metadata: "google/storagetransfer/v1/transfer.proto",
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/storagetransfer/v1/transfer.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/storagetransfer/v1/transfer.proto", fileDescriptor0) }
 
 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,
+	// 755 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x96, 0xdd, 0x4e, 0x13, 0x5b,
+	0x14, 0xc7, 0xb3, 0xf9, 0x3a, 0xb0, 0x80, 0x73, 0x60, 0x27, 0xa7, 0x0c, 0xe5, 0xd0, 0x34, 0x43,
+	0xd2, 0x83, 0xd5, 0xcc, 0x48, 0xeb, 0x85, 0x62, 0x8c, 0x11, 0xa3, 0x88, 0x9f, 0x58, 0xf0, 0xc6,
+	0x0b, 0x27, 0xbb, 0xed, 0xea, 0x64, 0x4a, 0x3b, 0x7b, 0x9c, 0xbd, 0x4b, 0x04, 0xc2, 0x85, 0xbe,
+	0x80, 0x89, 0xc6, 0xc4, 0xc4, 0x98, 0xf8, 0x12, 0x3e, 0x89, 0xaf, 0xe0, 0x43, 0xe8, 0x95, 0x66,
+	0x76, 0x67, 0xca, 0xd0, 0x8f, 0x01, 0xd4, 0xbb, 0xd9, 0x7b, 0xaf, 0x8f, 0xdf, 0x5a, 0x8b, 0xff,
+	0xa2, 0xb0, 0x6c, 0x73, 0x6e, 0x37, 0xd0, 0x14, 0x92, 0xfb, 0xcc, 0x46, 0xe9, 0x33, 0x57, 0xd4,
+	0xd0, 0x37, 0x77, 0x57, 0xcc, 0xe8, 0xdb, 0xf0, 0x7c, 0x2e, 0x39, 0x9d, 0x6f, 0x5b, 0x1a, 0x5d,
+	0x96, 0xc6, 0xee, 0x4a, 0xfa, 0xbf, 0x30, 0x08, 0xf3, 0x1c, 0x93, 0xb9, 0x2e, 0x97, 0x4c, 0x3a,
+	0xdc, 0x15, 0x6d, 0xc7, 0xf4, 0x42, 0xf8, 0xaa, 0x4e, 0xe5, 0x56, 0xcd, 0xc4, 0xa6, 0x27, 0xf7,
+	0xc2, 0xc7, 0x6c, 0xf7, 0x63, 0xcd, 0xc1, 0x46, 0xd5, 0x6a, 0x32, 0xb1, 0x13, 0x5a, 0x18, 0x27,
+	0x13, 0x5a, 0x72, 0xcf, 0xc3, 0x30, 0x9d, 0x7e, 0x1d, 0x32, 0xeb, 0x28, 0xd7, 0x95, 0xd3, 0x16,
+	0xfa, 0xbb, 0x4e, 0x05, 0x6f, 0x54, 0x2a, 0xbc, 0xe5, 0xca, 0x12, 0x3e, 0x6f, 0xa1, 0x90, 0x74,
+	0x11, 0xc0, 0xf3, 0x79, 0x1d, 0x2b, 0xd2, 0x72, 0xaa, 0x1a, 0xc9, 0x92, 0xe5, 0x89, 0xd2, 0x44,
+	0x78, 0xb3, 0x51, 0xd5, 0x11, 0xb4, 0x9b, 0x3e, 0x32, 0x89, 0xdb, 0x61, 0xf8, 0xbb, 0xbc, 0x1c,
+	0xb9, 0x6e, 0xc0, 0x54, 0x27, 0x69, 0x9d, 0x97, 0x95, 0xf3, 0x64, 0x21, 0x67, 0x0c, 0xec, 0x8d,
+	0x11, 0x0f, 0x32, 0x29, 0x8f, 0x0e, 0xfa, 0x0f, 0x02, 0xda, 0x13, 0xaf, 0xda, 0x3f, 0xcf, 0x3c,
+	0x8c, 0xd7, 0x79, 0xd9, 0x72, 0x59, 0x13, 0x43, 0xc0, 0xbf, 0xea, 0xbc, 0xfc, 0x90, 0x35, 0xb1,
+	0x8b, 0x7e, 0xa8, 0x8b, 0xbe, 0x87, 0x70, 0xf8, 0x97, 0x09, 0xe9, 0x33, 0xc8, 0xb4, 0x14, 0xa0,
+	0x15, 0x8f, 0x68, 0x1d, 0x4d, 0x48, 0x1b, 0x51, 0xc1, 0xa3, 0x11, 0x19, 0xd1, 0x10, 0x8d, 0xdb,
+	0x81, 0xc9, 0x03, 0x26, 0x76, 0x4a, 0xe9, 0x56, 0x77, 0x89, 0x9d, 0x37, 0xfd, 0x31, 0xfc, 0xbb,
+	0x8e, 0xf2, 0x4f, 0x56, 0xaf, 0x37, 0x61, 0xee, 0xbe, 0x23, 0xe2, 0x31, 0x45, 0x14, 0x34, 0x05,
+	0x63, 0x35, 0xa7, 0x21, 0xd1, 0x0f, 0x43, 0x86, 0x27, 0xba, 0x00, 0x13, 0x1e, 0xb3, 0xd1, 0x12,
+	0xce, 0x3e, 0xaa, 0x82, 0x46, 0x4b, 0xe3, 0xc1, 0xc5, 0x96, 0xb3, 0xdf, 0x4e, 0x17, 0x3c, 0x4a,
+	0xbe, 0x83, 0xae, 0x36, 0x1a, 0xa6, 0x63, 0x36, 0x6e, 0x07, 0x17, 0xfa, 0x6b, 0x02, 0x5a, 0x6f,
+	0x3e, 0xe1, 0x71, 0x57, 0x20, 0xbd, 0x07, 0xd3, 0xf1, 0xbe, 0x09, 0x8d, 0x64, 0x87, 0xcf, 0x30,
+	0x8a, 0xa9, 0xd8, 0x28, 0x04, 0xcd, 0xc1, 0x3f, 0x2e, 0xbe, 0x90, 0x56, 0x8c, 0xa6, 0x5d, 0xfc,
+	0x74, 0x70, 0xbd, 0xd9, 0x21, 0x2a, 0xc2, 0xe2, 0x26, 0x6b, 0x89, 0x4e, 0xc3, 0x1f, 0x79, 0xe8,
+	0x2b, 0x35, 0x46, 0x6d, 0xa0, 0x30, 0x12, 0xeb, 0xab, 0xfa, 0xd6, 0x2f, 0x41, 0xa6, 0x84, 0xa2,
+	0xd5, 0x3c, 0x93, 0x57, 0xe1, 0xfb, 0x38, 0xa4, 0xb6, 0xda, 0x35, 0x44, 0x7e, 0xa1, 0xde, 0xe8,
+	0x67, 0x02, 0x73, 0x03, 0x44, 0x48, 0xaf, 0x24, 0xd4, 0x9f, 0x2c, 0xdc, 0xb4, 0x99, 0xe4, 0xda,
+	0xc7, 0x4f, 0x37, 0x5e, 0x7d, 0xf9, 0xfa, 0x76, 0x68, 0x99, 0xe6, 0x82, 0x6d, 0x61, 0xf7, 0xb1,
+	0x10, 0xe6, 0xc1, 0xd1, 0x9f, 0xd3, 0x21, 0x7d, 0x4f, 0x60, 0xb6, 0x47, 0xfb, 0xb4, 0x98, 0x90,
+	0x76, 0xd0, 0xa6, 0x48, 0x9f, 0x72, 0xcc, 0x7a, 0x4e, 0x21, 0x66, 0xf5, 0x99, 0xf8, 0x42, 0x0b,
+	0x46, 0xbe, 0x7a, 0x4c, 0xc7, 0xf4, 0x03, 0x81, 0xd9, 0x9e, 0x75, 0x91, 0x88, 0x36, 0x68, 0xb9,
+	0x9c, 0x1a, 0xed, 0x9c, 0x42, 0x5b, 0x2a, 0x64, 0x02, 0xb4, 0x83, 0x48, 0x91, 0xd7, 0xe2, 0x90,
+	0x66, 0x3e, 0x7f, 0xb8, 0x4a, 0xf2, 0xf4, 0x0d, 0x81, 0xbf, 0x8f, 0x6b, 0x99, 0x5e, 0x4c, 0x9e,
+	0xf3, 0xef, 0xb7, 0x8c, 0x9e, 0xc0, 0x45, 0xdf, 0x11, 0x98, 0xe9, 0x56, 0x27, 0x2d, 0x24, 0x24,
+	0x19, 0xb0, 0x3a, 0xd2, 0xc5, 0x33, 0xf9, 0xb4, 0xe5, 0xaf, 0x6b, 0x8a, 0x92, 0xd2, 0x9e, 0xc1,
+	0xd2, 0x8f, 0x04, 0x52, 0xfd, 0x45, 0x4a, 0x2f, 0x27, 0x64, 0x4a, 0xd4, 0x75, 0x3a, 0xd5, 0xb3,
+	0x84, 0x6f, 0x05, 0xff, 0x66, 0xf5, 0x15, 0x85, 0x71, 0x5e, 0x57, 0x12, 0x38, 0x38, 0xd6, 0xa8,
+	0x4e, 0x8c, 0xf6, 0x18, 0xbd, 0x20, 0x7e, 0x30, 0xcc, 0x4f, 0x04, 0xe6, 0x06, 0xec, 0x83, 0x44,
+	0xf5, 0x26, 0xef, 0x90, 0x81, 0x84, 0x05, 0x45, 0x78, 0x41, 0xff, 0xff, 0x44, 0x42, 0x5f, 0x25,
+	0x58, 0x25, 0xf9, 0xb5, 0x97, 0x04, 0x96, 0x2a, 0xbc, 0x99, 0x00, 0xa3, 0x92, 0xac, 0x4d, 0x47,
+	0x34, 0x9b, 0xc1, 0xf1, 0xe9, 0x9d, 0xd0, 0xde, 0xe6, 0x0d, 0xe6, 0xda, 0x06, 0xf7, 0x6d, 0xd3,
+	0x46, 0x57, 0x99, 0x86, 0xeb, 0x81, 0x79, 0x8e, 0xe8, 0xf3, 0x53, 0xe3, 0x6a, 0xd7, 0xd5, 0x37,
+	0x42, 0xca, 0x63, 0xca, 0xaf, 0xf8, 0x33, 0x00, 0x00, 0xff, 0xff, 0x18, 0x96, 0x62, 0x38, 0x43,
+	0x09, 0x00, 0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer.proto b/googleapis/storagetransfer/v1/transfer.proto
deleted file mode 100644
index 7164d0b8..00000000
--- a/googleapis/storagetransfer/v1/transfer.proto
+++ /dev/null
@@ -1,167 +0,0 @@
-// 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.storagetransfer.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 "google.golang.org/genproto/protobuf/field_mask.proto"; // from google/protobuf/field_mask.proto
-import "google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto"; // from google/storagetransfer/v1/transfer_types.proto
-
-option cc_enable_arenas = true;
-option java_outer_classname = "TransferProto";
-option java_package = "com.google.storagetransfer.v1.proto";
-
-
-// Transfers data between between Google Cloud Storage buckets or from a data
-// source external to Google to a Cloud Storage bucket.
-service StorageTransferService {
-  // Returns the Google service account that is used by Storage Transfer
-  // Service to access buckets in the project where transfers
-  // run or in other projects. Each Google service account is associated
-  // with one Google Cloud Platform Console project. Users
-  // should add this service account to the Google Cloud Storage bucket
-  // ACLs to grant access to Storage Transfer Service. This service
-  // account is created and owned by Storage Transfer Service and can
-  // only be used by Storage Transfer Service.
-  rpc GetGoogleServiceAccount(GetGoogleServiceAccountRequest) returns (GoogleServiceAccount) {
-    option (google.api.http) = { get: "/v1/googleServiceAccounts/{project_id}" };
-  }
-
-  // Creates a transfer job that runs periodically.
-  rpc CreateTransferJob(CreateTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { post: "/v1/transferJobs" body: "transfer_job" };
-  }
-
-  // Updates a transfer job. Updating a job's transfer spec does not affect
-  // transfer operations that are running already. Updating the scheduling
-  // of a job is not allowed.
-  rpc UpdateTransferJob(UpdateTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { patch: "/v1/{job_name=transferJobs/**}" body: "*" };
-  }
-
-  // Gets a transfer job.
-  rpc GetTransferJob(GetTransferJobRequest) returns (TransferJob) {
-    option (google.api.http) = { get: "/v1/{job_name=transferJobs/**}" };
-  }
-
-  // Lists transfer jobs.
-  rpc ListTransferJobs(ListTransferJobsRequest) returns (ListTransferJobsResponse) {
-    option (google.api.http) = { get: "/v1/transferJobs" };
-  }
-
-  // Pauses a transfer operation.
-  rpc PauseTransferOperation(PauseTransferOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=transferOperations/**}:pause" body: "*" };
-  }
-
-  // Resumes a transfer operation that is paused.
-  rpc ResumeTransferOperation(ResumeTransferOperationRequest) returns (google.protobuf.Empty) {
-    option (google.api.http) = { post: "/v1/{name=transferOperations/**}:resume" body: "*" };
-  }
-}
-
-// Request passed to GetGoogleServiceAccount.
-message GetGoogleServiceAccountRequest {
-  // The ID of the Google Cloud Platform Console project that the Google service
-  // account is associated with.
-  // Required.
-  string project_id = 1;
-}
-
-// Request passed to CreateTransferJob.
-message CreateTransferJobRequest {
-  // The job to create.
-  // Required.
-  TransferJob transfer_job = 1;
-}
-
-// Request passed to UpdateTransferJob.
-message UpdateTransferJobRequest {
-  // The name of job to update.
-  // Required.
-  string job_name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 2;
-
-  // The job to update.
-  // Required.
-  TransferJob transfer_job = 3;
-
-  // The field mask of the fields in `transferJob` that are to be updated in
-  // this request.  Fields in `transferJob` that can be updated are:
-  // `description`, `transferSpec`, and `status`.  To update the `transferSpec`
-  // of the job, a complete transfer specification has to be provided. An
-  // incomplete specification which misses any required fields will be rejected
-  // with the error `INVALID_ARGUMENT`.
-  google.protobuf.FieldMask update_transfer_job_field_mask = 4;
-}
-
-// Request passed to GetTransferJob.
-message GetTransferJobRequest {
-  // The job to get.
-  // Required.
-  string job_name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 2;
-}
-
-// `project_id`, `job_names`, and `job_statuses` are query parameters that can
-// be specified when listing transfer jobs.
-message ListTransferJobsRequest {
-  // A list of query parameters specified as JSON text in the form of
-  // {"project_id":"my_project_id",
-  // "job_names":["jobid1","jobid2",...],
-  // "job_statuses":["status1","status2",...]}.
-  // Since `job_names` and `job_statuses` support multiple values, their values
-  // must be specified with array notation. `project_id` is required. `job_names`
-  // and `job_statuses` are optional.  The valid values for `job_statuses` are
-  // case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.
-  string filter = 1;
-
-  // The list page size. The max allowed value is 256.
-  int32 page_size = 4;
-
-  // The list page token.
-  string page_token = 5;
-}
-
-// Response from ListTransferJobs.
-message ListTransferJobsResponse {
-  // A list of transfer jobs.
-  repeated TransferJob transfer_jobs = 1;
-
-  // The list next page token.
-  string next_page_token = 2;
-}
-
-// Request passed to PauseTransferOperation.
-message PauseTransferOperationRequest {
-  // The name of the transfer operation.
-  // Required.
-  string name = 1;
-}
-
-// Request passed to ResumeTransferOperation.
-message ResumeTransferOperationRequest {
-  // The name of the transfer operation.
-  // Required.
-  string name = 1;
-}
diff --git a/googleapis/storagetransfer/v1/transfer_types.pb.go b/googleapis/storagetransfer/v1/transfer_types.pb.go
index b5d847b9..29f3a0e2 100644
--- a/googleapis/storagetransfer/v1/transfer_types.pb.go
+++ b/googleapis/storagetransfer/v1/transfer_types.pb.go
@@ -1,13 +1,13 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto
+// source: google/storagetransfer/v1/transfer_types.proto
 // DO NOT EDIT!
 
-package google_storagetransfer_v1 // import "google.golang.org/genproto/googleapis/storagetransfer/v1"
+package storagetransfer
 
 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/api/annotations"
 import google_protobuf3 "github.com/golang/protobuf/ptypes/duration"
 import google_protobuf4 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/code"
@@ -104,6 +104,13 @@ func (m *GoogleServiceAccount) String() string            { return proto.Compact
 func (*GoogleServiceAccount) ProtoMessage()               {}
 func (*GoogleServiceAccount) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
 
+func (m *GoogleServiceAccount) GetAccountEmail() string {
+	if m != nil {
+		return m.AccountEmail
+	}
+	return ""
+}
+
 // AWS access key (see
 // [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
 type AwsAccessKey struct {
@@ -120,6 +127,20 @@ func (m *AwsAccessKey) String() string            { return proto.CompactTextStri
 func (*AwsAccessKey) ProtoMessage()               {}
 func (*AwsAccessKey) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
 
+func (m *AwsAccessKey) GetAccessKeyId() string {
+	if m != nil {
+		return m.AccessKeyId
+	}
+	return ""
+}
+
+func (m *AwsAccessKey) GetSecretAccessKey() string {
+	if m != nil {
+		return m.SecretAccessKey
+	}
+	return ""
+}
+
 // Conditions that determine which objects will be transferred.
 type ObjectConditions struct {
 	// If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
@@ -193,6 +214,20 @@ func (m *ObjectConditions) GetMaxTimeElapsedSinceLastModification() *google_prot
 	return nil
 }
 
+func (m *ObjectConditions) GetIncludePrefixes() []string {
+	if m != nil {
+		return m.IncludePrefixes
+	}
+	return nil
+}
+
+func (m *ObjectConditions) GetExcludePrefixes() []string {
+	if m != nil {
+		return m.ExcludePrefixes
+	}
+	return nil
+}
+
 // In a GcsData, an object's name is the Google Cloud Storage object's name and
 // its `lastModificationTime` refers to the object's updated time, which changes
 // when the content or the metadata of the object is updated.
@@ -208,6 +243,13 @@ func (m *GcsData) String() string            { return proto.CompactTextString(m)
 func (*GcsData) ProtoMessage()               {}
 func (*GcsData) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
 
+func (m *GcsData) GetBucketName() string {
+	if m != nil {
+		return m.BucketName
+	}
+	return ""
+}
+
 // An AwsS3Data can be a data source, but not a data sink.
 // In an AwsS3Data, an object's name is the S3 object's key name.
 type AwsS3Data struct {
@@ -227,6 +269,13 @@ func (m *AwsS3Data) String() string            { return proto.CompactTextString(
 func (*AwsS3Data) ProtoMessage()               {}
 func (*AwsS3Data) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
 
+func (m *AwsS3Data) GetBucketName() string {
+	if m != nil {
+		return m.BucketName
+	}
+	return ""
+}
+
 func (m *AwsS3Data) GetAwsAccessKey() *AwsAccessKey {
 	if m != nil {
 		return m.AwsAccessKey
@@ -288,6 +337,13 @@ func (m *HttpData) String() string            { return proto.CompactTextString(m
 func (*HttpData) ProtoMessage()               {}
 func (*HttpData) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
 
+func (m *HttpData) GetListUrl() string {
+	if m != nil {
+		return m.ListUrl
+	}
+	return ""
+}
+
 // TransferOptions uses three boolean parameters to define the actions
 // to be performed on objects in a transfer.
 type TransferOptions struct {
@@ -305,6 +361,27 @@ func (m *TransferOptions) String() string            { return proto.CompactTextS
 func (*TransferOptions) ProtoMessage()               {}
 func (*TransferOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
 
+func (m *TransferOptions) GetOverwriteObjectsAlreadyExistingInSink() bool {
+	if m != nil {
+		return m.OverwriteObjectsAlreadyExistingInSink
+	}
+	return false
+}
+
+func (m *TransferOptions) GetDeleteObjectsUniqueInSink() bool {
+	if m != nil {
+		return m.DeleteObjectsUniqueInSink
+	}
+	return false
+}
+
+func (m *TransferOptions) GetDeleteObjectsFromSourceAfterTransfer() bool {
+	if m != nil {
+		return m.DeleteObjectsFromSourceAfterTransfer
+	}
+	return false
+}
+
 // Configuration for running a transfer.
 type TransferSpec struct {
 	// The read source of the data.
@@ -626,6 +703,27 @@ func (m *TransferJob) String() string            { return proto.CompactTextStrin
 func (*TransferJob) ProtoMessage()               {}
 func (*TransferJob) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
 
+func (m *TransferJob) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TransferJob) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
+func (m *TransferJob) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *TransferJob) GetTransferSpec() *TransferSpec {
 	if m != nil {
 		return m.TransferSpec
@@ -640,6 +738,13 @@ func (m *TransferJob) GetSchedule() *Schedule {
 	return nil
 }
 
+func (m *TransferJob) GetStatus() TransferJob_Status {
+	if m != nil {
+		return m.Status
+	}
+	return TransferJob_STATUS_UNSPECIFIED
+}
+
 func (m *TransferJob) GetCreationTime() *google_protobuf4.Timestamp {
 	if m != nil {
 		return m.CreationTime
@@ -676,6 +781,20 @@ func (m *ErrorLogEntry) String() string            { return proto.CompactTextStr
 func (*ErrorLogEntry) ProtoMessage()               {}
 func (*ErrorLogEntry) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
 
+func (m *ErrorLogEntry) GetUrl() string {
+	if m != nil {
+		return m.Url
+	}
+	return ""
+}
+
+func (m *ErrorLogEntry) GetErrorDetails() []string {
+	if m != nil {
+		return m.ErrorDetails
+	}
+	return nil
+}
+
 // A summary of errors by error code, plus a count and sample error log
 // entries.
 type ErrorSummary struct {
@@ -693,6 +812,20 @@ func (m *ErrorSummary) String() string            { return proto.CompactTextStri
 func (*ErrorSummary) ProtoMessage()               {}
 func (*ErrorSummary) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
 
+func (m *ErrorSummary) GetErrorCode() google_rpc.Code {
+	if m != nil {
+		return m.ErrorCode
+	}
+	return google_rpc.Code_OK
+}
+
+func (m *ErrorSummary) GetErrorCount() int64 {
+	if m != nil {
+		return m.ErrorCount
+	}
+	return 0
+}
+
 func (m *ErrorSummary) GetErrorLogEntries() []*ErrorLogEntry {
 	if m != nil {
 		return m.ErrorLogEntries
@@ -747,6 +880,118 @@ func (m *TransferCounters) String() string            { return proto.CompactText
 func (*TransferCounters) ProtoMessage()               {}
 func (*TransferCounters) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
 
+func (m *TransferCounters) GetObjectsFoundFromSource() int64 {
+	if m != nil {
+		return m.ObjectsFoundFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFoundFromSource() int64 {
+	if m != nil {
+		return m.BytesFoundFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFoundOnlyFromSink() int64 {
+	if m != nil {
+		return m.ObjectsFoundOnlyFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFoundOnlyFromSink() int64 {
+	if m != nil {
+		return m.BytesFoundOnlyFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFromSourceSkippedBySync() int64 {
+	if m != nil {
+		return m.ObjectsFromSourceSkippedBySync
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFromSourceSkippedBySync() int64 {
+	if m != nil {
+		return m.BytesFromSourceSkippedBySync
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsCopiedToSink() int64 {
+	if m != nil {
+		return m.ObjectsCopiedToSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesCopiedToSink() int64 {
+	if m != nil {
+		return m.BytesCopiedToSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsDeletedFromSource() int64 {
+	if m != nil {
+		return m.ObjectsDeletedFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesDeletedFromSource() int64 {
+	if m != nil {
+		return m.BytesDeletedFromSource
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsDeletedFromSink() int64 {
+	if m != nil {
+		return m.ObjectsDeletedFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesDeletedFromSink() int64 {
+	if m != nil {
+		return m.BytesDeletedFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFromSourceFailed() int64 {
+	if m != nil {
+		return m.ObjectsFromSourceFailed
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFromSourceFailed() int64 {
+	if m != nil {
+		return m.BytesFromSourceFailed
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetObjectsFailedToDeleteFromSink() int64 {
+	if m != nil {
+		return m.ObjectsFailedToDeleteFromSink
+	}
+	return 0
+}
+
+func (m *TransferCounters) GetBytesFailedToDeleteFromSink() int64 {
+	if m != nil {
+		return m.BytesFailedToDeleteFromSink
+	}
+	return 0
+}
+
 // A description of the execution of a transfer.
 type TransferOperation struct {
 	// A globally unique ID assigned by the system.
@@ -776,6 +1021,20 @@ func (m *TransferOperation) String() string            { return proto.CompactTex
 func (*TransferOperation) ProtoMessage()               {}
 func (*TransferOperation) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
 
+func (m *TransferOperation) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *TransferOperation) GetProjectId() string {
+	if m != nil {
+		return m.ProjectId
+	}
+	return ""
+}
+
 func (m *TransferOperation) GetTransferSpec() *TransferSpec {
 	if m != nil {
 		return m.TransferSpec
@@ -797,6 +1056,13 @@ func (m *TransferOperation) GetEndTime() *google_protobuf4.Timestamp {
 	return nil
 }
 
+func (m *TransferOperation) GetStatus() TransferOperation_Status {
+	if m != nil {
+		return m.Status
+	}
+	return TransferOperation_STATUS_UNSPECIFIED
+}
+
 func (m *TransferOperation) GetCounters() *TransferCounters {
 	if m != nil {
 		return m.Counters
@@ -811,6 +1077,13 @@ func (m *TransferOperation) GetErrorBreakdowns() []*ErrorSummary {
 	return nil
 }
 
+func (m *TransferOperation) GetTransferJobName() string {
+	if m != nil {
+		return m.TransferJobName
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*GoogleServiceAccount)(nil), "google.storagetransfer.v1.GoogleServiceAccount")
 	proto.RegisterType((*AwsAccessKey)(nil), "google.storagetransfer.v1.AwsAccessKey")
@@ -830,120 +1103,117 @@ func init() {
 	proto.RegisterEnum("google.storagetransfer.v1.TransferOperation_Status", TransferOperation_Status_name, TransferOperation_Status_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/storagetransfer/v1/transfer_types.proto", fileDescriptor1)
-}
+func init() { proto.RegisterFile("google/storagetransfer/v1/transfer_types.proto", fileDescriptor1) }
 
 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,
+	// 1729 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdd, 0x72, 0xdb, 0xc6,
+	0x15, 0x36, 0x45, 0x59, 0x22, 0x0f, 0x49, 0x91, 0xda, 0x38, 0x0a, 0x25, 0xdb, 0x89, 0x0b, 0x25,
+	0x63, 0xc7, 0x99, 0x92, 0x13, 0x69, 0x32, 0x1d, 0xd7, 0x93, 0xba, 0x94, 0x48, 0x49, 0x8c, 0x15,
+	0x4b, 0x03, 0x50, 0xd3, 0x9f, 0x8b, 0x62, 0x96, 0xc0, 0x92, 0x46, 0x04, 0x62, 0x51, 0xec, 0xd2,
+	0x12, 0xa6, 0x57, 0xb9, 0xea, 0x33, 0xf4, 0x45, 0xfa, 0x14, 0x9d, 0xe9, 0x5d, 0x9f, 0xa3, 0x97,
+	0xbd, 0xec, 0xec, 0x0f, 0x40, 0x10, 0xa2, 0x49, 0xcd, 0xe4, 0x0e, 0x38, 0xe7, 0x7c, 0xdf, 0xd9,
+	0xf3, 0xc3, 0x73, 0x16, 0x84, 0xd6, 0x98, 0xd2, 0xb1, 0x4f, 0xda, 0x8c, 0xd3, 0x08, 0x8f, 0x09,
+	0x8f, 0x70, 0xc0, 0x46, 0x24, 0x6a, 0x7f, 0xf8, 0xb6, 0x9d, 0x3c, 0xdb, 0x3c, 0x0e, 0x09, 0x6b,
+	0x85, 0x11, 0xe5, 0x14, 0xed, 0x2a, 0xfb, 0x56, 0xce, 0xbe, 0xf5, 0xe1, 0xdb, 0xbd, 0x27, 0x9a,
+	0x0a, 0x87, 0x5e, 0x1b, 0x07, 0x01, 0xe5, 0x98, 0x7b, 0x34, 0xd0, 0xc0, 0xbd, 0xcf, 0xb5, 0x56,
+	0xbe, 0x0d, 0xa7, 0xa3, 0xb6, 0x3b, 0x8d, 0xa4, 0x81, 0xd6, 0x7f, 0x91, 0xd7, 0x73, 0x6f, 0x42,
+	0x18, 0xc7, 0x93, 0x50, 0x1b, 0x7c, 0xaa, 0x0d, 0xa2, 0xd0, 0x69, 0x3b, 0xd4, 0x25, 0x5a, 0xbc,
+	0xa3, 0xc5, 0xe2, 0x90, 0x6d, 0x17, 0xf3, 0x44, 0xfe, 0x38, 0x2b, 0x17, 0x5c, 0x74, 0xe4, 0xe2,
+	0x58, 0x29, 0x8d, 0xd7, 0xf0, 0xe8, 0x54, 0xaa, 0x2d, 0x12, 0x7d, 0xf0, 0x1c, 0xd2, 0x71, 0x1c,
+	0x3a, 0x0d, 0x38, 0xda, 0x87, 0x1a, 0x56, 0x8f, 0x36, 0x99, 0x60, 0xcf, 0x6f, 0x16, 0x9e, 0x15,
+	0x5e, 0x94, 0xcd, 0xaa, 0x16, 0xf6, 0x84, 0xcc, 0xf8, 0x0b, 0x54, 0x3b, 0x37, 0xac, 0xe3, 0x38,
+	0x84, 0xb1, 0xb7, 0x24, 0x46, 0x86, 0x04, 0x11, 0xc6, 0xec, 0x6b, 0x12, 0xdb, 0x9e, 0xab, 0x41,
+	0x15, 0x9c, 0x58, 0xf4, 0x5d, 0xf4, 0x12, 0xb6, 0x19, 0x71, 0x22, 0xc2, 0xed, 0x99, 0x69, 0x73,
+	0x4d, 0xda, 0xd5, 0x95, 0x22, 0xe5, 0x33, 0xfe, 0xb5, 0x06, 0x8d, 0x8b, 0xe1, 0x4f, 0xc4, 0xe1,
+	0xc7, 0x34, 0x70, 0x3d, 0x99, 0x44, 0x14, 0xc2, 0x8b, 0x89, 0x17, 0xd8, 0x22, 0x10, 0x9b, 0xf8,
+	0x38, 0x64, 0xc4, 0xb5, 0x99, 0x17, 0x38, 0xc4, 0xf6, 0x31, 0xe3, 0xf6, 0x84, 0xba, 0xde, 0xc8,
+	0x73, 0x64, 0x42, 0xa5, 0xff, 0xca, 0xc1, 0xae, 0x2e, 0x6d, 0x2b, 0xc9, 0x68, 0xab, 0xab, 0x33,
+	0x6e, 0xee, 0x4f, 0xbc, 0x60, 0xe0, 0x4d, 0x48, 0x4f, 0x11, 0x59, 0x82, 0xe7, 0x1c, 0x33, 0xfe,
+	0x63, 0x86, 0x45, 0x7a, 0xc4, 0xb7, 0xf7, 0xf3, 0xb8, 0xb6, 0xda, 0x23, 0xbe, 0x5d, 0xe9, 0xf1,
+	0x6b, 0x68, 0x78, 0x81, 0xe3, 0x4f, 0x5d, 0x62, 0x87, 0x11, 0x19, 0x79, 0xb7, 0x84, 0x35, 0x8b,
+	0xcf, 0x8a, 0x22, 0x47, 0x5a, 0x7e, 0xa9, 0xc5, 0xc2, 0x94, 0xdc, 0xe6, 0x4c, 0xd7, 0x95, 0xa9,
+	0x96, 0x27, 0xa6, 0xc6, 0x4b, 0xd8, 0x3c, 0x75, 0x58, 0x17, 0x73, 0x8c, 0xbe, 0x80, 0xca, 0x70,
+	0xea, 0x5c, 0x13, 0x6e, 0x07, 0x78, 0x42, 0x74, 0x9d, 0x40, 0x89, 0xde, 0xe1, 0x09, 0x31, 0xfe,
+	0x06, 0xe5, 0xce, 0x0d, 0xb3, 0x0e, 0xef, 0x65, 0x8d, 0x7e, 0x84, 0x2d, 0x7c, 0xc3, 0xf2, 0x15,
+	0xad, 0x1c, 0x3c, 0x6f, 0x7d, 0xf4, 0x47, 0xd2, 0xca, 0x76, 0x8e, 0x59, 0xc5, 0x99, 0x37, 0xe3,
+	0x2b, 0x28, 0x9d, 0x71, 0x1e, 0x4a, 0xdf, 0xbb, 0x50, 0xf2, 0x3d, 0xc6, 0xed, 0x69, 0x94, 0xf4,
+	0xe0, 0xa6, 0x78, 0xbf, 0x8a, 0x7c, 0xe3, 0xef, 0x6b, 0x50, 0x1f, 0x68, 0xc6, 0x8b, 0x50, 0x75,
+	0xc7, 0x9f, 0xe0, 0x25, 0xfd, 0x40, 0xa2, 0x9b, 0xc8, 0xe3, 0xc4, 0xa6, 0xb2, 0x77, 0x98, 0x8d,
+	0xfd, 0x88, 0x60, 0x37, 0xb6, 0xc9, 0xad, 0xc7, 0xb8, 0x17, 0x8c, 0x6d, 0x2f, 0x10, 0x05, 0xbc,
+	0x96, 0x84, 0x25, 0xf3, 0xab, 0x14, 0xa1, 0x9a, 0x8d, 0x75, 0x94, 0x7d, 0x4f, 0x9b, 0xf7, 0x03,
+	0xcb, 0x0b, 0xae, 0xd1, 0xef, 0xe1, 0xa9, 0x4b, 0x7c, 0x92, 0xe1, 0x9d, 0x06, 0xde, 0x5f, 0xa7,
+	0x24, 0x65, 0x5b, 0x93, 0x6c, 0xbb, 0xca, 0x48, 0x53, 0x5d, 0x49, 0x13, 0xcd, 0xf0, 0x07, 0xf8,
+	0x3a, 0xc7, 0x30, 0x8a, 0xe8, 0xc4, 0x66, 0x74, 0x1a, 0x39, 0xc4, 0xc6, 0x23, 0x2e, 0x46, 0x8c,
+	0x0e, 0xa8, 0x59, 0x94, 0x6c, 0x5f, 0xce, 0xb1, 0x9d, 0x44, 0x74, 0x62, 0x49, 0xeb, 0x8e, 0x30,
+	0x4e, 0x82, 0x37, 0xfe, 0xb1, 0x0e, 0xd5, 0xe4, 0xc5, 0x0a, 0x89, 0x83, 0xce, 0xa1, 0x3e, 0x76,
+	0x98, 0xed, 0x62, 0x8e, 0x35, 0xbd, 0xfe, 0x2d, 0x18, 0x4b, 0x2a, 0xa2, 0x9b, 0xe3, 0xec, 0x81,
+	0x59, 0x1b, 0xab, 0x47, 0xe5, 0x0b, 0x59, 0x80, 0x44, 0x79, 0xd9, 0xe1, 0x1c, 0xa1, 0x2a, 0xf1,
+	0x97, 0xcb, 0x4b, 0xac, 0x3a, 0xe8, 0xec, 0x81, 0x59, 0xc7, 0xc9, 0x8b, 0x26, 0xbd, 0x80, 0xc6,
+	0x7b, 0xce, 0xc3, 0x39, 0xca, 0xa2, 0xa4, 0xdc, 0x5f, 0x42, 0x99, 0xf4, 0xc5, 0xd9, 0x03, 0x73,
+	0xeb, 0xbd, 0x7e, 0xd6, 0x84, 0x67, 0x50, 0x9b, 0xc5, 0x2c, 0xea, 0xb1, 0x7e, 0xef, 0x88, 0x0b,
+	0x66, 0x25, 0x89, 0x58, 0xd4, 0xe9, 0x8f, 0xb0, 0xad, 0x0a, 0x64, 0x3b, 0xe9, 0xdc, 0x69, 0x3e,
+	0x94, 0x6c, 0xdf, 0x2c, 0x61, 0xcb, 0x8f, 0x2a, 0xb3, 0x41, 0xf3, 0xc3, 0xeb, 0x0a, 0x1a, 0xe9,
+	0x32, 0xa1, 0xaa, 0x65, 0x9b, 0x1b, 0x92, 0xf8, 0xe5, 0x12, 0xe2, 0x5c, 0x93, 0x9b, 0x75, 0x3e,
+	0x2f, 0x38, 0xaa, 0x41, 0x25, 0x93, 0xc6, 0xa3, 0x0a, 0x94, 0xd3, 0x2c, 0x18, 0xff, 0x2e, 0x40,
+	0xc9, 0x72, 0xde, 0x13, 0x77, 0xea, 0x13, 0xd4, 0x81, 0x4f, 0x98, 0x7e, 0xb6, 0x19, 0xc7, 0x11,
+	0x17, 0xe9, 0x4a, 0x7a, 0x63, 0x3b, 0x39, 0x82, 0xd8, 0x14, 0xad, 0x2e, 0xe6, 0xc4, 0xdc, 0x4e,
+	0xac, 0x2d, 0x61, 0x2c, 0x44, 0xe8, 0x7b, 0x48, 0x85, 0x36, 0x09, 0x5c, 0x45, 0xb0, 0xf6, 0x31,
+	0x82, 0x7a, 0x62, 0xdb, 0x0b, 0x5c, 0x09, 0xef, 0xc0, 0xb6, 0x72, 0x2c, 0xc7, 0x29, 0x1d, 0xd9,
+	0x2e, 0x8e, 0x75, 0xdd, 0x77, 0xe6, 0xe0, 0x62, 0x48, 0x5e, 0x8c, 0xba, 0x38, 0x36, 0xb7, 0x24,
+	0x20, 0x7d, 0x37, 0xfe, 0xb3, 0x0e, 0x95, 0x24, 0x25, 0x3f, 0xd0, 0x21, 0x42, 0xb0, 0x9e, 0x99,
+	0x4b, 0xf2, 0x19, 0x3d, 0x83, 0x8a, 0x4b, 0x98, 0x13, 0x79, 0x61, 0x3a, 0x96, 0xcb, 0x66, 0x56,
+	0x84, 0x9e, 0x02, 0x84, 0x11, 0x95, 0x55, 0xf6, 0x5c, 0x79, 0x82, 0xb2, 0x59, 0xd6, 0x92, 0xbe,
+	0x8b, 0xce, 0xa1, 0x96, 0x56, 0x8a, 0x85, 0xc4, 0xd1, 0xdd, 0xf4, 0xfc, 0x1e, 0x65, 0x12, 0xbf,
+	0x40, 0xb3, 0xca, 0xb3, 0xbf, 0xc7, 0x37, 0x50, 0x4a, 0x12, 0xa1, 0x1b, 0x69, 0x59, 0x93, 0x27,
+	0xe5, 0x32, 0x53, 0x10, 0xea, 0xc1, 0x06, 0xe3, 0x98, 0x4f, 0x55, 0xbb, 0x6c, 0x1d, 0xfc, 0xfa,
+	0x1e, 0xe7, 0xf8, 0x81, 0x0e, 0x5b, 0x96, 0x04, 0x99, 0x1a, 0x8c, 0xde, 0x40, 0xcd, 0x89, 0x88,
+	0x5c, 0x32, 0xb2, 0x00, 0xcd, 0x4d, 0x79, 0x98, 0xbd, 0x3b, 0xfb, 0x6a, 0x90, 0xdc, 0x39, 0xcc,
+	0x6a, 0x02, 0x10, 0x22, 0x74, 0x09, 0x3b, 0x77, 0x96, 0x9e, 0x62, 0x2a, 0xad, 0x64, 0x7a, 0xe4,
+	0xe7, 0xf6, 0x9c, 0x64, 0x7c, 0x03, 0x35, 0x39, 0xe3, 0x52, 0xa2, 0xf2, 0xea, 0x23, 0x25, 0x00,
+	0x21, 0x32, 0xce, 0x60, 0x43, 0x45, 0x89, 0x76, 0x00, 0x59, 0x83, 0xce, 0xe0, 0xca, 0xb2, 0xaf,
+	0xde, 0x59, 0x97, 0xbd, 0xe3, 0xfe, 0x49, 0xbf, 0xd7, 0x6d, 0x3c, 0x40, 0x15, 0xd8, 0xec, 0xbd,
+	0xeb, 0x1c, 0x9d, 0xf7, 0xba, 0x8d, 0x02, 0xaa, 0x42, 0xa9, 0xdb, 0xb7, 0xd4, 0xdb, 0x9a, 0x50,
+	0x75, 0x7b, 0xe7, 0xbd, 0x41, 0xaf, 0xdb, 0x28, 0x1a, 0x27, 0x50, 0xeb, 0x45, 0x11, 0x8d, 0xce,
+	0xe9, 0xb8, 0x17, 0xf0, 0x28, 0x46, 0x0d, 0x28, 0xce, 0xf6, 0x8e, 0x78, 0x14, 0xf7, 0x22, 0x22,
+	0x4c, 0x6c, 0x97, 0x70, 0xec, 0xf9, 0xc9, 0x5a, 0xae, 0x4a, 0x61, 0x57, 0xc9, 0x8c, 0x7f, 0x16,
+	0xa0, 0x2a, 0x89, 0xac, 0xe9, 0x64, 0x82, 0xa3, 0x18, 0xb5, 0x01, 0x14, 0x4a, 0x5c, 0xd7, 0x24,
+	0xdd, 0xd6, 0x41, 0x23, 0x09, 0x30, 0x0a, 0x9d, 0xd6, 0x31, 0x75, 0x89, 0x59, 0x96, 0x36, 0xe2,
+	0x51, 0x6c, 0xdc, 0x04, 0x30, 0x0d, 0xb8, 0x6c, 0xdf, 0xa2, 0x09, 0x5a, 0x2f, 0xee, 0x67, 0x03,
+	0xd8, 0x56, 0x06, 0x3e, 0x1d, 0xdb, 0x24, 0xe0, 0x91, 0xa7, 0xaf, 0x08, 0x95, 0x83, 0x17, 0x4b,
+	0x5a, 0x63, 0x2e, 0x3c, 0xb3, 0x4e, 0x32, 0xaf, 0x1e, 0x61, 0xc6, 0x7f, 0x37, 0xa1, 0x91, 0x74,
+	0x8f, 0xf4, 0x43, 0x22, 0x86, 0x5e, 0xc1, 0x6e, 0xba, 0xae, 0xe8, 0x34, 0x70, 0xb3, 0x4b, 0x4b,
+	0xc6, 0x52, 0x34, 0x77, 0xb4, 0xc1, 0x89, 0xd0, 0xcf, 0x96, 0x14, 0xfa, 0x0e, 0x3e, 0x1b, 0xc6,
+	0x9c, 0x2c, 0x02, 0xaa, 0x90, 0x1e, 0x49, 0x75, 0x1e, 0xf6, 0x3b, 0x78, 0x32, 0xef, 0x91, 0x06,
+	0x7e, 0xac, 0xd1, 0x62, 0xb0, 0x17, 0x25, 0xb6, 0x99, 0x75, 0x7a, 0x11, 0xf8, 0xb1, 0x64, 0x10,
+	0xf3, 0xfb, 0xb7, 0xb0, 0x97, 0x75, 0x9b, 0x43, 0xaf, 0xab, 0x23, 0xcf, 0x3c, 0xcf, 0x61, 0xdf,
+	0xc2, 0xfe, 0xa2, 0xe5, 0xcc, 0xae, 0xbd, 0x30, 0x24, 0xae, 0x3d, 0x8c, 0x6d, 0x16, 0x07, 0x8e,
+	0xfc, 0x11, 0x17, 0xcd, 0xcf, 0x69, 0x7e, 0x2f, 0x5b, 0xca, 0xee, 0x28, 0xb6, 0xe2, 0xc0, 0x41,
+	0xa7, 0xf0, 0x2b, 0x7d, 0x90, 0x25, 0x54, 0x1b, 0x92, 0xea, 0x89, 0x3a, 0xcf, 0x47, 0x88, 0x0e,
+	0x21, 0x49, 0xb1, 0xed, 0xd0, 0xd0, 0x23, 0xae, 0xcd, 0xa9, 0x8a, 0x66, 0x53, 0xa2, 0x3f, 0xd1,
+	0xda, 0x63, 0xa9, 0x1c, 0x50, 0x19, 0x4a, 0x1b, 0x54, 0x7a, 0xf3, 0x90, 0x92, 0x84, 0x6c, 0x4b,
+	0xdd, 0x1c, 0xe0, 0x7b, 0x78, 0x9c, 0x78, 0x51, 0xd7, 0x8e, 0xf9, 0x92, 0x95, 0xe7, 0xd2, 0xde,
+	0x55, 0x16, 0x99, 0xb2, 0xbd, 0x82, 0x5d, 0xe5, 0x6f, 0x11, 0x18, 0x32, 0x59, 0x5f, 0x08, 0x5d,
+	0xec, 0x59, 0x9c, 0xb7, 0x32, 0xd7, 0x63, 0x59, 0xb0, 0x38, 0x74, 0xda, 0x63, 0x77, 0x81, 0xd5,
+	0x4c, 0x8f, 0xe5, 0x61, 0xaf, 0x61, 0x6f, 0x51, 0x9d, 0x47, 0xd8, 0xf3, 0x89, 0xdb, 0xac, 0x49,
+	0xe4, 0x67, 0x77, 0xca, 0x7b, 0x22, 0xd5, 0xe8, 0x37, 0xd0, 0xbc, 0x5b, 0x57, 0x0d, 0xdd, 0x92,
+	0xd0, 0x4f, 0x73, 0xe5, 0xd4, 0xc0, 0x3e, 0x18, 0xa9, 0x57, 0x29, 0x11, 0x45, 0xd1, 0x77, 0xc2,
+	0xd9, 0xb9, 0xeb, 0x92, 0xe2, 0x69, 0xe2, 0x5d, 0x1a, 0x0e, 0xa8, 0x8a, 0x20, 0x0d, 0xa0, 0x07,
+	0xcf, 0xf4, 0x19, 0x3e, 0x4e, 0xd4, 0x90, 0x44, 0x8f, 0xd5, 0x59, 0x16, 0xd2, 0x18, 0x3f, 0x3f,
+	0x84, 0xed, 0xd9, 0xfd, 0x82, 0xa8, 0xaf, 0x94, 0x85, 0x2b, 0x75, 0x7e, 0x61, 0xae, 0xad, 0x5c,
+	0x98, 0xc5, 0x5f, 0xb2, 0x30, 0x5f, 0x01, 0xcc, 0xae, 0x09, 0x7a, 0xf7, 0x2e, 0x5b, 0x09, 0xe5,
+	0xf4, 0x8e, 0x80, 0xbe, 0x83, 0x92, 0xb8, 0x97, 0x48, 0xe0, 0xc3, 0x95, 0xc0, 0x4d, 0x12, 0xb8,
+	0x12, 0xf6, 0x36, 0xb7, 0x61, 0x0f, 0xef, 0x75, 0x21, 0xd3, 0x09, 0xcb, 0xef, 0xd9, 0x53, 0x28,
+	0x39, 0x7a, 0x7e, 0xea, 0x15, 0xfb, 0xcd, 0x3d, 0xe8, 0x92, 0x91, 0x6b, 0xa6, 0x60, 0x64, 0x42,
+	0x43, 0xcd, 0xf9, 0x61, 0x44, 0xf0, 0xb5, 0x4b, 0x6f, 0x02, 0xd6, 0x2c, 0xc9, 0x31, 0xff, 0x7c,
+	0xd5, 0x98, 0xd7, 0xcb, 0x47, 0x4f, 0xf9, 0xa3, 0x14, 0x2f, 0x3e, 0xc1, 0xd3, 0x4a, 0xfd, 0x44,
+	0x87, 0xea, 0xa3, 0xae, 0xac, 0x3e, 0xc1, 0xf9, 0xec, 0xee, 0x20, 0xbf, 0x03, 0x9d, 0x95, 0xcb,
+	0xb5, 0x0e, 0x95, 0xfe, 0x3b, 0xfb, 0xd2, 0xbc, 0x38, 0x35, 0x7b, 0x96, 0xd5, 0x28, 0x20, 0x80,
+	0x8d, 0xcb, 0xce, 0x95, 0x95, 0xac, 0x57, 0xeb, 0xea, 0xf8, 0x58, 0x28, 0x8a, 0x42, 0x71, 0xd2,
+	0xe9, 0x8b, 0xbd, 0xbb, 0x2e, 0x14, 0x9d, 0xa3, 0x0b, 0x53, 0xec, 0xdd, 0x87, 0x47, 0x3f, 0x17,
+	0x60, 0xdf, 0xa1, 0x93, 0x25, 0x01, 0xc9, 0xc2, 0x1d, 0xd5, 0x92, 0x44, 0x0d, 0xe2, 0x90, 0xb0,
+	0x3f, 0x9f, 0x69, 0xfb, 0x31, 0xf5, 0x71, 0x30, 0x6e, 0xd1, 0x68, 0xdc, 0x1e, 0x93, 0x40, 0x9a,
+	0xb6, 0x95, 0x0a, 0x87, 0x1e, 0x5b, 0xf0, 0x87, 0xce, 0xeb, 0x9c, 0xe8, 0x7f, 0x85, 0xc2, 0x70,
+	0x43, 0xe2, 0x0e, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0xed, 0xb3, 0x1d, 0xf0, 0x07, 0x12, 0x00,
+	0x00,
 }
diff --git a/googleapis/storagetransfer/v1/transfer_types.proto b/googleapis/storagetransfer/v1/transfer_types.proto
deleted file mode 100644
index 1df0bd64..00000000
--- a/googleapis/storagetransfer/v1/transfer_types.proto
+++ /dev/null
@@ -1,442 +0,0 @@
-// 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.storagetransfer.v1;
-
-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
-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
-import "google.golang.org/genproto/googleapis/type/date/date.proto"; // from google/type/date.proto
-import "google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto"; // from google/type/timeofday.proto
-
-option cc_enable_arenas = true;
-option java_outer_classname = "TransferTypes";
-option java_package = "com.google.storagetransfer.v1.proto";
-
-
-// Google service account
-message GoogleServiceAccount {
-  // Required.
-  string account_email = 1;
-}
-
-// AWS access key (see
-// [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).
-message AwsAccessKey {
-  // AWS access key ID.
-  // Required.
-  string access_key_id = 1;
-
-  // AWS secret access key. This field is not returned in RPC responses.
-  // Required.
-  string secret_access_key = 2;
-}
-
-// Conditions that determine which objects will be transferred.
-message ObjectConditions {
-  // If unspecified, `minTimeElapsedSinceLastModification` takes a zero value
-  // and `maxTimeElapsedSinceLastModification` takes the maximum possible
-  // value of Duration. Objects that satisfy the object conditions
-  // must either have a `lastModificationTime` greater or equal to
-  // `NOW` - `maxTimeElapsedSinceLastModification` and less than
-  // `NOW` - `minTimeElapsedSinceLastModification`, or not have a
-  // `lastModificationTime`.
-  google.protobuf.Duration min_time_elapsed_since_last_modification = 1;
-
-  // `maxTimeElapsedSinceLastModification` is the complement to
-  // `minTimeElapsedSinceLastModification`.
-  google.protobuf.Duration max_time_elapsed_since_last_modification = 2;
-
-  // If `includePrefixes` is specified, objects that satisfy the object
-  // conditions must have names that start with one of the `includePrefixes`
-  // and that do not start with any of the `excludePrefixes`. If `includePrefixes`
-  // is not specified, all objects except those that have names starting with
-  // one of the `excludePrefixes` must satisfy the object conditions.
-  //
-  // Requirements:
-  //
-  //   * Each include-prefix and exclude-prefix can contain any sequence of
-  //     Unicode characters, of max length 1024 bytes when UTF8-encoded, and
-  //     must not contain Carriage Return or Line Feed characters.  Wildcard
-  //     matching and regular expression matching are not supported.
-  //
-  //   * Each include-prefix and exclude-prefix must omit the leading slash.
-  //     For example, to include the `requests.gz` object in a transfer from
-  //     `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include
-  //     prefix as `logs/y=2015/requests.gz`.
-  //
-  //   * None of the include-prefix or the exclude-prefix values can be empty,
-  //     if specified.
-  //
-  //   * Each include-prefix must include a distinct portion of the object
-  //     namespace, i.e., no include-prefix may be a prefix of another
-  //     include-prefix.
-  //
-  //   * Each exclude-prefix must exclude a distinct portion of the object
-  //     namespace, i.e., no exclude-prefix may be a prefix of another
-  //     exclude-prefix.
-  //
-  //   * If `includePrefixes` is specified, then each exclude-prefix must start
-  //     with the value of a path explicitly included by `includePrefixes`.
-  //
-  // The max size of `includePrefixes` is 20.
-  repeated string include_prefixes = 3;
-
-  // `excludePrefixes` must follow the requirements described for
-  // `includePrefixes`.
-  //
-  // The max size of `excludePrefixes` is 20.
-  repeated string exclude_prefixes = 4;
-}
-
-// In a GcsData, an object's name is the Google Cloud Storage object's name and
-// its `lastModificationTime` refers to the object's updated time, which changes
-// when the content or the metadata of the object is updated.
-message GcsData {
-  // Google Cloud Storage bucket name (see
-  // [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)).
-  // Required.
-  string bucket_name = 1;
-}
-
-// An AwsS3Data can be a data source, but not a data sink.
-// In an AwsS3Data, an object's name is the S3 object's key name.
-message AwsS3Data {
-  // S3 Bucket name (see
-  // [Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)).
-  // Required.
-  string bucket_name = 1;
-
-  // AWS access key used to sign the API requests to the AWS S3 bucket.
-  // Permissions on the bucket must be granted to the access ID of the
-  // AWS access key.
-  // Required.
-  AwsAccessKey aws_access_key = 2;
-}
-
-// An HttpData specifies a list of objects on the web to be transferred over
-// HTTP.  The information of the objects to be transferred is contained in a
-// file referenced by a URL. The first line in the file must be
-// "TsvHttpData-1.0", which specifies the format of the file.  Subsequent lines
-// specify the information of the list of objects, one object per list entry.
-// Each entry has the following tab-delimited fields:
-//
-// * HTTP URL - The location of the object.
-//
-// * Length - The size of the object in bytes.
-//
-// * MD5 - The base64-encoded MD5 hash of the object.
-//
-// For an example of a valid TSV file, see
-// [Transferring data from URLs](https://cloud.google.com/storage/transfer/#urls)
-//
-// When transferring data based on a URL list, keep the following in mind:
-//
-// * When an object located at `http(s)://hostname:port/<URL-path>` is transferred
-// to a data sink, the name of the object at the data sink is
-// `<hostname>/<URL-path>`.
-//
-// * If the specified size of an object does not match the actual size of the
-// object fetched, the object will not be transferred.
-//
-// * If the specified MD5 does not match the MD5 computed from the transferred
-// bytes, the object transfer will fail. For more information, see
-// [Generating MD5 hashes](https://cloud.google.com/storage/transfer/#md5)
-//
-// * Ensure that each URL you specify is publicly accessible. For
-// example, in Google Cloud Storage you can
-// [share an object publicly]
-// (https://cloud.google.com/storage/docs/cloud-console#_sharingdata) and get
-// a link to it.
-//
-// * Storage Transfer Service obeys `robots.txt` rules and requires the source
-// HTTP server to support `Range` requests and to return a `Content-Length`
-// header in each response.
-//
-// * [ObjectConditions](#ObjectConditions) have no effect when filtering objects
-// to transfer.
-message HttpData {
-  // The URL that points to the file that stores the object list entries.
-  // This file must allow public access.  Currently, only URLs with HTTP and
-  // HTTPS schemes are supported.
-  // Required.
-  string list_url = 1;
-}
-
-// TransferOptions uses three boolean parameters to define the actions
-// to be performed on objects in a transfer.
-message TransferOptions {
-  // Whether overwriting objects that already exist in the sink is allowed.
-  bool overwrite_objects_already_existing_in_sink = 1;
-
-  // Whether objects that exist only in the sink should be deleted.
-  bool delete_objects_unique_in_sink = 2;
-
-  // Whether objects should be deleted from the source after they are
-  // transferred to the sink.
-  bool delete_objects_from_source_after_transfer = 3;
-}
-
-// Configuration for running a transfer.
-message TransferSpec {
-  // The read source of the data.
-  oneof data_source {
-    // A Google Cloud Storage data source.
-    GcsData gcs_data_source = 1;
-
-    // An AWS S3 data source.
-    AwsS3Data aws_s3_data_source = 2;
-
-    // An HTTP URL data source.
-    HttpData http_data_source = 3;
-  }
-
-  // The write sink for the data.
-  oneof data_sink {
-    // A Google Cloud Storage data sink.
-    GcsData gcs_data_sink = 4;
-  }
-
-  // Only objects that satisfy these object conditions are included in the set
-  // of data source and data sink objects.  Object conditions based on
-  // objects' `lastModificationTime` do not exclude objects in a data sink.
-  ObjectConditions object_conditions = 5;
-
-  // If the option `deleteObjectsUniqueInSink` is `true`, object conditions
-  // based on objects' `lastModificationTime` are ignored and do not exclude
-  // objects in a data source or a data sink.
-  TransferOptions transfer_options = 6;
-}
-
-// Transfers can be scheduled to recur or to run just once.
-message Schedule {
-  // The first day the recurring transfer is scheduled to run. If
-  // `scheduleStartDate` is in the past, the transfer will run for the first
-  // time on the following day.
-  // Required.
-  google.type.Date schedule_start_date = 1;
-
-  // The last day the recurring transfer will be run. If `scheduleEndDate`
-  // is the same as `scheduleStartDate`, the transfer will be executed only
-  // once.
-  google.type.Date schedule_end_date = 2;
-
-  // The time in UTC at which the transfer will be scheduled to start in a day.
-  // Transfers may start later than this time. If not specified, recurring and
-  // one-time transfers that are scheduled to run today will run immediately;
-  // recurring transfers that are scheduled to run on a future date will start
-  // at approximately midnight UTC on that date. Note that when configuring a
-  // transfer with the Cloud Platform Console, the transfer's start time in a
-  // day is specified in your local timezone.
-  google.type.TimeOfDay start_time_of_day = 3;
-}
-
-// This resource represents the configuration of a transfer job that runs
-// periodically.
-message TransferJob {
-  // The status of the transfer job.
-  enum Status {
-    // Zero is an illegal value.
-    STATUS_UNSPECIFIED = 0;
-
-    // New transfers will be performed based on the schedule.
-    ENABLED = 1;
-
-    // New transfers will not be scheduled.
-    DISABLED = 2;
-
-    // This is a soft delete state. After a transfer job is set to this
-    // state, the job and all the transfer executions are subject to
-    // garbage collection.
-    DELETED = 3;
-  }
-
-  // A globally unique name assigned by Storage Transfer Service when the
-  // job is created. This field should be left empty in requests to create a new
-  // transfer job; otherwise, the requests result in an `INVALID_ARGUMENT`
-  // error.
-  string name = 1;
-
-  // A description provided by the user for the job. Its max length is 1024
-  // bytes when Unicode-encoded.
-  string description = 2;
-
-  // The ID of the Google Cloud Platform Console project that owns the job.
-  // Required.
-  string project_id = 3;
-
-  // Transfer specification.
-  // Required.
-  TransferSpec transfer_spec = 4;
-
-  // Schedule specification.
-  // Required.
-  Schedule schedule = 5;
-
-  // Status of the job. This value MUST be specified for
-  // `CreateTransferJobRequests`.
-  //
-  // NOTE: The effect of the new job status takes place during a subsequent job
-  // run. For example, if you change the job status from `ENABLED` to
-  // `DISABLED`, and an operation spawned by the transfer is running, the status
-  // change would not affect the current operation.
-  Status status = 6;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp creation_time = 7;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp last_modification_time = 8;
-
-  // This field cannot be changed by user requests.
-  google.protobuf.Timestamp deletion_time = 9;
-}
-
-// An entry describing an error that has occurred.
-message ErrorLogEntry {
-  // A URL that refers to the target (a data source, a data sink,
-  // or an object) with which the error is associated.
-  // Required.
-  string url = 1;
-
-  // A list of messages that carry the error details.
-  repeated string error_details = 3;
-}
-
-// A summary of errors by error code, plus a count and sample error log
-// entries.
-message ErrorSummary {
-  // Required.
-  google.rpc.Code error_code = 1;
-
-  // Count of this type of error.
-  // Required.
-  int64 error_count = 2;
-
-  // Error samples.
-  repeated ErrorLogEntry error_log_entries = 3;
-}
-
-// A collection of counters that report the progress of a transfer operation.
-message TransferCounters {
-  // Objects found in the data source that are scheduled to be transferred,
-  // which will be copied, excluded based on conditions, or skipped due to
-  // failures.
-  int64 objects_found_from_source = 1;
-
-  // Bytes found in the data source that are scheduled to be transferred,
-  // which will be copied, excluded based on conditions, or skipped due to
-  // failures.
-  int64 bytes_found_from_source = 2;
-
-  // Objects found only in the data sink that are scheduled to be deleted.
-  int64 objects_found_only_from_sink = 3;
-
-  // Bytes found only in the data sink that are scheduled to be deleted.
-  int64 bytes_found_only_from_sink = 4;
-
-  // Objects in the data source that are not transferred because they already
-  // exist in the data sink.
-  int64 objects_from_source_skipped_by_sync = 5;
-
-  // Bytes in the data source that are not transferred because they already
-  // exist in the data sink.
-  int64 bytes_from_source_skipped_by_sync = 6;
-
-  // Objects that are copied to the data sink.
-  int64 objects_copied_to_sink = 7;
-
-  // Bytes that are copied to the data sink.
-  int64 bytes_copied_to_sink = 8;
-
-  // Objects that are deleted from the data source.
-  int64 objects_deleted_from_source = 9;
-
-  // Bytes that are deleted from the data source.
-  int64 bytes_deleted_from_source = 10;
-
-  // Objects that are deleted from the data sink.
-  int64 objects_deleted_from_sink = 11;
-
-  // Bytes that are deleted from the data sink.
-  int64 bytes_deleted_from_sink = 12;
-
-  // Objects in the data source that failed during the transfer.
-  int64 objects_from_source_failed = 13;
-
-  // Bytes in the data source that failed during the transfer.
-  int64 bytes_from_source_failed = 14;
-
-  // Objects that failed to be deleted from the data sink.
-  int64 objects_failed_to_delete_from_sink = 15;
-
-  // Bytes that failed to be deleted from the data sink.
-  int64 bytes_failed_to_delete_from_sink = 16;
-}
-
-// A description of the execution of a transfer.
-message TransferOperation {
-  // The status of a TransferOperation.
-  enum Status {
-    // Zero is an illegal value.
-    STATUS_UNSPECIFIED = 0;
-
-    // In progress.
-    IN_PROGRESS = 1;
-
-    // Paused.
-    PAUSED = 2;
-
-    // Completed successfully.
-    SUCCESS = 3;
-
-    // Terminated due to an unrecoverable failure.
-    FAILED = 4;
-
-    // Aborted by the user.
-    ABORTED = 5;
-  }
-
-  // A globally unique ID assigned by the system.
-  string name = 1;
-
-  // The ID of the Google Cloud Platform Console project that owns the operation.
-  // Required.
-  string project_id = 2;
-
-  // Transfer specification.
-  // Required.
-  TransferSpec transfer_spec = 3;
-
-  // Start time of this transfer execution.
-  google.protobuf.Timestamp start_time = 4;
-
-  // End time of this transfer execution.
-  google.protobuf.Timestamp end_time = 5;
-
-  // Status of the transfer operation.
-  Status status = 6;
-
-  // Information about the progress of the transfer operation.
-  TransferCounters counters = 7;
-
-  // Summarizes errors encountered with sample error log entries.
-  repeated ErrorSummary error_breakdowns = 8;
-
-  // The name of the transfer job that triggers this transfer operation.
-  string transfer_job_name = 9;
-}
diff --git a/googleapis/tracing/trace.proto b/googleapis/tracing/trace.proto
deleted file mode 100644
index c1b64b1b..00000000
--- a/googleapis/tracing/trace.proto
+++ /dev/null
@@ -1,246 +0,0 @@
-// 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.tracing.v1;
-
-import "google.golang.org/genproto/googleapis/api/serviceconfig/annotations.proto"; // from google/api/annotations.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 = "TraceProto";
-option java_package = "com.google.tracing.v1";
-
-
-// A TraceId uniquely identifies a Trace. It is conceptually a 128-bit value,
-// represented as a string, containing the hex-encoded value.
-message TraceId {
-  // Trace ID specified as a hex-encoded string. *Must* be 32 bytes long.
-  string hex_encoded = 1;
-}
-
-message Module {
-  // Binary module.
-  // E.g. main binary, kernel modules, and dynamic libraries
-  // such as libc.so, sharedlib.so
-  string module = 1;
-
-  // Build_id is a unique identifier for the module,
-  // probably a hash of its contents
-  string build_id = 2;
-}
-
-message StackTrace {
-  // Presents a single stack frame in a stack trace.
-  message StackFrame {
-    // Fully qualified names which uniquely identify function/method/etc.
-    string function_name = 1;
-
-    // Used when function name is ‘mangled’. Not guaranteed to be fully
-    // qualified but usually it is.
-    string orig_function_name = 2;
-
-    // File name of the frame.
-    string file_name = 3;
-
-    // Line number of the frame.
-    int64 line_number = 4;
-
-    // Column number is important in JavaScript(anonymous functions),
-    // Might not be available in some languages.
-    int64 column_number = 5;
-
-    // Binary module the code is loaded from.
-    Module load_module = 6;
-
-    // source_version is deployment specific. It might be
-    // better to be stored in deployment metadata.
-    // However, in distributed tracing, it’s hard to keep track of
-    // source/binary versions at one place for all spans.
-    string source_version = 7;
-  }
-
-  // Stack frames of this stack trace.
-  repeated StackFrame stack_frame = 1;
-
-  // User can choose to use his own hash function to hash large labels to save
-  // network bandwidth and storage.
-  // Typical usage is to pass both initially to inform the storage of the
-  // mapping. And in subsequent calls, pass in stack_trace_hash_id only.
-  // User shall verify the hash value is successfully stored.
-  uint64 stack_trace_hash_id = 2;
-}
-
-// Allowed label values.
-message LabelValue {
-  // The value of the label.
-  oneof value {
-    // A string value.
-    string string_value = 1;
-
-    // An integer value.
-    int64 int_value = 2;
-
-    // A boolean value.
-    bool bool_value = 3;
-  }
-}
-
-// A span represents a single operation within a trace. Spans can be nested
-// and form a trace tree. Often, a trace contains a root span that describes the
-// end-to-end latency and, optionally, one or more subspans for
-// its sub-operations. Spans do not need to be contiguous. There may be gaps
-// between spans in a trace.
-message Span {
-  // A time-stamped annotation in the Span.
-  message TimeEvent {
-    // Text annotation with a set of labels.
-    message Annotation {
-      // A user-supplied message describing the event.
-      string description = 1;
-
-      // A set of labels on the annotation.
-      map<string, LabelValue> labels = 2;
-    }
-
-    // An event describing an RPC message sent/received on the network.
-    message NetworkEvent {
-      // The type of the network event. SENT or RECV event.
-      enum Type {
-        UNSPECIFIED = 0;
-
-        SENT = 1;
-
-        RECV = 2;
-      }
-
-      // If available, this is the kernel time:
-      // For sent messages, this is the time at which the first bit was sent.
-      // For received messages, this is the time at which the last bit was
-      // received.
-      google.protobuf.Timestamp kernel_time = 1;
-
-      Type type = 2;
-
-      // Every message has an identifier, that must be different from all the
-      // network messages in this span.
-      // This is very important when the request/response are streamed.
-      uint64 message_id = 3;
-
-      // Number of bytes send/receive.
-      uint64 message_size = 4;
-    }
-
-    // The local machine absolute timestamp when this event happened.
-    google.protobuf.Timestamp local_time = 1;
-
-    oneof value {
-      // Optional field for user supplied <string, LabelValue> map
-      Annotation annotation = 2;
-
-      // Optional field that can be used only for network events.
-      NetworkEvent network_event = 3;
-    }
-  }
-
-  // Link one span with another which may be in a different Trace. Used (for
-  // example) in batching operations, where a single batch handler processes
-  // multiple requests from different traces.
-  message Link {
-    // The type of the link.
-    enum Type {
-      UNSPECIFIED = 0;
-
-      CHILD = 1;
-
-      PARENT = 2;
-    }
-
-    // The trace and span identifier of the linked span.
-    TraceId trace_id = 1;
-
-    fixed64 span_id = 2;
-
-    Type type = 3;
-  }
-
-  // Identifier for the span. Must be a 64-bit integer other than 0 and
-  // unique within a trace.
-  fixed64 id = 1;
-
-  // Name of the span. The span name is sanitized and displayed in the
-  // Stackdriver Trace tool in the {% dynamic print site_values.console_name %}.
-  // 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 = 2;
-
-  // ID of parent span. 0 or missing if this is a root span.
-  fixed64 parent_id = 3;
-
-  // Local machine clock in nanoseconds from the UNIX epoch,
-  // at which span execution started.
-  // On the server side these are the times when the server application
-  // handler starts running.
-  google.protobuf.Timestamp local_start_time = 4;
-
-  // Local machine clock in nanoseconds from the UNIX epoch,
-  // at which span execution ended.
-  // On the server side these are the times when the server application
-  // handler finishes running.
-  google.protobuf.Timestamp local_end_time = 5;
-
-  // Properties of a span. Labels at the span level.
-  // E.g.
-  // "/instance_id": "my-instance"
-  // "/zone": "us-central1-a"
-  // "/grpc/peer_address": "ip:port" (dns, etc.)
-  // "/grpc/deadline": "Duration"
-  // "/http/user_agent"
-  // "/http/request_bytes": 300
-  // "/http/response_bytes": 1200
-  // "/http/url": google.com/apis
-  // "/pid"
-  // "abc.com/mylabel": "my label value"
-  map<string, LabelValue> labels = 6;
-
-  // Stack trace captured at the start of the span. This is optional.
-  StackTrace stack_trace = 7;
-
-  // A collection of time-stamped events.
-  repeated TimeEvent time_events = 8;
-
-  // A collection of links.
-  repeated Link links = 9;
-
-  // The final status of the Span. This is optional.
-  google.rpc.Status status = 10;
-
-  // True if this Span has a remote parent (is an RPC server Span).
-  bool has_remote_parent = 11;
-}
-
-// A trace describes how long it takes for an application to perform some
-// operations. It consists of a tree of spans, each of which contains details
-// about an operation with time information and operation details.
-message Trace {
-  // Globally unique identifier for the trace. Common to all the spans.
-  TraceId trace_id = 1;
-
-  // Collection of spans in the trace. The root span has parent_id == 0.
-  repeated Span spans = 2;
-}
diff --git a/googleapis/tracing/trace.pb.go b/googleapis/tracing/v1/trace.pb.go
similarity index 72%
rename from googleapis/tracing/trace.pb.go
rename to googleapis/tracing/v1/trace.pb.go
index 18183ca8..01f97220 100644
--- a/googleapis/tracing/trace.pb.go
+++ b/googleapis/tracing/v1/trace.pb.go
@@ -1,12 +1,12 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/tracing/trace.proto
+// source: google/tracing/trace.proto
 // DO NOT EDIT!
 
 /*
-Package google_tracing_v1 is a generated protocol buffer package.
+Package tracing is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/tracing/trace.proto
+	google/tracing/trace.proto
 
 It has these top-level messages:
 	TraceId
@@ -16,12 +16,12 @@ It has these top-level messages:
 	Span
 	Trace
 */
-package google_tracing_v1 // import "google.golang.org/genproto/googleapis/tracing"
+package tracing
 
 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/api/annotations"
 import google_protobuf1 "github.com/golang/protobuf/ptypes/timestamp"
 import google_rpc "google.golang.org/genproto/googleapis/rpc/status"
 
@@ -100,6 +100,13 @@ func (m *TraceId) String() string            { return proto.CompactTextString(m)
 func (*TraceId) ProtoMessage()               {}
 func (*TraceId) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *TraceId) GetHexEncoded() string {
+	if m != nil {
+		return m.HexEncoded
+	}
+	return ""
+}
+
 type Module struct {
 	// Binary module.
 	// E.g. main binary, kernel modules, and dynamic libraries
@@ -115,6 +122,20 @@ func (m *Module) String() string            { return proto.CompactTextString(m)
 func (*Module) ProtoMessage()               {}
 func (*Module) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
+func (m *Module) GetModule() string {
+	if m != nil {
+		return m.Module
+	}
+	return ""
+}
+
+func (m *Module) GetBuildId() string {
+	if m != nil {
+		return m.BuildId
+	}
+	return ""
+}
+
 type StackTrace struct {
 	// Stack frames of this stack trace.
 	StackFrame []*StackTrace_StackFrame `protobuf:"bytes,1,rep,name=stack_frame,json=stackFrame" json:"stack_frame,omitempty"`
@@ -138,6 +159,13 @@ func (m *StackTrace) GetStackFrame() []*StackTrace_StackFrame {
 	return nil
 }
 
+func (m *StackTrace) GetStackTraceHashId() uint64 {
+	if m != nil {
+		return m.StackTraceHashId
+	}
+	return 0
+}
+
 // Presents a single stack frame in a stack trace.
 type StackTrace_StackFrame struct {
 	// Fully qualified names which uniquely identify function/method/etc.
@@ -166,6 +194,41 @@ func (m *StackTrace_StackFrame) String() string            { return proto.Compac
 func (*StackTrace_StackFrame) ProtoMessage()               {}
 func (*StackTrace_StackFrame) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2, 0} }
 
+func (m *StackTrace_StackFrame) GetFunctionName() string {
+	if m != nil {
+		return m.FunctionName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetOrigFunctionName() string {
+	if m != nil {
+		return m.OrigFunctionName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetFileName() string {
+	if m != nil {
+		return m.FileName
+	}
+	return ""
+}
+
+func (m *StackTrace_StackFrame) GetLineNumber() int64 {
+	if m != nil {
+		return m.LineNumber
+	}
+	return 0
+}
+
+func (m *StackTrace_StackFrame) GetColumnNumber() int64 {
+	if m != nil {
+		return m.ColumnNumber
+	}
+	return 0
+}
+
 func (m *StackTrace_StackFrame) GetLoadModule() *Module {
 	if m != nil {
 		return m.LoadModule
@@ -173,6 +236,13 @@ func (m *StackTrace_StackFrame) GetLoadModule() *Module {
 	return nil
 }
 
+func (m *StackTrace_StackFrame) GetSourceVersion() string {
+	if m != nil {
+		return m.SourceVersion
+	}
+	return ""
+}
+
 // Allowed label values.
 type LabelValue struct {
 	// The value of the label.
@@ -376,6 +446,27 @@ func (m *Span) String() string            { return proto.CompactTextString(m) }
 func (*Span) ProtoMessage()               {}
 func (*Span) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
 
+func (m *Span) GetId() uint64 {
+	if m != nil {
+		return m.Id
+	}
+	return 0
+}
+
+func (m *Span) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Span) GetParentId() uint64 {
+	if m != nil {
+		return m.ParentId
+	}
+	return 0
+}
+
 func (m *Span) GetLocalStartTime() *google_protobuf1.Timestamp {
 	if m != nil {
 		return m.LocalStartTime
@@ -425,6 +516,13 @@ func (m *Span) GetStatus() *google_rpc.Status {
 	return nil
 }
 
+func (m *Span) GetHasRemoteParent() bool {
+	if m != nil {
+		return m.HasRemoteParent
+	}
+	return false
+}
+
 // A time-stamped annotation in the Span.
 type Span_TimeEvent struct {
 	// The local machine absolute timestamp when this event happened.
@@ -569,6 +667,13 @@ func (m *Span_TimeEvent_Annotation) String() string            { return proto.Co
 func (*Span_TimeEvent_Annotation) ProtoMessage()               {}
 func (*Span_TimeEvent_Annotation) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4, 0, 0} }
 
+func (m *Span_TimeEvent_Annotation) GetDescription() string {
+	if m != nil {
+		return m.Description
+	}
+	return ""
+}
+
 func (m *Span_TimeEvent_Annotation) GetLabels() map[string]*LabelValue {
 	if m != nil {
 		return m.Labels
@@ -606,6 +711,27 @@ func (m *Span_TimeEvent_NetworkEvent) GetKernelTime() *google_protobuf1.Timestam
 	return nil
 }
 
+func (m *Span_TimeEvent_NetworkEvent) GetType() Span_TimeEvent_NetworkEvent_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Span_TimeEvent_NetworkEvent_UNSPECIFIED
+}
+
+func (m *Span_TimeEvent_NetworkEvent) GetMessageId() uint64 {
+	if m != nil {
+		return m.MessageId
+	}
+	return 0
+}
+
+func (m *Span_TimeEvent_NetworkEvent) GetMessageSize() uint64 {
+	if m != nil {
+		return m.MessageSize
+	}
+	return 0
+}
+
 // Link one span with another which may be in a different Trace. Used (for
 // example) in batching operations, where a single batch handler processes
 // multiple requests from different traces.
@@ -628,6 +754,20 @@ func (m *Span_Link) GetTraceId() *TraceId {
 	return nil
 }
 
+func (m *Span_Link) GetSpanId() uint64 {
+	if m != nil {
+		return m.SpanId
+	}
+	return 0
+}
+
+func (m *Span_Link) GetType() Span_Link_Type {
+	if m != nil {
+		return m.Type
+	}
+	return Span_Link_UNSPECIFIED
+}
+
 // A trace describes how long it takes for an application to perform some
 // operations. It consists of a tree of spans, each of which contains details
 // about an operation with time information and operation details.
@@ -673,81 +813,77 @@ func init() {
 	proto.RegisterEnum("google.tracing.v1.Span_Link_Type", Span_Link_Type_name, Span_Link_Type_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/tracing/trace.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/tracing/trace.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 1122 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x55, 0xdb, 0x6e, 0x1b, 0x37,
-	0x13, 0xd6, 0xf9, 0x30, 0xab, 0x38, 0x0a, 0x7f, 0xfc, 0x8d, 0xa2, 0xd6, 0xb0, 0xad, 0x20, 0x80,
-	0xe1, 0x26, 0x2b, 0x54, 0x46, 0x80, 0x24, 0x46, 0x8b, 0xc6, 0xb6, 0x5c, 0x09, 0x48, 0x05, 0x81,
-	0x72, 0x8c, 0xde, 0x2d, 0xa8, 0x5d, 0x7a, 0x45, 0x68, 0xc5, 0x5d, 0x2c, 0x29, 0x37, 0xf6, 0x6d,
-	0xdf, 0xa0, 0xef, 0xd0, 0xdb, 0xbe, 0x41, 0x1f, 0xa4, 0x7d, 0x9a, 0x82, 0x87, 0x95, 0x55, 0xc4,
-	0x8e, 0x9d, 0x02, 0xbd, 0x5a, 0xf2, 0x9b, 0x6f, 0x66, 0x87, 0xdf, 0xcc, 0x90, 0xf0, 0x3a, 0x8c,
-	0xe3, 0x30, 0xa2, 0x6e, 0x18, 0x47, 0x84, 0x87, 0x6e, 0x9c, 0x86, 0xdd, 0x90, 0xf2, 0x24, 0x8d,
-	0x65, 0xdc, 0x35, 0x26, 0x92, 0x30, 0xd1, 0x95, 0x29, 0xf1, 0x19, 0x0f, 0xf5, 0x97, 0xba, 0xda,
-	0x8c, 0x1e, 0x59, 0x57, 0x6b, 0x73, 0x2f, 0xbe, 0x69, 0x0f, 0xef, 0x17, 0x8d, 0x24, 0xac, 0x2b,
-	0x68, 0x7a, 0xc1, 0x7c, 0xea, 0xc7, 0xfc, 0x9c, 0x85, 0x5d, 0xc2, 0x79, 0x2c, 0x89, 0x64, 0x31,
-	0x17, 0x26, 0x7a, 0xfb, 0x20, 0x64, 0x72, 0xb6, 0x9c, 0xba, 0x7e, 0xbc, 0xe8, 0x9a, 0x70, 0x5d,
-	0x6d, 0x98, 0x2e, 0xcf, 0xbb, 0x89, 0xbc, 0x4c, 0xa8, 0xe8, 0x4a, 0xb6, 0xa0, 0x42, 0x92, 0x45,
-	0x72, 0xbd, 0xb2, 0xce, 0xdf, 0xde, 0x2f, 0x8f, 0x34, 0xf1, 0xbb, 0x42, 0x12, 0xb9, 0x14, 0xf6,
-	0x63, 0xdc, 0x3b, 0x7b, 0x50, 0x3d, 0x55, 0x07, 0x1d, 0x06, 0x68, 0x0b, 0x9c, 0x19, 0xfd, 0xe0,
-	0x51, 0xee, 0xc7, 0x01, 0x0d, 0x5a, 0xf9, 0xed, 0xfc, 0x6e, 0x1d, 0xc3, 0x8c, 0x7e, 0xe8, 0x1b,
-	0xa4, 0x73, 0x00, 0x95, 0x1f, 0xe3, 0x60, 0x19, 0x51, 0xf4, 0x05, 0x54, 0x16, 0x7a, 0x65, 0x59,
-	0x76, 0x87, 0x9e, 0x40, 0x6d, 0xba, 0x64, 0x51, 0xe0, 0xb1, 0xa0, 0x55, 0xd0, 0x96, 0xaa, 0xde,
-	0x0f, 0x83, 0xce, 0xef, 0x45, 0x80, 0x89, 0x24, 0xfe, 0x5c, 0xff, 0x0e, 0x0d, 0xc1, 0x11, 0x6a,
-	0xe7, 0x9d, 0xa7, 0x64, 0xa1, 0xc2, 0x14, 0x77, 0x9d, 0xde, 0xae, 0xfb, 0x91, 0xce, 0xee, 0xb5,
-	0x8f, 0x59, 0x9e, 0x28, 0x3e, 0x06, 0xb1, 0x5a, 0xa3, 0x17, 0xf0, 0x3f, 0x13, 0x4a, 0x57, 0xcc,
-	0x9b, 0x11, 0x31, 0xcb, 0xfe, 0x5f, 0xc2, 0x4d, 0xb1, 0xf2, 0x1f, 0x10, 0x31, 0x1b, 0x06, 0xed,
-	0xdf, 0x0a, 0x36, 0x11, 0xe3, 0xfd, 0x14, 0x1e, 0x9c, 0x2f, 0xb9, 0xaf, 0xea, 0xe1, 0x71, 0x93,
-	0x8a, 0xca, 0xbb, 0x91, 0x81, 0x23, 0x45, 0x7a, 0x0e, 0x28, 0x4e, 0x59, 0xe8, 0xfd, 0x93, 0x69,
-	0x4e, 0xd8, 0x54, 0x96, 0x93, 0x75, 0xf6, 0x97, 0x50, 0x3f, 0x67, 0x11, 0x35, 0xa4, 0xa2, 0x26,
-	0xd5, 0x14, 0xa0, 0x8d, 0x5b, 0xe0, 0x44, 0x8c, 0x53, 0x8f, 0x2f, 0x17, 0x53, 0x9a, 0xb6, 0x4a,
-	0xdb, 0xf9, 0xdd, 0x22, 0x06, 0x05, 0x8d, 0x34, 0xa2, 0x12, 0xf2, 0xe3, 0x68, 0xb9, 0xe0, 0x19,
-	0xa5, 0xac, 0x29, 0x0d, 0x03, 0x5a, 0xd2, 0x1b, 0x70, 0xa2, 0x98, 0x04, 0x9e, 0xad, 0x42, 0x65,
-	0x3b, 0xbf, 0xeb, 0xf4, 0x9e, 0xdc, 0x20, 0x9f, 0x29, 0x18, 0x06, 0xc5, 0xb6, 0xc5, 0x7b, 0x06,
-	0x1b, 0x22, 0x5e, 0xa6, 0x3e, 0xf5, 0x2e, 0x68, 0x2a, 0x58, 0xcc, 0x5b, 0x55, 0x9d, 0xe3, 0x03,
-	0x83, 0x9e, 0x19, 0xb0, 0x73, 0x05, 0xf0, 0x8e, 0x4c, 0x69, 0x74, 0x46, 0xa2, 0xa5, 0x92, 0xa9,
-	0x21, 0x64, 0xca, 0x78, 0xe8, 0x5d, 0xa8, 0xbd, 0x51, 0x69, 0x90, 0xc3, 0x8e, 0x41, 0x0d, 0x69,
-	0x13, 0xea, 0x8c, 0x4b, 0xcb, 0x50, 0xea, 0x14, 0x07, 0x39, 0x5c, 0x63, 0x5c, 0x1a, 0xf3, 0x16,
-	0xc0, 0x34, 0x8e, 0x23, 0x6b, 0x57, 0xc2, 0xd4, 0x06, 0x39, 0x5c, 0x57, 0x98, 0x26, 0x1c, 0x56,
-	0xa1, 0xac, 0x6d, 0x9d, 0x5f, 0x1b, 0x50, 0x9a, 0x24, 0x84, 0xa3, 0x0d, 0x28, 0x30, 0xd3, 0x8a,
-	0x15, 0x5c, 0x60, 0x01, 0x42, 0x50, 0x5a, 0x93, 0x5e, 0xaf, 0x95, 0xdc, 0x09, 0x49, 0x29, 0x97,
-	0xaa, 0xea, 0x45, 0x4d, 0xad, 0x19, 0x60, 0x18, 0xa0, 0x63, 0x68, 0x46, 0xb1, 0x4f, 0x22, 0x4f,
-	0x48, 0x92, 0x4a, 0x4f, 0x4d, 0x8f, 0xd6, 0xdc, 0xe9, 0xb5, 0x33, 0xb5, 0xb2, 0x59, 0x73, 0x4f,
-	0xb3, 0xd1, 0xc2, 0x1b, 0xda, 0x67, 0xa2, 0x5c, 0x14, 0x88, 0xbe, 0x07, 0x83, 0x78, 0x94, 0x07,
-	0x26, 0x46, 0xf9, 0xce, 0x18, 0x0d, 0xed, 0xd1, 0xe7, 0x81, 0x8e, 0x70, 0x00, 0x95, 0x48, 0xa9,
-	0x29, 0x5a, 0x15, 0xdd, 0xea, 0x4f, 0x6f, 0x6a, 0xf5, 0x84, 0x70, 0x57, 0x6b, 0x2e, 0xfa, 0x5c,
-	0xa6, 0x97, 0xd8, 0xba, 0xa0, 0xef, 0xb2, 0x61, 0xd1, 0x1d, 0xae, 0xcb, 0xe5, 0xf4, 0x36, 0x3f,
-	0x39, 0x2c, 0x76, 0x42, 0xcc, 0xb0, 0x1d, 0x82, 0xa3, 0x92, 0xf6, 0xe8, 0x05, 0xe5, 0x52, 0xb4,
-	0x6a, 0x3a, 0x83, 0x9d, 0xdb, 0x32, 0x50, 0xf9, 0xf6, 0x15, 0x13, 0x83, 0xcc, 0x96, 0x02, 0xf5,
-	0xa0, 0x1c, 0x31, 0x3e, 0x17, 0xad, 0xba, 0xf6, 0xfe, 0xea, 0xd6, 0xfc, 0x19, 0x9f, 0x63, 0x43,
-	0x45, 0x7b, 0x50, 0x31, 0x97, 0x4d, 0x0b, 0x74, 0xca, 0x28, 0x73, 0x4a, 0x13, 0x5f, 0xe5, 0x2a,
-	0x97, 0x02, 0x5b, 0x06, 0xda, 0x83, 0x47, 0x33, 0x22, 0xbc, 0x94, 0x2e, 0x62, 0x49, 0x3d, 0x53,
-	0xbf, 0x96, 0xa3, 0x7a, 0x04, 0x3f, 0x9c, 0x11, 0x81, 0x35, 0x3e, 0xd6, 0x70, 0xfb, 0xcf, 0x32,
-	0xd4, 0x57, 0x59, 0xa2, 0xd7, 0x00, 0xa6, 0x38, 0xba, 0x30, 0xf9, 0x3b, 0x0b, 0x53, 0xd7, 0x6c,
-	0x5d, 0x95, 0x11, 0xc0, 0xf5, 0x75, 0xac, 0x9b, 0xca, 0xe9, 0x3d, 0xbf, 0x53, 0x17, 0xf7, 0xed,
-	0xca, 0x67, 0x90, 0xc3, 0x6b, 0x11, 0xd0, 0x7b, 0x78, 0xc0, 0xa9, 0xfc, 0x39, 0x4e, 0xe7, 0x46,
-	0x6b, 0xdd, 0x8e, 0x4e, 0xcf, 0xbd, 0x3b, 0xe4, 0xc8, 0xb8, 0xe9, 0xcd, 0x20, 0x87, 0x1b, 0x7c,
-	0x6d, 0xdf, 0xfe, 0x2b, 0x0f, 0x70, 0xfd, 0x4f, 0xb4, 0x0d, 0x4e, 0x40, 0x85, 0x9f, 0xb2, 0x44,
-	0xa7, 0x6d, 0x2e, 0xac, 0x75, 0x08, 0x8d, 0x57, 0xdd, 0x56, 0xd0, 0xd5, 0x7a, 0xf5, 0x39, 0x67,
-	0xba, 0xa9, 0x05, 0xdb, 0x3f, 0x81, 0xb3, 0x06, 0xa3, 0x26, 0x14, 0xe7, 0xf4, 0xd2, 0xfe, 0x5a,
-	0x2d, 0xd1, 0xbe, 0x9d, 0x5d, 0xab, 0xe2, 0x4d, 0xdd, 0x79, 0x7d, 0x9d, 0x60, 0xc3, 0x7d, 0x53,
-	0x78, 0x95, 0x6f, 0xff, 0x52, 0x80, 0xc6, 0xfa, 0xe9, 0xd1, 0x01, 0x38, 0x73, 0x9a, 0x72, 0x7a,
-	0xef, 0x82, 0x82, 0xa1, 0xeb, 0x8a, 0xfe, 0x00, 0x25, 0xf5, 0x62, 0xea, 0x2c, 0x36, 0x7a, 0xfb,
-	0x9f, 0x27, 0xbc, 0x7b, 0x7a, 0x99, 0x50, 0xac, 0x03, 0xa0, 0x4d, 0x80, 0x05, 0x15, 0x82, 0x84,
-	0x34, 0xbb, 0x56, 0x4a, 0xb8, 0x6e, 0x91, 0x61, 0x80, 0x76, 0xa0, 0x91, 0x99, 0x05, 0xbb, 0x32,
-	0x77, 0x4a, 0x09, 0x3b, 0x16, 0x9b, 0xb0, 0x2b, 0xda, 0xf9, 0x1a, 0x4a, 0x2a, 0x1e, 0x7a, 0x08,
-	0xce, 0xfb, 0xd1, 0x64, 0xdc, 0x3f, 0x1a, 0x9e, 0x0c, 0xfb, 0xc7, 0xcd, 0x1c, 0xaa, 0x41, 0x69,
-	0xd2, 0x1f, 0x9d, 0x36, 0xf3, 0x6a, 0x85, 0xfb, 0x47, 0x67, 0xcd, 0xc2, 0xea, 0xea, 0x6b, 0xff,
-	0x91, 0x87, 0x92, 0x9a, 0x21, 0xf4, 0x12, 0x6a, 0xe6, 0x41, 0xb3, 0x17, 0xe0, 0x9a, 0x06, 0x6b,
-	0xa7, 0xb1, 0x8f, 0x37, 0xae, 0x4a, 0xfb, 0x8a, 0x3f, 0x86, 0xaa, 0x48, 0x08, 0xcf, 0x5e, 0xc0,
-	0x0a, 0xae, 0xa8, 0xed, 0x30, 0x40, 0x2f, 0xad, 0x32, 0x45, 0xad, 0xcc, 0xce, 0xa7, 0xe6, 0x77,
-	0x4d, 0x87, 0x8e, 0x7b, 0xdb, 0x29, 0xea, 0x50, 0x3e, 0x1a, 0x0c, 0xdf, 0x1d, 0x37, 0xf3, 0x08,
-	0xa0, 0x32, 0x7e, 0x8b, 0xd5, 0x91, 0x0a, 0xff, 0x5d, 0xa3, 0x74, 0x16, 0x50, 0x36, 0xd7, 0xd9,
-	0xbf, 0x54, 0xe6, 0x05, 0x94, 0x95, 0x14, 0xd9, 0x4c, 0x3c, 0xbe, 0x45, 0x01, 0x6c, 0x58, 0x87,
-	0xcf, 0xe0, 0xff, 0x7e, 0xbc, 0xf8, 0x98, 0x74, 0x08, 0x3a, 0xf2, 0x58, 0xf5, 0xe1, 0x38, 0x3f,
-	0xad, 0xe8, 0x86, 0xdc, 0xff, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x32, 0x14, 0xf4, 0x2b, 0x5e, 0x0a,
-	0x00, 0x00,
+	// 1102 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xdd, 0x6e, 0x1a, 0x47,
+	0x14, 0x66, 0xf9, 0x59, 0xe0, 0x2c, 0x76, 0xc8, 0x54, 0xad, 0x09, 0x8d, 0x65, 0x9b, 0xa8, 0x92,
+	0xe5, 0x26, 0x8b, 0x82, 0x15, 0xc9, 0x8d, 0xa5, 0xaa, 0xb1, 0x8d, 0x0b, 0x52, 0x8a, 0xd0, 0xe0,
+	0x58, 0x55, 0x6f, 0x56, 0xc3, 0xee, 0x18, 0x56, 0x2c, 0xb3, 0xab, 0x9d, 0x81, 0xc6, 0xbe, 0xed,
+	0x1b, 0xf4, 0x1d, 0x7a, 0xdb, 0x37, 0xe8, 0x83, 0xb4, 0x4f, 0x53, 0xcd, 0xcf, 0x62, 0xaa, 0xd8,
+	0x71, 0x53, 0xa9, 0x57, 0xcc, 0x7c, 0xe7, 0x3b, 0x67, 0xce, 0x7c, 0xe7, 0x9c, 0x59, 0xa0, 0x39,
+	0x89, 0xe3, 0x49, 0x44, 0xdb, 0x22, 0x25, 0x7e, 0xc8, 0x26, 0xea, 0x97, 0xba, 0x49, 0x1a, 0x8b,
+	0x18, 0x3d, 0xd6, 0x36, 0xd7, 0xd8, 0xdc, 0xe5, 0xcb, 0xe6, 0x53, 0x43, 0x27, 0x49, 0xd8, 0x26,
+	0x8c, 0xc5, 0x82, 0x88, 0x30, 0x66, 0x5c, 0x3b, 0x34, 0x77, 0x8c, 0x55, 0xed, 0xc6, 0x8b, 0xab,
+	0xb6, 0x08, 0xe7, 0x94, 0x0b, 0x32, 0x4f, 0x0c, 0x61, 0xcb, 0x10, 0xd2, 0xc4, 0x6f, 0x73, 0x41,
+	0xc4, 0xc2, 0x78, 0xb6, 0x0e, 0xa0, 0x7c, 0x21, 0x4f, 0xee, 0x07, 0x68, 0x07, 0x9c, 0x29, 0x7d,
+	0xef, 0x51, 0xe6, 0xc7, 0x01, 0x0d, 0x1a, 0xd6, 0xae, 0xb5, 0x5f, 0xc5, 0x30, 0xa5, 0xef, 0xbb,
+	0x1a, 0x69, 0x1d, 0x83, 0xfd, 0x43, 0x1c, 0x2c, 0x22, 0x8a, 0xbe, 0x00, 0x7b, 0xae, 0x56, 0x86,
+	0x65, 0x76, 0xe8, 0x09, 0x54, 0xc6, 0x8b, 0x30, 0x0a, 0xbc, 0x30, 0x68, 0xe4, 0x95, 0xa5, 0xac,
+	0xf6, 0xfd, 0xa0, 0xf5, 0x7b, 0x01, 0x60, 0x24, 0x88, 0x3f, 0x53, 0xc7, 0xa1, 0x3e, 0x38, 0x5c,
+	0xee, 0xbc, 0xab, 0x94, 0xcc, 0x65, 0x98, 0xc2, 0xbe, 0xd3, 0xd9, 0x77, 0x3f, 0xb8, 0xb8, 0x7b,
+	0xeb, 0xa3, 0x97, 0xe7, 0x92, 0x8f, 0x81, 0xaf, 0xd6, 0xe8, 0x05, 0x7c, 0xa6, 0x43, 0x29, 0x09,
+	0xbd, 0x29, 0xe1, 0xd3, 0xec, 0xfc, 0x22, 0xae, 0xf3, 0x95, 0x7f, 0x8f, 0xf0, 0x69, 0x3f, 0x68,
+	0xfe, 0x96, 0x37, 0x89, 0x68, 0xef, 0x67, 0xb0, 0x71, 0xb5, 0x60, 0xbe, 0x54, 0xd3, 0x63, 0x3a,
+	0x15, 0x99, 0x77, 0x2d, 0x03, 0x07, 0x92, 0xf4, 0x1c, 0x50, 0x9c, 0x86, 0x13, 0xef, 0x9f, 0x4c,
+	0x7d, 0xc3, 0xba, 0xb4, 0x9c, 0xaf, 0xb3, 0xbf, 0x84, 0xea, 0x55, 0x18, 0x51, 0x4d, 0x2a, 0x28,
+	0x52, 0x45, 0x02, 0xca, 0xb8, 0x03, 0x4e, 0x14, 0x32, 0xea, 0xb1, 0xc5, 0x7c, 0x4c, 0xd3, 0x46,
+	0x71, 0xd7, 0xda, 0x2f, 0x60, 0x90, 0xd0, 0x40, 0x21, 0x32, 0x21, 0x3f, 0x8e, 0x16, 0x73, 0x96,
+	0x51, 0x4a, 0x8a, 0x52, 0xd3, 0xa0, 0x21, 0xbd, 0x06, 0x27, 0x8a, 0x49, 0xe0, 0x99, 0x2a, 0xd8,
+	0xbb, 0xd6, 0xbe, 0xd3, 0x79, 0x72, 0x87, 0x7c, 0xba, 0x60, 0x18, 0x24, 0xdb, 0x14, 0xef, 0x2b,
+	0xd8, 0xe4, 0xf1, 0x22, 0xf5, 0xa9, 0xb7, 0xa4, 0x29, 0x0f, 0x63, 0xd6, 0x28, 0xab, 0x1c, 0x37,
+	0x34, 0x7a, 0xa9, 0xc1, 0xd6, 0x0d, 0xc0, 0x5b, 0x32, 0xa6, 0xd1, 0x25, 0x89, 0x16, 0x52, 0xa6,
+	0x1a, 0x17, 0x69, 0xc8, 0x26, 0xde, 0x52, 0xee, 0xb5, 0x4a, 0xbd, 0x1c, 0x76, 0x34, 0xaa, 0x49,
+	0xdb, 0x50, 0x0d, 0x99, 0x30, 0x0c, 0xa9, 0x4e, 0xa1, 0x97, 0xc3, 0x95, 0x90, 0x09, 0x6d, 0xde,
+	0x01, 0x18, 0xc7, 0x71, 0x64, 0xec, 0x52, 0x98, 0x4a, 0x2f, 0x87, 0xab, 0x12, 0x53, 0x84, 0x93,
+	0x32, 0x94, 0x94, 0xad, 0xf5, 0x6b, 0x0d, 0x8a, 0xa3, 0x84, 0x30, 0xb4, 0x09, 0xf9, 0x50, 0xb7,
+	0xa2, 0x8d, 0xf3, 0x61, 0x80, 0x10, 0x14, 0xd7, 0xa4, 0x57, 0x6b, 0x29, 0x77, 0x42, 0x52, 0xca,
+	0x84, 0xac, 0x7a, 0x41, 0x51, 0x2b, 0x1a, 0xe8, 0x07, 0xe8, 0x0c, 0xea, 0x51, 0xec, 0x93, 0xc8,
+	0xe3, 0x82, 0xa4, 0xc2, 0x93, 0x73, 0xa1, 0x34, 0x77, 0x3a, 0xcd, 0x4c, 0xad, 0x6c, 0x68, 0xdc,
+	0x8b, 0x6c, 0x68, 0xf0, 0xa6, 0xf2, 0x19, 0x49, 0x17, 0x09, 0xa2, 0xef, 0x40, 0x23, 0x1e, 0x65,
+	0x81, 0x8e, 0x51, 0x7a, 0x30, 0x46, 0x4d, 0x79, 0x74, 0x59, 0xa0, 0x22, 0x1c, 0x83, 0x1d, 0x49,
+	0x35, 0x79, 0xc3, 0x56, 0xad, 0xfe, 0xec, 0xae, 0x56, 0x4f, 0x08, 0x73, 0x95, 0xe6, 0xbc, 0xcb,
+	0x44, 0x7a, 0x8d, 0x8d, 0x0b, 0xfa, 0x36, 0x1b, 0x16, 0xd5, 0xe1, 0xaa, 0x5c, 0x4e, 0x67, 0xfb,
+	0xa3, 0xc3, 0x62, 0x26, 0x44, 0x0f, 0xdb, 0x09, 0x38, 0x32, 0x69, 0x8f, 0x2e, 0x29, 0x13, 0xbc,
+	0x51, 0x51, 0x19, 0xec, 0xdd, 0x97, 0x81, 0xcc, 0xb7, 0x2b, 0x99, 0x18, 0x44, 0xb6, 0xe4, 0xa8,
+	0x03, 0xa5, 0x28, 0x64, 0x33, 0xde, 0xa8, 0x2a, 0xef, 0xa7, 0xf7, 0xe6, 0x1f, 0xb2, 0x19, 0xd6,
+	0x54, 0x74, 0x00, 0xb6, 0x7e, 0x6c, 0x1a, 0xa0, 0x52, 0x46, 0x99, 0x53, 0x9a, 0xf8, 0x32, 0x57,
+	0xb1, 0xe0, 0xd8, 0x30, 0xd0, 0x01, 0x3c, 0x9e, 0x12, 0xee, 0xa5, 0x74, 0x1e, 0x0b, 0xea, 0xe9,
+	0xfa, 0x35, 0x1c, 0xd9, 0x23, 0xf8, 0xd1, 0x94, 0x70, 0xac, 0xf0, 0xa1, 0x82, 0x9b, 0x7f, 0x96,
+	0xa0, 0xba, 0xca, 0x12, 0x7d, 0x03, 0xa0, 0x8b, 0xa3, 0x0a, 0x63, 0x3d, 0x58, 0x98, 0xaa, 0x62,
+	0xab, 0xaa, 0x0c, 0x00, 0x6e, 0x1f, 0x53, 0xd5, 0x54, 0x4e, 0xe7, 0xf9, 0x83, 0xba, 0xb8, 0x6f,
+	0x56, 0x3e, 0xbd, 0x1c, 0x5e, 0x8b, 0x80, 0xde, 0xc1, 0x06, 0xa3, 0xe2, 0xe7, 0x38, 0x9d, 0x69,
+	0xad, 0x55, 0x3b, 0x3a, 0x1d, 0xf7, 0xe1, 0x90, 0x03, 0xed, 0xa6, 0x36, 0xbd, 0x1c, 0xae, 0xb1,
+	0xb5, 0x7d, 0xf3, 0x2f, 0x0b, 0xe0, 0xf6, 0x4c, 0xb4, 0x0b, 0x4e, 0x40, 0xb9, 0x9f, 0x86, 0x89,
+	0x4a, 0x5b, 0x3f, 0x58, 0xeb, 0x10, 0x1a, 0xae, 0xba, 0x2d, 0xaf, 0xaa, 0x75, 0xf4, 0x29, 0x77,
+	0xba, 0xab, 0x05, 0x9b, 0x3f, 0x82, 0xb3, 0x06, 0xa3, 0x3a, 0x14, 0x66, 0xf4, 0xda, 0x1c, 0x2d,
+	0x97, 0xe8, 0xd0, 0xcc, 0xae, 0x51, 0xf1, 0xae, 0xee, 0xbc, 0x7d, 0x4e, 0xb0, 0xe6, 0xbe, 0xce,
+	0x1f, 0x59, 0xcd, 0x5f, 0xf2, 0x50, 0x5b, 0xbf, 0x3d, 0x3a, 0x06, 0x67, 0x46, 0x53, 0x46, 0xff,
+	0x75, 0x41, 0x41, 0xd3, 0x55, 0x45, 0xbf, 0x87, 0xa2, 0xb8, 0x4e, 0x74, 0x16, 0x9b, 0x9d, 0xc3,
+	0x4f, 0x13, 0xde, 0xbd, 0xb8, 0x4e, 0x28, 0x56, 0x01, 0xd0, 0x36, 0xc0, 0x9c, 0x72, 0x4e, 0x26,
+	0x34, 0x7b, 0x56, 0x8a, 0xb8, 0x6a, 0x90, 0x7e, 0x80, 0xf6, 0xa0, 0x96, 0x99, 0x79, 0x78, 0xa3,
+	0xdf, 0x94, 0x22, 0x76, 0x0c, 0x36, 0x0a, 0x6f, 0x68, 0xeb, 0x6b, 0x28, 0xca, 0x78, 0xe8, 0x11,
+	0x38, 0xef, 0x06, 0xa3, 0x61, 0xf7, 0xb4, 0x7f, 0xde, 0xef, 0x9e, 0xd5, 0x73, 0xa8, 0x02, 0xc5,
+	0x51, 0x77, 0x70, 0x51, 0xb7, 0xe4, 0x0a, 0x77, 0x4f, 0x2f, 0xeb, 0xf9, 0xd5, 0xd3, 0xd7, 0xfc,
+	0xc3, 0x82, 0xa2, 0x9c, 0x21, 0xf4, 0x0a, 0x2a, 0xfa, 0x83, 0x66, 0x1e, 0xc0, 0x35, 0x0d, 0xd6,
+	0x6e, 0x63, 0x3e, 0xde, 0xb8, 0x2c, 0xcc, 0x57, 0x7c, 0x0b, 0xca, 0x3c, 0x21, 0x2c, 0xfb, 0x02,
+	0xda, 0xd8, 0x96, 0xdb, 0x7e, 0x80, 0x5e, 0x19, 0x65, 0x0a, 0x4a, 0x99, 0xbd, 0x8f, 0xcd, 0xef,
+	0x9a, 0x0e, 0x2d, 0xf7, 0xbe, 0x5b, 0x54, 0xa1, 0x74, 0xda, 0xeb, 0xbf, 0x3d, 0xab, 0x5b, 0x08,
+	0xc0, 0x1e, 0xbe, 0xc1, 0xf2, 0x4a, 0xf9, 0xff, 0xaf, 0x51, 0x5a, 0x73, 0x28, 0xe9, 0xe7, 0xec,
+	0x3f, 0x2a, 0xf3, 0x02, 0x4a, 0x52, 0x8a, 0x6c, 0x26, 0xb6, 0xee, 0x51, 0x00, 0x6b, 0xd6, 0x89,
+	0x07, 0x9f, 0xfb, 0xf1, 0xfc, 0x43, 0xd2, 0x09, 0xa8, 0xc8, 0x43, 0xd9, 0x87, 0x43, 0xeb, 0xa7,
+	0x23, 0x43, 0x98, 0xc4, 0x11, 0x61, 0x13, 0x37, 0x4e, 0x27, 0xed, 0x09, 0x65, 0xaa, 0x4b, 0xdb,
+	0xda, 0x44, 0x92, 0x90, 0xaf, 0xfe, 0xe6, 0x2d, 0x5f, 0x1e, 0x9b, 0xe5, 0xd8, 0x56, 0xa4, 0xc3,
+	0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x30, 0x5b, 0x04, 0x0a, 0x0a, 0x00, 0x00,
 }
diff --git a/googleapis/type/color/color.pb.go b/googleapis/type/color/color.pb.go
index 09434bfc..1f31b6d3 100644
--- a/googleapis/type/color/color.pb.go
+++ b/googleapis/type/color/color.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/color/color.proto
+// source: google/type/color.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package color is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/color/color.proto
+	google/type/color.proto
 
 It has these top-level messages:
 	Color
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/color"
+package color
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -169,6 +169,27 @@ func (m *Color) String() string            { return proto.CompactTextString(m) }
 func (*Color) ProtoMessage()               {}
 func (*Color) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Color) GetRed() float32 {
+	if m != nil {
+		return m.Red
+	}
+	return 0
+}
+
+func (m *Color) GetGreen() float32 {
+	if m != nil {
+		return m.Green
+	}
+	return 0
+}
+
+func (m *Color) GetBlue() float32 {
+	if m != nil {
+		return m.Blue
+	}
+	return 0
+}
+
 func (m *Color) GetAlpha() *google_protobuf.FloatValue {
 	if m != nil {
 		return m.Alpha
@@ -180,25 +201,22 @@ func init() {
 	proto.RegisterType((*Color)(nil), "google.type.Color")
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/color/color.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/type/color.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 231 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,
+	// 224 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0xc5, 0x30,
+	0x10, 0xc7, 0x49, 0xfb, 0xea, 0x70, 0x6f, 0x50, 0x82, 0x60, 0x50, 0x90, 0x87, 0xd3, 0x9b, 0x12,
+	0x54, 0x70, 0x71, 0xab, 0xa0, 0x6b, 0x29, 0xe2, 0x20, 0x38, 0xa4, 0xf5, 0x8c, 0x42, 0xec, 0x85,
+	0xb4, 0x55, 0xfc, 0x3a, 0x7e, 0x52, 0xc9, 0xa5, 0x42, 0x97, 0x70, 0xb9, 0xdf, 0xef, 0x92, 0xff,
+	0xc1, 0x89, 0x23, 0x72, 0x1e, 0xcd, 0xf4, 0x13, 0xd0, 0xf4, 0xe4, 0x29, 0xea, 0x10, 0x69, 0x22,
+	0xb9, 0xcd, 0x40, 0x27, 0x70, 0x7a, 0xbe, 0x58, 0x8c, 0xba, 0xf9, 0xcd, 0x7c, 0x47, 0x1b, 0x02,
+	0xc6, 0x31, 0xcb, 0x17, 0x5f, 0x50, 0xdd, 0xa5, 0x59, 0x79, 0x04, 0x65, 0xc4, 0x57, 0x25, 0x76,
+	0x62, 0x5f, 0xb4, 0xa9, 0x94, 0xc7, 0x50, 0xb9, 0x88, 0x38, 0xa8, 0x82, 0x7b, 0xf9, 0x22, 0x25,
+	0x6c, 0x3a, 0x3f, 0xa3, 0x2a, 0xb9, 0xc9, 0xb5, 0xbc, 0x84, 0xca, 0xfa, 0xf0, 0x6e, 0xd5, 0x66,
+	0x27, 0xf6, 0xdb, 0xab, 0x33, 0xbd, 0x24, 0xf8, 0xff, 0x54, 0xdf, 0x7b, 0xb2, 0xd3, 0x93, 0xf5,
+	0x33, 0xb6, 0xd9, 0xac, 0x5f, 0xe0, 0xb0, 0xa7, 0x4f, 0xbd, 0x8a, 0x5a, 0x03, 0x07, 0x69, 0xd2,
+	0x4c, 0x23, 0x9e, 0x6f, 0x16, 0xe4, 0xc8, 0xdb, 0xc1, 0x69, 0x8a, 0xce, 0x38, 0x1c, 0xf8, 0x45,
+	0x93, 0x91, 0x0d, 0x1f, 0xe3, 0x6a, 0xfb, 0x5b, 0x3e, 0x7f, 0x8b, 0xf2, 0xe1, 0xb1, 0xe9, 0x0e,
+	0x58, 0xbc, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x42, 0x23, 0x2a, 0xd0, 0x25, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/color/color.proto b/googleapis/type/color/color.proto
deleted file mode 100644
index 11e1a780..00000000
--- a/googleapis/type/color/color.proto
+++ /dev/null
@@ -1,163 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-import "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"; // from google/protobuf/wrappers.proto
-
-option java_multiple_files = true;
-option java_outer_classname = "ColorProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a color in the RGBA color space. This representation is designed
-// for simplicity of conversion to/from color representations in various
-// languages over compactness; for example, the fields of this representation
-// can be trivially provided to the constructor of "java.awt.Color" in Java; it
-// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
-// method in iOS; and, with just a little work, it can be easily formatted into
-// a CSS "rgba()" string in JavaScript, as well. Here are some examples:
-//
-// Example (Java):
-//
-//      import com.google.type.Color;
-//
-//      // ...
-//      public static java.awt.Color fromProto(Color protocolor) {
-//        float alpha = protocolor.hasAlpha()
-//            ? protocolor.getAlpha().getValue()
-//            : 1.0;
-//
-//        return new java.awt.Color(
-//            protocolor.getRed(),
-//            protocolor.getGreen(),
-//            protocolor.getBlue(),
-//            alpha);
-//      }
-//
-//      public static Color toProto(java.awt.Color color) {
-//        float red = (float) color.getRed();
-//        float green = (float) color.getGreen();
-//        float blue = (float) color.getBlue();
-//        float denominator = 255.0;
-//        Color.Builder resultBuilder =
-//            Color
-//                .newBuilder()
-//                .setRed(red / denominator)
-//                .setGreen(green / denominator)
-//                .setBlue(blue / denominator);
-//        int alpha = color.getAlpha();
-//        if (alpha != 255) {
-//          result.setAlpha(
-//              FloatValue
-//                  .newBuilder()
-//                  .setValue(((float) alpha) / denominator)
-//                  .build());
-//        }
-//        return resultBuilder.build();
-//      }
-//      // ...
-//
-// Example (iOS / Obj-C):
-//
-//      // ...
-//      static UIColor* fromProto(Color* protocolor) {
-//         float red = [protocolor red];
-//         float green = [protocolor green];
-//         float blue = [protocolor blue];
-//         FloatValue* alpha_wrapper = [protocolor alpha];
-//         float alpha = 1.0;
-//         if (alpha_wrapper != nil) {
-//           alpha = [alpha_wrapper value];
-//         }
-//         return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
-//      }
-//
-//      static Color* toProto(UIColor* color) {
-//          CGFloat red, green, blue, alpha;
-//          if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
-//            return nil;
-//          }
-//          Color* result = [Color alloc] init];
-//          [result setRed:red];
-//          [result setGreen:green];
-//          [result setBlue:blue];
-//          if (alpha <= 0.9999) {
-//            [result setAlpha:floatWrapperWithValue(alpha)];
-//          }
-//          [result autorelease];
-//          return result;
-//     }
-//     // ...
-//
-//  Example (JavaScript):
-//
-//     // ...
-//
-//     var protoToCssColor = function(rgb_color) {
-//        var redFrac = rgb_color.red || 0.0;
-//        var greenFrac = rgb_color.green || 0.0;
-//        var blueFrac = rgb_color.blue || 0.0;
-//        var red = Math.floor(redFrac * 255);
-//        var green = Math.floor(greenFrac * 255);
-//        var blue = Math.floor(blueFrac * 255);
-//
-//        if (!('alpha' in rgb_color)) {
-//           return rgbToCssColor_(red, green, blue);
-//        }
-//
-//        var alphaFrac = rgb_color.alpha.value || 0.0;
-//        var rgbParams = [red, green, blue].join(',');
-//        return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
-//     };
-//
-//     var rgbToCssColor_ = function(red, green, blue) {
-//       var rgbNumber = new Number((red << 16) | (green << 8) | blue);
-//       var hexString = rgbNumber.toString(16);
-//       var missingZeros = 6 - hexString.length;
-//       var resultBuilder = ['#'];
-//       for (var i = 0; i < missingZeros; i++) {
-//          resultBuilder.push('0');
-//       }
-//       resultBuilder.push(hexString);
-//       return resultBuilder.join('');
-//     };
-//
-//     // ...
-message Color {
-  // The amount of red in the color as a value in the interval [0, 1].
-  float red = 1;
-
-  // The amount of green in the color as a value in the interval [0, 1].
-  float green = 2;
-
-  // The amount of blue in the color as a value in the interval [0, 1].
-  float blue = 3;
-
-  // The fraction of this color that should be applied to the pixel. That is,
-  // the final pixel color is defined by the equation:
-  //
-  //   pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
-  //
-  // This means that a value of 1.0 corresponds to a solid color, whereas
-  // a value of 0.0 corresponds to a completely transparent color. This
-  // uses a wrapper message rather than a simple float scalar so that it is
-  // possible to distinguish between a default value and the value being unset.
-  // If omitted, this color object is to be rendered as a solid color
-  // (as if the alpha value had been explicitly given with a value of 1.0).
-  google.protobuf.FloatValue alpha = 4;
-}
diff --git a/googleapis/type/date/date.pb.go b/googleapis/type/date/date.pb.go
index 73f78cba..97ed47c6 100644
--- a/googleapis/type/date/date.pb.go
+++ b/googleapis/type/date/date.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/date/date.proto
+// source: google/type/date.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package date is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/date/date.proto
+	google/type/date.proto
 
 It has these top-level messages:
 	Date
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/date"
+package date
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -51,25 +51,44 @@ func (m *Date) String() string            { return proto.CompactTextString(m) }
 func (*Date) ProtoMessage()               {}
 func (*Date) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*Date)(nil), "google.type.Date")
+func (m *Date) GetYear() int32 {
+	if m != nil {
+		return m.Year
+	}
+	return 0
+}
+
+func (m *Date) GetMonth() int32 {
+	if m != nil {
+		return m.Month
+	}
+	return 0
+}
+
+func (m *Date) GetDay() int32 {
+	if m != nil {
+		return m.Day
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/date/date.proto", fileDescriptor0)
+	proto.RegisterType((*Date)(nil), "google.type.Date")
 }
 
+func init() { proto.RegisterFile("google/type/date.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 161 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,
+	// 172 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4b, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x4f, 0x49, 0x2c, 0x49, 0xd5, 0x2b, 0x28, 0xca,
+	0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x88, 0xeb, 0x81, 0xc4, 0x95, 0x9c, 0xb8, 0x58, 0x5c, 0x12, 0x4b,
+	0x52, 0x85, 0x84, 0xb8, 0x58, 0x2a, 0x53, 0x13, 0x8b, 0x24, 0x18, 0x15, 0x18, 0x35, 0x58, 0x83,
+	0xc0, 0x6c, 0x21, 0x11, 0x2e, 0xd6, 0xdc, 0xfc, 0xbc, 0x92, 0x0c, 0x09, 0x26, 0xb0, 0x20, 0x84,
+	0x23, 0x24, 0xc0, 0xc5, 0x9c, 0x92, 0x58, 0x29, 0xc1, 0x0c, 0x16, 0x03, 0x31, 0x9d, 0x62, 0xb9,
+	0xf8, 0x93, 0xf3, 0x73, 0xf5, 0x90, 0x8c, 0x75, 0xe2, 0x04, 0x19, 0x1a, 0x00, 0xb2, 0x2e, 0x80,
+	0x31, 0xca, 0x04, 0x2a, 0x93, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae, 0x9f,
+	0x9e, 0x9a, 0x07, 0x76, 0x8c, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xe1, 0x4e, 0x6b, 0x10,
+	0xf1, 0x83, 0x91, 0x71, 0x11, 0x13, 0xb3, 0x7b, 0x48, 0x40, 0x12, 0x1b, 0x58, 0xa5, 0x31, 0x20,
+	0x00, 0x00, 0xff, 0xff, 0x84, 0x95, 0xf3, 0x4c, 0xd0, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/date/date.proto b/googleapis/type/date/date.proto
deleted file mode 100644
index 7432cf70..00000000
--- a/googleapis/type/date/date.proto
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "DateProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a whole calendar date, e.g. date of birth. The time of day and
-// time zone are either specified elsewhere or are not significant. The date
-// is relative to the Proleptic Gregorian Calendar. The day may be 0 to
-// represent a year and month where the day is not significant, e.g. credit card
-// expiration date. The year may be 0 to represent a month and day independent
-// of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][google.type.TimeOfDay]
-// and `google.protobuf.Timestamp`.
-message Date {
-  // Year of date. Must be from 1 to 9999, or 0 if specifying a date without
-  // a year.
-  int32 year = 1;
-
-  // Month of year. Must be from 1 to 12.
-  int32 month = 2;
-
-  // Day of month. Must be from 1 to 31 and valid for the year and month, or 0
-  // if specifying a year/month where the day is not significant.
-  int32 day = 3;
-}
diff --git a/googleapis/type/dayofweek/dayofweek.pb.go b/googleapis/type/dayofweek/dayofweek.pb.go
index a83dc16d..77803c1f 100644
--- a/googleapis/type/dayofweek/dayofweek.pb.go
+++ b/googleapis/type/dayofweek/dayofweek.pb.go
@@ -1,16 +1,16 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto
+// source: google/type/dayofweek.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package dayofweek is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto
+	google/type/dayofweek.proto
 
 It has these top-level messages:
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/dayofweek"
+package dayofweek
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -79,25 +79,23 @@ func init() {
 	proto.RegisterEnum("google.type.DayOfWeek", DayOfWeek_name, DayOfWeek_value)
 }
 
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/dayofweek/dayofweek.proto", fileDescriptor0)
-}
+func init() { proto.RegisterFile("google/type/dayofweek.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 228 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,
+	// 235 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x4f, 0x49, 0xac, 0xcc, 0x4f, 0x2b, 0x4f, 0x4d,
+	0xcd, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xea, 0x81, 0x24, 0xb5, 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, 0x53, 0x26,
+	0x17, 0x7f, 0x72, 0x7e, 0xae, 0x1e, 0x92, 0xcb, 0x9c, 0xf8, 0xe0, 0xce, 0x0a, 0x00, 0x39, 0x3b,
+	0x80, 0x31, 0xca, 0x0e, 0x2a, 0x9d, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae,
+	0x9f, 0x9e, 0x9a, 0x07, 0xf6, 0x94, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xcd, 0xd3, 0xd6,
+	0x70, 0xd6, 0x22, 0x26, 0x66, 0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0x06, 0x63, 0x40, 0x00, 0x00,
+	0x00, 0xff, 0xff, 0x6e, 0x23, 0xb2, 0xb3, 0x24, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/dayofweek/dayofweek.proto b/googleapis/type/dayofweek/dayofweek.proto
deleted file mode 100644
index dee1692f..00000000
--- a/googleapis/type/dayofweek/dayofweek.proto
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "DayOfWeekProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a day of week.
-enum DayOfWeek {
-  // The unspecified day-of-week.
-  DAY_OF_WEEK_UNSPECIFIED = 0;
-
-  // The day-of-week of Monday.
-  MONDAY = 1;
-
-  // The day-of-week of Tuesday.
-  TUESDAY = 2;
-
-  // The day-of-week of Wednesday.
-  WEDNESDAY = 3;
-
-  // The day-of-week of Thursday.
-  THURSDAY = 4;
-
-  // The day-of-week of Friday.
-  FRIDAY = 5;
-
-  // The day-of-week of Saturday.
-  SATURDAY = 6;
-
-  // The day-of-week of Sunday.
-  SUNDAY = 7;
-}
diff --git a/googleapis/type/latlng/latlng.pb.go b/googleapis/type/latlng/latlng.pb.go
index 56c31458..82229f02 100644
--- a/googleapis/type/latlng/latlng.pb.go
+++ b/googleapis/type/latlng/latlng.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/latlng/latlng.proto
+// source: google/type/latlng.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package latlng is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/latlng/latlng.proto
+	google/type/latlng.proto
 
 It has these top-level messages:
 	LatLng
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/latlng"
+package latlng
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -45,7 +45,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
 //
 //     def NormalizeLatLng(latitude, longitude):
 //       """Wraps decimal degrees latitude and longitude to
-//       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
+//       [-90.0, 90.0] and [-180.0, 180.0], respectively."""
 //       r = latitude % 360.0
 //       if r <= 90.0:
 //         return r, NormalizeLongitude(longitude)
@@ -79,24 +79,37 @@ func (m *LatLng) String() string            { return proto.CompactTextString(m)
 func (*LatLng) ProtoMessage()               {}
 func (*LatLng) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*LatLng)(nil), "google.type.LatLng")
+func (m *LatLng) GetLatitude() float64 {
+	if m != nil {
+		return m.Latitude
+	}
+	return 0
+}
+
+func (m *LatLng) GetLongitude() float64 {
+	if m != nil {
+		return m.Longitude
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/latlng/latlng.proto", fileDescriptor0)
+	proto.RegisterType((*LatLng)(nil), "google.type.LatLng")
 }
 
+func init() { proto.RegisterFile("google/type/latlng.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 158 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,
+	// 165 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x48, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0xcf, 0x49, 0x2c, 0xc9, 0xc9, 0x4b, 0xd7, 0x2b,
+	0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0xc8, 0xe8, 0x81, 0x64, 0x94, 0x9c, 0xb8, 0xd8, 0x7c,
+	0x12, 0x4b, 0x7c, 0xf2, 0xd2, 0x85, 0xa4, 0xb8, 0x38, 0x72, 0x12, 0x4b, 0x32, 0x4b, 0x4a, 0x53,
+	0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x18, 0x83, 0xe0, 0x7c, 0x21, 0x19, 0x2e, 0xce, 0x9c, 0xfc,
+	0xbc, 0x74, 0x88, 0x24, 0x13, 0x58, 0x12, 0x21, 0xe0, 0x94, 0xc0, 0xc5, 0x9f, 0x9c, 0x9f, 0xab,
+	0x87, 0x64, 0xac, 0x13, 0x37, 0xc4, 0xd0, 0x00, 0x90, 0x85, 0x01, 0x8c, 0x51, 0x16, 0x50, 0xb9,
+	0xf4, 0xfc, 0x9c, 0xc4, 0xbc, 0x74, 0xbd, 0xfc, 0xa2, 0x74, 0xfd, 0xf4, 0xd4, 0x3c, 0xb0, 0x73,
+	0xf4, 0x21, 0x52, 0x89, 0x05, 0x99, 0xc5, 0xc8, 0x6e, 0xb5, 0x86, 0x50, 0x8b, 0x98, 0x98, 0xdd,
+	0x43, 0x02, 0x92, 0xd8, 0xc0, 0x4a, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x69, 0x12, 0x54,
+	0x1c, 0xd5, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/latlng/latlng.proto b/googleapis/type/latlng/latlng.proto
deleted file mode 100644
index 378ac898..00000000
--- a/googleapis/type/latlng/latlng.proto
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "LatLngProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// An object representing a latitude/longitude pair. This is expressed as a pair
-// of doubles representing degrees latitude and degrees longitude. Unless
-// specified otherwise, this must conform to the
-// <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
-// standard</a>. Values must be within normalized ranges.
-//
-// Example of normalization code in Python:
-//
-//     def NormalizeLongitude(longitude):
-//       """Wraps decimal degrees longitude to [-180.0, 180.0]."""
-//       q, r = divmod(longitude, 360.0)
-//       if r > 180.0 or (r == 180.0 and q <= -1.0):
-//         return r - 360.0
-//       return r
-//
-//     def NormalizeLatLng(latitude, longitude):
-//       """Wraps decimal degrees latitude and longitude to
-//       [-180.0, 180.0] and [-90.0, 90.0], respectively."""
-//       r = latitude % 360.0
-//       if r <= 90.0:
-//         return r, NormalizeLongitude(longitude)
-//       elif r >= 270.0:
-//         return r - 360, NormalizeLongitude(longitude)
-//       else:
-//         return 180 - r, NormalizeLongitude(longitude + 180.0)
-//
-//     assert 180.0 == NormalizeLongitude(180.0)
-//     assert -180.0 == NormalizeLongitude(-180.0)
-//     assert -179.0 == NormalizeLongitude(181.0)
-//     assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
-//     assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
-//     assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
-//     assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
-//     assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
-//     assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
-//     assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
-//     assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
-//     assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
-//     assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
-message LatLng {
-  // The latitude in degrees. It must be in the range [-90.0, +90.0].
-  double latitude = 1;
-
-  // The longitude in degrees. It must be in the range [-180.0, +180.0].
-  double longitude = 2;
-}
diff --git a/googleapis/type/money/money.pb.go b/googleapis/type/money/money.pb.go
index 830ff4d0..5013df67 100644
--- a/googleapis/type/money/money.pb.go
+++ b/googleapis/type/money/money.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/money/money.proto
+// source: google/type/money.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package money is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/money/money.proto
+	google/type/money.proto
 
 It has these top-level messages:
 	Money
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/money"
+package money
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -49,26 +49,45 @@ func (m *Money) String() string            { return proto.CompactTextString(m) }
 func (*Money) ProtoMessage()               {}
 func (*Money) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*Money)(nil), "google.type.Money")
+func (m *Money) GetCurrencyCode() string {
+	if m != nil {
+		return m.CurrencyCode
+	}
+	return ""
+}
+
+func (m *Money) GetUnits() int64 {
+	if m != nil {
+		return m.Units
+	}
+	return 0
+}
+
+func (m *Money) GetNanos() int32 {
+	if m != nil {
+		return m.Nanos
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/money/money.proto", fileDescriptor0)
+	proto.RegisterType((*Money)(nil), "google.type.Money")
 }
 
+func init() { proto.RegisterFile("google/type/money.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 183 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,
+	// 190 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x12, 0x4f, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0xcf, 0xcd, 0xcf, 0x4b, 0xad, 0xd4, 0x2b, 0x28,
+	0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xe8, 0x81, 0x24, 0x94, 0x22, 0xb8, 0x58, 0x7d, 0x41,
+	0x72, 0x42, 0xca, 0x5c, 0xbc, 0xc9, 0xa5, 0x45, 0x45, 0xa9, 0x79, 0xc9, 0x95, 0xf1, 0xc9, 0xf9,
+	0x29, 0xa9, 0x12, 0x8c, 0x0a, 0x8c, 0x1a, 0x9c, 0x41, 0x3c, 0x30, 0x41, 0xe7, 0xfc, 0x94, 0x54,
+	0x21, 0x11, 0x2e, 0xd6, 0xd2, 0xbc, 0xcc, 0x92, 0x62, 0x09, 0x26, 0x05, 0x46, 0x0d, 0xe6, 0x20,
+	0x08, 0x07, 0x24, 0x9a, 0x97, 0x98, 0x97, 0x5f, 0x2c, 0xc1, 0xac, 0xc0, 0xa8, 0xc1, 0x1a, 0x04,
+	0xe1, 0x38, 0xc5, 0x72, 0xf1, 0x27, 0xe7, 0xe7, 0xea, 0x21, 0x59, 0xe6, 0xc4, 0x05, 0xb6, 0x2a,
+	0x00, 0xe4, 0x8a, 0x00, 0xc6, 0x28, 0x33, 0xa8, 0x54, 0x7a, 0x7e, 0x4e, 0x62, 0x5e, 0xba, 0x5e,
+	0x7e, 0x51, 0xba, 0x7e, 0x7a, 0x6a, 0x1e, 0xd8, 0x8d, 0xfa, 0x10, 0xa9, 0xc4, 0x82, 0xcc, 0x62,
+	0x24, 0xf7, 0x5b, 0x83, 0xc9, 0x45, 0x4c, 0xcc, 0xee, 0x21, 0x01, 0x49, 0x6c, 0x60, 0x85, 0xc6,
+	0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbf, 0xc2, 0x5b, 0xa5, 0xe7, 0x00, 0x00, 0x00,
 }
diff --git a/googleapis/type/money/money.proto b/googleapis/type/money/money.proto
deleted file mode 100644
index 372a0af7..00000000
--- a/googleapis/type/money/money.proto
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "MoneyProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents an amount of money with its currency type.
-message Money {
-  // The 3-letter currency code defined in ISO 4217.
-  string currency_code = 1;
-
-  // The whole units of the amount.
-  // For example if `currencyCode` is `"USD"`, then 1 unit is one US dollar.
-  int64 units = 2;
-
-  // Number of nano (10^-9) units of the amount.
-  // The value must be between -999,999,999 and +999,999,999 inclusive.
-  // If `units` is positive, `nanos` must be positive or zero.
-  // If `units` is zero, `nanos` can be positive, zero, or negative.
-  // If `units` is negative, `nanos` must be negative or zero.
-  // For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
-  int32 nanos = 3;
-}
diff --git a/googleapis/type/postaladdress/postal_address.pb.go b/googleapis/type/postaladdress/postal_address.pb.go
new file mode 100644
index 00000000..747112f3
--- /dev/null
+++ b/googleapis/type/postaladdress/postal_address.pb.go
@@ -0,0 +1,241 @@
+// Code generated by protoc-gen-go.
+// source: google/type/postal_address.proto
+// DO NOT EDIT!
+
+/*
+Package postaladdress is a generated protocol buffer package.
+
+It is generated from these files:
+	google/type/postal_address.proto
+
+It has these top-level messages:
+	PostalAddress
+*/
+package postaladdress
+
+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
+
+// Represents a postal address, e.g. for postal delivery or payments addresses.
+// Given a postal address, a postal service can deliver items to a premise, P.O.
+// Box or similar.
+// It is not intended to model geographical locations (roads, towns,
+// mountains).
+//
+// In typical usage an address would be created via user input or from importing
+// existing data, depending on the type of process.
+//
+// Advice on address input / editing:
+//  - Use an i18n-ready address widget such as
+//    https://github.com/googlei18n/libaddressinput)
+// - Users should not be presented with UI elements for input or editing of
+//   fields outside countries where that field is used.
+//
+// For more guidance on how to use this schema, please see:
+// https://support.google.com/business/answer/6397478
+type PostalAddress struct {
+	// The schema revision of the `PostalAddress`.
+	// All new revisions **must** be backward compatible with old revisions.
+	Revision int32 `protobuf:"varint,1,opt,name=revision" json:"revision,omitempty"`
+	// Required. CLDR region code of the country/region of the address. This
+	// is never inferred and it is up to the user to ensure the value is
+	// correct. See http://cldr.unicode.org/ and
+	// http://www.unicode.org/cldr/charts/30/supplemental/territory_information.html
+	// for details. Example: "CH" for Switzerland.
+	RegionCode string `protobuf:"bytes,2,opt,name=region_code,json=regionCode" json:"region_code,omitempty"`
+	// Optional. BCP-47 language code of the contents of this address (if
+	// known). This is often the UI language of the input form or is expected
+	// to match one of the languages used in the address' country/region, or their
+	// transliterated equivalents.
+	// This can affect formatting in certain countries, but is not critical
+	// to the correctness of the data and will never affect any validation or
+	// other non-formatting related operations.
+	//
+	// If this value is not known, it should be omitted (rather than specifying a
+	// possibly incorrect default).
+	//
+	// Examples: "zh-Hant", "ja", "ja-Latn", "en".
+	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode" json:"language_code,omitempty"`
+	// Optional. Postal code of the address. Not all countries use or require
+	// postal codes to be present, but where they are used, they may trigger
+	// additional validation with other parts of the address (e.g. state/zip
+	// validation in the U.S.A.).
+	PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode" json:"postal_code,omitempty"`
+	// Optional. Additional, country-specific, sorting code. This is not used
+	// in most regions. Where it is used, the value is either a string like
+	// "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number
+	// alone, representing the "sector code" (Jamaica), "delivery area indicator"
+	// (Malawi) or "post office indicator" (e.g. Côte d'Ivoire).
+	SortingCode string `protobuf:"bytes,5,opt,name=sorting_code,json=sortingCode" json:"sorting_code,omitempty"`
+	// Optional. Highest administrative subdivision which is used for postal
+	// addresses of a country or region.
+	// For example, this can be a state, a province, an oblast, or a prefecture.
+	// Specifically, for Spain this is the province and not the autonomous
+	// community (e.g. "Barcelona" and not "Catalonia").
+	// Many countries don't use an administrative area in postal addresses. E.g.
+	// in Switzerland this should be left unpopulated.
+	AdministrativeArea string `protobuf:"bytes,6,opt,name=administrative_area,json=administrativeArea" json:"administrative_area,omitempty"`
+	// Optional. Generally refers to the city/town portion of the address.
+	// Examples: US city, IT comune, UK post town.
+	// In regions of the world where localities are not well defined or do not fit
+	// into this structure well, leave locality empty and use address_lines.
+	Locality string `protobuf:"bytes,7,opt,name=locality" json:"locality,omitempty"`
+	// Optional. Sublocality of the address.
+	// For example, this can be neighborhoods, boroughs, districts.
+	Sublocality string `protobuf:"bytes,8,opt,name=sublocality" json:"sublocality,omitempty"`
+	// Unstructured address lines describing the lower levels of an address.
+	//
+	// Because values in address_lines do not have type information and may
+	// sometimes contain multiple values in a single field (e.g.
+	// "Austin, TX"), it is important that the line order is clear. The order of
+	// address lines should be "envelope order" for the country/region of the
+	// address. In places where this can vary (e.g. Japan), address_language is
+	// used to make it explicit (e.g. "ja" for large-to-small ordering and
+	// "ja-Latn" or "en" for small-to-large). This way, the most specific line of
+	// an address can be selected based on the language.
+	//
+	// The minimum permitted structural representation of an address consists
+	// of a region_code with all remaining information placed in the
+	// address_lines. It would be possible to format such an address very
+	// approximately without geocoding, but no semantic reasoning could be
+	// made about any of the address components until it was at least
+	// partially resolved.
+	//
+	// Creating an address only containing a region_code and address_lines, and
+	// then geocoding is the recommended way to handle completely unstructured
+	// addresses (as opposed to guessing which parts of the address should be
+	// localities or administrative areas).
+	AddressLines []string `protobuf:"bytes,9,rep,name=address_lines,json=addressLines" json:"address_lines,omitempty"`
+	// Optional. The recipient at the address.
+	// This field may, under certain circumstances, contain multiline information.
+	// For example, it might contain "care of" information.
+	Recipients []string `protobuf:"bytes,10,rep,name=recipients" json:"recipients,omitempty"`
+	// Optional. The name of the organization at the address.
+	Organization string `protobuf:"bytes,11,opt,name=organization" json:"organization,omitempty"`
+}
+
+func (m *PostalAddress) Reset()                    { *m = PostalAddress{} }
+func (m *PostalAddress) String() string            { return proto.CompactTextString(m) }
+func (*PostalAddress) ProtoMessage()               {}
+func (*PostalAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *PostalAddress) GetRevision() int32 {
+	if m != nil {
+		return m.Revision
+	}
+	return 0
+}
+
+func (m *PostalAddress) GetRegionCode() string {
+	if m != nil {
+		return m.RegionCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetLanguageCode() string {
+	if m != nil {
+		return m.LanguageCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetPostalCode() string {
+	if m != nil {
+		return m.PostalCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetSortingCode() string {
+	if m != nil {
+		return m.SortingCode
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetAdministrativeArea() string {
+	if m != nil {
+		return m.AdministrativeArea
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetLocality() string {
+	if m != nil {
+		return m.Locality
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetSublocality() string {
+	if m != nil {
+		return m.Sublocality
+	}
+	return ""
+}
+
+func (m *PostalAddress) GetAddressLines() []string {
+	if m != nil {
+		return m.AddressLines
+	}
+	return nil
+}
+
+func (m *PostalAddress) GetRecipients() []string {
+	if m != nil {
+		return m.Recipients
+	}
+	return nil
+}
+
+func (m *PostalAddress) GetOrganization() string {
+	if m != nil {
+		return m.Organization
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*PostalAddress)(nil), "google.type.PostalAddress")
+}
+
+func init() { proto.RegisterFile("google/type/postal_address.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 338 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x54, 0x92, 0x31, 0x6f, 0xea, 0x30,
+	0x10, 0xc7, 0x15, 0xf2, 0xe0, 0xc1, 0x05, 0xf4, 0x24, 0xbf, 0x25, 0xea, 0x50, 0x52, 0xba, 0x30,
+	0x25, 0x43, 0xc7, 0x4e, 0x50, 0xa9, 0x5d, 0x3a, 0x44, 0xa8, 0x53, 0x97, 0xc8, 0x24, 0x27, 0xcb,
+	0x52, 0xf0, 0x45, 0xb6, 0x41, 0xa2, 0xdf, 0xa1, 0x5f, 0xa2, 0x9f, 0xb4, 0xb2, 0x9d, 0xd2, 0x30,
+	0xde, 0xef, 0x7e, 0x49, 0xee, 0xee, 0x1f, 0xc8, 0x04, 0x91, 0x68, 0xb1, 0xb0, 0xe7, 0x0e, 0x8b,
+	0x8e, 0x8c, 0xe5, 0x6d, 0xc5, 0x9b, 0x46, 0xa3, 0x31, 0x79, 0xa7, 0xc9, 0x12, 0x4b, 0x82, 0x91,
+	0x3b, 0x63, 0xf5, 0x19, 0xc3, 0xa2, 0xf4, 0xd6, 0x26, 0x48, 0xec, 0x06, 0xa6, 0x1a, 0x4f, 0xd2,
+	0x48, 0x52, 0x69, 0x94, 0x45, 0xeb, 0xf1, 0xee, 0x52, 0xb3, 0x25, 0x24, 0x1a, 0x85, 0x24, 0x55,
+	0xd5, 0xd4, 0x60, 0x3a, 0xca, 0xa2, 0xf5, 0x6c, 0x07, 0x01, 0x3d, 0x51, 0x83, 0xec, 0x1e, 0x16,
+	0x2d, 0x57, 0xe2, 0xc8, 0x05, 0x06, 0x25, 0xf6, 0xca, 0xfc, 0x07, 0x7a, 0x69, 0x09, 0x49, 0x3f,
+	0x98, 0x57, 0xfe, 0x84, 0xb7, 0x04, 0xe4, 0x85, 0x3b, 0x98, 0x1b, 0xd2, 0x56, 0x2a, 0x11, 0x8c,
+	0xb1, 0x37, 0x92, 0x9e, 0x79, 0xa5, 0x80, 0xff, 0xbc, 0x39, 0x48, 0x25, 0x8d, 0xd5, 0xdc, 0xca,
+	0x13, 0x56, 0x5c, 0x23, 0x4f, 0x27, 0xde, 0x64, 0xd7, 0xad, 0x8d, 0x46, 0xee, 0xd6, 0x6a, 0xa9,
+	0xe6, 0xad, 0xb4, 0xe7, 0xf4, 0xaf, 0xb7, 0x2e, 0x35, 0xcb, 0x20, 0x31, 0xc7, 0xfd, 0xa5, 0x3d,
+	0xed, 0x3f, 0xf7, 0x8b, 0xdc, 0x5e, 0xfd, 0x11, 0xab, 0x56, 0x2a, 0x34, 0xe9, 0x2c, 0x8b, 0xdd,
+	0x5e, 0x3d, 0x7c, 0x75, 0x8c, 0xdd, 0x02, 0x68, 0xac, 0x65, 0x27, 0x51, 0x59, 0x93, 0x82, 0x37,
+	0x06, 0x84, 0xad, 0x60, 0x4e, 0x5a, 0x70, 0x25, 0x3f, 0xb8, 0x75, 0xd7, 0x4d, 0xc2, 0x6d, 0x86,
+	0x6c, 0x7b, 0x84, 0x7f, 0x35, 0x1d, 0xf2, 0x41, 0x44, 0x5b, 0x76, 0x95, 0x4f, 0xe9, 0x32, 0x2c,
+	0xa3, 0xf7, 0xe7, 0x5e, 0x11, 0xe4, 0x6e, 0x9b, 0x93, 0x16, 0x85, 0x40, 0xe5, 0x13, 0x2e, 0x42,
+	0x8b, 0x77, 0xd2, 0x0c, 0x7f, 0x83, 0x7e, 0xd6, 0xc7, 0xab, 0xea, 0x6b, 0x14, 0xbf, 0xbc, 0x95,
+	0xfb, 0x89, 0x7f, 0xf0, 0xe1, 0x3b, 0x00, 0x00, 0xff, 0xff, 0xda, 0x86, 0xd3, 0x22, 0x3e, 0x02,
+	0x00, 0x00,
+}
diff --git a/googleapis/type/timeofday/timeofday.pb.go b/googleapis/type/timeofday/timeofday.pb.go
index 34596bc0..7c1e7434 100644
--- a/googleapis/type/timeofday/timeofday.pb.go
+++ b/googleapis/type/timeofday/timeofday.pb.go
@@ -1,17 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto
+// source: google/type/timeofday.proto
 // DO NOT EDIT!
 
 /*
-Package google_type is a generated protocol buffer package.
+Package timeofday is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto
+	google/type/timeofday.proto
 
 It has these top-level messages:
 	TimeOfDay
 */
-package google_type // import "google.golang.org/genproto/googleapis/type/timeofday"
+package timeofday
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -49,26 +49,53 @@ func (m *TimeOfDay) String() string            { return proto.CompactTextString(
 func (*TimeOfDay) ProtoMessage()               {}
 func (*TimeOfDay) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*TimeOfDay)(nil), "google.type.TimeOfDay")
+func (m *TimeOfDay) GetHours() int32 {
+	if m != nil {
+		return m.Hours
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetMinutes() int32 {
+	if m != nil {
+		return m.Minutes
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetSeconds() int32 {
+	if m != nil {
+		return m.Seconds
+	}
+	return 0
+}
+
+func (m *TimeOfDay) GetNanos() int32 {
+	if m != nil {
+		return m.Nanos
+	}
+	return 0
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/googleapis/type/timeofday/timeofday.proto", fileDescriptor0)
+	proto.RegisterType((*TimeOfDay)(nil), "google.type.TimeOfDay")
 }
 
+func init() { proto.RegisterFile("google/type/timeofday.proto", fileDescriptor0) }
+
 var fileDescriptor0 = []byte{
-	// 191 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,
+	// 198 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x92, 0x4e, 0xcf, 0xcf, 0x4f,
+	0xcf, 0x49, 0xd5, 0x2f, 0xa9, 0x2c, 0x48, 0xd5, 0x2f, 0xc9, 0xcc, 0x4d, 0xcd, 0x4f, 0x4b, 0x49,
+	0xac, 0xd4, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x86, 0x48, 0xea, 0x81, 0x24, 0x95, 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, 0x99, 0x5c, 0xfc, 0xc9, 0xf9, 0xb9,
+	0x7a, 0x48, 0xf6, 0x3b, 0xf1, 0xc1, 0x6d, 0x0f, 0x00, 0x39, 0x2e, 0x80, 0x31, 0xca, 0x0e, 0x2a,
+	0x9d, 0x9e, 0x9f, 0x93, 0x98, 0x97, 0xae, 0x97, 0x5f, 0x94, 0xae, 0x9f, 0x9e, 0x9a, 0x07, 0x76,
+	0xba, 0x3e, 0x44, 0x2a, 0xb1, 0x20, 0xb3, 0x18, 0xcd, 0x6b, 0xd6, 0x70, 0xd6, 0x22, 0x26, 0x66,
+	0xf7, 0x90, 0x80, 0x24, 0x36, 0xb0, 0x06, 0x63, 0x40, 0x00, 0x00, 0x00, 0xff, 0xff, 0x47, 0x79,
+	0x6a, 0x06, 0x0a, 0x01, 0x00, 0x00,
 }
diff --git a/googleapis/type/timeofday/timeofday.proto b/googleapis/type/timeofday/timeofday.proto
deleted file mode 100644
index d5a77c9c..00000000
--- a/googleapis/type/timeofday/timeofday.proto
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (c) 2015, 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.type;
-
-option java_multiple_files = true;
-option java_outer_classname = "TimeOfDayProto";
-option java_package = "com.google.type";
-option objc_class_prefix = "GTP";
-
-
-// Represents a time of day. The date and time zone are either not significant
-// or are specified elsewhere. An API may chose to allow leap seconds. Related
-// types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.
-message TimeOfDay {
-  // Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
-  // to allow the value "24:00:00" for scenarios like business closing time.
-  int32 hours = 1;
-
-  // Minutes of hour of day. Must be from 0 to 59.
-  int32 minutes = 2;
-
-  // Seconds of minutes of the time. Must normally be from 0 to 59. An API may
-  // allow the value 60 if it allows leap-seconds.
-  int32 seconds = 3;
-
-  // Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
-  int32 nanos = 4;
-}
diff --git a/protobuf/api.proto b/protobuf/api.proto
deleted file mode 100644
index 13318cab..00000000
--- a/protobuf/api.proto
+++ /dev/null
@@ -1,201 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-import "google.golang.org/genproto/protobuf/source_context.proto"; // from google/protobuf/source_context.proto
-import "google.golang.org/genproto/protobuf/type.proto"; // from google/protobuf/type.proto
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "ApiProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// Api is a light-weight descriptor for a protocol buffer service.
-message Api {
-
-  // The fully qualified name of this api, including package name
-  // followed by the api's simple name.
-  string name = 1;
-
-  // The methods of this api, in unspecified order.
-  repeated Method methods = 2;
-
-  // Any metadata attached to the API.
-  repeated Option options = 3;
-
-  // A version string for this api. If specified, must have the form
-  // `major-version.minor-version`, as in `1.10`. If the minor version
-  // is omitted, it defaults to zero. If the entire version field is
-  // empty, the major version is derived from the package name, as
-  // outlined below. If the field is not empty, the version in the
-  // package name will be verified to be consistent with what is
-  // provided here.
-  //
-  // The versioning schema uses [semantic
-  // versioning](http://semver.org) where the major version number
-  // indicates a breaking change and the minor version an additive,
-  // non-breaking change. Both version numbers are signals to users
-  // what to expect from different versions, and should be carefully
-  // chosen based on the product plan.
-  //
-  // The major version is also reflected in the package name of the
-  // API, which must end in `v<major-version>`, as in
-  // `google.feature.v1`. For major versions 0 and 1, the suffix can
-  // be omitted. Zero major versions must only be used for
-  // experimental, none-GA apis.
-  //
-  //
-  string version = 4;
-
-  // Source context for the protocol buffer service represented by this
-  // message.
-  SourceContext source_context = 5;
-
-  // Included APIs. See [Mixin][].
-  repeated Mixin mixins = 6;
-
-  // The source syntax of the service.
-  Syntax syntax = 7;
-}
-
-// Method represents a method of an api.
-message Method {
-
-  // The simple name of this method.
-  string name = 1;
-
-  // A URL of the input message type.
-  string request_type_url = 2;
-
-  // If true, the request is streamed.
-  bool request_streaming = 3;
-
-  // The URL of the output message type.
-  string response_type_url = 4;
-
-  // If true, the response is streamed.
-  bool response_streaming = 5;
-
-  // Any metadata attached to the method.
-  repeated Option options = 6;
-
-  // The source syntax of this method.
-  Syntax syntax = 7;
-}
-
-// Declares an API to be included in this API. The including API must
-// redeclare all the methods from the included API, but documentation
-// and options are inherited as follows:
-//
-// - If after comment and whitespace stripping, the documentation
-//   string of the redeclared method is empty, it will be inherited
-//   from the original method.
-//
-// - Each annotation belonging to the service config (http,
-//   visibility) which is not set in the redeclared method will be
-//   inherited.
-//
-// - If an http annotation is inherited, the path pattern will be
-//   modified as follows. Any version prefix will be replaced by the
-//   version of the including API plus the [root][] path if specified.
-//
-// Example of a simple mixin:
-//
-//     package google.acl.v1;
-//     service AccessControl {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v1/{resource=**}:getAcl";
-//       }
-//     }
-//
-//     package google.storage.v2;
-//     service Storage {
-//       rpc GetAcl(GetAclRequest) returns (Acl);
-//
-//       // Get a data record.
-//       rpc GetData(GetDataRequest) returns (Data) {
-//         option (google.api.http).get = "/v2/{resource=**}";
-//       }
-//     }
-//
-// Example of a mixin configuration:
-//
-//     apis:
-//     - name: google.storage.v2.Storage
-//       mixins:
-//       - name: google.acl.v1.AccessControl
-//
-// The mixin construct implies that all methods in `AccessControl` are
-// also declared with same name and request/response types in
-// `Storage`. A documentation generator or annotation processor will
-// see the effective `Storage.GetAcl` method after inherting
-// documentation and annotations as follows:
-//
-//     service Storage {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v2/{resource=**}:getAcl";
-//       }
-//       ...
-//     }
-//
-// Note how the version in the path pattern changed from `v1` to `v2`.
-//
-// If the `root` field in the mixin is specified, it should be a
-// relative path under which inherited HTTP paths are placed. Example:
-//
-//     apis:
-//     - name: google.storage.v2.Storage
-//       mixins:
-//       - name: google.acl.v1.AccessControl
-//         root: acls
-//
-// This implies the following inherited HTTP annotation:
-//
-//     service Storage {
-//       // Get the underlying ACL object.
-//       rpc GetAcl(GetAclRequest) returns (Acl) {
-//         option (google.api.http).get = "/v2/acls/{resource=**}:getAcl";
-//       }
-//       ...
-//     }
-message Mixin {
-  // The fully qualified name of the API which is included.
-  string name = 1;
-
-  // If non-empty specifies a path under which inherited HTTP paths
-  // are rooted.
-  string root = 2;
-}
diff --git a/protobuf/api.pb.go b/protobuf/api/api.pb.go
similarity index 60%
rename from protobuf/api.pb.go
rename to protobuf/api/api.pb.go
index accb9346..7cb3f382 100644
--- a/protobuf/api.pb.go
+++ b/protobuf/api/api.pb.go
@@ -1,54 +1,25 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/api.proto
+// source: src/google/protobuf/api.proto
 // DO NOT EDIT!
 
 /*
-Package descriptor is a generated protocol buffer package.
+Package api is a generated protocol buffer package.
 
 It is generated from these files:
-	google.golang.org/genproto/protobuf/api.proto
-	google.golang.org/genproto/protobuf/descriptor.proto
-	google.golang.org/genproto/protobuf/field_mask.proto
-	google.golang.org/genproto/protobuf/source_context.proto
-	google.golang.org/genproto/protobuf/type.proto
+	src/google/protobuf/api.proto
 
 It has these top-level messages:
 	Api
 	Method
 	Mixin
-	FileDescriptorSet
-	FileDescriptorProto
-	DescriptorProto
-	FieldDescriptorProto
-	OneofDescriptorProto
-	EnumDescriptorProto
-	EnumValueDescriptorProto
-	ServiceDescriptorProto
-	MethodDescriptorProto
-	FileOptions
-	MessageOptions
-	FieldOptions
-	OneofOptions
-	EnumOptions
-	EnumValueOptions
-	ServiceOptions
-	MethodOptions
-	UninterpretedOption
-	SourceCodeInfo
-	GeneratedCodeInfo
-	FieldMask
-	SourceContext
-	Type
-	Field
-	Enum
-	EnumValue
-	Option
 */
-package descriptor // import "google.golang.org/genproto/protobuf"
+package api
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
+import google_protobuf "google.golang.org/genproto/protobuf/source_context"
+import google_protobuf2 "google.golang.org/genproto/protobuf/ptype"
 
 // Reference imports to suppress errors if they are not otherwise used.
 var _ = proto.Marshal
@@ -69,7 +40,7 @@ type Api struct {
 	// The methods of this api, in unspecified order.
 	Methods []*Method `protobuf:"bytes,2,rep,name=methods" json:"methods,omitempty"`
 	// Any metadata attached to the API.
-	Options []*Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
+	Options []*google_protobuf2.Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
 	// A version string for this api. If specified, must have the form
 	// `major-version.minor-version`, as in `1.10`. If the minor version
 	// is omitted, it defaults to zero. If the entire version field is
@@ -95,11 +66,11 @@ type Api struct {
 	Version string `protobuf:"bytes,4,opt,name=version" json:"version,omitempty"`
 	// Source context for the protocol buffer service represented by this
 	// message.
-	SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// Included APIs. See [Mixin][].
 	Mixins []*Mixin `protobuf:"bytes,6,rep,name=mixins" json:"mixins,omitempty"`
 	// The source syntax of the service.
-	Syntax Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
+	Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
 
 func (m *Api) Reset()                    { *m = Api{} }
@@ -107,6 +78,13 @@ func (m *Api) String() string            { return proto.CompactTextString(m) }
 func (*Api) ProtoMessage()               {}
 func (*Api) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
+func (m *Api) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
 func (m *Api) GetMethods() []*Method {
 	if m != nil {
 		return m.Methods
@@ -114,14 +92,21 @@ func (m *Api) GetMethods() []*Method {
 	return nil
 }
 
-func (m *Api) GetOptions() []*Option {
+func (m *Api) GetOptions() []*google_protobuf2.Option {
 	if m != nil {
 		return m.Options
 	}
 	return nil
 }
 
-func (m *Api) GetSourceContext() *SourceContext {
+func (m *Api) GetVersion() string {
+	if m != nil {
+		return m.Version
+	}
+	return ""
+}
+
+func (m *Api) GetSourceContext() *google_protobuf.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
@@ -135,6 +120,13 @@ func (m *Api) GetMixins() []*Mixin {
 	return nil
 }
 
+func (m *Api) GetSyntax() google_protobuf2.Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return google_protobuf2.Syntax_SYNTAX_PROTO2
+}
+
 // Method represents a method of an api.
 type Method struct {
 	// The simple name of this method.
@@ -148,9 +140,9 @@ type Method struct {
 	// If true, the response is streamed.
 	ResponseStreaming bool `protobuf:"varint,5,opt,name=response_streaming,json=responseStreaming" json:"response_streaming,omitempty"`
 	// Any metadata attached to the method.
-	Options []*Option `protobuf:"bytes,6,rep,name=options" json:"options,omitempty"`
+	Options []*google_protobuf2.Option `protobuf:"bytes,6,rep,name=options" json:"options,omitempty"`
 	// The source syntax of this method.
-	Syntax Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
+	Syntax google_protobuf2.Syntax `protobuf:"varint,7,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
 
 func (m *Method) Reset()                    { *m = Method{} }
@@ -158,13 +150,55 @@ func (m *Method) String() string            { return proto.CompactTextString(m)
 func (*Method) ProtoMessage()               {}
 func (*Method) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
 
-func (m *Method) GetOptions() []*Option {
+func (m *Method) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Method) GetRequestTypeUrl() string {
+	if m != nil {
+		return m.RequestTypeUrl
+	}
+	return ""
+}
+
+func (m *Method) GetRequestStreaming() bool {
+	if m != nil {
+		return m.RequestStreaming
+	}
+	return false
+}
+
+func (m *Method) GetResponseTypeUrl() string {
+	if m != nil {
+		return m.ResponseTypeUrl
+	}
+	return ""
+}
+
+func (m *Method) GetResponseStreaming() bool {
+	if m != nil {
+		return m.ResponseStreaming
+	}
+	return false
+}
+
+func (m *Method) GetOptions() []*google_protobuf2.Option {
 	if m != nil {
 		return m.Options
 	}
 	return nil
 }
 
+func (m *Method) GetSyntax() google_protobuf2.Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return google_protobuf2.Syntax_SYNTAX_PROTO2
+}
+
 // Declares an API to be included in this API. The including API must
 // redeclare all the methods from the included API, but documentation
 // and options are inherited as follows:
@@ -255,41 +289,56 @@ func (m *Mixin) String() string            { return proto.CompactTextString(m) }
 func (*Mixin) ProtoMessage()               {}
 func (*Mixin) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
 
+func (m *Mixin) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Mixin) GetRoot() string {
+	if m != nil {
+		return m.Root
+	}
+	return ""
+}
+
 func init() {
 	proto.RegisterType((*Api)(nil), "google.protobuf.Api")
 	proto.RegisterType((*Method)(nil), "google.protobuf.Method")
 	proto.RegisterType((*Mixin)(nil), "google.protobuf.Mixin")
 }
 
-func init() { proto.RegisterFile("google.golang.org/genproto/protobuf/api.proto", fileDescriptor0) }
+func init() { proto.RegisterFile("src/google/protobuf/api.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-	// 420 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x91, 0x41, 0xcf, 0xd2, 0x30,
-	0x1c, 0xc6, 0xb3, 0x0d, 0xc6, 0x6b, 0xdf, 0x08, 0x5a, 0x13, 0x6d, 0x38, 0x90, 0x85, 0xd3, 0xa2,
-	0x61, 0x8b, 0x78, 0xf1, 0x0a, 0xc6, 0x60, 0x62, 0x8c, 0xcb, 0xd0, 0x78, 0x24, 0x03, 0xeb, 0x6c,
-	0xb2, 0xf5, 0x5f, 0xdb, 0x4e, 0xe1, 0xeb, 0x78, 0xf4, 0xe8, 0x37, 0xf0, 0x9b, 0x99, 0x75, 0x2b,
-	0x20, 0x60, 0xc2, 0x7b, 0x59, 0xf6, 0xef, 0xf3, 0x7b, 0x9e, 0xb6, 0x4f, 0xd1, 0x24, 0x07, 0xc8,
-	0x0b, 0x1a, 0xe5, 0x50, 0x64, 0x3c, 0x8f, 0x40, 0xe6, 0x71, 0x4e, 0xb9, 0x90, 0xa0, 0x21, 0x36,
-	0xdf, 0x75, 0xf5, 0x25, 0xce, 0x04, 0x8b, 0xcc, 0x80, 0x07, 0x2d, 0x6e, 0xa5, 0xe1, 0xcb, 0x6b,
-	0xfc, 0x0a, 0x2a, 0xb9, 0xa1, 0xab, 0x0d, 0x70, 0x4d, 0xb7, 0xba, 0x31, 0x0f, 0xa3, 0x6b, 0x9c,
-	0x7a, 0x27, 0xda, 0xcd, 0xc6, 0x7f, 0x5c, 0xe4, 0xcd, 0x04, 0xc3, 0x18, 0x75, 0x78, 0x56, 0x52,
-	0xe2, 0x04, 0x4e, 0x78, 0x2f, 0x35, 0xff, 0xf8, 0x39, 0xea, 0x95, 0x54, 0x7f, 0x85, 0xcf, 0x8a,
-	0xb8, 0x81, 0x17, 0xde, 0x4e, 0x9f, 0x44, 0x27, 0x07, 0x8d, 0xde, 0x19, 0x3d, 0xb5, 0x5c, 0x6d,
-	0x01, 0xa1, 0x19, 0x70, 0x45, 0xbc, 0xff, 0x58, 0xde, 0x1b, 0x3d, 0xb5, 0x1c, 0x26, 0xa8, 0xf7,
-	0x9d, 0x4a, 0xc5, 0x80, 0x93, 0x8e, 0xd9, 0xdc, 0x8e, 0xf8, 0x35, 0xea, 0xff, 0x7b, 0x47, 0xd2,
-	0x0d, 0x9c, 0xf0, 0x76, 0x3a, 0x3a, 0xcb, 0x5c, 0x1a, 0xec, 0x55, 0x43, 0xa5, 0xf7, 0xd5, 0xf1,
-	0x88, 0x23, 0xe4, 0x97, 0x6c, 0xcb, 0xb8, 0x22, 0xbe, 0x39, 0xd2, 0xe3, 0xf3, 0x5b, 0xd4, 0x72,
-	0xda, 0x52, 0x38, 0x46, 0xbe, 0xda, 0x71, 0x9d, 0x6d, 0x49, 0x2f, 0x70, 0xc2, 0xfe, 0x85, 0x2b,
-	0x2c, 0x8d, 0x9c, 0xb6, 0xd8, 0xf8, 0xb7, 0x8b, 0xfc, 0xa6, 0x88, 0x8b, 0x35, 0x86, 0xe8, 0x81,
-	0xa4, 0xdf, 0x2a, 0xaa, 0xf4, 0xaa, 0x2e, 0x7e, 0x55, 0xc9, 0x82, 0xb8, 0x46, 0xef, 0xb7, 0xeb,
-	0x1f, 0x76, 0x82, 0x7e, 0x94, 0x05, 0x7e, 0x86, 0x1e, 0x5a, 0x52, 0x69, 0x49, 0xb3, 0x92, 0xf1,
-	0x9c, 0x78, 0x81, 0x13, 0xde, 0xa4, 0x36, 0x62, 0x69, 0xd7, 0xf1, 0xd3, 0x1a, 0x56, 0x02, 0xb8,
-	0xa2, 0x87, 0xdc, 0xa6, 0xc1, 0x81, 0x15, 0x6c, 0xf0, 0x04, 0xe1, 0x3d, 0x7b, 0x48, 0xee, 0x9a,
-	0xe4, 0x7d, 0xca, 0x21, 0xfa, 0xe8, 0x15, 0xfd, 0x2b, 0x5f, 0xf1, 0xce, 0xa5, 0xc5, 0xa8, 0x6b,
-	0x6a, 0xbf, 0x58, 0x19, 0x46, 0x1d, 0x09, 0xa0, 0xdb, 0x9a, 0xcc, 0xff, 0xfc, 0x0d, 0x7a, 0xb4,
-	0x81, 0xf2, 0x34, 0x76, 0x7e, 0x33, 0x13, 0x2c, 0xa9, 0x87, 0xc4, 0xf9, 0xe9, 0x7a, 0x8b, 0x64,
-	0xfe, 0xcb, 0x1d, 0x2d, 0x1a, 0x26, 0xb1, 0x5b, 0x7f, 0xa2, 0x45, 0xf1, 0x96, 0xc3, 0x0f, 0x5e,
-	0xf7, 0xa1, 0xd6, 0xbe, 0x31, 0xbf, 0xf8, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x4b, 0x39, 0x12, 0x82,
-	0xa6, 0x03, 0x00, 0x00,
+	// 435 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0x4f, 0x8b, 0xd3, 0x40,
+	0x18, 0xc6, 0x49, 0xd2, 0xa6, 0xeb, 0x2c, 0x76, 0x75, 0x04, 0x1d, 0x0a, 0x2e, 0x61, 0xf1, 0x10,
+	0x5c, 0x4c, 0x70, 0x3d, 0x7a, 0x6a, 0x45, 0x7a, 0x10, 0x31, 0xa4, 0x8a, 0xe0, 0xa5, 0xa4, 0x71,
+	0x8c, 0x03, 0xc9, 0xbc, 0xe3, 0xcc, 0x44, 0xdb, 0xaf, 0xe3, 0xd1, 0xa3, 0xdf, 0xc0, 0x6f, 0x26,
+	0x99, 0x64, 0xfa, 0x27, 0xad, 0xe0, 0xde, 0xe6, 0x9d, 0xe7, 0xf7, 0x3e, 0x79, 0xdf, 0x67, 0x08,
+	0x7a, 0xac, 0x64, 0x1e, 0x17, 0x00, 0x45, 0x49, 0x63, 0x21, 0x41, 0xc3, 0xaa, 0xfe, 0x12, 0x67,
+	0x82, 0x45, 0xa6, 0xc0, 0x17, 0xad, 0x14, 0x59, 0x69, 0xf2, 0xa4, 0xcf, 0x2a, 0xa8, 0x65, 0x4e,
+	0x97, 0x39, 0x70, 0x4d, 0xd7, 0xba, 0x05, 0x27, 0x93, 0x3e, 0xa5, 0x37, 0xa2, 0x33, 0xb9, 0xfa,
+	0xe3, 0x22, 0x6f, 0x2a, 0x18, 0xc6, 0x68, 0xc0, 0xb3, 0x8a, 0x12, 0x27, 0x70, 0xc2, 0x3b, 0xa9,
+	0x39, 0xe3, 0xe7, 0x68, 0x54, 0x51, 0xfd, 0x15, 0x3e, 0x2b, 0xe2, 0x06, 0x5e, 0x78, 0x7e, 0xf3,
+	0x28, 0xea, 0x0d, 0x10, 0xbd, 0x35, 0x7a, 0x6a, 0xb9, 0xa6, 0x05, 0x84, 0x66, 0xc0, 0x15, 0xf1,
+	0xfe, 0xd1, 0xf2, 0xce, 0xe8, 0xa9, 0xe5, 0x30, 0x41, 0xa3, 0xef, 0x54, 0x2a, 0x06, 0x9c, 0x0c,
+	0xcc, 0xc7, 0x6d, 0x89, 0x5f, 0xa3, 0xf1, 0xe1, 0x3e, 0x64, 0x18, 0x38, 0xe1, 0xf9, 0xcd, 0xe5,
+	0x91, 0xe7, 0xc2, 0x60, 0xaf, 0x5a, 0x2a, 0xbd, 0xab, 0xf6, 0x4b, 0x1c, 0x21, 0xbf, 0x62, 0x6b,
+	0xc6, 0x15, 0xf1, 0xcd, 0x48, 0x0f, 0x8f, 0xb7, 0x68, 0xe4, 0xb4, 0xa3, 0x70, 0x8c, 0x7c, 0xb5,
+	0xe1, 0x3a, 0x5b, 0x93, 0x51, 0xe0, 0x84, 0xe3, 0x13, 0x2b, 0x2c, 0x8c, 0x9c, 0x76, 0xd8, 0xd5,
+	0x6f, 0x17, 0xf9, 0x6d, 0x10, 0x27, 0x63, 0x0c, 0xd1, 0x3d, 0x49, 0xbf, 0xd5, 0x54, 0xe9, 0x65,
+	0x13, 0xfc, 0xb2, 0x96, 0x25, 0x71, 0x8d, 0x3e, 0xee, 0xee, 0xdf, 0x6f, 0x04, 0xfd, 0x20, 0x4b,
+	0x7c, 0x8d, 0xee, 0x5b, 0x52, 0x69, 0x49, 0xb3, 0x8a, 0xf1, 0x82, 0x78, 0x81, 0x13, 0x9e, 0xa5,
+	0xd6, 0x62, 0x61, 0xef, 0xf1, 0xd3, 0x06, 0x56, 0x02, 0xb8, 0xa2, 0x3b, 0xdf, 0x36, 0xc1, 0x0b,
+	0x2b, 0x58, 0xe3, 0x67, 0x08, 0x6f, 0xd9, 0x9d, 0xf3, 0xd0, 0x38, 0x6f, 0x5d, 0x76, 0xd6, 0x7b,
+	0xaf, 0xe8, 0xff, 0xe7, 0x2b, 0xde, 0x3a, 0xb4, 0x18, 0x0d, 0x4d, 0xec, 0x27, 0x23, 0xc3, 0x68,
+	0x20, 0x01, 0x74, 0x17, 0x93, 0x39, 0xcf, 0x6a, 0xf4, 0x20, 0x87, 0xaa, 0x6f, 0x3b, 0x3b, 0x9b,
+	0x0a, 0x96, 0x34, 0x45, 0xe2, 0x7c, 0xba, 0xee, 0xc4, 0x02, 0xca, 0x8c, 0x17, 0x11, 0xc8, 0x22,
+	0x2e, 0x28, 0x37, 0xe8, 0xc1, 0xef, 0xf4, 0x32, 0x13, 0xec, 0xa7, 0xeb, 0xcd, 0x93, 0xd9, 0x2f,
+	0xf7, 0x72, 0xde, 0xf6, 0x24, 0x76, 0xce, 0x8f, 0xb4, 0x2c, 0xdf, 0x70, 0xf8, 0xc1, 0x9b, 0xf0,
+	0xd4, 0xca, 0x37, 0x8d, 0x2f, 0xfe, 0x06, 0x00, 0x00, 0xff, 0xff, 0xbc, 0x42, 0xe4, 0x4b, 0x9b,
+	0x03, 0x00, 0x00,
 }
diff --git a/protobuf/descriptor.pb.go b/protobuf/descriptor.pb.go
deleted file mode 100644
index 6987cf02..00000000
--- a/protobuf/descriptor.pb.go
+++ /dev/null
@@ -1,2034 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/descriptor.proto
-// DO NOT EDIT!
-
-package descriptor // import "google.golang.org/genproto/protobuf"
-
-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
-
-type FieldDescriptorProto_Type int32
-
-const (
-	// 0 is reserved for errors.
-	// Order is weird for historical reasons.
-	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
-	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
-	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
-	// negative values are likely.
-	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
-	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
-	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
-	// negative values are likely.
-	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
-	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
-	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
-	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
-	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
-	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
-	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
-	// New in version 2.
-	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
-	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
-	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
-	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
-	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
-	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
-	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
-)
-
-var FieldDescriptorProto_Type_name = map[int32]string{
-	1:  "TYPE_DOUBLE",
-	2:  "TYPE_FLOAT",
-	3:  "TYPE_INT64",
-	4:  "TYPE_UINT64",
-	5:  "TYPE_INT32",
-	6:  "TYPE_FIXED64",
-	7:  "TYPE_FIXED32",
-	8:  "TYPE_BOOL",
-	9:  "TYPE_STRING",
-	10: "TYPE_GROUP",
-	11: "TYPE_MESSAGE",
-	12: "TYPE_BYTES",
-	13: "TYPE_UINT32",
-	14: "TYPE_ENUM",
-	15: "TYPE_SFIXED32",
-	16: "TYPE_SFIXED64",
-	17: "TYPE_SINT32",
-	18: "TYPE_SINT64",
-}
-var FieldDescriptorProto_Type_value = map[string]int32{
-	"TYPE_DOUBLE":   1,
-	"TYPE_FLOAT":    2,
-	"TYPE_INT64":    3,
-	"TYPE_UINT64":   4,
-	"TYPE_INT32":    5,
-	"TYPE_FIXED64":  6,
-	"TYPE_FIXED32":  7,
-	"TYPE_BOOL":     8,
-	"TYPE_STRING":   9,
-	"TYPE_GROUP":    10,
-	"TYPE_MESSAGE":  11,
-	"TYPE_BYTES":    12,
-	"TYPE_UINT32":   13,
-	"TYPE_ENUM":     14,
-	"TYPE_SFIXED32": 15,
-	"TYPE_SFIXED64": 16,
-	"TYPE_SINT32":   17,
-	"TYPE_SINT64":   18,
-}
-
-func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
-	p := new(FieldDescriptorProto_Type)
-	*p = x
-	return p
-}
-func (x FieldDescriptorProto_Type) String() string {
-	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
-}
-func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
-	if err != nil {
-		return err
-	}
-	*x = FieldDescriptorProto_Type(value)
-	return nil
-}
-func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{3, 0} }
-
-type FieldDescriptorProto_Label int32
-
-const (
-	// 0 is reserved for errors
-	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
-	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
-	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
-)
-
-var FieldDescriptorProto_Label_name = map[int32]string{
-	1: "LABEL_OPTIONAL",
-	2: "LABEL_REQUIRED",
-	3: "LABEL_REPEATED",
-}
-var FieldDescriptorProto_Label_value = map[string]int32{
-	"LABEL_OPTIONAL": 1,
-	"LABEL_REQUIRED": 2,
-	"LABEL_REPEATED": 3,
-}
-
-func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
-	p := new(FieldDescriptorProto_Label)
-	*p = x
-	return p
-}
-func (x FieldDescriptorProto_Label) String() string {
-	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
-}
-func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
-	if err != nil {
-		return err
-	}
-	*x = FieldDescriptorProto_Label(value)
-	return nil
-}
-func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{3, 1}
-}
-
-// Generated classes can be optimized for speed or code size.
-type FileOptions_OptimizeMode int32
-
-const (
-	FileOptions_SPEED FileOptions_OptimizeMode = 1
-	// etc.
-	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
-	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
-)
-
-var FileOptions_OptimizeMode_name = map[int32]string{
-	1: "SPEED",
-	2: "CODE_SIZE",
-	3: "LITE_RUNTIME",
-}
-var FileOptions_OptimizeMode_value = map[string]int32{
-	"SPEED":        1,
-	"CODE_SIZE":    2,
-	"LITE_RUNTIME": 3,
-}
-
-func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
-	p := new(FileOptions_OptimizeMode)
-	*p = x
-	return p
-}
-func (x FileOptions_OptimizeMode) String() string {
-	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
-}
-func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
-	if err != nil {
-		return err
-	}
-	*x = FileOptions_OptimizeMode(value)
-	return nil
-}
-func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{9, 0} }
-
-type FieldOptions_CType int32
-
-const (
-	// Default mode.
-	FieldOptions_STRING       FieldOptions_CType = 0
-	FieldOptions_CORD         FieldOptions_CType = 1
-	FieldOptions_STRING_PIECE FieldOptions_CType = 2
-)
-
-var FieldOptions_CType_name = map[int32]string{
-	0: "STRING",
-	1: "CORD",
-	2: "STRING_PIECE",
-}
-var FieldOptions_CType_value = map[string]int32{
-	"STRING":       0,
-	"CORD":         1,
-	"STRING_PIECE": 2,
-}
-
-func (x FieldOptions_CType) Enum() *FieldOptions_CType {
-	p := new(FieldOptions_CType)
-	*p = x
-	return p
-}
-func (x FieldOptions_CType) String() string {
-	return proto.EnumName(FieldOptions_CType_name, int32(x))
-}
-func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
-	if err != nil {
-		return err
-	}
-	*x = FieldOptions_CType(value)
-	return nil
-}
-func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{11, 0} }
-
-type FieldOptions_JSType int32
-
-const (
-	// Use the default type.
-	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
-	// Use JavaScript strings.
-	FieldOptions_JS_STRING FieldOptions_JSType = 1
-	// Use JavaScript numbers.
-	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
-)
-
-var FieldOptions_JSType_name = map[int32]string{
-	0: "JS_NORMAL",
-	1: "JS_STRING",
-	2: "JS_NUMBER",
-}
-var FieldOptions_JSType_value = map[string]int32{
-	"JS_NORMAL": 0,
-	"JS_STRING": 1,
-	"JS_NUMBER": 2,
-}
-
-func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
-	p := new(FieldOptions_JSType)
-	*p = x
-	return p
-}
-func (x FieldOptions_JSType) String() string {
-	return proto.EnumName(FieldOptions_JSType_name, int32(x))
-}
-func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
-	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
-	if err != nil {
-		return err
-	}
-	*x = FieldOptions_JSType(value)
-	return nil
-}
-func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor1, []int{11, 1} }
-
-// The protocol compiler can output a FileDescriptorSet containing the .proto
-// files it parses.
-type FileDescriptorSet struct {
-	File             []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
-	XXX_unrecognized []byte                 `json:"-"`
-}
-
-func (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }
-func (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }
-func (*FileDescriptorSet) ProtoMessage()               {}
-func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{0} }
-
-func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
-	if m != nil {
-		return m.File
-	}
-	return nil
-}
-
-// Describes a complete .proto file.
-type FileDescriptorProto struct {
-	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
-	// Names of files imported by this file.
-	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
-	// Indexes of the public imported files in the dependency list above.
-	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
-	// Indexes of the weak imported files in the dependency list.
-	// For Google-internal migration only. Do not use.
-	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
-	// All top-level definitions in this file.
-	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
-	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
-	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
-	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
-	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
-	// This field contains optional information about the original source code.
-	// You may safely remove this entire field without harming runtime
-	// functionality of the descriptors -- the information is needed only by
-	// development tools.
-	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
-	// The syntax of the proto file.
-	// The supported values are "proto2" and "proto3".
-	Syntax           *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
-	XXX_unrecognized []byte  `json:"-"`
-}
-
-func (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }
-func (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*FileDescriptorProto) ProtoMessage()               {}
-func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{1} }
-
-func (m *FileDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *FileDescriptorProto) GetPackage() string {
-	if m != nil && m.Package != nil {
-		return *m.Package
-	}
-	return ""
-}
-
-func (m *FileDescriptorProto) GetDependency() []string {
-	if m != nil {
-		return m.Dependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetPublicDependency() []int32 {
-	if m != nil {
-		return m.PublicDependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetWeakDependency() []int32 {
-	if m != nil {
-		return m.WeakDependency
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
-	if m != nil {
-		return m.MessageType
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
-	if m != nil {
-		return m.EnumType
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
-	if m != nil {
-		return m.Service
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Extension
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetOptions() *FileOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
-	if m != nil {
-		return m.SourceCodeInfo
-	}
-	return nil
-}
-
-func (m *FileDescriptorProto) GetSyntax() string {
-	if m != nil && m.Syntax != nil {
-		return *m.Syntax
-	}
-	return ""
-}
-
-// Describes a message type.
-type DescriptorProto struct {
-	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
-	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
-	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
-	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
-	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
-	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
-	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
-	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
-	// Reserved field names, which may not be used by fields in the same message.
-	// A given name may only be reserved once.
-	ReservedName     []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
-	XXX_unrecognized []byte   `json:"-"`
-}
-
-func (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }
-func (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*DescriptorProto) ProtoMessage()               {}
-func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{2} }
-
-func (m *DescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Field
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
-	if m != nil {
-		return m.Extension
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
-	if m != nil {
-		return m.NestedType
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
-	if m != nil {
-		return m.EnumType
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
-	if m != nil {
-		return m.ExtensionRange
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
-	if m != nil {
-		return m.OneofDecl
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetOptions() *MessageOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
-	if m != nil {
-		return m.ReservedRange
-	}
-	return nil
-}
-
-func (m *DescriptorProto) GetReservedName() []string {
-	if m != nil {
-		return m.ReservedName
-	}
-	return nil
-}
-
-type DescriptorProto_ExtensionRange struct {
-	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
-	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
-func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
-func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
-func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{2, 0}
-}
-
-func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
-	if m != nil && m.Start != nil {
-		return *m.Start
-	}
-	return 0
-}
-
-func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-// Range of reserved tag numbers. Reserved tag numbers may not be used by
-// fields or extension ranges in the same message. Reserved ranges may
-// not overlap.
-type DescriptorProto_ReservedRange struct {
-	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
-	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
-func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
-func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
-func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{2, 1}
-}
-
-func (m *DescriptorProto_ReservedRange) GetStart() int32 {
-	if m != nil && m.Start != nil {
-		return *m.Start
-	}
-	return 0
-}
-
-func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-// Describes a field within a message.
-type FieldDescriptorProto struct {
-	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
-	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
-	// If type_name is set, this need not be set.  If both this and type_name
-	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
-	// For message and enum types, this is the name of the type.  If the name
-	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-	// rules are used to find the type (i.e. first the nested types within this
-	// message are searched, then within the parent, on up to the root
-	// namespace).
-	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
-	// For extensions, this is the name of the type being extended.  It is
-	// resolved in the same manner as type_name.
-	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
-	// For numeric types, contains the original text representation of the value.
-	// For booleans, "true" or "false".
-	// For strings, contains the default text contents (not escaped in any way).
-	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-	// TODO(kenton):  Base-64 encode?
-	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
-	// If set, gives the index of a oneof in the containing type's oneof_decl
-	// list.  This field is a member of that oneof.
-	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
-	// JSON name of this field. The value is set by protocol compiler. If the
-	// user has set a "json_name" option on this field, that option's value
-	// will be used. Otherwise, it's deduced from the field's name by converting
-	// it to camelCase.
-	JsonName         *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
-	Options          *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte        `json:"-"`
-}
-
-func (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }
-func (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*FieldDescriptorProto) ProtoMessage()               {}
-func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{3} }
-
-func (m *FieldDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetNumber() int32 {
-	if m != nil && m.Number != nil {
-		return *m.Number
-	}
-	return 0
-}
-
-func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
-	if m != nil && m.Label != nil {
-		return *m.Label
-	}
-	return FieldDescriptorProto_LABEL_OPTIONAL
-}
-
-func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
-	if m != nil && m.Type != nil {
-		return *m.Type
-	}
-	return FieldDescriptorProto_TYPE_DOUBLE
-}
-
-func (m *FieldDescriptorProto) GetTypeName() string {
-	if m != nil && m.TypeName != nil {
-		return *m.TypeName
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetExtendee() string {
-	if m != nil && m.Extendee != nil {
-		return *m.Extendee
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetDefaultValue() string {
-	if m != nil && m.DefaultValue != nil {
-		return *m.DefaultValue
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetOneofIndex() int32 {
-	if m != nil && m.OneofIndex != nil {
-		return *m.OneofIndex
-	}
-	return 0
-}
-
-func (m *FieldDescriptorProto) GetJsonName() string {
-	if m != nil && m.JsonName != nil {
-		return *m.JsonName
-	}
-	return ""
-}
-
-func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a oneof.
-type OneofDescriptorProto struct {
-	Name             *string       `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Options          *OneofOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte        `json:"-"`
-}
-
-func (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }
-func (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*OneofDescriptorProto) ProtoMessage()               {}
-func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{4} }
-
-func (m *OneofDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *OneofDescriptorProto) GetOptions() *OneofOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes an enum type.
-type EnumDescriptorProto struct {
-	Name             *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Value            []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
-	Options          *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte                      `json:"-"`
-}
-
-func (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }
-func (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*EnumDescriptorProto) ProtoMessage()               {}
-func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{5} }
-
-func (m *EnumDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a value within an enum.
-type EnumValueDescriptorProto struct {
-	Name             *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Number           *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
-	Options          *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte            `json:"-"`
-}
-
-func (m *EnumValueDescriptorProto) Reset()                    { *m = EnumValueDescriptorProto{} }
-func (m *EnumValueDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*EnumValueDescriptorProto) ProtoMessage()               {}
-func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{6} }
-
-func (m *EnumValueDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *EnumValueDescriptorProto) GetNumber() int32 {
-	if m != nil && m.Number != nil {
-		return *m.Number
-	}
-	return 0
-}
-
-func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a service.
-type ServiceDescriptorProto struct {
-	Name             *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	Method           []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
-	Options          *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
-	XXX_unrecognized []byte                   `json:"-"`
-}
-
-func (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }
-func (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*ServiceDescriptorProto) ProtoMessage()               {}
-func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{7} }
-
-func (m *ServiceDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
-	if m != nil {
-		return m.Method
-	}
-	return nil
-}
-
-func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-// Describes a method of a service.
-type MethodDescriptorProto struct {
-	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
-	// Input and output type names.  These are resolved in the same way as
-	// FieldDescriptorProto.type_name, but must refer to a message type.
-	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
-	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
-	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
-	// Identifies if client streams multiple client messages
-	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
-	// Identifies if server streams multiple server messages
-	ServerStreaming  *bool  `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }
-func (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }
-func (*MethodDescriptorProto) ProtoMessage()               {}
-func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{8} }
-
-const Default_MethodDescriptorProto_ClientStreaming bool = false
-const Default_MethodDescriptorProto_ServerStreaming bool = false
-
-func (m *MethodDescriptorProto) GetName() string {
-	if m != nil && m.Name != nil {
-		return *m.Name
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetInputType() string {
-	if m != nil && m.InputType != nil {
-		return *m.InputType
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetOutputType() string {
-	if m != nil && m.OutputType != nil {
-		return *m.OutputType
-	}
-	return ""
-}
-
-func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
-	if m != nil {
-		return m.Options
-	}
-	return nil
-}
-
-func (m *MethodDescriptorProto) GetClientStreaming() bool {
-	if m != nil && m.ClientStreaming != nil {
-		return *m.ClientStreaming
-	}
-	return Default_MethodDescriptorProto_ClientStreaming
-}
-
-func (m *MethodDescriptorProto) GetServerStreaming() bool {
-	if m != nil && m.ServerStreaming != nil {
-		return *m.ServerStreaming
-	}
-	return Default_MethodDescriptorProto_ServerStreaming
-}
-
-type FileOptions struct {
-	// Sets the Java package where classes generated from this .proto will be
-	// placed.  By default, the proto package is used, but this is often
-	// inappropriate because proto packages do not normally start with backwards
-	// domain names.
-	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
-	// If set, all the classes from the .proto file are wrapped in a single
-	// outer class with the given name.  This applies to both Proto1
-	// (equivalent to the old "--one_java_file" option) and Proto2 (where
-	// a .proto always translates to a single class, but you may want to
-	// explicitly choose the class name).
-	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
-	// If set true, then the Java code generator will generate a separate .java
-	// file for each top-level message, enum, and service defined in the .proto
-	// file.  Thus, these types will *not* be nested inside the outer class
-	// named by java_outer_classname.  However, the outer class will still be
-	// generated to contain the file's getDescriptor() method as well as any
-	// top-level extensions defined in the file.
-	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
-	// This option does nothing.
-	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash" json:"java_generate_equals_and_hash,omitempty"`
-	// If set true, then the Java2 code generator will generate code that
-	// throws an exception whenever an attempt is made to assign a non-UTF-8
-	// byte sequence to a string field.
-	// Message reflection will do the same.
-	// However, an extension field still accepts non-UTF-8 byte sequences.
-	// This option has no effect on when used with the lite runtime.
-	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
-	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
-	// Sets the Go package where structs generated from this .proto will be
-	// placed. If omitted, the Go package will be derived from the following:
-	//   - The basename of the package import path, if provided.
-	//   - Otherwise, the package statement in the .proto file, if present.
-	//   - Otherwise, the basename of the .proto file, without extension.
-	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
-	// Should generic services be generated in each language?  "Generic" services
-	// are not specific to any particular RPC system.  They are generated by the
-	// main code generators in each language (without additional plugins).
-	// Generic services were the only kind of service generation supported by
-	// early versions of google.protobuf.
-	//
-	// Generic services are now considered deprecated in favor of using plugins
-	// that generate code specific to your particular RPC system.  Therefore,
-	// these default to false.  Old code which depends on generic services should
-	// explicitly set them to true.
-	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
-	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
-	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
-	// Is this file deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for everything in the file, or it will be completely ignored; in the very
-	// least, this is a formalization for deprecating files.
-	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// Enables the use of arenas for the proto messages in this file. This applies
-	// only to generated classes for C++.
-	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
-	// Sets the objective c class prefix which is prepended to all objective c
-	// generated classes from this .proto. There is no default.
-	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
-	// Namespace for generated classes; defaults to the package.
-	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *FileOptions) Reset()                    { *m = FileOptions{} }
-func (m *FileOptions) String() string            { return proto.CompactTextString(m) }
-func (*FileOptions) ProtoMessage()               {}
-func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{9} }
-
-var extRange_FileOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_FileOptions
-}
-
-const Default_FileOptions_JavaMultipleFiles bool = false
-const Default_FileOptions_JavaStringCheckUtf8 bool = false
-const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
-const Default_FileOptions_CcGenericServices bool = false
-const Default_FileOptions_JavaGenericServices bool = false
-const Default_FileOptions_PyGenericServices bool = false
-const Default_FileOptions_Deprecated bool = false
-const Default_FileOptions_CcEnableArenas bool = false
-
-func (m *FileOptions) GetJavaPackage() string {
-	if m != nil && m.JavaPackage != nil {
-		return *m.JavaPackage
-	}
-	return ""
-}
-
-func (m *FileOptions) GetJavaOuterClassname() string {
-	if m != nil && m.JavaOuterClassname != nil {
-		return *m.JavaOuterClassname
-	}
-	return ""
-}
-
-func (m *FileOptions) GetJavaMultipleFiles() bool {
-	if m != nil && m.JavaMultipleFiles != nil {
-		return *m.JavaMultipleFiles
-	}
-	return Default_FileOptions_JavaMultipleFiles
-}
-
-func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
-	if m != nil && m.JavaGenerateEqualsAndHash != nil {
-		return *m.JavaGenerateEqualsAndHash
-	}
-	return false
-}
-
-func (m *FileOptions) GetJavaStringCheckUtf8() bool {
-	if m != nil && m.JavaStringCheckUtf8 != nil {
-		return *m.JavaStringCheckUtf8
-	}
-	return Default_FileOptions_JavaStringCheckUtf8
-}
-
-func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
-	if m != nil && m.OptimizeFor != nil {
-		return *m.OptimizeFor
-	}
-	return Default_FileOptions_OptimizeFor
-}
-
-func (m *FileOptions) GetGoPackage() string {
-	if m != nil && m.GoPackage != nil {
-		return *m.GoPackage
-	}
-	return ""
-}
-
-func (m *FileOptions) GetCcGenericServices() bool {
-	if m != nil && m.CcGenericServices != nil {
-		return *m.CcGenericServices
-	}
-	return Default_FileOptions_CcGenericServices
-}
-
-func (m *FileOptions) GetJavaGenericServices() bool {
-	if m != nil && m.JavaGenericServices != nil {
-		return *m.JavaGenericServices
-	}
-	return Default_FileOptions_JavaGenericServices
-}
-
-func (m *FileOptions) GetPyGenericServices() bool {
-	if m != nil && m.PyGenericServices != nil {
-		return *m.PyGenericServices
-	}
-	return Default_FileOptions_PyGenericServices
-}
-
-func (m *FileOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_FileOptions_Deprecated
-}
-
-func (m *FileOptions) GetCcEnableArenas() bool {
-	if m != nil && m.CcEnableArenas != nil {
-		return *m.CcEnableArenas
-	}
-	return Default_FileOptions_CcEnableArenas
-}
-
-func (m *FileOptions) GetObjcClassPrefix() string {
-	if m != nil && m.ObjcClassPrefix != nil {
-		return *m.ObjcClassPrefix
-	}
-	return ""
-}
-
-func (m *FileOptions) GetCsharpNamespace() string {
-	if m != nil && m.CsharpNamespace != nil {
-		return *m.CsharpNamespace
-	}
-	return ""
-}
-
-func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type MessageOptions struct {
-	// Set true to use the old proto1 MessageSet wire format for extensions.
-	// This is provided for backwards-compatibility with the MessageSet wire
-	// format.  You should not use this for any other reason:  It's less
-	// efficient, has fewer features, and is more complicated.
-	//
-	// The message must be defined exactly as follows:
-	//   message Foo {
-	//     option message_set_wire_format = true;
-	//     extensions 4 to max;
-	//   }
-	// Note that the message cannot have any defined fields; MessageSets only
-	// have extensions.
-	//
-	// All extensions of your type must be singular messages; e.g. they cannot
-	// be int32s, enums, or repeated messages.
-	//
-	// Because this is an option, the above two restrictions are not enforced by
-	// the protocol compiler.
-	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
-	// Disables the generation of the standard "descriptor()" accessor, which can
-	// conflict with a field of the same name.  This is meant to make migration
-	// from proto1 easier; new code should avoid fields named "descriptor".
-	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
-	// Is this message deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the message, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating messages.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// Whether the message is an automatically generated map entry type for the
-	// maps field.
-	//
-	// For maps fields:
-	//     map<KeyType, ValueType> map_field = 1;
-	// The parsed descriptor looks like:
-	//     message MapFieldEntry {
-	//         option map_entry = true;
-	//         optional KeyType key = 1;
-	//         optional ValueType value = 2;
-	//     }
-	//     repeated MapFieldEntry map_field = 1;
-	//
-	// Implementations may choose not to generate the map_entry=true message, but
-	// use a native map in the target language to hold the keys and values.
-	// The reflection APIs in such implementions still need to work as
-	// if the field is a repeated message field.
-	//
-	// NOTE: Do not set the option in .proto files. Always use the maps syntax
-	// instead. The option should only be implicitly set by the proto compiler
-	// parser.
-	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *MessageOptions) Reset()                    { *m = MessageOptions{} }
-func (m *MessageOptions) String() string            { return proto.CompactTextString(m) }
-func (*MessageOptions) ProtoMessage()               {}
-func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{10} }
-
-var extRange_MessageOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_MessageOptions
-}
-
-const Default_MessageOptions_MessageSetWireFormat bool = false
-const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
-const Default_MessageOptions_Deprecated bool = false
-
-func (m *MessageOptions) GetMessageSetWireFormat() bool {
-	if m != nil && m.MessageSetWireFormat != nil {
-		return *m.MessageSetWireFormat
-	}
-	return Default_MessageOptions_MessageSetWireFormat
-}
-
-func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
-	if m != nil && m.NoStandardDescriptorAccessor != nil {
-		return *m.NoStandardDescriptorAccessor
-	}
-	return Default_MessageOptions_NoStandardDescriptorAccessor
-}
-
-func (m *MessageOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_MessageOptions_Deprecated
-}
-
-func (m *MessageOptions) GetMapEntry() bool {
-	if m != nil && m.MapEntry != nil {
-		return *m.MapEntry
-	}
-	return false
-}
-
-func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type FieldOptions struct {
-	// The ctype option instructs the C++ code generator to use a different
-	// representation of the field than it normally would.  See the specific
-	// options below.  This option is not yet implemented in the open source
-	// release -- sorry, we'll try to include it in a future version!
-	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
-	// The packed option can be enabled for repeated primitive fields to enable
-	// a more efficient representation on the wire. Rather than repeatedly
-	// writing the tag and type for each element, the entire array is encoded as
-	// a single length-delimited blob. In proto3, only explicit setting it to
-	// false will avoid using packed encoding.
-	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
-	// The jstype option determines the JavaScript type used for values of the
-	// field.  The option is permitted only for 64 bit integral and fixed types
-	// (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
-	// represented as JavaScript strings.  This avoids loss of precision that can
-	// happen when a large value is converted to a floating point JavaScript
-	// numbers.  Specifying JS_NUMBER for the jstype causes the generated
-	// JavaScript code to use the JavaScript "number" type instead of strings.
-	// This option is an enum to permit additional types to be added,
-	// e.g. goog.math.Integer.
-	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
-	// Should this field be parsed lazily?  Lazy applies only to message-type
-	// fields.  It means that when the outer message is initially parsed, the
-	// inner message's contents will not be parsed but instead stored in encoded
-	// form.  The inner message will actually be parsed when it is first accessed.
-	//
-	// This is only a hint.  Implementations are free to choose whether to use
-	// eager or lazy parsing regardless of the value of this option.  However,
-	// setting this option true suggests that the protocol author believes that
-	// using lazy parsing on this field is worth the additional bookkeeping
-	// overhead typically needed to implement it.
-	//
-	// This option does not affect the public interface of any generated code;
-	// all method signatures remain the same.  Furthermore, thread-safety of the
-	// interface is not affected by this option; const methods remain safe to
-	// call from multiple threads concurrently, while non-const methods continue
-	// to require exclusive access.
-	//
-	//
-	// Note that implementations may choose not to check required fields within
-	// a lazy sub-message.  That is, calling IsInitialized() on the outer message
-	// may return true even if the inner message has missing required fields.
-	// This is necessary because otherwise the inner message would have to be
-	// parsed in order to perform the check, defeating the purpose of lazy
-	// parsing.  An implementation which chooses not to check required fields
-	// must be consistent about it.  That is, for any particular sub-message, the
-	// implementation must either *always* check its required fields, or *never*
-	// check its required fields, regardless of whether or not the message has
-	// been parsed.
-	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
-	// Is this field deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for accessors, or it will be completely ignored; in the very least, this
-	// is a formalization for deprecating fields.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// For Google-internal migration only. Do not use.
-	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *FieldOptions) Reset()                    { *m = FieldOptions{} }
-func (m *FieldOptions) String() string            { return proto.CompactTextString(m) }
-func (*FieldOptions) ProtoMessage()               {}
-func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{11} }
-
-var extRange_FieldOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_FieldOptions
-}
-
-const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
-const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
-const Default_FieldOptions_Lazy bool = false
-const Default_FieldOptions_Deprecated bool = false
-const Default_FieldOptions_Weak bool = false
-
-func (m *FieldOptions) GetCtype() FieldOptions_CType {
-	if m != nil && m.Ctype != nil {
-		return *m.Ctype
-	}
-	return Default_FieldOptions_Ctype
-}
-
-func (m *FieldOptions) GetPacked() bool {
-	if m != nil && m.Packed != nil {
-		return *m.Packed
-	}
-	return false
-}
-
-func (m *FieldOptions) GetJstype() FieldOptions_JSType {
-	if m != nil && m.Jstype != nil {
-		return *m.Jstype
-	}
-	return Default_FieldOptions_Jstype
-}
-
-func (m *FieldOptions) GetLazy() bool {
-	if m != nil && m.Lazy != nil {
-		return *m.Lazy
-	}
-	return Default_FieldOptions_Lazy
-}
-
-func (m *FieldOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_FieldOptions_Deprecated
-}
-
-func (m *FieldOptions) GetWeak() bool {
-	if m != nil && m.Weak != nil {
-		return *m.Weak
-	}
-	return Default_FieldOptions_Weak
-}
-
-func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type OneofOptions struct {
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *OneofOptions) Reset()                    { *m = OneofOptions{} }
-func (m *OneofOptions) String() string            { return proto.CompactTextString(m) }
-func (*OneofOptions) ProtoMessage()               {}
-func (*OneofOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{12} }
-
-var extRange_OneofOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*OneofOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_OneofOptions
-}
-
-func (m *OneofOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type EnumOptions struct {
-	// Set this option to true to allow mapping different tag names to the same
-	// value.
-	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
-	// Is this enum deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the enum, or it will be completely ignored; in the very least, this
-	// is a formalization for deprecating enums.
-	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *EnumOptions) Reset()                    { *m = EnumOptions{} }
-func (m *EnumOptions) String() string            { return proto.CompactTextString(m) }
-func (*EnumOptions) ProtoMessage()               {}
-func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{13} }
-
-var extRange_EnumOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_EnumOptions
-}
-
-const Default_EnumOptions_Deprecated bool = false
-
-func (m *EnumOptions) GetAllowAlias() bool {
-	if m != nil && m.AllowAlias != nil {
-		return *m.AllowAlias
-	}
-	return false
-}
-
-func (m *EnumOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_EnumOptions_Deprecated
-}
-
-func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type EnumValueOptions struct {
-	// Is this enum value deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the enum value, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating enum values.
-	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }
-func (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }
-func (*EnumValueOptions) ProtoMessage()               {}
-func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{14} }
-
-var extRange_EnumValueOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_EnumValueOptions
-}
-
-const Default_EnumValueOptions_Deprecated bool = false
-
-func (m *EnumValueOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_EnumValueOptions_Deprecated
-}
-
-func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type ServiceOptions struct {
-	// Is this service deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the service, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating services.
-	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }
-func (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }
-func (*ServiceOptions) ProtoMessage()               {}
-func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{15} }
-
-var extRange_ServiceOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_ServiceOptions
-}
-
-const Default_ServiceOptions_Deprecated bool = false
-
-func (m *ServiceOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_ServiceOptions_Deprecated
-}
-
-func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-type MethodOptions struct {
-	// Is this method deprecated?
-	// Depending on the target platform, this can emit Deprecated annotations
-	// for the method, or it will be completely ignored; in the very least,
-	// this is a formalization for deprecating methods.
-	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
-	// The parser stores options it doesn't recognize here. See above.
-	UninterpretedOption          []*UninterpretedOption `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
-	proto.XXX_InternalExtensions `json:"-"`
-	XXX_unrecognized             []byte `json:"-"`
-}
-
-func (m *MethodOptions) Reset()                    { *m = MethodOptions{} }
-func (m *MethodOptions) String() string            { return proto.CompactTextString(m) }
-func (*MethodOptions) ProtoMessage()               {}
-func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{16} }
-
-var extRange_MethodOptions = []proto.ExtensionRange{
-	{1000, 536870911},
-}
-
-func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
-	return extRange_MethodOptions
-}
-
-const Default_MethodOptions_Deprecated bool = false
-
-func (m *MethodOptions) GetDeprecated() bool {
-	if m != nil && m.Deprecated != nil {
-		return *m.Deprecated
-	}
-	return Default_MethodOptions_Deprecated
-}
-
-func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
-	if m != nil {
-		return m.UninterpretedOption
-	}
-	return nil
-}
-
-// A message representing a option the parser does not recognize. This only
-// appears in options protos created by the compiler::Parser class.
-// DescriptorPool resolves these when building Descriptor objects. Therefore,
-// options protos in descriptor objects (e.g. returned by Descriptor::options(),
-// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
-// in them.
-type UninterpretedOption struct {
-	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
-	// The value of the uninterpreted option, in whatever type the tokenizer
-	// identified it as during parsing. Exactly one of these should be set.
-	IdentifierValue  *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
-	PositiveIntValue *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
-	NegativeIntValue *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
-	DoubleValue      *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
-	StringValue      []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
-	AggregateValue   *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
-	XXX_unrecognized []byte   `json:"-"`
-}
-
-func (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }
-func (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }
-func (*UninterpretedOption) ProtoMessage()               {}
-func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{17} }
-
-func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
-	if m != nil {
-		return m.Name
-	}
-	return nil
-}
-
-func (m *UninterpretedOption) GetIdentifierValue() string {
-	if m != nil && m.IdentifierValue != nil {
-		return *m.IdentifierValue
-	}
-	return ""
-}
-
-func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
-	if m != nil && m.PositiveIntValue != nil {
-		return *m.PositiveIntValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetNegativeIntValue() int64 {
-	if m != nil && m.NegativeIntValue != nil {
-		return *m.NegativeIntValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetDoubleValue() float64 {
-	if m != nil && m.DoubleValue != nil {
-		return *m.DoubleValue
-	}
-	return 0
-}
-
-func (m *UninterpretedOption) GetStringValue() []byte {
-	if m != nil {
-		return m.StringValue
-	}
-	return nil
-}
-
-func (m *UninterpretedOption) GetAggregateValue() string {
-	if m != nil && m.AggregateValue != nil {
-		return *m.AggregateValue
-	}
-	return ""
-}
-
-// The name of the uninterpreted option.  Each string represents a segment in
-// a dot-separated name.  is_extension is true iff a segment represents an
-// extension (denoted with parentheses in options specs in .proto files).
-// E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
-// "foo.(bar.baz).qux".
-type UninterpretedOption_NamePart struct {
-	NamePart         *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
-	IsExtension      *bool   `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
-	XXX_unrecognized []byte  `json:"-"`
-}
-
-func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
-func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
-func (*UninterpretedOption_NamePart) ProtoMessage()    {}
-func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{17, 0}
-}
-
-func (m *UninterpretedOption_NamePart) GetNamePart() string {
-	if m != nil && m.NamePart != nil {
-		return *m.NamePart
-	}
-	return ""
-}
-
-func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
-	if m != nil && m.IsExtension != nil {
-		return *m.IsExtension
-	}
-	return false
-}
-
-// Encapsulates information about the original source file from which a
-// FileDescriptorProto was generated.
-type SourceCodeInfo struct {
-	// A Location identifies a piece of source code in a .proto file which
-	// corresponds to a particular definition.  This information is intended
-	// to be useful to IDEs, code indexers, documentation generators, and similar
-	// tools.
-	//
-	// For example, say we have a file like:
-	//   message Foo {
-	//     optional string foo = 1;
-	//   }
-	// Let's look at just the field definition:
-	//   optional string foo = 1;
-	//   ^       ^^     ^^  ^  ^^^
-	//   a       bc     de  f  ghi
-	// We have the following locations:
-	//   span   path               represents
-	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-	//
-	// Notes:
-	// - A location may refer to a repeated field itself (i.e. not to any
-	//   particular index within it).  This is used whenever a set of elements are
-	//   logically enclosed in a single code segment.  For example, an entire
-	//   extend block (possibly containing multiple extension definitions) will
-	//   have an outer location whose path refers to the "extensions" repeated
-	//   field without an index.
-	// - Multiple locations may have the same path.  This happens when a single
-	//   logical declaration is spread out across multiple places.  The most
-	//   obvious example is the "extend" block again -- there may be multiple
-	//   extend blocks in the same scope, each of which will have the same path.
-	// - A location's span is not always a subset of its parent's span.  For
-	//   example, the "extendee" of an extension declaration appears at the
-	//   beginning of the "extend" block and is shared by all extensions within
-	//   the block.
-	// - Just because a location's span is a subset of some other location's span
-	//   does not mean that it is a descendent.  For example, a "group" defines
-	//   both a type and a field in a single declaration.  Thus, the locations
-	//   corresponding to the type and field and their components will overlap.
-	// - Code which tries to interpret locations should probably be designed to
-	//   ignore those that it doesn't understand, as more types of locations could
-	//   be recorded in the future.
-	Location         []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
-	XXX_unrecognized []byte                     `json:"-"`
-}
-
-func (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }
-func (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }
-func (*SourceCodeInfo) ProtoMessage()               {}
-func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18} }
-
-func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
-	if m != nil {
-		return m.Location
-	}
-	return nil
-}
-
-type SourceCodeInfo_Location struct {
-	// Identifies which part of the FileDescriptorProto was defined at this
-	// location.
-	//
-	// Each element is a field number or an index.  They form a path from
-	// the root FileDescriptorProto to the place where the definition.  For
-	// example, this path:
-	//   [ 4, 3, 2, 7, 1 ]
-	// refers to:
-	//   file.message_type(3)  // 4, 3
-	//       .field(7)         // 2, 7
-	//       .name()           // 1
-	// This is because FileDescriptorProto.message_type has field number 4:
-	//   repeated DescriptorProto message_type = 4;
-	// and DescriptorProto.field has field number 2:
-	//   repeated FieldDescriptorProto field = 2;
-	// and FieldDescriptorProto.name has field number 1:
-	//   optional string name = 1;
-	//
-	// Thus, the above path gives the location of a field name.  If we removed
-	// the last element:
-	//   [ 4, 3, 2, 7 ]
-	// this path refers to the whole field declaration (from the beginning
-	// of the label to the terminating semicolon).
-	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
-	// Always has exactly three or four elements: start line, start column,
-	// end line (optional, otherwise assumed same as start line), end column.
-	// These are packed into a single field for efficiency.  Note that line
-	// and column numbers are zero-based -- typically you will want to add
-	// 1 to each before displaying to a user.
-	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
-	// If this SourceCodeInfo represents a complete declaration, these are any
-	// comments appearing before and after the declaration which appear to be
-	// attached to the declaration.
-	//
-	// A series of line comments appearing on consecutive lines, with no other
-	// tokens appearing on those lines, will be treated as a single comment.
-	//
-	// leading_detached_comments will keep paragraphs of comments that appear
-	// before (but not connected to) the current element. Each paragraph,
-	// separated by empty lines, will be one comment element in the repeated
-	// field.
-	//
-	// Only the comment content is provided; comment markers (e.g. //) are
-	// stripped out.  For block comments, leading whitespace and an asterisk
-	// will be stripped from the beginning of each line other than the first.
-	// Newlines are included in the output.
-	//
-	// Examples:
-	//
-	//   optional int32 foo = 1;  // Comment attached to foo.
-	//   // Comment attached to bar.
-	//   optional int32 bar = 2;
-	//
-	//   optional string baz = 3;
-	//   // Comment attached to baz.
-	//   // Another line attached to baz.
-	//
-	//   // Comment attached to qux.
-	//   //
-	//   // Another line attached to qux.
-	//   optional double qux = 4;
-	//
-	//   // Detached comment for corge. This is not leading or trailing comments
-	//   // to qux or corge because there are blank lines separating it from
-	//   // both.
-	//
-	//   // Detached comment for corge paragraph 2.
-	//
-	//   optional string corge = 5;
-	//   /* Block comment attached
-	//    * to corge.  Leading asterisks
-	//    * will be removed. */
-	//   /* Block comment attached to
-	//    * grault. */
-	//   optional int32 grault = 6;
-	//
-	//   // ignored detached comments.
-	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
-	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
-	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
-	XXX_unrecognized        []byte   `json:"-"`
-}
-
-func (m *SourceCodeInfo_Location) Reset()                    { *m = SourceCodeInfo_Location{} }
-func (m *SourceCodeInfo_Location) String() string            { return proto.CompactTextString(m) }
-func (*SourceCodeInfo_Location) ProtoMessage()               {}
-func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{18, 0} }
-
-func (m *SourceCodeInfo_Location) GetPath() []int32 {
-	if m != nil {
-		return m.Path
-	}
-	return nil
-}
-
-func (m *SourceCodeInfo_Location) GetSpan() []int32 {
-	if m != nil {
-		return m.Span
-	}
-	return nil
-}
-
-func (m *SourceCodeInfo_Location) GetLeadingComments() string {
-	if m != nil && m.LeadingComments != nil {
-		return *m.LeadingComments
-	}
-	return ""
-}
-
-func (m *SourceCodeInfo_Location) GetTrailingComments() string {
-	if m != nil && m.TrailingComments != nil {
-		return *m.TrailingComments
-	}
-	return ""
-}
-
-func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
-	if m != nil {
-		return m.LeadingDetachedComments
-	}
-	return nil
-}
-
-// Describes the relationship between generated code and its original source
-// file. A GeneratedCodeInfo message is associated with only one generated
-// source file, but may contain references to different source .proto files.
-type GeneratedCodeInfo struct {
-	// An Annotation connects some span of text in generated code to an element
-	// of its generating .proto file.
-	Annotation       []*GeneratedCodeInfo_Annotation `protobuf:"bytes,1,rep,name=annotation" json:"annotation,omitempty"`
-	XXX_unrecognized []byte                          `json:"-"`
-}
-
-func (m *GeneratedCodeInfo) Reset()                    { *m = GeneratedCodeInfo{} }
-func (m *GeneratedCodeInfo) String() string            { return proto.CompactTextString(m) }
-func (*GeneratedCodeInfo) ProtoMessage()               {}
-func (*GeneratedCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor1, []int{19} }
-
-func (m *GeneratedCodeInfo) GetAnnotation() []*GeneratedCodeInfo_Annotation {
-	if m != nil {
-		return m.Annotation
-	}
-	return nil
-}
-
-type GeneratedCodeInfo_Annotation struct {
-	// Identifies the element in the original source .proto file. This field
-	// is formatted the same as SourceCodeInfo.Location.path.
-	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
-	// Identifies the filesystem path to the original source .proto.
-	SourceFile *string `protobuf:"bytes,2,opt,name=source_file,json=sourceFile" json:"source_file,omitempty"`
-	// Identifies the starting offset in bytes in the generated code
-	// that relates to the identified object.
-	Begin *int32 `protobuf:"varint,3,opt,name=begin" json:"begin,omitempty"`
-	// Identifies the ending offset in bytes in the generated code that
-	// relates to the identified offset. The end offset should be one past
-	// the last relevant byte (so the length of the text = end - begin).
-	End              *int32 `protobuf:"varint,4,opt,name=end" json:"end,omitempty"`
-	XXX_unrecognized []byte `json:"-"`
-}
-
-func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
-func (m *GeneratedCodeInfo_Annotation) String() string { return proto.CompactTextString(m) }
-func (*GeneratedCodeInfo_Annotation) ProtoMessage()    {}
-func (*GeneratedCodeInfo_Annotation) Descriptor() ([]byte, []int) {
-	return fileDescriptor1, []int{19, 0}
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetPath() []int32 {
-	if m != nil {
-		return m.Path
-	}
-	return nil
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetSourceFile() string {
-	if m != nil && m.SourceFile != nil {
-		return *m.SourceFile
-	}
-	return ""
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetBegin() int32 {
-	if m != nil && m.Begin != nil {
-		return *m.Begin
-	}
-	return 0
-}
-
-func (m *GeneratedCodeInfo_Annotation) GetEnd() int32 {
-	if m != nil && m.End != nil {
-		return *m.End
-	}
-	return 0
-}
-
-func init() {
-	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
-	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
-	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
-	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
-	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
-	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
-	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
-	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
-	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
-	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
-	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
-	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
-	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
-	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
-	proto.RegisterType((*OneofOptions)(nil), "google.protobuf.OneofOptions")
-	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
-	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
-	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
-	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
-	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
-	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
-	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
-	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
-	proto.RegisterType((*GeneratedCodeInfo)(nil), "google.protobuf.GeneratedCodeInfo")
-	proto.RegisterType((*GeneratedCodeInfo_Annotation)(nil), "google.protobuf.GeneratedCodeInfo.Annotation")
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
-	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
-	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
-	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
-	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/descriptor.proto", fileDescriptor1)
-}
-
-var fileDescriptor1 = []byte{
-	// 2309 bytes of a gzipped FileDescriptorProto
-	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x59, 0x4f, 0x6f, 0x1b, 0xc7,
-	0x15, 0xcf, 0xf2, 0x9f, 0xc8, 0x47, 0x8a, 0x1a, 0x8d, 0x14, 0x67, 0x2d, 0xc7, 0xb1, 0xcc, 0xd8,
-	0xb1, 0x6c, 0xb7, 0x54, 0x20, 0xff, 0x89, 0xa3, 0x14, 0x29, 0x28, 0x71, 0xad, 0xd0, 0xa0, 0x44,
-	0x76, 0x29, 0xb5, 0x4e, 0x2e, 0x8b, 0xd1, 0xee, 0x90, 0x5a, 0x7b, 0x39, 0xcb, 0xee, 0x2e, 0x6d,
-	0x2b, 0x27, 0x03, 0x3d, 0xf5, 0xd2, 0x73, 0xd1, 0x16, 0x3d, 0xe4, 0x12, 0xa0, 0x1f, 0xa0, 0x87,
-	0x7e, 0x85, 0x02, 0x05, 0xfa, 0x15, 0x8a, 0x02, 0xed, 0x37, 0xe8, 0xb5, 0x98, 0x99, 0xdd, 0xe5,
-	0x2e, 0xff, 0xc4, 0x6a, 0x80, 0x24, 0xbd, 0xd8, 0x9c, 0xdf, 0xfb, 0xbd, 0x37, 0x6f, 0xde, 0xbc,
-	0x79, 0xf3, 0x76, 0x04, 0xf7, 0x07, 0xae, 0x3b, 0x70, 0x68, 0x7d, 0xe0, 0x3a, 0x84, 0x0d, 0xea,
-	0xae, 0x37, 0xd8, 0x1e, 0x50, 0x36, 0xf2, 0xdc, 0xc0, 0xdd, 0x16, 0xff, 0x9e, 0x8e, 0xfb, 0xdb,
-	0x16, 0xf5, 0x4d, 0xcf, 0x1e, 0x05, 0xae, 0x57, 0x17, 0x18, 0x5e, 0x09, 0xb5, 0x22, 0x46, 0xed,
-	0x10, 0x56, 0x1f, 0xdb, 0x0e, 0x6d, 0xc6, 0xc4, 0x1e, 0x0d, 0xf0, 0x23, 0xc8, 0xf5, 0x6d, 0x87,
-	0xaa, 0xca, 0x66, 0x76, 0xab, 0xbc, 0x73, 0xa3, 0x3e, 0xa5, 0x54, 0x4f, 0x6b, 0x74, 0x39, 0xac,
-	0x0b, 0x8d, 0xda, 0x3f, 0x73, 0xb0, 0x36, 0x47, 0x8a, 0x31, 0xe4, 0x18, 0x19, 0x72, 0x8b, 0xca,
-	0x56, 0x49, 0x17, 0xbf, 0xb1, 0x0a, 0x4b, 0x23, 0x62, 0x3e, 0x27, 0x03, 0xaa, 0x66, 0x04, 0x1c,
-	0x0d, 0xf1, 0x7b, 0x00, 0x16, 0x1d, 0x51, 0x66, 0x51, 0x66, 0x9e, 0xab, 0xd9, 0xcd, 0xec, 0x56,
-	0x49, 0x4f, 0x20, 0xf8, 0x2e, 0xac, 0x8e, 0xc6, 0xa7, 0x8e, 0x6d, 0x1a, 0x09, 0x1a, 0x6c, 0x66,
-	0xb7, 0xf2, 0x3a, 0x92, 0x82, 0xe6, 0x84, 0x7c, 0x0b, 0x56, 0x5e, 0x52, 0xf2, 0x3c, 0x49, 0x2d,
-	0x0b, 0x6a, 0x95, 0xc3, 0x09, 0xe2, 0x3e, 0x54, 0x86, 0xd4, 0xf7, 0xc9, 0x80, 0x1a, 0xc1, 0xf9,
-	0x88, 0xaa, 0x39, 0xb1, 0xfa, 0xcd, 0x99, 0xd5, 0x4f, 0xaf, 0xbc, 0x1c, 0x6a, 0x1d, 0x9f, 0x8f,
-	0x28, 0x6e, 0x40, 0x89, 0xb2, 0xf1, 0x50, 0x5a, 0xc8, 0x2f, 0x88, 0x9f, 0xc6, 0xc6, 0xc3, 0x69,
-	0x2b, 0x45, 0xae, 0x16, 0x9a, 0x58, 0xf2, 0xa9, 0xf7, 0xc2, 0x36, 0xa9, 0x5a, 0x10, 0x06, 0x6e,
-	0xcd, 0x18, 0xe8, 0x49, 0xf9, 0xb4, 0x8d, 0x48, 0x0f, 0xef, 0x43, 0x89, 0xbe, 0x0a, 0x28, 0xf3,
-	0x6d, 0x97, 0xa9, 0x4b, 0xc2, 0xc8, 0xcd, 0x39, 0xbb, 0x48, 0x1d, 0x6b, 0xda, 0xc4, 0x44, 0x0f,
-	0x3f, 0x84, 0x25, 0x77, 0x14, 0xd8, 0x2e, 0xf3, 0xd5, 0xe2, 0xa6, 0xb2, 0x55, 0xde, 0x79, 0x77,
-	0x6e, 0x22, 0x74, 0x24, 0x47, 0x8f, 0xc8, 0xb8, 0x05, 0xc8, 0x77, 0xc7, 0x9e, 0x49, 0x0d, 0xd3,
-	0xb5, 0xa8, 0x61, 0xb3, 0xbe, 0xab, 0x96, 0x84, 0x81, 0x6b, 0xb3, 0x0b, 0x11, 0xc4, 0x7d, 0xd7,
-	0xa2, 0x2d, 0xd6, 0x77, 0xf5, 0xaa, 0x9f, 0x1a, 0xe3, 0x4b, 0x50, 0xf0, 0xcf, 0x59, 0x40, 0x5e,
-	0xa9, 0x15, 0x91, 0x21, 0xe1, 0xa8, 0xf6, 0x9f, 0x3c, 0xac, 0x5c, 0x24, 0xc5, 0x3e, 0x81, 0x7c,
-	0x9f, 0xaf, 0x52, 0xcd, 0xfc, 0x2f, 0x31, 0x90, 0x3a, 0xe9, 0x20, 0x16, 0xbe, 0x65, 0x10, 0x1b,
-	0x50, 0x66, 0xd4, 0x0f, 0xa8, 0x25, 0x33, 0x22, 0x7b, 0xc1, 0x9c, 0x02, 0xa9, 0x34, 0x9b, 0x52,
-	0xb9, 0x6f, 0x95, 0x52, 0x4f, 0x61, 0x25, 0x76, 0xc9, 0xf0, 0x08, 0x1b, 0x44, 0xb9, 0xb9, 0xfd,
-	0x26, 0x4f, 0xea, 0x5a, 0xa4, 0xa7, 0x73, 0x35, 0xbd, 0x4a, 0x53, 0x63, 0xdc, 0x04, 0x70, 0x19,
-	0x75, 0xfb, 0x86, 0x45, 0x4d, 0x47, 0x2d, 0x2e, 0x88, 0x52, 0x87, 0x53, 0x66, 0xa2, 0xe4, 0x4a,
-	0xd4, 0x74, 0xf0, 0xc7, 0x93, 0x54, 0x5b, 0x5a, 0x90, 0x29, 0x87, 0xf2, 0x90, 0xcd, 0x64, 0xdb,
-	0x09, 0x54, 0x3d, 0xca, 0xf3, 0x9e, 0x5a, 0xe1, 0xca, 0x4a, 0xc2, 0x89, 0xfa, 0x1b, 0x57, 0xa6,
-	0x87, 0x6a, 0x72, 0x61, 0xcb, 0x5e, 0x72, 0x88, 0xdf, 0x87, 0x18, 0x30, 0x44, 0x5a, 0x81, 0xa8,
-	0x42, 0x95, 0x08, 0x3c, 0x22, 0x43, 0xba, 0xf1, 0x08, 0xaa, 0xe9, 0xf0, 0xe0, 0x75, 0xc8, 0xfb,
-	0x01, 0xf1, 0x02, 0x91, 0x85, 0x79, 0x5d, 0x0e, 0x30, 0x82, 0x2c, 0x65, 0x96, 0xa8, 0x72, 0x79,
-	0x9d, 0xff, 0xdc, 0xf8, 0x08, 0x96, 0x53, 0xd3, 0x5f, 0x54, 0xb1, 0xf6, 0xdb, 0x02, 0xac, 0xcf,
-	0xcb, 0xb9, 0xb9, 0xe9, 0x7f, 0x09, 0x0a, 0x6c, 0x3c, 0x3c, 0xa5, 0x9e, 0x9a, 0x15, 0x16, 0xc2,
-	0x11, 0x6e, 0x40, 0xde, 0x21, 0xa7, 0xd4, 0x51, 0x73, 0x9b, 0xca, 0x56, 0x75, 0xe7, 0xee, 0x85,
-	0xb2, 0xba, 0xde, 0xe6, 0x2a, 0xba, 0xd4, 0xc4, 0x9f, 0x42, 0x2e, 0x2c, 0x71, 0xdc, 0xc2, 0x9d,
-	0x8b, 0x59, 0xe0, 0xb9, 0xa8, 0x0b, 0x3d, 0x7c, 0x05, 0x4a, 0xfc, 0x7f, 0x19, 0xdb, 0x82, 0xf0,
-	0xb9, 0xc8, 0x01, 0x1e, 0x57, 0xbc, 0x01, 0x45, 0x91, 0x66, 0x16, 0x8d, 0xae, 0x86, 0x78, 0xcc,
-	0x37, 0xc6, 0xa2, 0x7d, 0x32, 0x76, 0x02, 0xe3, 0x05, 0x71, 0xc6, 0x54, 0x24, 0x4c, 0x49, 0xaf,
-	0x84, 0xe0, 0xcf, 0x39, 0x86, 0xaf, 0x41, 0x59, 0x66, 0xa5, 0xcd, 0x2c, 0xfa, 0x4a, 0x54, 0x9f,
-	0xbc, 0x2e, 0x13, 0xb5, 0xc5, 0x11, 0x3e, 0xfd, 0x33, 0xdf, 0x65, 0xd1, 0xd6, 0x8a, 0x29, 0x38,
-	0x20, 0xa6, 0xff, 0x68, 0xba, 0xf0, 0x5d, 0x9d, 0xbf, 0xbc, 0xe9, 0x5c, 0xac, 0xfd, 0x39, 0x03,
-	0x39, 0x71, 0xde, 0x56, 0xa0, 0x7c, 0xfc, 0x79, 0x57, 0x33, 0x9a, 0x9d, 0x93, 0xbd, 0xb6, 0x86,
-	0x14, 0x5c, 0x05, 0x10, 0xc0, 0xe3, 0x76, 0xa7, 0x71, 0x8c, 0x32, 0xf1, 0xb8, 0x75, 0x74, 0xfc,
-	0xf0, 0x3e, 0xca, 0xc6, 0x0a, 0x27, 0x12, 0xc8, 0x25, 0x09, 0xf7, 0x76, 0x50, 0x1e, 0x23, 0xa8,
-	0x48, 0x03, 0xad, 0xa7, 0x5a, 0xf3, 0xe1, 0x7d, 0x54, 0x48, 0x23, 0xf7, 0x76, 0xd0, 0x12, 0x5e,
-	0x86, 0x92, 0x40, 0xf6, 0x3a, 0x9d, 0x36, 0x2a, 0xc6, 0x36, 0x7b, 0xc7, 0x7a, 0xeb, 0xe8, 0x00,
-	0x95, 0x62, 0x9b, 0x07, 0x7a, 0xe7, 0xa4, 0x8b, 0x20, 0xb6, 0x70, 0xa8, 0xf5, 0x7a, 0x8d, 0x03,
-	0x0d, 0x95, 0x63, 0xc6, 0xde, 0xe7, 0xc7, 0x5a, 0x0f, 0x55, 0x52, 0x6e, 0xdd, 0xdb, 0x41, 0xcb,
-	0xf1, 0x14, 0xda, 0xd1, 0xc9, 0x21, 0xaa, 0xe2, 0x55, 0x58, 0x96, 0x53, 0x44, 0x4e, 0xac, 0x4c,
-	0x41, 0x0f, 0xef, 0x23, 0x34, 0x71, 0x44, 0x5a, 0x59, 0x4d, 0x01, 0x0f, 0xef, 0x23, 0x5c, 0xdb,
-	0x87, 0xbc, 0xc8, 0x2e, 0x8c, 0xa1, 0xda, 0x6e, 0xec, 0x69, 0x6d, 0xa3, 0xd3, 0x3d, 0x6e, 0x75,
-	0x8e, 0x1a, 0x6d, 0xa4, 0x4c, 0x30, 0x5d, 0xfb, 0xd9, 0x49, 0x4b, 0xd7, 0x9a, 0x28, 0x93, 0xc4,
-	0xba, 0x5a, 0xe3, 0x58, 0x6b, 0xa2, 0x6c, 0xcd, 0x84, 0xf5, 0x79, 0x75, 0x66, 0xee, 0xc9, 0x48,
-	0x6c, 0x71, 0x66, 0xc1, 0x16, 0x0b, 0x5b, 0x33, 0x5b, 0xfc, 0x95, 0x02, 0x6b, 0x73, 0x6a, 0xed,
-	0xdc, 0x49, 0x7e, 0x0a, 0x79, 0x99, 0xa2, 0xf2, 0xf6, 0xb9, 0x3d, 0xb7, 0x68, 0x8b, 0x84, 0x9d,
-	0xb9, 0x81, 0x84, 0x5e, 0xf2, 0x06, 0xce, 0x2e, 0xb8, 0x81, 0xb9, 0x89, 0x19, 0x27, 0x7f, 0xa5,
-	0x80, 0xba, 0xc8, 0xf6, 0x1b, 0x0a, 0x45, 0x26, 0x55, 0x28, 0x3e, 0x99, 0x76, 0xe0, 0xfa, 0xe2,
-	0x35, 0xcc, 0x78, 0xf1, 0xb5, 0x02, 0x97, 0xe6, 0x37, 0x2a, 0x73, 0x7d, 0xf8, 0x14, 0x0a, 0x43,
-	0x1a, 0x9c, 0xb9, 0xd1, 0x65, 0xfd, 0xc1, 0x9c, 0x2b, 0x80, 0x8b, 0xa7, 0x63, 0x15, 0x6a, 0x25,
-	0xef, 0x90, 0xec, 0xa2, 0x6e, 0x43, 0x7a, 0x33, 0xe3, 0xe9, 0xaf, 0x33, 0xf0, 0xf6, 0x5c, 0xe3,
-	0x73, 0x1d, 0xbd, 0x0a, 0x60, 0xb3, 0xd1, 0x38, 0x90, 0x17, 0xb2, 0xac, 0x4f, 0x25, 0x81, 0x88,
-	0xb3, 0xcf, 0x6b, 0xcf, 0x38, 0x88, 0xe5, 0x59, 0x21, 0x07, 0x09, 0x09, 0xc2, 0xa3, 0x89, 0xa3,
-	0x39, 0xe1, 0xe8, 0x7b, 0x0b, 0x56, 0x3a, 0x73, 0xd7, 0x7d, 0x08, 0xc8, 0x74, 0x6c, 0xca, 0x02,
-	0xc3, 0x0f, 0x3c, 0x4a, 0x86, 0x36, 0x1b, 0x88, 0x02, 0x5c, 0xdc, 0xcd, 0xf7, 0x89, 0xe3, 0x53,
-	0x7d, 0x45, 0x8a, 0x7b, 0x91, 0x94, 0x6b, 0x88, 0x5b, 0xc6, 0x4b, 0x68, 0x14, 0x52, 0x1a, 0x52,
-	0x1c, 0x6b, 0xd4, 0x7e, 0xb3, 0x04, 0xe5, 0x44, 0x5b, 0x87, 0xaf, 0x43, 0xe5, 0x19, 0x79, 0x41,
-	0x8c, 0xa8, 0x55, 0x97, 0x91, 0x28, 0x73, 0xac, 0x1b, 0xb6, 0xeb, 0x1f, 0xc2, 0xba, 0xa0, 0xb8,
-	0xe3, 0x80, 0x7a, 0x86, 0xe9, 0x10, 0xdf, 0x17, 0x41, 0x2b, 0x0a, 0x2a, 0xe6, 0xb2, 0x0e, 0x17,
-	0xed, 0x47, 0x12, 0xfc, 0x00, 0xd6, 0x84, 0xc6, 0x70, 0xec, 0x04, 0xf6, 0xc8, 0xa1, 0x06, 0xff,
-	0x78, 0xf0, 0x45, 0x21, 0x8e, 0x3d, 0x5b, 0xe5, 0x8c, 0xc3, 0x90, 0xc0, 0x3d, 0xf2, 0x71, 0x13,
-	0xae, 0x0a, 0xb5, 0x01, 0x65, 0xd4, 0x23, 0x01, 0x35, 0xe8, 0x2f, 0xc7, 0xc4, 0xf1, 0x0d, 0xc2,
-	0x2c, 0xe3, 0x8c, 0xf8, 0x67, 0xea, 0x3a, 0x37, 0xb0, 0x97, 0x51, 0x15, 0xfd, 0x32, 0x27, 0x1e,
-	0x84, 0x3c, 0x4d, 0xd0, 0x1a, 0xcc, 0xfa, 0x8c, 0xf8, 0x67, 0x78, 0x17, 0x2e, 0x09, 0x2b, 0x7e,
-	0xe0, 0xd9, 0x6c, 0x60, 0x98, 0x67, 0xd4, 0x7c, 0x6e, 0x8c, 0x83, 0xfe, 0x23, 0xf5, 0x4a, 0x72,
-	0x7e, 0xe1, 0x61, 0x4f, 0x70, 0xf6, 0x39, 0xe5, 0x24, 0xe8, 0x3f, 0xc2, 0x3d, 0xa8, 0xf0, 0xcd,
-	0x18, 0xda, 0x5f, 0x52, 0xa3, 0xef, 0x7a, 0xe2, 0x66, 0xa9, 0xce, 0x39, 0xd9, 0x89, 0x08, 0xd6,
-	0x3b, 0xa1, 0xc2, 0xa1, 0x6b, 0xd1, 0xdd, 0x7c, 0xaf, 0xab, 0x69, 0x4d, 0xbd, 0x1c, 0x59, 0x79,
-	0xec, 0x7a, 0x3c, 0xa1, 0x06, 0x6e, 0x1c, 0xe0, 0xb2, 0x4c, 0xa8, 0x81, 0x1b, 0x85, 0xf7, 0x01,
-	0xac, 0x99, 0xa6, 0x5c, 0xb3, 0x6d, 0x1a, 0x61, 0x8b, 0xef, 0xab, 0x28, 0x15, 0x2c, 0xd3, 0x3c,
-	0x90, 0x84, 0x30, 0xc7, 0x7d, 0xfc, 0x31, 0xbc, 0x3d, 0x09, 0x56, 0x52, 0x71, 0x75, 0x66, 0x95,
-	0xd3, 0xaa, 0x0f, 0x60, 0x6d, 0x74, 0x3e, 0xab, 0x88, 0x53, 0x33, 0x8e, 0xce, 0xa7, 0xd5, 0x6e,
-	0x8a, 0xcf, 0x36, 0x8f, 0x9a, 0x24, 0xa0, 0x96, 0xfa, 0x4e, 0x92, 0x9d, 0x10, 0xe0, 0x6d, 0x40,
-	0xa6, 0x69, 0x50, 0x46, 0x4e, 0x1d, 0x6a, 0x10, 0x8f, 0x32, 0xe2, 0xab, 0xd7, 0x92, 0xe4, 0xaa,
-	0x69, 0x6a, 0x42, 0xda, 0x10, 0x42, 0x7c, 0x07, 0x56, 0xdd, 0xd3, 0x67, 0xa6, 0xcc, 0x2c, 0x63,
-	0xe4, 0xd1, 0xbe, 0xfd, 0x4a, 0xbd, 0x21, 0xc2, 0xb4, 0xc2, 0x05, 0x22, 0xaf, 0xba, 0x02, 0xc6,
-	0xb7, 0x01, 0x99, 0xfe, 0x19, 0xf1, 0x46, 0xe2, 0x6a, 0xf7, 0x47, 0xc4, 0xa4, 0xea, 0x4d, 0x49,
-	0x95, 0xf8, 0x51, 0x04, 0xe3, 0xa7, 0xb0, 0x3e, 0x66, 0x36, 0x0b, 0xa8, 0x37, 0xf2, 0x28, 0xef,
-	0xd0, 0xe5, 0x31, 0x53, 0xff, 0xb5, 0xb4, 0xa0, 0xc7, 0x3e, 0x49, 0xb2, 0xe5, 0xee, 0xea, 0x6b,
-	0xe3, 0x59, 0xb0, 0xb6, 0x0b, 0x95, 0xe4, 0xa6, 0xe3, 0x12, 0xc8, 0x6d, 0x47, 0x0a, 0xbf, 0x40,
-	0xf7, 0x3b, 0x4d, 0x7e, 0xf5, 0x7d, 0xa1, 0xa1, 0x0c, 0xbf, 0x82, 0xdb, 0xad, 0x63, 0xcd, 0xd0,
-	0x4f, 0x8e, 0x8e, 0x5b, 0x87, 0x1a, 0xca, 0xde, 0x29, 0x15, 0xff, 0xbd, 0x84, 0x5e, 0xbf, 0x7e,
-	0xfd, 0x3a, 0xf3, 0x24, 0x57, 0xfc, 0x00, 0xdd, 0xaa, 0xfd, 0x35, 0x03, 0xd5, 0x74, 0xf3, 0x8b,
-	0x7f, 0x02, 0xef, 0x44, 0x5f, 0xaa, 0x3e, 0x0d, 0x8c, 0x97, 0xb6, 0x27, 0xb2, 0x71, 0x48, 0x64,
-	0xfb, 0x18, 0x07, 0x72, 0x3d, 0x64, 0xf5, 0x68, 0xf0, 0x0b, 0xdb, 0xe3, 0xb9, 0x36, 0x24, 0x01,
-	0x6e, 0xc3, 0x35, 0xe6, 0x1a, 0x7e, 0x40, 0x98, 0x45, 0x3c, 0xcb, 0x98, 0xbc, 0x11, 0x18, 0xc4,
-	0x34, 0xa9, 0xef, 0xbb, 0xf2, 0x16, 0x88, 0xad, 0xbc, 0xcb, 0xdc, 0x5e, 0x48, 0x9e, 0x94, 0xc7,
-	0x46, 0x48, 0x9d, 0xda, 0xf4, 0xec, 0xa2, 0x4d, 0xbf, 0x02, 0xa5, 0x21, 0x19, 0x19, 0x94, 0x05,
-	0xde, 0xb9, 0x68, 0xd9, 0x8a, 0x7a, 0x71, 0x48, 0x46, 0x1a, 0x1f, 0x7f, 0x77, 0x3b, 0x91, 0x8e,
-	0x66, 0x11, 0x95, 0x6a, 0xff, 0xc8, 0x42, 0x25, 0xd9, 0xbc, 0xf1, 0x5e, 0xd8, 0x14, 0x85, 0x5a,
-	0x11, 0x47, 0xf9, 0xfd, 0x6f, 0x6c, 0xf5, 0xea, 0xfb, 0xbc, 0x82, 0xef, 0x16, 0x64, 0x4b, 0xa5,
-	0x4b, 0x4d, 0x7e, 0x7b, 0xf2, 0xc3, 0x4b, 0x65, 0xa3, 0x5e, 0xd4, 0xc3, 0x11, 0x3e, 0x80, 0xc2,
-	0x33, 0x5f, 0xd8, 0x2e, 0x08, 0xdb, 0x37, 0xbe, 0xd9, 0xf6, 0x93, 0x9e, 0x30, 0x5e, 0x7a, 0xd2,
-	0x33, 0x8e, 0x3a, 0xfa, 0x61, 0xa3, 0xad, 0x87, 0xea, 0xf8, 0x32, 0xe4, 0x1c, 0xf2, 0xe5, 0x79,
-	0xba, 0xd6, 0x0b, 0xe8, 0xa2, 0xe1, 0xbf, 0x0c, 0xb9, 0x97, 0x94, 0x3c, 0x4f, 0x57, 0x58, 0x01,
-	0x7d, 0x87, 0xc7, 0x60, 0x1b, 0xf2, 0x22, 0x5e, 0x18, 0x20, 0x8c, 0x18, 0x7a, 0x0b, 0x17, 0x21,
-	0xb7, 0xdf, 0xd1, 0xf9, 0x51, 0x40, 0x50, 0x91, 0xa8, 0xd1, 0x6d, 0x69, 0xfb, 0x1a, 0xca, 0xd4,
-	0x1e, 0x40, 0x41, 0x06, 0x81, 0x1f, 0x93, 0x38, 0x0c, 0xe8, 0xad, 0x70, 0x18, 0xda, 0x50, 0x22,
-	0xe9, 0xc9, 0xe1, 0x9e, 0xa6, 0xa3, 0x4c, 0x7a, 0x93, 0x73, 0x28, 0x5f, 0xf3, 0xa1, 0x92, 0xec,
-	0xde, 0xbe, 0x97, 0xfc, 0xaa, 0xfd, 0x45, 0x81, 0x72, 0xa2, 0x1b, 0xe3, 0x7d, 0x00, 0x71, 0x1c,
-	0xf7, 0xa5, 0x41, 0x1c, 0x9b, 0xf8, 0x61, 0x6a, 0x80, 0x80, 0x1a, 0x1c, 0xb9, 0xe8, 0xd6, 0x7d,
-	0x2f, 0xce, 0xff, 0x51, 0x01, 0x34, 0xdd, 0xc9, 0x4d, 0x39, 0xa8, 0xfc, 0xa0, 0x0e, 0xfe, 0x41,
-	0x81, 0x6a, 0xba, 0x7d, 0x9b, 0x72, 0xef, 0xfa, 0x0f, 0xea, 0xde, 0xef, 0x15, 0x58, 0x4e, 0x35,
-	0x6d, 0xff, 0x57, 0xde, 0xfd, 0x2e, 0x0b, 0x6b, 0x73, 0xf4, 0x70, 0x23, 0xec, 0x6e, 0x65, 0xc3,
-	0xfd, 0xe3, 0x8b, 0xcc, 0x55, 0xe7, 0xf7, 0x67, 0x97, 0x78, 0x41, 0xd8, 0x0c, 0xdf, 0x06, 0x64,
-	0x5b, 0x94, 0x05, 0x76, 0xdf, 0xa6, 0x5e, 0xf8, 0x45, 0x2e, 0x5b, 0xde, 0x95, 0x09, 0x2e, 0x3f,
-	0xca, 0x7f, 0x04, 0x78, 0xe4, 0xfa, 0x76, 0x60, 0xbf, 0xa0, 0x86, 0xcd, 0xa2, 0xcf, 0x77, 0xde,
-	0x02, 0xe7, 0x74, 0x14, 0x49, 0x5a, 0x2c, 0x88, 0xd9, 0x8c, 0x0e, 0xc8, 0x14, 0x9b, 0x57, 0xc0,
-	0xac, 0x8e, 0x22, 0x49, 0xcc, 0xbe, 0x0e, 0x15, 0xcb, 0x1d, 0xf3, 0x86, 0x42, 0xf2, 0x78, 0xc1,
-	0x55, 0xf4, 0xb2, 0xc4, 0x62, 0x4a, 0xd8, 0xf1, 0x4d, 0xde, 0x0d, 0x2a, 0x7a, 0x59, 0x62, 0x92,
-	0x72, 0x0b, 0x56, 0xc8, 0x60, 0xe0, 0x71, 0xe3, 0x91, 0x21, 0xd9, 0xc3, 0x56, 0x63, 0x58, 0x10,
-	0x37, 0x9e, 0x40, 0x31, 0x8a, 0x03, 0xbf, 0xd9, 0x78, 0x24, 0x8c, 0x91, 0x7c, 0xbd, 0xc9, 0x6c,
-	0x95, 0xf4, 0x22, 0x8b, 0x84, 0xd7, 0xa1, 0x62, 0xfb, 0xc6, 0xe4, 0x19, 0x31, 0xb3, 0x99, 0xd9,
-	0x2a, 0xea, 0x65, 0xdb, 0x8f, 0xdf, 0x8d, 0x6a, 0x5f, 0x67, 0xa0, 0x9a, 0x7e, 0x06, 0xc5, 0x4d,
-	0x28, 0x3a, 0xae, 0x49, 0x44, 0x22, 0xc8, 0x37, 0xf8, 0xad, 0x37, 0xbc, 0x9c, 0xd6, 0xdb, 0x21,
-	0x5f, 0x8f, 0x35, 0x37, 0xfe, 0xa6, 0x40, 0x31, 0x82, 0xf1, 0x25, 0xc8, 0x8d, 0x48, 0x70, 0x26,
-	0xcc, 0xe5, 0xf7, 0x32, 0x48, 0xd1, 0xc5, 0x98, 0xe3, 0xfe, 0x88, 0x30, 0x91, 0x02, 0x21, 0xce,
-	0xc7, 0x7c, 0x5f, 0x1d, 0x4a, 0x2c, 0xd1, 0x20, 0xbb, 0xc3, 0x21, 0x65, 0x81, 0x1f, 0xed, 0x6b,
-	0x88, 0xef, 0x87, 0x30, 0xbe, 0x0b, 0xab, 0x81, 0x47, 0x6c, 0x27, 0xc5, 0xcd, 0x09, 0x2e, 0x8a,
-	0x04, 0x31, 0x79, 0x17, 0x2e, 0x47, 0x76, 0x2d, 0x1a, 0x10, 0xf3, 0x8c, 0x5a, 0x13, 0xa5, 0x82,
-	0x78, 0x63, 0x7b, 0x27, 0x24, 0x34, 0x43, 0x79, 0xa4, 0x5b, 0xfb, 0xbb, 0x02, 0xab, 0x51, 0x4b,
-	0x6f, 0xc5, 0xc1, 0x3a, 0x04, 0x20, 0x8c, 0xb9, 0x41, 0x32, 0x5c, 0xb3, 0xa9, 0x3c, 0xa3, 0x57,
-	0x6f, 0xc4, 0x4a, 0x7a, 0xc2, 0xc0, 0xc6, 0x10, 0x60, 0x22, 0x59, 0x18, 0xb6, 0x6b, 0x50, 0x0e,
-	0xdf, 0xb8, 0xc5, 0x1f, 0x4a, 0xe4, 0x47, 0x20, 0x48, 0x88, 0xf7, 0xfe, 0x78, 0x1d, 0xf2, 0xa7,
-	0x74, 0x60, 0xb3, 0xf0, 0xe5, 0x4d, 0x0e, 0xa2, 0xf7, 0xbc, 0x5c, 0xfc, 0x9e, 0xb7, 0xf7, 0x14,
-	0xd6, 0x4c, 0x77, 0x38, 0xed, 0xee, 0x1e, 0x9a, 0xfa, 0x10, 0xf5, 0x3f, 0x53, 0xbe, 0x80, 0x49,
-	0xa7, 0xf6, 0x55, 0x26, 0x7b, 0xd0, 0xdd, 0xfb, 0x53, 0x66, 0xe3, 0x40, 0xea, 0x75, 0xa3, 0x65,
-	0xea, 0xb4, 0xef, 0x50, 0x93, 0xbb, 0xfe, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x1d, 0xe1,
-	0xd2, 0x21, 0x1a, 0x00, 0x00,
-}
diff --git a/protobuf/descriptor.proto b/protobuf/descriptor.proto
deleted file mode 100644
index 558ae23e..00000000
--- a/protobuf/descriptor.proto
+++ /dev/null
@@ -1,804 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Author: kenton@google.com (Kenton Varda)
-//  Based on original Protocol Buffers design by
-//  Sanjay Ghemawat, Jeff Dean, and others.
-//
-// The messages in this file describe the definitions found in .proto files.
-// A valid .proto file can be translated directly to a FileDescriptorProto
-// without any other information (e.g. without reading its imports).
-
-
-syntax = "proto2";
-
-package google.protobuf;
-option go_package = "descriptor";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "DescriptorProtos";
-option csharp_namespace = "Google.Protobuf.Reflection";
-option objc_class_prefix = "GPB";
-
-// descriptor.proto must be optimized for speed because reflection-based
-// algorithms don't work during bootstrapping.
-option optimize_for = SPEED;
-
-// The protocol compiler can output a FileDescriptorSet containing the .proto
-// files it parses.
-message FileDescriptorSet {
-  repeated FileDescriptorProto file = 1;
-}
-
-// Describes a complete .proto file.
-message FileDescriptorProto {
-  optional string name = 1;       // file name, relative to root of source tree
-  optional string package = 2;    // e.g. "foo", "foo.bar", etc.
-
-  // Names of files imported by this file.
-  repeated string dependency = 3;
-  // Indexes of the public imported files in the dependency list above.
-  repeated int32 public_dependency = 10;
-  // Indexes of the weak imported files in the dependency list.
-  // For Google-internal migration only. Do not use.
-  repeated int32 weak_dependency = 11;
-
-  // All top-level definitions in this file.
-  repeated DescriptorProto message_type = 4;
-  repeated EnumDescriptorProto enum_type = 5;
-  repeated ServiceDescriptorProto service = 6;
-  repeated FieldDescriptorProto extension = 7;
-
-  optional FileOptions options = 8;
-
-  // This field contains optional information about the original source code.
-  // You may safely remove this entire field without harming runtime
-  // functionality of the descriptors -- the information is needed only by
-  // development tools.
-  optional SourceCodeInfo source_code_info = 9;
-
-  // The syntax of the proto file.
-  // The supported values are "proto2" and "proto3".
-  optional string syntax = 12;
-}
-
-// Describes a message type.
-message DescriptorProto {
-  optional string name = 1;
-
-  repeated FieldDescriptorProto field = 2;
-  repeated FieldDescriptorProto extension = 6;
-
-  repeated DescriptorProto nested_type = 3;
-  repeated EnumDescriptorProto enum_type = 4;
-
-  message ExtensionRange {
-    optional int32 start = 1;
-    optional int32 end = 2;
-  }
-  repeated ExtensionRange extension_range = 5;
-
-  repeated OneofDescriptorProto oneof_decl = 8;
-
-  optional MessageOptions options = 7;
-
-  // Range of reserved tag numbers. Reserved tag numbers may not be used by
-  // fields or extension ranges in the same message. Reserved ranges may
-  // not overlap.
-  message ReservedRange {
-    optional int32 start = 1; // Inclusive.
-    optional int32 end = 2;   // Exclusive.
-  }
-  repeated ReservedRange reserved_range = 9;
-  // Reserved field names, which may not be used by fields in the same message.
-  // A given name may only be reserved once.
-  repeated string reserved_name = 10;
-}
-
-// Describes a field within a message.
-message FieldDescriptorProto {
-  enum Type {
-    // 0 is reserved for errors.
-    // Order is weird for historical reasons.
-    TYPE_DOUBLE         = 1;
-    TYPE_FLOAT          = 2;
-    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
-    // negative values are likely.
-    TYPE_INT64          = 3;
-    TYPE_UINT64         = 4;
-    // Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
-    // negative values are likely.
-    TYPE_INT32          = 5;
-    TYPE_FIXED64        = 6;
-    TYPE_FIXED32        = 7;
-    TYPE_BOOL           = 8;
-    TYPE_STRING         = 9;
-    TYPE_GROUP          = 10;  // Tag-delimited aggregate.
-    TYPE_MESSAGE        = 11;  // Length-delimited aggregate.
-
-    // New in version 2.
-    TYPE_BYTES          = 12;
-    TYPE_UINT32         = 13;
-    TYPE_ENUM           = 14;
-    TYPE_SFIXED32       = 15;
-    TYPE_SFIXED64       = 16;
-    TYPE_SINT32         = 17;  // Uses ZigZag encoding.
-    TYPE_SINT64         = 18;  // Uses ZigZag encoding.
-  };
-
-  enum Label {
-    // 0 is reserved for errors
-    LABEL_OPTIONAL      = 1;
-    LABEL_REQUIRED      = 2;
-    LABEL_REPEATED      = 3;
-    // TODO(sanjay): Should we add LABEL_MAP?
-  };
-
-  optional string name = 1;
-  optional int32 number = 3;
-  optional Label label = 4;
-
-  // If type_name is set, this need not be set.  If both this and type_name
-  // are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
-  optional Type type = 5;
-
-  // For message and enum types, this is the name of the type.  If the name
-  // starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
-  // rules are used to find the type (i.e. first the nested types within this
-  // message are searched, then within the parent, on up to the root
-  // namespace).
-  optional string type_name = 6;
-
-  // For extensions, this is the name of the type being extended.  It is
-  // resolved in the same manner as type_name.
-  optional string extendee = 2;
-
-  // For numeric types, contains the original text representation of the value.
-  // For booleans, "true" or "false".
-  // For strings, contains the default text contents (not escaped in any way).
-  // For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
-  // TODO(kenton):  Base-64 encode?
-  optional string default_value = 7;
-
-  // If set, gives the index of a oneof in the containing type's oneof_decl
-  // list.  This field is a member of that oneof.
-  optional int32 oneof_index = 9;
-
-  // JSON name of this field. The value is set by protocol compiler. If the
-  // user has set a "json_name" option on this field, that option's value
-  // will be used. Otherwise, it's deduced from the field's name by converting
-  // it to camelCase.
-  optional string json_name = 10;
-
-  optional FieldOptions options = 8;
-}
-
-// Describes a oneof.
-message OneofDescriptorProto {
-  optional string name = 1;
-  optional OneofOptions options = 2;
-}
-
-// Describes an enum type.
-message EnumDescriptorProto {
-  optional string name = 1;
-
-  repeated EnumValueDescriptorProto value = 2;
-
-  optional EnumOptions options = 3;
-}
-
-// Describes a value within an enum.
-message EnumValueDescriptorProto {
-  optional string name = 1;
-  optional int32 number = 2;
-
-  optional EnumValueOptions options = 3;
-}
-
-// Describes a service.
-message ServiceDescriptorProto {
-  optional string name = 1;
-  repeated MethodDescriptorProto method = 2;
-
-  optional ServiceOptions options = 3;
-}
-
-// Describes a method of a service.
-message MethodDescriptorProto {
-  optional string name = 1;
-
-  // Input and output type names.  These are resolved in the same way as
-  // FieldDescriptorProto.type_name, but must refer to a message type.
-  optional string input_type = 2;
-  optional string output_type = 3;
-
-  optional MethodOptions options = 4;
-
-  // Identifies if client streams multiple client messages
-  optional bool client_streaming = 5 [default=false];
-  // Identifies if server streams multiple server messages
-  optional bool server_streaming = 6 [default=false];
-}
-
-
-// ===================================================================
-// Options
-
-// Each of the definitions above may have "options" attached.  These are
-// just annotations which may cause code to be generated slightly differently
-// or may contain hints for code that manipulates protocol messages.
-//
-// Clients may define custom options as extensions of the *Options messages.
-// These extensions may not yet be known at parsing time, so the parser cannot
-// store the values in them.  Instead it stores them in a field in the *Options
-// message called uninterpreted_option. This field must have the same name
-// across all *Options messages. We then use this field to populate the
-// extensions when we build a descriptor, at which point all protos have been
-// parsed and so all extensions are known.
-//
-// Extension numbers for custom options may be chosen as follows:
-// * For options which will only be used within a single application or
-//   organization, or for experimental options, use field numbers 50000
-//   through 99999.  It is up to you to ensure that you do not use the
-//   same number for multiple options.
-// * For options which will be published and used publicly by multiple
-//   independent entities, e-mail protobuf-global-extension-registry@google.com
-//   to reserve extension numbers. Simply provide your project name (e.g.
-//   Objective-C plugin) and your project website (if available) -- there's no
-//   need to explain how you intend to use them. Usually you only need one
-//   extension number. You can declare multiple options with only one extension
-//   number by putting them in a sub-message. See the Custom Options section of
-//   the docs for examples:
-//   https://developers.google.com/protocol-buffers/docs/proto#options
-//   If this turns out to be popular, a web service will be set up
-//   to automatically assign option numbers.
-
-
-message FileOptions {
-
-  // Sets the Java package where classes generated from this .proto will be
-  // placed.  By default, the proto package is used, but this is often
-  // inappropriate because proto packages do not normally start with backwards
-  // domain names.
-  optional string java_package = 1;
-
-
-  // If set, all the classes from the .proto file are wrapped in a single
-  // outer class with the given name.  This applies to both Proto1
-  // (equivalent to the old "--one_java_file" option) and Proto2 (where
-  // a .proto always translates to a single class, but you may want to
-  // explicitly choose the class name).
-  optional string java_outer_classname = 8;
-
-  // If set true, then the Java code generator will generate a separate .java
-  // file for each top-level message, enum, and service defined in the .proto
-  // file.  Thus, these types will *not* be nested inside the outer class
-  // named by java_outer_classname.  However, the outer class will still be
-  // generated to contain the file's getDescriptor() method as well as any
-  // top-level extensions defined in the file.
-  optional bool java_multiple_files = 10 [default=false];
-
-  // This option does nothing.
-  optional bool java_generate_equals_and_hash = 20 [deprecated=true];
-
-  // If set true, then the Java2 code generator will generate code that
-  // throws an exception whenever an attempt is made to assign a non-UTF-8
-  // byte sequence to a string field.
-  // Message reflection will do the same.
-  // However, an extension field still accepts non-UTF-8 byte sequences.
-  // This option has no effect on when used with the lite runtime.
-  optional bool java_string_check_utf8 = 27 [default=false];
-
-
-  // Generated classes can be optimized for speed or code size.
-  enum OptimizeMode {
-    SPEED = 1;        // Generate complete code for parsing, serialization,
-                      // etc.
-    CODE_SIZE = 2;    // Use ReflectionOps to implement these methods.
-    LITE_RUNTIME = 3; // Generate code using MessageLite and the lite runtime.
-  }
-  optional OptimizeMode optimize_for = 9 [default=SPEED];
-
-  // Sets the Go package where structs generated from this .proto will be
-  // placed. If omitted, the Go package will be derived from the following:
-  //   - The basename of the package import path, if provided.
-  //   - Otherwise, the package statement in the .proto file, if present.
-  //   - Otherwise, the basename of the .proto file, without extension.
-  optional string go_package = 11;
-
-
-
-  // Should generic services be generated in each language?  "Generic" services
-  // are not specific to any particular RPC system.  They are generated by the
-  // main code generators in each language (without additional plugins).
-  // Generic services were the only kind of service generation supported by
-  // early versions of google.protobuf.
-  //
-  // Generic services are now considered deprecated in favor of using plugins
-  // that generate code specific to your particular RPC system.  Therefore,
-  // these default to false.  Old code which depends on generic services should
-  // explicitly set them to true.
-  optional bool cc_generic_services = 16 [default=false];
-  optional bool java_generic_services = 17 [default=false];
-  optional bool py_generic_services = 18 [default=false];
-
-  // Is this file deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for everything in the file, or it will be completely ignored; in the very
-  // least, this is a formalization for deprecating files.
-  optional bool deprecated = 23 [default=false];
-
-  // Enables the use of arenas for the proto messages in this file. This applies
-  // only to generated classes for C++.
-  optional bool cc_enable_arenas = 31 [default=false];
-
-
-  // Sets the objective c class prefix which is prepended to all objective c
-  // generated classes from this .proto. There is no default.
-  optional string objc_class_prefix = 36;
-
-  // Namespace for generated classes; defaults to the package.
-  optional string csharp_namespace = 37;
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 38;
-}
-
-message MessageOptions {
-  // Set true to use the old proto1 MessageSet wire format for extensions.
-  // This is provided for backwards-compatibility with the MessageSet wire
-  // format.  You should not use this for any other reason:  It's less
-  // efficient, has fewer features, and is more complicated.
-  //
-  // The message must be defined exactly as follows:
-  //   message Foo {
-  //     option message_set_wire_format = true;
-  //     extensions 4 to max;
-  //   }
-  // Note that the message cannot have any defined fields; MessageSets only
-  // have extensions.
-  //
-  // All extensions of your type must be singular messages; e.g. they cannot
-  // be int32s, enums, or repeated messages.
-  //
-  // Because this is an option, the above two restrictions are not enforced by
-  // the protocol compiler.
-  optional bool message_set_wire_format = 1 [default=false];
-
-  // Disables the generation of the standard "descriptor()" accessor, which can
-  // conflict with a field of the same name.  This is meant to make migration
-  // from proto1 easier; new code should avoid fields named "descriptor".
-  optional bool no_standard_descriptor_accessor = 2 [default=false];
-
-  // Is this message deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the message, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating messages.
-  optional bool deprecated = 3 [default=false];
-
-  // Whether the message is an automatically generated map entry type for the
-  // maps field.
-  //
-  // For maps fields:
-  //     map<KeyType, ValueType> map_field = 1;
-  // The parsed descriptor looks like:
-  //     message MapFieldEntry {
-  //         option map_entry = true;
-  //         optional KeyType key = 1;
-  //         optional ValueType value = 2;
-  //     }
-  //     repeated MapFieldEntry map_field = 1;
-  //
-  // Implementations may choose not to generate the map_entry=true message, but
-  // use a native map in the target language to hold the keys and values.
-  // The reflection APIs in such implementions still need to work as
-  // if the field is a repeated message field.
-  //
-  // NOTE: Do not set the option in .proto files. Always use the maps syntax
-  // instead. The option should only be implicitly set by the proto compiler
-  // parser.
-  optional bool map_entry = 7;
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 8;  // javalite_serializable
-}
-
-message FieldOptions {
-  // The ctype option instructs the C++ code generator to use a different
-  // representation of the field than it normally would.  See the specific
-  // options below.  This option is not yet implemented in the open source
-  // release -- sorry, we'll try to include it in a future version!
-  optional CType ctype = 1 [default = STRING];
-  enum CType {
-    // Default mode.
-    STRING = 0;
-
-    CORD = 1;
-
-    STRING_PIECE = 2;
-  }
-  // The packed option can be enabled for repeated primitive fields to enable
-  // a more efficient representation on the wire. Rather than repeatedly
-  // writing the tag and type for each element, the entire array is encoded as
-  // a single length-delimited blob. In proto3, only explicit setting it to
-  // false will avoid using packed encoding.
-  optional bool packed = 2;
-
-  // The jstype option determines the JavaScript type used for values of the
-  // field.  The option is permitted only for 64 bit integral and fixed types
-  // (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
-  // represented as JavaScript strings.  This avoids loss of precision that can
-  // happen when a large value is converted to a floating point JavaScript
-  // numbers.  Specifying JS_NUMBER for the jstype causes the generated
-  // JavaScript code to use the JavaScript "number" type instead of strings.
-  // This option is an enum to permit additional types to be added,
-  // e.g. goog.math.Integer.
-  optional JSType jstype = 6 [default = JS_NORMAL];
-  enum JSType {
-    // Use the default type.
-    JS_NORMAL = 0;
-
-    // Use JavaScript strings.
-    JS_STRING = 1;
-
-    // Use JavaScript numbers.
-    JS_NUMBER = 2;
-  }
-
-  // Should this field be parsed lazily?  Lazy applies only to message-type
-  // fields.  It means that when the outer message is initially parsed, the
-  // inner message's contents will not be parsed but instead stored in encoded
-  // form.  The inner message will actually be parsed when it is first accessed.
-  //
-  // This is only a hint.  Implementations are free to choose whether to use
-  // eager or lazy parsing regardless of the value of this option.  However,
-  // setting this option true suggests that the protocol author believes that
-  // using lazy parsing on this field is worth the additional bookkeeping
-  // overhead typically needed to implement it.
-  //
-  // This option does not affect the public interface of any generated code;
-  // all method signatures remain the same.  Furthermore, thread-safety of the
-  // interface is not affected by this option; const methods remain safe to
-  // call from multiple threads concurrently, while non-const methods continue
-  // to require exclusive access.
-  //
-  //
-  // Note that implementations may choose not to check required fields within
-  // a lazy sub-message.  That is, calling IsInitialized() on the outer message
-  // may return true even if the inner message has missing required fields.
-  // This is necessary because otherwise the inner message would have to be
-  // parsed in order to perform the check, defeating the purpose of lazy
-  // parsing.  An implementation which chooses not to check required fields
-  // must be consistent about it.  That is, for any particular sub-message, the
-  // implementation must either *always* check its required fields, or *never*
-  // check its required fields, regardless of whether or not the message has
-  // been parsed.
-  optional bool lazy = 5 [default=false];
-
-  // Is this field deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for accessors, or it will be completely ignored; in the very least, this
-  // is a formalization for deprecating fields.
-  optional bool deprecated = 3 [default=false];
-
-  // For Google-internal migration only. Do not use.
-  optional bool weak = 10 [default=false];
-
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-
-  reserved 4;  // removed jtype
-}
-
-message OneofOptions {
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message EnumOptions {
-
-  // Set this option to true to allow mapping different tag names to the same
-  // value.
-  optional bool allow_alias = 2;
-
-  // Is this enum deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the enum, or it will be completely ignored; in the very least, this
-  // is a formalization for deprecating enums.
-  optional bool deprecated = 3 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message EnumValueOptions {
-  // Is this enum value deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the enum value, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating enum values.
-  optional bool deprecated = 1 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message ServiceOptions {
-
-  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC
-  //   framework.  We apologize for hoarding these numbers to ourselves, but
-  //   we were already using them long before we decided to release Protocol
-  //   Buffers.
-
-  // Is this service deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the service, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating services.
-  optional bool deprecated = 33 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-message MethodOptions {
-
-  // Note:  Field numbers 1 through 32 are reserved for Google's internal RPC
-  //   framework.  We apologize for hoarding these numbers to ourselves, but
-  //   we were already using them long before we decided to release Protocol
-  //   Buffers.
-
-  // Is this method deprecated?
-  // Depending on the target platform, this can emit Deprecated annotations
-  // for the method, or it will be completely ignored; in the very least,
-  // this is a formalization for deprecating methods.
-  optional bool deprecated = 33 [default=false];
-
-  // The parser stores options it doesn't recognize here. See above.
-  repeated UninterpretedOption uninterpreted_option = 999;
-
-  // Clients can define custom options in extensions of this message. See above.
-  extensions 1000 to max;
-}
-
-
-// A message representing a option the parser does not recognize. This only
-// appears in options protos created by the compiler::Parser class.
-// DescriptorPool resolves these when building Descriptor objects. Therefore,
-// options protos in descriptor objects (e.g. returned by Descriptor::options(),
-// or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
-// in them.
-message UninterpretedOption {
-  // The name of the uninterpreted option.  Each string represents a segment in
-  // a dot-separated name.  is_extension is true iff a segment represents an
-  // extension (denoted with parentheses in options specs in .proto files).
-  // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
-  // "foo.(bar.baz).qux".
-  message NamePart {
-    required string name_part = 1;
-    required bool is_extension = 2;
-  }
-  repeated NamePart name = 2;
-
-  // The value of the uninterpreted option, in whatever type the tokenizer
-  // identified it as during parsing. Exactly one of these should be set.
-  optional string identifier_value = 3;
-  optional uint64 positive_int_value = 4;
-  optional int64 negative_int_value = 5;
-  optional double double_value = 6;
-  optional bytes string_value = 7;
-  optional string aggregate_value = 8;
-}
-
-// ===================================================================
-// Optional source code info
-
-// Encapsulates information about the original source file from which a
-// FileDescriptorProto was generated.
-message SourceCodeInfo {
-  // A Location identifies a piece of source code in a .proto file which
-  // corresponds to a particular definition.  This information is intended
-  // to be useful to IDEs, code indexers, documentation generators, and similar
-  // tools.
-  //
-  // For example, say we have a file like:
-  //   message Foo {
-  //     optional string foo = 1;
-  //   }
-  // Let's look at just the field definition:
-  //   optional string foo = 1;
-  //   ^       ^^     ^^  ^  ^^^
-  //   a       bc     de  f  ghi
-  // We have the following locations:
-  //   span   path               represents
-  //   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
-  //   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
-  //   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
-  //   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
-  //   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
-  //
-  // Notes:
-  // - A location may refer to a repeated field itself (i.e. not to any
-  //   particular index within it).  This is used whenever a set of elements are
-  //   logically enclosed in a single code segment.  For example, an entire
-  //   extend block (possibly containing multiple extension definitions) will
-  //   have an outer location whose path refers to the "extensions" repeated
-  //   field without an index.
-  // - Multiple locations may have the same path.  This happens when a single
-  //   logical declaration is spread out across multiple places.  The most
-  //   obvious example is the "extend" block again -- there may be multiple
-  //   extend blocks in the same scope, each of which will have the same path.
-  // - A location's span is not always a subset of its parent's span.  For
-  //   example, the "extendee" of an extension declaration appears at the
-  //   beginning of the "extend" block and is shared by all extensions within
-  //   the block.
-  // - Just because a location's span is a subset of some other location's span
-  //   does not mean that it is a descendent.  For example, a "group" defines
-  //   both a type and a field in a single declaration.  Thus, the locations
-  //   corresponding to the type and field and their components will overlap.
-  // - Code which tries to interpret locations should probably be designed to
-  //   ignore those that it doesn't understand, as more types of locations could
-  //   be recorded in the future.
-  repeated Location location = 1;
-  message Location {
-    // Identifies which part of the FileDescriptorProto was defined at this
-    // location.
-    //
-    // Each element is a field number or an index.  They form a path from
-    // the root FileDescriptorProto to the place where the definition.  For
-    // example, this path:
-    //   [ 4, 3, 2, 7, 1 ]
-    // refers to:
-    //   file.message_type(3)  // 4, 3
-    //       .field(7)         // 2, 7
-    //       .name()           // 1
-    // This is because FileDescriptorProto.message_type has field number 4:
-    //   repeated DescriptorProto message_type = 4;
-    // and DescriptorProto.field has field number 2:
-    //   repeated FieldDescriptorProto field = 2;
-    // and FieldDescriptorProto.name has field number 1:
-    //   optional string name = 1;
-    //
-    // Thus, the above path gives the location of a field name.  If we removed
-    // the last element:
-    //   [ 4, 3, 2, 7 ]
-    // this path refers to the whole field declaration (from the beginning
-    // of the label to the terminating semicolon).
-    repeated int32 path = 1 [packed=true];
-
-    // Always has exactly three or four elements: start line, start column,
-    // end line (optional, otherwise assumed same as start line), end column.
-    // These are packed into a single field for efficiency.  Note that line
-    // and column numbers are zero-based -- typically you will want to add
-    // 1 to each before displaying to a user.
-    repeated int32 span = 2 [packed=true];
-
-    // If this SourceCodeInfo represents a complete declaration, these are any
-    // comments appearing before and after the declaration which appear to be
-    // attached to the declaration.
-    //
-    // A series of line comments appearing on consecutive lines, with no other
-    // tokens appearing on those lines, will be treated as a single comment.
-    //
-    // leading_detached_comments will keep paragraphs of comments that appear
-    // before (but not connected to) the current element. Each paragraph,
-    // separated by empty lines, will be one comment element in the repeated
-    // field.
-    //
-    // Only the comment content is provided; comment markers (e.g. //) are
-    // stripped out.  For block comments, leading whitespace and an asterisk
-    // will be stripped from the beginning of each line other than the first.
-    // Newlines are included in the output.
-    //
-    // Examples:
-    //
-    //   optional int32 foo = 1;  // Comment attached to foo.
-    //   // Comment attached to bar.
-    //   optional int32 bar = 2;
-    //
-    //   optional string baz = 3;
-    //   // Comment attached to baz.
-    //   // Another line attached to baz.
-    //
-    //   // Comment attached to qux.
-    //   //
-    //   // Another line attached to qux.
-    //   optional double qux = 4;
-    //
-    //   // Detached comment for corge. This is not leading or trailing comments
-    //   // to qux or corge because there are blank lines separating it from
-    //   // both.
-    //
-    //   // Detached comment for corge paragraph 2.
-    //
-    //   optional string corge = 5;
-    //   /* Block comment attached
-    //    * to corge.  Leading asterisks
-    //    * will be removed. */
-    //   /* Block comment attached to
-    //    * grault. */
-    //   optional int32 grault = 6;
-    //
-    //   // ignored detached comments.
-    optional string leading_comments = 3;
-    optional string trailing_comments = 4;
-    repeated string leading_detached_comments = 6;
-  }
-}
-
-// Describes the relationship between generated code and its original source
-// file. A GeneratedCodeInfo message is associated with only one generated
-// source file, but may contain references to different source .proto files.
-message GeneratedCodeInfo {
-  // An Annotation connects some span of text in generated code to an element
-  // of its generating .proto file.
-  repeated Annotation annotation = 1;
-  message Annotation {
-    // Identifies the element in the original source .proto file. This field
-    // is formatted the same as SourceCodeInfo.Location.path.
-    repeated int32 path = 1 [packed=true];
-
-    // Identifies the filesystem path to the original source .proto.
-    optional string source_file = 2;
-
-    // Identifies the starting offset in bytes in the generated code
-    // that relates to the identified object.
-    optional int32 begin = 3;
-
-    // Identifies the ending offset in bytes in the generated code that
-    // relates to the identified offset. The end offset should be one past
-    // the last relevant byte (so the length of the text = end - begin).
-    optional int32 end = 4;
-  }
-}
diff --git a/protobuf/field_mask.proto b/protobuf/field_mask.proto
deleted file mode 100644
index b6d32a79..00000000
--- a/protobuf/field_mask.proto
+++ /dev/null
@@ -1,245 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "FieldMaskProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// `FieldMask` represents a set of symbolic field paths, for example:
-//
-//     paths: "f.a"
-//     paths: "f.b.d"
-//
-// Here `f` represents a field in some root message, `a` and `b`
-// fields in the message found in `f`, and `d` a field found in the
-// message in `f.b`.
-//
-// Field masks are used to specify a subset of fields that should be
-// returned by a get operation or modified by an update operation.
-// Field masks also have a custom JSON encoding (see below).
-//
-// # Field Masks in Projections
-//
-// When used in the context of a projection, a response message or
-// sub-message is filtered by the API to only contain those fields as
-// specified in the mask. For example, if the mask in the previous
-// example is applied to a response message as follows:
-//
-//     f {
-//       a : 22
-//       b {
-//         d : 1
-//         x : 2
-//       }
-//       y : 13
-//     }
-//     z: 8
-//
-// The result will not contain specific values for fields x,y and z
-// (their value will be set to the default, and omitted in proto text
-// output):
-//
-//
-//     f {
-//       a : 22
-//       b {
-//         d : 1
-//       }
-//     }
-//
-// A repeated field is not allowed except at the last position of a
-// paths string.
-//
-// If a FieldMask object is not present in a get operation, the
-// operation applies to all fields (as if a FieldMask of all fields
-// had been specified).
-//
-// Note that a field mask does not necessarily apply to the
-// top-level response message. In case of a REST get operation, the
-// field mask applies directly to the response, but in case of a REST
-// list operation, the mask instead applies to each individual message
-// in the returned resource list. In case of a REST custom method,
-// other definitions may be used. Where the mask applies will be
-// clearly documented together with its declaration in the API.  In
-// any case, the effect on the returned resource/resources is required
-// behavior for APIs.
-//
-// # Field Masks in Update Operations
-//
-// A field mask in update operations specifies which fields of the
-// targeted resource are going to be updated. The API is required
-// to only change the values of the fields as specified in the mask
-// and leave the others untouched. If a resource is passed in to
-// describe the updated values, the API ignores the values of all
-// fields not covered by the mask.
-//
-// If a repeated field is specified for an update operation, the existing
-// repeated values in the target resource will be overwritten by the new values.
-// Note that a repeated field is only allowed in the last position of a `paths`
-// string.
-//
-// If a sub-message is specified in the last position of the field mask for an
-// update operation, then the existing sub-message in the target resource is
-// overwritten. Given the target message:
-//
-//     f {
-//       b {
-//         d : 1
-//         x : 2
-//       }
-//       c : 1
-//     }
-//
-// And an update message:
-//
-//     f {
-//       b {
-//         d : 10
-//       }
-//     }
-//
-// then if the field mask is:
-//
-//  paths: "f.b"
-//
-// then the result will be:
-//
-//     f {
-//       b {
-//         d : 10
-//       }
-//       c : 1
-//     }
-//
-// However, if the update mask was:
-//
-//  paths: "f.b.d"
-//
-// then the result would be:
-//
-//     f {
-//       b {
-//         d : 10
-//         x : 2
-//       }
-//       c : 1
-//     }
-//
-// In order to reset a field's value to the default, the field must
-// be in the mask and set to the default value in the provided resource.
-// Hence, in order to reset all fields of a resource, provide a default
-// instance of the resource and set all fields in the mask, or do
-// not provide a mask as described below.
-//
-// If a field mask is not present on update, the operation applies to
-// all fields (as if a field mask of all fields has been specified).
-// Note that in the presence of schema evolution, this may mean that
-// fields the client does not know and has therefore not filled into
-// the request will be reset to their default. If this is unwanted
-// behavior, a specific service may require a client to always specify
-// a field mask, producing an error if not.
-//
-// As with get operations, the location of the resource which
-// describes the updated values in the request message depends on the
-// operation kind. In any case, the effect of the field mask is
-// required to be honored by the API.
-//
-// ## Considerations for HTTP REST
-//
-// The HTTP kind of an update operation which uses a field mask must
-// be set to PATCH instead of PUT in order to satisfy HTTP semantics
-// (PUT must only be used for full updates).
-//
-// # JSON Encoding of Field Masks
-//
-// In JSON, a field mask is encoded as a single string where paths are
-// separated by a comma. Fields name in each path are converted
-// to/from lower-camel naming conventions.
-//
-// As an example, consider the following message declarations:
-//
-//     message Profile {
-//       User user = 1;
-//       Photo photo = 2;
-//     }
-//     message User {
-//       string display_name = 1;
-//       string address = 2;
-//     }
-//
-// In proto a field mask for `Profile` may look as such:
-//
-//     mask {
-//       paths: "user.display_name"
-//       paths: "photo"
-//     }
-//
-// In JSON, the same mask is represented as below:
-//
-//     {
-//       mask: "user.displayName,photo"
-//     }
-//
-// # Field Masks and Oneof Fields
-//
-// Field masks treat fields in oneofs just as regular fields. Consider the
-// following message:
-//
-//     message SampleMessage {
-//       oneof test_oneof {
-//         string name = 4;
-//         SubMessage sub_message = 9;
-//       }
-//     }
-//
-// The field mask can be:
-//
-//     mask {
-//       paths: "name"
-//     }
-//
-// Or:
-//
-//     mask {
-//       paths: "sub_message"
-//     }
-//
-// Note that oneof type names ("test_oneof" in this case) cannot be used in
-// paths.
-message FieldMask {
-  // The set of field mask paths.
-  repeated string paths = 1;
-}
diff --git a/protobuf/field_mask.pb.go b/protobuf/field_mask/field_mask.pb.go
similarity index 77%
rename from protobuf/field_mask.pb.go
rename to protobuf/field_mask/field_mask.pb.go
index 5f26d518..8330ee3a 100644
--- a/protobuf/field_mask.pb.go
+++ b/protobuf/field_mask/field_mask.pb.go
@@ -1,8 +1,17 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/field_mask.proto
+// source: src/google/protobuf/field_mask.proto
 // DO NOT EDIT!
 
-package descriptor // import "google.golang.org/genproto/protobuf"
+/*
+Package field_mask is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/field_mask.proto
+
+It has these top-level messages:
+	FieldMask
+*/
+package field_mask
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
@@ -13,6 +22,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
+
 // `FieldMask` represents a set of symbolic field paths, for example:
 //
 //     paths: "f.a"
@@ -222,27 +237,32 @@ type FieldMask struct {
 func (m *FieldMask) Reset()                    { *m = FieldMask{} }
 func (m *FieldMask) String() string            { return proto.CompactTextString(m) }
 func (*FieldMask) ProtoMessage()               {}
-func (*FieldMask) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
+func (*FieldMask) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
-func init() {
-	proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
+func (m *FieldMask) GetPaths() []string {
+	if m != nil {
+		return m.Paths
+	}
+	return nil
 }
 
 func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/field_mask.proto", fileDescriptor2)
+	proto.RegisterType((*FieldMask)(nil), "google.protobuf.FieldMask")
 }
 
-var fileDescriptor2 = []byte{
-	// 161 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, 0xc9, 0x8f, 0x4b,
-	0x38, 0x39, 0x3f, 0x57, 0x0f, 0x4d, 0xa7, 0x13, 0x1f, 0x5c, 0x5f, 0x00, 0x48, 0x28, 0x80, 0x71,
-	0x11, 0x13, 0xb3, 0x7b, 0x80, 0xd3, 0x2a, 0x26, 0x39, 0x77, 0x88, 0xca, 0x00, 0xa8, 0x4a, 0xbd,
-	0xf0, 0xd4, 0x9c, 0x1c, 0xef, 0xbc, 0xfc, 0xf2, 0xbc, 0x90, 0xca, 0x82, 0xd4, 0xe2, 0x24, 0x36,
-	0xb0, 0x11, 0xc6, 0x80, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x55, 0xcb, 0x0d, 0xc2, 0x00, 0x00,
-	0x00,
+func init() { proto.RegisterFile("src/google/protobuf/field_mask.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 175 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0x52, 0x29, 0x2e, 0x4a, 0xd6,
+	0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3,
+	0x4f, 0xcb, 0x4c, 0xcd, 0x49, 0x89, 0xcf, 0x4d, 0x2c, 0xce, 0xd6, 0x03, 0x8b, 0x09, 0xf1, 0x43,
+	0x54, 0xe8, 0xc1, 0x54, 0x28, 0x29, 0x72, 0x71, 0xba, 0x81, 0x14, 0xf9, 0x26, 0x16, 0x67, 0x0b,
+	0x89, 0x70, 0xb1, 0x16, 0x24, 0x96, 0x64, 0x14, 0x4b, 0x30, 0x2a, 0x30, 0x6b, 0x70, 0x06, 0x41,
+	0x38, 0x4e, 0x9d, 0x8c, 0x5c, 0xc2, 0xc9, 0xf9, 0xb9, 0x7a, 0x68, 0x5a, 0x9d, 0xf8, 0xe0, 0x1a,
+	0x03, 0x40, 0x42, 0x01, 0x8c, 0x51, 0x96, 0x50, 0x25, 0xe9, 0xf9, 0x39, 0x89, 0x79, 0xe9, 0x7a,
+	0xf9, 0x45, 0xe9, 0xfa, 0xe9, 0xa9, 0x79, 0x60, 0x0d, 0xd8, 0xdc, 0x64, 0x8d, 0x60, 0x2e, 0x62,
+	0x62, 0x76, 0x0f, 0x70, 0x5a, 0xc5, 0x24, 0xe7, 0x0e, 0x31, 0x21, 0x00, 0xaa, 0x5a, 0x2f, 0x3c,
+	0x35, 0x27, 0xc7, 0x3b, 0x2f, 0xbf, 0x3c, 0x2f, 0xa4, 0xb2, 0x20, 0xb5, 0x38, 0x89, 0x0d, 0x6c,
+	0x8c, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xf0, 0xdc, 0x73, 0xcf, 0xee, 0x00, 0x00, 0x00,
 }
diff --git a/protobuf/type.pb.go b/protobuf/ptype/type.pb.go
similarity index 56%
rename from protobuf/type.pb.go
rename to protobuf/ptype/type.pb.go
index bc780150..d6fb35ef 100644
--- a/protobuf/type.pb.go
+++ b/protobuf/ptype/type.pb.go
@@ -1,19 +1,39 @@
 // Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/type.proto
+// source: src/google/protobuf/type.proto
 // DO NOT EDIT!
 
-package descriptor // import "google.golang.org/genproto/protobuf"
+/*
+Package ptype is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/type.proto
+
+It has these top-level messages:
+	Type
+	Field
+	Enum
+	EnumValue
+	Option
+*/
+package ptype
 
 import proto "github.com/golang/protobuf/proto"
 import fmt "fmt"
 import math "math"
 import google_protobuf "github.com/golang/protobuf/ptypes/any"
+import google_protobuf1 "google.golang.org/genproto/protobuf/source_context"
 
 // 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 syntax in which a protocol buffer element is defined.
 type Syntax int32
 
@@ -36,7 +56,7 @@ var Syntax_value = map[string]int32{
 func (x Syntax) String() string {
 	return proto.EnumName(Syntax_name, int32(x))
 }
-func (Syntax) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (Syntax) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
 
 // Basic field types.
 type Field_Kind int32
@@ -128,7 +148,7 @@ var Field_Kind_value = map[string]int32{
 func (x Field_Kind) String() string {
 	return proto.EnumName(Field_Kind_name, int32(x))
 }
-func (Field_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 0} }
+func (Field_Kind) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }
 
 // Whether a field is optional, required, or repeated.
 type Field_Cardinality int32
@@ -160,7 +180,7 @@ var Field_Cardinality_value = map[string]int32{
 func (x Field_Cardinality) String() string {
 	return proto.EnumName(Field_Cardinality_name, int32(x))
 }
-func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { return fileDescriptor4, []int{1, 1} }
+func (Field_Cardinality) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 1} }
 
 // A protocol buffer message type.
 type Type struct {
@@ -173,7 +193,7 @@ type Type struct {
 	// The protocol buffer options.
 	Options []*Option `protobuf:"bytes,4,rep,name=options" json:"options,omitempty"`
 	// The source context.
-	SourceContext *SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf1.SourceContext `protobuf:"bytes,5,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// The source syntax.
 	Syntax Syntax `protobuf:"varint,6,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
@@ -181,7 +201,14 @@ type Type struct {
 func (m *Type) Reset()                    { *m = Type{} }
 func (m *Type) String() string            { return proto.CompactTextString(m) }
 func (*Type) ProtoMessage()               {}
-func (*Type) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{0} }
+func (*Type) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *Type) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Type) GetFields() []*Field {
 	if m != nil {
@@ -190,6 +217,13 @@ func (m *Type) GetFields() []*Field {
 	return nil
 }
 
+func (m *Type) GetOneofs() []string {
+	if m != nil {
+		return m.Oneofs
+	}
+	return nil
+}
+
 func (m *Type) GetOptions() []*Option {
 	if m != nil {
 		return m.Options
@@ -197,13 +231,20 @@ func (m *Type) GetOptions() []*Option {
 	return nil
 }
 
-func (m *Type) GetSourceContext() *SourceContext {
+func (m *Type) GetSourceContext() *google_protobuf1.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
 	return nil
 }
 
+func (m *Type) GetSyntax() Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return Syntax_SYNTAX_PROTO2
+}
+
 // A single field of a message type.
 type Field struct {
 	// The field type.
@@ -233,7 +274,56 @@ type Field struct {
 func (m *Field) Reset()                    { *m = Field{} }
 func (m *Field) String() string            { return proto.CompactTextString(m) }
 func (*Field) ProtoMessage()               {}
-func (*Field) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{1} }
+func (*Field) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
+
+func (m *Field) GetKind() Field_Kind {
+	if m != nil {
+		return m.Kind
+	}
+	return Field_TYPE_UNKNOWN
+}
+
+func (m *Field) GetCardinality() Field_Cardinality {
+	if m != nil {
+		return m.Cardinality
+	}
+	return Field_CARDINALITY_UNKNOWN
+}
+
+func (m *Field) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
+
+func (m *Field) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *Field) GetTypeUrl() string {
+	if m != nil {
+		return m.TypeUrl
+	}
+	return ""
+}
+
+func (m *Field) GetOneofIndex() int32 {
+	if m != nil {
+		return m.OneofIndex
+	}
+	return 0
+}
+
+func (m *Field) GetPacked() bool {
+	if m != nil {
+		return m.Packed
+	}
+	return false
+}
 
 func (m *Field) GetOptions() []*Option {
 	if m != nil {
@@ -242,6 +332,20 @@ func (m *Field) GetOptions() []*Option {
 	return nil
 }
 
+func (m *Field) GetJsonName() string {
+	if m != nil {
+		return m.JsonName
+	}
+	return ""
+}
+
+func (m *Field) GetDefaultValue() string {
+	if m != nil {
+		return m.DefaultValue
+	}
+	return ""
+}
+
 // Enum type definition.
 type Enum struct {
 	// Enum type name.
@@ -251,7 +355,7 @@ type Enum struct {
 	// Protocol buffer options.
 	Options []*Option `protobuf:"bytes,3,rep,name=options" json:"options,omitempty"`
 	// The source context.
-	SourceContext *SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
+	SourceContext *google_protobuf1.SourceContext `protobuf:"bytes,4,opt,name=source_context,json=sourceContext" json:"source_context,omitempty"`
 	// The source syntax.
 	Syntax Syntax `protobuf:"varint,5,opt,name=syntax,enum=google.protobuf.Syntax" json:"syntax,omitempty"`
 }
@@ -259,7 +363,14 @@ type Enum struct {
 func (m *Enum) Reset()                    { *m = Enum{} }
 func (m *Enum) String() string            { return proto.CompactTextString(m) }
 func (*Enum) ProtoMessage()               {}
-func (*Enum) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{2} }
+func (*Enum) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
+
+func (m *Enum) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Enum) GetEnumvalue() []*EnumValue {
 	if m != nil {
@@ -275,13 +386,20 @@ func (m *Enum) GetOptions() []*Option {
 	return nil
 }
 
-func (m *Enum) GetSourceContext() *SourceContext {
+func (m *Enum) GetSourceContext() *google_protobuf1.SourceContext {
 	if m != nil {
 		return m.SourceContext
 	}
 	return nil
 }
 
+func (m *Enum) GetSyntax() Syntax {
+	if m != nil {
+		return m.Syntax
+	}
+	return Syntax_SYNTAX_PROTO2
+}
+
 // Enum value definition.
 type EnumValue struct {
 	// Enum value name.
@@ -295,7 +413,21 @@ type EnumValue struct {
 func (m *EnumValue) Reset()                    { *m = EnumValue{} }
 func (m *EnumValue) String() string            { return proto.CompactTextString(m) }
 func (*EnumValue) ProtoMessage()               {}
-func (*EnumValue) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{3} }
+func (*EnumValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
+
+func (m *EnumValue) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
+
+func (m *EnumValue) GetNumber() int32 {
+	if m != nil {
+		return m.Number
+	}
+	return 0
+}
 
 func (m *EnumValue) GetOptions() []*Option {
 	if m != nil {
@@ -316,7 +448,14 @@ type Option struct {
 func (m *Option) Reset()                    { *m = Option{} }
 func (m *Option) String() string            { return proto.CompactTextString(m) }
 func (*Option) ProtoMessage()               {}
-func (*Option) Descriptor() ([]byte, []int) { return fileDescriptor4, []int{4} }
+func (*Option) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
+
+func (m *Option) GetName() string {
+	if m != nil {
+		return m.Name
+	}
+	return ""
+}
 
 func (m *Option) GetValue() *google_protobuf.Any {
 	if m != nil {
@@ -336,59 +475,59 @@ func init() {
 	proto.RegisterEnum("google.protobuf.Field_Cardinality", Field_Cardinality_name, Field_Cardinality_value)
 }
 
-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, 0x5f, 0xa2, 0x97, 0xbd,
-	0xee, 0x43, 0xf4, 0x91, 0x7a, 0xd7, 0x6a, 0xc6, 0x60, 0xcc, 0x4f, 0xa5, 0x6d, 0x7b, 0x01, 0xe2,
-	0x7c, 0xe7, 0x3b, 0xdf, 0xf9, 0x99, 0x33, 0x03, 0x18, 0x33, 0xc6, 0x66, 0x81, 0x6f, 0xcc, 0x58,
-	0xe0, 0xd1, 0x99, 0xc1, 0x56, 0xb3, 0xfa, 0xcc, 0xa7, 0xcb, 0x15, 0x8b, 0x58, 0x5d, 0x7c, 0x3f,
-	0xc4, 0xd3, 0x7a, 0xb4, 0x5e, 0xfa, 0x86, 0xb0, 0xf0, 0xc5, 0x86, 0xbf, 0xf5, 0x5d, 0xd6, 0x67,
-	0xf3, 0xe8, 0xc7, 0xf8, 0xc1, 0x18, 0xb3, 0x45, 0x3d, 0x11, 0xd9, 0xc5, 0x2d, 0x79, 0x60, 0x58,
-	0xf7, 0xe8, 0x9a, 0x7f, 0x92, 0x98, 0xcb, 0xf7, 0x4f, 0xc9, 0x18, 0xb2, 0x78, 0x35, 0xf6, 0x47,
-	0x63, 0x46, 0x23, 0xff, 0x31, 0x4a, 0x22, 0xab, 0xbf, 0xc8, 0xa0, 0xb8, 0xeb, 0xa5, 0x8f, 0x31,
-	0x28, 0xd4, 0x5b, 0xf8, 0xba, 0x54, 0x91, 0x6a, 0x1a, 0x11, 0xbf, 0xb1, 0x01, 0xea, 0x74, 0xee,
-	0x07, 0x93, 0x50, 0x97, 0x2b, 0xb9, 0x5a, 0xb1, 0xf1, 0xca, 0x38, 0xa8, 0xd4, 0xb8, 0xe5, 0x6e,
-	0xb2, 0x61, 0xe1, 0x57, 0xa0, 0x32, 0xea, 0xb3, 0x69, 0xa8, 0xe7, 0x2a, 0xb9, 0x9a, 0x46, 0x36,
-	0x16, 0xfe, 0x16, 0xce, 0xd8, 0x32, 0x9a, 0x33, 0x1a, 0xea, 0x8a, 0x10, 0x7a, 0x7d, 0x24, 0x64,
-	0x0b, 0x3f, 0xd9, 0xf2, 0xb0, 0x09, 0xe5, 0xfd, 0x7a, 0xf5, 0x7c, 0x45, 0xaa, 0x15, 0x1b, 0x6f,
-	0x8f, 0x22, 0x07, 0x82, 0x76, 0x93, 0xb0, 0x48, 0x29, 0xcc, 0x9a, 0xb8, 0x0e, 0x6a, 0xb8, 0xa6,
-	0x91, 0xf7, 0xa8, 0xab, 0x15, 0xa9, 0x56, 0x3e, 0x91, 0x78, 0x20, 0xdc, 0x64, 0x43, 0xab, 0xfe,
-	0xae, 0x42, 0x5e, 0x34, 0x85, 0xeb, 0xa0, 0x7c, 0x99, 0xd3, 0x89, 0x18, 0x48, 0xb9, 0xf1, 0xe6,
-	0x74, 0xeb, 0xc6, 0xdd, 0x9c, 0x4e, 0x88, 0x20, 0xe2, 0x0e, 0x14, 0xc7, 0xde, 0x6a, 0x32, 0xa7,
-	0x5e, 0x30, 0x8f, 0xd6, 0xba, 0x2c, 0xe2, 0xaa, 0xff, 0x10, 0x77, 0xb3, 0x63, 0x92, 0x6c, 0x18,
-	0x9f, 0x21, 0x8d, 0x17, 0x0f, 0xfe, 0x4a, 0xcf, 0x55, 0xa4, 0x5a, 0x9e, 0x6c, 0xac, 0xf4, 0x7c,
-	0x94, 0xcc, 0xf9, 0x7c, 0x05, 0x05, 0xbe, 0x0d, 0xa3, 0x78, 0x15, 0x88, 0xfe, 0x34, 0x72, 0xc6,
-	0xed, 0xe1, 0x2a, 0xc0, 0x5f, 0x43, 0x51, 0x0c, 0x7f, 0x34, 0xa7, 0x13, 0xff, 0x51, 0x3f, 0x13,
-	0x5a, 0x20, 0xa0, 0x1e, 0x47, 0x78, 0x9e, 0xa5, 0x37, 0xfe, 0xe2, 0x4f, 0xf4, 0x42, 0x45, 0xaa,
-	0x15, 0xc8, 0xc6, 0xca, 0x9e, 0x95, 0xf6, 0xc4, 0xb3, 0x7a, 0x03, 0xda, 0xe7, 0x90, 0xd1, 0x91,
-	0xa8, 0x0f, 0x44, 0x1d, 0x05, 0x0e, 0x58, 0xbc, 0xc6, 0x6f, 0xa0, 0x34, 0xf1, 0xa7, 0x5e, 0x1c,
-	0x44, 0xa3, 0x9f, 0xbc, 0x20, 0xf6, 0xf5, 0xa2, 0x20, 0x9c, 0x6f, 0xc0, 0x1f, 0x38, 0x56, 0xfd,
-	0x43, 0x06, 0x85, 0x4f, 0x12, 0x23, 0x38, 0x77, 0xef, 0x1d, 0x73, 0x34, 0xb4, 0xee, 0x2c, 0xfb,
-	0xa3, 0x85, 0x9e, 0xe1, 0x0b, 0x28, 0x0a, 0xa4, 0x63, 0x0f, 0xdb, 0x7d, 0x13, 0x49, 0xb8, 0x0c,
-	0x20, 0x80, 0xdb, 0xbe, 0xdd, 0x72, 0x91, 0x9c, 0xda, 0x3d, 0xcb, 0xbd, 0xbe, 0x42, 0xb9, 0x34,
-	0x60, 0x98, 0x00, 0x4a, 0x96, 0xd0, 0x6c, 0xa0, 0x7c, 0x9a, 0xe3, 0xb6, 0xf7, 0xc9, 0xec, 0x5c,
-	0x5f, 0x21, 0x75, 0x1f, 0x69, 0x36, 0xd0, 0x19, 0x2e, 0x81, 0x26, 0x90, 0xb6, 0x6d, 0xf7, 0x51,
-	0x21, 0xd5, 0x1c, 0xb8, 0xa4, 0x67, 0x75, 0x91, 0x96, 0x6a, 0x76, 0x89, 0x3d, 0x74, 0x10, 0xa4,
-	0x0a, 0x1f, 0xcc, 0xc1, 0xa0, 0xd5, 0x35, 0x51, 0x31, 0x65, 0xb4, 0xef, 0x5d, 0x73, 0x80, 0xce,
-	0xf7, 0xca, 0x6a, 0x36, 0x50, 0x29, 0x4d, 0x61, 0x5a, 0xc3, 0x0f, 0xa8, 0x8c, 0x9f, 0x43, 0x29,
-	0x49, 0xb1, 0x2d, 0xe2, 0xe2, 0x00, 0xba, 0xbe, 0x42, 0x68, 0x57, 0x48, 0xa2, 0xf2, 0x7c, 0x0f,
-	0xb8, 0xbe, 0x42, 0xb8, 0x1a, 0x41, 0x31, 0xb3, 0x5b, 0xf8, 0x35, 0xbc, 0xb8, 0x69, 0x91, 0x4e,
-	0xcf, 0x6a, 0xf5, 0x7b, 0xee, 0x7d, 0x66, 0xae, 0x3a, 0xbc, 0xcc, 0x3a, 0x6c, 0xc7, 0xed, 0xd9,
-	0x56, 0xab, 0x8f, 0xa4, 0x43, 0x0f, 0x31, 0xbf, 0x1f, 0xf6, 0x88, 0xd9, 0x41, 0xf2, 0xb1, 0xc7,
-	0x31, 0x5b, 0xae, 0xd9, 0x41, 0xb9, 0xea, 0x5f, 0x12, 0x28, 0x26, 0x8d, 0x17, 0x27, 0x9f, 0x91,
-	0xf7, 0xa0, 0xf9, 0x34, 0x5e, 0x24, 0xc7, 0x9f, 0xbc, 0x24, 0x97, 0x47, 0x4b, 0xc5, 0xa3, 0xc5,
-	0x32, 0x90, 0x1d, 0x39, 0xbb, 0x8c, 0xb9, 0xff, 0xfc, 0x70, 0x28, 0xff, 0xef, 0xe1, 0xc8, 0x3f,
-	0xed, 0xe1, 0xf8, 0x0c, 0x5a, 0xda, 0xc2, 0xc9, 0x29, 0xec, 0x2e, 0xb6, 0xbc, 0x77, 0xb1, 0xff,
-	0x7d, 0x8f, 0xd5, 0xef, 0x40, 0x4d, 0xa0, 0x93, 0x89, 0xde, 0x41, 0x7e, 0x3b, 0x6a, 0xde, 0xf8,
-	0xcb, 0x23, 0xb9, 0x16, 0x5d, 0x93, 0x84, 0xf2, 0xce, 0x00, 0x35, 0xe9, 0x83, 0x2f, 0xdb, 0xe0,
-	0xde, 0x72, 0x5b, 0x9f, 0x46, 0x0e, 0xb1, 0x5d, 0xbb, 0x81, 0x9e, 0x1d, 0x42, 0x4d, 0x24, 0xb5,
-	0xfb, 0xf0, 0x62, 0xcc, 0x16, 0x87, 0x8a, 0x6d, 0x8d, 0xff, 0x85, 0x38, 0xdc, 0x72, 0xa4, 0x3f,
-	0x25, 0xe9, 0x57, 0x39, 0xd7, 0x75, 0xda, 0xbf, 0xc9, 0x6f, 0xbb, 0x09, 0xcf, 0xd9, 0x66, 0xfe,
-	0xe8, 0x07, 0xc1, 0x1d, 0x65, 0x3f, 0x53, 0xce, 0x0f, 0x1f, 0x54, 0x21, 0xd0, 0xfc, 0x3b, 0x00,
-	0x00, 0xff, 0xff, 0x72, 0xb8, 0x69, 0x05, 0x31, 0x07, 0x00, 0x00,
+func init() { proto.RegisterFile("src/google/protobuf/type.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 813 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x4f, 0x8f, 0xda, 0x46,
+	0x14, 0x8f, 0x8d, 0xf1, 0xe2, 0xc7, 0xc2, 0x4e, 0x26, 0x51, 0xe2, 0x6c, 0xa4, 0x2d, 0xa2, 0x3d,
+	0xa0, 0x1c, 0x8c, 0x0a, 0xab, 0x55, 0xa5, 0x9e, 0x60, 0xf1, 0x52, 0xb4, 0xc4, 0x76, 0x07, 0xd3,
+	0x64, 0x7b, 0x41, 0x5e, 0x98, 0x45, 0x24, 0x66, 0x8c, 0xb0, 0xdd, 0x2e, 0x87, 0x7e, 0x84, 0x7e,
+	0x89, 0x1e, 0x7b, 0xee, 0x87, 0xe8, 0x47, 0xea, 0xad, 0xd5, 0x8c, 0xc1, 0x98, 0x3f, 0x95, 0xd2,
+	0xe6, 0x82, 0x78, 0xbf, 0xf7, 0x7b, 0xff, 0x9f, 0xdf, 0xc0, 0x45, 0xb8, 0x1c, 0xd7, 0xa7, 0x41,
+	0x30, 0xf5, 0x69, 0x7d, 0xb1, 0x0c, 0xa2, 0xe0, 0x3e, 0x7e, 0xa8, 0x47, 0xab, 0x05, 0x35, 0x84,
+	0x84, 0xcf, 0x12, 0x9d, 0xb1, 0xd1, 0x9d, 0xbf, 0xda, 0x27, 0x7b, 0x6c, 0x95, 0x68, 0xcf, 0xbf,
+	0xda, 0x57, 0x85, 0x41, 0xbc, 0x1c, 0xd3, 0xd1, 0x38, 0x60, 0x11, 0x7d, 0x8c, 0x12, 0x56, 0xf5,
+	0x57, 0x19, 0x14, 0x77, 0xb5, 0xa0, 0x18, 0x83, 0xc2, 0xbc, 0x39, 0xd5, 0xa5, 0x8a, 0x54, 0xd3,
+	0x88, 0xf8, 0x8f, 0x0d, 0x50, 0x1f, 0x66, 0xd4, 0x9f, 0x84, 0xba, 0x5c, 0xc9, 0xd5, 0x8a, 0x8d,
+	0x17, 0xc6, 0x5e, 0x7c, 0xe3, 0x86, 0xab, 0xc9, 0x9a, 0x85, 0x5f, 0x80, 0x1a, 0x30, 0x1a, 0x3c,
+	0x84, 0x7a, 0xae, 0x92, 0xab, 0x69, 0x64, 0x2d, 0xe1, 0xaf, 0xe1, 0x24, 0x58, 0x44, 0xb3, 0x80,
+	0x85, 0xba, 0x22, 0x1c, 0xbd, 0x3c, 0x70, 0x64, 0x0b, 0x3d, 0xd9, 0xf0, 0xb0, 0x09, 0xe5, 0xdd,
+	0x7c, 0xf5, 0x7c, 0x45, 0xaa, 0x15, 0x1b, 0x17, 0x07, 0x96, 0x03, 0x41, 0xbb, 0x4e, 0x58, 0xa4,
+	0x14, 0x66, 0x45, 0x5c, 0x07, 0x35, 0x5c, 0xb1, 0xc8, 0x7b, 0xd4, 0xd5, 0x8a, 0x54, 0x2b, 0x1f,
+	0x09, 0x3c, 0x10, 0x6a, 0xb2, 0xa6, 0x55, 0xff, 0x50, 0x21, 0x2f, 0x8a, 0xc2, 0x75, 0x50, 0x3e,
+	0xce, 0xd8, 0x44, 0x34, 0xa4, 0xdc, 0x78, 0x7d, 0xbc, 0x74, 0xe3, 0x76, 0xc6, 0x26, 0x44, 0x10,
+	0x71, 0x07, 0x8a, 0x63, 0x6f, 0x39, 0x99, 0x31, 0xcf, 0x9f, 0x45, 0x2b, 0x5d, 0x16, 0x76, 0xd5,
+	0x7f, 0xb1, 0xbb, 0xde, 0x32, 0x49, 0xd6, 0x8c, 0xf7, 0x90, 0xc5, 0xf3, 0x7b, 0xba, 0xd4, 0x73,
+	0x15, 0xa9, 0x96, 0x27, 0x6b, 0x29, 0x9d, 0x8f, 0x92, 0x99, 0xcf, 0x2b, 0x28, 0xf0, 0xe5, 0x18,
+	0xc5, 0x4b, 0x5f, 0xd4, 0xa7, 0x91, 0x13, 0x2e, 0x0f, 0x97, 0x3e, 0xfe, 0x02, 0x8a, 0xa2, 0xf9,
+	0xa3, 0x19, 0x9b, 0xd0, 0x47, 0xfd, 0x44, 0xf8, 0x02, 0x01, 0xf5, 0x38, 0xc2, 0xe3, 0x2c, 0xbc,
+	0xf1, 0x47, 0x3a, 0xd1, 0x0b, 0x15, 0xa9, 0x56, 0x20, 0x6b, 0x29, 0x3b, 0x2b, 0xed, 0x13, 0x67,
+	0xf5, 0x1a, 0xb4, 0x0f, 0x61, 0xc0, 0x46, 0x22, 0x3f, 0x10, 0x79, 0x14, 0x38, 0x60, 0xf1, 0x1c,
+	0xbf, 0x84, 0xd2, 0x84, 0x3e, 0x78, 0xb1, 0x1f, 0x8d, 0x7e, 0xf2, 0xfc, 0x98, 0xea, 0x45, 0x41,
+	0x38, 0x5d, 0x83, 0x3f, 0x70, 0xac, 0xfa, 0xa7, 0x0c, 0x0a, 0xef, 0x24, 0x46, 0x70, 0xea, 0xde,
+	0x39, 0xe6, 0x68, 0x68, 0xdd, 0x5a, 0xf6, 0x3b, 0x0b, 0x3d, 0xc1, 0x67, 0x50, 0x14, 0x48, 0xc7,
+	0x1e, 0xb6, 0xfb, 0x26, 0x92, 0x70, 0x19, 0x40, 0x00, 0x37, 0x7d, 0xbb, 0xe5, 0x22, 0x39, 0x95,
+	0x7b, 0x96, 0x7b, 0x75, 0x89, 0x72, 0xa9, 0xc1, 0x30, 0x01, 0x94, 0x2c, 0xa1, 0xd9, 0x40, 0xf9,
+	0x34, 0xc6, 0x4d, 0xef, 0xbd, 0xd9, 0xb9, 0xba, 0x44, 0xea, 0x2e, 0xd2, 0x6c, 0xa0, 0x13, 0x5c,
+	0x02, 0x4d, 0x20, 0x6d, 0xdb, 0xee, 0xa3, 0x42, 0xea, 0x73, 0xe0, 0x92, 0x9e, 0xd5, 0x45, 0x5a,
+	0xea, 0xb3, 0x4b, 0xec, 0xa1, 0x83, 0x20, 0xf5, 0xf0, 0xd6, 0x1c, 0x0c, 0x5a, 0x5d, 0x13, 0x15,
+	0x53, 0x46, 0xfb, 0xce, 0x35, 0x07, 0xe8, 0x74, 0x27, 0xad, 0x66, 0x03, 0x95, 0xd2, 0x10, 0xa6,
+	0x35, 0x7c, 0x8b, 0xca, 0xf8, 0x29, 0x94, 0x92, 0x10, 0x9b, 0x24, 0xce, 0xf6, 0xa0, 0xab, 0x4b,
+	0x84, 0xb6, 0x89, 0x24, 0x5e, 0x9e, 0xee, 0x00, 0x57, 0x97, 0x08, 0x57, 0x23, 0x28, 0x66, 0x76,
+	0x0b, 0xbf, 0x84, 0x67, 0xd7, 0x2d, 0xd2, 0xe9, 0x59, 0xad, 0x7e, 0xcf, 0xbd, 0xcb, 0xf4, 0x55,
+	0x87, 0xe7, 0x59, 0x85, 0xed, 0xb8, 0x3d, 0xdb, 0x6a, 0xf5, 0x91, 0xb4, 0xaf, 0x21, 0xe6, 0xf7,
+	0xc3, 0x1e, 0x31, 0x3b, 0x48, 0x3e, 0xd4, 0x38, 0x66, 0xcb, 0x35, 0x3b, 0x28, 0x57, 0xfd, 0x5b,
+	0x02, 0xc5, 0x64, 0xf1, 0xfc, 0xe8, 0x19, 0xf9, 0x06, 0x34, 0xca, 0xe2, 0x79, 0x32, 0xfe, 0xe4,
+	0x92, 0x9c, 0x1f, 0x2c, 0x15, 0xb7, 0x16, 0xcb, 0x40, 0xb6, 0xe4, 0xec, 0x32, 0xe6, 0xfe, 0xf7,
+	0xe1, 0x50, 0x3e, 0xef, 0x70, 0xe4, 0x3f, 0xed, 0x70, 0x7c, 0x00, 0x2d, 0x2d, 0xe1, 0x68, 0x17,
+	0xb6, 0x1f, 0xb6, 0xbc, 0xf3, 0x61, 0xff, 0xf7, 0x1a, 0xab, 0xdf, 0x81, 0x9a, 0x40, 0x47, 0x03,
+	0xbd, 0x81, 0xfc, 0xa6, 0xd5, 0xbc, 0xf0, 0xe7, 0x07, 0xee, 0x5a, 0x6c, 0x45, 0x12, 0xca, 0x1b,
+	0x03, 0xd4, 0xa4, 0x0e, 0xbe, 0x6c, 0x83, 0x3b, 0xcb, 0x6d, 0xbd, 0x1f, 0x39, 0xc4, 0x76, 0xed,
+	0x06, 0x7a, 0xb2, 0x0f, 0x35, 0x91, 0xd4, 0xfe, 0x05, 0x9e, 0x8d, 0x83, 0xf9, 0xbe, 0xc7, 0xb6,
+	0xc6, 0x9f, 0x10, 0x87, 0x4b, 0x8e, 0xf4, 0xe3, 0xfa, 0x01, 0x33, 0xa6, 0x81, 0xef, 0xb1, 0xa9,
+	0x11, 0x2c, 0xa7, 0xf5, 0x29, 0x65, 0x82, 0xbb, 0x7d, 0x8c, 0x16, 0xfc, 0x50, 0x7d, 0x2b, 0x7e,
+	0xff, 0x92, 0xa4, 0xdf, 0xe4, 0x5c, 0xd7, 0x69, 0xff, 0x2e, 0x5f, 0x74, 0x13, 0x53, 0x67, 0x93,
+	0xea, 0x3b, 0xea, 0xfb, 0xb7, 0x2c, 0xf8, 0x99, 0xf1, 0x00, 0xe1, 0xbd, 0x2a, 0xec, 0x9b, 0xff,
+	0x04, 0x00, 0x00, 0xff, 0xff, 0xe4, 0x0a, 0x14, 0x97, 0x28, 0x07, 0x00, 0x00,
 }
diff --git a/protobuf/source_context.pb.go b/protobuf/source_context.pb.go
deleted file mode 100644
index 44299104..00000000
--- a/protobuf/source_context.pb.go
+++ /dev/null
@@ -1,50 +0,0 @@
-// Code generated by protoc-gen-go.
-// source: google.golang.org/genproto/protobuf/source_context.proto
-// DO NOT EDIT!
-
-package descriptor // import "google.golang.org/genproto/protobuf"
-
-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
-
-// `SourceContext` represents information about the source of a
-// protobuf element, like the file in which it is defined.
-type SourceContext struct {
-	// The path-qualified name of the .proto file that contained the associated
-	// protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-	FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName" json:"file_name,omitempty"`
-}
-
-func (m *SourceContext) Reset()                    { *m = SourceContext{} }
-func (m *SourceContext) String() string            { return proto.CompactTextString(m) }
-func (*SourceContext) ProtoMessage()               {}
-func (*SourceContext) Descriptor() ([]byte, []int) { return fileDescriptor3, []int{0} }
-
-func init() {
-	proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
-}
-
-func init() {
-	proto.RegisterFile("google.golang.org/genproto/protobuf/source_context.proto", fileDescriptor3)
-}
-
-var fileDescriptor3 = []byte{
-	// 173 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, 0x10, 0x97, 0x70, 0x72, 0x7e, 0xae,
-	0x1e, 0x9a, 0x21, 0x4e, 0x42, 0x28, 0x46, 0x04, 0x80, 0x84, 0x03, 0x18, 0x17, 0x31, 0x31, 0xbb,
-	0x07, 0x38, 0xad, 0x62, 0x92, 0x73, 0x87, 0xa8, 0x0e, 0x80, 0xaa, 0xd6, 0x0b, 0x4f, 0xcd, 0xc9,
-	0xf1, 0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x1b, 0x63, 0x0c,
-	0x08, 0x00, 0x00, 0xff, 0xff, 0x9d, 0x32, 0x53, 0x9f, 0xd5, 0x00, 0x00, 0x00,
-}
diff --git a/protobuf/source_context.proto b/protobuf/source_context.proto
deleted file mode 100644
index 79137ce8..00000000
--- a/protobuf/source_context.proto
+++ /dev/null
@@ -1,47 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option java_package = "com.google.protobuf";
-option java_outer_classname = "SourceContextProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// `SourceContext` represents information about the source of a
-// protobuf element, like the file in which it is defined.
-message SourceContext {
-  // The path-qualified name of the .proto file that contained the associated
-  // protobuf element.  For example: `"google/protobuf/source_context.proto"`.
-  string file_name = 1;
-}
diff --git a/protobuf/source_context/source_context.pb.go b/protobuf/source_context/source_context.pb.go
new file mode 100644
index 00000000..49b7014b
--- /dev/null
+++ b/protobuf/source_context/source_context.pb.go
@@ -0,0 +1,71 @@
+// Code generated by protoc-gen-go.
+// source: src/google/protobuf/source_context.proto
+// DO NOT EDIT!
+
+/*
+Package source_context is a generated protocol buffer package.
+
+It is generated from these files:
+	src/google/protobuf/source_context.proto
+
+It has these top-level messages:
+	SourceContext
+*/
+package source_context
+
+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
+
+// `SourceContext` represents information about the source of a
+// protobuf element, like the file in which it is defined.
+type SourceContext struct {
+	// The path-qualified name of the .proto file that contained the associated
+	// protobuf element.  For example: `"google/protobuf/source_context.proto"`.
+	FileName string `protobuf:"bytes,1,opt,name=file_name,json=fileName" json:"file_name,omitempty"`
+}
+
+func (m *SourceContext) Reset()                    { *m = SourceContext{} }
+func (m *SourceContext) String() string            { return proto.CompactTextString(m) }
+func (*SourceContext) ProtoMessage()               {}
+func (*SourceContext) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
+
+func (m *SourceContext) GetFileName() string {
+	if m != nil {
+		return m.FileName
+	}
+	return ""
+}
+
+func init() {
+	proto.RegisterType((*SourceContext)(nil), "google.protobuf.SourceContext")
+}
+
+func init() { proto.RegisterFile("src/google/protobuf/source_context.proto", fileDescriptor0) }
+
+var fileDescriptor0 = []byte{
+	// 188 bytes of a gzipped FileDescriptorProto
+	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x28, 0x2e, 0x4a, 0xd6,
+	0x4f, 0xcf, 0xcf, 0x4f, 0xcf, 0x49, 0xd5, 0x2f, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0x2a, 0x4d, 0xd3,
+	0x2f, 0xce, 0x2f, 0x2d, 0x4a, 0x4e, 0x8d, 0x4f, 0xce, 0xcf, 0x2b, 0x49, 0xad, 0x28, 0xd1, 0x03,
+	0x8b, 0x0b, 0xf1, 0x43, 0x54, 0xe9, 0xc1, 0x54, 0x29, 0xe9, 0x70, 0xf1, 0x06, 0x83, 0x15, 0x3a,
+	0x43, 0xd4, 0x09, 0x49, 0x73, 0x71, 0xa6, 0x65, 0xe6, 0xa4, 0xc6, 0xe7, 0x25, 0xe6, 0xa6, 0x4a,
+	0x30, 0x2a, 0x30, 0x6a, 0x70, 0x06, 0x71, 0x80, 0x04, 0xfc, 0x12, 0x73, 0x53, 0x9d, 0xa6, 0x32,
+	0x72, 0x09, 0x27, 0xe7, 0xe7, 0xea, 0xa1, 0x99, 0xe2, 0x24, 0x84, 0x62, 0x46, 0x00, 0x48, 0x38,
+	0x80, 0x31, 0xca, 0x11, 0xaa, 0x2c, 0x3d, 0x3f, 0x27, 0x31, 0x2f, 0x5d, 0x2f, 0xbf, 0x28, 0x5d,
+	0x3f, 0x3d, 0x35, 0x0f, 0xac, 0x09, 0x97, 0x33, 0xad, 0x51, 0xb9, 0x8b, 0x98, 0x98, 0xdd, 0x03,
+	0x9c, 0x56, 0x31, 0xc9, 0xb9, 0x43, 0x4c, 0x0a, 0x80, 0xea, 0xd2, 0x0b, 0x4f, 0xcd, 0xc9, 0xf1,
+	0xce, 0xcb, 0x2f, 0xcf, 0x0b, 0xa9, 0x2c, 0x48, 0x2d, 0x4e, 0x62, 0x03, 0x1b, 0x67, 0x0c, 0x08,
+	0x00, 0x00, 0xff, 0xff, 0xc7, 0xbc, 0xab, 0x7f, 0x09, 0x01, 0x00, 0x00,
+}
diff --git a/protobuf/type.proto b/protobuf/type.proto
deleted file mode 100644
index 15c94f33..00000000
--- a/protobuf/type.proto
+++ /dev/null
@@ -1,180 +0,0 @@
-// Protocol Buffers - Google's data interchange format
-// Copyright 2008 Google Inc.  All rights reserved.
-// https://developers.google.com/protocol-buffers/
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are
-// met:
-//
-//     * Redistributions of source code must retain the above copyright
-// notice, this list of conditions and the following disclaimer.
-//     * Redistributions in binary form must reproduce the above
-// copyright notice, this list of conditions and the following disclaimer
-// in the documentation and/or other materials provided with the
-// distribution.
-//     * Neither the name of Google Inc. nor the names of its
-// contributors may be used to endorse or promote products derived from
-// this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-syntax = "proto3";
-
-package google.protobuf;
-
-import "github.com/golang/protobuf/ptypes/any/any.proto"; // from google/protobuf/any.proto
-import "google.golang.org/genproto/protobuf/source_context.proto"; // from google/protobuf/source_context.proto
-
-option csharp_namespace = "Google.Protobuf.WellKnownTypes";
-option cc_enable_arenas = true;
-option java_package = "com.google.protobuf";
-option java_outer_classname = "TypeProto";
-option java_multiple_files = true;
-option objc_class_prefix = "GPB";
-
-// A protocol buffer message type.
-message Type {
-  // The fully qualified message name.
-  string name = 1;
-  // The list of fields.
-  repeated Field fields = 2;
-  // The list of types appearing in `oneof` definitions in this type.
-  repeated string oneofs = 3;
-  // The protocol buffer options.
-  repeated Option options = 4;
-  // The source context.
-  SourceContext source_context = 5;
-  // The source syntax.
-  Syntax syntax = 6;
-}
-
-// A single field of a message type.
-message Field {
-  // Basic field types.
-  enum Kind {
-    // Field type unknown.
-    TYPE_UNKNOWN        = 0;
-    // Field type double.
-    TYPE_DOUBLE         = 1;
-    // Field type float.
-    TYPE_FLOAT          = 2;
-    // Field type int64.
-    TYPE_INT64          = 3;
-    // Field type uint64.
-    TYPE_UINT64         = 4;
-    // Field type int32.
-    TYPE_INT32          = 5;
-    // Field type fixed64.
-    TYPE_FIXED64        = 6;
-    // Field type fixed32.
-    TYPE_FIXED32        = 7;
-    // Field type bool.
-    TYPE_BOOL           = 8;
-    // Field type string.
-    TYPE_STRING         = 9;
-    // Field type group. Proto2 syntax only, and deprecated.
-    TYPE_GROUP          = 10;
-    // Field type message.
-    TYPE_MESSAGE        = 11;
-    // Field type bytes.
-    TYPE_BYTES          = 12;
-    // Field type uint32.
-    TYPE_UINT32         = 13;
-    // Field type enum.
-    TYPE_ENUM           = 14;
-    // Field type sfixed32.
-    TYPE_SFIXED32       = 15;
-    // Field type sfixed64.
-    TYPE_SFIXED64       = 16;
-    // Field type sint32.
-    TYPE_SINT32         = 17;
-    // Field type sint64.
-    TYPE_SINT64         = 18;
-  };
-
-  // Whether a field is optional, required, or repeated.
-  enum Cardinality {
-    // For fields with unknown cardinality.
-    CARDINALITY_UNKNOWN = 0;
-    // For optional fields.
-    CARDINALITY_OPTIONAL = 1;
-    // For required fields. Proto2 syntax only.
-    CARDINALITY_REQUIRED = 2;
-    // For repeated fields.
-    CARDINALITY_REPEATED = 3;
-  };
-
-  // The field type.
-  Kind kind = 1;
-  // The field cardinality.
-  Cardinality cardinality = 2;
-  // The field number.
-  int32 number = 3;
-  // The field name.
-  string name = 4;
-  // The field type URL, without the scheme, for message or enumeration
-  // types. Example: `"type.googleapis.com/google.protobuf.Timestamp"`.
-  string type_url = 6;
-  // The index of the field type in `Type.oneofs`, for message or enumeration
-  // types. The first type has index 1; zero means the type is not in the list.
-  int32 oneof_index = 7;
-  // Whether to use alternative packed wire representation.
-  bool packed = 8;
-  // The protocol buffer options.
-  repeated Option options = 9;
-  // The field JSON name.
-  string json_name = 10;
-  // The string value of the default value of this field. Proto2 syntax only.
-  string default_value = 11;
-}
-
-// Enum type definition.
-message Enum {
-  // Enum type name.
-  string name = 1;
-  // Enum value definitions.
-  repeated EnumValue enumvalue = 2;
-  // Protocol buffer options.
-  repeated Option options = 3;
-  // The source context.
-  SourceContext source_context = 4;
-  // The source syntax.
-  Syntax syntax = 5;
-}
-
-// Enum value definition.
-message EnumValue {
-  // Enum value name.
-  string name = 1;
-  // Enum value number.
-  int32 number = 2;
-  // Protocol buffer options.
-  repeated Option options = 3;
-}
-
-// A protocol buffer option, which can be attached to a message, field,
-// enumeration, etc.
-message Option {
-  // The option's name. For example, `"java_package"`.
-  string name = 1;
-  // The option's value. For example, `"com.google.protobuf"`.
-  Any value = 2;
-}
-
-// The syntax in which a protocol buffer element is defined.
-enum Syntax {
-  // Syntax `proto2`.
-  SYNTAX_PROTO2 = 0;
-  // Syntax `proto3`.
-  SYNTAX_PROTO3 = 1;
-}
diff --git a/regen.go b/regen.go
new file mode 100644
index 00000000..9c906f20
--- /dev/null
+++ b/regen.go
@@ -0,0 +1,123 @@
+// 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.
+
+// +build ignore
+
+// Regen.go regenerates the genproto repository.
+//
+// Regen.go recursively walks through each directory named by given arguments,
+// looking for all .proto files. (Symlinks are not followed.)
+// If the pkg_prefix flag is not an empty string,
+// any proto file without `go_package` option
+// or whose option does not begin with the prefix is ignored.
+// Protoc is executed on remaining files,
+// one invocation per set of files declaring the same Go package.
+package main
+
+import (
+	"flag"
+	"fmt"
+	"io/ioutil"
+	"log"
+	"os"
+	"os/exec"
+	"path/filepath"
+	"regexp"
+	"strconv"
+	"strings"
+)
+
+var goPkgOptRe = regexp.MustCompile(`(?m)^option go_package = (.*);`)
+
+func usage() {
+	fmt.Fprintln(os.Stderr, `usage: go run regen.go -go_out=path/to/output [-pkg_prefix=pkg/prefix] roots...
+
+Most users will not need to run this file directly.
+To regenerate this repository, run regen.sh instead.`)
+	flag.PrintDefaults()
+}
+
+func main() {
+	goOutDir := flag.String("go_out", "", "go_out argument to pass to protoc-gen-go")
+	pkgPrefix := flag.String("pkg_prefix", "", "only include proto files with go_package starting with this prefix")
+	flag.Usage = usage
+	flag.Parse()
+
+	if *goOutDir == "" {
+		log.Fatal("need go_out flag")
+	}
+
+	pkgFiles := make(map[string][]string)
+	walkFn := func(path string, info os.FileInfo, err error) error {
+		if err != nil {
+			return err
+		}
+		if !info.Mode().IsRegular() || !strings.HasSuffix(path, ".proto") {
+			return nil
+		}
+		pkg, err := goPkg(path)
+		if err != nil {
+			return err
+		}
+		pkgFiles[pkg] = append(pkgFiles[pkg], path)
+		return nil
+	}
+	for _, root := range flag.Args() {
+		if err := filepath.Walk(root, walkFn); err != nil {
+			log.Fatal(err)
+		}
+	}
+	for pkg, fnames := range pkgFiles {
+		if !strings.HasPrefix(pkg, *pkgPrefix) {
+			continue
+		}
+		if out, err := protoc(*goOutDir, flag.Args(), fnames); err != nil {
+			log.Fatalf("error executing protoc: %s\n%s", err, out)
+		}
+	}
+}
+
+// goPkg reports the import path declared in the given file's
+// `go_package` option. If the option is missing, goPkg returns empty string.
+func goPkg(fname string) (string, error) {
+	content, err := ioutil.ReadFile(fname)
+	if err != nil {
+		return "", err
+	}
+
+	var pkgName string
+	if match := goPkgOptRe.FindSubmatch(content); len(match) > 0 {
+		pn, err := strconv.Unquote(string(match[1]))
+		if err != nil {
+			return "", err
+		}
+		pkgName = pn
+	}
+	if p := strings.IndexRune(pkgName, ';'); p > 0 {
+		pkgName = pkgName[:p]
+	}
+	return pkgName, nil
+}
+
+// protoc executes the "protoc" command on files named in fnames,
+// passing go_out and include flags specified in goOut and includes respectively.
+// protoc returns combined output from stdout and stderr.
+func protoc(goOut string, includes, fnames []string) ([]byte, error) {
+	args := []string{"--go_out=plugins=grpc:" + goOut}
+	for _, inc := range includes {
+		args = append(args, "-I", inc)
+	}
+	args = append(args, fnames...)
+	return exec.Command("protoc", args...).CombinedOutput()
+}
diff --git a/regen.sh b/regen.sh
index 493efef6..76525685 100755
--- a/regen.sh
+++ b/regen.sh
@@ -13,7 +13,7 @@
 # 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.
-#
+
 # This script rebuilds the generated code for the protocol buffers.
 # To run this you will need protoc and goprotobuf installed;
 # see https://github.com/golang/protobuf for instructions.
@@ -26,18 +26,6 @@ PROTO_REPO=https://github.com/google/protobuf
 PROTO_SUBDIR=src/google/protobuf
 API_REPO=https://github.com/googleapis/googleapis
 
-# NOTE(cbro): Mac OS sed requires an argument be passed into -i,
-# GNU sed interprets that blank argument as a filename.
-if [ "Darwin" = $(uname) ]; then
-  function sed-i-f {
-    sed -i '' -f $@
-  }
-else
-  function sed-i-f {
-    sed -i -f $@
-  }
-fi
-
 function die() {
   echo 1>&2 $*
   exit 1
@@ -49,89 +37,36 @@ for tool in go git protoc protoc-gen-go; do
   echo 1>&2 "$tool: $q"
 done
 
-tmpdir=$(mktemp -d -t regen-cds-dir.XXXXXX)
-trap 'rm -rf $tmpdir' EXIT
-tmpapi=$(mktemp -d -t regen-cds-api.XXXXXX)
-trap 'rm -rf $tmpapi' EXIT
-
-echo -n 1>&2 "finding package dir... "
-pkgdir=$(go list -f '{{.Dir}}' $PKG/protobuf)
-echo 1>&2 $pkgdir
-base=$(echo $pkgdir | sed "s,/$PKG/protobuf\$,,")
-echo 1>&2 "base: $base"
-cd $base
-
-echo 1>&2 "fetching proto repos..."
-git clone -q $PROTO_REPO $tmpdir &
-git clone -q $API_REPO $tmpapi &
-wait
-
-import_fixes=$tmpdir/fix_imports.sed
-import_msg=$tmpdir/fix_imports.txt
-vanity_fixes=$tmpdir/vanity_fixes.sed
-
-# Rename records a proto rename from $1->$2.
-function rename() {
-  echo >>$import_msg "Renaming $1 => $2"
-  echo >>$import_fixes "s,\"$1\";,\"$2\"; // from $1,"
-}
-
-# Pass 1: copy protos from the google/protobuf repo.
-for f in $(cd $PKG && find protobuf -name '*.proto'); do
-  echo 1>&2 "finding latest version of $f... "
-  up=google/protobuf/$(basename $f)
-  cp "$tmpdir/src/$up" "$PKG/$f"
-  rename "$up" "$PKG/$f"
-done
-
-# Pass 2: move the protos out of googleapis/google/{api,rpc,type}.
-for g in "api" "rpc" "type"; do
-  for f in $(cd $PKG && find googleapis/$g -name '*.proto'); 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
-done
+root=$(go list -f '{{.Root}}' $PKG/... | head -n1)
+if [ -z "$root" ]; then
+  die "cannot find root of $PKG"
+fi
 
-# Pass 3: copy the rest of googleapis/google
-for f in $(cd "$tmpapi/google" && find * -name '*.proto'); do
-  dst=$(dirname "$PKG/googleapis/$f")
-  echo 1>&2 "finding latest version of $f... "
-  mkdir -p $dst
-  cp "$tmpapi/google/$f" "$dst"
-  rename "google/$f" "$PKG/googleapis/$f"
-done
+if [ -z "$PROTOBUF" ]; then
+  protodir=$(mktemp -d -t regen-cds-proto.XXXXXX)
+  git clone -q $PROTO_REPO $protodir &
+  trap 'rm -rf $protodir' EXIT
+else
+  protodir="$PROTOBUF"
+fi
 
-# Mappings of well-known proto types.
-rename "google/protobuf/any.proto" "github.com/golang/protobuf/ptypes/any/any.proto"
-rename "google/protobuf/duration.proto" "github.com/golang/protobuf/ptypes/duration/duration.proto"
-rename "google/protobuf/empty.proto" "github.com/golang/protobuf/ptypes/empty/empty.proto"
-rename "google/protobuf/struct.proto" "github.com/golang/protobuf/ptypes/struct/struct.proto"
-rename "google/protobuf/timestamp.proto" "github.com/golang/protobuf/ptypes/timestamp/timestamp.proto"
-rename "google/protobuf/wrappers.proto" "github.com/golang/protobuf/ptypes/wrappers/wrappers.proto"
+if [ -z "$GOOGLEAPIS" ]; then
+  apidir=$(mktemp -d -t regen-cds-api.XXXXXX)
+  git clone -q $API_REPO $apidir &
+  trap 'rm -rf $apidir' EXIT
+else
+  apidir="$GOOGLEAPIS"
+fi
 
-# Pass 4: fix the imports in each of the protos.
-sort $import_msg 1>&2
-sed-i-f $import_fixes $(find $PKG -name '*.proto')
+wait
 
-# Run protoc once per package.
-for dir in $(find $PKG -name '*.proto' -exec dirname '{}' ';' | sort -u); do
-  echo 1>&2 "* $dir"
-  protoc --go_out=plugins=grpc:. $dir/*.proto
-done
+# Nuke everything, we'll generate them back
+rm -r googleapis/ protobuf/
 
-# Add import comments and fix package names.
-for f in $(find $PKG -name '*.pb.go'); do
-  dir=$(dirname $f)
-  echo "s,^\(package .*\)\$,\\1 // import \"$dir\"," > $vanity_fixes
-  sed-i-f $vanity_fixes $f
-done
+go run regen.go -go_out "$root/src" -pkg_prefix "$PKG" "$apidir" "$protodir"
 
 # Sanity check the build.
 echo 1>&2 "Checking that the libraries build..."
-go build -v $PKG/...
+go build -v ./...
 
 echo 1>&2 "All done!"
-- 
GitLab